Merge from origin/emacs-29

c62afb10cf Fix wallpaper-tests on MS-Windows
f2d212c696 Fix a couple of eglot-tests
338b3718b6 Fix visiting RPM files
b4afee0319 Fix ff-quiet-mode doc
2445100d7d ; Improve documentation of 'match-buffers'
d4d0da96f0 ; Update make-tarball.txt for Emacs 29.
9b0bf694da ; Fix ldefs-boot.el.
0cb86a348c ; Update ChangeLog.4.

# Conflicts:
#	ChangeLog.4
This commit is contained in:
Eli Zaretskii 2023-04-15 12:44:48 -04:00
commit 709d558047
8 changed files with 114383 additions and 42 deletions

114310
ChangeLog.4

File diff suppressed because it is too large Load diff

View file

@ -68,16 +68,25 @@ General steps (for each step, check for possible errors):
PREFERRED_BRANCH = emacs-NN PREFERRED_BRANCH = emacs-NN
where NN is the version on the release branch from which you are where NN is the version on the release branch from which you are
producing the tarball. If NN is incorrect, update Makefile.in and producing the tarball. If NN is incorrect (which it usually is
re-run 'configure' to update Makefile. when starting a pretest of a new major release), update
Makefile.in and re-run 'configure' to update Makefile.
If the versioned ChangeLog.N file is too large, start a new one For the first pretest of a new major release, consider starting a
by bumping N, and also update the line in top-level Makefile.in new top-level ChangeLog.N file if the last versioned ChangeLog.N
which says file is too large. A good point to start a new ChangeLog.N file
is when the last one gets larger than 1.5 MiB. If so, start a new
one by bumping N, and also update the line in top-level
Makefile.in which says
CHANGELOG_HISTORY_INDEX_MAX = N CHANGELOG_HISTORY_INDEX_MAX = N
by incrementing the value of N by 1; then regenerate Makefile. by incrementing the value of N by 1; then regenerate Makefile.
After bumping N, you need to actually create and commit
ChangeLog.N with the updated N, otherwise "M-x authors" below will
fail. The easiest way of creating the new ChangeLog.N is to
rename the file ChangeLog (without the .N suffix) left over from
the last major release (it is usually unversioned) and commit it.
Now: Now:
@ -99,11 +108,12 @@ General steps (for each step, check for possible errors):
the relevant entry. If a file was deleted or renamed, consider the relevant entry. If a file was deleted or renamed, consider
adding an appropriate entry to variables authors-ignored-files, adding an appropriate entry to variables authors-ignored-files,
authors-valid-file-names, or authors-renamed-files-alist in authors-valid-file-names, or authors-renamed-files-alist in
authors.el. authors.el. If some authors are "ignored", consider adding
entries to the author-aliases variable.
If necessary, repeat 'C-u M-x authors' after making those changes. If necessary, repeat 'C-u M-x authors' after making those changes.
Save the "*Authors*" buffer as etc/AUTHORS. Save the "*Authors*" buffer as etc/AUTHORS.
Check the diff looks reasonable. Maybe add entries to Check the diff looks reasonable. Maybe add more entries to
authors-ambiguous-files or authors-aliases, and repeat. authors-ambiguous-files or authors-aliases, and repeat.
Commit any fixes to authors.el. Commit any fixes to authors.el.
@ -169,7 +179,13 @@ General steps (for each step, check for possible errors):
messages from TeX, but those seem to be harmless, as the result messages from TeX, but those seem to be harmless, as the result
looks just fine.) looks just fine.)
5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. 5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. After copying, edit
ldefs-boot.el to add
;; no-byte-compile: t
to its file-local variables section, otherwise make-dist will
complain.
Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the files Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the files
changed by M-x set-version. Note that the set-version changes changed by M-x set-version. Note that the set-version changes

View file

@ -959,9 +959,9 @@ infinite recursion.
@defun buffer-match-p condition buffer-or-name &optional arg @defun buffer-match-p condition buffer-or-name &optional arg
This function checks if a buffer designated by @code{buffer-or-name} This function checks if a buffer designated by @code{buffer-or-name}
satisfies a @code{condition}. Optional third argument @var{arg} is satisfies the specified @code{condition}. Optional third argument
passed to the predicate function in @var{condition}. A condition can @var{arg} is passed to the predicate function in @var{condition}. A
be one of the following: valid @var{condition} can be one of the following:
@itemize @bullet{} @itemize @bullet{}
@item @item
A string, interpreted as a regular expression. The buffer A string, interpreted as a regular expression. The buffer
@ -990,21 +990,23 @@ Satisfied if @emph{all} the conditions in @var{conds} satisfy
Satisfied if the buffer's major mode derives from @var{expr}. Satisfied if the buffer's major mode derives from @var{expr}.
@item major-mode @item major-mode
Satisfied if the buffer's major mode is equal to @var{expr}. Prefer Satisfied if the buffer's major mode is equal to @var{expr}. Prefer
using @code{derived-mode} instead when both can work. using @code{derived-mode} instead, when both can work.
@end table @end table
@item t @item t
Satisfied by any buffer. A convenient alternative to @code{""} (empty Satisfied by any buffer. A convenient alternative to @code{""} (empty
string), @code{(and)} (empty conjunction) or @code{always}. string) or @code{(and)} (empty conjunction).
@end itemize @end itemize
@end defun @end defun
@defun match-buffers condition &optional buffer-list arg @defun match-buffers condition &optional buffer-list arg
This function returns a list of all buffers that satisfy a This function returns a list of all buffers that satisfy the
@code{condition}, as defined for @code{buffer-match-p}. By default @code{condition}. If no buffers match, the function returns
all buffers are considered, but this can be restricted via the second @code{nil}. The argument @var{condition} is as defined in
optional @code{buffer-list} argument. Optional third argument @code{buffer-match-p} above. By default, all the buffers are
@var{arg} will be used by @var{condition} in the same way as considered, but this can be restricted via the optional argument
@code{buffer-match-p} does. @code{buffer-list}, which should be a list of buffers to consider.
Optional third argument @var{arg} will be passed to @var{condition} in
the same way as @code{buffer-match-p} does.
@end defun @end defun
@node Creating Buffers @node Creating Buffers

