d31d3245ba Fix display of ambiguous-width CJK characters in GUI sess...
cf98d9d725 Eglot: do more orthodox use of progress reporters (bug#81...
0b8d2acdd2 ; * lisp/dired-aux.el (dired-create-destination-dirs): Do...
660e2f9f6f ; * lisp/emacs-lisp/package.el (package-upgrade-all): Fix...
26e1c1792e Summarize changes when upgrading packages
ed4a3e251b Prevent 'package-menu--mark-upgrades-1' from blocking
a9fc13614e Export GIT_OPTIONAL_LOCKS=0 for "git status" invocations ...
8e70e6d687 * lisp/vc/vc.el (vc-delete-file): Don't backup backup files.
c6e2bd3e3b Restore current buffer after clone-indirect-buffer-hook e...
b21266e4cb Assign some calendar & icalendar files to packages
b6332ac21b Do not asynchronously prompt to save buffers after vc-che...
4f36e9e885 File name with newline: require 'ls' --dired switch
cba18a7f9c Fix starting local processes in the MS-Windows build
The following commits were skipped:
99a9307235 Avoid errors in 'dabbrev-expand'
7b0f33cb74 Backport: Use default exec-suffixes when needed (bug#8128...
ad60eb855d ; Improve documentation of "shadow cursor"
c6d6033360 Fix attendee lookup in gnus-icalendar
5b5cc17832 vc-working-revision: Don't bind default-directory to a re...
ab88a0be86 Fix Dired problem with nonexistent directory (bug#81509)
158a039135 ; * admin/MAINTAINERS: Mark F. Jason Park as co-maintaini...
1da79a162d ; * src/treesit.c (treesit_cursor_helper_1): Further expl...
037076824f ; * src/treesit.c (treesit_cursor_helper_1): Fix last cha...
5e3f68c669 Fix emacs-eglot test on emba
97e24e12d5 Fix C-x v w a/A on the repository root
b65f8ef93d (sh-font-lock-paren): Fix bug#81192
# Conflicts:
# etc/NEWS
The progress reporters on recent Emacs has backward incompatible
changes, but our use of them wasn't too correct either.
* lisp/progmodes/eglot.el (eglot-handle-notification): Call
progress-reporter-done.
* lisp/textmodes/markdown-ts-mode.el (markdown-ts--set-up): Mark
the html_tag markdown-inline embed as ':local t', matching the
sibling html_block embed. Avoids non-local range updates that
scale poorly on buffers with many inline blocks.
* src/treesit.c (treesit_lang_cache_get)
(treesit_lang_cache_put): New functions implementing a
per-session cache of resolved languages.
(treesit_load_language): Consult and populate the cache, to
avoid repeating the dlopen/dlsym and ABI-version check on every
parser creation.
* src/chartab.c (uniprop_table): Bind 'coding-system-for-read'
to 'utf-8-emacs-unix' for inserting the contents of the uni-*.el
files. This avoids crashes if the 'coding:' cookies in these
files are overridden by some means. (Bug#81445)
* lisp/emacs-lisp/package.el (package-upgrade-all): Print a
final message listing the completed and rejected package
upgrades, as the messages printed by 'package-install' get lost
in the Messages buffer. (Bug#81112)
* lisp/emacs-lisp/package.el (package-menu--mark-upgrades-1):
If 'package-retention-policy' applies, still move forward a line
so that the loop can consider the next package. (Bug#81373)
* lisp/vc/vc-dir.el (vc-dir--count-outgoing)
(vc-dir-async-header-values): Switch to using the overlay's main
text instead of an `after-string' so that it's clickable again.
* src/buffer.c (Fmake_indirect_buffer): Replace
set_buffer_internal_1 with specpdl unwind in the clone path
(bug#81504).
Copyright-paperwork-exempt: yes
* lisp/vc/log-edit.el (log-edit-insert-changelog-entry): Since
commit 0a714557eb 'vc-dir' does not always resolve the working
directory to its truename, but 'vc-dir-deduce-fileset' does expand
file names, so do that also when generating the list of changed
files according to the ChangeLog entry in order to prevent a
spurious failure on comparing the two lists of files.
This avoids stale temporary window titles when resizing is
initiated mechanically via Applescript or using a macOS window
manager like yabai.
* src/nsterm.m: ([EmacsView windowWillResize:toSize]): Draw
window title with new dimensions only when inLiveResize is true.
File name with newline: require 'ls' --dired switch
Previously the handling of newlines in file names tested for the
-b switch, but on systems such as Solaris 'ls' takes -b but not
--dired and the latter is needed to set the correct bounds of file
names containing a newline.
* lisp/dired.el (dired--check-use-ls-dired): New function.
(dired-internal-noselect, dired-insert-directory)
(dired--set-auto-toggle-b-switch): Use it.
(dired--remove-b-switch): Delete.
* test/lisp/dired-tests.el (dired-test-filename-with-newline-1)
(dired-test-filename-with-newline-2): Use the new function to skip
tests when 'ls' does not support the --dired switch (bug#81481).
* lisp/dired.el (dired-internal-noselect): Add to the comment
about displaying a warning about literal newlines a reference to
needing the same test with subdirs.
(dired--filename-with-newline-p): If the Dired buffer has subdirs,
check these for file names with newlines.
* lisp/dired-aux.el (dired-insert-subdir): Test for file names
with literal newlines in subdirs and if there are display a
warning. Add a comment about buggy Dired display when using extra
'ls' switches on inserting a subdir, and display a temporary
warning about this (to be removed when the bug is fixed).
In commit aee0e67a we changed 'eww--alternate-urls' to
return a list of (propertized) strings rather than an alist,
but we didn't properly adapt the just-one-link branch of
'eww-read-alternate-url' accordingly.
* lisp/net/eww.el (eww-copy-alternate-url): Fix it.
Delete local variable block or prop line when it became empty
after deleting a variable. (Bug#81516)
* lisp/files-x.el (modify-file-local-variable)
(modify-file-local-variable-prop-line): Delete empty block or
prop-line.
* test/lisp/files-x-tests.el (files-x-test-add-file-local-variable)
(files-x-test-add-file-local-variable-prop-line)
(files-x-test-delete-file-local-variable)
(files-x-test-delete-file-local-variable-prop-line): New tests.
* lisp/dabbrev.el (dabbrev-expand): Fix use of
'dabbrev--last-buffer-found': it could be a killed buffer.
(Bug#81452)
(cherry picked from commit 0e8fbd63e9)
* etc/NEWS:
* doc/emacs/files.texi (Diff Mode):
* lisp/vc/diff-mode.el (diff-refine): Improve the documentation of
the "shadow cursor" shown by Diff mode.
* lisp/files.el (set-auto-mode): Don't add an invalid "-mode" to
'modes', if the mode tag is empty.
(set-auto-mode-1): Make sure we return a position that is at or
after point. (Bug#81516)
* lisp/dired.el (dired, dired-other-window, dired-other-frame)
(dired-other-tab): If the directory that the Dired command tries
to visit does not exist, ensure the buffer that was current when
the command was invoked remains the current buffer.
* src/callint.c (Fcall_interactively): Don't use alloca'd vars after we
`unbind_to` and don't bind `current-minibuffer-command`.
* src/minibuf.c (read_minibuf): Bind `current-minibuffer-command` here.
* test/src/callint-tests.el (test-many-interactive-args):
New test (authored by Pip Cet <pipcet@protonmail.com>).
* lisp/custom.el (custom-initialize-reset): Simplify.
(custom-initialize-changed): Don't catch errors in `custom-set` (bug#81396).
(custom-initialize-delay, custom-initialize-after-file-load):
Adjust arg name to align with other `custom-initialize-*`.