From b8133a416d3298065405cce4eee7ed964ce21c64 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 5 Jun 2026 10:41:22 +0100 Subject: [PATCH] ; Update exported ChangeLog files and etc/AUTHORS * ChangeLog.5: Update. * etc/AUTHORS: Regenerate. --- ChangeLog.5 | 1321 ++++++++++++++++++++++++++++++++++++++++++++++++++- etc/AUTHORS | 93 ++-- 2 files changed, 1372 insertions(+), 42 deletions(-) diff --git a/ChangeLog.5 b/ChangeLog.5 index c20a552f2c5..fbf23263ad3 100644 --- a/ChangeLog.5 +++ b/ChangeLog.5 @@ -1,3 +1,1322 @@ +2026-06-04 Stefan Monnier + + message.el: Fix part of bug#81035 + + * lisp/gnus/message.el (message-narrow-to-field) + (message-hide-headers): Syntax-propertize before narrowing. + +2026-06-04 Michael Albinus + + Fix prompt in remote shell + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Do not use a + hard-coded directory in PS1. (Bug#81177) + +2026-06-04 Dirk-Jan C. Binnema + + Fmake_xwidget: Use about:blank workaround only when needed + + * src/process.c (glib_installs_sigchld_handler): New variable. + (init_process_emacs): Set it when GLib overrides Emacs's SIGCHLD + handler. + * src/process.h (glib_installs_sigchld_handler): Declare. + * src/xwidget.c (Fmake_xwidget): Skip the "about:blank" + workaround when glib_installs_sigchld_handler is false. + +2026-06-04 JD Smith + + Allow brew/macports libgccjit for default native compilation + + * configure.ac: Move flag setup for libgccjit installed by + Homebrew or macports earlier, so default native compilation can + proceed (bug#81171). + +2026-06-04 Sean Whitton + + vc-dir-refresh: Respect non-essential wrt saving buffers + + * lisp/vc/vc-dir.el (vc-dir-refresh): If non-essential is + non-nil, don't call vc-buffer-sync-fileset. + +2026-06-04 Alan Mackenzie + + CC Mode: Fontify a cast type preceding a brace initialization + + This fixes bug#81084. + * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): + In the test for a cast near the end of the function, add a test + for a {...} block which isn't a statement block, allowing such + blocks to be recognized as operands of casts. + +2026-06-04 Michael Albinus + + Fix Tramp distrobox integration + + * lisp/net/tramp.el (tramp-yesno-prompt-regexp): Fix docstring. + (tramp-yn-prompt-regexp): Fix docstring. Extend. Add :version. + + * test/lisp/net/tramp-tests.el (tramp-test03-file-error): Adapt test. + +2026-06-04 Rahul Martim Juliato + + markdown-ts-mode: fix first-item indent (bug#81118) + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts--fontify-unordered-list-marker): Skip leading + whitespace in the node range before applying the display bullet, + since the tree-sitter grammar bundles indent into the first + list_marker_* node. + +2026-06-03 Dmitry Gutov + + [GTK3] Re-fix the stored values for width and height + + * src/gtkutil.c (xg_frame_set_char_size) + (xg_frame_set_size_and_position): Round WIDTH and HEIGHT to + multiples of SCALE without adding toolbar/menubar (bug#80662). + +2026-06-02 João Távora + + Eglot: mentions markdown-ts-view-mode less (bug#81150) + + * doc/misc/eglot.texi (Customization Variables): Don't mention + markdown-ts-view-mode. + + * etc/EGLOT-NEWS: Don't mention markdown-ts-view-mode. + +2026-06-02 Alexander Adolf + + vc--subject-to-file-name: Fix over-greedy regex (bug#81017) + + * lisp/vc/vc.el (vc--subject-to-file-name): Make the prefix + regex less greedy, ensure the result has no text properties, + improve the docstring (bug#81017). + +2026-06-02 F. Jason Park + + Fix more missing faces on ERC margin strings + + * lisp/erc/erc-goodies.el (keep-place-indicator): Add + `erc-keep-place-indicator-arrow' face to overlay arrow. + * lisp/erc/erc-stamp.el (erc-stamp--display-prompt-in-left-margin) + (erc--conceal-prompt): Add `erc-prompt-face' to entire `left-margin' + string. See also 9ba65aa9 "Fix missing margin face on display prop in + erc-stamp". + * test/lisp/erc/erc-fill-tests.el (erc-fill--left-hand-stamps): Update + expected text properties on prompt. (Bug#80693) + +2026-06-01 João Távora + + Eglot: Simplify markdown rendering support (bug#81150) + + Now that markdown-ts-view-mode is demoted to "experimental" in emacs-31, + simplify bits of eglot.el and rewrite docs to be more neutral. In + practice 'gfm-view-mode' is still used if found, just like before, but + intrepid users can still try the "experimental" modes. + + * lisp/progmodes/eglot.el (eglot-documentation-renderer): Rewrite + doc string. + (eglot--accepted-formats): Rewrite. + (eglot--builtin-mdown-p): Remove. + + * doc/misc/eglot.texi (Customization Variables): Rewrite entry. + + * etc/EGLOT-NEWS: Tweak. + +2026-06-01 Eli Zaretskii + + Prevent segfaults due to frame resizing at the wrong time + + * src/dispextern.h: + * src/xdisp.c (dont_resize_frames): New variable. + (unwind_format_mode_line): Decrement 'dont_resize_frames'. + (gui_consider_frame_title, display_mode_line, Fformat_mode_line): + Increment 'dont_resize_frames'. + * src/dispnew.c (do_pending_window_change): Don't resize frames if + 'dont_resize_frames' is non-zero. (Bug#81121) + + (cherry picked from commit 94eb6389d403eb1b71a81ecdc3b8416cf5f850d6) + +2026-06-01 Sean Whitton + + Disable markdown-ts-mode & markdown-ts-view-mode for Emacs 31 + + Do not merge to master. + + * lisp/progmodes/eglot.el (eglot-documentation-renderer) + (eglot--format-markup): Don't call eglot--builtin-mdown-p. + * lisp/textmodes/markdown-ts-mode.el (markdown-ts-mode) + (markdown-ts-view-mode): Mark as experimental. + (auto-mode-alist, treesit-major-mode-remap-alist): Don't add + anything. + * doc/misc/eglot.texi (Customization Variables): + * etc/EGLOT-NEWS: + * etc/NEWS: Don't mention markdown-ts-mode or + markdown-ts-view-mode. + +2026-05-31 Juri Linkov + + More tests for fill-paragraph-handle-comment.erts + + * test/lisp/textmodes/fill-resources/fill-paragraph-handle-comment.erts: + Add more tests for current comment lines (bug#80449). + +2026-05-31 Kyle Meyer + + Update to Org 9.8.5 + +2026-05-30 João Távora + + Eglot: replace eglot-prefer-plaintext with eglot-documentation-renderer + + The old boolean 'eglot-prefer-plaintext' is replaced by the more + expressive 'eglot-documentation-renderer', which can hold a major-mode + symbol, t (plain text), or nil (auto-detect each time). By selecting a + renderer once at startup the repeated per-request lookups are avoided, + which helps with the slowness reported in bug#81150. + + * lisp/progmodes/eglot.el (eglot-prefer-plaintext): Declare obsolete + alias to 'eglot-documentation-renderer'. + (eglot-documentation-renderer): New defcustom, reworked from from + eglot-prefer-plaintext. + (eglot--accepted-formats): Use new variable. + (eglot--format-markup): Use new variable. + + * etc/EGLOT-NEWS: Announce change. + + * doc/misc/eglot.texi (Customization Variables): Document + eglot-documentation-renderer. + +2026-05-30 Amin Bandali + + Make HTML button elements tab-stoppable in eww (bug#81107) + + * lisp/net/eww.el (eww-form-submit): Call put-text-property to + add help-echo and shr-tab-stop properties. + (eww-tag-input): Exclude inputs with type="submit" when adding + the help-echo and shr-tab-stop properties, since that's now done + in eww-form-submit, called earlier for type="submit". + +2026-05-30 Eli Zaretskii + + Don't make buffer read-only when reverting if 'view-mode' was disabled + + * lisp/view.el (view--disable): Reset 'read-only-mode--state'. + (Bug#81149) + +2026-05-29 Augusto Stoffel + + * lisp/shell.el (shell): Fix typo: use process-live-p (bug#81145). + +2026-05-28 David Ponce + + widget-image-find: Use 'image-load-path' (bug#81140) + + * lisp/wid-edit.el (widget-image-find): Use 'image-load-path' (bug#81140). + +2026-05-28 Po Lu + + Fix the MSDOS build + + * msdos/sedlibmk.inp (GL_GNULIB_MEMEQ, GL_GNULIB_STREQ) + (GL_GNULIB_STRNUL): New substitutions, replacing that of + GL_GNULIB_STRINGEQ. + + * src/term.c (init_tty) [MSDOS]: Assign appropriate value to + tty->TN_max_colors. + + Do not merge to master. + +2026-05-27 Zhengyi Fu (tiny change) + + Fix lax whitespace highlight during query-replace + + * lisp/replace.el (query-replace-read-args): Add :lax-whitespace to + minibuffer-lazy-highlight-setup, so lazy highlight during + query-replace respects replace-lax-whitespace and + replace-regexp-lax-whitespace (bug#81131). + +2026-05-27 Juri Linkov + + Fix fill-paragraph combining text with preceding comment + + * lisp/textmodes/fill.el (fill-paragraph): Handle the case + when a non-comment line follows a comment line with + non-nil 'fill-paragraph-handle-comment' (bug#80449). + Skip such a comment line before filling a non-comment line. + + * test/lisp/textmodes/fill-tests.el + (fill-test-fill-paragraph-handle-comment): Add new test. + + * test/lisp/textmodes/fill-resources/fill-paragraph-handle-comment.erts: + New file. + +2026-05-27 Paul Eggert + + emacsclient quote_argument is void + + * lib-src/emacsclient.c (quote_argument): + Don’t use ‘return E;’ in a function returning void. + Problem found by Oracle Developer Studio 12.6. + +2026-05-24 Sean Whitton + + Revert "* admin/notes/documentation: Recommend not using "it's"." + +2026-05-24 Sean Whitton + + native--compile-skip-on-battery-p: Try to fix ?b, ?B conditions + + * lisp/emacs-lisp/comp-run.el + (native--compile-skip-on-battery-p): Don't skip charging because + the battery is charging, and don't look for "discharging", at + least for now (bug#80922). Thanks to David Koppelman + for the report. + +2026-05-24 Zhengyi Fu (tiny change) + + Save and restore original local keymap in grep-edit-mode + + * lisp/progmodes/grep.el (grep-edit-original-mode-map): New + variable. + (grep-change-to-grep-edit-mode): Save the current local map + before switching to grep-edit-mode-map. + (grep-edit-save-changes): Restore the saved local map instead of + assuming grep-mode-map (bug#81090). + +2026-05-24 Eli Zaretskii + + Fix display of inline SVG images in Rmail + + * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Support + Content-type of "svg+xml" if SVG images are supported, + +2026-05-24 Yuan Fu + + Add treesit-ready-p check back to tree-sitter major modes (bug#80909) + + * lisp/progmodes/c-ts-mode.el (c-ts-mode): + (c++-ts-mode): + * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode): + * lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode): + * lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): + * lisp/progmodes/go-ts-mode.el (go-ts-mode): + (go-mod-ts-mode): + (go-work-ts-mode): + * lisp/progmodes/heex-ts-mode.el (heex-ts-mode): + * lisp/progmodes/js.el (js-ts-mode): + * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): + * lisp/progmodes/python.el (python-ts-mode): + * lisp/progmodes/rust-ts-mode.el (rust-ts-mode): + * lisp/progmodes/sh-script.el (bash-ts-mode): + * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode): + (tsx-ts-mode): + * lisp/textmodes/css-mode.el (css-ts-mode): + * lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode): + * lisp/textmodes/toml-ts-mode.el (toml-ts-mode): + * lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode): + * lisp/treesit-x.el (treesit-generic-mode-setup): Add the check. + +2026-05-24 João Távora + + Fix pathological slowness in flex completion + + The 'completion-regexp-list' optimization in + completion--flex-all-completions-1, a cheap pre-filter via a trivial + regexp, performs very poorly for longer patterns and strings, so drop + it. That alone recovers fairly decent performance for the flex + completion when compared to the 'hotfuzz' point of reference. + + We then recover the cheap rejection with an O(N+M) pre-check in the + Fcompletion__flex_cost_gotoh C scorer. This kicks in the common case + (completion-ignore-case is nil) and pays off especially when the table + is already a list and 'all-completions' needn't cons. + + See: + https://lists.gnu.org/archive/html/emacs-devel/2026-04/msg01081.html + https://lists.gnu.org/archive/html/emacs-devel/2026-05/msg00519.html + + * lisp/minibuffer.el (completion--flex-all-completions-1): Remove + regexp pre-filter. + + * src/minibuf.c (Fcompletion__flex_cost_gotoh): Add subsequence + pre-check. + +2026-05-23 Amin Bandali + + No longer raise error on HTTP 402 (Payment Required) (bug#81101) + + * lisp/url/url-http.el (url-http-parse-headers): Return t instead of + raising an error, to give the user a chance to interact with the page. + +2026-05-23 Thomas Mühlbacher (tiny change) + + Avoid compilation-mode matching rust as gnu + + * lisp/progmodes/compile.el + (compilation-error-regexp-alist-alist): Put 'rust' before 'gnu' + to avoid a mismatch since the " |" has become optional (bug#81075). + +2026-05-23 Sean Whitton + + * build-aux/git-hooks/commit-msg: Replace Markdown-style quotation. + +2026-05-23 Sean Whitton + + vc-test--rename-file: Disable part of test for SCCS + + * test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-file): + Disable part of test for SCCS. + +2026-05-23 Rahul Martim Juliato + + markdown-ts-mode: Don't enable unconditionally by default + + * lisp/textmodes/markdown-ts-mode.el (markdown-ts-mode-maybe): + New function. + (auto-mode-alist): Bind ".md", ".markdown", and ".mdx" to + 'markdown-ts-mode-maybe' instead of 'markdown-ts-mode'. + * etc/NEWS: Update the 'markdown-ts-mode' entry. + +2026-05-23 Manuel Giraud + + Prettify special glyphs + + * lisp/disp-table.el (prettify-special-glyphs-mode): New mode to + display nicer special glyphs. + (special-glyphs): New face for displaying special glyphs when + the minor mode is active. + (prettify-special-glyphs-saved-truncation) + (prettify-special-glyphs-saved-continuation): Internal variables + to save previous special glyphs. + * etc/NEWS: Announce the change. (Bug#80628) + +2026-05-23 Eli Zaretskii + + Revert "sh-script: Mark + and * as punctuation rather than a symbol constituent" + + This reverts commit b3c0aee42b086af4b3c6e26da1a5d81490b6128b. + It caused regressions in 'sh-script', see bug#80794 and + bug#80854. + +2026-05-23 Richard Lawrence + + Rename `icalendar-recur' type and related functions + + More context in Bug#80786 and: + https://lists.gnu.org/archive/html/emacs-orgmode/2026-03/msg00286.html + + `icalendar-recur' as a type name for RRULE values was confusing and made + the accessors for this type difficult to discover, because `icalendar-recur-' + is also used as a prefix in icalendar-recur.el. This change renames the + `icalendar-recur' type to `icalendar-rrule-value' and renames the + accessor functions for these values appropriately. + + * lisp/calendar/icalendar-parser.el: Rename symbols as follows: + (icalendar-recur): `icalendar-rrule-value' + (icalendar-read-recur-rule-part): `icalendar-read-rrule-part' + (icalendar-print-recur-rule-part): `icalendar-print-rrule-part' + (icalendar-recur-rule-part): `icalendar-rrule-part' + (icalendar-read-recur): `icalendar-read-rrule-value' + (icalendar-print-recur): `icalendar-print-rrule-value' + (icalendar--recur-value-types): `icalendar--rrule-value-types' + (icalendar-recur-value-p): `icalendar-rrule-value-p' + (icalendar-recur-freq): `icalendar-rrule-freq' + (icalendar-recur-interval-size): `icalendar-rrule-interval-size' + (icalendar-recur-until): `icalendar-rrule-until' + (icalendar-recur-count): `icalendar-rrule-count' + (icalendar-recur-weekstart): `icalendar-rrule-weekstart' + (icalendar-recur-by*): `icalendar-rrule-by*'. + (icalendar-rrule): + (icalendar-index-insert): + (icalendar-index-get): Update references. + * lisp/calendar/icalendar-recur.el (icalendar-recur-find-interval): + (icalendar-recur-nth-interval): + (icalendar-recur-next-interval): + (icalendar-recur-previous-interval): + (icalendar-recur-refine-from-clauses): + (icalendar-recur-recurrences-in-interval): + (icalendar-recur-recurrences-in-window): + (icalendar-recur-recurrences-to-count): + (icalendar-recur-tz-observance-on): Update references. + * lisp/calendar/diary-icalendar.el: Update references. + * lisp/calendar/icalendar-shortdoc.el (icalendar): Update shortdoc examples. + * lisp/gnus/gnus-icalendar.el: Update references. + * test/lisp/calendar/diary-icalendar-tests.el: + * test/lisp/calendar/icalendar-parser-tests.el: + * test/lisp/calendar/icalendar-recur-tests.el: Update references in tests. + +2026-05-22 Jacek Migacz + + Fix Lisp injection via X-Draft-From in Gnus + + * lisp/gnus/gnus-msg.el (gnus-inews-make-draft-meta-information): + Escape the group name with prin1-to-string to prevent arbitrary + Lisp injection through crafted group names. The unescaped group + name was embedded into a Lisp-readable string, parsed back with + read-from-string in gnus-draft-setup, and eventually eval'd via + message-do-actions, allowing code execution when a draft was sent. + +2026-05-22 Martin Rudalics + + Save/restore old_buffer slot via window configurations (Bug#81097) + + With Emacs 31 the old_buffer slot of a window gets overwritten + with the buffer unshown in that window when that window is + deleted. Fset_window_configuration triggers that when calling + delete_all_child_windows. If a window configuration gets saved + and restored in one and the same redisplay cycle, the change + time stamps of the window and its frame will be equal and + 'window-buffer-change-functions' may wrongly decide that the + window's buffer has not changed because its buffer and + old_buffer slots refer to the same buffer (Bug#81097). Fix that + by saving and restoring the old_buffer slot. + + * src/window.c (struct saved_window): Add 'old_buffer' slot. + (Fset_window_configuration): Restore old_buffer slot. + (save_window_save): Save old_buffer slot. + +2026-05-22 Michael Albinus + + Adapt ert-remote-temporary-file-directory settings + + * lisp/emacs-lisp/ert-x.el (tramp-default-remote-shell) + (tramp-encoding-shell): Declare. + (tramp-methods) : Add `tramp-tmpdir'. Adapt + `tramp-login-program' and `tramp-remote-shell'. + +2026-05-22 Eli Zaretskii + + Fix warning message in 'markdown-ts-mode--initialize' + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts-mode--initialize): Tweak the warning message when + Tree-sitter is not available. (Bug#81100) + +2026-05-22 Dmitry Gutov + + Fix "assertion 'GTK_IS_WINDOW (window)' failed" + + * src/gtkutil.c (xg_frame_set_size_and_position): Remove a + gtk_window_resize call which used a wrong value type + (GdkX11Window instead of GtkWindow). The original motivation + for that line seems to be fixed by later changes (bug#80662). + +2026-05-21 Dmitry Gutov + + [Xt] Fix child frame resizing glitch + + * src/widget.c (EmacsFrameResize): Exit early for child frames + (bug#81077). + +2026-05-21 João Távora + + Eglot: use standard face for completion annotations (bug#81088) + + * lisp/progmodes/eglot.el (eglot-completion-at-point): Use + completions-annotations face, not font-lock-function-name-face. + +2026-05-20 Juri Linkov + + Fix 'shr-outline-search' (bug#81073) + + * lisp/net/shr.el (shr-outline-search): + Don't check for the beginning of the line. + Suggested by Omar Antolín Camarena . + Confirmed by Rahguzar . + +2026-05-20 Michael Albinus + + Improve auth-source-backend-parse + + * lisp/auth-source.el (auth-source-backend-parse): Use `run-hook-wrapped'. + Suggested by Augusto Stoffel . + Transform a warning into a debug message. + +2026-05-20 João Távora + + Eglot: announce markdown support for completion docs + + No reason not to. Tested with gfm-view-mode and markdown-ts-mode + + * lisp/progmodes/eglot.el (eglot-client-capabilities): Annouce + markdown support for completion docs. + +2026-05-20 Rahul Martim Juliato + + markdown-ts-mode: hide fence lines in view-mode (bug#81081) + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts--fontify-delimiter): When `markdown-ts-hide-markup' + is enabled in `markdown-ts-view-mode', also hide the whole line + containing a `fenced_code_block_delimiter' (including its + terminating newline) so Eldoc/LSP markdown snippets render + without stray blank lines around the code block. Scoped to + view-mode and to fenced delimiters on purpose: the same handler + is shared by inline delimiters (emphasis, code span, link + brackets) where munching surrounding whitespace would collapse + word separators, and tuning rendering for + hide-markup-while-editing is not a goal. + +2026-05-20 João Távora + + markdown-ts-mode: align default face definitions with markdown-mode + + Match the out-of-the-box appearance of markdown-ts-mode to the + non-tree-sitter markdown-mode package, making switching between modes + less jarring. + + * lisp/textmodes/markdown-ts-mode.el (markdown-ts-delimiter) + (markdown-ts-heading-1, markdown-ts-heading-2, markdown-ts-heading-3) + (markdown-ts-heading-4, markdown-ts-heading-5, markdown-ts-heading-6) + (markdown-ts-block-quote, markdown-ts-code-block, markdown-ts-code-span) + (markdown-ts-indented-code-block, markdown-ts-html-tag) + (markdown-ts-html-block, markdown-ts-thematic-break) + (markdown-ts-entity-reference, markdown-ts-numeric-character-reference) + (markdown-ts-table, markdown-ts-table-header, markdown-ts-table-cell) + (markdown-ts-table-delimiter-cell, markdown-ts-language-keyword) + (markdown-ts-list-marker, markdown-ts-hard-line-break-backslash) + (markdown-ts-hard-line-break-backslash-hidden) + (markdown-ts-hard-line-break-space-hidden) + (markdown-ts-task-unchecked, markdown-ts-task-checked): Tweak. + +2026-05-20 Stéphane Marks + + Fix markdown-ts-mode atx_heading face computation (bug#81042) + + The grammar reports leading spaces as part of the atx_heading "marker" + and we cannot use the length of the marker as a result. Instead, count + the number of consecutive # after any blanks to determine its "level." + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts--fontify-atx-heading): Count the octothorpes rather + than using the length of the marker node's text. + +2026-05-20 Stéphane Marks + + Allow markdown-ts--run-command-in-code-block to ignore output (bug#81041) + + Do not assume every command run in + 'markdown-ts--run-command-in-code-block' produces output that needs to + be merged from the temp/work buffer into the source buffer. One example + is 'xref-find-definitions', the temp buffer of which is unrelated to the + source buffer. + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts-code-block-commands): Add 'complete-symbol'. + (markdown-ts-code-block-ignore-output-commands): New defvar. + (markdown-ts--run-command-in-code-block): Ignore command output + when necessary. + +2026-05-19 Lin Sun + + hideshow: Menu entry for 'hs-toggle-all' + + * lisp/progmodes/hideshow.el: Menu entry for hs-toggle-all (bug#81045). + +2026-05-18 Stefan Monnier + + doc/lispref/text.texi: Add complement to commit f4a1c006569f + + * doc/lispref/text.texi (Examining Properties): Mention the change in + cursor-sensor-functions. + +2026-05-18 João Távora + + Eglot: fix eglot--format-makrup when MARKUP just a string + + * lisp/progmodes/eglot.el (eglot--format-markup): Fix case where + markup is string. + +2026-05-18 F. Jason Park + + Fix missing margin face on display prop in erc-stamp + + * lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Explicitly add + face to right-hand stamp's `display' margin string. Commit d24b10ca + "Introduce 'margin' face for window margin background" did away with the + "fall-through" behavior in which a margin spec's string that lacks its + own face property inherited whatever the associated `display' char + happened to have. (Bug#80693) + + ;; The old language in "(elisp) Display Margins" said "if the + ;; string to be displayed in the margin doesn't specify a face, its + ;; face is determined using the same rules and priorities as it is + ;; for strings displayed in the text area (see Displaying Faces)," + ;; and that "if this results in undesirable 'leaking' of faces into + ;; the margin, make sure the string has an explicit face specified + ;; for it." It seems ERC and likely more than a few other packages + ;; never came to heed this guidance and have erroneously depended + ;; on such behavior for years if not decades. + ;; + ;; * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: + ;; * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: + ;; * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: + ;; * test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-pre-01.eld: + ;; * test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: + ;; * test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: + ;; * test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: + ;; * test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: + ;; * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update + ;; snapshot. + +2026-05-18 Sean Whitton + + vc-refresh-state: Override default-directory for backend functions + + I ran into the issue described in the comment with the current + code in project-find-file-in and project-find-dir, when using + 'C-x p p' to switch between projects. + + * lisp/vc/vc-hooks.el (vc-refresh-state): When calling into the + backend, override any let-bindings of default-directory. + +2026-05-18 João Távora + + Eglot: unbreak for treesit-less builds + + * lisp/progmodes/eglot.el + (eglot--builtin-mdown-p): New helper. + (eglot--accepted-formats) + (eglot--format-markup): Use it. + +2026-05-18 Joshua Murphy (tiny change) + + Get selected item in newsticker list view + + * lisp/net/newst-treeview.el + (newsticker--treeview-get-selected-item): If an item is already + selected, use it. (Bug#80972) + +2026-05-17 Brian Leung + + Eglot: fix thinko in recent markdown-related commit (bug#81063) + + * lisp/progmodes/eglot.el (eglot--format-markup): Correct return value + for gfm-view-mode. + +2026-05-17 João Távora + + Jsonrpc: migrate more tests to Python subprocess fixtures + + All tests now use 'jsonrpc--with-python-fixture' with a Python3 + subprocess instead of the in-Emacs TCP server. Changed the "harakiri" + method to be a request instead of a notification for to reduce chance of + "Sentinel hasn't run" warning. + + The two in-Emacs-RPC-specific error tests ('errors-with--32601' and + 'signals-an--32603-JSONRPC-error') are dropped with the fixture itself, + as the error paths they exercise are internal to the Emacs Lisp + dispatcher and have no direct Python equivalent. They will have to be + re-done later on in other form. + + * test/lisp/jsonrpc-resources/server-emacsrpc.py: New file. + + * test/lisp/jsonrpc-resources/server-anxious-nested.py: Use new + harakiri. + + * test/lisp/jsonrpc-resources/server-emacsrpc.py: Use new harakiri. + + * test/lisp/jsonrpc-resources/server-harakiri.py: Use new harakiri. + + * test/lisp/jsonrpc-resources/server-remote-during-sync-1.py: Use new + harakiri. + + * test/lisp/jsonrpc-resources/server-remote-during-sync-2.py: Use new + harakiri. + + * test/lisp/jsonrpc-resources/server-remote-error.py: Use new harakiri. + + * test/lisp/jsonrpc-resources/common.py (harakiri): New definition. + + * test/lisp/jsonrpc-tests.el + (jsonrpc--with-python-fixture): Rework, move up. + (jsonrpc-connection-ready-p): Move up. + (jsonrpc--call-with-emacsrpc-fixture) + (jsonrpc--with-emacsrpc-fixture) + (errors-with--32601) + (signals-an--32603-JSONRPC-error): Remove. + (returns-3, times-out, doesnt-time-out, stretching-it-but-works) + (deferred-action-toolate, deferred-action-intime) + (deferred-action-complex-tests): Migrate to Python fixture. + (scontrol-remote-during-sync-1, scontrol-remote-during-sync-2) + (scontrol-anxious-nested, scontrol-remote-error) + (shutdown-clean-after-notification): Tweak. + +2026-05-17 João Távora + + Eglot: add left-fringe code action indicator (bug#80326) + + The fringe indicator uses a custom lightning-bolt bitmap, an alternative + to the margin indicator on GUI frames. It is non-interactive, however. + + * lisp/progmodes/eglot.el (eglot--fringe-action): New fringe bitmap. + + (eglot-code-action-indications): Add 'left-fringe' to default value + and to docstring. Update incompatibility note. + + (eglot-code-action-suggestion): Handle 'left-fringe' indication. + +2026-05-17 Michael Albinus + + Fix auth-source-backends-parse + + * lisp/auth-source.el (auth-source-backend-parse): Drop backends + of type `ignore'. (Bug#81024) + (auth-source-backends): Drop duplicate backends. + +2026-05-17 Eli Zaretskii + + Fix updates of embedded formulas by 'calc-embedded-update-formula' + + * lisp/calc/calc-embed.el (calc-embedded-update): Use + 'buffer-substring' to better track the string representation of + the formula when it is being edited. Suggested by + gnu@publik.slmail.me. Also, update commentary. (Bug#80901) + +2026-05-16 Andrea Alberti + + Fill margins with 'margin' face on truncated screen lines + + * src/xdisp.c (display_line): Remove the unnecessary condition that + row->used of the margin areas is zero, for when we call + 'extend_face_to_end_of_line'. (Bug#80693) + +2026-05-14 João Távora + + Eglot: adjust reference to completion frontends in manual + + * doc/misc/eglot.texi (Eglot Features): Rework. + +2026-05-14 João Távora + + Eldoc: display documentation in visual-line-mode + + Documentation is overwhelmingly prose and intended to be viewed, + not edited. Using visual-line-mode allows members of + 'eldoc-doc-functions' to provide long lines that correctly fill + to the window width. + + * lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Use + visual-line-mode. + +2026-05-14 João Távora + + Eglot: prefer markdown-ts-view-mode for markup rendering (bug#80127) + + Eglot previously needed gfm-view-mode from markdown-mode.el to render + Markdown from LSP servers. It now prefers markdown-ts-view-mode when + available. + + * lisp/progmodes/eglot.el (eglot--accepted-formats): Recognize + markdown-ts-view-mode as a Markdown renderer. + (eglot--format-markup): Rework with cl-labels; prefer + markdown-ts-view-mode over gfm-view-mode. + + * doc/misc/eglot.texi (Eglot Features): Don't mention + markdown-mode directly. + + * etc/EGLOT-NEWS: Mention change + +2026-05-14 Rahul Martim Juliato + + Use 'read-multiple-choice' in 'markdown-ts-mode' (bug#81027) + + Replace the "c" character-prompt interactive spec with + 'read-multiple-choice', which presents named options instead of + requiring users to decode the prompt string and type a single + character. + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts-table-align-column): Use 'read-multiple-choice'. + Adjust ALIGN docstring punctuation. + * lisp/textmodes/markdown-ts-mode-x.el + (markdown-ts-toc-insert-template): Use 'read-multiple-choice'. + +2026-05-14 Rahul Martim Juliato + + Fix 'markdown-ts-code-span' face (bug#81026) + + * lisp/textmodes/markdown-ts-mode.el (markdown-ts-code-span): + Inherit from 'font-lock-keyword-face' rather than + 'font-lock-string-face'. + +2026-05-14 Rahul Martim Juliato + + Add read-only 'markdown-ts-view-mode' (bug#81023) + + This new derived mode is intended for consumers that render + Markdown content for display rather than editing, such as Eglot + and Eldoc when showing documentation popups and buffers. It + pre-sets the relevant customizations (markup hidden, inline + images on, hard-line-break markup hidden, native code-block + fontification, table and code-block context minor modes off), + makes the buffer read-only, and uses its own keymap derived from + 'special-mode-map' so navigation keys behave like a viewer. + + A pre-init hook lets callers normalize buffer content before the + grammar parses it; 'markdown-ts-add-final-newline' is the + default so that markup depending on a terminating newline parses + correctly. 'markdown-ts-buffer-string' returns the rendered + buffer string with overlay faces flattened into text properties, + which is useful for callers that capture the rendered output. + + Along the way: 'list_marker_parenthesis' is now recognized as an + ordered list marker; the strikethrough query is simplified to a + single rule; thematic breaks span the window via an ':extend' + underline when the face supports it. + + * lisp/textmodes/markdown-ts-mode.el (markdown-ts-view-mode): + New read-only derived mode. + (markdown-ts-view-mode-map): New keymap. + (markdown-ts-view-mode-pre-init-hook): New hook, defaulting to + 'markdown-ts-add-final-newline'. + (markdown-ts-mode--initialize): New helper, factored out of + 'markdown-ts-mode' so 'markdown-ts-view-mode' can reuse the + parser readiness and setup logic after overriding local + variables. + (markdown-ts-mode): Call 'markdown-ts-mode--initialize'. + (markdown-ts-add-final-newline): New function. + (markdown-ts-buffer-string): New function. + (markdown-ts-unordered-list-marker): New defcustom. + (markdown-ts-hard-line-break-backslash) + (markdown-ts-hard-line-break-space): Accept the symbol 'hide. + (markdown-ts--fontify-hard-line-break): Honor 'hide. + (markdown-ts--fontify-atx-heading) + (markdown-ts--fontify-setext-heading) + (markdown-ts--fontify-atx-delimiter) + (markdown-ts--fontify-unordered-list-marker) + (markdown-ts--list-item-depth): New functions supporting clean + rendering when markup is hidden. + (markdown-ts--fontify-thematic-break): Use ':extend' underline + span when the face supports it. + (markdown-ts--resolve-display-value): Accept non-cons values. + (markdown-ts--list-ordered-item-p): Also recognize + 'list_marker_parenthesis'. + (markdown-ts--range-settings): Mark markdown-inline embed as + ':local t'. + (markdown-ts--set-up): Create the markdown-inline parser only in + the inline setup branch; drop the redundant + 'markdown-ts-hide-markup' make-local-variable. + (markdown-ts--treesit-settings): Route atx and setext headings + to their dedicated fontifiers; route unordered list markers + through 'markdown-ts--fontify-unordered-list-marker'; move + 'strikethrough' to the simpler paragraph-inline query. + +2026-05-13 Rahul Martim Juliato + + Fix strikethrough in 'markdown-ts-mode' (bug#80991) + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts--treesit-settings): Add a new font-lock block for + 'paragraph-inline' that handles strikethrough nodes more + carefully. + +2026-05-13 Rahul Martim Juliato + + Fix code-span in headings in 'markdown-ts-mode' (bug#80979) + + * lisp/textmodes/markdown-ts-mode.el + (markdown-ts--treesit-settings): Move the 'code_span' and + 'code_span_delimiter' font-lock rules into a separate block with + ':override prepend' instead of 'append'. The heading feature + (level 1) applies its face via 'font-lock-append-text-property', + so a code span that later appends 'markdown-ts-code-span' ends + up with '(markdown-ts-heading-N markdown-ts-code-span)', where + the heading face takes priority and the code-span face is + suppressed. Prepending ensures 'markdown-ts-code-span' appears + first in the face list and wins visually. + +2026-05-13 Stéphane Marks + + Make 'markdown-ts-inline-images' buffer local and test for GUI (bug#80978) + + * lisp/textmodes/markdown-ts-mode.el (markdown-ts-inline-images): + Now buffer local. + (markdown-ts--fontify-image): Defensively test for graphical + display before rendering images. + +2026-05-13 Michael Albinus + + * etc/NEWS: Mention new user option tramp-propagate-emacsclient-tramp. + +2026-05-13 Michael Albinus + + Propagate EMACSCLIENT_TRAMP to remote hosts with Tramp + + * doc/misc/tramp.texi (Remote processes): + Explain `tramp-propagate-emacsclient-tramp'. + + * lisp/net/tramp.el (tramp-remote-process-environment): Adapt docstring. + (tramp-propagate-emacsclient-tramp): New defcustom. + (tramp-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) + (tramp-sh-handle-process-file): Use it. + + * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables): + Adapt test. + +2026-05-13 Stefan Monnier + + keyboard-tests.el: Try and fix the failure on EMBA + + * test/src/keyboard-tests.el (keyboard-sigint-to-quit): Fix a small + race condition and avoid `sit-for` returning early. + +2026-05-13 Stefan Monnier + + doc: Remove long obsolete references to `package-initialize` + + Since Emacs-27, `package-initialize` is for internal use only, + and callers should either call `package-activate-all` instead + (cheaper and faster) or do nothing at all (because the other + functions should trigger the needed initialization automatically + as needed). + + * doc/lispref/package.texi (Packaging Basics): Delete `package-initialize`. + + * doc/misc/eglot.texi (Reporting bugs): Don't recommend using `package-initialize`. + + * doc/misc/org.org (Using Emacs packaging system): Simplify the command + line since both `(require 'package)` and `(package-initialize)` are + redundant here. + +2026-05-13 Sean Whitton + + vc-next-action: Call vc-delete-file on FILESET-ONLY-FILES + + * lisp/vc/vc.el (vc-next-action): Call vc-delete-file on + FILESET-ONLY-FILES, not FILES (bug#80998). + +2026-05-12 Elias Gabriel Perez + + hideshow: Support new 'margin' face for margin indicators. (Bug#80693) + + * lisp/progmodes/hideshow.el (hs-indicator-hide): Remove 'default' face. + (hs--make-indicators-overlays): Rework. + +2026-05-12 Juri Linkov + + Use the new 'margin' face in Flymake (bug#80693) + + * lisp/progmodes/flymake.el (flymake--bs-display): + Use the 'margin' face when it's available. + +2026-05-12 Sean Whitton + + vc-dir-resynch-file: Pass down non-truename'd FILE + + * lisp/vc/vc-dir.el (vc-dir-recompute-file-state): Delete + recently introduced TRUENAME parameter. + (vc-dir-resynch-file): Pass the file name from before calling + file-truename to vc-dir-recompute-file-state. + +2026-05-12 F. Jason Park + + Change ERC version for Emacs 31 to 5.6.2.31.1 + + * doc/misc/erc.texi: Change ERCVER to 5.6.2.31.1. + * lisp/erc/erc.el: Change "Version" package header to 5.6.2.31.1. Don't + update the `customize-package-emacs-version-alist' entry because this is + not a GNU ELPA release. + (erc-version): Change version to 5.6.2.31.1. + + Do not merge to master. + +2026-05-11 Philip Kaludercic + + Fix 'sgml-parse-tag-backward' to handle tags in comments + + * lisp/textmodes/sgml-mode.el (sgml--find-<>-backward): Ignore + SGML tags that happen to occur within comments. This also means + that the contents of comments are not indented, but also do not + affect the indentation of tags following the comments as well. + + (Bug#80841) + +2026-05-11 Aidan Coyle (tiny change) + + Fix eww-submit for forms with no action (bug#80918) + + * lisp/net/eww.el (eww-submit): If a form does not specify an action + the assumed action is the current URL. If the current URL has an + existing query part, that part must be replaced by the form values, + rather than appended to. + +2026-05-11 Elias Gabriel Perez + + * lisp/progmodes/hideshow.el (hs--set-variable): Use 'set-local' (bug#80999) + +2026-05-11 Juri Linkov + + Fix Completions buffer disappearing with tmm-menubar (bug#80995) + + * lisp/minibuffer.el (completions--start-background-update): + Cancel a possible leftover timer (e.g. from the previous + after-change hook) that would suppress the display of + *Completions* when 'completion-eager-update' is nil. + (completions--after-change): Don't start background update + when not required to automatically update *Completions*. + +2026-05-11 Michael Albinus + + Fix secrets.el when Emacs is a flatpak + + * doc/misc/dbus.texi (Flatpak integration): New chapter. + + * lisp/net/secrets.el (top): Protect against wrong signals in the + flatpak case. (Bug#80977) + +2026-05-11 Philip Kaludercic + + Fix 'prepare-user-lisp' to follow symlinks + + * lisp/startup.el (prepare-user-lisp): Call + 'directory-files-recursively' with a non-nil value for + FOLLOW-SYMLINKS. This was the intended way for the function to + operate, during the planning phase, so that users could + structure their User Lisp directory by linking in Lisp + directories from other parts of their file system. + +2026-05-11 Philip Kaludercic + + Update "timeout" to 2.1.6 + + See https://lists.gnu.org/archive/html/emacs-devel/2026-05/msg00033.html. + +2026-05-11 Dmitry Gutov + + [GTK3, HiDPI] Fix width/height round-trip through ConfigureNotify + + * src/gtkutil.c (xg_frame_set_char_size) + (xg_frame_set_size_and_position): Truncate WIDTH and HEIGHT to + be multiples of the scale factor (bug#80662). + +2026-05-11 Dmitry Gutov + + [GTK3] On Expose, repaint the border before the content + + * src/xterm.c (handle_one_xevent): Move the + x_clear_under_internal_border call before expose_frame, for less + chance of implicit flush to screen in between (bug#80662). + +2026-05-10 Pip Cet + + Test read-passwd behavior (bug#80838) + + * test/lisp/auth-source-tests.el (auth-source-test--displayed-string): + (auth-source-test-read-passwd): + (auth-source-test-read-passwd-revealed): + (auth-source-test-read-passwd-nested): New. + +2026-05-10 Pip Cet + + Fix nested read-passwd calls (bug#80838) + + Calls to 'read-passwd' may be nested. The old code didn't handle + that, because some of the state was global and we'd end up revealing + passwords. The new code still has global state, but it has been + changed so that we hide rather than reveal passwords when we enter or + leave a nested read-passwd prompt. + + * lisp/auth-source.el (read-passwd--hide-password): Removed. + (read-passwd--password-hidden): New. + (read-passwd-toggle-visibility): Add optional FORCE argument. + (read-passwd--mini-buffers): New variable. + (read-passwd-mode): Don't modify mode line when nested. Hide password + when returning to nested minibuffer or entering a new one. + +2026-05-09 Pip Cet + + Fix terminal emulation of "ESC [ K" sequence + + * lisp/term.el (term-erase-in-line): Don't immediately delete the + newly inserted characters. + +2026-05-09 Eli Zaretskii + + Fix vertical-motion across overlay strings with embedded newlines + + * src/indent.c (Fvertical_motion): Handle the case of an overlay + string on invisible text at point. (Bug#80989) + +2026-05-09 Morgan Smith + + Mark gnus-dbus.el as obsolete + + This functionality has been replaced by the new sleep library + which supports more then just DBUS systems. + + * lisp/obsolete/gnus-dbus.el: Add Obsolete-since header. Add + commentary. + (gnus-dbus-close-on-sleep, gnus-dbus-sleep-registration-object) + (gnus-dbus-register-sleep-signal gnus-dbus-sleep-handler) + (gnus-dbus-unregister-sleep-signal): Mark as obsolete. + +2026-05-09 Morgan Smith + + Move gnus-dbus.el to obsolete/gnus-dbus.el + + * lisp/gnus/gnus-dbus.el: Move from here... + * lisp/obsolete/gnus-dbus.el: ...to here. + +2026-05-09 Morgan Smith + + Gnus: Use new sleep library + + * etc/NEWS: Announce. + * lisp/gnus/gnus-start.el: Don't require gnus-dbus. + (gnus-sleep-handler): New function. + (gnus-close-on-sleep): New variable. + (gnus-1): Add `gnus-sleep-handler' to + `system-sleep-event-functions' when `gnus-close-on-sleep' is + non-nil. + * doc/misc/gnus.texi: Update documentation. + +2026-05-09 Eli Zaretskii + + Fix Rmail behavior wrt globalized minor modes + + Previously, "M-x rmail" would not call 'run-mode-hooks', which + didn't let globalized minor modes a chance to turn on themselves + in Rmail buffers. This modifies the way Rmail runs the various + hooks so as to abide by behavior required by Emacs 30 and later. + * lisp/mail/rmail.el (rmail-mode-2): Call 'run-mode-hooks'. + (rmail-mode): Call 'run-hooks', not 'run-mode-hooks'. Suggested + by Mark Lillibridge . (Bug#80879) + +2026-05-09 Eli Zaretskii + + Fix display images in the display margins + + * src/xdisp.c (handle_single_display_spec): Set the iterator face + to use 'margin' when displaying in the margins. (Bug#80693) + +2026-05-09 João Távora + + Eglot: fix eglot--sig-info with non-UTF-32 positionEncoding + + Github-reference: https://github.com/joaotavora/eglot/discussions/1588 + + When the server negotiates positionEncoding utf-8 or utf-16, + ParameterInformation.label vector offsets are byte/code-unit counts + into the signature label, not character counts. Using them raw caused + wrong highlights and crashes on Unicode-rich signatures. + + * lisp/progmodes/eglot.el (eglot--sig-info): Mostly rewrite. + (eglot-move-to-utf-8-linepos-function): Tweak docstring. + (eglot-move-to-utf-8-linepos, eglot-move-to-utf-16-linepos): Return + position moved to. + +2026-05-08 Alan Third + + [NS] Fix deprecated variable (bug#80985) + + * src/nsterm.h (NSLevelIndicatorStyleContinuousCapacity): Define in + macOS < 10.15. + +2026-05-08 Dmitry Gutov + + vc-switch-working-tree: Use project-current again + + * lisp/vc/vc.el (vc-switch-working-tree): Use project-current + instead of manually constructing VC project objects. + +2026-05-08 Stéphane Marks + + treesit-explore-mode usability improvements (bug#80935) + + Improve the usability of treesit-explore-mode. + + - Prompt for the primary parser first, if there is one, rather + than the first in the list reported by 'treesit-parser-list'. + Previously, in a multi-parser buffer like 'markdown-ts-mode', one + had to hunt for the primary parser. + + - Kill the tree buffer and its window if the source buffer is + killed or 'treesit-explore-mode'. Previously, when + 'treesit-explore-mode' is disabled in the source buffer, its + companion explorer tree buffer was left dangling and window + open (with an unrelated buffer). + + - Improve 'treesit--explorer-refresh-1' to recenter the window + around the selected nodes when the selected region in the source + buffer changes. Previously, one had to navigate manually to find + the corresponding highlighted node in the tree window which may + be far away from that the source buffer's region represents. + + - Disable 'treesit-explore-mode' in the source buffer if its + companion tree buffer is killed. Previously, + 'treesit-explore-mode' remained active in the source buffer in + an effectively unusable state. + + - Disable 'treesit-explore-mode' if the user quits + 'completing-read' in 'treesit-explorer-switch-parser' when + enabling the mode. Previously, 'treesit-explore-mode' was left + enabled after quit. + + - New command to switch back and forth between the source buffer + and tree buffer windows to make navigating more convenient. + Previously, in a multi-window frame, one had to navigate to/from + these two related windows in a more cumbersome way. + + - New command to quit 'treesit-explore-mode' and + 'treesit--explorer-tree-mode' and handle buffer and window + cleanup. + + * lisp/treesit.el (treesit--explorer-refresh-1): Recenter the + window, if amenable, to the node selected in the source buffer. + (treesit--explorer-kill-explorer-buffer): Remove function. + (treesit--explorer-generate-parser-alist): Prioritize the + primary parser, if there is one. + (treesit--explorer-tree-mode-cleanup): New defun. + (treesit-explore-quit): New command. + (treesit-explorer-tree-window): New defun. + (treesit-explorer-source-buffer-window): New defun. + (treesit-explore-mode-map): Revise key bindings. + (treesit--explorer-tree-mode-map): Revise key bindings. + (treesit--explorer-tree-mode): New keymap. + (treesit-explorer-switch-parser): Add a default to + completing-read. + (treesit-explore-mode): Guard completing read quit. Wire up the + new cleanup functions. + +2026-05-07 João Távora + + Fix 'vc-dir-resynch-file' again (bug#80967) + + This unbreak project-vc-dir for dirs under non-truename + hierarchies. + + The following commit presumably makes 'M-x vc-dir' usable again + for versioned directories inside non-truename hierarchies, + + commit e05fab5775c96f8f88eab8d75dea40253bfb78eb + Author: Stephen Berman + Date: Sat May 2 15:11:37 2026 +0200 + + Fix 'vc-dir-resynch-file' (bug#80803) + + * lisp/vc/vc-dir.el (vc-dir-resynch-file): Apply 'file-truename' + instead of 'expand-file-name' to FNAME argument to prevent + spurious display of symlinked files in *vc-dir* buffer. + + However the similar command 'M-x project-vc-dir' was broken and made + unusable in similar circumstances. + + This relatively simple fix addresses both situations touching only the + problematic 'vc-resynch-file' and one of its callees, + 'vc-dir-recompute-file-state', which now discerns clearly between the + short/familiar name to present in the list and the "fname" to use to + call into the backend to gather the VC state. Since this function is + also called from another context, where the requirements are less clear, + keeping current smenatics in that situation seemed prudent, so the new + behaviour is activate with a new optional parameter. + + * lisp/vc/vc-dir.el (vc-dir-resynch-file): Call + vc-dir-recompute-file-state with truename=t. + (vc-dir-recompute-file-state): Accept optional truename param. + 2026-05-07 Sean Whitton Cut the emacs-31 release branch @@ -64440,7 +65759,7 @@ This file records repository revisions from commit 1cda0967b4d3c815fc610794ad6a8fc2b913a3c5 (exclusive) to -commit 311f1fe2ba2a4d069715c992ba839645b55a9427 (inclusive). +commit 5e3e1a5bb23b5e7813a60c2b121b1393ff6ca86f (inclusive). See ChangeLog.4 for earlier changes. ;; Local Variables: diff --git a/etc/AUTHORS b/etc/AUTHORS index ab4abbfc62b..150f5ee6527 100644 --- a/etc/AUTHORS +++ b/etc/AUTHORS @@ -87,6 +87,8 @@ Agustín Martín: changed ispell.el flyspell.el fixit.texi Ahmed Khanzada: changed gtkutil.c battery.el frame.c frame.el gtkutil.h nsterm.m w32fns.c w32term.c w32term.h xsettings.c xsettings.h +Aidan Coyle: changed eww.el + Aidan Gauland: wrote em-tramp.el and changed eshell.texi em-term.el em-unix.el erc-match.el em-cmpl.el em-dirs.el em-ls.el em-script.el esh-proc.el eshell-tests.el @@ -157,7 +159,7 @@ Aleksey Kladov: changed eglot.el Alexander Adolf: wrote eudc-capf.el eudcb-ecomplete.el eudcb-macos-contacts.el eudcb-mailabbrev.el and changed eudc.texi message.el eudc-vars.el ecompleterc eudc-tests.el - eudc.el mailrc + eudc.el mailrc vc.el Alexander Becher: changed vc-annotate.el @@ -288,7 +290,7 @@ Amin Bandali: changed erc.el erc.texi erc-backend.el erc-button.el erc-compat.el erc-track.el erc-dcc.el erc-desktop-notifications.el erc-match.el erc-services.el erc-speedbar.el erc-status-sidebar.el erc-autoaway.el erc-fill.el erc-goodies.el erc-ibuffer.el erc-imenu.el - erc-join.el erc-lang.el erc-list.el erc-log.el and 13 other files + erc-join.el erc-lang.el erc-list.el erc-log.el and 15 other files Amos Bird: changed xfns.c @@ -309,7 +311,7 @@ and changed nsterm.m nsfns.m nsmenu.m nsterm.h font-lock.el nsimage.m Anders Waldenborg: changed emacsclient.c -Andrea Alberti: changed dispextern.h faces.el xdisp.c xfaces.c +Andrea Alberti: changed xdisp.c dispextern.h faces.el xfaces.c Andrea Corallo: wrote [native compilation of Emacs Lisp] comp-common.el comp-cstr-tests.el comp-cstr.el comp-run.el comp-tests.el comp.c @@ -583,7 +585,7 @@ and changed progmodes/python.el eglot.el isearch.el comint.el eldoc.el progmodes/compile.el project.el README.md bookmark.el dired.el dockerfile-ts-mode.el files.el font-lock.el glasses.el gnutls.el man.el message.el message.texi misc.texi modes.texi outline.el - and 16 other files + and 17 other files Aurélien Aptel: changed alloc.c emacs-module.h lisp.h Makefile configure.ac cus-face.el data.c dispextern.h display.texi dynlib.c @@ -1542,7 +1544,7 @@ David Ponce: wrote bovine/grammar.el cedet.el comp.el java-tags.el semantic/java.el semantic/wisent.el senator.el tree-widget.el wisent/grammar.el wisent/wisent.el and co-wrote util-modes.el -and changed subr-x.el wid-edit.el image.el w32menu.c w32term.c +and changed wid-edit.el subr-x.el image.el w32menu.c w32term.c cl-extra.el cl-types.el close.png close.xpm cus-edit.el empty.png empty.xpm end-guide.png end-guide.xpm files.el guide.png guide.xpm handle.png handle.xpm keyboard.c leaf.png and 36 other files @@ -1670,7 +1672,8 @@ Dionisio E Alonso: changed eglot.el Dirk Herrmann: co-wrote bibtex.el -Dirk-Jan C. Binnema: changed configure.ac org-agenda.el xwidget.c +Dirk-Jan C. Binnema: changed xwidget.c configure.ac org-agenda.el + process.c process.h Dirk Ullrich: changed ispell.el @@ -1809,9 +1812,9 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c] chartab-tests.el coding-tests.el etags-tests.el rxvt.el tty-colors.el and co-wrote help-tests.el and changed xdisp.c display.texi w32.c msdos.c simple.el w32fns.c - files.el fileio.c keyboard.c configure.ac emacs.c text.texi w32term.c - dispnew.c frames.texi files.texi w32proc.c xfaces.c process.c window.c - dispextern.h and 1451 other files + files.el fileio.c keyboard.c configure.ac emacs.c text.texi dispnew.c + w32term.c frames.texi files.texi w32proc.c xfaces.c process.c window.c + dispextern.h and 1453 other files Eliza Velasquez: changed server.el simple.el @@ -2093,8 +2096,8 @@ Filipp Gunbin: changed ldap.el compilation.txt progmodes/compile.el Filippo Argiolas: changed eglot.el eglot.texi c-ts-common.el -F. Jason Park: changed erc.el erc-tests.el erc-backend.el erc-common.el - erc-stamp.el erc-fill.el erc.texi erc-goodies.el erc-button.el +F. Jason Park: changed erc.el erc-tests.el erc-backend.el erc-stamp.el + erc-common.el erc-fill.el erc.texi erc-goodies.el erc-button.el erc-fill-tests.el erc-networks.el foonet.eld erc-compat.el erc-match.el erc-speedbar.el erc-dcc.el erc-scenarios-common.el erc-sasl.el erc-networks-tests.el erc-track.el erc-goodies-tests.el @@ -2648,6 +2651,8 @@ Iwamuro Motonori: changed gnus-kill.el Jaap-Henk Hoepman: changed mm-decode.el +Jacek Migacz: changed gnus-msg.el + Jacek Świerk: changed compilation.txt compile-tests.el progmodes/compile.el @@ -2849,9 +2854,9 @@ Jay Sachs: changed gnus-score.el gnus-win.el J.D. Smith: co-wrote idlw-help.el idlw-shell.el idlwave.el and changed idlw-rinfo.el comint.el idlwave.texi loaddefs-gen.el vc.el - bibtex.el byte-run.el cl-generic.el easy-mmode.el eglot.el files.texi - functions.texi hideshow.el inline.el loading.texi misc.texi mouse.el - os.texi pcase.el repeat.el shr.el and 9 other files + bibtex.el byte-run.el cl-generic.el configure.ac easy-mmode.el eglot.el + files.texi functions.texi hideshow.el inline.el loading.texi misc.texi + mouse.el os.texi pcase.el repeat.el and 10 other files Jean Abou Samra: changed scheme.el @@ -3054,11 +3059,11 @@ João P. L. De Carvalho: changed sh-script.el João Távora: wrote eglot-tests.el eglot.el elec-pair.el electric-tests.el flymake-cc.el jsonrpc-tests.el jsonrpc.el message-tests.el shorthands.el -and changed flymake.el icomplete.el EGLOT-NEWS README.md eldoc.el +and changed flymake.el EGLOT-NEWS icomplete.el README.md eldoc.el eglot.texi minibuffer.el flymake-proc.el flymake.texi elisp-mode.el flymake-tests.el flymake-elisp.el electric.el elisp-mode-tests.el lread.c text.texi Makefile flymake-ui.el progmodes/python.el project.el - xref.el and 74 other files + xref.el and 77 other files Jochen Hein: changed gnus-art.el @@ -3314,6 +3319,8 @@ Josh Huber: changed mml-sec.el mml.el message.el gnus-msg.el mml2015.el Joshua Datko: changed fortune.el +Joshua Murphy: changed newst-treeview.el + Joshua Varner: changed intro.texi Jostein Kjønigsen: changed csharp-mode.el typescript-ts-mode.el eglot.el @@ -3391,7 +3398,7 @@ Juri Linkov: wrote compose.el emoji.el files-x.el misearch.el and changed isearch.el simple.el replace.el info.el dired.el treesit.el minibuffer.el dired-aux.el window.el outline.el progmodes/grep.el subr.el diff-mode.el repeat.el vc.el mouse.el files.el image-mode.el - menu-bar.el project.el display.texi and 526 other files + menu-bar.el project.el display.texi and 528 other files Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h w32console.c w32heap.c w32inevt.c w32term.h @@ -3877,9 +3884,9 @@ Lin Jian: changed Makefile.in subr.el Lin Sun: changed python-tests.el cedet/semantic.el ediff-util.el package.el progmodes/python.el autorevert-tests.el autorevert.el - bovine/make.el calc.el esh-mode.el eww.el find-func.el html.el - java-tags.el javascript.el lread.c ls-lisp-tests.el ls-lisp.el - master.el package-test-server.py package-tests.el and 5 other files + bovine/make.el calc.el esh-mode.el eww.el find-func.el hideshow.el + html.el java-tags.el javascript.el lread.c ls-lisp-tests.el ls-lisp.el + master.el package-test-server.py and 6 other files Lin Zhou: changed w32fns.c w32term.h @@ -3972,7 +3979,7 @@ Manuel Giraud: changed image-dired.el xdisp.c tmm.el calendar.el doc-view.el image.c vc.el ox-html.el bookmark.el diary-lib.el find-dired.el gnus.el image-dired-util.el keyboard.c longlines.el midnight.el ox-publish.el simple.el smtpmail.el buff-menu.el - cal-hebrew.el and 68 other files + cal-hebrew.el and 69 other files Manuel Gómez: changed speedbar.el @@ -4583,9 +4590,10 @@ Mohsin Kaleem: changed cus-face.el dispextern.h eglot.el term.c Mon Key: changed animate.el imap.el syntax.el -Morgan Smith: changed doc-view.el image-dired.el window.el battery.el - dbus.texi esh-var-tests.el esh-var.el eshell.texi gnus-group-tests.el - minibuffer-tests.el minibuffer.el url-vars.el vc-git.el +Morgan Smith: changed doc-view.el gnus-dbus.el image-dired.el window.el + battery.el dbus.texi esh-var-tests.el esh-var.el eshell.texi + gnus-group-tests.el gnus-start.el gnus.texi minibuffer-tests.el + minibuffer.el url-vars.el vc-git.el Morgan Willcock: changed tempo.el electric.el ert-font-lock.el imenu.el modes.texi progmodes/python.el smie.el speedbar-tests.el speedbar.el @@ -5140,7 +5148,7 @@ Philip Kaludercic: wrote epa-ks.el newcomers-presets-theme.el and co-wrote compat.el and changed package.el rcirc.el package.texi rcirc.texi vc.el sgml-mode.el vc-git.el project.el which-key.el package-autosuggest.eld - package-activate.el message.el startup.el subr.el custom.texi eglot.el + package-activate.el startup.el message.el subr.el custom.texi eglot.el simple.el bytecomp.el cus-edit.el custom.el help.el and 94 other files Philippe Altherr: changed sh-script.el sh-script-tests.el shell.sh @@ -5232,7 +5240,7 @@ Pip Cet: wrote image-circular-tests.el and changed pdumper.c comp.c lisp.h xdisp.c alloc.c xterm.c fns.c configure.ac emacs.c eval.c image.c comp.el frame.c print.c src/Makefile.in byte-opt.el conf_post.h data.c doc.c ftcrfont.c - gtkutil.c and 116 other files + gtkutil.c and 119 other files Platon Pronko: changed tramp.el @@ -5299,8 +5307,8 @@ Raffael Mancini: changed misc.el Raffael Stocker: changed w32.c w32console.c w32fns.c w32term.h w32xfns.c -Rahul Martim Juliato: changed markdown-ts-mode.el icomplete.el - markdown-ts-mode-x.el newst-backend.el +Rahul Martim Juliato: changed markdown-ts-mode.el markdown-ts-mode-x.el + icomplete.el newst-backend.el Raimon Grau: changed thingatpt.el calc-fin.el eww.el replace.el thingatpt-tests.el @@ -5430,11 +5438,11 @@ Richard Lawrence: wrote calendar-tests.el diary-icalendar.el icalendar-ast.el icalendar-macs.el icalendar-mode.el icalendar-parser.el icalendar-recur.el icalendar-shortdoc.el icalendar-utils.el -and changed calendar.el icalendar.el calendar.texi - diary-icalendar-tests.el icalendar-recur-tests.el diary-lib.el - icalendar-tests.el .gitattributes cal-dst.el cal-move.el cond-star.el - diary-icalendar-resources emacs.texi gnus-icalendar-tests.el - gnus-icalendar.el icalendar-ast-tests.el icalendar-parser-tests.el +and changed calendar.el diary-icalendar-tests.el icalendar-recur-tests.el + icalendar.el calendar.texi diary-lib.el gnus-icalendar.el + icalendar-parser-tests.el icalendar-tests.el .gitattributes cal-dst.el + cal-move.el cond-star.el diary-icalendar-resources emacs.texi + gnus-icalendar-tests.el icalendar-ast-tests.el import-legacy-function.ics import-legacy-vars.ics import-non-recurring-all-day.ics import-rrule-anniversary.ics and 8 other files @@ -5761,7 +5769,7 @@ and co-wrote vc-tests.el and changed vc.el vc-git.el vc-dispatcher.el vc-hg.el vc-dir.el diff-mode.el vc-hooks.el vc1-xtra.texi log-view.el maintaining.texi subr.el project.el log-edit.el files.texi server.el simple.el window.el - cond-star.el dired-aux.el keyboard.c vc/vc-bzr.el and 329 other files + cond-star.el dired-aux.el keyboard.c vc/vc-bzr.el and 333 other files Sebastian Fieber: changed gnus-art.el mm-decode.el mm-view.el @@ -6007,7 +6015,7 @@ and co-wrote font-lock.el gitmerge.el pcvs.el visual-wrap.el and changed subr.el simple.el cl-macs.el bytecomp.el files.el keyboard.c lisp.h vc.el eval.c xdisp.c alloc.c help-fns.el buffer.c sh-script.el package.el tex-mode.el progmodes/compile.el lread.c keymap.c window.c - easy-mmode.el and 1744 other files + easy-mmode.el and 1745 other files Stefano Facchini: changed gtkutil.c @@ -6035,9 +6043,9 @@ Stéphane Boucher: changed replace.el Stephane Marks: wrote savehist-tests.el system-sleep.el system-taskbar.el and changed frame.el frames.texi nsfns.m tab-bar.el bookmark.el frame.c - nsterm.m project.el recentf.el savehist.el subr.el vtable.el w32fns.c - display.texi ibuf-macs.el os.texi saveplace.el shell.el vtable-tests.el - androidfns.c ansi-osc.el and 32 other files + nsterm.m markdown-ts-mode.el project.el recentf.el savehist.el subr.el + vtable.el w32fns.c display.texi ibuf-macs.el os.texi saveplace.el + shell.el treesit.el vtable-tests.el and 32 other files Stephane Zermatten: changed term-tests.el term.el ansi-osc.el @@ -6330,6 +6338,8 @@ Thomas Link: wrote filesets.el Thomas Morgan: changed org-habit.el forms.el select.el +Thomas Mühlbacher: changed progmodes/compile.el + Thomas Neumann: co-wrote make-mode.el and changed makefile.el @@ -6929,8 +6939,8 @@ Your Name: changed configure.ac Yuan Fu: changed treesit.el treesit.c c-ts-mode.el parsing.texi treesit-tests.el progmodes/python.el modes.texi js.el c-ts-common.el typescript-ts-mode.el indent.erts treesit.h java-ts-mode.el - rust-ts-mode.el css-mode.el go-ts-mode.el sh-script.el configure.ac - csharp-mode.el treesit-admin.el cmake-ts-mode.el and 88 other files + rust-ts-mode.el css-mode.el go-ts-mode.el sh-script.el cmake-ts-mode.el + configure.ac csharp-mode.el treesit-admin.el and 89 other files Yuanle Song: changed rng-xsd.el @@ -6997,7 +7007,8 @@ Zhang Weize: wrote ob-plantuml.el Zhehao Lin: changed xfaces.c -Zhengyi Fu: changed bookmark.el executable.el +Zhengyi Fu: changed bookmark.el executable.el progmodes/grep.el + replace.el Zhiwei Chen: changed hideif.el