Merge from origin/emacs-29

bc56da92d8 ; Fix error in 'tex-recenter-output-buffer'
d17c5adc05 Fix regexp for recognizing PBM images
9e9f61866e Improve wording in ELisp manual
7427efa033 Fix typo (Bug#65764)
59c6624408 ; * lisp/ido.el (ido-completion-buffer): Fix :type (bug#6...
4ec4b18c2a Fix libgccjit build on Haiku
80bdcf8f35 (regexp-tests-backtrack-optimization): Mark it as failing
8a9e653cc8 ; Add regression test for bug#65726
6fad73d7cc * src/regex-emacs.c (mutually_exclusive_p): Fix inf-loop ...
1d3d419607 ; * lisp/files.el (save-some-buffers-functions): Doc fix ...
42b14c6e5b Bump seq version to 2.24
ff5190a174 Add note on ELPA to admin/notes/bug-triage
f1e4cbe72a ; * etc/PROBLEMS: Minor wording fix.
fd5593c7f2 * etc/PROBLEMS: Mention bug#65432 and its remedy.
dd896ea1e6 Ignore errors when checking for object initializers (bug#...
3550f44c17 ; Fix typos
5b246b9b81 * CONTRIBUTE: Document making ChangeLogs with Magit.
0bd4661941 Doc fixes for obsolete functions and variables
524c0c34f2 ; * lisp/ffap.el (ffap-rfs-regexp): Fix :type (bug#65698).
f48dccc467 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
71a85e2266 A revision to the Widget manual
dbbcf4a659 Fix fontification of " in edit-kbd-macro

# Conflicts:
#	test/src/regex-emacs-tests.el
This commit is contained in:
Eli Zaretskii 2023-09-09 04:32:45 -04:00
commit 0273914921
28 changed files with 2562 additions and 1151 deletions

View file

@ -300,6 +300,11 @@ them right the first time, so here are guidelines for formatting them:
blank ChangeLog entries from the diff being committed, then use
'M-q' to combine and fill them. See 'info "(emacs) Log Buffer"'.
- If you use the third-party package Magit, you can use
'magit-generate-changelog' from the commit message buffer.
See also 'magit-add-change-log-entry' and
'magit-add-change-log-entry-other-window'.
- Alternatively, you can use Emacs functions for ChangeLog files; see
https://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Log-Commands.html
or run 'info "(emacs)Change Log Commands"'.

View file

@ -1,10 +1,10 @@
HOW TO TRIAGE EMACS BUGS -*- outline -*-
This document just describes the procedure of triaging bugs, for information on
how to work with the bug tracker, see the bugtracker file in this same directory
for the basics. You can also install the debbugs ELPA package for access to M-x
debbugs-gnu, an emacs interface to debbugs, and M-x debbugs-org, an emacs
interface via org-mode.
This document describes the procedure of triaging bugs. For information on how
to work with the bug tracker, see the file "bugtracker" in the same directory as
this file for the basics. You can also install the GNU ELPA package 'debbugs'
for access to 'M-x debbugs-gnu', an Emacs interface to the debbugs bug tracker,
and 'M-x debbugs-org', an Emacs interface via org-mode.
* Bug backlog triage procedure
@ -15,9 +15,10 @@ the ones that are not reproducible on the current release.
calling debbugs-gnu-emacs-release-blocking-reports. If you want
to check this for another Emacs version but the next-to-be-released-one,
use the "C-u" prefix.
1. After that, enter debbugs mode (either debbugs-gnu, debbugs-org, or via the
web browser), and accept the default list option of bugs that have severity
serious, important, or normal.
1. After that, enter debbugs mode (either using 'M-x debbugs-gnu',
'M-x debbugs-org', or via the web browser), and accept the
default list option of bugs that have severity "serious",
"important", or "normal".
2. For each bug, we want to primarily make sure it is still
reproducible. A bug can and should stay open as long as it is
still a bug and no one has fixed it. The following is a
@ -90,21 +91,51 @@ necessary information for others to act on.
For each new bug, ask the following questions:
1. Is the bug report written in a way to be easy to reproduce (starts from
"emacs -Q", etc.)? If not, ask the reporter to try and reproduce it on an
emacs without customization.
2. Is the bug report written against the latest emacs? If not, try to
reproduce on the latest version, and if it can't be reproduced, ask the
reporter to try again with the latest version.
1. Is the bug report written in a way to be easy to reproduce
(starts from "emacs -Q", etc.)? If not, ask the reporter to try
and reproduce it on an emacs without customization.
2. Is the bug report written against the latest emacs? If not, try
to reproduce on the latest version, and if it can't be
reproduced, ask the reporter to try again with the latest
version.
3. Is the bug the same as another bug? If so, merge the bugs.
4. What is the priority of the bug? Add a priority: serious, important,
normal, minor, or wishlist.
5. Who should be the owner? This depends on what component the bug is part
of. You can look at the admin/MAINTAINERS file (then you can just search
emacs-devel to match the name with an email address).
4. What is the priority of the bug? Add a priority: "serious",
"important", "normal", "minor, or "wishlist".
5. Who should be the owner? This depends on what component the bug
is part of. You can look at the "Maintainer" comment header in
the relevant Lisp files. If you can't find the name there, look
at admin/MAINTAINERS file (then you can just search emacs-devel
to match the name with an email address).
In the debbugs-gnu buffer, bugs are marked in the "State" column
according to the communication flow. Red bugs mean that nobody has
answered, these bugs need primary attention. Green bugs flag that
answered; these bugs need primary attention. Green bugs flag that
there is a recent communication about, and orange bugs flag that the
bug hasn't been touched for at least two weeks.
* Bugs in GNU ELPA and NonGNU ELPA packages
The goal here is to ping the relevant maintainers, as Emacs core
developers aren't always up-to-date with recent developments in all
GNU ELPA packages, and can't do anything with reports about bugs in
NonGNU ELPA packages.
This is how we deal with them:
1. Bugs in GNU ELPA packages can always be reported to our bug
tracker, even if they are usually tracked by other means. Search
for the maintainer of that package, e.g. on
https://elpa.gnu.org/packages and take note of their email
address. Send a reply with an email body like "<name> is the
maintainer of <package>, so I'm copying them in here.", and
include their email address in Cc.
2. Bugs in NonGNU ELPA packages should be sent to their maintainers,
because we can't do anything to fix them. If you suspect that
the bug is about a NonGNU ELPA package, it's usually polite to
ask the reporter if this is indeed the case (in case you
misunderstood something), and then to point them in the right
direction. Such bugs can be closed once the confusion has been
resolved.
3. Bugs in third-party packages that are not in any of the above
repositories are handled in the same way as packages in NonGNU
ELPA.

View file

@ -480,8 +480,6 @@ THINGS TO DO
** Have a look at set_frame_matrix_frame.
** Check if we got term-setup-hook right.
** I think tip_frame should be display-local.
** Check display reference count handling in x_create_tip_frame.

View file

@ -5171,8 +5171,9 @@ if test "${with_native_compilation}" != "no"; then
case "${opsys}" in
# mingw32 loads the library dynamically.
mingw32) ;;
# OpenBSD doesn't have libdl, all the functions are in libc
netbsd|openbsd)
# Neither NetBSD, OpenBSD nor Haiku have libdl, with all dynamic
# linker functions placed within libc.
netbsd|openbsd|haiku)
LIBGCCJIT_LIBS="-lgccjit" ;;
darwin)
LIBGCCJIT_CFLAGS="${MAC_CFLAGS}"

