master cef2206c974 1/3: Merge from origin/emacs-31

Sean Whitton <[email protected]> Thu, 23 Jul 2026 08:59:18 -0400 (EDT)
Newsgroups gmane.emacs.diffs
Message-ID <[email protected]>
branch: master
commit cef2206c9742e117c8e775e9c5ec88c1b0d7cfc4
Merge: baf195d1eb9 d8af3181182
Author: Sean Whitton <[email protected]>
Commit: Sean Whitton <[email protected]>

    Merge from origin/emacs-31
    
    d8af3181182 ; Update exported ChangeLog files and etc/AUTHORS
    1bd56ff9327 ; Fix last change.
    76c8065bf63 VC-Annotate menu: Fix inserting "Span NN.NN days" entries
    7822f2d5ea7 Fix typo in Fmatch_end's doc string
    d365328e6d9 Fix false positive warnings in 'elisp-flymake-checkdoc' w...
    58e4dc3c53a Fix void-function on push-button in goto-address-mode
    429336b409e Fix perl-calculate-indent
    fc3ba094015 * admin/notes/documentation: Describe quoting of key names.
    ade36467bf5 Fix 'url-parse-query-string'
    94ee683d63e markdown-ts-mode: Fix code-block fontification leak
---
 ChangeLog.5                        | 711 ++++++++++++++++++++++++++++++++++++-
 admin/notes/documentation          |   4 +
 etc/AUTHORS                        | 166 +++++----
 lisp/net/goto-addr.el              |   7 +
 lisp/progmodes/elisp-mode.el       |  11 +-
 lisp/progmodes/perl-mode.el        |   2 +-
 lisp/textmodes/markdown-ts-mode.el |   2 +-
 lisp/url/url-util.el               |  10 +-
 lisp/vc/vc-annotate.el             |  23 +-
 src/search.c                       |   2 +-
 10 files changed, 841 insertions(+), 97 deletions(-)