View file

@ -167,7 +167,7 @@ To override this, give an argument to `ff-find-other-file'."
:type 'boolean) :type 'boolean)
(defcustom ff-quiet-mode nil (defcustom ff-quiet-mode nil
"If non-nil, trace which directories are being searched." "If non-nil, do not trace which directories are being searched."
:type 'boolean) :type 'boolean)
;;;###autoload ;;;###autoload
@ -351,7 +351,7 @@ Variables of interest include:
If non-nil, always attempt to create the other file if it was not found. If non-nil, always attempt to create the other file if it was not found.
- `ff-quiet-mode' - `ff-quiet-mode'
If non-nil, traces which directories are being searched. If non-nil, does not trace which directories are being searched.
- `ff-special-constructs' - `ff-special-constructs'
A list of regular expressions specifying how to recognize special A list of regular expressions specifying how to recognize special

View file

@ -1539,13 +1539,7 @@ implementations. Currently there are two: `sh-mode' and
(lambda (terminator) (lambda (terminator)
(if (eq terminator ?') (if (eq terminator ?')
"'\\'" "'\\'"
"\\"))) "\\"))))
;; Parse or insert magic number for exec, and set all variables depending
;; on the shell thus determined.
(sh-set-shell (sh--guess-shell) nil nil)
(add-hook 'flymake-diagnostic-functions #'sh-shellcheck-flymake nil t)
(add-hook 'hack-local-variables-hook
#'sh-after-hack-local-variables nil t))
;;;###autoload ;;;###autoload
(define-derived-mode sh-mode sh-base-mode "Shell-script" (define-derived-mode sh-mode sh-base-mode "Shell-script"
@ -1605,7 +1599,13 @@ with your script for an edit-interpret-debug cycle."
nil nil nil nil
((?/ . "w") (?~ . "w") (?. . "w") (?- . "w") (?_ . "w")) nil ((?/ . "w") (?~ . "w") (?. . "w") (?- . "w") (?_ . "w")) nil
(font-lock-syntactic-face-function (font-lock-syntactic-face-function
. ,#'sh-font-lock-syntactic-face-function)))) . ,#'sh-font-lock-syntactic-face-function)))
;; Parse or insert magic number for exec, and set all variables depending
;; on the shell thus determined.
(sh-set-shell (sh--guess-shell) nil nil)
(add-hook 'flymake-diagnostic-functions #'sh-shellcheck-flymake nil t)
(add-hook 'hack-local-variables-hook
#'sh-after-hack-local-variables nil t))
;;;###autoload ;;;###autoload
(defalias 'shell-script-mode 'sh-mode) (defalias 'shell-script-mode 'sh-mode)
@ -1617,6 +1617,10 @@ This mode automatically falls back to `sh-mode' if the buffer is
not written in Bash or sh." not written in Bash or sh."
:syntax-table sh-mode-syntax-table :syntax-table sh-mode-syntax-table
(when (treesit-ready-p 'bash) (when (treesit-ready-p 'bash)
(sh-set-shell "bash" nil nil)
(add-hook 'flymake-diagnostic-functions #'sh-shellcheck-flymake nil t)
(add-hook 'hack-local-variables-hook
#'sh-after-hack-local-variables nil t)
(treesit-parser-create 'bash) (treesit-parser-create 'bash)
(setq-local treesit-font-lock-feature-list (setq-local treesit-font-lock-feature-list
'(( comment function) '(( comment function)

View file

@ -7173,12 +7173,13 @@ CONDITION is either:
(funcall match (list condition)))) (funcall match (list condition))))
(defun match-buffers (condition &optional buffers arg) (defun match-buffers (condition &optional buffers arg)
"Return a list of buffers that match CONDITION. "Return a list of buffers that match CONDITION, or nil if none match.
See `buffer-match-p' for details on CONDITION. By default all See `buffer-match-p' for various supported CONDITIONs.
buffers are checked, this can be restricted by passing an By default all buffers are checked, but the optional
optional argument BUFFERS, set to a list of buffers to check. argument BUFFERS can restrict that: its value should be
ARG is passed to `buffer-match', for predicate conditions in an explicit list of buffers to check.
CONDITION." Optional argument ARG is passed to `buffer-match-p', for
predicate conditions in CONDITION."
(let (bufs) (let (bufs)
(dolist (buf (or buffers (buffer-list))) (dolist (buf (or buffers (buffer-list)))
(when (buffer-match-p condition (get-buffer buf) arg) (when (buffer-match-p condition (get-buffer buf) arg)

View file

@ -24,7 +24,8 @@
(require 'wallpaper) (require 'wallpaper)
(ert-deftest wallpaper--find-setter () (ert-deftest wallpaper--find-setter ()
(skip-unless (executable-find "touch")) (skip-unless (and (executable-find "touch")
(wallpaper--use-default-set-function-p)))
(let (wallpaper--current-setter (let (wallpaper--current-setter
(wallpaper--default-setters (wallpaper--default-setters
(wallpaper--default-methods-create (wallpaper--default-methods-create
@ -32,7 +33,8 @@
(should (wallpaper--find-setter)))) (should (wallpaper--find-setter))))
(ert-deftest wallpaper--find-setter/call-predicate () (ert-deftest wallpaper--find-setter/call-predicate ()
(skip-unless (executable-find "touch")) (skip-unless (and (executable-find "touch")
(wallpaper--use-default-set-function-p)))
(let* ( wallpaper--current-setter called (let* ( wallpaper--current-setter called
(wallpaper--default-setters (wallpaper--default-setters
(wallpaper--default-methods-create (wallpaper--default-methods-create
@ -43,7 +45,8 @@
(should called))) (should called)))
(ert-deftest wallpaper--find-setter/set-current-setter () (ert-deftest wallpaper--find-setter/set-current-setter ()
(skip-unless (executable-find "touch")) (skip-unless (and (executable-find "touch")
(wallpaper--use-default-set-function-p)))
(let (wallpaper--current-setter (let (wallpaper--current-setter
(wallpaper--default-setters (wallpaper--default-setters
(wallpaper--default-methods-create (wallpaper--default-methods-create
@ -52,7 +55,8 @@
(should wallpaper--current-setter))) (should wallpaper--current-setter)))
(ert-deftest wallpaper-set/runs-command () (ert-deftest wallpaper-set/runs-command ()
(skip-unless (executable-find "touch")) (skip-unless (and (executable-find "touch")
(wallpaper--use-default-set-function-p)))
(ert-with-temp-file fil-jpg (ert-with-temp-file fil-jpg
:suffix ".jpg" :suffix ".jpg"
(ert-with-temp-file fil (ert-with-temp-file fil
@ -70,7 +74,8 @@
(should (file-exists-p fil))))))) (should (file-exists-p fil)))))))
(ert-deftest wallpaper-set/runs-command/detach () (ert-deftest wallpaper-set/runs-command/detach ()
(skip-unless (executable-find "touch")) (skip-unless (and (executable-find "touch")
(wallpaper--use-default-set-function-p)))
(ert-with-temp-file fil-jpg (ert-with-temp-file fil-jpg
:suffix ".jpg" :suffix ".jpg"
(ert-with-temp-file fil (ert-with-temp-file fil
@ -89,7 +94,8 @@
(should (file-exists-p fil)))))) (should (file-exists-p fil))))))
(ert-deftest wallpaper-set/calls-init-action () (ert-deftest wallpaper-set/calls-init-action ()
(skip-unless (executable-find "touch")) (skip-unless (and (executable-find "touch")
(wallpaper--use-default-set-function-p)))
(ert-with-temp-file fil-jpg (ert-with-temp-file fil-jpg
:suffix ".jpg" :suffix ".jpg"
(ert-with-temp-file fil (ert-with-temp-file fil
@ -108,7 +114,8 @@
(should called))))) (should called)))))
(ert-deftest wallpaper-set/calls-wallpaper-set-function () (ert-deftest wallpaper-set/calls-wallpaper-set-function ()
(skip-unless (executable-find "touch")) (skip-unless (and (executable-find "touch")
(wallpaper--use-default-set-function-p)))
(ert-with-temp-file fil-jpg (ert-with-temp-file fil-jpg
:suffix ".jpg" :suffix ".jpg"
(let* ( wallpaper--current-setter called (let* ( wallpaper--current-setter called

View file

@ -804,6 +804,7 @@ int main() {
(ert-deftest eglot-test-json-basic () (ert-deftest eglot-test-json-basic ()
"Test basic autocompletion in vscode-json-languageserver." "Test basic autocompletion in vscode-json-languageserver."
(skip-unless (executable-find "vscode-json-languageserver")) (skip-unless (executable-find "vscode-json-languageserver"))
(skip-unless (fboundp 'yas-minor-mode))
(eglot--with-fixture (eglot--with-fixture
'(("project" . '(("project" .
(("p.json" . "{\"foo.b") (("p.json" . "{\"foo.b")