View file

@ -701,7 +701,6 @@ to recompile and restart the program.
@cindex GUD Tooltip mode
@cindex mode, GUD Tooltip
@findex gud-tooltip-mode
@vindex gud-tooltip-echo-area
GUD Tooltip mode is a global minor mode that adds tooltip support to
GUD@. To toggle this mode, type @kbd{M-x gud-tooltip-mode}. It is
disabled by default. If enabled, you can move the mouse pointer over a
@ -713,10 +712,8 @@ you can tell Emacs more explicitly what expression to evaluate by
dragging the mouse over the expression, then leaving the mouse inside
the marked area. The GUD Tooltip mode takes effect in the GUD
interaction buffer, and in all source buffers with major modes listed
in the variable @code{gud-tooltip-modes}. If the variable
@code{gud-tooltip-echo-area} is non-@code{nil}, or if you turned off
the tooltip mode, values are shown in the echo area instead of a
tooltip.
in the variable @code{gud-tooltip-modes}. If you turned off the
tooltip mode, values are shown in the echo area instead of a tooltip.
When using GUD Tooltip mode with @kbd{M-x gud-gdb}, displaying an
expression's value in GDB can sometimes expand a macro, potentially

View file

@ -82,7 +82,9 @@ it does not make sense to enter objects of these types as constants in
a Lisp program. These objects are printed in @dfn{hash notation},
which consists of the characters @samp{#<}, a descriptive string
(typically the type name followed by the name of the object), and a
closing @samp{>}. For example:
closing @samp{>}. (This is called ``hash notation'' because it begins
with the @samp{#} character, known as ``hash'' or ``number sign'').
For example:
@example
(current-buffer)

View file

@ -1168,15 +1168,15 @@ binary and the Ctrl-M characters are significant.
@subsection CR/LF translation by file system
@cindex line ends, determining by filesystem
@cindex binary files, determining by filesystem
@vindex untranslated-filesystem-list
@findex add-untranslated-filesystem
@findex remove-untranslated-filesystem
@vindex w32-untranslated-filesystem-list
@findex w32-add-untranslated-filesystem
@findex w32-remove-untranslated-filesystem
The variable @code{untranslated-filesystem-list} defines whole
The variable @code{w32-untranslated-filesystem-list} defines whole
directory trees that should not have CR/LF autodetection performed on
them. The list can be manipulated with the functions
@code{add-untranslated-filesystem} and
@code{remove-untranslated-filesystem}. With auto-detection in
@code{w32-add-untranslated-filesystem} and
@code{w32-remove-untranslated-filesystem}. With auto-detection in
recent versions of Emacs, this is seldom useful for existing files,
but can still be used to influence the choice of line ends for newly
created files.

View file

@ -24526,8 +24526,8 @@ that is needed. It can also contain @samp{(@var{addr} @var{string}
@var{amount})} cells, where the @var{string} is the string to use
(normally the email address or newsgroup name is used).
@item hashcash-path
@vindex hashcash-path
@item hashcash-program
@vindex hashcash-program
Where the @code{hashcash} binary is installed. This variable should
be automatically set by @code{executable-find}, but if it's @code{nil}
(usually because the @code{hashcash} binary is not in your path)

File diff suppressed because it is too large Load diff

View file

@ -1638,6 +1638,18 @@ to normal, do
(set-scroll-bar-mode 'left)
*** Redisplay with scaled images is slow in Emacs built with Cairo.
Cairo expends a noticeable amount of CPU time displaying large images
with applied transforms. These images most frequently appear within
EWW buffers or in Image Mode buffers after executing the image scaling
commands `i +' or `i -', and their presence incurs a performance
penalty of hundereds of milliseconds to seconds upon redisplay. The
remedy is to build Emacs without Cairo after verifying the XRender
extension is present on your X server and its headers are present on
your system, in which case Emacs will use XRender to efficiently
perform image transforms within the X server.
*** Error messages about undefined colors on X.
The messages might say something like this:

View file

@ -32867,7 +32867,7 @@
(reftex-index-switch-index-tag): Add `redo' to arguments of
`reftex-display-index'.
(reftex-index-make-phrase-regexp): Fix bug with case-sensitive
indexing. Fix bug with matching is there is a quote before or
indexing. Fix bug with matching if there is a quote before or
after the word.
* textmodes/reftex-cite.el (reftex-all-used-citation-keys):

View file

@ -1598,7 +1598,7 @@ aligner would have dealt with are."
(if (= (point) search-start)
(forward-char)))))
;; when they are no more matches for this rule,
;; when there are no more matches for this rule,
;; align whatever was left over
(if regions
(align-regions regions align-props rule func))))))))