diff --git a/ChangeLog.5 b/ChangeLog.5
index dc4ae192870..909b2fed865 100644
--- a/ChangeLog.5
+++ b/ChangeLog.5
@@ -1,3 +1,712 @@
+2026-07-22  Sean Whitton  <[email protected]>
+
+	VC-Annotate menu: Fix inserting "Span NN.NN days" entries
+
+	* lisp/vc/vc-annotate.el (vc-annotate-mode-menu): Generate
+	entries based on vc-annotate-color-map using a :filter function,
+	instead of using whatever value that variable happened to have
+	at load time.
+
+2026-07-22  Donjuanplatinum  <[email protected]>  (tiny change)
+
+	Fix typo in Fmatch_end's doc string
+
+	* src/search.c (Fmatch_end): Fix "start position" to "end position".
+	(Bug#81447)
+
+2026-07-21  James Cherti  <[email protected]>
+
+	Fix false positive warnings in 'elisp-flymake-checkdoc' when narrowed
+
+	* lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Temporarily
+	widen the buffer before calling 'checkdoc-current-buffer'.  This
+	prevents checkdoc from reporting missing file-level structural
+	elements when the user has narrowed the buffer.  (Bug#81258)
+
+2026-07-20  Aaron L. Zeng  <[email protected]>  (tiny change)
+
+	Fix void-function on push-button in goto-address-mode
+
+	* lisp/net/goto-addr.el (goto-address--button-action):
+	New function (bug#81419).
+	(goto-address-fontify): Use it as the button action.
+
+2026-07-19  Petteri Hintsanen  <[email protected]>
+
+	Fix perl-calculate-indent
+
+	* lisp/progmodes/perl-mode.el (perl-calculate-indent): Ensure that
+	the value from (nth 3 state) is a character before passing it to
+	char-equal.
+
+2026-07-19  Michael Albinus  <[email protected]>
+
+	* admin/notes/documentation: Describe quoting of key names.
+
+2026-07-19  Eli Zaretskii  <[email protected]>
+
+	Fix 'url-parse-query-string'
+
+	* lisp/url/url-util.el (url-parse-query-string): Fix use of
+	'match-beginning' and 'match-end'.  (Bug#81430)
+
+2026-07-18  Eshel Yaron  <[email protected]>
+
+	markdown-ts-mode: Fix code-block fontification leak
+
+	* lisp/textmodes/markdown-ts-mode.el
+	(markdown-ts--fontify-non-ts-collect-faces): Prevent
+	'font-lock-ensure' from widening and fontifying outside the
+	intended code-block (bug#81412).
+
+2026-07-18  Eli Zaretskii  <[email protected]>
+
+	Revert "; * admin/authors.el (authors-aliases): Fix Borys Buliha's name."
+
+	This reverts commit cf6918c189e11a891facdac4a9baea3316a39c59.
+	It was a mistake, as Boris prefers the other spelling.
+
+2026-07-18  Eli Zaretskii  <[email protected]>
+
+	Fix 'mouse-drag-copy-region' = 'non-empty'
+
+	* lisp/mouse.el (mouse-save-then-kill): Fix conditions for copying
+	when 'mouse-drag-copy-region' is 'non-empty'.  (Bug#81366)
+
+2026-07-16  Michael Albinus  <[email protected]>
+
+	Fix `with-tramp-local-environment'
+
+	* lisp/net/tramp.el (with-tramp-local-environment): Do not change the
+	global environment.  Reported by Daniel Kraus <[email protected]>.
+	(Bug#81409)
+
+2026-07-16  Dmitry Gutov  <[email protected]>
+
+	project.el: Bump version to 0.12
+
+	Do not merge to master.
+
+2026-07-15  Paul Eggert  <[email protected]>
+
+	Port pdumper to m68k
+
+	Problem reported by John Paul Adrian Glaubitz (bug#44531).
+	* src/pdumper.c (DUMP_RELOCATION_ALIGNMENT_BITS): Remove.  It’s
+	not needed for optimization, as today’s compilers deduce that
+	multiplying and dividing by the alignment can be done with shifts.
+	All uses changed to use DUMP_RELOCATION_ALIGNMENT.
+	(DUMP_RELOCATION_ALIGNMENT) [__mc68000__]:
+	Now min (4, alignof (Lisp_Object)), not 4.
+	(dump_reloc_set_offset): Change eassert to eassume to help
+	the compiler.
+
+2026-07-14  Mark Hindley  <[email protected]>  (tiny change)
+
+	browse-url-with-browser-kind: Use strings for DEF
+
+	* lisp/net/browse-url.el (browse-url-with-browser-kind): Use
+	strings for DEF argument to completing-read (bug#81369).
+
+2026-07-14  Martin Rudalics  <[email protected]>
+
+	Fix issues related to window layout changes (Bug#81406)
+
+	* src/window.c (Vwindow_combination_resize): In doc-string say
+	that binding this to nil may be necessary to produce specific,
+	predefined frame layouts (Bug#81406).
+	* lisp/window-x.el (window-layout-rotate-clockwise)
+	(window-layout-rotate-anticlockwise)
+	(window-layout-flip-leftright, window-layout-flip-topdown)
+	(window-layout-transpose, rotate-windows-change-selected)
+	(rotate-windows, rotate-windows-back): Rewrite doc-strings.
+	Make sure that non-interactive calls with nil or absent WINDOW
+	argument work on the frame's main window.  Fix infinite loop
+	when 'rotate-windows' is called for a non-selected frame.
+	* doc/lispref/windows.texi (Recombining Windows): Say that
+	binding 'window-combination-resize' to nil may be necessary to
+	produce specific, predefined frame layouts (Bug#81406).
+	(Changing Window Layouts): Minor rewrite.
+	* etc/NEWS: Announce names of new commands to change window
+	layout (Bug#81406).
+
+2026-07-13  Martin Rudalics  <[email protected]>
+
+	Turn off combination resizing in 'window--transpose-1' (Bug#81406)
+
+	* lisp/window-x.el (window--transpose-1): Bind
+	'window-combination-resize' to nil around splitting (Bug#81406).
+
+2026-07-13  Eli Zaretskii  <[email protected]>
+
+	Fix copy-by-mouse in *Backtrace* buffers
+
+	* lisp/emacs-lisp/backtrace.el (backtrace--filter-visible):
+	Support BEG and END in reverse order.  Patch by Jakub
+	T. Jankiewicz <[email protected]>.  (Bug#81365)
+
+2026-07-11  Kisaragi Hiu  <[email protected]>
+
+	Support javascript "using" keyword (bug#81351)
+
+	* lisp/progmodes/js.el:
+	(js--keyword-re): Add "using" as a JavaScript keyword.
+	(js--font-lock-keywords-3, js--declaration-keyword-re):
+	Add "using" as a variable declaration keyword, like "const".
+	(js--treesit-optional-keywords): New variable, for keywords that may not
+	yet be supported by many versions of tree-sitter-javascript.
+	(js--treesit-font-lock-settings): Use it.
+	(js--treesit-defun-name, js--treesit-valid-imenu-entry)
+	(js--treesit-sentence-nodes, js--treesit-simple-imenu-settings)
+	(js--treesit-defun-type-regexp): Add using_declaration as an alternative
+	to lexical_declaration (let and const) and variable_declaration (var).
+
+	* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode--keywords):
+	Add "using" as a TypeScript keyword.
+
+2026-07-10  Juri Linkov  <[email protected]>
+
+	Ensure the correct current buffer in completions--background-update
+
+	* lisp/minibuffer.el (completions--background-update):
+	Add new arg 'buffer' and compare it with 'current-buffer'.
+	(completions--start-background-update): Run an idle timer
+	for 'completions--background-update' with a new arg
+	set to 'current-buffer' that ensures that the timer function
+	is run in the same buffer (bug#81349).
+
+2026-07-09  Daniel Mendler  <[email protected]>
+
+	Improve eldoc-help-at-pt docstrings
+
+	* lisp/emacs-lisp/eldoc.el (eldoc-help-at-pt, eldoc-show-help-at-pt):
+	Improve docstrings.  (Bug#81356)
+
+2026-07-09  Daniel Mendler  <[email protected]>
+
+	Fix 'eldoc-show-help-at-pt'
+
+	* lisp/emacs-lisp/eldoc.el (eldoc-show-help-at-pt): Don't test
+	'eldoc-help-at-pt'.  (Bug#81356)
+
+2026-07-07  Paul Eggert  <[email protected]>
+
+	Fix uninit read in Android TrueType font scan
+
+	Problem reported privately by Michal Majchrowicz and Marcin
+	Wyczechowski, members of the AFINE Team.
+	* src/sfnt.c (sfnt_read_table_directory):
+	Fix typo where wrong size was used.
+
+2026-07-07  Paul Eggert  <[email protected]>
+
+	Fix OOB read in Android TrueType font scan
+
+	Problem reported privately by Michal Majchrowicz and Marcin
+	Wyczechowski, members of the AFINE Team.
+	* src/sfnt.c (sfnt_vary_simple_glyph, sfnt_vary_compound_glyph):
+	Reject indexes equal exactly to sizes.
+
+2026-07-07  Martin Rudalics  <[email protected]>
+
+	Have 'replace-buffer-in-windows' remove BUFFER-OR-NAME everywhere (Bug#81370)
+
+	* lisp/window.el (replace-buffer-in-windows): Unrecord
+	BUFFER-OR-NAME and thus remove it from the lists of previous and
+	next buffers in all live windows regardless of whether they
+	currently show BUFFER-OR-NAME or not (Bug#81370).
+
+2026-07-07  Juri Linkov  <[email protected]>
+
+	Fix test breakage in files-tests
+
+	* test/lisp/files-tests.el (files-tests--with-buffer-offer-save):
+	Redefine 'read-key-sequence-vector' instead of 'read-key'
+	after recent changes in 'map-y-or-n-p' (bug#81168).
+
+2026-07-07  Juri Linkov  <[email protected]>
+
+	Check for a live buffer in 'quit-restore-window'
+
+	* lisp/window.el (quit-restore-window):
+	Check with 'buffer-live-p' when finding a prev buffer
+	in 'window-prev-buffers' (bug#81370).
+
+2026-07-07  Daniel Mendler  <[email protected]>
+
+	Fix blinking Eldoc messages
+
+	Ensure that `global-eldoc-mode' does not enable `eldoc-mode' in
+	ephemeral Eldoc buffers and accidentally reset `eldoc-last-message'.
+	This caused Eldoc message blinking (bug#81356).
+
+	* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): Exclude ephemeral Eldoc
+	buffers to avoid blinking.
+	(eldoc-help-at-pt): Add custom :set function.
+	(eldoc-documentation-functions): Do not register `eldoc-show-help-at-pt'
+	by default.
+
+2026-07-06  Paul Eggert  <[email protected]>
+
+	Fix undefined behavior in pbm_load
+
+	int*int problem reported by Tristan Madani in:
+	https://bugs.gnu.org/81344
+	* src/image.c (pbm_load): Avoid undefined behavior when
+	multiplying ints, or when adding pointer to int.
+
+2026-07-05  Philip Kaludercic  <[email protected]>
+
+	Avoid destructively modifying 'package--builtin-alist'
+
+	* lisp/emacs-lisp/package.el (package--upgradeable-packages):
+	Use 'append' instead of 'nconc' to not append the contents of
+	'package-alist' to 'package--builtin-alist'.  (Bug#81242)
+
+2026-07-05  Kyle Meyer  <[email protected]>
+
+	Update to Org 9.8.7
+
+2026-07-05  Michael Albinus  <[email protected]>
+
+	Ensure, that `buffer-file-name' is expanded in tramp-archive
+
+	* lisp/net/tramp-archive.el (tramp-archive-handle-insert-file-contents):
+	Ensure, that `buffer-file-name' is expanded.
+
+2026-07-04  Eli Zaretskii  <[email protected]>
+
+	Fix min-width in mode-line constructs
+
+	* src/xdisp.c (handle_display_prop): To handle min-width's end on
+	the mode line, call display_min_width also when starting a new
+	string.  This is needed because mode line supports :propertize
+	application to a list of strings, and we only need to apply the
+	effect of min-width at the end of the last element.  (Bug#81354)
+
+2026-07-03  Binbin Ye  <[email protected]>  (tiny change)
+
+	Fix syntax of tsx tag angle brackets to use matching pairs
+
+	The matching characters for JSX tag angle brackets were
+	self-referential ('<' matched '<', and '>' matched '>') rather than
+	pointing at each other.  Tools that check the matching character, such
+	as 'show-paren-mode' and the rainbow-delimiters package, therefore
+	treated every JSX closing '>' as a mismatched delimiter.  Use the same
+	descriptors as 'sgml-make-syntax-table', where '<' is closed by '>'
+	and '>' by '<' (bug#81348).
+
+	* lisp/progmodes/typescript-ts-mode.el
+	(tsx-ts--syntax-propertize-captures): Give '<' the syntax descriptor
+	"(>" and '>' the descriptor ")<".
+
+2026-07-03  Samuele FAVAZZA  <[email protected]>  (tiny change)
+
+	Fix Tramp container name completion
+
+	* lisp/net/tramp-container.el (tramp-container--completion-function):
+	Use "<>" as separator instead of "\t", which could be modified in
+	the shell.
+
+2026-07-03  Sean Whitton  <[email protected]>
+
+	server-tests/can-create-frames-p: Check for TERM=dumb-emacs-ansi
+
+	* test/lisp/server-tests.el (server-tests/can-create-frames-p):
+	Check for TERM=dumb-emacs-ansi.
+
+2026-07-03  Sean Whitton  <[email protected]>
+
+	Disable failing SCCS tests on the release branch
+
+	These are broken and we don't have an SCCS expert to fix them at
+	present.  This shouldn't block the Emacs 31 release because SCCS
+	is a relatively obscure VCS.
+
+	* test/lisp/vc/vc-tests/vc-tests.el (vc-test-sccs05-rename-file)
+	(vc-test-sccs10-rename-directory): Mark as expected to fail.
+	Do not merge to master.
+
+2026-07-03  Sean Whitton  <[email protected]>
+
+	Finish reverting experiment with proportional font on mode line
+
+	This change
+
+	    Author:     Lars Ingebrigtsen <[email protected]>
+	    AuthorDate: Thu Dec 23 11:43:47 2021 +0100
+
+	        Revert back to using monospaced fonts in the mode line
+
+	        * lisp/faces.el (mode-line-active, mode-line-inactive): Revert
+	        back to using monospaced fonts on the mode line (for now).  The
+	        main remaining usability problem is clicking on the very small "-"
+	        characters in "U:--".
+
+	didn't also undo these changes to bindings.el that were
+	introduced along with the proportional font experiment, leading
+	to bug#81336.
+
+	* lisp/bindings.el (mode-line-position)
+	(standard-mode-line-format): Don't set display minimum widths (bug#81336).
+
+2026-07-03  Alan Mackenzie  <[email protected]>
+
+	CC Mode: Fix erroneous type: arguments to two defcustoms.
+
+	This allows customize to set the variables directly to regular
+	expressions as an alternative to a list of identifiers.  It
+	fixes bug#81339.
+	* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names)
+	(c-noise-macro-names): Correct the type: arguments to defcustom
+	to two `choice' constructs.
+
+2026-07-02  Spencer Baugh  <[email protected]>
+
+	Fix initials completion style after // in file name
+
+	* lisp/minibuffer.el (completion-initials-expand): Change the
+	heuristic to check for an empty previous field, not total string
+	length (bug#81241).
+	* test/lisp/minibuffer-tests.el (completion-initials): New test.
+
+2026-07-02  Spencer Baugh  <[email protected]>
+
+	Fix c-pcm-try-completion with boundaries completion
+
+	PCM try-completion could behavior incorrectly with completion
+	tables using boundaries, such as file name completion.  It would
+	"grow" earlier path components as if point was at the end of
+	each path component (rather than at its true location), which
+	meant all path components would "grow" not only from the left
+	\(which is correct) but also from the right (which can only work
+	when point is there).
+
+	* lisp/minibuffer.el (completion-pcm--find-all-completions):
+	Drop the sub-pattern's trailing `point' (bug#80914).
+	* test/lisp/minibuffer-tests.el (completion-pcm-test-9): New
+	test.
+
+2026-07-02  haiyang miao  <[email protected]>  (tiny change)
+
+	In pgtk_free_frame_resources transfer keyboard focus to parent (Bug#64625)
+
+	* src/pgtkterm.c (pgtk_new_focus_frame): Declare static.
+	(pgtk_free_frame_resources): If this frame currently holds
+	keyboard focus, explicitly transfer focus to its parent frame
+	before releasing resources (Bug#64625).
+
+2026-07-02  Johan Myréen  <[email protected]>  (tiny change)
+
+	Fix fullscreen state handling for PGTK (Bug#81165, Bug#81320)
+
+	* src/pgtkterm.c (set_fullscreen_state): Unfullscreen frame in
+	the FULLSCREEN_HEIGHT/_WIDTH case (Bug#81165, Bug#81320).
+
+2026-07-02  Dmitry Gutov  <[email protected]>
+
+	* lisp/progmodes/project.el: Update Commentary.
+
+2026-07-02  Dmitry Gutov  <[email protected]>
+
+	Localize cache invalidation to project-try-vc
+
+	With other functions only using the cached values or populating
+	when necessary.
+
+	* lisp/progmodes/project.el: Update commentary (bug#81317).
+	(project--get-cached): Add explicit parameter TIMEOUT, use it.
+	(project-try-vc): Build its value from 'non-essential' and the
+	values of two timeout variables.  And pass them on.
+	(project-try-vc--search, project--vc-merge-submodules-p)
+	(project--value-in-dir): Also add TIMEOUT.
+	(project-files, vc-git-project-list-files)
+	(vc-hg-project-list-files, project-ignores, project-buffers)
+	(project-name, project-uniquify-dirname-transform): Remove the
+	binding of 'non-essential' as now redundant for cache duration.
+
+	* test/lisp/progmodes/project-tests.el (project-try-vc-uses-cache)
+	(project-try-vc-invalidates-cache)
+	(project-name-<vc>-reuses-cache)
+	(project-name-<vc>-obeys-cache-invalidation): New tests.
+	(project-vc-supports-project-in-different-dir)
+	(project-vc-ignores-in-external-directory): Use
+	'project--clear-cache' as the more reliable option.
+
+2026-07-02  Dmitry Gutov  <[email protected]>
+
+	Fix project--clear-cache and project--value-in-dir in special case
+
+	* lisp/progmodes/project.el (project--clear-cache): Make sure to
+	clear the 'project-vc-dir-locals' keys too.
+	(project--value-in-dir): Predicate the cache lookup (and most
+	importantly, write) on whether enable-dir-local-variables is
+	non-nil.  So its uses inside recursive 'project-try-vc--search'
+	call do not not bust the value (bug#81317).
+
+2026-07-01  Michael Albinus  <[email protected]>
+
+	* admin/notes/jargon: Add TTTT.
+
+2026-07-01  Michael Albinus  <[email protected]>
+
+	Fix error handling in Tramp delete-{file,directory}
+
+	* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
+	* lisp/net/tramp.el (tramp-skeleton-delete-directory): Fail if
+	DIRECTORY is missing.
+	(tramp-skeleton-delete-file): Don't fail if DIRECTORY is missing.
+
+	* test/lisp/net/tramp-tests.el (tramp-test14-delete-directory):
+	Adapt test.
+
+2026-07-01  Michael Albinus  <[email protected]>
+
+	Change Tramp version integrated in Emacs 31.1 (don't merge)
+
+	* doc/misc/trampver.texi:
+	* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
+
+	* lisp/net/trampver.el (customize-package-emacs-version-alist):
+	Change Tramp version integrated in Emacs 31.1.
+
+2026-07-01  Yuan Fu  <[email protected]>
+
+	Correct cursor range in Ftreesit_query_capture (bug#81297)
+
+	* src/treesit.c (Ftreesit_query_capture): Always explicitly set
+	cursor's range.
+
+2026-06-30  Sean Whitton  <[email protected]>
+
+	vc-dir-update: Remove assertion invalid on this branch
+
+	* lisp/vc/vc-dir.el (vc-dir-update): Remove assertion invalid on
+	the emacs-31 branch.  Do not merge to master.
+
+2026-06-30  Martin Rudalics  <[email protected]>
+
+	Don't use window manager activation when a child frame has focus (Bug#81326)
+
+	* src/xterm.c (x_get_toplevel_parent): Remove.
+	(x_focus_frame): Never call x_ewmh_activate_frame when a child
+	frame has focus (Bug#81326).
+
+2026-06-29  Philip Kaludercic  <[email protected]>
+
+	Compile User Lisp files after adjusting 'load-path'
+
+	* lisp/startup.el (prepare-user-lisp): Collect Lisp files in a
+	list and process these after traversing the file system.  This
+	is necessary to prevent the compiler from failing to
+	byte-compile files that depend on other files in the User Lisp
+	directory because their neighboring dependencies cannot be
+	located.  (Bug#81304)
+
+2026-06-29  Sean Whitton  <[email protected]>
+
+	Fix strange logic in vc-git-incoming-revision
+
+	I think that I didn't fully update this function in this change:
+
+	    commit e915646b8944d8b611ab7094d9eb305ed162ff27
+	    Author: Sean Whitton <[email protected]>
+	    Date:   Wed Feb 18 11:35:16 2026 +0000
+
+	        vc-git-pull, vc-git-incoming-revision: Use push remotes
+
+	        * lisp/vc/vc-git.el (vc-git-pull, vc-git-incoming-revision): Use
+	        configured push remotes.
+	        * etc/NEWS: Announce change to vc-git-pull.
+
+	* lisp/vc/vc-git.el (vc-git-incoming-revision): Don't duplicate
+	looking for a branch remote after just having called
+	vc-git--branch-remotes (bug#81328).
+
+2026-06-28  Eli Zaretskii  <[email protected]>
+
+	Fix 'format-mode-line' when faces are in format string
+
+	* src/xdisp.c (store_mode_line_string): Don't assume that PROPS
+	can only specify the face for LISP_STRING; if PROPS don't specify
+	a face, fall back on the 'face' property of LISP_STRING.
+	(Bug#81316)
+
+	* test/src/xdisp-tests.el (xdisp-test-format-mode-line): Add a
+	test for this issue.
+
+2026-06-28  Martin Rudalics  <[email protected]>
+
+	Restore frame's fullheight/fullwidth after exiting from fullboth (Bug#81165)
+
+	* src/xterm.c (do_ewmh_fullscreen): Try to restore
+	fullheight/fullwidth states after exiting from fullboth state
+	(Bug#81165).
+
+2026-06-27  Zhengyi Fu  <[email protected]>  (tiny change)
+
+	Fix interactive mode spec of `xwidget-webkit-end-edit-textarea'
+
+	* lisp/xwidget.el (xwidget-webkit-end-edit-textarea): Remove
+	`xwidget-webkit-mode' condition from the interactive mode spec.
+	This command is intended to be invoked in the 'textarea' buffer,
+	which is created by `xwidget-webkit-begin-edit-textarea', and
+	that buffer is in Fundamental mode.  (Bug#81306)
+
+2026-06-27  Andrea Alberti  <[email protected]>
+
+	Fix pixels-vs-columns confusion in margin face fill (bug#81109)
+
+	* src/xdisp.c (extend_face_to_end_of_line): WINDOW_LEFT/RIGHT_MARGIN_WIDTH
+	is a pixel value (columns times the frame column width).  Compare the
+	margin glyph count against WINDOW_LEFT/RIGHT_MARGIN_COLS instead, and use
+	the *_WIDTH value directly for remaining_pixels rather than multiplying it
+	by FRAME_COLUMN_WIDTH a second time.  The old code worked on text
+	terminals, where the column width is one pixel, but computed wrong widths
+	on GUI frames.
+
+2026-06-27  Richard Lawrence  <[email protected]>
+
+	Fix ISO date insertion in diary
+
+	See Bug#81263.  Diary's 'iso' dates should use ISO8601 YYYY-MM-DD
+	format.  This change fixes the format used by `diary-insert-entry'.
+
+	* lisp/calendar/calendar.el (diary-iso-date-insertion-form): Use
+	YYYY-MM-DD format (not YYYY/M/D) when inserting ISO dates.
+	* test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso:
+	* test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso:
+	Update tests.
+
+2026-06-27  Eli Zaretskii  <[email protected]>
+
+	Minor fix for 'format-mode-line'
+
+	* src/xdisp.c (Fformat_mode_line): Treat 'default' exactly like
+	nil.  (Bug#81307)
+
+2026-06-26  Juri Linkov  <[email protected]>
+
+	Improve the previous fix in toggle-window-dedicated
+
+	* lisp/window.el (toggle-window-dedicated):
+	Don't select the window by mouse click in another window.
+	This keeps the currently selected window like for
+	toggling other indicators on the mode-line (bug#81178).
+
+2026-06-25  Sean Whitton  <[email protected]>
+
+	VC-Dir: Fix removing empty directory entries
+
+	* lisp/vc/vc-dir.el (vc-dir-refresh-files): Do another pass to
+	remove directory entries with no children.  Do not merge to
+	master.
+
+2026-06-25  Juri Linkov  <[email protected]>
+
+	Fix interactive spec of some commands bound on the mode line
+
+	Use interactive spec '@' for two commands bound on the mode line
+	that should select the window associated with the mouse click
+	to avoid toggling the status of the wrong window or buffer.
+
+	* lisp/progmodes/elisp-mode.el (elisp-enable-lexical-binding):
+	Add interactive spec '@' (bug#81178).
+
+	* lisp/window.el (toggle-window-dedicated): Add interactive
+	spec '@' and replace 'current-buffer' with 'window-buffer'
+	to not assume that it operates on the current buffer.
+
+2026-06-25  Sean Whitton  <[email protected]>
+
+	vc-dir--count-outgoing: Bind enable-local-variables
+
+	* lisp/vc/vc-dir.el (vc-dir--count-outgoing): Bind
+	enable-local-variables (bug#81233).  Do not merge to master.
+
+2026-06-25  Michael Albinus  <[email protected]>
+
+	Support tramp-rpc in filenotify-tests.el
+
+	* test/lisp/filenotify-tests.el (top, file-notify--test-monitor)
+	(file-notify-test03-events, file-notify-test12-unmount):
+	Handle also tramp-rpc.
+
+2026-06-25  Alan Mackenzie  <[email protected]>
+
+	CC Mode: Set parse-sexp-lookup-properties for every mode
+
+	This fixes a bug reported and diagnosed by Campbell Barton
+	<[email protected]> on the emacs-devel list.
+
+	* lisp/progmodes/cc-mode.el (c-basic-common-init): Set
+	parse-sexp-lookup-properties or (for XEmacs) lookup-syntax-properties
+	for every CC Mode mode.
+
+2026-06-25  Dirk-Jan C. Binnema  <[email protected]>  (tiny change)
+
+	Disable DMABUF and Compositing for xwidget
+
+	Webkit does not support DMABUF or accelerated compositing in the
+	offscreen widgets Emacs uses for xwidget.  Disable both for non-pgtk
+	GTK3 builds (Bug#80834).
+	* src/xterm.c (init_xterm): Set WEBKIT_DISABLE_DMABUF_RENDERER and
+	WEBKIT_DISABLE_COMPOSITING_MODE when built with xwidgets and not pgtk.
+
+2026-06-25  Eli Zaretskii  <[email protected]>
+
+	Fix failure code in 'run-hook-query-error-with-timeout'
+
+	* lisp/subr.el (run-hook-query-error-with-timeout): Fix incorrect
+	call to 'error'.  (Bug#81292)
+
+2026-06-25  Zhengyi Fu  <[email protected]>  (tiny change)
+
+	Use default-value in project--value-in-dir
+
+	When in a VC project whose dir-locals file specifies `project-vc-name',
+	the function `project--value-in-dir' previously used `symbol-value' to
+	retrieve the variable value, causing `project-name' to return the same
+	name for all VC projects without an explicit `project-vc-name'.  Use
+	`default-value' instead to correctly fall back to the default value.
+
+	* lisp/progmodes/project.el (project--value-in-dir): Replace `symbol-value'
+	with `default-value' (bug#81293).
+
+2026-06-24  Dmitry Gutov  <[email protected]>
+
+	etags-regen--maybe-generate: No error when no project found
+
+	* lisp/progmodes/etags-regen.el (etags-regen--maybe-generate):
+	When no project found, abort cleanly with a message.
+
+2026-06-24  Stephen Berman  <[email protected]>
+
+	Mark ChangeLog entry as tiny change
+
+	* ChangeLog.5: Mark an entry as a tiny change, because the
+	"Copyright-paperwork-exempt: yes" line was mistakenly omitted from
+	the commit log entry.
+
+2026-06-24  Sean Whitton  <[email protected]>
+
+	VC revert: When un-adding, clear vc-backend property
+
+	* lisp/vc/vc.el (vc-revert-file, vc-revert-files): When
+	un-adding, clear vc-backend property (bug#81291).
+
 2026-06-24  Martin Rudalics  <[email protected]>
 
 	Document new option 'delete-frame-choose-selected' (Bug#80397)
@@ -66498,7 +67207,7 @@
 
 This file records repository revisions from
 commit 1cda0967b4d3c815fc610794ad6a8fc2b913a3c5 (exclusive) to
-commit 884d7a198c9eff1cf0a9cc6e2a021f7d82cb57c6 (inclusive).
+commit 1bd56ff93273f754e72e9a50cbefae3b218d2260 (inclusive).
 See ChangeLog.4 for earlier changes.
 
 ;; Local Variables:
diff --git a/admin/notes/documentation b/admin/notes/documentation
index f6fa321b217..cb69269693c 100644
--- a/admin/notes/documentation
+++ b/admin/notes/documentation
@@ -145,6 +145,10 @@ This results in clickable Lisp symbols when the NEWS file is visited via
 follow this rule, like 'TAB' or ':type'.  Exception: the symbols t and
 nil are not quoted.
 
+Key names are embedded in angle brackets like '<LEFT>', except keys that
+have a special shorthand syntax: 'NUL', 'RET', 'TAB', 'LFD', 'ESC',
+'SPC' and 'DEL'.
+
 Arguments of a function are written in capital letters LIKE-THIS, and they
 are not quoted.
 
diff --git a/etc/AUTHORS b/etc/AUTHORS
index 150f5ee6527..fce94721cd4 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -17,7 +17,7 @@ Aaron Jensen: changed nsterm.m frameset.el ruby-bracketed-args-indent.rb
 Aaron Larson: co-wrote bibtex.el
 
 Aaron L. Zeng: changed savehist.el emacs-module-tests.el emacs-module.c
-  eval.c lisp.h vc-hg.el
+  eval.c goto-addr.el lisp.h vc-hg.el
 
 Aaron S. Hawley: wrote lisp-tests.el undo-tests.el
 and changed simple.el files.texi isearch.el morse.el sgml-mode.el
@@ -258,6 +258,8 @@ Alfred M. Szmidt: changed rmail.el vc-svn.el html2text.el openbsd.h
 
 Alfredo Finelli: changed TUTORIAL.it
 
+Al Haji-Ali: changed latexenc.el
+
 Ali Bahrami: changed configure configure.ac sol2-10.h
 
 Alin C. Soare: changed lisp-mode.el hexl.el
@@ -311,7 +313,8 @@ and changed nsterm.m nsfns.m nsmenu.m nsterm.h font-lock.el nsimage.m
 
 Anders Waldenborg: changed emacsclient.c
 
-Andrea Alberti: changed xdisp.c dispextern.h faces.el xfaces.c
+Andrea Alberti: changed xdisp.c xfaces.c dispextern.h display.texi
+  faces.el nsterm.m
 
 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
@@ -502,9 +505,9 @@ Antonin Houska: changed newcomment.el
 Antonio Ruiz: changed handwrite.el
 
 Arash Esbati: changed reftex-vars.el efaq-w32.texi reftex-cite.el
-  reftex-tests.el reftex.texi reftex-parse.el reftex.el gnus.texi
-  ispell.el reftex-auc.el reftex-dcr.el reftex-ref.el tex-mode.el
-  align.el eglot.el ffap.el latexenc.el maintaining.texi nnmaildir.el
+  reftex-tests.el reftex.texi reftex-parse.el reftex.el tex-mode.el
+  gnus.texi ispell.el reftex-auc.el reftex-dcr.el reftex-ref.el align.el
+  eglot.el ffap.el latexenc.el maintaining.texi nnmaildir.el
   reftex-global.el reftex-toc.el
 
 Arik Mitschang: changed smime.el
@@ -583,9 +586,9 @@ Augustin Chéneau: changed c-ts-mode.el treesit.el
 Augusto Stoffel: co-wrote ansi-osc.el
 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 17 other files
+  dockerfile-ts-mode.el emacsbug.el files.el font-lock.el glasses.el
+  gnutls.el man.el message.el message.texi misc.texi modes.texi
+  and 19 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
@@ -735,6 +738,7 @@ Billy Lei: wrote burmese.el
 Billy Zheng: changed README.md eglot.el
 
 Binbin Ye: changed json-ts-mode-tests.el json-ts-mode.el
+  typescript-ts-mode.el
 
 Bjarte Johansen: wrote ob-sed.el
 and changed use-package-bind-key.el
@@ -979,7 +983,7 @@ and co-wrote longlines.el tango-dark-theme.el tango-theme.el
 and changed simple.el display.texi xdisp.c files.el frames.texi
   cus-edit.el files.texi custom.el subr.el text.texi faces.el keyboard.c
   startup.el package.el misc.texi emacs.texi modes.texi mouse.el
-  custom.texi image.c window.el and 920 other files
+  custom.texi image.c window.el and 903 other files
 
 Chris Chase: co-wrote idlw-shell.el idlwave.el
 
@@ -1301,10 +1305,10 @@ Daniel McClanahan: changed lisp-mode.el
 Daniel M Coffman: changed arc-mode.el
 
 Daniel Mendler: co-wrote compat.el
-and changed minibuffer.el simple.el browse-url.el ibuffer.el crm.el
-  eww.el minibuf.texi project.el buffer-tests.el buffer.c buffer.h
+and changed minibuffer.el simple.el browse-url.el eldoc.el ibuffer.el
+  crm.el eww.el minibuf.texi project.el buffer-tests.el buffer.c buffer.h
   dispextern.h display.texi faces.el frame.c frame.h package.el
-  picture.el subr-tests.el subr.el window.c and 30 other files
+  picture.el subr-tests.el subr.el and 30 other files
 
 Daniel M German: co-wrote org-protocol.el
 
@@ -1441,7 +1445,7 @@ and changed cedet/semantic.el db.el insert.el semantic/complete.el c.by
   c.el db-el.el db-file.el db-find.el ede-grammar.el eieio-opt.el
   eieio.el eieio.texi gnus.texi registry.el srecode/compile.el
   wisent/python.el analyze.el bovine/el.el bovine/grammar.el
-  decorate/mode.el and 88 other files
+  decorate/mode.el and 87 other files
 
 Davide Pola: changed comp-cstr.el comp-run.el
 
@@ -1673,7 +1677,7 @@ Dionisio E Alonso: changed eglot.el
 Dirk Herrmann: co-wrote bibtex.el
 
 Dirk-Jan C. Binnema: changed xwidget.c configure.ac org-agenda.el
-  process.c process.h
+  process.c process.h xterm.c
 
 Dirk Ullrich: changed ispell.el
 
@@ -1698,8 +1702,8 @@ Dmitry Gutov: wrote elisp-mode-tests.el etags-regen.el jit-lock-tests.el
 and changed project.el xref.el ruby-mode.el vc-git.el ruby-ts-mode.el
   vc.el elisp-mode.el js.el etags.el ruby-mode-tests.el vc-hg.el
   package.el minibuffer.el maintaining.texi simple.el symref/grep.el
-  progmodes/python.el ruby-ts-mode-tests.el treesit.el dired-aux.el
-  project-tests.el and 189 other files
+  progmodes/python.el project-tests.el ruby-ts-mode-tests.el treesit.el
+  dired-aux.el and 190 other files
 
 Dmitry Kurochkin: changed isearch.el
 
@@ -1814,7 +1818,7 @@ 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 dispnew.c
   w32term.c frames.texi files.texi w32proc.c xfaces.c process.c window.c
-  dispextern.h and 1453 other files
+  dispextern.h and 1441 other files
 
 Eliza Velasquez: changed server.el simple.el
 
@@ -1917,7 +1921,7 @@ and changed c.srt ede.texi info.el rmail.el speedbspec.el  cedet.el
   ede-autoconf.srt ede-make.srt eieio.texi gud.el sb-dir-minus.xpm
   sb-dir-plus.xpm sb-dir.xpm sb-mail.xpm sb-pg-minus.xpm sb-pg-plus.xpm
   sb-pg.xpm sb-tag-gt.xpm sb-tag-minus.xpm sb-tag-plus.xpm
-  and 35 other files
+  and 34 other files
 
 Eric Schulte: wrote ob-awk.el ob-calc.el ob-comint.el ob-css.el ob-dot.el
   ob-emacs-lisp.el ob-eval.el ob-forth.el ob-gnuplot.el ob-haskell.el
@@ -1975,7 +1979,7 @@ and changed completion-preview-tests.el programs.texi eglot.el
   elisp-mode.el emacs.texi emoji.el eww.el help-fns.el info.el
   minibuffer-tests.el minibuffer.el text-mode.el window.c xdisp.c xref.el
   bookmark.el dictionary.el display.texi easy-mmode.el eldoc.el
-  elec-pair.el and 21 other files
+  elec-pair.el and 24 other files
 
 Espen Skoglund: wrote pascal.el
 
@@ -2316,7 +2320,7 @@ and changed configure.ac Makefile.in src/Makefile.in calendar.el
   lisp/Makefile.in diary-lib.el files.el make-dist rmail.el
   progmodes/f90.el bytecomp.el admin.el misc/Makefile.in simple.el
   authors.el startup.el emacs.texi lib-src/Makefile.in display.texi
-  ack.texi subr.el and 1771 other files
+  ack.texi subr.el and 1753 other files
 
 Glynn Clements: wrote gamegrid.el snake.el tetris.el
 
@@ -2399,6 +2403,8 @@ Guy Geens: changed gnus-score.el
 
 Gwern Branwen: changed browse-url.el
 
+Haiyang Miao: changed pgtkterm.c
+
 Håkan Granath: changed dired.el
 
 Håkon Malmedal: changed calendar.el holidays.el
@@ -2706,7 +2712,7 @@ and changed org-lparse.el org.el org.texi ox.el icomplete.el
   etags.el htmlfontify.el ido.el indian.el iswitchb.el org-bbdb.el
   org-compat.el and 5 other files
 
-James Cherti: changed sh-script.el eldoc.el outline.el
+James Cherti: changed sh-script.el eldoc.el elisp-mode.el outline.el
   progmodes/python.el yaml-ts-mode.el
 
 James Clark: wrote nxml-enc.el nxml-maint.el nxml-mode.el nxml-ns.el
@@ -2853,10 +2859,10 @@ Jay McCarthy: changed org-colview.el
 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 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
+and changed idlw-rinfo.el comint.el configure.ac 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 and 10 other files
 
 Jean Abou Samra: changed scheme.el
 
@@ -3123,6 +3129,8 @@ Johan Claesson: changed cl.texi filecache.el files-x.el help-fns.el
 
 Johan Euphrosine: changed ibuf-ext.el
 
+Johan Myréen: changed pgtkterm.c
+
 Johannes Weiner: changed browse-url.el keyboard.c configure.ac
   lisp-mode.el lisp.h pp.el sound.c w32term.c xfaces.c xterm.c
 
@@ -3345,7 +3353,7 @@ and co-wrote help-tests.el keymap-tests.el
 and changed subr.el desktop.el w32fns.c bs.el faces.el simple.el
   emacsclient.c files.el server.el help-fns.el xdisp.c org.el w32term.c
   w32.c buffer.c keyboard.c ido.el image.c window.c eval.c allout.el
-  and 1206 other files
+  and 1191 other files
 
 Juan Pechiar: changed ob-octave.el
 
@@ -3395,10 +3403,11 @@ and changed callproc.c eglot.el tramp-gvfs.el tramp-sh.el comint.el
 Juri Linkov: wrote compose.el emoji.el files-x.el misearch.el
   repeat-tests.el replace-tests.el tab-bar-tests.el tab-bar.el
   tab-line.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 528 other files
+and changed isearch.el simple.el replace.el info.el dired.el
+  minibuffer.el treesit.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 527 other files
 
 Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h
   w32console.c w32heap.c w32inevt.c w32term.h
@@ -3428,7 +3437,7 @@ and co-wrote longlines.el tramp-sh.el tramp.el
 and changed message.el gnus-agent.el gnus-sum.el files.el nnmail.el
   tramp.texi nntp.el gnus.el simple.el ange-ftp.el dired.el paragraphs.el
   bindings.el files.texi gnus-art.el gnus-group.el man.el INSTALL
-  Makefile.in crisp.el fileio.c and 45 other files
+  Makefile.in crisp.el fileio.c and 44 other files
 
 Kailash C. Chowksey: changed HELLO ind-util.el kannada.el knd-util.el
   lisp/Makefile.in loadup.el
@@ -3560,7 +3569,7 @@ and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el quail.el
 and changed coding.c mule-cmds.el mule.el fontset.c charset.c xdisp.c
   font.c fontset.el xterm.c fileio.c mule-conf.el ftfont.c characters.el
   fns.c mule-diag.el coding.h charset.h ccl.c xfaces.c editfns.c
-  composite.c and 385 other files
+  composite.c and 370 other files
 
 Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el
 
@@ -3661,6 +3670,8 @@ Kirill A. Korinskiy: changed fortune.el
 
 Kirk Kelsey: changed make-mode.el vc-hg.el
 
+Kisaragi Hiu: changed js.el typescript-ts-mode.el
+
 Kiso Katsuyuki: changed tab-line.el
 
 Kjartan Óli Ágústsson: changed doc-view.el
@@ -3787,7 +3798,7 @@ and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el
 and changed subr.el simple.el gnus.texi files.el display.texi process.c
   help-fns.el text.texi image.c dired.el help.el image.el package.el
   edebug.el shortdoc.el dired-aux.el gnutls.c minibuffer.el subr-x.el
-  auth-source.el smtpmail.el and 1051 other files
+  auth-source.el smtpmail.el and 1050 other files
 
 Lars Rasmusson: changed ebrowse.c
 
@@ -3923,7 +3934,7 @@ Luc Teirlinck: wrote help-at-pt.el
 and changed files.el autorevert.el cus-edit.el subr.el simple.el
   frames.texi startup.el display.texi files.texi dired.el comint.el
   modes.texi custom.texi emacs.texi fns.c frame.el ielm.el minibuf.texi
-  variables.texi buffers.texi commands.texi and 211 other files
+  variables.texi buffers.texi commands.texi and 210 other files
 
 Ludovic Courtès: wrote nnregistry.el
 and changed configure.ac gnus.texi loadup.el
@@ -4067,6 +4078,8 @@ Mark Diekhans: changed files.el ispell.el progmodes/compile.el subr.el
 
 Mark E. Shoulson: changed org.el org-entities.el
 
+Mark Hindley: changed browse-url.el
+
 Mark Hood: changed gnus-uu.el
 
 Mark H. Weaver: changed comint.el
@@ -4163,9 +4176,9 @@ Martin Neitzel: changed supercite.el
 Martin Pohlack: changed iimage.el pc-select.el
 
 Martin Rudalics: co-wrote window-x.el
-and changed window.el window.c windows.texi frame.c xdisp.c frames.texi
+and changed window.el window.c windows.texi frame.c frames.texi xdisp.c
   xterm.c w32fns.c frame.el w32term.c xfns.c frame.h display.texi
-  cus-start.el buffer.c help.el keyboard.c mouse.el window.h dispnew.c
+  cus-start.el help.el buffer.c keyboard.c mouse.el window.h dispnew.c
   gtkutil.c and 220 other files
 
 Martin Stjernholm: wrote cc-bytecomp.el
@@ -4339,7 +4352,8 @@ Michael Albinus: wrote autorevert-tests.el dbus-tests.el dbus.el
   tramp-gvfs.el tramp-integration.el tramp-message.el tramp-rclone.el
   tramp-smb.el tramp-sshfs.el tramp-sudoedit.el tramp-tests.el
   url-tramp-tests.el url-tramp.el zeroconf.el
-and co-wrote tramp-cache.el tramp-sh.el tramp.el vc-tests.el
+and co-wrote tramp-cache.el tramp-sh.el tramp.el vc-tests-helpers.el
+  vc-tests.el
 and changed tramp.texi tramp-adb.el trampver.el trampver.texi
   gitlab-ci.yml files.el dbusbind.c files.texi ange-ftp.el
   Dockerfile.emba dbus.texi file-notify-tests.el autorevert.el
@@ -4425,7 +4439,7 @@ Michael Olson: changed erc.el erc-backend.el Makefile erc-track.el
   erc-log.el erc-stamp.el erc-autoaway.el erc-dcc.el erc-goodies.el
   erc-list.el erc-compat.el erc-identd.el erc.texi erc-bbdb.el
   erc-match.el erc-notify.el erc-ibuffer.el erc-services.el remember.el
-  erc-button.el erc-nicklist.el and 54 other files
+  erc-button.el erc-nicklist.el and 53 other files
 
 Michael Orlitzky: changed tex-mode.el
 
@@ -4866,6 +4880,8 @@ and changed dired-aux.el outline.el checkdoc.el files.el subr.el buffer.c
 
 Oleksandr Gavenko: changed generic-x.el progmodes/grep.el
 
+Oleksandr Makhmudov: changed eglot.el
+
 Olin Shivers: wrote cmuscheme.el inf-lisp.el
 and co-wrote comint.el shell.el
 
@@ -5085,12 +5101,12 @@ Peter Münster: changed image-dired.el gnus-delay.el gnus-demon.el
 
 Peter O'Gorman: changed configure.ac frame.h hpux10-20.h termhooks.h
 
-Peter Oliver: changed emacsclient.desktop emacs.metainfo.xml
-  emacsclient-mail.desktop Makefile.in emacs-mail.desktop
-  treesit-admin.el configure.ac dired-tests.el efaq.texi misc.texi
-  server.el term.c AndroidManifest.xml.in Dockerfile.emba admin.el
-  compat-template.html ediff-diff.el emacs.c emacs.desktop emacsclient.1
-  perl-mode.el and 6 other files
+Peter Oliver: changed emacsclient.desktop emacs.metainfo.xml Makefile.in
+  emacsclient-mail.desktop emacs-mail.desktop treesit-admin.el
+  configure.ac dired-tests.el efaq.texi misc.texi server.el term.c
+  AndroidManifest.xml.in Dockerfile.emba admin.el compat-template.html
+  ediff-diff.el emacs.c emacs.desktop emacsclient.1 perl-mode.el
+  and 6 other files
 
 Peter Povinec: changed term.el
 
@@ -5131,7 +5147,7 @@ Petr Salinger: changed configure.ac gnu-kfreebsd.h
 
 Petteri Hintsanen: changed sequences.texi tab-bar.el Makefile.in
   bindat.el emacs/Makefile.in lispintro/Makefile.in lispref/Makefile.in
-  misc/Makefile.in
+  misc/Makefile.in perl-mode.el
 
 Phil Hagelberg: wrote ert-x-tests.el
 and changed package.el pcmpl-unix.el eglot.el subr.el
@@ -5148,7 +5164,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 startup.el message.el subr.el custom.texi eglot.el
+  startup.el package-activate.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
@@ -5237,10 +5253,10 @@ Piotr Trojanek: changed gnutls.c process.c
 Piotr Zieliński: wrote org-mouse.el
 
 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 119 other files
+and changed pdumper.c comp.c lisp.h xdisp.c alloc.c xterm.c eval.c fns.c
+  configure.ac emacs.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 123 other files
 
 Platon Pronko: changed tramp.el
 
@@ -5270,10 +5286,9 @@ Protesilaos Stavrou: wrote modus-operandi-deuteranopia-theme.el
   modus-vivendi-deuteranopia-theme.el modus-vivendi-theme.el
   modus-vivendi-tinted-theme.el modus-vivendi-tritanopia-theme.el
 and changed modus-themes.org eww.el vc-dir.el TUTORIAL.el_GR log-view.el
-  modus-themes.texi time.el vc-git.el appt.el apropos.el custom.el
-  diff-mode.el flymake.el ibuffer.el language/greek.el log-edit.el
-  minibuffer.el package.el perl-mode.el shortdoc.el shr.el
-  and 6 other files
+  time.el vc-git.el appt.el apropos.el custom.el diff-mode.el flymake.el
+  ibuffer.el language/greek.el log-edit.el minibuffer.el package.el
+  perl-mode.el shortdoc.el shr.el vc-cvs.el and 5 other files
 
 Przemsyław Kryger: wrote package-vc-tests.el
 
@@ -5443,9 +5458,9 @@ and changed calendar.el diary-icalendar-tests.el icalendar-recur-tests.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
+  import-bug-11473.diary-iso import-bug-22092.diary-iso
+  import-bug-33277.diary-iso import-legacy-function.ics
+  and 22 other files
 
 Richard Levitte: changed vc-mtn.el
 
@@ -5690,6 +5705,8 @@ and changed progmodes/compile.el cl-indent.el simple.el vc-cvs.el vc.el
 Samuel Bronson: changed custom.el emacsclient.c keyboard.c
   progmodes/grep.el semantic/format.el unexmacosx.c
 
+Samuele Favazza: changed tramp-container.el
+
 Samuel Freilich: changed simple.el
 
 Samuel Loury: changed org.el
@@ -5765,11 +5782,11 @@ Sean Sieger: changed emacs-lisp-intro.texi
 
 Sean Whitton: wrote em-elecslash.el em-extpipe-tests.el em-extpipe.el
   vc-test-misc.el
-and co-wrote vc-tests.el
+and co-wrote vc-tests-helpers.el 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 333 other files
+  cond-star.el dired-aux.el keyboard.c vc/vc-bzr.el and 334 other files
 
 Sebastian Fieber: changed gnus-art.el mm-decode.el mm-view.el
 
@@ -5964,7 +5981,7 @@ Sławomir Nowaczyk: changed emacs.py progmodes/python.el TUTORIAL.pl
 
 Spencer Baugh: wrote map-ynp-tests.el uniquify-tests.el
   which-func-tests.el
-and changed minibuffer.el project.el minibuffer-tests.el simple.el
+and changed minibuffer.el minibuffer-tests.el project.el simple.el
   flymake.el process.c progmodes/grep.el startup.el vc-hg.el crm.el
   mini.texi uniquify.el comint.el data-tests.el dired-aux.el
   easy-mmode.el eglot.el elisp-mode.el ffap.el flymake.texi keymap.c
@@ -5998,7 +6015,7 @@ and co-wrote help-tests.el keymap-tests.el
 and changed subr.el package.el image-dired.el checkdoc.el efaq.texi
   cperl-mode.el help.el simple.el progmodes/python.el dired.el files.el
   bookmark.el browse-url.el gnus.texi keymap.c dired-x.el erc.el image.c
-  cl-macs.el message.el subr-tests.el and 1948 other files
+  cl-macs.el message.el subr-tests.el and 1947 other files
 
 Stefan Merten: co-wrote rst.el
 
@@ -6015,7 +6032,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 1745 other files
+  easy-mmode.el and 1744 other files
 
 Stefano Facchini: changed gtkutil.c
 
@@ -6042,10 +6059,10 @@ Steinar Bang: changed gnus-setup.el imap.el
 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 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
+and changed frame.el markdown-ts-mode.el frames.texi nsfns.m tab-bar.el
+  bookmark.el frame.c nsterm.m subr.el project.el display.texi recentf.el
+  savehist.el vtable.el w32fns.c ibuf-macs.el os.texi saveplace.el
+  shell.el subr-x.el treesit.el and 34 other files
 
 Stephane Zermatten: changed term-tests.el term.el ansi-osc.el
 
@@ -6056,11 +6073,11 @@ Stephen A. Wood: changed fortran.el
 
 Stephen Berman: wrote todo-mode-tests.el
 and co-wrote todo-mode.el visual-wrap.el
-and changed dired.el wid-edit.el wdired.el dired-tests.el files.el
+and changed dired.el wid-edit.el dired-tests.el wdired.el files.el
   todo-mode.texi dabbrev-tests.el wdired-tests.el diary-lib.el
   menu-bar.el minibuffer.el dabbrev.el dired-aux.el doc-view.el info.el
   outline.el simple.el todo-test-1.todo widget.texi INSTALL_BEGIN
-  allout.el and 90 other files
+  allout.el and 89 other files
 
 Stephen C. Gilardi: changed configure.ac
 
@@ -6252,7 +6269,7 @@ and changed spam.el gnus.el nnimap.el gnus.texi gnutls.c gnus-sum.el
   auth.texi cfengine.el gnus-sync.el gnus-util.el gnus-start.el netrc.el
   gnutls.h message.el spam-stat.el .gitlab-ci.yml encrypt.el
   mail-source.el nnir.el nnmail.el auth-source-tests.el
-  and 125 other files
+  and 124 other files
 
 Terje Rosten: changed xfns.c version.el xterm.c xterm.h
 
@@ -6865,8 +6882,9 @@ Xi Lu: changed etags.c htmlfontify.el ruby-mode.el CTAGS.good_crlf
   CTAGS.good_update Makefile TUTORIAL.cn crlf eww.el filesets.el
   man-tests.el man.el shortdoc.el tramp-sh.el
 
-Xiyue Deng: changed emacs-lisp-intro.texi strings.texi smtpmail.el
-  functions.texi package.el package.texi symbols.texi
+Xiyue Deng: changed emacs-lisp-intro.texi strings.texi package.el
+  smtpmail.el functions.texi package-activate.el package-tests.el
+  package.texi symbols.texi
 
 Xuan Wang: changed warnings.el
 
@@ -7008,7 +7026,7 @@ Zhang Weize: wrote ob-plantuml.el
 Zhehao Lin: changed xfaces.c
 
 Zhengyi Fu: changed bookmark.el executable.el progmodes/grep.el
-  replace.el
+  project.el replace.el xwidget.el
 
 Zhiwei Chen: changed hideif.el
 
@@ -7029,8 +7047,8 @@ and changed fontset.el HELLO language/indian.el quail/indian.el loadup.el
   BidiBrackets.txt BidiMirroring.txt Blocks.txt IVD_Sequences.txt
   IdnaMappingTable.txt NormalizationTest.txt PropertyValueAliases.txt
   ScriptExtensions.txt Scripts.txt SpecialCasing.txt UnicodeData.txt
-  characters.el confusables.txt copyright.html emoji-data.txt
-  emoji-sequences.txt and 8 other files
+  c-ts-mode.el characters.el confusables.txt copyright.html
+  emoji-data.txt and 10 other files
 
 উৎসব রায়: changed quail/indian.el
 
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index 09166fe1d5b..fccfa4b7438 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -191,6 +191,7 @@ and `goto-address-fontify-p'."
 	    (overlay-put this-overlay
 			 'keymap goto-address-highlight-keymap)
 	    (overlay-put this-overlay 'button this-overlay)
+	    (overlay-put this-overlay 'action #'goto-address--button-action)
 	    (overlay-put this-overlay 'category 'goto-address)
 	    (overlay-put this-overlay 'goto-address t))))
       (goto-char (or start (point-min)))
@@ -250,6 +251,12 @@ using `browse-url-secondary-browser-function' instead."
             (browse-url-button-open-url url)
           (error "No e-mail address or URL found"))))))
 
+(defun goto-address--button-action (button)
+  "Open the URL represented by BUTTON."
+  (save-excursion
+    (goto-char (overlay-start button))
+    (goto-address-at-point)))
+
 (defun goto-address-find-address-at-point ()
   "Find e-mail address around or before point.
 Then search backwards to beginning of line for the start of an e-mail
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index be98e03d342..c293789cee3 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -2618,11 +2618,12 @@ Calls REPORT-FN directly."
             (generate-new-buffer " *checkdoc-temp*")))
       (unwind-protect
           (save-excursion
-            ;; checkdoc-current-buffer can error if there are
-            ;; unbalanced parens, for example, but this shouldn't
-            ;; disable the backend (bug#29176).
-            (ignore-errors
-              (checkdoc-current-buffer t)))
+            (without-restriction
+              ;; checkdoc-current-buffer can error if there are
+              ;; unbalanced parens, for example, but this shouldn't
+              ;; disable the backend (bug#29176).
+              (ignore-errors
+                (checkdoc-current-buffer t))))
         (kill-buffer checkdoc-diagnostic-buffer)))
     (funcall report-fn
              (cl-loop for (text start end _unfixable) in
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index 61988d85027..26dfc9e97c8 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -1021,7 +1021,7 @@ Returns (parse-state) if line starts inside a string."
 	   (containing-sexp (nth 1 state))
 	   ;; Don't auto-indent in a quoted string or a here-document.
            (unindentable (or (nth 3 state) (eq 2 (nth 7 state))))
-           (format (and (nth 3 state)
+           (format (and (characterp (nth 3 state))
                         (char-equal (nth 3 state) ?\n))))
       (when (and (eq t (nth 3 state))
                  (save-excursion
diff --git a/lisp/textmodes/markdown-ts-mode.el b/lisp/textmodes/markdown-ts-mode.el
index 5b9e7eb1ed6..9b287d4459b 100644
--- a/lisp/textmodes/markdown-ts-mode.el
+++ b/lisp/textmodes/markdown-ts-mode.el
@@ -2987,7 +2987,7 @@ content as a standalone markdown document, which is what we want."
                    'markdown-ts-inhibit-code-block-mode-warnings
                    (delay-mode-hooks (funcall mode)))
                  (narrow-to-region beg end)
-                 (font-lock-ensure)
+                 (let ((font-lock-dont-widen t)) (font-lock-ensure))
                  (let ((pos (point-min)))
                    (while (< pos (point-max))
                      (let ((next (next-single-property-change
diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el
index d091092783c..fb70d553768 100644
--- a/lisp/url/url-util.el
+++ b/lisp/url/url-util.el
@@ -230,10 +230,12 @@ Will not do anything if `url-show-status' is nil."
         (setq cur (concat cur "=")))
 
       (when (string-match "=" cur)
-        (setq key (url-unhex-string (substring cur 0 (match-beginning 0))
-                                    allow-newlines))
-        (setq val (url-unhex-string (substring cur (match-end 0) nil)
-                                    allow-newlines))
+        (let ((beg (match-beginning 0))
+              (end (match-end 0)))
+          (setq key (url-unhex-string (substring cur 0 beg)
+                                      allow-newlines))
+          (setq val (url-unhex-string (substring cur end nil)
+                                      allow-newlines)))
         (if downcase
             (setq key (downcase key)))
         (setq cur (assoc key retval))
diff --git a/lisp/vc/vc-annotate.el b/lisp/vc/vc-annotate.el
index 83b5185a4b4..42dbbbbe9d2 100644
--- a/lisp/vc/vc-annotate.el
+++ b/lisp/vc/vc-annotate.el
@@ -277,22 +277,25 @@ cover the range from the oldest annotation to the newest."
 			 (- current newest))
 	       (format "Spanned to %.1f days old" (- current oldest))))))
 
-;; Menu -- Using easymenu.el
 (easy-menu-define vc-annotate-mode-menu vc-annotate-mode-map
-  "VC Annotate Display Menu."
+  "Menu for VC-Annotate buffers."
   `("VC-Annotate"
+    :filter ,(lambda (items)
+               (let ((o-i-m (vc-annotate-oldest-in-map
+                             (default-value 'vc-annotate-color-map))))
+                 `(,(car items)
+                   ,@(mapcar (lambda (element)
+                               (let ((days (* element o-i-m)))
+                                 `[,(format "Span %.1f days" days)
+                                   (vc-annotate-display-select nil ,days)
+                                   :style toggle :selected
+                                   (eql vc-annotate-display-mode ,days) ]))
+                             vc-annotate-menu-elements)
+                   . ,(cdr items))))
     ["By Color Map Range" (unless (null vc-annotate-display-mode)
                  (setq vc-annotate-display-mode nil)
                  (vc-annotate-display-select))
      :style toggle :selected (null vc-annotate-display-mode)]
-    ,@(let ((oldest-in-map (vc-annotate-oldest-in-map vc-annotate-color-map)))
-        (mapcar (lambda (element)
-                  (let ((days (* element oldest-in-map)))
-                    `[,(format "Span %.1f days" days)
-                      (vc-annotate-display-select nil ,days)
-                      :style toggle :selected
-                      (eql vc-annotate-display-mode ,days) ]))
-                vc-annotate-menu-elements))
     ["Span ..."
      (vc-annotate-display-select
       nil (float (string-to-number (read-string "Span how many days? "))))]
diff --git a/src/search.c b/src/search.c
index 6d906df1b90..2b721a4367a 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2801,7 +2801,7 @@ Return value is undefined if the last search failed.  */)
 DEFUN ("match-end", Fmatch_end, Smatch_end, 1, 1, 0,
        doc: /* Return position of end of text matched by last search.
 SUBEXP, a number, specifies the parenthesized subexpression in the last
-  regexp for which to return the start position.
+  regexp for which to return the end position.
 Value is nil if SUBEXPth subexpression didn't match, or there were fewer
   than SUBEXP subexpressions.
 SUBEXP zero means the entire text matched by the whole regexp or whole