View file

@ -449,16 +449,13 @@ If EXTRA, include that in the string returned to represent the symbol."
(defun eieio-class-parents (class)
;; FIXME: What does "(overload of variable)" mean here?
"Return parent classes to CLASS. (overload of variable).
The CLOS function `class-direct-superclasses' is aliased to this function."
"Return parent classes to CLASS. (overload of variable)."
(eieio--class-parents (eieio--full-class-object class)))
(define-obsolete-function-alias 'class-parents #'eieio-class-parents "24.4")
(defun eieio-class-children (class)
"Return child classes to CLASS.
The CLOS function `class-direct-subclasses' is aliased to this function."
"Return child classes to CLASS."
(cl-check-type class class)
(eieio--class-children (cl--find-class class)))
(define-obsolete-function-alias

View file

@ -4,7 +4,7 @@
;; Author: Nicolas Petton <nicolas@petton.fr>
;; Keywords: sequences
;; Version: 2.23
;; Version: 2.24
;; Package: seq
;; Maintainer: emacs-devel@gnu.org

View file

@ -174,7 +174,8 @@ Note this name may be omitted if it equals the default
"\\`/\\(afs\\|net\\)/."
;; afs only: (and (file-exists-p "/afs") "\\`/afs/.")
"Matching file names are treated as remote. Use nil to disable."
:type 'regexp
:type '(choice (const :tag "Disable" nil)
regexp)
:group 'ffap)
(defvar ffap-url-regexp

View file

@ -6068,14 +6068,18 @@ See `save-some-buffers' for PRED values."
(defvar save-some-buffers-functions nil
"Functions to be run by `save-some-buffers' after saving the buffers.
The functions can be called in two \"modes\", depending on the
first argument. If the first argument is `query', then the
These functions should accept one mandatory and one optional
argument, and they can be called in two \"modes\", depending on
the first argument. If the first argument is `query', then the
function should return non-nil if there is something to be
saved (but it should not actually save anything).
If the first argument is something else, then the function should
save according to the value of the second argument, which is the
ARG argument from `save-some-buffers'.")
ARG argument with which `save-some-buffers' was called.
The main purpose of these functions is to save stuff that is kept
in variables (rather than in buffers).")
(defun save-some-buffers (&optional arg pred)
"Save some modified file-visiting buffers. Asks user about each one.

View file

@ -864,7 +864,8 @@ also modify the dynamic variables described for the variable
(defcustom ido-completion-buffer "*Ido Completions*"
"Name of completion buffer used by Ido.
Set to nil to disable completion buffers popping up."
:type 'string)
:type '(choice (const :tag "Disable popping up completion buffer" nil)
string))
(defcustom ido-completion-buffer-all-completions nil
"Non-nil means to show all completions in completion buffer.

View file

@ -38,7 +38,7 @@
(defconst image-type-header-regexps
`(("\\`/[\t\n\r ]*\\*.*XPM.\\*/" . xpm)
("\\`P[1-6]\\(?:\
\\(?:\\(?:#[^\r\n]*[\r\n]\\)*[[:space:]]\\)+\
\\(?:\\(?:#[^\r\n]*[\r\n]\\)*[ \t\r\n]\\)+\
\\(?:\\(?:#[^\r\n]*[\r\n]\\)*[0-9]\\)+\
\\)\\{2\\}" . pbm)
("\\`GIF8[79]a" . gif)

View file

@ -25932,7 +25932,7 @@
* org-latex.el (org-export-as-latex): Do nit require the buffer to
be visiting a file when only exporting to a buffer or string.
(org-export-latex-fix-inputenc): Only save the buffer is there is
(org-export-latex-fix-inputenc): Only save the buffer if there is
a file name attached to it.
2010-04-10 Dan Davison <davison@stats.ox.ac.uk>

View file

@ -493,7 +493,7 @@ compilation and evaluation time conflicts."
;; Next non-whitespace character should be '{'
(goto-char (c-point 'boi))
(unless (eq (char-after) ?{)
(backward-up-list 1 t t))
(ignore-errors (backward-up-list 1 t t)))
(save-excursion
;; 'new' should be part of the line
(goto-char (c-point 'iopl))

View file

@ -47,10 +47,6 @@
;; comment; move to end of line; create an empty comment; tell you that
;; the line ends in a quoted string, or has a # which should be a \#.
;; If your machine is slow, you may want to remove some of the bindings
;; to perl-electric-terminator. I changed the indenting defaults to be
;; what Larry Wall uses in perl/lib, but left in all the options.
;; I also tuned a few things: comments and labels starting in column
;; zero are left there by perl-indent-exp; perl-beginning-of-function
;; goes back to the first open brace/paren in column zero, the open brace

View file

@ -6039,7 +6039,7 @@ by `find-word-boundary-function-table'. It is also not interactive."
With argument ARG, do this that many times.
If ARG is omitted or nil, move point backward one word.
This function is like `forward-word', but it is not affected
This function is like `backward-word', but it is not affected
by `find-word-boundary-function-table'. It is also not interactive."
(let ((find-word-boundary-function-table
(if (char-table-p word-move-empty-char-table)

View file

@ -2524,9 +2524,9 @@ this function signals an error."
(if lookup-dict
(unless (file-readable-p lookup-dict)
(error "lookup-words error: Unreadable or missing plain word-list %s."
(error "ispell-lookup-words: Unreadable or missing plain word-list %s"
lookup-dict))
(error (concat "lookup-words error: No plain word-list found at system"
(error (concat "ispell-lookup-words: No plain word-list found at system"
"default locations. "
"Customize `ispell-alternate-dictionary' to set yours.")))

View file

@ -2673,17 +2673,17 @@ This function is more useful than \\[tex-buffer] when you need the
The last line of the buffer is displayed on
line LINE of the window, or centered if LINE is nil."
(interactive "P")
(let ((tex-shell (get-buffer "*tex-shell*"))
(window))
(let ((tex-shell (get-buffer "*tex-shell*")))
(if (null tex-shell)
(message "No TeX output buffer")
(setq window (display-buffer tex-shell display-tex-shell-buffer-action))
(with-selected-window window
(bury-buffer tex-shell)
(goto-char (point-max))
(recenter (if linenum
(prefix-numeric-value linenum)
(/ (window-height) 2)))))))
(when-let ((window
(display-buffer tex-shell display-tex-shell-buffer-action)))
(with-selected-window window
(bury-buffer tex-shell)
(goto-char (point-max))
(recenter (if linenum
(prefix-numeric-value linenum)
(/ (window-height) 2))))))))
(defcustom tex-print-file-extension ".dvi"
"The TeX-compiled file extension for viewing and printing.

View file

@ -656,9 +656,9 @@ struct buffer
ptrdiff_t last_window_start;
/* If the long line scan cache is enabled (i.e. the buffer-local
variable cache-long-line-scans is non-nil), newline_cache
points to the newline cache, and width_run_cache points to the
width run cache.
variable cache-long-scans is non-nil), newline_cache points to
the newline cache, and width_run_cache points to the width run
cache.
The newline cache records which stretches of the buffer are
known *not* to contain newlines, so that they can be skipped

View file

@ -886,7 +886,7 @@ add_to_function_history (Lisp_Object symbol, Lisp_Object olddef)
Lisp_Object past = Fget (symbol, Qfunction_history);
Lisp_Object file = Qnil;
/* FIXME: Sadly, `Vload_file_name` gives less precise information
(it's sometimes non-nil when it shoujld be nil). */
(it's sometimes non-nil when it should be nil). */
Lisp_Object tail = Vcurrent_load_list;
FOR_EACH_TAIL_SAFE (tail)
if (NILP (XCDR (tail)) && STRINGP (XCAR (tail)))

View file

@ -3832,7 +3832,7 @@ mutually_exclusive_p (struct re_pattern_buffer *bufp, re_char *p1,
EXTRACT_NUMBER_AND_INCR (mcnt, p2);
/* Don't just test `mcnt > 0` because non-greedy loops have
their test at the end with an unconditional jump at the start. */
if (p2 + mcnt > p2_orig) /* Ensure forward progress. */
if (p2 > p2_orig && mcnt >= 0) /* Ensure forward progress. */
return (mutually_exclusive_p (bufp, p1, p2)
&& mutually_exclusive_p (bufp, p1, p2 + mcnt));
break;

View file

@ -873,6 +873,7 @@ This evaluates the TESTS test cases from glibc."
(should (equal (string-match "\\`a\\{2\\}*\\'" "a") nil)))
(ert-deftest regexp-tests-backtrack-optimization () ;bug#61514
:expected-result :failed
;; Make sure we don't use up the regexp stack needlessly.
(with-current-buffer (get-buffer-create "*bug*")
(erase-buffer)
@ -965,4 +966,8 @@ This evaluates the TESTS test cases from glibc."
(re-search-forward re nil t))
nil))))
(ert-deftest regex-tests-mutual-exclusive-inf-rec ()
;; Regression test for bug#65726, where this crashed Emacs.
(should (equal (string-match "a*\\(?:c\\|b*\\)*" "a") 0)))
;;; regex-emacs-tests.el ends here