emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 6827335538d: ; Merge changes to files modified on the release bra


From: Eli Zaretskii
Subject: master 6827335538d: ; Merge changes to files modified on the release branch
Date: Tue, 27 Aug 2024 08:53:41 -0400 (EDT)

branch: master
commit 6827335538d10cf487f07053ffb6d94259c26606
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    ; Merge changes to files modified on the release branch
    
    * ChangeLog.4:
    * etc/AUTHORS: merge changes mistakenly skipped by gitmerge.el
    Reported by Stefan Kangas <stefankangas@gmail.com>.
---
 ChangeLog.4 | 78181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 etc/AUTHORS |  1090 +-
 2 files changed, 78809 insertions(+), 462 deletions(-)

diff --git a/ChangeLog.4 b/ChangeLog.4
index 1cd5568e4db..e2c6c9f9f26 100644
--- a/ChangeLog.4
+++ b/ChangeLog.4
@@ -1,3 +1,78182 @@
+2024-08-20  Andrea Corallo  <acorallo@gnu.org>
+
+       Update AUTHORS
+
+       * etc/AUTHORS: Re-generate.
+       * admin/authors.el (authors-fixed-entries): Add entry.
+
+2024-08-20  Andrea Corallo  <acorallo@gnu.org>
+
+       * admin/authors.el (authors-aliases, authors-ignored-files): Update.
+
+       * admin/authors.el: Pick-up version from emacs-29.
+
+2024-08-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add missing :version tags in use-package
+
+       * lisp/use-package/use-package-core.el (use-package-keywords)
+       (use-package-deferring-keywords, use-package-ignore-unknown-keywords)
+       (use-package-use-theme, use-package-verbose)
+       (use-package-check-before-init, use-package-always-defer)
+       (use-package-always-demand, use-package-defaults)
+       (use-package-merge-key-alist, use-package-hook-name-suffix)
+       (use-package-minimum-reported-time, use-package-inject-hooks)
+       (use-package-expand-minimally, use-package-form-regexp-eval)
+       (use-package-enable-imenu-support, use-package-compute-statistics):
+       * lisp/use-package/use-package-ensure.el (use-package-always-ensure)
+       (use-package-always-pin, use-package-ensure-function): Add missing
+       :version tags.
+
+2024-08-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       Suppress shallow cloning on emba
+
+       * test/infra/gitlab-ci.yml (variables): Set GIT_DEPTH to 0 in
+       order to avoid shallow cloning.
+
+2024-08-20  Po Lu  <luangruo@yahoo.com>
+
+       Correct Android failure to open an old CJK font
+
+       * src/sfnt.c (sfnt_read_cmap_format_2): Properly compute
+       subtable count, and append the empty table at position 0.
+       (sfnt_lookup_glyph_2): Update commentary.
+
+2024-08-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/help-fns.el (help-definition-prefixes): Don't delete the 
hashtable
+
+       Fixes bug#72511.
+
+2024-08-19  Kyle Meyer  <kyle@kyleam.com>
+
+       Update to Org 9.7.10
+
+2024-08-18  Andrea Corallo  <acorallo@gnu.org>
+
+       Bump Emacs version to 30.0.90
+
+       * nt/README.W32: Update version.
+       * msdos/sed2v2.inp: Likewise.
+       * configure.ac: Likewise.
+       * README: Likewise.
+
+2024-08-18  Andrea Corallo  <acorallo@gnu.org>
+
+       Update AUTHORS
+
+               * etc/AUTHORS: Re-generate.
+               * admin/authors.el (authors-fixed-entries): Add entry.
+
+2024-08-18  Andrea Corallo  <acorallo@gnu.org>
+
+       * admin/authors.el: Pick-up version from emacs-29.
+
+2024-08-18  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes.
+
+2024-08-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Bump use-package version for Emacs 30.1
+
+       * lisp/use-package/use-package.el: Bump version to 2.4.6.
+
+2024-08-18  Andrea Corallo  <acorallo@gnu.org>
+
+       * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump.
+
+2024-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid rare crashes due to clobbering of input events
+
+       * src/keyboard.c (read_char): Declare C 'volatile', to prevent
+       clobbering it by setjmp/longjmp.  Do not merge to master.
+       (Bug#71744)
+
+2024-08-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Further fix of reading and writing profiler data
+
+       * lisp/profiler.el (profiler-report-make-entry-part): Print
+       strings as-is.  (Bug#72559)
+
+2024-08-17  Andrea Corallo  <acorallo@gnu.org>
+
+       * Makefile.in (PREFERRED_BRANCH): Update to emacs-30.
+
+2024-08-17  Po Lu  <luangruo@yahoo.com>
+
+       Backport ed305c4b98cda5c6d479310e4ba350a17d901e75 to emacs-30
+
+       * src/xterm.c (x_construct_mouse_click): `||' → `|'.
+       Typo found by clang 18.1.6 -Wbool-operation.  Do not
+       merge to master.
+
+2024-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix a typo in Eglot manual
+
+       * doc/misc/eglot.texi (Eglot and Buffers): Fix typo.  Patch by
+       david edmonds <edmonds.david.a@gmail.com>.  (Bug#72634)
+
+2024-08-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix dumping of Lisp profiles
+
+       * lisp/profiler.el (profiler-fixup-entry): New function.
+       (profiler-fixup-backtrace): Use it.  (Bug#72559)
+
+2024-08-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix 'apropos-library' for 'define-symbol-props'
+
+       * lisp/apropos.el (apropos-library): Sanitize data to avoid
+       signaling errors when 'define-symbol-props' is seen.  (Bug#72616)
+
+2024-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'forward-comment' in 'toml-ts-mode'
+
+       * lisp/textmodes/toml-ts-mode.el (toml-ts-mode--syntax-table): Fix
+       syntax of newline.  Patch from Jostein Kjønigsen
+       <jostein@secure.kjonigsen.net>.  (Bug#72489)
+
+2024-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Document spell-checking of multiple languages
+
+       * doc/emacs/fixit.texi (Spelling): Document spell-checking
+       multi-lingual text with Hunspell.
+
+2024-08-17  Peter Oliver  <git@mavit.org.uk>
+
+       Apply --display kluge for PGTK too
+
+       * src/emacs.c (main): The --display option needs the same handling
+       with the PGTK backend as it does with the X11 backends.  (Bug#72118)
+
+2024-08-15  Pip Cet  <pipcet@protonmail.com>
+
+       * lisp/files.el (require-with-check): Improve error messages.
+
+2024-08-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of ERT
+
+       * doc/misc/ert.texi (Running Tests Interactively)
+       (Test Selectors):
+       * lisp/emacs-lisp/ert.el (ert-select-tests)
+       (ert-run-tests-interactively, ert-run-tests-batch): Improve and
+       clarify the documentation of the main ERT functions.
+
+2024-08-15  Visuwesh  <visuweshm@gmail.com>
+
+       Disambiguate minor-mode variable in its function docstring
+
+       * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring)
+       (easy-mmode--mode-docstring): Add "the variable" before the
+       GETTER if it is a symbol to properly link to minor-mode variable
+       in the *Help* buffer in the common case.  (bug#72405)
+
+2024-08-14  Arash Esbati  <arash@gnu.org>
+
+       Fix project-dired keybinding in manual
+
+       * doc/emacs/maintaining.texi (Project File Commands): Fix the
+       keybinding for `project-dired'.  (Bug#72581)
+
+2024-08-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of time-parsing functions
+
+       * doc/lispref/os.texi (Time Parsing):
+       * lisp/calendar/iso8601.el (iso8601-parse):
+       * lisp/calendar/parse-time.el (parse-time-string): Document that
+       these functions don't care about the distinction between local
+       time and UTC.  (Bug#72570)
+
+2024-08-13  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (project-find-regexp): Fix the temporary value of DEFAULT-DIRECTORY
+
+       * lisp/progmodes/project.el (project-find-regexp): Make sure the
+       assigned value of DEFAULT-DIRECTORY ends with a slash.
+       read-directory-name returns the name without it in certain cases.
+
+2024-08-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tag test in typescript-ts-mode-tests.el as unstable
+
+       * test/lisp/progmodes/typescript-ts-mode-tests.el
+       (typescript-ts-mode-test-indentation): Tag it as :unstable on emba.
+
+2024-08-12  Gerd Möllmann  <gerd@gnu.org>
+
+       macOS: Wrong frame rectangle after wake (bug#71912)
+
+       * src/nsterm.m ([EmacsView windowDidBecomeKey]):
+       Call adjustEmacsFrameRect.
+
+2024-08-11  Pip Cet  <pipcet@protonmail.com>
+
+       Fix format 2 cmap handling in sfnt.c
+
+       This code is untested as no font with a format 2 cmap could be found.
+
+       * src/sfnt.c (sfnt_lookup_glyph_2): Fix typos.  Assume single-byte
+       encodings use character codes 0, 1, ..., 255 rather than 0, 256, ...,
+       65280.
+
+2024-08-11  Pip Cet  <pipcet@protonmail.com>
+
+       Fix coordinate transformations in sfnt.c
+
+       Backport.
+
+       * src/sfnt.c (sfnt_transform_coordinates):
+       (sfnt_transform_f26dot6): Fix calculation of transformed coordinates in
+       the very rare case of arbitrary transformation matrices.
+
+2024-08-10  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>
+
+       * lisp/epg.el (epg--start): Don't convert EOL on encoding (bug#72542).
+
+2024-08-09  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+       Add PROBLEMS entry for bug#72517
+
+       * etc/PROBLEMS (X runtime problems): Document ssh -X session
+       hang-on-exit after deletion of remote emacsclient -c frame.
+       (bug#72517)
+
+       (cherry picked from commit 9f03300c5c626bf6f8f839be4943cc20db89c24d)
+
+2024-08-09  Gerd Möllmann  <gerd@gnu.org>
+
+       NS: Fix scroll-bar setting code (bug#72331)
+
+       * src/nsterm.m (ns_set_vertical_scroll_bar): Use
+       WINDOW_SCROLL_AREA_WIDTH instead of NS_SCROLL_BAR_WIDTH.
+       (ns_set_horizontal_scroll_bar): Use WINDOW_SCROLL_AREA_HEIGHT
+       instead of NS_SCROLL_BAR_HEIGHT. Clear area differently if vertical
+       scroll bars are present.
+       * src/nsterm.h (NS_SCROLL_BAR_WIDTH, NS_SCROLL_BAR_HEIGHT): Remove.
+
+2024-08-09  Po Lu  <luangruo@yahoo.com>
+
+       Register for more Intents actions on Android
+
+       * java/AndroidManifest.xml.in <EmacsOpenActivity>: Register
+       for SEND Intents with mailto URIs.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use
+       Intent constants rather than string literals.
+
+2024-08-08  Paul W. Rankin  <rnkn@rnkn.xyz>
+
+       * lisp/help-macro.el: Add 'help-for-help-use-variable-pitch' option.
+
+       This makes 'variable-pitch-mode' optional, by default ON (to
+       preserve previous behavior), in Help buffers.  (Bug#72521)
+
+2024-08-08  Ulrich Müller  <ulm@gentoo.org>
+
+       Remove manual entry for string-to-int
+
+       * doc/lispref/strings.texi (String Conversion): Remove mention of
+       'string-to-int' which was dropped in Emacs 26.  (Bug#72520)
+
+2024-08-07  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Support minibuffer-visible-completions in completing-read-multiple
+
+       All that's required is to add minibuffer-visible-completions-map on
+       top of the completing-read-multiple map; this is the same thing that
+       minibuffer-visible-completions does in completing-read-default.
+
+       * lisp/emacs-lisp/crm.el (completing-read-multiple): Add
+       minibuffer-visible-completions-map (bug#69189)
+
+2024-08-07  Juri Linkov  <juri@linkov.net>
+
+       * lisp/imenu.el (imenu-flatten): Fix doc about annotation/group 
limitations.
+
+2024-08-07  Randy Taylor  <dev@rjt.dev>
+
+       Fix cmake-ts-mode number fontification (Bug#72228)
+
+       * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode--constants):
+       Remove "1" and "0".
+       (cmake-ts-mode--font-lock-settings): Match negative numbers.
+
+2024-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Prevent accesses to /content files without a GUI connection
+
+       * src/androidvfs.c (android_content_name): Hide all
+       subdirectories when `android_init_gui' is not set.
+
+2024-08-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp-integration.el (shortdoc): Use `tramp--with-startup'.
+
+2024-08-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid crashes in very large buffers with long lines
+
+       * src/xdisp.c (get_large_narrowing_begv, get_large_narrowing_zv)
+       (get_medium_narrowing_begv, get_medium_narrowing_zv): Use
+       'ptrdiff_t' instead of 'int', to prevent integer overflow in
+       large buffers.  (Bug#72497)
+
+2024-08-06  Ulrich Müller  <ulm@gentoo.org>
+
+       Update description of string comparison functions
+
+       * doc/lispref/strings.texi (Text Comparison): Swap descriptions of
+       'string-equal' (the function) and 'string=' (its alias).  Same for
+       'string-lessp' and 'string<'.  Document 'string>'.  (Bug#72486)
+       * doc/lispref/sequences.texi (Sequence Functions): Update cross
+       reference to 'string-lessp'.
+
+2024-08-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add sanity check when adding Tramp functions to shortdoc
+
+       * lisp/net/tramp-integration.el (shortdoc): Check, that Tramp
+       isn't disabled.
+
+2024-08-05  Damien Cassou  <damien@cassou.me>
+
+       js-ts-mode: Make jsdoc's "description" block a comment (bug#72461)
+
+       * lisp/progmodes/js.el (js-ts-mode): Add "description" to
+       `c-ts-common--comment-regexp'.
+
+2024-08-05  Po Lu  <luangruo@yahoo.com>
+
+       Also condition cjk-misc font-spec on Android
+
+       * lisp/international/fontset.el (setup-default-fontset)
+       <cjk-misc>: Don't search for matching scripts elsewhere than on
+       Android.
+
+2024-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix ':defer nil' in 'use-package'
+
+       * lisp/use-package/use-package-core.el
+       (use-package-normalize-keywords): Use 'plist-get' instead of
+       'plist-member'.  (Bug#72414)
+
+2024-08-04  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Document unsupported color Emoji on OpenBSD
+
+       Bug#72268
+
+       * etc/PROBLEMS (Runtime problems related to font handling):
+       Document unsupported color Emoji on OpenBSD.
+
+2024-08-04  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix regressions in Customize caused by 'widget-unselected' face
+
+       * lisp/wid-edit.el (widget-checklist-add-item): Don't call
+       'widget-specify-selected'.  (Bug#72404)  (Bug#72156)
+
+2024-08-04  David Ponce  <da_vid@orange.fr>
+
+       Avoid inserting extra space in SVG data
+
+       * lisp/svg.el (svg-print): Remove useless extra space from
+       the XML representation of child node.  (Bug#72198)
+
+2024-08-04  Damien Cassou  <damien@cassou.me>
+
+       Fix c-ts-common filling function (bug#71760)
+
+       * lisp/progmodes/c-ts-common.el (c-ts-common--fill-block-comment): If
+       masking hasn't been done, don't unmask.
+
+2024-08-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix missing type checks before specbind
+
+       This fixes bugs that crashed Emacs when the Lisp interpreter was fed
+       bad code.
+
+       * src/eval.c (FletX, Flet, internal_lisp_condition_case)
+       (funcall_lambda): Hoist symbol-with-pos elimination and type checks to a
+       dominating position for efficiency.  This also plugs at least two typing
+       holes. (Mea culpa.)
+       * test/src/eval-tests.el (eval-bad-specbind): New regression test.
+
+2024-08-03  Po Lu  <luangruo@yahoo.com>
+
+       Revert "Remove redundant byte-swapping boundary"
+
+       This reverts commit daefd6771a4879bb8e71ea67f69522700155df01.
+
+       * src/sfnt.c (sfnt_read_OS_2_table): Restore realignment after
+       s_family_class, as it occupies byte 32, not 34.  Reported by Pip
+       Cet <pipcet@protonmail.com>.
+
+2024-08-03  Po Lu  <luangruo@yahoo.com>
+
+       Fix various typos reported by Pip Cet
+
+       * src/ftfont.c (get_adstyle_property):
+
+       * src/sfntfont.c (sfntfont_list_1): Correct typos.  Reported by
+       Pip Cet <pipcet@protonmail.com>.
+
+2024-08-03  Gerd Möllmann  <gerd@gnu.org>
+
+       NS: Fix placement of candidate window (bug#72422)
+
+       * src/nsterm.m ([EmacsView firstRectForCharacterRange:actualRange:]):
+       Call method of NSTextInput.
+
+2024-08-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid aborts when buffer is modified during its redisplay
+
+       * src/xdisp.c (redisplay_window): Restore point from saved byte
+       position only if the buffer was not changed meanwhile.
+       (Bug#72165)
+
+2024-08-01  Yuan Fu  <casouri@gmail.com>
+
+       Fix c++-ts-mode indentation for templace (bug#72263)
+
+       * lisp/progmodes/c-ts-mode.el:
+       (c-ts-mode--indent-styles): Add rule for template.
+       * test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add test.
+
+2024-08-01  Po Lu  <luangruo@yahoo.com>
+
+       Better resolve bug#72188
+
+       * lisp/international/fontset.el (setup-default-fontset) <han>:
+       Don't search for fonts matching the `han' script elsewhere than
+       on Android, which restores the status quo existing in Emacs 29.
+       (bug#72188)
+
+2024-07-31  Gerd Möllmann  <gerd@gnu.org>
+
+       MacOS: Let EmacsView implement NSTextInputClient
+
+       * src/nsterm.h (@interface EmacsView): Implement NSTextInputClient 
protocol.
+       * src/nsterm.m: Implement required NSTextInputClient methods, forwarding
+       to existing NSTextInput methods.
+
+2024-07-30  Gerd Möllmann  <gerd@gnu.org>
+
+       NS: Set frame position when entering/exiting fullscreen (bug#71912)
+
+       * src/nsterm.h ([EmacsView adjustEmacsRectRect]): Declare.
+       * src/nsterm.m ([EmacsView windowDidEnterFullScreen]): New method.
+       ([EmacsView windowDidEnterFullScreen]): Call it.
+       ([EmacsView windowDidExitFullScreen]): Call it.
+
+2024-07-29  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-move-tab-to-group): Fix for a new group's 
tab.
+
+       Move tab with a new group to the end of the tab bar (bug#72352)
+       Suggested by Ship Mints <shipmints@gmail.com>
+
+2024-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Fix sporadic crashes and `select' failures in dumped images
+
+       * src/process.c (init_process_emacs) [HAVE_UNEXEC]: Clear
+       dumped values of child_signal_read_fd and child_signal_write_fd.
+
+2024-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Correct display of Doc View documents after tab switching
+
+       * lisp/doc-view.el (doc-view-new-window-function): Prevent
+       creation of duplicate overlays for the same window after a
+       window configuration change occasions a call to i-m-r-winprops.
+
+2024-07-27  Jim Porter  <jporterbugs@gmail.com>
+
+       Use 'kill-process' as a fallback when a pipe gets broken in Eshell
+
+       This is better than 'delete-process' since it will ensure that any
+       stderr pipe-processes get stopped as well (bug#72117).
+
+       * lisp/eshell/esh-proc.el (eshell-insertion-filter): Use 'kill-process'
+       instead of 'delete-process'.
+
+2024-07-27  Kyle Meyer  <kyle@kyleam.com>
+
+       Update to Org 9.7.9
+
+2024-07-26  Philip Kaludercic  <philipk@posteo.net>
+
+       Fix edge-case with 'which-key-dont-use-unicode' setter
+
+       * lisp/which-key.el (which-key-dont-use-unicode): Check if the
+       user options have a 'standard-value' before proceeding to
+       reevaluate.  This avoids accidentally setting the symbol value
+       to nil, before the user option has been declared, overriding the
+       actual non-nil, default values.  (Bug#72077)
+
+2024-07-26  Gerd Möllmann  <gerd@gnu.org>
+
+       NS: prevent makeKeyWindow warnings (bug#69525)
+
+       * src/nsterm.m (ns_raise_frame): Don't makeKeyWindow if frame has
+       no_accept_focus set.
+
+2024-07-26  Po Lu  <luangruo@yahoo.com>
+
+       Add PROBLEMS entry for bug#72303
+
+       * etc/PROBLEMS (Runtime problems specific to PGTK build):
+       Document that text mode sessions cannot be started without
+       `-nw'.  (bug#72303)
+
+2024-07-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of '--init-directory' command-line option.
+
+       * doc/emacs/custom.texi (Find Init):
+       * doc/emacs/cmdargs.texi (Initial Options): More accurate and
+       detailed description of what '--init-directory' does and how it
+       affects the Emacs session.  Add index entries and cross-references
+       as needed.  (Bug#72294)
+
+2024-07-25  Andrea Corallo  <acorallo@gnu.org>
+
+       Fix bug in server.el introduced by 0d7d835902df
+
+       0d7d835902df renamed 'server--process-filter' into
+       'server--process-filter-1' but updated the corresponding
+       'cl-return-from' tag to 'server--process-filter'.
+
+       * lisp/server.el (server--process-filter-1): Fix 'cl-return-from' tag.
+
+2024-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176
+
+2024-07-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       * admin/notes/spelling: Update note.
+
+2024-07-25  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
+
+       Don't produce invalid XML with multi-line commenting style
+
+       Both XML and HTML forbid double hyphens inside comments.  However,
+       nxml-mode was using a `!--' as a comment padding if `comment-style'
+       was set to any of the styles that supposed to add padding.  This infix
+       was auto-derived due to `comment-continue' being nil.  To fix that set
+       `comment-continue' explicitly.  It's unclear what padding should be
+       used, but from looking at other editors it seems they don't typically
+       add padding in XML, so let's be simple for now and just set
+       `comment-continue' to empty string.
+
+       * lisp/nxml/nxml-mode.el (nxml-mode): Make 'comment-continue' a
+       buffer-local variable set to the empty string.  (Bug#71772)
+
+2024-07-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Standardize possessive apostrophe usage in manuals, docs, and comments
+
+       See the note in admin/notes/documentation.
+       Ref: https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html
+
+2024-07-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Don't refer to obsolete finder group "wp"
+
+       * lisp/textmodes/rst.el: Don't refer to obsolete finder group "wp".
+
+2024-07-24  Andrea Corallo  <acorallo@gnu.org>
+
+       Fix some function type declaration
+
+       * lisp/window.el (get-lru-window, get-largest-window): Fix
+       function type declaration.
+       * lisp/subr.el (error): Likewise.
+
+2024-07-24  Po Lu  <luangruo@yahoo.com>
+
+       * src/image.c (gui_put_x_image): Avoid memory leak.
+
+2024-07-24  Po Lu  <luangruo@yahoo.com>
+
+       Adapt last change to non-NS systems
+
+       * src/image.c (xpm_load_image): Also check whether mask_img is
+       NULL.
+
+2024-07-24  Po Lu  <luangruo@yahoo.com>
+
+       Fix NULL pointer dereferences in xpm_load_image
+
+       * src/image.c (x_destroy_x_image): Correct test condition.
+       (xpm_load_image): Do not release image data if it is still to be
+       created.
+
+2024-07-24  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#72255
+
+       * src/image.c (struct image_type): Minor grammatical
+       corrections.
+       (image_destroy_x_image): [HAVE_NS]: Do not release
+       Emacs_Pix_Containers, which are identical to Emacs_Pixmaps and
+       consequently always released with the `struct image'.
+       (bug#72255)
+
+2024-07-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete redundant "a.k.a." in use-package.texi
+
+       * doc/misc/use-package.texi (Getting Started): Delete redundant
+       acronym "a.k.a.".  (Bug#66350)
+
+2024-07-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Document (use-package 'emacs) declarations
+
+       * doc/misc/use-package.texi (The @code{emacs} package): New
+       node.  (Bug#66350)
+
+2024-07-23  Robert Pluim  <rpluim@gmail.com>
+
+       Improve 'emacs-news-view-mode' menus and bindings
+
+       * lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map): Move
+       non-editing commands from here...
+       (emacs-news-common-map): ... to here.
+       (emacs-news-view-mode): Remove hard-coded 'special-mode' bindings.
+       (emacs-news-view-mode-map): Inherit from 'special-mode-map' and
+       'emacs-news-common-map' here instead.
+       (emacs-news-mode--menu-common-1): New defconst for menu items common to
+       'news-mode' and 'news-view-mode'.
+       (emacs-news-mode--menu-common-2): Second new defconst for common items.
+       (emacs-news-mode-menu): Use them.
+       (emacs-news-view-mode-menu): New menu, which omits the buffer editing
+       commands.
+
+       This builds on the fix for Bug#72080.
+
+2024-07-23  Gerd Möllmann  <gerd@gnu.org>
+
+       Fix disappearing bar cursor on Hebrew text (bug#72230)
+
+       * src/nsterm.m (ns_draw_window_cursor): Compute the correct bar cursor
+       rectangle for R2L before setting the clipping.
+
+2024-07-22  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix DocView with DVI files
+
+       * lisp/doc-view.el (doc-view-pdf/ps->png): Use
+       `doc-view-pdf->png-converter-function' for DVI files, too, since they
+       are converted to PDF earlier.
+
+2024-07-22  Alan Mackenzie  <acm@muc.de>
+
+       FIx spurious fontification of variable in Java Mode
+
+       This fixes bug#72126.
+
+       * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove
+       tentative type identifier from c-record-type-identifiers should
+       it turn out not to be a type.
+
+2024-07-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Correctly typeset nil and t in texinfo
+
+       * doc/emacs/package.texi (Fetching Package Sources):
+       * doc/lispref/display.texi (Image Descriptors):
+       * doc/lispref/windows.texi (Buffer Display Action Alists):
+       * doc/misc/gnus-faq.texi (FAQ 5-4): Correctly typeset nil and t.
+
+2024-07-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp IPv6 handling in tests
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+       * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Improve message.
+
+       * lisp/net/tramp-integration.el (shortdoc): Add further examples of
+       `file-remote-p'.
+
+       * lisp/net/tramp.el (tramp-handle-file-remote-p): Extend docstring.
+
+       * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
+       (tramp-test02-file-name-dissect-simplified)
+       (tramp-test02-file-name-dissect-separate): Extend tests.
+       (tramp-test06-directory-file-name)
+       (tramp-test26-file-name-completion)
+       (tramp-test26-interactive-file-name-completion): Better handling
+       of IPv6 hosts.
+
+2024-07-22  Kyle Meyer  <kyle@kyleam.com>
+
+       Update to Org 9.7.8-5-gfdf0e0
+
+2024-07-22  Yuan Fu  <casouri@gmail.com>
+
+       Fix Ftreesit_parser_create
+
+       * src/treesit.c (Ftreesit_parser_create): Use the buffer given by the
+       caller rather than the current buffer.
+
+2024-07-22  Yuan Fu  <casouri@gmail.com>
+
+       Fix segfault when deleting tree-sitter query (bug#72238)
+
+       * src/treesit.c (treesit_delete_query): Only delete query and cursor
+       when they are non-NULL.
+
+2024-07-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Improve treesit-node-child-by-field-name docstring
+
+       * src/treesit.c (Ftreesit_node_child_by_field_name): Improve docstring.
+
+2024-07-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Minor copyedits in tree-sitter starting guide
+
+       * admin/notes/tree-sitter/starter-guide: Minor copyedits.
+       Reflow some paragraphs.
+
+2024-07-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update tag for prebuilt tree-sitter grammars
+
+       * admin/notes/tree-sitter/starter-guide: Update tag for prebuilt
+       tree-sitter grammars to point to 2.4.
+
+2024-07-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix punctuation and doc style in treesit.c
+
+       * src/treesit.c (Ftreesit_parser_included_ranges)
+       (Ftreesit_query_capture, treesit_traverse_sibling_helper)
+       (treesit_traverse_match_predicate): Fix punctiation and documentation
+       style in comments and docstrings.
+
+2024-07-21  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix DocView with PostScript files
+
+       * lisp/doc-view.el (doc-view-set-up-single-converter): Produce PNG
+       from PS in a file with ".png" extension.  (Bug#72193)
+
+2024-07-20  Liu Hui  <liuhui1610@gmail.com>
+
+       Fix bibtex validation for non-file buffers
+
+       * lisp/textmodes/bibtex.el (bibtex-validate): Use buffer name
+       to show errors in non-file buffers.  (Bug#71946)
+
+2024-07-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix Imenu in 'emacs-news-view-mode'
+
+       * lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Make
+       it derived from emacs-news-mode.  Add useful key bindings.
+       (Bug#72080)
+
+2024-07-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid errors in 'icomplete-vertical-mode'
+
+       * lisp/minibuffer.el (completion--hilit-from-re): Avoid signaling
+       an error if STRING does not match REGEXP.  Fix doc string and
+       indentation.  (Bug#72176)
+
+2024-07-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Document GNU ELPA copyright in tips.texi
+
+       * doc/lispref/tips.texi (Library Headers): Document that GNU ELPA
+       packages should have their copyright assigned to the FSF.
+
+2024-07-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Improve register-use-preview docstring
+
+       * lisp/register.el (register-use-preview): Improve docstring.
+
+2024-07-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Miscellaneous checkdoc fixes
+
+       * lisp/ansi-color.el (ansi-color--ensure-context):
+       * lisp/doc-view.el (doc-view-svg-face):
+       * lisp/external-completion.el (external-completion-table):
+       * lisp/ffap.el (ffap-ro-mode-hook, ffap-gnus-hook):
+       * lisp/find-file.el:
+       * lisp/flow-ctrl.el (flow-control-c-s-replacement)
+       (flow-control-c-q-replacement):
+       * lisp/forms.el (forms-multi-line):
+       * lisp/help.el (search-forward-help-for-help):
+       * lisp/hi-lock.el (hi-lock-use-overlays):
+       * lisp/image.el (find-image):
+       * lisp/isearch.el (isearch-forward, isearch-forward-regexp)
+       (isearch-lazy-count-format):
+       * lisp/jsonrpc.el (jsonrpc--continue, initialize-instance):
+       * lisp/mouse-copy.el (mouse-kill-preserving-secondary):
+       * lisp/pixel-scroll.el (pixel-bob-at-top-p)
+       (pixel-scroll-down-and-set-window-vscroll):
+       * lisp/printing.el (pr-gv-command, pr-gs-command)
+       (pr-gs-switches):
+       * lisp/register.el (register-use-preview):
+       * lisp/repeat.el (repeat-check-key):
+       * lisp/saveplace.el (save-place-abbreviate-file-names):
+       * lisp/select.el (gui--clipboard-selection-unchanged-p):
+       * lisp/ses.el (ses-header-row):
+       * lisp/simple.el (transpose-sexps-default-function)
+       (normal-erase-is-backspace, normal-erase-is-backspace-mode):
+       * lisp/sqlite-mode.el (sqlite-mode):
+       * lisp/tempo.el (tempo-insert-region):
+       * lisp/term.el (term-mode-map, term-mode, term-char-mode):
+       Checkdoc fixes.
+
+2024-07-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/progmodes/peg.el (peg-syntax-classes): Typo (bug#72131)
+
+2024-07-19  Jonas Bernoulli  <jonas@bernoul.li>
+
+       * lisp/transient.el (static-if): Remove duplicated definition.
+
+       (Bug#72182)
+
+       This should have been removed when the standalone version was merged
+       into Emacs.
+
+2024-07-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt file-remote-p doc
+
+       * doc/lispref/files.texi (Magic File Names): Adapt file-remote-p.
+
+       * lisp/files.el (file-remote-p): Adapt docstring.
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       * etc/TODO: Delete item about merging Magit.
+
+       Change requested by Jonas Bernoulli <jonas@bernoul.li>.
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       * doc/man/emacs.1.in: Add "No warranty" notice.
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Improve emacs man page description of --user flag
+
+       * doc/man/emacs.1.in: Improve --user flag description.
+       (Bug#72169)
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in allout-widgets.el
+
+       * lisp/allout-widgets.el (allout-widgets-setup)
+       (allout-widgets-tally-string, allout-widgets-mode-inhibit):
+       (allout-widgets-hook-error-handler): Checkdoc fixes.
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in subr.el
+
+       * lisp/subr.el (ctl-x-4-map, ctl-x-map)
+       (touch-screen-events-received): Checkdoc fixes.
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in touch-screen.el
+
+       * lisp/touch-screen.el (touch-screen-handle-touch): Checkdoc fixes.
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in treesit.el
+
+       * lisp/treesit.el (treesit-add-font-lock-rules)
+       (treesit--font-lock-mark-ranges-to-fontify): Checkdoc fixes.
+
+2024-07-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Avoid overflow in pgtk_is_numeric_char
+
+       * src/pgtkfns.c (parse_resource_key): Avoid overflow by making array
+       larger, if a key is RESOURCE_KEY_MAX_LEN long.  Do not merge to master,
+       since it's fixed in a different way there.
+
+2024-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Port better to Android 3.0
+
+       * java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the
+       old getPackageInfo calling convention if it exists rather than
+       on Android 2.3.3 and earlier.
+
+2024-07-17  Michael Albinus  <michael.albinus@gmx.de>
+
+       New Tramp tests
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test41-special-characters-direct-async)
+       (tramp-test42-utf8-direct-async): New tests.
+
+2024-07-17  Michael Albinus  <michael.albinus@gmx.de>
+
+       Update Tramp manual
+
+       * doc/misc/tramp.texi (Remote processes): Add another reason why a
+       direct asynchronous process could fail.
+
+2024-07-17  Robert Pluim  <rpluim@gmail.com>
+
+       Fix 'toggle-window-dedicated' documentation
+
+       * doc/emacs/windows.texi (Displaying Buffers): Fix the cross reference
+       to the elisp manual.  Add missing 'toggle-window-dedicated'.
+       * doc/lispref/windows.texi (Dedicated Windows): Mention
+       'toggle-window-dedicated'.
+
+2024-07-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in transient.el
+
+       * lisp/transient.el (transient-format-description): Checkdoc fixes.
+
+2024-07-15  Peter Oliver  <git@mavit.org.uk>
+
+       Fix intermittent failure of dired-test-bug27243-02
+
+       * test/lisp/dired-tests.el (dired-test-bug27243-02): Exclude free disk
+       space from dired listing in this test, in case it changes while it's
+       running and confuses the result.  (Bug#72120)
+
+2024-07-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       * etc/TODO: Refer to Bug#72127 for Magit assignments.
+
+2024-07-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Rename treesitter test
+
+       * test/lisp/align-tests.el (align-ts-lua): Rename test in order to
+       fit to treesitter tests on EMBA.
+
+2024-07-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tressitter tests on EMBA
+
+       * test/infra/Makefile.in (TREE-SITTER-FILES): Simplify.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2024-07-15  Jim Porter  <jporterbugs@gmail.com>
+
+       Support passing signals like 'SIGCODE' to 'tramp-signal-process'
+
+       POSIX specifies that "kill" should take signal names without the "SIG"
+       prefix.
+
+       * lisp/net/tramp.el (tramp-signal-process): Strip the "SIG" prefix when
+       present.
+
+2024-07-15  Jim Porter  <jporterbugs@gmail.com>
+
+       Don't save to history from 'eshell-command' when aborting
+
+       * lisp/eshell/eshell.el (eshell-add-input-to-history)
+       (eshell--save-history): Declare.
+       (eshell-command-mode-exit): New function...
+       (eshell-command-mode): ... use it.
+
+       * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't handle
+       minibuffer logic here.  Always read history file (this ensures that
+       'eshell-command' can see the history, too).
+       (eshell-add-command-to-history): Remove.
+
+2024-07-14  Kyle Meyer  <kyle@kyleam.com>
+
+       Update to Org 9.7.7-2-gf308d3
+
+2024-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix decoding 'display' properties with SVG images in Enriched mode
+
+       * lisp/textmodes/enriched.el (enriched-next-annotation): Reject
+       matches of 'enriched-annotation-regexp' inside strings.  Reported
+       by Christopher Howard <christopher@librehacker.com> in
+       https://lists.gnu.org/archive/html/help-gnu-emacs/2024-06/msg00178.html.
+
+2024-07-14  Pip Cet  <pipcet@protonmail.com>
+
+       * configure.ac (D8): Fix typo.
+
+2024-07-14  Po Lu  <luangruo@yahoo.com>
+
+       Do not set LD_LIBRARY_PATH during Android initialization
+
+       * doc/emacs/android.texi (Android Environment): Adjust
+       documentation to match.
+
+       * java/org/gnu/emacs/EmacsNoninteractive.java (main1): New
+       function.  Remove initialization of EmacsNative hither.
+       (main): Acquire an ApplicationInfo or LoadedApk, as the case may
+       be on the host system, derive a ClassLoader from the result, and
+       load and call `main1' from within this class loader.
+
+       * src/android-emacs.c (main):
+
+       * src/android.c (setEmacsParams): Do not override
+       LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH.  This enables
+       Emacs to execute subprocesses in certain "fortified" Android
+       systems, amongst other things.
+
+2024-07-13  Eli Zaretskii  <eliz@gnu.org>
+
+       * test/lisp/wdired-tests.el (wdired-test-bug34915): Fix for MS-Windows.
+
+2024-07-13  Peter Oliver  <git@mavit.org.uk>
+
+       Fix 'wdired-test-unfinished-edit-01'
+
+       * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01):
+       Don't modify the random directory name if, by chance, it happens
+       to contain the substring "foo" anywhere but immediately after the
+       slash.  (Bug#72073)
+
+2024-07-13  Vincenzo Pupillo  <vincenzo.pupillo@unimi.it>
+
+       Fontify destructor in c++-ts-mode
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
+       Add a rule for destructors.  (Bug#71872)
+
+2024-07-12  F. Jason Park  <jp@neverwas.me>
+
+       Fix invalid defcustom type for erc-buffers option
+
+       * lisp/erc/erc.el (erc-ensure-target-buffer-on-privmsg): Change
+       invalid inner `choice' to a `const' for the third-state `status'
+       variant, which is new in ERC 5.6 and Emacs 30.  Thanks to Mattias
+       Engdegård for catching this.
+
+2024-07-12  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix infloop in 'shell-resync-dirs'
+
+       * lisp/shell.el (shell-eval-command): Fix detection of newline
+       after last output line.  (Bug#71896)
+       (shell-resync-dirs): Make sure the inner loop never infloops.
+       Suggested by Troy Hinckley <troyhinckley@dabrev.com>.
+
+2024-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Render more Android functions safe to execute in a batch session
+
+       * src/androidfns.c (Fx_display_mm_width, Fx_display_mm_height)
+       (Fandroid_display_monitor_attributes_list)
+       (Fandroid_external_storage_available_p)
+       (Fandroid_request_storage_access): Verify that a display
+       connection or service object is available.
+
+       * src/androidselect.c (Fandroid_get_clipboard)
+       (Fandroid_browse_url_internal, Fandroid_get_clipboard_targets)
+       (Fandroid_get_clipboard_data, Fandroid_notifications_notify):
+       Moderate tone of error messages.
+
+2024-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Document means of executing Emacs from unrelated Android applications
+
+       * doc/emacs/android.texi (Android Environment): Document
+       significance, effect and purpose of EMACS_CLASS_PATH and
+       EMACS_LD_LIBRARY_PATH, and the utility of `pm path
+       org.gnu.emacs'.
+
+2024-07-12  Jim Porter  <jporterbugs@gmail.com>
+
+       Don't emit a prompt in Eshell when a background command is killed
+
+       * lisp/eshell/esh-cmd.el (eshell-resume-command): Check for
+       background-ness before resetting the prompt.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/background/simple-command): Make the regexp a bit
+       stricter.
+       (esh-cmd-test/background/kill): New test.
+
+2024-07-11  Daniel Martín  <mardani29@yahoo.es>
+
+       Fix reference from buffer-stale-function docstring
+
+       * lisp/files.el (buffer-stale-function): Fix reference to a
+       non-existent Info node in doc string.  (Bug#72049)
+
+2024-07-11  Po Lu  <luangruo@yahoo.com>
+
+       Take precautions against ill-formed content URIs
+
+       * java/org/gnu/emacs/EmacsService.java (openContentUri)
+       (checkContentUri): Verify that URIs derived from user-provided
+       file names can be parsed before attempting to open them.
+
+2024-07-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       etags-regen-mode: Handle TAGS buffer being killed
+
+       * lisp/progmodes/etags-regen.el (etags-regen--visit-table):
+       Use kill-buffer-hook to ensure a refresh if the TAGS buffer is
+       killed manually (bug#71727).
+       (etags-regen--tags-cleanup):
+       Bind the hook var to nil to avoid an infloop.
+
+2024-07-10  Robert Pluim  <rpluim@gmail.com>
+
+       Improve 'put-image' documentation
+
+       * doc/lispref/display.texi (Showing Images): Mention that it returns the
+       created overlay.
+       * lisp/image.el (put-image): And here.
+
+2024-07-10  Robert Pluim  <rpluim@gmail.com>
+
+       Improve 'set-fontset-font' documentation
+
+       * doc/emacs/mule.texi (Modifying Fontsets): Add an 'emoji' example.
+
+2024-07-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp's "run0" method
+
+       * doc/misc/tramp.texi (Inline methods):
+       * etc/NEWS: Adapt "run0" entry.
+
+       * lisp/net/tramp-sh.el (tramp-enable-run0-method): Adapt "run0"
+       arguments.
+
+2024-07-10  Andrea Corallo  <acorallo@gnu.org>
+
+       * test/src/sqlite-tests.el (sqlite-execute-batch): Declare to wave 
warning.
+
+2024-07-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Capitalize "Dired" and "Lisp" in docstrings
+
+       * lisp/desktop.el (desktop-no-desktop-file-hook):
+       * lisp/dired-x.el (dired-mark-sexp):
+       * lisp/dired.el (dired-make-directory-clickable)
+       (dired-map-over-marks, dired-file-name-at-point)
+       (dired-save-positions, dired-buffers-for-dir)
+       (dired-buffers-for-dir-or-subdir, dired-fun-in-all-buffers)
+       (dired-remove-entry, dired-delete-entry, dired-jump):
+       * lisp/files.el (save-buffer):
+       * lisp/find-dired.el (find-ls-option):
+       * lisp/hilit-chg.el:
+       * lisp/locate.el (locate-mode):
+       * lisp/msb.el (msb-dired-item-handler, msb-sort-by-directory):
+       * lisp/printing.el (pr-ps-printer-alist, pr-ps-utility-alist):
+       * lisp/uniquify.el (uniquify-trailing-separator-p):
+       * lisp/wdired.el (wdired, wdired-change-to-dired-mode, wdired-exit):
+       * lisp/woman.el (woman-dired-define-keys, woman-dired-find-file):
+       Capitalize "Dired" and "Lisp" in docstrings.  Found with checkdoc.
+
+2024-07-09  Jim Porter  <jporterbugs@gmail.com>
+
+       Document Eshell entry points
+
+       * doc/misc/eshell.texi (Entry Points): New chapter.
+       (Scripts): Move under Entry Points.  Expand documentation.
+
+2024-07-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#71929
+
+       * src/image.c (free_image_cache): Unconditionally release image
+       cache, as this function is only called with its existence
+       already established.
+
+       * src/xfaces.c (free_frame_faces): Clear FRAME_IMAGE_CACHE (f).
+       (bug#71929)
+
+2024-07-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#70697 with respect to fringe bitmaps
+
+       * src/pgtkterm.c (pgtk_draw_fringe_bitmap): Always call
+       `fill_background_by_face' for clearing backgrounds of fringe
+       bitmaps.  (bug#70697)
+
+2024-07-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix byte-compiler warning in calc.el
+
+       * lisp/calc/calc.el
+       (calc-embedded-open-close-new-formula-alist): Remove previously
+       introduced quotation marks, as they bring the width of the doc
+       string past 80.
+
+2024-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       editorconfig-core-handle.el: Fix regressions in fnmatch handling
+
+       * lisp/editorconfig-core-handle.el
+       (editorconfig-core-handle-get-properties-hash): Fix computation of
+       relative file name.
+       (editorconfig-core-handle--fnmatch-p): Handle the case when `pattern`
+       doesn't have a `/` but does match the `/` character.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `url/*.el`
+
+       * lisp/url/url-util.el (url-query-key-value-allowed-chars):
+       * lisp/url/url.el (url-retrieve-synchronously): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `term/*.el`
+
+       * lisp/term/android-win.el (android-clear-preedit-text):
+       * lisp/term/pgtk-win.el (featurep):
+       * lisp/term/x-win.el (x-clear-preedit-text): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `mh-e/*.el`
+
+       * lisp/mh-e/mh-e.el (mh-tool-bar):
+       * lisp/mh-e/mh-folder.el (mh-folder-mode):
+       * lisp/mh-e/mh-search.el (mh-pick-menu, mh-search-mode):
+       * lisp/mh-e/mh-show.el (mh-show-mode): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `calc/*.el`
+
+       * lisp/calc/calc.el (calc-embedded-open-close-new-formula-alist):
+       Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `textmodes/*.el`
+
+       * lisp/textmodes/ispell.el (ispell-command-loop):
+       * lisp/textmodes/mhtml-mode.el (mhtml--construct-submode):
+       * lisp/textmodes/page-ext.el (pages-set-delimiter):
+       * lisp/textmodes/refbib.el (r2b-get-field, r2b-put-field):
+       * lisp/textmodes/refer.el (refer-cache-bib-files):
+       * lisp/textmodes/reftex-index.el 
(reftex-index-phrase-selection-or-word):
+       (reftex-index-phrases-mode):
+       * lisp/textmodes/table.el (table-insert, table--fill-region-strictly):
+       Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `gnus/*.el`
+
+       * lisp/gnus/gnus-agent.el (gnus-agent-enable-expiration)
+       (gnus-agent-with-refreshed-group, gnus-agentize)
+       (gnus-agent-fetch-headers, gnus-agent-update-files-total-fetched-for)
+       (gnus-agent-update-view-total-fetched-for):
+       * lisp/gnus/gnus-art.el (gnus-article-address-banner-alist)
+       (gnus-default-article-saver, gnus-mime-view-part-as-charset)
+       (gnus-block-private-groups, gnus-article-edit-mode):
+       * lisp/gnus/gnus-dired.el (gnus-dired-mode, gnus-dired-attach)
+       (gnus-dired-find-file-mailcap, gnus-dired-print):
+       * lisp/gnus/gnus-msg.el (gnus-summary-attach-article):
+       * lisp/gnus/gnus-score.el (gnus-home-score-file):
+       * lisp/gnus/gnus-search.el (gnus-search-ignored-newsgroups)
+       (gnus-search-mu-switches, gnus-search-mu-remove-prefix)
+       (gnus-search-thread):
+       * lisp/gnus/gnus-sieve.el (gnus-sieve-string-list):
+       * lisp/gnus/message.el (message-beginning-of-line):
+       * lisp/gnus/mm-url.el:
+       * lisp/gnus/mm-view.el (mm-w3m-setup, mm-setup-w3m):
+       * lisp/gnus/mml-sec.el (mml-signencrypt-style):
+       * lisp/gnus/nndiary.el:
+       * lisp/gnus/nnimap.el (nnimap-server-port, nnimap-use-namespaces)
+       (nnimap-expunge):
+       * lisp/gnus/nnmail.el (nnmail-incoming-coding-system):
+       (nnmail-ignore-broken-references):
+       * lisp/gnus/nnmairix.el (nnmairix-default-group):
+       * lisp/gnus/nntp.el (nntp-report):
+       * lisp/gnus/nnvirtual.el (nnvirtual-update-read-and-marked):
+       (nnvirtual-partition-sequence):
+       * lisp/gnus/spam-stat.el (spam-stat-process-directory-age)
+       (spam-stat-last-saved-at, spam-stat-save):
+       * lisp/gnus/spam.el (spam-enter-ham-BBDB, spam-check-BBDB):
+       Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `eshell/*.el`
+
+       * lisp/eshell/em-elecslash.el:
+       * lisp/eshell/em-extpipe.el:
+       * lisp/eshell/em-pred.el (eshell-get-delimited-modifier-argument):
+       * lisp/eshell/esh-cmd.el (eshell--unmark-deferrable)
+       (eshell-named-command-hook):
+       * lisp/eshell/esh-module.el (eshell-module--feature-name):
+       * lisp/eshell/esh-util.el (eshell-find-delimiter): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `emulation/*.el`
+
+       * lisp/emulation/cua-base.el:
+       * lisp/emulation/viper-mous.el (viper-parse-mouse-key):
+       * lisp/emulation/viper.el (viper-major-mode-modifier-list):
+       Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `erc/*.el`
+
+       * lisp/erc/erc-backend.el (erc-server-parameters):
+       * lisp/erc/erc-button.el (erc-button--display-error-with-buttons):
+       * lisp/erc/erc-dcc.el (erc-dcc-member):
+       * lisp/erc/erc-fill.el (erc-fill-wrap-refill-buffer):
+       * lisp/erc/erc-speedbar.el (erc-speedbar--last-ran):
+       * lisp/erc/erc-stamp.el (erc-stamp--current-time):
+       * lisp/erc/erc-track.el (erc-make-mode-line-buffer-name):
+       * lisp/erc/erc.el (erc-interactive-display, erc-modules, erc-cmd-CLEAR)
+       (erc-update-current-channel-member, erc--format-user-modes)
+       (erc-check-text-conversion): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `vc/*.el`
+
+       * lisp/vc/ediff-init.el (ediff-start-narrowed)
+       (ediff-buffer-values-orig-A, ediff-buffer-values-orig-B)
+       (ediff-buffer-values-orig-C, ediff-buffer-values-orig-Ancestor):
+       * lisp/vc/ediff-mult.el:
+       * lisp/vc/ediff-ptch.el (ediff-get-patch-buffer):
+       * lisp/vc/emerge.el (emerge-before-flag, emerge-after-flag):
+       * lisp/vc/vc-dav.el (vc-dav-checkin):
+       * lisp/vc/vc-git.el (vc-git-command):
+       * lisp/vc/vc-hg.el (vc-hg-command):
+       * lisp/vc/vc-src.el (vc-src-command):
+       * lisp/vc/vc-svn.el (vc-svn-command):
+       * lisp/vc/vc.el (vc-checkin): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `emacs-lisp/*.el`
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-free-vars-warn)
+       (byte-compile-out):
+       * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions):
+       * lisp/emacs-lisp/find-func.el (find-ert-deftest-regexp):
+       * lisp/emacs-lisp/macroexp.el (byte-compile-form-stack):
+       Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `mail/*.el`
+
+       * lisp/mail/feedmail.el (feedmail-mail-send-hook-splitter)
+       (feedmail-queue-runner-message-sender):
+       * lisp/mail/mail-extr.el (mail-extr-nuke-outside-range):
+       * lisp/mail/rmail.el (rmail-automatic-folder-directives)
+       (rmail-summary-displayed):
+       * lisp/mail/rmailmm.el (rmail-mime-searching):
+       * lisp/mail/sendmail.el (mail-mode):
+       * lisp/mail/supercite.el (sc-mail-last-header-nuked-p): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in `net/*.el`
+
+       * lisp/net/ange-ftp.el:
+       * lisp/net/dictionary.el (dictionary-tool-bar-map):
+       * lisp/net/eudc.el (eudc-translate-query)
+       (eudc-translate-attribute-list)
+       (eudc-format-inline-expansion-result, eudc-bookmark-server):
+       * lisp/net/eww.el (eww-check-text-conversion):
+       * lisp/net/rcirc.el (rcirc-server-name):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-get-remote-uid):
+       * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p):
+       * lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p):
+       * lisp/net/tramp-message.el (tramp-debug-buffer-command-completion-p):
+       * lisp/net/tramp-sh.el (tramp-use-connection-share):
+       * lisp/net/tramp.el (tramp-command-completion-p): Checkdoc fixes.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Improve `use-package-vc-valid-keywords` docstring format
+
+       * lisp/use-package/use-package-core.el
+       (use-package-vc-valid-keywords): Improve docstring format.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Revert "Fix link to major mode variable in docstring"
+
+       This reverts commit 73c1252bb6b7cc61d9f992818568d3c57de4ff67.
+
+       This will sometimes say
+       "the variable `(default-value 'global-auto-revert-mode)'".
+       Problem reported by Eshel Yaron <me@eshelyaron.com>.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       * etc/TODO: Add item to convert documentation to 'setopt'.
+
+2024-07-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer 'setopt' in browse-url docs
+
+       * lisp/net/browse-url.el:
+       (browse-url-filename-alist): Doc fix; prefer 'setopt'.
+
+2024-07-08  Po Lu  <luangruo@yahoo.com>
+
+       Correct conditions for iconification on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
+       <isPaused>: Rename to <isStopped>.
+       (attachWindow): Adjust to match.
+       (onPause): Delete function.
+       (onStop): Deem frames iconified after calls to onStop instead.
+
+2024-07-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix execution of MS-Windows app execution aliases in Eshell
+
+       * lisp/eshell/esh-ext.el (eshell-script-interpreter): Check for 0-size
+       files (bug#71655).
+
+2024-07-07  Eval EXEC  <execvy@gmail.com>  (tiny change)
+
+       Improve 'tab-line-tabs-fixed-window-buffers' sorting performance
+
+       * lisp/tab-line.el (tab-line-tabs-fixed-window-buffers): Enhance
+       'tab-line-tabs-fixed-window-buffers' performance by optimizing buffer
+       sorting mechanism.  Replace inefficient 'seq-position' calls with a hash
+       table to cache buffer positions, significantly improving speed when
+       handling large buffer lists (bug#71958).
+
+2024-07-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp version (don't merge)
+
+       * doc/misc/trampver.texi:
+       * lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
+
+2024-07-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp parser
+
+       * lisp/net/tramp.el (tramp-host-with-port-regexp): Declare.
+       (tramp-set-syntax): Set also `tramp-host-with-port-regexp'.
+       (tramp-build-host-with-port-regexp): New defun.
+       (tramp-host-with-port-regexp): Make it a defvar.  (Bug#71972)
+
+       * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
+       (tramp-test01-file-name-syntax-simplified)
+       (tramp-test01-file-name-syntax-separate): Adapt tests.
+
+2024-07-07  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in progmodes
+
+       * lisp/progmodes/cperl-mode.el (cperl-file-style)
+       (cperl-continued-brace-offset, cperl-tips-faces):
+       * lisp/progmodes/eglot.el (eglot-confirm-server-edits, eglot)
+       (eglot-list-connections-mode, eglot--outstanding-inlay-hints-region)
+       (eglot--outstanding-inlay-regions-timer):
+       * lisp/progmodes/etags.el (etags-goto-tag-location)
+       (etags--xref-apropos-additional):
+       * lisp/progmodes/flymake.el (flymake-autoresize-margins):
+       * lisp/progmodes/gdb-mi.el (gdb-mouse-until, gdb-mouse-jump):
+       * lisp/progmodes/hideif.el (hif-parse-macro-arglist):
+       * lisp/progmodes/idlw-help.el (idlwave-html-help-location):
+       * lisp/progmodes/idlwave.el (idlwave-reserved-word-upcase):
+       * lisp/progmodes/java-ts-mode.el 
(java-ts-mode--string-highlight-helper):
+       * lisp/progmodes/js.el (js--chained-expression-p):
+       * lisp/progmodes/pascal.el (pascal-mode, pascal-comment-area):
+       * lisp/progmodes/python.el (python--treesit-fontify-union-types):
+       * lisp/progmodes/ruby-mode.el (ruby-align-chained-calls)
+       (ruby-block-indent, ruby-rubocop-use-bundler):
+       * lisp/progmodes/rust-ts-mode.el
+       (rust-ts-mode--prettify-symbols-compose-p):
+       * lisp/progmodes/verilog-mode.el (verilog-cache-has-lisp)
+       (verilog-auto-insert-lisp, verilog-highlight-region):
+       * lisp/progmodes/xref.el (xref--get-history): Various checkdoc fixes.
+
+2024-07-07  Stefan Kangas  <stefankangas@gmail.com>
+
+       Checkdoc fixes in Org Mode
+
+       * lisp/org/ob-core.el:
+       * lisp/org/ob-exp.el:
+       * lisp/org/ob-lob.el:
+       * lisp/org/ob-plantuml.el (org-babel-execute:plantuml):
+       * lisp/org/ob-python.el (org-babel-python--command)
+       (org-babel-python-initiate-session-by-key)
+       (org-babel-python-initiate-session):
+       * lisp/org/ob-scheme.el (org-babel-scheme-make-session-name):
+       * lisp/org/ob-tangle.el (org-babel-find-file-noselect-refresh)
+       (org-babel-interpret-file-mode):
+       * lisp/org/ob.el:
+       * lisp/org/org-agenda.el (org-agenda-mouse-1-follows-link)
+       (org-agenda-start-with-archives-mode)
+       (org-agenda-previous-line):
+       * lisp/org/org-clock.el (org-clock-save, org-clock-load):
+       * lisp/org/org-element-ast.el (org-element-type-p):
+       * lisp/org/org-faces.el (org-cycle-level-faces):
+       * lisp/org/org-fold-core.el (org-fold-core--isearch-overlays):
+       * lisp/org/org-fold.el (org-fold--extend-changed-region):
+       * lisp/org/org-goto.el:
+       * lisp/org/org-habit.el (org-habit-show-all-today):
+       * lisp/org/org-inlinetask.el (org-inlinetask-in-task-p):
+       * lisp/org/org-macs.el (org-current-text-column):
+       * lisp/org/org-mobile.el (org-mobile-check-setup):
+       * lisp/org/org-mouse.el (org-mouse-bolp):
+       * lisp/org/org-refile.el (org-refile):
+       * lisp/org/org-src.el (org-src-do-key-sequence-at-code-block):
+       * lisp/org/org-table.el (orgtbl-after-send-table-hook)
+       (orgtbl-self-insert-command, orgtbl-to-orgtbl):
+       * lisp/org/org.el (org-read-date-popup-calendar, org-finish-function)
+       (org-occur-parameters, org-self-insert-command, org-ctrl-c-ctrl-c-hook)
+       (org-ctrl-c-ctrl-c-final-hook, org-submit-bug-report)
+       (org--single-lines-list-is-paragraph):
+       * lisp/org/ox-icalendar.el (org-icalendar--vtodo):
+       * lisp/org/ox-latex.el (org-latex-generate-engraved-preamble):
+       (org-latex-src--engrave-code):
+       * lisp/org/ox-publish.el (org-publish-project-alist):
+       * lisp/org/ox.el (org-export-data): Various checkdoc fixes.
+
+2024-07-07  Stefan Kangas  <stefankangas@gmail.com>
+
+       Clarify `checkdoc-max-keyref-before-warn` docstring
+
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): Clarify
+       and reflow docstring.  Fix warning about overly long docstring.
+
+2024-07-07  Juri Linkov  <juri@linkov.net>
+
+       * lisp/files.el (insert-directory): Quote switches in wildcard case.
+
+       Use shell-quote-wildcard-pattern on the switches string split by
+       split-string-and-unquote.  This helps to quote such switches as
+       "--block-size='1" (bug#71935).
+
+2024-07-07  Juri Linkov  <juri@linkov.net>
+
+       Fix uses of 'dired-omit-mode' (bug#71905)
+
+       * lisp/dired.el (dired-jump): Disable dired-omit-mode with -1.
+
+       * lisp/files.el (recover-session): Disable dired-omit-mode
+       explicitly afterwards instead of modifying dired-mode-hook
+       that fails when it contains a lambda.
+
+2024-07-07  Po Lu  <luangruo@yahoo.com>
+
+       * src/androidvfs.c (android_saf_check_nonnull): Fix typo.
+
+2024-07-07  Po Lu  <luangruo@yahoo.com>
+
+       Correct JNI string error checking and miscellaneous corrections
+
+       * src/android-emacs.c (main): Do not attempt to load the
+       bootstrap class path, which is redundant on all Android releases.
+
+       * src/android.c (initEmacs, android_browse_url): Do not assume
+       exceptions will be raised if GetStringUTFChars fails.  Decode
+       Android JNI strings as Qandroid_jni.
+
+       * src/androidvfs.c (android_saf_check_nonnull): New function.
+       (android_saf_new_mkdir): Likewise.
+
+2024-07-07  Stefan Kangas  <stefankangas@gmail.com>
+
+       Correctly highlight SYMTAB in `awk-mode`
+
+       * lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Fix typo for
+       "SYMTAB" (see Info node '(gawk) Auto-set').
+
+2024-07-06  JD Smith  <93749+jdtsmith@users.noreply.github.com>
+
+       Fix formatting of tables with thead/tfoot but no tbody
+
+       Correctly handle formatting of tables containing thead and/or tfoot, but
+       without any tbody, to prevent including thead/tfoot content twice within
+       the table's derived body.
+       * lisp/net/shr.el (shr--fix-tbody): Omit 'thead' and 'tfoot' from
+       implicit body.  (Bug#71685)
+       * test/lisp/net/shr-resources/table.html:
+       * test/lisp/net/shr-resources/table.txt: New tests for table rendering.
+
+2024-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (buf_bytepos_to_charpos): Fix mixup introduced in commit b300052fb4ef
+
+       Backport of commit 1b595b4598e7 since it turns out this "minor typo"
+       had disastrous consequences in pathological cases and explains
+       some of the problems seen in bug#71644 and bug#63040.
+
+       * src/marker.c (buf_bytepos_to_charpos): Don't compare byte-positions
+       with char-positions.
+
+2024-07-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       package-buffer-info: Move 'require' earlier
+
+       * lisp/emacs-lisp/package.el (package-buffer-info):
+       Move 'require' earlier, before it is needed.
+
+2024-07-06  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Fix treesit range rule for jsdoc
+
+       The parser for jsdoc is local, so it is necessary for the range
+       rule to take this into account.
+       * lisp/progmodes/js.el (js-ts-mode): Add ':local' keyword.
+       (js-ts-language-at-point): Remove 'js-ts-language-at-point'.
+       (Bug#71776)
+
+2024-07-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix documentation of 'balance-windows'
+
+       * lisp/window.el (balance-windows): Doc fix.
+
+       * doc/emacs/windows.texi (Change Window): Make the description of
+       'balance-windows' more accurate.  (Bug#71915)
+
+2024-07-06  Daniel Semyonov  <daniel@dsemy.com>
+
+       nnatom: Ensure some parsed values are one line
+
+       * lisp/gnus/nnatom.el (nnatom--dom-line): New function.
+       (nnatom--read-title, nnatom--read-description)
+       (nnatom--read-article-or-group-authors, nnatom--read-subject)
+       (nnatom--read-id, nnatom--read-publish, nnatom--read-update)
+       (nnatom--read-links): Read text using `nnatom--dom-line'.
+       (Bug#71889)
+
+2024-07-06  Daniel Semyonov  <daniel@dsemy.com>
+
+       nnfeed: (Mostly) fix group descriptions
+
+       * lisp/gnus/nnfeed.el (nnfeed--group-description): New function.
+       (nnfeed-request-group-description, nnfeed-request-list-newsgroups):
+       Use `nnfeed--group-description' and always return t if group data
+       is found.  (Bug#71888)
+
+2024-07-06  João Távora  <joaotavora@gmail.com>
+
+       Eglot: support deprecated MarkedString (bug#71353)
+
+       * lisp/progmodes/eglot.el: Make a markdown code block if
+       MarkedString passed.
+
+2024-07-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix returning to original TTY frame after 'rmail-reply'
+
+       * lisp/mail/rmail.el (rmail-start-mail): Record the frame from
+       which an Rmail command, such as 'rmail-mail' or 'rmail-reply', was
+       invoked.
+       (rmail--find-orig-rmail-frame): New function.
+       (rmail-mail-return): Use 'rmail--find-orig-rmail-frame' to find
+       the original frame, and make it the top frame on its TTY terminal.
+       (Bug#69738)
+
+2024-07-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve warnings from native compiler
+
+       * src/comp.c (syms_of_comp) <native-compiler>: Rename from 'comp'.
+
+       * src/lread.c (maybe_swap_for_eln):
+       * lisp/emacs-lisp/comp.el (comp--fwprop):
+       * lisp/emacs-lisp/comp-run.el
+       (comp--accept-and-process-async-output, native--compile-async):
+       Adjust to the new symbol.
+
+2024-07-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Document adding package dependency on Emacs version
+
+       * doc/lispref/package.texi (Simple Packages, Multi-file Packages):
+       Document how to make a package depend on a specific version of Emacs.
+
+2024-07-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix file-name detection in Dired under -F
+
+       * lisp/files.el (insert-directory-clean): Support all the symbols
+       appended to file names by the -F/--classify option of 'ls'.  See
+       https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg00366.html
+       for the details.
+
+2024-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (edebug--called-interactively-skip): Fix bug#71934
+
+       * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip):
+       Adjust to new interpreted functions.
+
+2024-07-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix MS-Windows build with native-compilation
+
+       * src/w32.c (globals_of_w32): Move re-initialization of
+       Vlibrary_cache from here...
+       * src/emacs.c (main): ...to here, as it must be after load_pdump.
+       (Bug#71916)
+
+2024-07-03  Andrea Corallo  <acorallo@gnu.org>
+
+       Tag dbus-test05-register-signal-with-nils as unstable
+
+       * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils):
+       Tag it as unstable.
+
+2024-07-03  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit test (bug#71907)
+
+       * test/src/treesit-tests.el (treesit-node-check): Re-parse buffer before
+       checking for node outdated-ness.
+
+2024-07-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Focus more on MS-Windows than MS-DOS in FAQ
+
+       * doc/misc/efaq.texi (Editing Windows files): Rename section from
+       "Editing MS-DOS files", and update the text to focus on Windows.
+       * doc/misc/efaq.texi (Colors on a TTY)
+       (Emacs does not display 8-bit characters): Mention MS-Windows before
+       MS-DOS.
+
+2024-07-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Autoload some string functions
+
+       These functions are documented in both `(elisp) Creating Strings' and
+       'M-x shortdoc RET string RET', so users will expect them to be available
+       without having to require 'subr-x'.
+
+       * lisp/emacs-lisp/subr-x.el (string-fill, string-limit, string-pad)
+       (string-chop-newline): Autoload.
+
+2024-07-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       * etc/NEWS: Fix typos.
+
+2024-07-01  Alan Mackenzie  <acm@muc.de>
+
+       Remove a reference to a non-existant variable from a doc-string
+
+       * lisp/progmodes/cc-langs.el (c-opt-extra-label-key): Remove
+       reference to c-nonlabel-decl-prefix-re from the doc string.
+
+2024-07-01  Po Lu  <luangruo@yahoo.com>
+
+       * java/res/mipmap-v26/emacs_icon.xml: Define monospace icon.
+
+2024-07-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Improve `sentence-end-double-space` docstring
+
+       * lisp/textmodes/paragraphs.el (sentence-end-double-space):
+       Improve and expand docstring.
+
+2024-07-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Backport file backup FAQ item to Emacs <28
+
+       * doc/misc/efaq.texi (Not writing files to the current directory):
+       Backport recommendation to Emacs 27 or older.
+       Problem reported by David Hedlund <davidh@gnu.org>.
+
+2024-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+       More updates of documentation for Emacs 30
+
+       * etc/NEWS: Improve wording and move/mark entries.
+
+       * doc/lispref/positions.texi (List Motion): Document
+       'forward-sentence-function'.
+       * doc/lispref/functions.texi (What Is a Function): Document
+       'primitive-function-p' and 'cl-functionp'.
+       * doc/emacs/misc.texi (Saving Emacs Sessions): Improve wording and
+       indexing.
+       * doc/lispref/tips.texi (Documentation Tips): Adapt to the new
+       value of 'emacs-lisp-docstring-fill-column'.
+       * doc/emacs/fixit.texi (Spelling): Document
+       'flyspell-check-changes'.
+
+2024-06-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "; * etc/NEWS: Move items to "Incompatible Lisp Changes"."
+
+       This reverts commit 000ef8876ae9e2098cf98e1b1c468c09be3acd43.
+       Most of the moved items weren't actually incompatible changes.
+
+2024-06-30  Po Lu  <luangruo@yahoo.com>
+
+       Improve Android "adaptive icon"
+
+       * java/res/drawable/emacs_background.xml:
+
+       * java/res/drawable/emacs_foreground.xml: Transform borders and
+       gradient colors to better align with the original.
+
+2024-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix documentation for Emacs 30
+
+       * etc/NEWS: Mark entries and improve wording.
+
+       * doc/emacs/dired.texi (Operating on Files): Document
+       'dired-do-open'.  Fix indexing.
+       * doc/emacs/files.texi (Diff Mode): Document 'diff-apply-buffer'.
+       Fix indexing.
+       * doc/emacs/maintaining.texi (Project File Commands)
+       (Project Buffer Commands): Document 'project-any-command'.
+       * doc/emacs/building.texi (Other GDB Buffers): Document the user
+       option 'gdb-display-io-buffer'.
+       (Grep Searching): Document 'grep-use-headings'.
+       * doc/emacs/text.texi (Outline Visibility): Document Outline
+       commands that hide/show by heading regexp.
+       * doc/emacs/killing.texi (Kill Options): Document
+       'kill-ring-deindent-mode'.
+       * doc/emacs/basic.texi (Continuation Lines): Improve wording.
+
+2024-06-30  Robert Church  <chrchr@gmail.com>
+
+       Add D-Bus test
+
+       * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils):
+       New test.  (Bug#69926)
+
+2024-06-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/scratch/windows-98' into emacs-30
+
+       * configure.ac (W32_LIBS): Don't link with -lusp10 on non-Cygwin
+       systems.
+
+       * src/emacs.c (main): Call globals_of_w32 before the startup
+       directory is initialized.
+
+       * src/w32.c (maybe_load_unicows_dll): Call
+       load_unicows_dll_for_w32fns.
+
+       * src/w32.h: Update prototypes.
+
+       * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Do not
+       register the Uniscribe font driver when unavailable.
+       (pfnSHFileOperationW): New function pointer.
+       (Fsystem_move_file_to_trash): Load UNICOWS.DLL if not yet
+       loaded.  Call SHFileOperationW through said function pointer.
+       (pfnShellExecuteExW): New function pointer.
+       (Fw32_shell_execute) [!CYGWIN]: Load UNICOWS.DLL if not yet
+       loaded.  Call ShellExecuteExW through said function pointer.
+       (pfnShell_NotifyIconW): New function pointer.
+       (add_tray_notification, delete_tray_notification): Call
+       Shell_NotifyIconW through said function pointer.
+       (Fw32_notification_notify): Load UNICOWS.DLL.
+       (Fw32_notification_close): Return if Shell_NotifyIconW is
+       unavailable, as when UNICOWS.DLL has yet to be loaded.
+       (load_unicows_dll_for_w32fns): New function.
+
+       * src/w32notify.c (pfnReadDirectoryChangesW): New function
+       pointer.
+       (watch_completion, remove_watch, Fw32notify_add_watch)
+       (Fw32notify_rm_watch, Fw32notify_valid_p): Call
+       ReadDirectoryChangesW through said function pointer, and assert
+       its presence.
+       (globals_of_w32notify): Load ReadDirectoryChangesW from
+       KERNEL32.DLL.
+
+       * src/w32uniscribe.c (pfnScriptItemize, pfnScriptShape)
+       (pfnScriptPlace, pfnScriptGetGlyphABCWidth, pfnScriptFreeCache)
+       (pfnScriptGetCMap): New function pointers.
+       (uniscribe_close, uniscribe_shape, uniscribe_encode_char)
+       (uniscribe_check_otf_1): Call Uniscribe functions through the
+       same.
+       (syms_of_w32uniscribe_for_pdumper): Load Uniscribe library and
+       required functions from the same, and if unavailable, return
+       while leaving uniscribe_available intact.  On Cygwin, simply
+       assign USP10.DLL functions to the said new function pointers.
+
+2024-06-30  Po Lu  <luangruo@yahoo.com>
+
+       Inaccuracy in efaq.texi
+
+       Mac OS separately.
+
+2024-06-30  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit crash (bug#71681)
+
+       To reproduce the problem:
+
+       0. emacs -Q
+       1. eval: (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode))
+       2. C-x v L
+       3. in the *vc-change-log* buffer move point to the commit 20af58d3a13
+       4. type D
+       5. crash caused by diff-font-lock-syntax fontification that uses treesit
+
+       Emacs: 6f2036243f2 (2024-06-23, latest master)
+       Tree-sitter: 3da7deed (2024-06-08, version 0.22.6)
+
+       The immediate cause of the crash is that tree-sitter accessed a node's
+       tree, but the tree is already deleted.  Commenting out the
+       ts_tree_delete line in treesit_ensure_parsed can "fix" the crash.
+
+       What happended, I think, is this:
+
+       1. Buffer modified, parser->need_reparse set to true,
+       parser->timestamp incremented.
+       2. A node is created from the parser, this node has the old tree but
+       the new timestamp (bad!).
+       3. Parser re-parses (treesit_ensure_parsed), new tree created, old
+       tree deleted.
+       4. Ftreesit_query_capture accessed the old node, and the old tree,
+       crash.
+
+       We shouldn't bump the parser timestamp when we set
+       parser->need_reparse to true; instead, we should bump the timestamp
+       when we actually reparsed and created a new tree.
+
+       * src/treesit.c (treesit_record_change): Don't bump parser timestamp.
+       (treesit_sync_visible_region): Don't bump parser timestamp.
+       (Ftreesit_parser_set_included_ranges): Don't bump parser timestamp.
+       (treesit_ensure_parsed): Bump parser timestamp.
+       (Ftreesit_query_capture): Add node check.
+
+2024-06-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete redundant mention of `with-eval-after-load'
+
+       * lisp/progmodes/dcl-mode.el (dcl-mode): Delete redundant mention of
+       `with-eval-after-load'.
+
+2024-06-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       * doc/misc/efaq.texi (New in Emacs 30): Fix typos.
+
+2024-06-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Document security fixes in FAQ
+
+       * doc/misc/efaq.texi (New in Emacs 29): Recommend using Emacs 29.4.
+       * doc/misc/efaq.texi (Security risks with Emacs): New item with a
+       recommendation to upgrade Emacs for improved security.
+
+2024-06-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add "New in Emacs 30" to FAQ
+
+       * doc/misc/efaq.texi (New in Emacs 30): New section.
+
+2024-06-29  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>
+
+       Fix non-ASCII filename operatiion on EasyPG (bug#71500)
+
+       * lisp/epg.el (epg--start): Don't encode command-line arguments for
+       gpg2 program in raw-text.
+
+2024-06-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Silence warning with global minor mode :predicate
+
+       * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
+       Silence byte-compiler warning when :predicate is used.
+
+2024-06-29  George Huebner  <george@feyor.sh>  (tiny change)
+
+       Fix: make 'xwidget-webkit-scroll-backward' scroll backwards
+
+       * lisp/xwidget.el (xwidget-webkit-scroll-backward): Move
+       hyphen out of %-formatter, changing semantics from a padding
+       specifier to a negative sign.  (Bug#71792)
+
+2024-06-29  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Add jsdoc support to php-ts-mode in <script> element
+
+       In the <script> element, enable jsdoc embedding in JavaScript.
+       * lisp/progmodes/php-ts-mode.el
+       (php-ts-mode--language-source-alist): Add jsdoc to parser recipe.
+       (php-ts-mode): Add jsdoc parser check and a new rule for
+       'treesit-range-settings'.  Update the commentary section.
+       (Bug#71771)
+
+2024-06-29  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Update to Transient v0.7.2-4-gf75bc48d
+
+2024-06-29  Po Lu  <luangruo@yahoo.com>
+
+       Fix typo incurring leaks of face structures
+
+       * src/xfaces.c (free_realized_face): Always free realized face
+       structures, and avoid sending X requests when the display is not
+       available, not when it is.
+
+2024-06-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Sync with Tramp 2.7.1
+
+       * doc/misc/trampver.texi:
+       * lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
+       (customize-package-emacs-version-alist): Add Tramp version
+       integrated in Emacs 30.1.
+
+       * lisp/net/tramp-compat.el:
+       * lisp/net/tramp-message.el (tramp-warning): Use `lwarn'.
+
+       * test/lisp/net/tramp-tests.el
+       (tramp--test-deftest-without-file-attributes): New defmacro.
+       (tramp-test18-file-attributes-without-file-attributes)
+       (tramp-test19-directory-files-and-attributes-without-file-attributes)
+       (tramp-test18-file-attributes-without-file-attributes)
+       (tramp-test42-utf8-without-file-attributes): New tests.
+
+2024-06-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Expand docstring of which-key-mode
+
+       * lisp/which-key.el (which-key-mode): Expand docstring.
+
+2024-06-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of 'remove-overlays' in ELisp manual
+
+       * doc/lispref/display.texi (Managing Overlays): Update
+       documentation of 'remove-overlays'.  (Bug#57534)  (Bug#13648)
+
+2024-06-28  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix link to major mode variable in docstring
+
+       * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Fix link to
+       major mode variable in docstring.  (Bug#71815)
+
+2024-06-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make `shell-mode' more robust
+
+       * lisp/shell.el (shell-mode): Ensure that
+       `comint-input-ring-file-name' is non-nil when calling `file-truename'.
+
+2024-06-28  Po Lu  <luangruo@yahoo.com>
+
+       Correct ommissions in rmc.el
+
+       * lisp/emacs-lisp/rmc.el (touch-screen-scroll)
+       (touch-screen-pinch): Declare functions.
+       (read-multiple-choice--short-answers): Call the same functions
+       directly and prevent the on-screen keyboard from being
+       deactivated immedately before it is reopened.
+
+2024-06-28  Juri Linkov  <juri@linkov.net>
+
+       * lisp/hi-lock.el: More fixes related to revert-buffer.
+
+       (hi-lock-set-pattern): Use the same propertized string
+       for 'overlay-put' property to allow 'remove-overlays'
+       to remove it while using 'eq' on the property value.
+       https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg01001.html
+
+2024-06-28  Kyle Meyer  <kyle@kyleam.com>
+
+       Update to Org 9.7.5-9-ga091ca
+
+2024-06-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Write Antinews for Emacs 30 ELisp Reference
+
+       * doc/lispref/anti.texi (Antinews):
+       * doc/lispref/elisp.texi (Top): Rewrite "Antinews" for Emacs 30.
+
+2024-06-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (eval-last-sexp): Fix bug#71774
+
+       * lisp/progmodes/elisp-mode.el (eval-last-sexp): Set `values` only
+       when `eval-expression-debug-on-error` is nil.
+
+2024-06-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/hi-lock.el: More fixes for revert-buffer (bug#57534)
+
+       (hi-lock-set-pattern): Put the text property 'regexp' on the lighter 
string.
+       (hi-lock-revert-buffer-rehighlight): Get the real regexp from the
+       text property 'regexp'.  This fixes the case when the original
+       regexp gets lost after e.g. 'M-s . M-s h r'.
+
+2024-06-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): Improve 
(bug#57534).
+
+       Instead of detecting invalidated overlays, use the same condition
+       as in 'hi-lock-set-pattern', and always re-highlight overlays,
+       because even when overlays stays on their original positions,
+       there is a need to highlight more matches possibly added after revert.
+
+2024-06-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-select-restore-windows): Improve the 
docstring.
+
+       Suggested by Kévin Le Gouguec <kevin.legouguec@gmail.com> in bug#71779.
+
+2024-06-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Write Antinews for Emacs 30 user manual
+
+       * doc/emacs/anti.texi (Antinews):
+       * doc/emacs/emacs.texi (Top): Rewrite "Antinews" for Emacs 30.
+
+2024-06-27  F. Jason Park  <jp@neverwas.me>
+
+       Change ERC version for Emacs 30 to 5.6.0.30.1
+
+       * doc/misc/erc.texi: Change ERCVER to 5.6.0.30.1.
+       * lisp/erc/erc.el: Change Version package header to 5.6.0.30.1.  Don't
+       bother updating the `customize-package-emacs-version-alist' entry
+       because no user options are yet affected.
+       (erc-version): Change version to 5.6.0.30.1.
+       Do not merge to master.
+
+2024-06-27  Po Lu  <luangruo@yahoo.com>
+
+       * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): Typos.
+
+2024-06-27  Andrea Corallo  <acorallo@gnu.org>
+
+       Fix two tests for --without-all build
+
+       * test/src/image-tests.el
+       (image-tests-image-mask-p/error-on-nongraphical-display)
+       (image-tests-image-metadata/error-on-nongraphical-display): xpm images
+       are not supported in all configurations so use xbm for non graphical
+       display tests.
+
+2024-06-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix handling of non-nil 'dired-movement-style'
+
+       * lisp/dired.el (dired--move-to-next-line): Treat any non-nil
+       value of 'dired-movement-style' except 'cycle' as 'bounded'.
+       (dired-movement-style): Mention this in the doc string.
+       (Bug#71770)
+
+2024-06-27  James Thomas  <jimjoe@gmx.net>
+
+       Do not prematurely truncate python eldoc string
+
+       'eldoc-echo-area-use-multiline-p' is there for that.
+       * lisp/progmodes/python.el (python-eldoc-setup-code):
+       Make the change.  (Bug#71720)
+
+       * etc/NEWS: Announce the change in behavior.
+
+2024-06-27  Sebastian Miele  <iota@whxvd.name>
+
+       Add tests for `kill-whole-line' (bug#65734)
+
+       * test/lisp/simple-tests.el (simple-test-point-tag):
+       (simple-test-mark-tag):
+       (simple-test--set-buffer-text-point-mark):
+       (simple-test--get-buffer-text-point-mark): Add helper functions used by
+       the tests.
+       (kill-whole-line-invisible):
+       (kill-whole-line-read-only):
+       (kill-whole-line-after-other-kill):
+       (kill-whole-line-buffer-boundaries):
+       (kill-whole-line-line-boundaries): Add tests for `kill-whole-line'.
+
+2024-06-27  Sebastian Miele  <iota@whxvd.name>
+
+       kill-whole-line: Honor visibility; fix kill-ring when read-only 
(bug#65734)
+
+       * lisp/simple.el (kill-whole-line): Use visibility state before
+       performing any edits as reference instead of expecting that visibility
+       cannot change.  First of the two calls to `kill-region' may trigger
+       `after-change-functions' that might alter the visibility state.
+       Make sure that we populate the `kill-ring' with the contents of the
+       whole line when buffer is in `read-only-mode'.
+
+2024-06-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/hi-lock.el (hi-lock-file-patterns-policy): Add value 'always'.
+
+       (hi-lock-mode): Update docstring.
+       (hi-lock-find-patterns): Return t for value 'always'.
+       (hi-lock-revert-buffer-rehighlight): Rewrite to correctly handle
+       all possible cases (bug#57534).
+
+2024-06-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/xref.el (xref-revert-buffer-restore-point): New 
function.
+
+       (xref--xref-buffer-mode): Add xref-revert-buffer-restore-point
+       to revert-buffer-restore-functions (bug#71466).
+
+2024-06-27  Po Lu  <luangruo@yahoo.com>
+
+       Fix Cygwin build
+
+       * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): Define
+       and retrieve handle to USP10.DLL on Cygwin.
+
+2024-06-26  Eshel Yaron  <me@eshelyaron.com>
+
+       Use 'revert-function' in *xref* buffer
+
+       * lisp/progmodes/xref.el (xref--xref-buffer-mode-map): Cease
+       binding 'g' to 'xref-revert-buffer'.
+       (xref--xref-buffer-mode): Set 'revert-buffer-function' to...
+       (xref--revert-buffer): ...this.  New function, renamed from...
+       (xref-revert-buffer): ...this.  Make it an alias of
+       'revert-buffer'.
+       * etc/NEWS: Announce it.
+       * doc/emacs/maintaining.texi (Xref Commands): Update docs.
+
+2024-06-27  Po Lu  <luangruo@yahoo.com>
+
+       Prevent crashes and related issues if initial activity is destroyed on 
Android
+
+       * java/org/gnu/emacs/EmacsWindow.java
+       (EmacsWindow) <initialWindowCreated>: New variable.
+       (EmacsWindow): If the initial frame has not yet been created,
+       set attachmentToken to -1.
+
+       * java/org/gnu/emacs/EmacsWindowManager.java (registerWindow):
+       When the window's attachment token is -1 (i.e., it is the
+       default window), start EmacsActivity rather than
+       EmacsMultitaskActivity.  Catch exceptions around startActivity.
+
+2024-06-27  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Doc fix in 'php-ts-mode'
+
+       * lisp/progmodes/php-ts-mode.el
+       (php-ts-mode--custom-html-font-lock-settings): Doc fix.  (Bug#71759)
+
+2024-06-26  Ken Brown  <kbrown@cornell.edu>
+
+       Avoid compiler warnings in the Cygwin-w32 build
+
+       * src/w32fns.c [DEFAULT_IMAGE_BASE]: Don't define on Cygwin.
+       * src/cygw32.h (w32_get_resource): Add prototype.  (Bug#71786)
+
+2024-06-26  Stephen Berman  <stephen.berman@gmx.net>
+
+       Add new face 'widget-unselected' to wid-edit.el
+
+       * doc/misc/widget.texi (Customization): Document it.
+
+       * etc/NEWS: Announce 'widget-unselected' face.
+
+       * lisp/wid-edit.el (widget-unselected): New face.
+       (widget-specify-unselected, widget-specify-selected): New functions.
+       (widget-checkbox-action, widget-checklist-add-item)
+       (widget-radio-add-item, widget-radio-value-set)
+       (widget-radio-action): Use them.
+
+2024-06-26  Jim Porter  <jporterbugs@gmail.com>
+
+       Always perform Eshell process cleanup runs in the Eshell buffer
+
+       Previously, some code executed in a timer, which could execute in the
+       wrong buffer, leading to a hang.
+
+       * lisp/eshell/esh-proc.el (eshell-sentinel): Use 'with-current-buffer'
+       in the timer function.
+
+       * test/lisp/eshell/esh-proc-tests.el (eshell-test-value): New variable.
+       (esh-proc-test/sentinel/change-buffer): New test.
+
+       (cherry picked from commit da4bc5c9274a6705501e24fb8f2984f5bf5fe099)
+
+2024-06-26  Po Lu  <luangruo@yahoo.com>
+
+       Avert crash in store_mode_line_string on Android 5.0 and earlier
+
+       * src/xdisp.c (store_mode_line_string)
+       [__ANDROID_API__ < 22]: Call strlen on STRING if the limit
+       would otherwise be SIZE_MAX, or if the address of the string
+       is within PRECISION bytes of UINTPTR_MAX, in which case it
+       cannot possibly be larger than PRECISION.
+
+2024-06-25  Ken Brown  <kbrown@cornell.edu>
+
+       Use HarfBuzz in Cygwin-w32 build
+
+       * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [CYGWIN]:
+       Use cygharfbuzz-0.dll as HarfBuzz DLL name instead of
+       libharfbuzz-0.dll. (Bug#71766)
+
+2024-06-25  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix tabbing between widgets (bug#70594)
+
+       * lisp/wid-edit.el (widget-move): Don't error when tabbing in a
+       buffer with only one active widget and 'widget-skip-inactive'
+       enabled.  Improve code by handling forward and backward movement
+       in a single loop.
+
+2024-06-25  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/touch-screen.el (touch-screen-inhibit-drag): Another typo.
+
+2024-06-25  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix rescaling of images via 'text-scale-mode' in EWW
+
+       * lisp/net/eww.el (eww--rescale-images): Handle a :scale of 'default'
+       (bug#71741).
+
+       (cherry picked from commit 3abcfe013d809a8194f5158877fd43f11d714fd5)
+
+2024-06-25  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/touch-screen.el (touch-screen-inhibit-drag): Fix typo.
+
+2024-06-25  Po Lu  <luangruo@yahoo.com>
+
+       Fix latent side-effects of respecting field boundaries in text 
conversion
+
+       * src/textconv.c (textconv_query, get_extracted_text)
+       (get_surrounding_text): Restore selected window in addition to
+       excursion.
+       (locate_and_save_position_in_field): Restore excursion lest the
+       current buffer differ from the selected window's contents, to
+       prevent redisplay from clobbering the current buffer when called
+       while the current buffer is at variance with the selected
+       window's contents, as seen with dired-other-window.
+
+2024-06-24  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Add missing builtin package declarations
+
+       * lisp/editorconfig-conf-mode.el:
+       * lisp/editorconfig-core-handle.el:
+       * lisp/editorconfig-core.el:
+       * lisp/editorconfig-fnmatch.el:
+       * lisp/editorconfig-tools.el: Declare library as part of the
+       'editorconfig' package.
+
+2024-06-24  Michael Albinus  <michael.albinus@gmx.de>
+
+       Extend treesitter tests on emba
+
+       * test/infra/Dockerfile.emba (emacs-tree-sitter): Install c-ashrp
+       grammar.
+
+       * test/infra/Makefile.in (TREE-SITTER-FILES): Add csharp-mode-tests.el.
+       (tree-sitter-files): Rename from tree-sitter-files-template.
+       Generate .tree-sitter-files.
+
+       * test/infra/gitlab-ci.yml (test-tree-sitter): Extend 
.tree-sitter-files.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2024-06-24  Robert Pluim  <rpluim@gmail.com>
+
+       Show entries from key-translation-map in which-key mode
+
+       * lisp/which-key.el (which-key-extra-keymaps): New user option.
+       (which-key--get-current-bindings): Consult it.
+
+       (Bug#71648)
+
+2024-06-24  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-tab-group-face-function): Improve doc 
(bug#71733).
+
+2024-06-24  Robert Pluim  <rpluim@gmail.com>
+
+       Don't show char name for multi-char translations
+
+       I forgot about shift-translation when implementing this originally, so
+       this code was being triggered for things like 'C-S-<up>'.
+
+       * lisp/help.el (help-key-description): Check if the translation result
+       is a single char.
+
+       (Bug#71411)
+
+2024-06-24  Robert Pluim  <rpluim@gmail.com>
+
+       Reset ls-lisp-use-string-collate when ls-lisp-emulation changes
+
+       * lisp/ls-lisp.el (ls-lisp-set-options): Add ls-lisp-use-string-collate
+       to the list of custom options that are reset when ls-lisp-emulation
+       changes.
+
+       https://lists.gnu.org/archive/html/help-gnu-emacs/2024-06/msg00135.html
+
+2024-06-24  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Update to Transient v0.7.2-1-gf273c0c8
+
+       This fixes two bugs, one of them restoring compatibility with the
+       version that ships with Emacs 29, making emoji-insert usable again.
+       The other changes are of cosmetic nature.  The only exception is a new
+       command, whose creation lead to the discovery of one of the bugs, and
+       remains unused until a package author actually binds it in a prefix.
+       I.e., unless someone actually uses this, the risk of a regression is
+       close to zero, and even if it is used, it can only affect the prefix
+       that binds it.
+
+2024-06-24  Andreas Schwab  <schwab@suse.de>
+
+       * doc/misc/calc.texi (Musical Notes): Fix typo.
+
+2024-06-24  Philip Kaludercic  <philipk@posteo.net>
+
+       Update options that depend on 'which-key-dont-use-unicode'
+
+       * lisp/which-key.el (which-key-dont-use-unicode): Add a custom setter
+       that re-evaluates a manual list of options use
+       'which-key-dont-use-unicode' to determine their default value.
+
+       https://lists.gnu.org/archive/html/help-gnu-emacs/2024-06/msg00130.html
+
+2024-06-24  Po Lu  <luangruo@yahoo.com>
+
+       Fix omission of updates to child frames on Android
+
+       * java/org/gnu/emacs/EmacsView.java (onAttachedFromWindow):
+       Force a layout cycle rather than report exposure immediately.
+       (prepareForLayout): Delete function.
+
+       * java/org/gnu/emacs/EmacsWindow.java (mapWindow): Remove
+       redundant calls to prepareForLayout.
+
+       * src/androidterm.c (handle_one_android_event): Do not swap
+       buffers when exposure is registered by a frame only partially
+       updated.
+
+2024-06-24  Damien Cassou  <damien@cassou.me>
+
+       Add jsdoc support to js-ts-mode
+
+       * lisp/progmodes/js.el (js--treesit-font-lock-settings): Add jsdoc
+       font-lock settings.
+       (js--treesit-jsdoc-beginning-regexp): New variable to match the
+       beginning of a jsdoc block.
+       (js-ts-mode): Add jsdoc support. Save the 'javascript parser to
+       `treesit-primary-parser'. Configure `treesit-range-settings' to
+       use a jsdoc parser within a JavaScript file.
+       (js-ts-language-at-point): New function to return either 'jsdoc or
+       'javascript depending on where the point is.
+
+2024-06-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Backport: Minor changes in tramp-tests.el
+
+       * test/lisp/net/tramp-tests.el (tramp--test-shell-file-name):
+       Use connection-local value.
+       (tramp--test-shell-command-switch): New defun.
+       (tramp-test28-process-file)
+       (tramp-test34-explicit-shell-file-name): Use it.
+       (tramp--test-supports-processes-p): Simplify.
+       (tramp--test-check-files): Use `tramp-compat-seq-keep'.
+       (tramp-test45-asynchronous-requests): Don't let-bind `shell-file-name'.
+       (tramp-test45-asynchronous-requests): Adjust timer.
+       (tramp-test45-asynchronous-requests): Add another test message.
+
+       (cherry picked from commit c95caade15d295fa6cc31d337028faa15142b388)
+
+2024-06-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Backport: Tramp: Fix bug#71709, and other minor changes
+
+       * lisp/net/tramp-message.el (tramp-backtrace): Print also in batch mode.
+
+       * lisp/net/tramp.el (tramp-skeleton-file-exists-p): Check for
+       property only.
+       (tramp-skeleton-make-process): Don't set `default-directory'.
+       (tramp-handle-make-process): Set it.  (Bug#71709)
+
+       (cherry picked from commit 8456cb9b698dfbfc90af82b3ebcd739fc22be4e4)
+
+2024-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+       New branch emacs-30
+
+       * README:
+       * configure.ac:
+       * nt/README.W32:
+       * etc/refcards/ru-refcard.tex:
+       * msdos/sed2v2.inp:
+       * lisp/cus-edit.el (customize-changed-options-previous-release):
+       Cut the emacs-30 release branch.
+
+2024-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * admin/admin.el: (set-version): Fix regexp for configure.ac.
+
+2024-06-23  Po Lu  <luangruo@yahoo.com>
+
+       Disable Ffile_system_info for Android special directories
+
+       * src/fileio.c (Ffile_system_info): Return Qnil if FILENAME
+       refers to a special directory.
+
+2024-06-23  Po Lu  <luangruo@yahoo.com>
+
+       Restore functionality on Windows 98
+
+       * configure.ac (W32_LIBS): Don't link with -lusp10 on non-Cygwin
+       systems.
+
+       * src/emacs.c (main): Call globals_of_w32 before the startup
+       directory is initialized.
+
+       * src/w32.c (maybe_load_unicows_dll): Call
+       load_unicows_dll_for_w32fns.
+
+       * src/w32.h: Update prototypes.
+
+       * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Do not
+       register the Uniscribe font driver when unavailable.
+       (pfnSHFileOperationW): New function pointer.
+       (Fsystem_move_file_to_trash): Load UNICOWS.DLL if not yet
+       loaded.  Call SHFileOperationW through said function pointer.
+       (pfnShellExecuteExW): New function pointer.
+       (Fw32_shell_execute) [!CYGWIN]: Load UNICOWS.DLL if not yet
+       loaded.  Call ShellExecuteExW through said function pointer.
+       (pfnShell_NotifyIconW): New function pointer.
+       (add_tray_notification, delete_tray_notification): Call
+       Shell_NotifyIconW through said function pointer.
+       (Fw32_notification_notify): Load UNICOWS.DLL.
+       (Fw32_notification_close): Return if Shell_NotifyIconW is
+       unavailable, as when UNICOWS.DLL has yet to be loaded.
+       (load_unicows_dll_for_w32fns): New function.
+
+       * src/w32notify.c (pfnReadDirectoryChangesW): New function
+       pointer.
+       (watch_completion, remove_watch, Fw32notify_add_watch)
+       (Fw32notify_rm_watch, Fw32notify_valid_p): Call
+       ReadDirectoryChangesW through said function pointer, and assert
+       its presence.
+       (globals_of_w32notify): Load ReadDirectoryChangesW from
+       KERNEL32.DLL.
+
+       * src/w32uniscribe.c (pfnScriptItemize, pfnScriptShape)
+       (pfnScriptPlace, pfnScriptGetGlyphABCWidth, pfnScriptFreeCache)
+       (pfnScriptGetCMap): New function pointers.
+       (uniscribe_close, uniscribe_shape, uniscribe_encode_char)
+       (uniscribe_check_otf_1): Call Uniscribe functions through the
+       same.
+       (syms_of_w32uniscribe_for_pdumper): Load Uniscribe library and
+       required functions from the same, and if unavailable, return
+       while leaving uniscribe_available intact.  On Cygwin, simply
+       assign USP10.DLL functions to the said new function pointers.
+
+2024-06-23  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix a bug in 'switch-to-buffer'
+
+       * lisp/window.el (switch-to-buffer): When asked to switch to the
+       buffer of the selected window,
+       'switch-to-buffer-obey-display-actions' is non-nil and
+       'pop-to-buffer' uses the selected window, don't try to restore
+       window start and point from 'window-prev-buffers' (Bug#71616).
+
+2024-06-23  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix zooming images in SHR
+
+       Previously, for images with no alt-text, the zoomed image wouldn't get
+       properly inserted.  For images with alt-text, both the zoomed and
+       unzoomed image would be displayed at once (bug#71666).
+
+       * lisp/net/shr.el (shr-sliced-image): New face.
+       (shr-zoom-image): Reimplement using
+       'next/previous-single-property-change', and don't bother deleting any of
+       the text.
+       (shr-image-fetched): Clean up any overlays when deleting the old region.
+       (shr-put-image): Ensure we always have a non-empty string to put the
+       image on.  For sliced images, just use "*", since we'll repeat it, so we
+       can't preserve the original buffer text exactly anyway.  Apply an
+       overlay to sliced images to prevent unsightly text decorations.
+       (shr-tag-img): Move the placeholder space insertion where it should be
+       and explain what it's doing.
+
+       * test/lisp/net/shr-tests.el (shr-test--max-wait-time)
+       (shr-test-wait-for): New helper functions.
+       (shr-test/zoom-image): New test.
+
+2024-06-23  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Colorize CSS property value like `css--fontify-region'
+
+       If the value of a property is text representing a CSS color,
+       it will be fontified such that its background is the color
+       itself. 'php-ts-mode-css-fontify-colors' can be used to
+       disable this behaviour.
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode-css-fontify-colors):
+       New custom var.
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode--colorize-css-value):
+       New function.
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode): Use the new
+       function.  (Bug#71724)
+
+2024-06-23  Po Lu  <luangruo@yahoo.com>
+
+       * configure.ac: Disable kqueue on Haiku.
+
+2024-06-23  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Fix 'Customize' menu entry for 'php-ts-mode'
+
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode-menu):
+       Replace menu entry with 'php-ts-mode' group.  (Bug#71723)
+
+2024-06-23  Po Lu  <luangruo@yahoo.com>
+
+       Fix compilation on prerelease versions of Haiku
+
+       * src/kqueue.c (Fkqueue_add_watch): Don't specify EV_ENABLE
+       unless it is defined.
+
+2024-06-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix FIXME in comment
+
+       * src/timefns.c (decode_float_time): Explain why the code
+       can use large precision here, removing a FIXME by updating
+       the containing comment.
+
+2024-06-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update SKK-JISYO.L from upstream
+
+       * leim/SKK-DIC/SKK-JISYO.L: Update from
+       https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L
+
+2024-06-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update publicsuffix.txt from upstream
+
+       * etc/publicsuffix.txt: Update from
+       https://publicsuffix.org/list/public_suffix_list.dat
+       dated 2024-06-21 13:05:36 UTC.
+
+2024-06-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add assignment form as `etc/copyright-assign.txt`
+
+       This change was discussed in:
+       https://lists.gnu.org/r/emacs-devel/2023-12/msg00326.html
+
+       * etc/copyright-assign.txt: New file copied from
+       https://www.gnu.org/s/gnulib/Copyright/request-assign.future
+       * doc/emacs/trouble.texi (Copyright Assignment):
+       * etc/TODO: Point to above new file.
+
+2024-06-22  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Fix for grammar change of keyword "virtual" in tree-sitter-cpp
+
+       The new rule works with both the new (>= 0.22.1) and the
+       old (<= 0.22.0) grammar libraries.
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Removed
+       the keyword "virtual".
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
+       New font lock rule. (Bug#71518)
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Revert "; * etc/HISTORY: Delete never-released Emacs 28.3."
+
+       This reverts commit ea057131220bba504d28812dc8be58007017b029.
+
+       Some GNU/Linux distros have offered Emacs 28.3 based on this tag, so
+       this entry should be kept.
+
+2024-06-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Update Tramp version (don't merge to master)
+
+       * lisp/net/trampver.el (customize-package-emacs-version-alist):
+       Adapt Tramp version integrated in Emacs 29.4.
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Manually merge NEWS.29 from emacs-29
+
+       * etc/NEWS.29: Manually merge from etc/NEWS on the 'emacs-29' branch.
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       fd15d89ec51 Merge remote-tracking branch 'origin/emacs-29' into emacs-29
+       6a299b3cace Release Emacs 29.4
+       7f7b28a2500 ; Wayland SECONDARY selection problem
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       7cc939bf27e ; * lisp/ldefs-boot.el: Regenerated for Emacs 29.4
+
+       # Conflicts:
+       #       lisp/ldefs-boot.el
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       9a02fce714c Update files for Emacs 29.4
+       d96c54d3883 * admin/authors.el: Update for Emacs 29.4
+       fd207432e50 * etc/NEWS: Update for Emacs 29.4
+       c645e1d8205 org-link-expand-abbrev: Do not evaluate arbitrary unsafe ...
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Replace literal whitespace with `\s`
+
+       * test/lisp/vc/log-edit-tests.el (log-edit-fill-entry-confinement)
+       (log-edit-fill-entry-space-substitution)
+       (log-edit-fill-entry-initial-wrapping): Replace literal space character
+       with '\s', to avoid tripping up merge scripts.
+
+2024-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix non-existing `editorconfig-set-indentation-python-mode`
+
+       * lisp/editorconfig.el (editorconfig--get-indentation-python-mode):
+       New function.
+       (editorconfig-indentation-alist): Use it.
+       (editorconfig-indent-size-vars): Improve docstring.
+       (editorconfig--default-indent-size-function): Add docstring.
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge remote-tracking branch 'origin/emacs-29' into emacs-29
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Release Emacs 29.4
+
+       * ChangeLog.4:
+       * etc/HISTORY: Update files for Emacs 29.4.
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add before-save-hook to man page files
+
+       * doc/man/ebrowse.1:
+       * doc/man/emacs.1.in:
+       * doc/man/emacsclient.1:
+       * doc/man/etags.1: Add 'before-save-hook' that runs 'time-stamp' to
+       local variables.
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use UTC when generating man page timestamps
+
+       * doc/man/ebrowse.1:
+       * doc/man/emacs.1.in:
+       * doc/man/emacsclient.1:
+       * doc/man/etags.1: Add 'time-stamp-time-zone' to local variables to
+       prefer UTC when generating timestamp.
+
+2024-06-22  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       7f7b28a2500 ; Wayland SECONDARY selection problem
+
+2024-06-22  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ce85d3811da Fix bug#49289 also for other auth-source backends
+
+2024-06-22  Eli Zaretskii  <eliz@gnu.org>
+
+       Allow to expand truncated long lines in *Compilation* buffers
+
+       * lisp/progmodes/compile.el (compilation-button-map): Bind keys
+       in 'compilation-button-map' to allow expanding the truncated
+       text.  (Bug#71683)
+
+2024-06-22  Troy Brown  <brownts@troybrown.dev>  (tiny change)
+
+       Eglot: Fix command execution (bug#71642)
+
+       * lisp/progmodes/eglot.el (eglot--lsp-interface-alist): Add
+       ExecuteCommandParams interface.
+       (eglot--execute): Fix handling of Command and CodeAction and add
+       ExecuteCommandParams.
+
+2024-06-22  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Support for indentation of PHP alternative syntax control structures
+
+       For some control structures, PHP provides an alternative syntax.
+       A new rule has been added to handle this syntax.
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode--indent-styles):
+       New rule for PHP alternative syntax.  (Bug#71710)
+
+2024-06-22  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Prevent auto-revert when deleting entry (bug#71264)
+
+       * lisp/dired.el (require): Require "autorevert" for
+       `auto-revert-mode' usage.
+       (dired-internal-do-deletions): Temporarily prevent auto-revert.
+
+2024-06-22  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Fix font lock regex for user defined constant in PHP
+
+       The old regex also captured functions with two or more
+       uppercase characters.  This new regex fixes that issue.
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode--font-lock-settings):
+       New regex that match only user-defined constants.  (Bug#71593)
+
+2024-06-22  Rudolf Adamkovič  <rudolf@adamkovic.org>
+
+       Make Compilation mode recognize non-legacy Kotlin/Gradle errors
+
+       The Compilation mode recognizes Kotlin/Gradle errors but only in
+       the now legacy format.  The current format, which has been in wide
+       use for about a year, is not supported.  This change adds support
+       for the current format.
+       * etc/compilation.txt: (symbols): Add examples of non-legacy
+       Kotlin/Gradle warnings and errors.
+       * lisp/progmodes/compile.el: (compilation-error-regexp-alist-alist):
+       Rename 'gradle-kotlin' to 'gradle-kotlin-legacy' and add
+       'grade-kotlin' that matches the errors and warnings outputted by
+       the current (non-legacy) Kotlin/Gradle.  (Bug#70797)
+       * test/lisp/progmodes/compile-tests.el
+       (compile-tests--test-regexps-data): Rename 'gradle-kotlin' to
+       'gradle-kotlin-legacy' and add two test cases for the newly added,
+       non-legacy Kotlin/Gradle warnings and errors.
+
+2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       List Andrea Corallo as co-maintainer in ack.texi
+
+       * doc/emacs/ack.texi (Acknowledgments): List Andrea Corallo as
+       co-maintainer from 29.3 onwards.
+
+2024-06-22  Andrea Corallo  <acorallo@gnu.org>
+
+       * admin/MAINTAINERS: Add myself in (co-)maintainers.
+
+2024-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc/emacs/custom.texi (Directory Variables): Add menu
+
+2024-06-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix `emacs --geometry` flag on macOS
+
+       * lisp/startup.el (command-line-ns-option-alist): Fix --geometry
+       flag on macOS.  (Bug#71669)
+
+2024-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc/emacs/custom.texi (EditorConfig support): Add URL
+
+2024-06-21  Po Lu  <luangruo@yahoo.com>
+
+       Fix execution of tool-bar commands read within minibuffer-error-handler
+
+       * src/keyboard.c (read_char): Arrange that the original event be
+       recorded when a posn is promoted to a prefix key and an END_TIME
+       is suppressing additions to this_command_keys.
+
+2024-06-21  Jim Porter  <jporterbugs@gmail.com>
+
+       Ensure navigating by paragraphs in Eshell stops at prompts and 
paragraphs
+
+       The previous implementation in 6ae2b74ed20 only stopped at prompts,
+       which isn't the right behavior (bug#61545).
+
+       * lisp/eshell/em-prompt.el (eshell-forward-paragraph)
+       (eshell-backward-paragraph): Reimplement to handle prompts and
+       paragraphs (the latter by calling the original 'forward-paragraph').
+
+       * test/lisp/eshell/em-prompt-tests.el
+       (em-prompt-test/next-previous-prompt/multiline): Rename.
+       (em-prompt-test/forward-backward-paragraph-1): New function.
+       (em-prompt-test/forward-backward-paragraph)
+       (em-prompt-test/forward-backward-paragraph/multiline): New tests.
+
+2024-06-21  Jim Porter  <jporterbugs@gmail.com>
+
+       Limit the amount of text we examine when looking for password prompts
+
+       Both Comint and Eshell do this, and it can significantly slow down
+       commands that write a lot of output (bug#71576).
+
+       * lisp/comint.el (comint-password-prompt-max-length): New variable...
+       (comint-watch-for-password-prompt): ... use it.  Additionally, use the
+       matched result for the Emacs-based password prompt.
+
+       * lisp/eshell/esh-mode.el (eshell-password-prompt-max-length): New
+       variable...
+       (eshell-watch-for-password-prompt): ... use it.
+
+       * etc/NEWS: Announce this change.
+
+2024-06-20  Tomas Fabrizio Orsi  <torsi@fi.uba.ar>  (tiny change)
+
+       Allow giving "ping" flags with `C-u M-x ping`
+
+       * lisp/net/net-utils.el (ping): With a prefix argument, prompt the user
+       for flags to pass to the "ping" command.  (Bug#71438)
+       * etc/NEWS: Document the above change.
+
+2024-06-20  Juri Linkov  <juri@linkov.net>
+
+       * lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): Restore same 
faces.
+
+       After reverting the buffer apply all previous patterns with exactly
+       the same faces as were assigned to patterns before.
+
+2024-06-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix misspelled function name in comp.c
+
+       * src/comp.c (retrieve_block): Rename from 'retrive_block'.
+       Update all callers.
+
+2024-06-20  Po Lu  <luangruo@yahoo.com>
+
+       Fix NS build
+
+       * src/nsfns.m (Fx_create_frame, ns_create_tip_frame): Remove
+       references to deleted variable.  (bug#71638)
+
+2024-06-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove more references to Windows 95
+
+       * doc/lispref/frames.texi (Window System Selections):
+       * doc/misc/ediff.texi (Patch and Diff Programs):
+       * doc/misc/efaq-w32.texi (Third-party multibyte, Swap Caps NT)
+       (Subprocesses and floppy drive):
+       * etc/PROBLEMS:
+       * lisp/printing.el (pr-path-alist, pr-command):
+       * lisp/ps-print.el: Remove more references to Windows 95, which is not
+       supported by Emacs.
+
+2024-06-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix last change
+
+       * src/xdisp.c (handle_line_prefix): Set the 'align_visually_p'
+       only after pushing the iterator.
+       (pop_it): Reset the 'align_visually_p' flag.  (Bug#71605)
+
+2024-06-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix use of ':align-to' in 'wrap-prefix'
+
+       * src/dispextern.h (struct it): New flag 'align_visually_p'.
+       * src/xdisp.c (handle_line_prefix): Set the 'align_visually_p'
+       flag for 'wrap-prefix'.
+       (produce_stretch_glyph): If 'align_visually_p' flag is set, count
+       the :align-to offset from the beginning of the screen line, not
+       from BOL.  (Bug#71605)
+
+       * doc/lispref/display.texi (Truncation, Specified Space): Document
+       the special handling of ':align-to' in 'wrap-prefix'.
+
+2024-06-20  Po Lu  <luangruo@yahoo.com>
+
+       * src/frame.c (gui_set_font): Reference image cache after reassignment.
+
+2024-06-20  Po Lu  <luangruo@yahoo.com>
+
+       Correctly cache images when frames vary in their font metrics
+
+       * src/alloc.c (mark_frame): Mark this frame's image cache, if it
+       exist.
+       (mark_terminals): Cease marking T->image_cache.
+
+       * src/androidfns.c (unwind_create_frame, Fx_create_frame)
+       (android_create_tip_frame):
+
+       * src/haikufns.c (unwind_create_frame, haiku_create_frame)
+       (haiku_create_tip_frame):
+
+       * src/nsfns.m (unwind_create_frame):
+
+       * src/pgtkfns.c (unwind_create_frame, Fx_create_frame)
+       (x_create_tip_frame):
+
+       * src/xfns.c (unwind_create_frame, Fx_create_frame)
+       (x_create_tip_frame):
+
+       * src/w32fns.c (unwind_create_frame, Fx_create_frame)
+       (w32_create_tip_frame): Remove adjustments of the frame image
+       cache's reference count rendered redundant by the assignment of
+       image caches to individual frames rather than terminals.
+
+       * src/dispextern.h (struct image_cache) <scaling_col_width>: New
+       field.
+
+       * src/frame.c (gui_set_font): In lieu of clearing F's image
+       cache unconditionally, establish whether the column width as
+       considered by compute_image_size has changed, and if so, adjust
+       or reassign the frame's image cache.
+       (make_frame): Clear F->image_cache.
+
+       * src/frame.h (struct frame) <image_cache>: New field.
+       (FRAME_IMAGE_CACHE): Return F->image_cache.
+
+       * src/image.c (make_image_cache): Clear C->scaling_col_width.
+       (cache_image): Adjust to new means of assigning image caches to
+       frames.
+
+       * src/termhooks.h (struct terminal) <image_cache>: Delete field.
+
+       * src/xfaces.c (init_frame_faces): Do image cache assignment
+       with all new frames.
+
+2024-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/editorconfig.el (editorconfig-version): Delete function
+
+       Better use a generic command like `C-h P` or `M-x list-packages`
+       which works uniformly for all packages.
+
+2024-06-19  Rodrigo Kassick  <kassick@gmail.com>  (tiny change)
+
+       Fix display-buffer-override-next-command (bug#71654)
+
+       * lisp/window.el (display-buffer-override-next-command):
+       display-buffer-overriding-action's car can be either a function or a
+       list of functions. When a function,
+       (push action (car display-buffer-overriding-action)) will create a
+       cons-cell (action . function) instead of a list. In the clear-fun
+       callback, trying to
+       (delq action (car display-buffer-overriding-action)) causes an
+       wrong-type-argument error.
+
+2024-06-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update leuven-theme to latest upstream version
+
+       * etc/themes/leuven-dark-theme.el:
+       * etc/themes/leuven-theme.el: Update to latest upstream version
+       https://github.com/fniessen/emacs-leuven-theme/ commit
+       a504c1d20625fe373ad5ea4ff3d94ea3706cbb87 (2024-03-30).
+
+2024-06-19  Philip Kaludercic  <philipk@posteo.net>
+
+       * lisp/which-key.el (which-key-is-verbose): Remove unused option
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Integrate feedback from Stefan Kangas and Michael Albinus
+
+       * lisp/editorconfig.el, lisp/editorconfig-tools.el, 
lisp/editorconfig-core.el:
+       * lisp/editorconfig-core-handle.el, lisp/editorconfig-conf-mode.el:
+       * lisp/editorconfig-fnmatch.el: Fix the reference to CONTRIBUTORS.
+       * doc/emacs/custom.texi (EditorConfig support):
+       * etc/NEWS: Improve wording and markup.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (editorconfig-indentation-alist): Sync with upstream
+
+       The upstream version `editorconfig-indentation-alist` is a lot
+       more complete than what we got from the
+       copyright-covered commits.  The changes come from contributors
+       who (may) have not signed paperwork.  I have not tracked all of
+       the corresponding commits (there are many) but from what I can
+       tell, most of those are the sole (and "trivial") contribution
+       of its author, and in any case there is very little creativity
+       involved since it just lists the variables used by the
+       corresponding mode, so I believe it's perfectly OK to include
+       those here.  Many of them would be covered by our default
+       heuristic (which looks for vars of the form like `<mode>-basic-offset`),
+       but it's preferable to reduce changes with upstream.
+
+       * lisp/editorconfig.el (editorconfig-indentation-alist):
+       Synchronize with upstream.  Remove obsolete `sh-indentation`.
+       (editorconfig--get-indentation-web-mode): Update based on upstream
+       changes to `editorconfig-indentation-alist`.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Add doc for EditorConfig support
+
+       Also, remove the old `editorconfig.texi` since most of it is not
+       applicable to the (current) bundled version of the code anyway.
+
+       * etc/NEWS: Add entry for EditorConfig.
+       * doc/emacs/custom.texi (EditorConfig support): New node.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       editorconfig-core-handle.el: Reduce allocation in parser
+
+       * lisp/editorconfig-core-handle.el 
(editorconfig-core-handle--parse-file):
+       Return a `editorconfig-core-handle`.
+       (editorconfig-core-handle): Simplify accordingly.
+       (editorconfig-core-handle--parse-file): Push `sections` and `props`
+       in reverse order to avoid the usual O(N²) complexity.
+       Work directly in the buffer instead of extracting "lines" from it, so
+       as to reduce memory allocation.  Similarly, use careful regexps so we
+       can extract trimmed strings without an explicit trim operation.
+       Use `eobp`.
+       (editorconfig-core-handle--string-trim): Delete function, not used any 
more.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       editorconfig-fnmatch.el: Eliminate O(N^2) complexity
+
+       * lisp/editorconfig-fnmatch.el (editorconfig-fnmatch--do-translate):
+       Accumulate partial results in reverse order to pay a single O(N)
+       reverse at the end instead of N times O(N) concatenations.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       editorconfig-core.el: Remove unneeded defaulting code
+
+       This code risks setting `tab-width` even when it's not
+       requested, and these rules are better handled in
+       `editorconfig--get-indentation` in any case.
+
+       * lisp/editorconfig-core.el (editorconfig-core-get-properties):
+       Delete function, unused.
+       (editorconfig-core-get-properties-hash): Comment out defaulting code.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       editorconfig-core-handle.el: Don't use file names as glob pattern
+
+       Match relative file names against the glob pattern instead of
+       trying to construct a glob pattern that matches the absolute
+       file name (where the code failed to escape the possible
+       special chars).
+
+       * lisp/editorconfig-core-handle.el
+       (editorconfig-core-handle-section-get-properties): Delete `dir` arg.
+       (editorconfig-core-handle-get-properties-hash)
+       (editorconfig-core-handle-get-properties): Adjust call accordingly.
+       Use `declare` to mark it obsolete.
+       (editorconfig-core-handle--fnmatch-p): Delete `dir` arg.
+
+2024-06-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       lisp/editorconfig: Minor cosmetic fixes
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       editorconfig.el: Miscellaneous minor changes
+
+       * lisp/editorconfig.el: Drop redundant `require`s of pcase, nadvice, rx.
+       Remove unnecessary (and incorrect) `defvar`s in `eval-when-compile`.
+       (find-library-name, lm-version): Move declarations to right after
+       the corresponding `require` so we have a reason to believe they're 
defined.
+       (editorconfig-version): Use `package-get-version` when available.
+
+       * lisp/editorconfig-core.el (editorconfig-core-get-nearest-editorconfig)
+       (editorconfig-core-get-properties, 
editorconfig-core-get-properties-hash):
+       * lisp/editorconfig-fnmatch.el (editorconfig-fnmatch-p):
+       Remove autoload cookies.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/editorconfig: Advise `find-auto-coding` i.s.o 
`insert-file-contents`
+
+       In Emacs<30, we can't use `auto-coding-functions`, but we can get
+       almost the same result by advising `find-auto-coding`.
+
+       * lisp/editorconfig.el (editorconfig-merge-coding-systems): Return nil
+       if there's no setting.  Don't merge if there's no need.
+       (editorconfig-set-coding-system-revert); Adjust accordingly.
+       (editorconfig--filename-codingsystem-hash): Delete var.
+       (editorconfig--advice-insert-file-contents): Delete function.
+       (editorconfig--advice-find-file-noselect); Simplify.
+       (editorconfig--advice-find-auto-coding): New function.
+       (editorconfig-mode): Use it.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/editorconfig: Use new Emacs-30 hooks
+
+       * lisp/editorconfig.el (editorconfig--get-coding-system)
+       (editorconfig--get-dir-local-variables): New functions.
+       (editorconfig-mode): Use them if possible.
+       (editorconfig-hack-properties-functions only)
+       (editorconfig-after-apply-functions): Define only when the old advice
+       is used, since the new hooks don't support them.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (editorconfig-set-local-variables): Get first, set later
+
+       In preparation for the use of Emacs-30's
+       `hack-dir-local-get-variables-functions`, split the job of
+       `editorconfig-set-local-variables` into getting an alist of settings
+       and then applying them.
+
+       Rename the `editorconfig-set-*` functions to `editorconfig--get-*`
+       and make them return an alist of settings rather than applying them
+       (except for `editorconfig-set-coding-system-revert` which arguably
+       belongs in `editorconfig-tools.el` anyway).
+
+       * lisp/editorconfig.el (editorconfig-indentation-alist): Flesh out the 
doc.
+       Use the new `editorconfig--get-indentation-*-mode` functions.
+       (editorconfig--get-indentation-web-mode): New function extracted from
+       `editorconfig-indentation-alist`.
+       (editorconfig--get-indentation-*-mode): Don't `boundp`-test the vars.
+       (editorconfig--default-indent-size-function): New function.
+       Test `boundp` here.
+       (editorconfig-indent-size-vars): New var.
+       (editorconfig--get-indentation, editorconfig--get-trailing-nl): Rewrite.
+       (editorconfig--add-hook-safe-p): New function.
+       Add it to the `safe-local-eval-function` property of `add-hook`.
+       (editorconfig-get-local-variables-functions): New hook.
+       (editorconfig--get-local-variables): Rewrite using it.
+       (editorconfig-set-local-variables): Test `editorconfig--should-set` 
here.
+       Rewrite it using `editorconfig--get-local-variables`.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/editorconfig: Don't hook into `read-only-mode-hook`
+
+       Don't re-set variables just because `read-only-mode` is (de)activated,
+       and with Emacs-30's hooks it would be even less natural to do.
+       Also `buffer-read-only` can change without calling `read-only-mode`,
+       so better test it dynamically when we try to trim whitespace.
+
+       * lisp/editorconfig.el (editorconfig--delete-trailing-whitespace):
+       New function.
+       (editorconfig-set-trailing-ws): Use it.  Use `pcase`.
+       Also prefer `before-save-hook` and use `add/remove-hook` to
+       manipulate hooks, like god intended.
+       Don't test `buffer-read-only` any more.
+       (editorconfig-mode): Don't hook into `read-only-mode-hook` any more.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (editorconfig--should-set): Eliminate `lisp-indent-offset` special case
+
+       Instead of treating `lisp-indent-offset` specially in
+       `editorconfig--should-set` (to obey 
`editorconfig-lisp-use-default-indent`),
+       use a new function `editorconfig-set-indentation-lisp-mode`
+       for Lisp modes.
+
+       * lisp/editorconfig.el (editorconfig--should-set): Remove `size` 
argument.
+       (editorconfig-set-indentation): Adjust calls accordingly.
+       (editorconfig-set-indentation-lisp-mode): New function.
+       (editorconfig-indentation-alist): Use it.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/editorconfig.el (editorconfig-mode): Remove `:lighter`
+
+       We generally don't want to eat up modeline space with lighters
+       for global and permanent major modes.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/editorconfig.el: Cosmetic ELisp style changes
+
+       Prefer #' to quote function names.
+       Remove redundant :groups.
+       Silence compiler warnings.
+
+       * lisp/editorconfig.el: Remove post-trailer.
+       The var is already set via `.dir-locals.el` anyway.
+       (editorconfig-call-get-properties-function): Use 
condition-case-unless-debug.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Remove support for `editorconfig-exclude-*`
+
+       When using the new hook, we can't support `editorconfig-exclude-modes` 
for
+       the `charset` property.  Also there are already other ways to get
+       similar effects (e.g. setting `auto-coding-alist` or
+       `enable-dir-local-variables`), so it's not clear those configurations
+       will be needed in Emacs-30.
+
+       * lisp/editorconfig.el (editorconfig-exclude-modes)
+       (editorconfig-exclude-regexps): Remove custom vars.
+       (recentf): Remove workaround (presumably not needed thanks to the fix
+       to issue #246).
+       (editorconfig--disabled-for-filename)
+       (editorconfig--disabled-for-majormode): Delete functions.
+       (editorconfig--advice-find-file-noselect): Remove call to those 
functions.
+       (editorconfig-mode): Adjust docstring accordingly.
+
+       * lisp/editorconfig-tools.el (editorconfig-apply): Adjust accordingly.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Remove support for `editorconfig-override-*-local-variables`
+
+       With the Emacs-30 hooks we can't easily override file-local settings
+       and we can't easily control whether we override dir-local settings,
+       so we remove support for those config vars.
+
+       * lisp/editorconfig.el (editorconfig-override-file-local-variables)
+       (editorconfig-override-dir-local-variables): Remove custom vars.
+       (editorconfig--should-set): Presume they were nil.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Remove support for the `editorconfig` executable
+
+       Some of the code lacks copyright paperwork, so let's remove it for now,
+       so we don't have to adapt it to the new hooks.
+       If/when it proves useful/necessary it'll be easy enough to re-add.
+
+       * lisp/editorconfig.el (editorconfig-exec-path)
+       (edconf-get-properties-function)
+       (edconf-exec-path, editorconfig-get-properties-function): Delete 
variables.
+       (editorconfig--execute-editorconfig-exec)
+       (editorconfig--parse-properties, editorconfig-get-properties)
+       (editorconfig-get-properties-from-exec): Delete functions.
+       (editorconfig-call-get-properties-function):
+       Call `editorconfig-core-get-properties-hash` directly.
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix up copyright lines and license blurbs
+
+2024-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Squashed commit of the following:
+
+       commit a2b7d1129ba03ab7d06618d838cd3abe6852488b
+       Author: Stefan Monnier <monnier@iro.umontreal.ca>
+       Date:   Tue Jun 18 01:23:21 2024 -0400
+
+           Move files for inclusion into Emacs
+
+       commit cd4fc6f933e8679eff1754eaaac99e4361f0122f
+       Author: Stefan Monnier <monnier@iro.umontreal.ca>
+       Date:   Sun Jun 16 13:33:55 2024 -0400
+
+           Incorporate trivial left-over changes
+
+           The previous commits are the result of a `git rebase` that removed
+           all the commits by contributors for whom we don't have paperwork.
+           This one "smoothes" over some of the remaining diffs.
+
+       commit 94c0223e888d637ae5d75fcb210fe4bf7898b3da
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Jun 8 00:52:06 2024 +0900
+
+           Fix text (#342)
+
+       commit d50dfb5c5bf2dc832c9aff8f4b8603c2d504c41a
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Jun 4 15:02:56 2024 +0900
+
+           Refactor find-file advices (#340)
+
+           * Add coding-system test
+
+           * Refactor find-file advices
+
+           * Fix test
+
+           * Fix test
+
+           * Update
+
+           * Update
+
+       commit f55bb4e691dcb63502035aa3e48f6839ae163b44
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Jun 2 16:42:31 2024 +0900
+
+           Update CHANGELOG.md (#339)
+
+           * Update CHANGELOG.md
+
+           * Update CHANGELOG.md
+
+       commit a85a4cafa6c8a1a80f3671658e5aaaf8faedb923
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 31 22:19:15 2024 +0900
+
+           Add switch not to override local variable values (#338)
+
+           * Add tests
+
+           * Define variables
+
+           * Update --should-set
+
+           * Add fixes to work
+
+           * Update test and fix
+
+           * Fix variables
+
+           * Use defcustom for switch variables
+
+           * Remove comment
+
+       commit 4fbfad0591a9851a48b8ead1e4459677d3f64c58
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Sat May 11 22:38:20 2024 -0700
+
+           feat: Add Svelte support (#333)
+
+       commit d2d942b4cc83fa0ba32dcaaf6c73004e6490bfc8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat May 11 15:45:42 2024 +0900
+
+           Prepare v0.11.0 (#332)
+
+           * Prepare v0.11.0
+
+           * Update CHANGLOG for v0.11.0
+
+           * 2024
+
+       commit 9ad3ed0e58bcd719d63d7b64538eff118d094767
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 10 00:45:15 2024 +0900
+
+           Update CHANGELOG (#331)
+
+       commit 3fb9fd274d2435228a6545cd2a7553c9522b32e8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon May 6 23:01:39 2024 +0900
+
+           Separate some utility commands to new file (#330)
+
+           * Remove switch to use legacy version
+
+           Remove `editorconfig--lagacy-version` variable.
+
+           * Create editorconfig-tools.el and move some functions into it
+
+           * Fix merge
+
+           * Update commentary
+
+           * Update CHANGELOG
+
+           * Update text
+
+       commit d73f126ddb44eba628a87df07f8fd7247c8221aa
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun May 5 23:46:58 2024 +0900
+
+           Remove editorconfig-mode legacy version (#304)
+
+           * Remove switch to use legacy version
+
+           Remove `editorconfig--lagacy-version` variable.
+
+           * Update CHANGELOG
+
+       commit ea19d96a7afcd947ece8490d8d9846519ac53606
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 3 18:49:50 2024 +0900
+
+           Exclude some versions from test target (#329)
+
+           nix-emacs-ci does not provide them any more.
+
+       commit 641c8cd06abfd0cf99cc56eeca5458a03feec7c6
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Thu Mar 28 13:22:07 2024 -0700
+
+           ci: Bump Emacs 29.x to 3 (#327)
+
+       commit 0eef782ae0ece28f0c446165febcf02f6207bb5e
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Mon Mar 18 13:49:24 2024 -0700
+
+           feat: Add Zig support (#326)
+
+           * feat: Add Zig support
+
+       commit 4c7c96dee9ad7318b4df9414758cd46957cdb495
+       Author: USAMI Kenta <tadsan@zonu.me>
+       Date:   Tue Jan 9 12:24:11 2024 +0900
+
+           Add jsonian-mode (#320)
+
+       commit 94f6fa546f85a49fea649d9c479f20613a36b9af
+       Author: USAMI Kenta <tadsan@zonu.me>
+       Date:   Mon Dec 18 14:01:05 2023 +0900
+
+           Add php-ts-mode (#318)
+
+       commit f6eba36c09840b3f1952fb8a542347741a4f3de9
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Aug 3 00:05:49 2023 +0900
+
+           Add support for hcl-mode (#312)
+
+       commit 4f0e71c9f9ae00fd6e90573c5c779da4c5f397ef
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Aug 2 23:45:29 2023 +0900
+
+           Temporarily remove test with windows-latest, emacs snapshot (#313)
+
+       commit e81368ede389feb28d941c8e135c11e4bdf0160d
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Wed Aug 2 07:25:26 2023 -0700
+
+           test: Emacs 29.1 (#311)
+
+       commit dc571e9422a1713e252093b4ee0eb290841dc07c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 19 17:51:28 2023 +0900
+
+           Update CHANGELOG (#308)
+
+       commit 8c1ec23fe6d9fc1d3e2ce24fe76503c88a4ebbc6
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 19 17:28:11 2023 +0900
+
+           Prepare v0.10.1 (#307)
+
+       commit a415057ecfc5e89a903cb2e62a7d9d2596769532
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 19 17:07:23 2023 +0900
+
+           Fix compile warning of python-mode offset (#306)
+
+       commit 94aa31702f7316db63411de8ded371f782d02baa
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 19 16:51:48 2023 +0900
+
+           Fix when-let (again) (#305)
+
+           * Fix compile of editorconfig-core
+
+           * Use when-let* instead of when-let
+
+       commit 3b2b213934e6648834f043623bdce2a3b816ece1
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun May 7 17:15:54 2023 +0900
+
+           Prepare v0.10.0 (#303)
+
+           * Update CHANGELOG
+
+           * Update CHANGELOG
+
+           * Update version string
+
+       commit ea22e6977eb64a38e19250b1fef3933b702d8a16
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun May 7 17:03:30 2023 +0900
+
+           Revert "Update version string"
+
+           This reverts commit dfce47f4c5369711524c4da606201f33649bf894.
+
+       commit 8ba886d3a64514ca6b558a19a3df7cf147f528f0
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun May 7 16:46:09 2023 +0900
+
+           Update version string
+
+       commit c6769a3be9d5447bbf253681e731aa017de49872
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun May 7 16:17:58 2023 +0900
+
+           Check mode-class property for special modes (#301)
+
+           In addition to checking parent mode
+
+       commit 02bd633818a2db80b2bf5ebaaf3eaed76a0443ac
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun May 7 15:59:34 2023 +0900
+
+           Load subr-x when compiling (#302)
+
+           `when-let` depends on this.
+
+       commit d7da0ea0fe118d88d032e81de65c79593c5181ea
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Thu Apr 27 03:25:18 2023 +0800
+
+           Add support for gdscript-mode (#300)
+
+       commit 93c418e7d385f55103d94a926b0ec051e51bceeb
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Sun Apr 16 07:12:01 2023 +0800
+
+           fix: Fix compile warnings (#298)
+
+       commit d21983b235c11f4a1845bd80e9d6ca25c9882f9a
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Sun Apr 16 07:05:26 2023 +0800
+
+           Update copyright year (#297)
+
+       commit 38f84cca9a68bca0e74bb4f50e178e6a9883c1f4
+       Author: Mohsin Kaleem <mohkale@kisara.moe>
+       Date:   Mon Apr 10 00:46:35 2023 +0100
+
+           Add bash-ts-mode to editorconfig-indentation-alist (#296)
+
+           Co-authored-by: Hong Xu <hong@topbug.net>
+
+       commit 5f112084d762c05a6d31b9bd3c4619789614f842
+       Author: Simen Heggestøyl <simenheg@runbox.com>
+       Date:   Thu Mar 2 09:31:07 2023 +0100
+
+           Fix compilation warnings in Emacs 29 (#292)
+
+           Fix a bunch of compilation warnings in Emacs 29 about wrong usage of
+           unescaped single quotes in docstrings.
+
+       commit 37b142e86513b2477c19defcf6798e362e5ba7bd
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Wed Feb 15 23:12:21 2023 -0800
+
+           docs(README.md): Update development instructions (#291)
+
+       commit 7f3c344e15e86a54390f4b3428432476b45d6c62
+       Author: Mohsin Kaleem <mohkalsin@gmail.com>
+       Date:   Sun Feb 12 06:17:01 2023 +0000
+
+           Add indent variable associations for numerous tree-sitter modes 
(#290)
+
+           * Add indent variable associations for numerous tree-sitter modes
+
+           * build: Correct csharp-ts-mode variable reference
+
+       commit 26bc586c7e19dd00554f732f4313e07a0a18bb97
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Tue Jan 3 19:43:54 2023 +0800
+
+           Drop Emacs 24.x and 25.x (#286)
+
+           * Drop Emacs 24.x and 25.x
+
+           * test(build.yaml): Make fail-fast to false
+
+           * Update CI test
+
+           * docs: Update changelog
+
+           * Revert author information
+
+       commit d96709f3ddb7ce905e2ba1ff615ed875e26d6fdb
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Thu Dec 29 05:46:11 2022 +0800
+
+           chore: Place emacs dependency to the front (#285)
+
+           * chore: Place emacs dependency infront
+
+           * Update copyright year
+
+       commit 00913e8db3a864e7dbf8da7aa6ac355aeef3f999
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Nov 7 12:00:26 2022 +0900
+
+           Prepare v0.9.1 (#281)
+
+       commit b57c665de578b7510affa426478fadacef80f5d4
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Oct 31 14:47:17 2022 +0900
+
+           Check `filename` rather than `buffer-file-name` for consistency 
(#280)
+
+           Co-authored-by: Wade Zhang <dochang@gmail.com>
+
+       commit 35b360daebc6fc30723b5f361c65345dea0cc7f7
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Oct 23 22:20:37 2022 +0900
+
+           Prepare v0.9.0 (#275)
+
+           * Update version number in el file
+
+           * Update CHANGELOG for 0.9.0
+
+           * Fix CHANGELOG
+
+           * Fix release date
+
+       commit 52d089efa733e0add922e07485cf8ac547bf9e3c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Oct 23 22:13:13 2022 +0900
+
+           Fix package load for use-package usage (#277)
+
+       commit b9c5af58e5059dad44a79a52790c2d913930d0ef
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Oct 23 20:47:55 2022 +0900
+
+            Add fixes for Emacs 29 (#276)
+
+           * Fix warnings reported with Emacs29 snapshot
+
+           * Disable vc feature for ert testings
+
+       commit cc2fc3d25447dfa6271a9b6434478c2f140b4022
+       Author: Jen-Chieh Shen <jcs090218@gmail.com>
+       Date:   Fri Sep 30 07:18:09 2022 +0800
+
+           tests(build.yml): Use latest minor version number (#274)
+
+       commit 7e266d113ed69c487e25260527c3e39fa274662f
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Apr 18 14:41:07 2022 +0900
+
+           Add emacs 28.1 to test target (#270)
+
+       commit bd35e505585a738cfed09f8d7fbcdac523f648bb
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 26 13:05:00 2022 +0900
+
+           Add doc about lsp-mode (#266)
+
+           * WIP Add doc about lsp-mode
+
+           * Update README
+
+       commit 69582a19e4c40bbf2006c2fac6f61b8eb5c9d4e3
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Sep 2 05:53:42 2021 +0900
+
+           Update CHANGELOG
+
+       commit 3c47c18a72e98036d9ebf11350c3af9683d86c76
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Aug 30 19:25:20 2021 +0900
+
+           Use new implementation by default (#263)
+
+           * Use new implementation by default
+
+           * Remove old test
+
+           * Make editorconfig-hack-properties-functions deprecated
+
+       commit 111a668e52f68706650d5624f16fd92c0c113f7b
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 13 22:01:38 2021 +0900
+
+           Prepare v0.8.2 (#262)
+
+           * Update CHANGELOG
+
+           * 2021
+
+           * Prepare v0.8.2
+
+       commit 4bcd7e2f12800d3a4566130f447533a1955a978a
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 13 21:55:02 2021 +0900
+
+           Update texi doc
+
+       commit 7e71870e27d2ef23196127640ca3935cbdd4a432
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 13 00:30:01 2021 +0900
+
+           Update debug message format (#261)
+
+       commit 76fc064ee4ff6ab05db2c5004d7d4cd150b2fac1
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 13 00:19:52 2021 +0900
+
+           Fix editorconfig-major-mode-hook (#260)
+
+       commit db6ae0703c07568780c71dd92874886208536eaa
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 13 00:07:12 2021 +0900
+
+           Update README for NonGNU ELPA repository (#259)
+
+           * Add NonGNU ELPA badge
+
+           * Update README
+
+       commit f3164820fc06a642bbc0eccadc5386ec98befb5b
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Aug 10 00:23:58 2021 +0900
+
+           Add some bug fixes to 20210221-testing (#258)
+
+           * Rename internal function name
+
+           * Update comment
+
+           * Update -set-coding-system func name and doc
+
+           * Add comment
+
+           * Fix mode-hooks
+
+           * Fix func name
+
+           * Update -major-mode-hook function
+
+       commit 5e0f23b64c822e7f2ff1d23c756e89c1c073c23c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Apr 7 13:07:42 2021 +0900
+
+           Add fixes for compile warning
+
+       commit b46c5dd667b68bfca204ff7424df8588dae12a56
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Apr 7 12:02:07 2021 +0900
+
+           Make new impl work when changing major-mode (#255)
+
+       commit 7375e7fdd21be087ffb52bf2917aefcaded3292c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Feb 22 01:17:49 2021 +0900
+
+           Return early when expecting coding-system has been already set
+
+       commit 13d8f9bb7bddf7f43091829fa361a336dbf2de61
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Feb 21 22:41:57 2021 +0900
+
+           Add minor fixes to tests (#252)
+
+           * Update Makefile targets
+
+           * Update github actions task
+
+           * Fix test macros
+
+           * Update README
+
+       commit ddce92ffcc92b79080949ad72801292fa2bafeb9
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Feb 21 22:25:29 2021 +0900
+
+           Use flag instead of adding -2-mode for new version testing (#251)
+
+           * Use flag instead of adding -2-mode
+
+           * Fix test
+
+       commit f18086a5b97625bcb51a4c8cb790efca80ef6d10
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Feb 21 21:37:45 2021 +0900
+
+           Add debug message to -set-coding-system
+
+       commit afe9f62ecfcba0ce92255fa18c4a1af0787ff3b0
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Feb 21 21:06:19 2021 +0900
+
+           Move hack-properties-function run
+
+       commit 2c7790d6eec32e486b448e2e40549d3f139227df
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Feb 21 20:58:40 2021 +0900
+
+           Update display-warning messages
+
+       commit f8dc92d37b965370a2332e19609cebdddbbac406
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Feb 20 01:56:22 2021 +0900
+
+           Fix for coding-system set when remote files do not exist (#250)
+
+       commit 28108cc8b456cedbc2e895da1c1151a11571cd4f
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Feb 20 00:44:22 2021 +0900
+
+           Fix editorconfig execution for remote hosts via tramp (#249)
+
+       commit 8086a8a45982b30a9620f723ce81994ed4ad26e1
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Feb 20 00:14:23 2021 +0900
+
+           Update docstrings
+
+       commit 69c8e3f766b2d458c5e3461c772cff69434962cd
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Feb 19 20:39:05 2021 +0900
+
+           Update debug message
+
+       commit da2ede9ef13ae04ba4f1a37236052d9ce4c2e150
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Feb 19 18:11:37 2021 +0900
+
+           Refactoring & add editorconfig-2-mode for beta test (#248)
+
+           * Remove file type experimental feature temporarily
+
+           * Do some refactors
+
+           * Ignore failures of tests for file type feature
+
+           * Make editorconfig-get-properties-function accept one argument
+
+           * Implement editorconfig--advice-find-file-noselect
+
+           * Define editorconfig-error
+
+           * Implement advices
+
+           * Update adviced function body
+
+           * Update function name
+
+           * Refactor exclude functions
+
+           * Add more error handlings
+
+           * Refactor editorconfig--advice-find-file-noselect
+
+           * Add editorconfig-2-mode
+
+           * Add nadvice to dependency list
+
+           * Use display-warning instead of message for debug log
+
+           * Update README
+
+           * Fix editorconfig-2-mode for read-only-mode
+
+           * Add test for editorconfig-2-mode
+
+       commit d53e3da79f40ec879b1520b6f73c371f8a5cfc03
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Feb 15 00:27:04 2021 +0900
+
+           Stop excluding remote files by default (#245)
+
+           To exclude remote files again, add following to the init.el:
+
+               (add-to-list 'editorconfig-exclude-regexps
+                            (eval-when-compile
+                              (rx string-start "/" (or "http" "https" "ftp" 
"sftp"
+                                                       "rsync" "ssh") ":")))
+
+       commit 968bb5fb871e0076a4779f78526e3ad91777e60c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Jan 12 18:01:07 2021 +0900
+
+           Do not run editorconfig-apply on recentf-save-file (#241)
+
+       commit a6c64cc26d5d237f6b3c53e8d637af96c428a5f7
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Jan 8 13:28:50 2021 +0900
+
+           Use revert-buffer-with-coding-system to set coding system (#236)
+
+           * Use revert-buffer-with-coding-system to set coding system
+
+           * Avoid infinite call
+
+           * Do not ask user for revert when buffer is not modified
+
+           * Refactor -set-coding-system
+
+           * Do not use revert when the file does not exist yet
+
+           * Refactor -set-coding-system
+
+       commit 9605f6bf4408e4a5025dc6862fba96de347b9332
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Dec 24 05:26:25 2020 +0900
+
+           Remove travis.yml (#238)
+
+       commit c73b0cf3fcc4dd5ff1e268d54d20ab6e88cd6b2e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Dec 23 15:36:45 2020 +0900
+
+           Update README 2 (#225)
+
+           * Update README 2
+
+           * Update README.md
+
+           * Update README.md
+
+           * Update README.md
+
+           * Update README.md
+
+           * Update README.md
+
+           * Update README.md
+
+       commit bba5bdaef41895bf528f00923e8f1ce249a93641
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Nov 25 15:31:14 2020 +0900
+
+           Add github actions badge
+
+       commit ee39cf38f4efda519db947dd850a6522836561c5
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Oct 7 08:00:19 2020 +0900
+
+           Do not init submodule in Makefile
+
+       commit 4def6c96944c8e704f4424d10fcd1a73076709c6
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Oct 7 07:21:43 2020 +0900
+
+           Add Github Actions build.yaml
+
+       commit 49cf213f30d027aae34b3d499aa637cb1cca5f38
+       Author: Brian Leung <29217594+leungbk@users.noreply.github.com>
+       Date:   Sun Nov 22 07:42:16 2020 -0800
+
+           Silence byte-compiler warnings (#235)
+
+           Move aliases before their referents
+
+           Co-authored-by: 10sr <8.slashes@gmail.com>
+
+       commit d4fabc95b8b2af5d7ead1b1e8065c69d5805d6b4
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Oct 7 07:22:32 2020 +0900
+
+           Add Emacs 27.1 to test target (#228)
+
+           * Add Emacs 27.1 to travis test target
+
+           * Add GitHub Actions build.yaml
+
+           * Fix evm 27.1 version
+
+           * Remove github actions build.yaml
+
+       commit 1defe4a4cd0fa7f57c0013e6efc535bb02f827cd
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Jul 31 00:31:28 2020 +0900
+
+           Fix references in CHANGELOG (#226)
+
+           * Fix issue references in CHANGELOG
+
+           * Fix commit reference link
+
+       commit 88efaca117ef6abd3bdee39de7b4b64628e59796
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jul 30 22:37:30 2020 +0900
+
+           Update CHANGELOG
+
+       commit c8c7845c73d08bd21235bc79eafa887651990a6f
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jul 30 22:34:36 2020 +0900
+
+           Add doc about make sandbox
+
+       commit 8c551d92bacea8d6ea1b73e945ab5600f7608a78
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jul 30 22:32:29 2020 +0900
+
+           Update README to help bootstrap users (#219)
+
+           * Update README to help bootstrap users
+
+           * Update doc
+
+           * Fix doc
+
+           * Update
+
+           * Updat
+
+       commit c0789e2d537fb609af72a1edf51e1c5e4673ab2e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 22 23:13:55 2020 +0900
+
+           Keep a CHANGELOG (#221)
+
+           * Add empty CHANGELOG.md
+
+           * Generate CHANGELOG template
+
+           ```python
+           #!/usr/bin/env python3
+
+           import subprocess
+
+           def _get_tag_date(tag):
+               git_show = subprocess.run(["git", "show", tag, "--format=%cd", 
...
+       ..."--date=short", "-s"], capture_output=True)
+               return git_show.stdout.decode("utf-8").strip()
+
+           def main():
+               git_tag = subprocess.run(["git",  "tag"], capture_output=True)
+               versions = list(reversed([e[1:] for e in 
git_tag.stdout.decode...
+       ...("utf-8").split("\n") if e]))
+               for version in versions:
+                   print(f"## [{version}] - {_get_tag_date('v' + version)}")
+                   print()
+                   print()
+
+               print(f"[Unreleased]: https://github.com/editorconfig/...
+       ...editorconfig-emacs/compare/v{versions[0]}...HEAD")
+               for version, version_prev in zip(versions, versions[1:]):
+                   print(f"[{version}]: https://github.com/editorconfig/...
+       ...editorconfig-emacs/compare/v{version_prev}...v{version}")
+               print(f"[{versions[-1]}]: https://github.com/editorconfig/...
+       ...editorconfig-emacs/releases/tag/v{versions[-1]}")
+               return
+
+           main()
+           ```
+
+           * Paste release notes from github releases
+
+           * Add release note for unreleased
+
+           * Fix line
+
+       commit 68e940e0fd312848d18aba93b49285d7a8d74182
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue May 19 20:28:23 2020 +0900
+
+           Add conf-mode abbrev-table definitions (#220)
+
+       commit dc9dc966f973d9e9f2992004beb462bc5813c01c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Feb 12 16:39:43 2020 +0900
+
+           Update hook docstrings (#215)
+
+           #214
+
+       commit 5aa20f73ddbf5df60a9c66b219846d94c9d12a7d
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Feb 12 15:56:48 2020 +0900
+
+           Define -mode-apply as an interactive command (#216)
+
+       commit 39175259174ba0eea3529fc4039fbd90c5990ecc
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 16 17:59:07 2020 +0900
+
+           2020
+
+       commit d29d6f1254f018cdc696cf40614e6799e2673f64
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Dec 20 16:31:15 2019 +0900
+
+           Update README
+
+       commit d24e05ccd13c44380dbbbc4756eb02ede3882b9e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Oct 23 13:39:46 2019 +0900
+
+           Use elisp core by default
+
+           Closes #198
+
+       commit 42d9b6aebd4488d6862ff39238a284408e5e4370
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Dec 20 16:31:40 2019 +0900
+
+           Remove a trailing whitespace
+
+       commit 347e0171ad3cfcb70c0aca73b7b6fa8a5875dae6
+       Author: Damien Cassou <damien@cassou.me>
+       Date:   Wed Nov 27 06:29:43 2019 +0100
+
+           Fix typos (#212)
+
+           Typos found with codespell.
+
+       commit 7915da05ee67bf5c5356ddd49400e9facc15d004
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Oct 25 16:59:30 2019 +0900
+
+           Fix that "?" does not match "/"
+
+       commit 480998f061d22444571f05b6c10d190c204c227e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Oct 23 14:32:21 2019 +0900
+
+           Update core-test
+
+       commit 63fa8f9e4bc2938e7bc02b97da79335db29bf0e0
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Oct 10 13:44:34 2019 +0900
+
+           Bump version to v0.8.1
+
+       commit b7d3a15f606582d30590fab8bbf0202fd7351c90
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 8 13:55:05 2019 +0900
+
+           Fix support for Emacs<26
+
+       commit 19bad72db735c032e773b6201a80a5df2597c0f4
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 8 13:40:49 2019 +0900
+
+           Add editorconfig-file-type-emacs-whitelist value
+
+       commit a179c9876f8f1fd343559aad13a32b96a651e86a
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Oct 7 22:34:03 2019 +0900
+
+           Disallow setting mode when it is not listed in whitelist
+
+       commit cb218f4b5adc10faa2f89c4ec85bfafa7ad0600a
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 8 14:10:09 2019 +0900
+
+           Use dist: trusty
+
+       commit ae5fb296026f948103ade4e7e42f3989dda44df7
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 8 14:04:41 2019 +0900
+
+           Update travis Emacs26 version
+
+       commit 5e9769675fbf76566ca10f30c148f385396796ae
+       Author: Jay Kamat <jaygkamat@gmail.com>
+       Date:   Mon Jun 17 06:43:54 2019 +0100
+
+           Add support for bpftrace-mode (#199)
+
+       commit 875088b1c587451916accd2474d57c66d05be1c6
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Jun 3 20:24:18 2019 +0900
+
+           Add explicit support for rpm-spec-mode
+
+       commit 0faf4dc29c6c504a3026601b6035ff0735a0839b
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Jun 3 19:28:20 2019 +0900
+
+           Make editorconfig-properties-hash permanetn-local
+
+       commit f511979e3c172932ba51b4b8e1172897f786c834
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Apr 2 15:55:33 2019 +0900
+
+           Update message format for version info
+
+           Update message format for version info
+
+       commit efc11ec6fd100b2c19950153b1f6e64d85c36d97
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Mar 26 23:20:10 2019 +0900
+
+           Make -version print packaging version
+
+       commit c2ea49f01fbdc144e623c30cbb8b6bf4439ac6b5
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Mar 26 20:24:31 2019 +0900
+
+           Bump version to v0.8.0
+
+           (#192)
+
+       commit c6e817a36b2d901a837f373748941ff1246081f8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Mar 23 21:40:49 2019 +0900
+
+           Use API to get version info (#193)
+
+       commit 0cf6ce9534a35823f534014ec941db2a690f9002
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Feb 25 19:49:56 2019 +0900
+
+           Use https for melpa badge
+
+       commit 695fce14c0f2cfc72520356cc9d6c46ed3fff33a
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 24 14:49:05 2019 +0900
+
+           Update plugin-tests submodule
+
+       commit 1651d96aa2909d7f49c7e06a893c464e6f1fa2d9
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 24 14:48:26 2019 +0900
+
+           Do not update submodule when running tests
+
+       commit ff0ed217461484a45ab8be7a8aa11c8b503f2388
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Jan 22 13:59:50 2019 +0900
+
+           Use reference link
+
+       commit 5632843e840d0e8dee819d283b8d0a2ae88b8fa8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Jan 18 13:17:15 2019 +0900
+
+           Update README
+
+       commit 570502fdbb5e7634a43178805caae16e709ba9d7
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 17 14:10:15 2019 +0900
+
+           Update docstring
+
+       commit b36f495d1510a53c63e42d6f48513b2fc3fc5b45
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 17 12:38:25 2019 +0900
+
+           Separate tool functions
+
+       commit f295ca7cb2e64a8312a172b53b5eee7f06f8ac6e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 17 11:23:49 2019 +0900
+
+           Use -*- lexical-binding: t -*-
+
+           https://github.com/melpa/melpa/blob/master/...
+       ...CONTRIBUTING.org#fixing-typical-problems
+
+       commit 2d342a1dc75d800577526bd5b62e2f2e350f2447
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 17 11:16:59 2019 +0900
+
+           Fix function name
+
+       commit ec5576f7a9ae86649332414995124a3355ae5c13
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 17 11:13:37 2019 +0900
+
+           Add fixes for package-lint
+
+       commit bd9e60c65cd8dd1fdc0f6fe35b2684bc2c4c2d80
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 16 17:09:18 2019 +0900
+
+           Update README
+
+       commit 551fcd4dc2556506e95c26898d864743cfb379c8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 16 17:14:18 2019 +0900
+
+           Update commentary section
+
+       commit 8352b3f1d06aefcc4f8f6b7da760ced921efe93e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 16 16:52:49 2019 +0900
+
+           Remove comment
+
+       commit 51d2849fb6aaf195393f37dfbd1573d0b449df9b
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 16 16:44:59 2019 +0900
+
+           Update year
+
+       commit 9b36c88ce02325e755ce07ebbfd6622b67619d63
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 16 16:43:13 2019 +0900
+
+           M-x checkdoc
+
+       commit 68d488ee67e6fa06b9b596f178d445b28bab2865
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 16 14:24:46 2019 +0900
+
+           Add struct docstring
+
+       commit feddcd841a913b8f1a79251bb347a2d3b00a06ae
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 10 14:40:30 2019 +0900
+
+           Remove useless spaces
+
+       commit f735659b421c5f72bc6c137fd7717a1931ce719d
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 10 14:31:53 2019 +0900
+
+           Stop using cl-defclass
+
+           With Emacs<25 cl-defmethod cannot used for structs
+
+       commit 56fa185bcec16e2fb97b71a4e6dee0c5ef2b6256
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 10 14:30:55 2019 +0900
+
+           Revert "Add support for Emacs24.5"
+
+           This reverts commit 103081756d5d1de03dfa2d9d42b6e4a8581fca29.
+
+       commit 026b21393284b9328fec956dae28c26dab1903e6
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 10 14:13:21 2019 +0900
+
+           Add support for Emacs24.5
+
+       commit 2aabf655a964a7a172de66391cfdd1d598e2e8f1
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jan 10 13:48:52 2019 +0900
+
+           Refactor handle lib
+
+       commit d40048455064be9e090828b4cb28f86f922eae85
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jan 9 13:29:46 2019 +0900
+
+           Use 0.8.0 for next version
+
+       commit 7a17d5ea063030313726104a3a1895bb6eb7021f
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Jan 8 16:08:04 2019 +0900
+
+           Remove unused tests
+
+       commit 4f20ce1e1cbf3de1284f8de988ea12a2dcdfa690
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Jan 8 15:58:29 2019 +0900
+
+           Get alist result from hash result
+
+       commit 69768d1bd108d93d392b2d8eb5750d8b8ddca169
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Jan 8 11:27:44 2019 +0900
+
+           Implement --hash-merge
+
+       commit c36d66e3421dfbcdfa9f9221b900f3c8fbde8882
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Jan 7 20:29:20 2019 +0900
+
+           Update get-properties-hash
+
+       commit 75d0158b6c5c1723a1d21f8c4ebdc37b91aa9d1c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Jan 7 12:21:09 2019 +0900
+
+           Add function to get properties from handlers as hash
+
+       commit e8ac4bf5d3d7e70ea815f68d64933330a7ffc1d9
+       Author: USAMI Kenta <tadsan@zonu.me>
+       Date:   Tue Dec 25 21:05:37 2018 +0900
+
+           Use Markdown's code spans instead of Emacs style `' (#186)
+
+       commit 77775d90c383c5ddd0c4f9564d022ef971c9f7c3
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Dec 25 11:49:07 2018 +0900
+
+           Bump version to 0.7.14 (#185)
+
+       commit e25ac0d49ff1e1982d58198efab35f3bd2c368d4
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Dec 17 16:24:27 2018 +0900
+
+           Add document for editorconfig-trim-whitespaces-mode
+
+       commit 29060e8494a4ee2bccae7114cdf148387bce2f47
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Dec 15 16:46:07 2018 +0900
+
+           Add variable editorconfig-trim-whitespaces-mode
+
+       commit 1327acab8d855d479d9d087129d05de671da8c76
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Dec 3 19:41:49 2018 +0900
+
+           Use princ instead of message to write to stdout
+
+       commit d22c30f408fb2447047e8413dc5ca435b062b933
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Dec 3 18:54:25 2018 +0900
+
+           Update core-test submodule
+
+       commit 88b2303a1f28a1b257fb5c205fa36428219197e7
+       Author: Terje Larsen <terlar@gmail.com>
+       Date:   Sat Nov 17 23:16:12 2018 +0100
+
+           Use ws-butler when enabled and available.
+
+           When having auto-save on and you edit text the cleaning up of
+           white-space is a bit intrusive and removes the space at the end of 
the
+           line where you are writing. `ws-butler-mode` is an alternative that 
does
+           take this into account.
+
+       commit 550897776f79f4e5395fe00924bdf620982f5b47
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Nov 15 16:09:02 2018 +0900
+
+           Fix hack-properties-functions example
+
+       commit 8241f65395cd78b83a59d5cfc1c682ef1ead90cd
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Oct 25 13:21:50 2018 +0900
+
+           Fix README and texi
+
+       commit dff69487901d0074b1fdad8c91e69b40e5e6543e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Oct 24 13:41:30 2018 +0900
+
+           Update document
+
+       commit 9ca51506778b486d947cba5dabd318614ebc5628
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 23 14:48:34 2018 +0900
+
+           Add test for -hack-properties-functions
+
+       commit 07ae870dbb2fdc4ec70c440e355bd126d124dce6
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 23 14:27:56 2018 +0900
+
+           Call -hack-properties-functions in editorconfig-apply
+
+       commit adfb8c54ba4ea5d52a558bd97221f40a5495e170
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 23 14:18:46 2018 +0900
+
+           Add variable -hack-properties-functions
+
+       commit 28c4846e9cac199ff4c357033a80054017687b90
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 23 14:04:22 2018 +0900
+
+           Fix version when -custom-hooks has marked as obsolete
+
+       commit 88824e7be5b7492845d914110e07328a93901e05
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 23 13:56:46 2018 +0900
+
+           Update texi for hook name change
+
+       commit e11f186800af869897400eb2be72f7ec4c3379d2
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Oct 23 13:51:32 2018 +0900
+
+           Use derived-mode-p for major-mode check (#180)
+
+       commit 791cb6777301fb22f97538471904188deb4b05ec
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Oct 19 19:13:19 2018 +0900
+
+           Update README.md for hook name change
+
+       commit 1138109d4b29c2c8e8e360f9d9314d7081e4fbb4
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Oct 19 19:01:42 2018 +0900
+
+           Change hook name -custom-hooks -> -after-apply-functions
+
+           With obsolete-variable-alias
+
+       commit ff38e8046be032e0d84a5d326dd68d3f40ea449e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Sep 25 18:26:43 2018 +0900
+
+           Do not call mode func when current mode is a child mode of target 
(#179)
+
+       commit 5fff8e44195d91f967b4bacc2562026c7bcfda01
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Sep 25 15:40:52 2018 +0900
+
+           Use file_type_ext for test fixtures
+
+       commit 20f627f9caf32d65509a8a536743c5960d52a8e0
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Sep 25 14:19:56 2018 +0900
+
+           Do not call major-mode when already enabled (#178)
+
+       commit 5a71b05195abc14e84970ba66d4ec2987627266d
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Sep 25 11:55:59 2018 +0900
+
+           Make conf-mode used when a file has .editorconfig extension
+
+       commit 46fff5b32a0a7b014dda9a970ca99ad8c35a05d3
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Sep 25 11:52:16 2018 +0900
+
+           Add file_type_ext to conf-mode keyword
+
+       commit 1bbbf78990925bfcb426b2752dc09cfd6ae5ba22
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Sep 22 15:25:02 2018 +0900
+
+           Rename existing function set-major-mode -> set-major-mode-from-name
+
+       commit 780fc5f46ecda16c31c82b03d12ab392576db5f4
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Sep 22 15:19:47 2018 +0900
+
+           Update doc
+
+       commit 82ba59023e3df7560e24dc4a5797bf92bcbc7656
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Sep 20 16:54:51 2018 +0900
+
+           Set major-mode from file_type_ext value
+
+       commit 2fbbea8e862c80ee7c3cc463980b1a20835b0346
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Sep 21 13:43:11 2018 +0900
+
+           Add ert-test for file_type_ext
+
+       commit 7524e641cacbc570a8a4c159fc8d2ef08e753584
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Sep 22 17:44:47 2018 +0900
+
+           Add ert-test for file_type_emacs (#177)
+
+       commit aeb53c0d1c5dc1bdf854a77ac21d746571b14fa3
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Sep 22 17:40:14 2018 +0900
+
+           Make `fixtures' a constant (#176)
+
+       commit 0f5926619f0d77b0a32fbe17730a2d04d93f1e4e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue Sep 4 11:12:01 2018 +0900
+
+           Update texi for HTTPS url
+
+       commit 29cc1456c06d392bff1368c935083a23f4375274
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon Sep 3 16:48:36 2018 +0900
+
+           Use HTTPS link (#174)
+
+       commit 8a602e176a068bc952a685086157a0caf4025806
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 31 14:11:41 2018 +0900
+
+           Update doc
+
+       commit b61e4feedb5108e2c555f818251fcb2af3725ba6
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 31 16:40:54 2018 +0900
+
+           Update header.txt
+
+       commit 8e91d9fe91d39b4984650c487206e138c87f65ca
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Aug 31 16:13:56 2018 +0900
+
+           Update Makefile for info generation
+
+       commit 75698b1b333992b1ee300c1b82e6409297b539ee
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Aug 23 13:52:57 2018 +0900
+
+           Bump version 0.7.13
+
+       commit 5a71d819a6104c9ce8ac7f448579d3380113eed5
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Jul 27 15:49:16 2018 +0900
+
+           Fix brackets tests (#172)
+
+       commit 44ff0c5adcdc6d621967b0861e720c7b16ef3543
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jul 26 12:50:33 2018 +0900
+
+           Clear translate cache on file reload
+
+       commit ca36030e7e1b3f7feadc8cd1788aae4f46f5adfe
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jul 26 12:30:09 2018 +0900
+
+           Remove numeric-range related vairables
+
+       commit c687ecda080521c00ceaa8aec05a7dd8fb2be48a
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Thu Jul 26 12:22:08 2018 +0900
+
+           Stop checking numeric range separately
+
+       commit 2dd122c2bb9bf6fc09a53f32a27c84753465e747
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Jul 8 18:00:37 2018 +0900
+
+           Disable delete-trailing-whitespace when buffer-read-only is nil
+
+       commit 898a6d84041d5c7c562e11ca3ccb59b7b3bd62e8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Jul 8 17:53:50 2018 +0900
+
+           Check editorconfig configs when read only state changes
+
+       commit e3e54b58970742f3ef40793a7f5e14850f45f00e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Jul 8 18:10:03 2018 +0900
+
+           Add trim-trailing-ws tests
+
+           With case where read-only-mode is enabled
+
+       commit 1a760c97803abf8471e33c122dbd29987fddb5a5
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jun 20 01:26:01 2018 +0900
+
+           Use emacs 26.1 instead of 26-pretest (#166)
+
+       commit 808922da89517828d6e8eddb614d3919c94b8b56
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed Jun 20 01:08:38 2018 +0900
+
+           Bump version to 0.7.12
+
+       commit ac553270b14d31d57609de3186b60c6d2b3154e6
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed May 9 13:28:47 2018 +0900
+
+           Fix info top page (#165)
+
+           * Fix info top page
+
+           * Parametrize texi top title
+
+       commit 2a35c763422b59e2e2dcdbd6ca842843672bf155
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed May 9 11:04:46 2018 +0900
+
+           Add commented allow_failure
+
+       commit 9f4640807fe33a2021c20c0bd3f3dc076f00a54b
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Wed May 9 10:53:58 2018 +0900
+
+           Fix batch command for emacs26-pretest testing
+
+       commit 8c2357c850782b84d5f90d41503c45d6a136df49
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Tue May 8 12:21:58 2018 +0900
+
+           Update travis config file
+
+       commit e7286c67000425551b13cc80e2ede5982a6a4649
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon May 7 14:54:37 2018 +0900
+
+           Use whitespace class
+
+       commit 09229ed40ef583dc9fd4d8a683d7077ba71e1b09
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon May 7 13:04:51 2018 +0900
+
+           Add test for various normal whitespace
+
+           Currently core-handle fails to parse files that contain whitespaces
+           like line breaks, horizontal space, vertical space, etc.
+
+           #161
+
+       commit 87fbfa3cea902380db512b7890cda07f872b9a07
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Mon May 7 11:52:54 2018 +0900
+
+           Remove unused variable
+
+       commit adabfa6aea82255ea603e0cd13c69c43f50fcba8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat May 5 02:55:20 2018 +0900
+
+           Add .gitignore again
+
+       commit 14fbef761792145cc715418de3baae3485d5c386
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat May 5 02:52:36 2018 +0900
+
+           Update texi
+
+       commit c9aafbcb9baceb5d3e7d5300c12788d21f642da4
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat May 5 02:52:19 2018 +0900
+
+           Fix make doc command
+
+       commit 61384245f0e0b2185103f2647178cda6ef5586a8
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat May 5 02:31:03 2018 +0900
+
+           Remove .info and add .texi
+
+       commit f8216577840405d6ddf0649bb9f1a2cca8b18f77
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat May 5 02:30:37 2018 +0900
+
+           Remove doc/.gitignore
+
+       commit b3fbb8cb2bc75b1d277a38491418704cffd72e6f
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri May 4 23:27:03 2018 +0900
+
+           Fix Makefile
+
+       commit 427ddeed978c6354f0ec33286da1c0bf70ad3a14
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Apr 29 14:21:47 2018 +0900
+
+           Add doc/.gitignore
+
+       commit 31709798cace8eae8c4a8bebb9c25f9f50913506
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sun Apr 29 14:21:25 2018 +0900
+
+           docs -> doc
+
+       commit 0ce9c9839b72edad9b4cab9ef030173f1bcd37e9
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Apr 28 13:46:35 2018 +0900
+
+           Add generated info file
+
+       commit 5db2fd4c8abce7ca169233dc5cec3c4fdefc017e
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Sat Apr 28 13:44:22 2018 +0900
+
+           Add make info target
+
+       commit 12a79fff988a8385f9762a7db5e51fac334e2135
+       Author: Jay Kamat <jaygkamat@gmail.com>
+       Date:   Thu Apr 5 19:40:58 2018 -0400
+
+           Add tests for lisp-indent-offset ignore
+
+       commit 6b92956a84498ace196d58b237602e653e22693c
+       Author: Jay Kamat <jaygkamat@gmail.com>
+       Date:   Thu Apr 5 19:15:04 2018 -0400
+
+           Add variable to disable indent_size when conditions are met for lisp
+
+       commit 816bab2d5b6eb7508ce6811e1e116166eca8192c
+       Author: 10sr <8.slashes@gmail.com>
+       Date:   Fri Mar 30 13:48:30 2018 +0900
+
+           Add csharp-mode support (#154)
+
+       commit b405ca428e2a67dd286ae1bd8cd75ac3a5dd6179
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Feb 11 00:50:44 2018 +0900
+
+           Fix fnmatch for new cases
+
+       commit 4336c8bde838ce991fc0f3c70dd3471b6adb268a
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Feb 11 00:50:23 2018 +0900
+
+           Add two test cases for fnmatch
+
+       commit f56964cd65075198b1173d58802666dedc434535
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Feb 10 23:34:10 2018 +0900
+
+           Update core-test submodule
+
+       commit ffe4396e53939da21aa6c0edbaf33dfe7a1c1d26
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Nov 7 20:01:20 2017 +0900
+
+           Prepare v0.7.11
+
+       commit 2cc03ae806ae0d89b0cb6812cc009419656a3055
+       Author: Jay Kamat <jaygkamat@gmail.com>
+       Date:   Fri Oct 6 00:29:13 2017 -0400
+
+           Change hook editorconfig is applied on (#143)
+
+           Change from `after-change-major-mode-hook' to
+           `change-major-mode-after-body-hook' to allow dir-local variables to
+           take precedence over editorconfig.
+
+           Closes #141
+
+       commit 9c67d568df7cf2156c07fce2909484c0c68756ef
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Aug 16 13:06:11 2017 +0900
+
+           Fix typo
+
+       commit 276097b635687dd7d337de96fd74b07b199dc3b5
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Aug 2 18:38:19 2017 +0900
+
+           Add apache-mode support (#135)
+
+       commit 2e343c46610b6097d8102cff682e6c6f024ada35
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Jul 24 19:03:40 2017 +0900
+
+           Add file_type_emacs to editorocnfig-conf-mode keywords
+
+       commit 8dd4394ab9f3bd00467fc70061d6950461cec6bf
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Jul 24 18:48:33 2017 +0900
+
+           Add file_type_emacs entry for .editorconfig
+
+       commit 489e2e58f19fc07ad0e468c6a444341d9b6ddaa8
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Jul 24 18:48:03 2017 +0900
+
+           Add file_type_emacs support
+
+       commit 599d3791e45fc1be2c7d96661646a5a2ff16ca14
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Jul 24 18:14:16 2017 +0900
+
+           Add document about file_type_emacs property
+
+       commit edfd7d9819bbac50bf399713d7c71b3af39866cc
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Jun 7 23:13:31 2017 +0900
+
+           Prepare v0.7.10
+
+       commit 12af7738a0a9e9c693e41f55a1b536e4f44030fd
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Jun 7 23:12:30 2017 +0900
+
+           Add function to open nearest .editorconfig file (#131)
+
+       commit 0aeb78198993e803217782b7c8bf6638e5a9fbdc
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Jun 7 22:48:47 2017 +0900
+
+           Always do submodule update when test-ert
+
+       commit 71fc634a96a237a9aa9e25972885e932b5e40377
+       Author: Simen Heggestøyl <simen@e5r.no>
+       Date:   Thu May 18 13:54:19 2017 +0200
+
+           Set `fill-column` directly
+
+           Set `fill-column` directly instead of using `set-fill-column`. That
+           function is useful when used interactively, but when called from 
Lisp
+           it’s almost equivalent to just setting `fill-column`
+           directly, and it avoids showing the “Fill column set
+           to…” message.
+
+       commit 4cda53e796b2d972353cc7d3da7d1d1a571aea6e
+       Author: Jay Kamat <jaygkamat@gmail.com>
+       Date:   Fri May 12 09:07:21 2017 -0700
+
+           Add support for feature mode. (#128)
+
+       commit a3242c35afcab0df8f3fe0a2fae4e54d157203b8
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Apr 26 13:55:52 2017 +0900
+
+           Update editorconfig-conf-mode lighter text
+
+       commit 61911bc92d70abd66acf4d6e648945e2a2a6ec39
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Apr 18 13:25:36 2017 +0900
+
+           Fix assignment to free variable warnings
+
+           Fixes #127
+
+       commit a3100e700498fcb694948bf26250cfd939031bf7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Mar 10 13:06:57 2017 +0900
+
+           Catch error thrown from editorconfig-custom-hooks
+
+           And show it as warning.
+
+       commit c54fd3abe5b8d4a6997de147afbc645896b0d55c
+       Author: Jay Kamat <jaygkamat@gmail.com>
+       Date:   Wed Feb 22 21:50:06 2017 -0500
+
+           Add support for verilog-mode
+
+       commit 75f1f7f934fdbe6801596466f6ab176b80f2c069
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Feb 22 00:37:12 2017 +0900
+
+           Prepare v0.7.9
+
+           Closes #122
+
+       commit ed06e323f9953c60d9cb32d42700407ec50c7327
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Feb 22 00:38:08 2017 +0900
+
+           Update year in copyright
+
+       commit 3e2ec93953f6666bcca3c0b4b5252524cd3d7edd
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Jan 13 13:02:04 2017 +0900
+
+           Update README for some variables
+
+       commit 399451141873347e974ee1c2cd2f13c1ee070ffc
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Jan 4 14:24:22 2017 +0900
+
+           By default always use Emacs Lisp Core when accessing remote files 
(#118)
+
+       commit 426699c7c7944438cfc6481fd06cd4610f5d3881
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Jan 3 15:17:53 2017 +0900
+
+           Add more plugin tests
+
+       commit dbfe7a208ac799069e723e46b77715436ae18b33
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Jan 3 14:38:22 2017 +0900
+
+           Add plugin-tests submodule
+
+       commit 0496bfa0e5a74062513e9af106693afefb7d17ae
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Jan 3 14:03:45 2017 +0900
+
+           Fix indentations of ert-tests/
+
+           See #111
+
+       commit b6b64127d7f489a48f0761f4446b11b54e5f2f11
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Dec 12 14:44:41 2016 +0900
+
+           Add php-mode to indentation-alist and add a short note
+
+           About `php-mode-coding-style'.
+
+           They basically do this at mode startup: "if php-mode-coding-style is
+           'pear' (which it is by default), add a c-style called 'pear' and
+           switch to it", and that style contains a c-basic-offset value. But
+           since we're hooking later than that, we're welcome to override
+           c-basic-offset without any risk.
+
+           Also, php-mode suggests manually typing "nxml-mode" and "js2-mode" 
and
+           "web-mode" and then "php-mode" etc, to switch editing styles if you
+           have a document with multiple types of content (which is common in
+           .php files), and every time you type php-mode, it runs that style
+           injection again and resets c-basic-offset.
+           However, editorconfig runs as a hook when the major mode changes,
+           so it still re-applies the correct offset every time that happens.
+
+           See #116 for more details.
+
+       commit daa0c0f096b5bf96f4027d4a006a3e6446c4b932
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Tue Nov 8 00:09:10 2016 -0800
+
+           Add Usami Kenta to the contributor list.
+
+       commit 005c313b4eaba2372d31d709899a1f2c33310d0c
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Tue Nov 8 00:06:51 2016 -0800
+
+           Reidentation for all *.el files.
+
+       commit 98a370e88960298cfbdb527d40fed3747e41da8a
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Tue Nov 8 00:01:16 2016 -0800
+
+           Massive reformatting of docstrings.
+
+       commit afadf377f9a82a66519189088cadddda376a1c9d
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Mon Nov 7 23:51:08 2016 -0800
+
+           Fix a doc string.
+
+       commit b540d0719fe9b1059781e6cf50b21b333b2c5433
+       Author: USAMI Kenta <tadsan@zonu.me>
+       Date:   Tue Nov 8 16:13:41 2016 +0900
+
+           Add editorconfig-exclude-prefixes (#108)
+
+       commit c545c8842a627b1d63c00280d504247ef2658b3d
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sat Nov 5 22:12:33 2016 -0700
+
+           Reindent using Emacs-lisp style.
+
+       commit a0b3e7037f1bb043f281e3b08423698976950b33
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Nov 6 13:37:54 2016 +0900
+
+           Add one space to editorconfig-mode lighter text
+
+       commit d7bba76ba52fe64840c19bef9938f09ab1f40ca2
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sat Nov 5 09:44:41 2016 -0700
+
+           Add a :lighter "EditorConfig" for editorconfig-mode.
+
+       commit 4e8ed00b9afe73165dc25a222890ceb8fa03ad81
+       Author: USAMI Kenta <tadsan@zonu.me>
+       Date:   Mon Sep 5 06:31:28 2016 +0900
+
+           Modify defgroup tag
+
+       commit 79bcc708530a7ed353aafa1e9ca07ff8758e068d
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Aug 9 14:12:21 2016 +0900
+
+           Revert "Use truename for editorconfig name" (#106)
+
+           * Revert "Use truename for editorconfig name"
+
+           This reverts commit f9edfc16bc5d7e3f795025ac6fa3d6608634e18a.
+
+           Not an important thing, and caused a regression reported in #105.
+
+           * Bump version to 0.7.8
+
+       commit 1c32816351644dd97f4b3c153eb4394bb7b206e7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Jul 19 21:59:02 2016 +0900
+
+           Bump version to 0.7.7
+
+       commit 8a5e621265c4a5cb92876015699793f884876769
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Jul 8 12:12:30 2016 +0900
+
+           Avoid asking coding system when not specified (#102)
+
+           Why ?
+
+           In short: Emacs always asks which charset to use when
+           editorconfig-mode is enabled, .editorconfig does not exist and 
trying
+           to save files with non-ascii characters.  This is an annoying 
behavior
+           so stop it.
+
+           Calling `set-buffer-file-coding-system` sets the "explicit" flag, 
and
+           it is used just before saving files.
+           When this flag is set but the charset is `undecided`, Emacs asks
+           users what charset to use for saving files with non-ascii
+           characters (when this flag is not set Emacs do not ask and decide
+           to use something automatically, `utf-8` for my environment).
+
+           This typically happens when editing files in repositories without
+           .editorconfig, and it is a bit annoying behavior.
+           This change makes this plugin not call 
`set-buffer-file-coding-system`
+           at all when neither `charset` nor `end_of_line` is provided, thus
+           Emacs can decide charset automatically when saving files in
+           repositories without .editorconfig files.
+
+       commit 4e65a21fae2c1a9a72c11dbcb73ecec42bf18af9
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Jul 6 12:38:00 2016 +0900
+
+           Load only editorconfig.el when using sandbox
+
+       commit 3739d7316ac29fc42e2438a7a7fe9e9fc2a3c672
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Jun 24 15:57:46 2016 +0900
+
+           Update README.md
+
+       commit 70e85e6153f311d805337302004828e016fa93c0
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Jun 24 12:45:38 2016 +0900
+
+           Load editorconfig-core explicitly just becore use (#100)
+
+           Fix for the case where this plugin is installed with `git clone`.
+           Additionally, When the core library is not available, it will emit a
+           more friendly error message like:
+
+               Cannot open load file" "no such file or directory" 
"editorconfig-core"
+
+       commit 3dd8b682435e075676a47f2476a5ecb29982e313
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jun 5 13:51:45 2016 +0900
+
+           Add editorconfig-conf-mode.el (#97)
+
+           And moved some functions and definitions from editorconfig.el
+
+       commit d900f27638d5d4340d38a575fc93b9e2f8455fc6
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue May 31 17:40:13 2016 +0900
+
+           Simplify definition of string-integer-p (#96)
+
+       commit 663019d341fa1ec51be73aa597f378af048bfcf5
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon May 16 23:54:24 2016 +0900
+
+           Print line number and its content on parse error (#95)
+
+       commit 692503ec109764bcd7990de59dc77c44e7fc8fd6
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu May 12 01:24:00 2016 +0900
+
+           Add a note about deprecating marmalade repository
+
+       commit 55ce0fca59669ef85743879a262bfdde7b498805
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu May 12 01:20:50 2016 +0900
+
+           Add link to Melpa stable
+
+       commit 331edef26d059515fb18df3057202be24d51c639
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed May 11 18:13:40 2016 +0900
+
+           Remove link to Marmalade package repository
+
+           Recently we do not update the package in Marmalade repository.
+
+       commit 7505fb780ff08cc62f41cb420723f4646ce3fe20
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu May 5 21:43:30 2016 +0900
+
+           Bump version to 0.7.6
+
+       commit 335e70e23df617a8a2b7fe200a3015369e4b78b4
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu May 5 21:41:30 2016 +0900
+
+           Trivial commentary fix
+
+           Two spaces are required after period in Emacs documents.
+
+       commit 1c2ce46d3a924c3dd72611799d868be24c8f05d7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon May 2 21:42:16 2016 +0900
+
+           Add examples for core-handle members
+
+       commit bf8bfe5f38d33ccfcebf7ee00eae697d90c19f0f
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon May 2 20:47:02 2016 +0900
+
+           Copy properties alists before using them
+
+       commit d79b9e410aa97292255622236ed2fdcba2b79b03
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon May 2 19:32:28 2016 +0900
+
+           Use truename for editorconfig name
+
+       commit a4d73a4470b4de57deaafef9fc8988355c95f462
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Apr 22 15:54:40 2016 +0900
+
+           Bump version to 0.7.5
+
+       commit 19e5f16ab68499a19459c638ecc6c5ed756b7111
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Apr 14 22:41:08 2016 -0700
+
+           Update README: add information about customize-variable.
+
+       commit 8e744e00e40b956714f22880b5a747ebb61406a7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Apr 12 11:23:17 2016 +0900
+
+           Use GFM style code block
+
+       commit b9c1318088e07db324fed70cd8ce6eec8ca6956a
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Apr 12 11:19:56 2016 +0900
+
+           Update editorconfig group docstring
+
+       commit 787889591816ef12bd78968ae5ce25a147bb8a0e
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Apr 12 10:48:44 2016 +0900
+
+           Make indentation of sample codes more consistent
+
+       commit eba248e638e83983992f2c02f806f8cb0454f1f1
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Apr 12 10:45:34 2016 +0900
+
+           Fix english
+
+       commit 24b4910571c042a78c14d57ecd5b1fcb11626ddc
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Apr 11 11:16:10 2016 +0900
+
+           Add EditorConfig group definition
+
+       commit b93a7964d43cf6da0d2627c41dcf8445e6109d97
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Apr 5 17:54:33 2016 +0900
+
+           Add a comment for contributors
+
+       commit 5687b5fc35db617704e76ed06a890b5825ccbb7a
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Apr 11 14:42:20 2016 +0900
+
+           Update instructions about core program
+
+       commit 02ab02413f0e7a91969d3742bc880745402189b5
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Apr 5 17:51:21 2016 +0900
+
+           Add Customize section to README
+
+       commit 2afc760475be59fe1105f8824fa1fb8ebdf01fc2
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Wed Apr 6 00:48:17 2016 -0700
+
+           Only set fill-column if the given integer is positive.
+
+       commit 73b4b61e0bad2c7c74fb46baa040f0c677b94068
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sun Apr 3 17:41:26 2016 -0700
+
+           No need to explicitly highlight the comments via font-lock
+           in editorconfig-conf-mode
+
+       commit d9ae054ccc608289654bea018a099a1e73dace12
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sun Apr 3 17:36:43 2016 -0700
+
+           Create a syntax table for editorconfig-conf-mode.
+
+           Fix #83.
+
+       commit 3d6df2ae193aea34f6ddd481fc17381f235b3838
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Apr 2 23:56:04 2016 +0900
+
+           Derive editorconfig-conf-mode from conf-unix-mode
+
+           Should fix #83
+
+       commit cdcc5826d684324701ba446c1648d475ce47d5a6
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Apr 1 15:38:17 2016 +0900
+
+           Add make sandbox target
+
+           This commit adds a new Make target `sandbox`.
+           Issue `make sandbox` to start new Emacs that loads *.el files in 
current
+           directory and does not load the user init file.
+
+       commit e68384d544c14451e12c50b4bad6933b31abde24
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Mar 31 22:50:17 2016 -0700
+
+           Refactor editorconfig-conf-mode
+
+       commit f2629b0abb5e212a015a10af460569b1dec3de29
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Mar 30 17:27:15 2016 +0900
+
+           Do not check metadata of files other than editorconfig.el
+
+       commit 998d0e8f766dfdf92080e3f00d78e614ea136ae7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Mar 30 15:41:38 2016 +0900
+
+           Bump version to 0.7.4
+
+           Only Package-Version in editoroconfig.el will be respected so remove
+           from other files.
+
+       commit 64a2a85351db22d76f1dd510469b94cf61a5ba54
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Mar 30 15:40:36 2016 +0900
+
+           Fix dependencies for one multifile package
+
+       commit 566ab7996e373cf7747f3856b0b4e67d8c26f17d
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sat Mar 26 17:04:43 2016 -0700
+
+           Bump required editorconfi-core version
+
+           Fix #80
+
+       commit 0791fced08790eceb64e5e9d3e46b444b71e0753
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Mar 20 01:58:51 2016 +0900
+
+           Add editorconfig-exclude-modes
+
+       commit 33b0716c668685e177ffbe28efb7a95011b405b1
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Mar 18 12:21:40 2016 +0900
+
+           Add editorocnfig-display-current-properties
+
+           A function useful for debugging.
+
+       commit 50df3046e5af9c0edde66d4ba2cfe662144a538b
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Mar 18 11:55:30 2016 +0900
+
+           Add one variable editorconfig-properties-hash
+
+       commit 3480bcd04e3e941d969439ed278fbb2aa7dea8ad
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu Feb 18 01:07:31 2016 +0900
+
+           Add editorconfig-conf-mode
+
+           A major-mode for editing .editorconfig file.
+
+       commit 914720911131a54989d3b6403a428b397466fe01
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Feb 12 18:06:39 2016 +0900
+
+           Bump version to v0.7.3
+
+       commit dbc25e04c487aeb7e879f4c8a3f1950e856acd8a
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sat Feb 6 21:07:06 2016 -0800
+
+           Add octave-mode and matlab-mode support
+
+           Close #66
+
+       commit f34c82709e2873eefa50f0c7568772b546019197
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Wed Feb 3 22:12:39 2016 -0800
+
+           Add support for scss-mode
+
+       commit 37d22c075078b32f8d75c2e2f0339d7a9760eeb3
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Jan 27 15:35:49 2016 +0900
+
+           Bump version to 0.7.2
+
+       commit f907c968c8835a980fbf0896b8e7ca81aca40d65
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Jan 27 15:30:28 2016 +0900
+
+           Already 2016 :) Happy new year!
+
+       commit 953f4f0ab77bac932eba074cd1aab70059f3a4a1
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 24 21:51:53 2016 +0900
+
+           Bump version: 0.7.1
+
+       commit d150069fc617a3daad2d698436e51786151c78dd
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 24 18:40:36 2016 +0900
+
+           Catch error thrown from get-properties-function and display it
+
+           This commit also fixes `display-warning' usage.
+
+       commit 6fbb3fe14ada3e9dbf84bf29f9223a2857e55c03
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 24 17:41:25 2016 +0900
+
+           Throw error when editorconfig executable was not found
+
+       commit a7ea6807e5aa2e1bae5bf482adcdfd8f9a46425a
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 24 16:29:32 2016 +0900
+
+           Add ess-mode indentation support
+
+       commit 5b9a1a38d2b0c45bdd69e6d64cd4273eec95bdd9
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 24 00:23:34 2016 +0900
+
+           Add ps-mode indentation support
+
+       commit 9e1b9009578934c0ec1c7721ccb0c234c93aa634
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Jan 23 19:23:14 2016 +0900
+
+           Add tcl-mode indentation support
+
+       commit 13956895101c2935dd00aff53e10e067db1272ad
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Jan 22 14:47:51 2016 +0900
+
+           editorocnfig-core: Throw error when parsing .editorconfig failed
+
+       commit 58b060cf3413b713015b62aec847fb66402b497a
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu Jan 21 20:08:31 2016 +0900
+
+           Remove find-file-hook
+
+       commit 563bebc5663b12589c713fc55080cce3fbbcd164
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu Jan 21 02:10:27 2016 +0900
+
+           I forgot to update editorconfig-core-version const
+
+       commit 466a0e4a720410d2bf13ebacecfd3ef53f8e6041
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 17 14:40:03 2016 +0900
+
+           Bump version: 0.7.0
+
+       commit adb9ba4a9d7559342934216bc1565e1ddbb4b1a7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 17 02:49:13 2016 +0900
+
+           Update README for charset support
+
+       commit d40661e532673d110dce79f40f2c3fcb9ac765a6
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Jan 17 02:48:36 2016 +0900
+
+           Support charset property
+
+       commit ae2544b55e9c26d5479bfe16886f09a79aaa08b6
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Jan 15 01:38:19 2016 +0900
+
+           Bump version: 0.6.2
+
+           Also use stable version in Package-Requires: there should be no
+           problem with this.
+
+       commit fe9ed9b4cbfda2548c3fc3ca0db6e678a83f9ec7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Jan 11 23:15:18 2016 +0900
+
+           Fix names of ert test cases
+
+       commit cd91a226fb792b6b3cbf3aaa05951cdd1ffa091c
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Jan 11 23:14:45 2016 +0900
+
+           Check package metadata using ert framework
+
+       commit 12f18b061a562d2fabea0b4cba1b2726db7a721e
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Jan 11 22:34:52 2016 +0900
+
+           Use dedicated functions to manipulate hook
+
+       commit ae1254a7aa76f160578446dc5ead478200735b5d
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu Jan 7 19:14:51 2016 +0900
+
+           Use hook type for custom-hooks defcustom
+
+       commit 58f106454036e2248cec7d4dc4ca53c8fddb71ee
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Dec 27 22:35:38 2015 +0900
+
+           Add MELPA badges
+
+       commit 9c65aa401996dd87fe054a1079885651529bd70f
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu Dec 17 19:31:43 2015 +0900
+
+           Use `require` instead of `load` in usage example
+
+       commit 48f77abd9040f2eb563efd6185b366cacd8b99de
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Dec 9 01:35:23 2015 +0900
+
+           Bump version: 0.6.1
+
+           This release is only for melpa stable and has no change since 0.6
+
+       commit ef465f0c5d0cdabbe8ae859d2cbfed018498cc94
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Dec 5 02:42:25 2015 +0900
+
+           Add document about running tests
+
+       commit 2c3488e82410130bf811291ee07c9e208228a7a8
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Dec 5 01:52:40 2015 +0900
+
+           Make `editorconfig-apply' an interactive command
+
+       commit d94e1f29f333bc8e70fda372a0ca906d54eed365
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Dec 4 01:30:24 2015 +0900
+
+           Fix some warnings reported by flycheck
+
+           Mainly docstring fix
+
+       commit df4dea58f13173bd1f8a2cf59b897e9429add23b
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Fri Dec 4 16:08:10 2015 +0900
+
+           Fix editorconfig-core commentary text
+
+       commit 2f297a27107c068b802fc92dbe166d4a8fae9e44
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Thu Dec 3 02:12:59 2015 +0900
+
+           Add license header to executable
+
+       commit 98a42ef7e85c2af1fa84be91ccfb677449ffe9ec
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Dec 1 02:05:08 2015 +0900
+
+           Prepare v0.6
+
+       commit 320bfe2fa53175b8854cb81d5b008a4592fe475e
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Nov 29 00:18:38 2015 +0900
+
+           Fix all indentation according to editorconfig
+
+       commit 220f04ad82d8adae6562c036d42d61eb1a01d50f
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Nov 29 01:18:33 2015 +0900
+
+           Update README for core elisp
+
+       commit 8beaa3e2fc3a3676c5a22b219e6faf80c0a23489
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Nov 29 00:32:53 2015 +0900
+
+           Use core in elisp as a fallback
+
+           editorconfig-core-get-properties-hash will be called when 
editorconfig
+           executable is not found.
+
+       commit 8555cc5e7181da63c93ab41c1fadc9c8d3ae2224
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Nov 28 23:55:19 2015 +0900
+
+           Update Makefile to run all tests including core
+
+       commit e3fe4530edab8b748415f25df5f173b82dc503f5
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Nov 28 23:30:57 2015 +0900
+
+           Add editorconfig-core el files
+
+       commit 0b236465262048ff9143af337013becf324a3188
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Wed Nov 25 12:08:39 2015 +0900
+
+           Add files used to test core functions
+
+       commit cc948068c916e854561933a5857a5fbb55aeaa26
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sat Nov 28 23:35:37 2015 +0900
+
+           Update .editorconfig for Makefile and .gitmodules
+
+       commit 12f49e98fa559b3055be17ab71f4092f1f078386
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Nov 17 16:36:15 2015 +0900
+
+           Do nothing when current buffer does not visit any file
+
+       commit 1c7857782098192e8aba314bd7925814e3b4fddb
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Nov 5 12:43:57 2015 -0800
+
+           Add 10sr to the contributor list
+
+       commit d076a16e81db4697be0d8744468906ab110f8b7e
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Nov 5 00:57:40 2015 -0800
+
+           Apply settings on major mode change
+
+       commit e9da0d685d9d7367bce9dc3c572234b23293f0c3
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Nov 5 00:54:45 2015 -0800
+
+           Rename editorconfig-find-file-hook to editorconfig-apply
+
+       commit f61c0e31151381d7dd6efc22afcbb9db20c6cf00
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Mon Nov 2 01:40:55 2015 +0900
+
+           Add aliases for obsolete variables and bump version
+
+       commit cfb329dabf54c1c99da3352481d7d819be9f90d7
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Nov 1 20:10:51 2015 +0900
+
+           Update README
+
+       commit 241554e8881cdc42e8524c16a4c0a39838c2c337
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Nov 1 18:14:39 2015 +0900
+
+           Change symbol prefix: edconf -> editorconfig
+
+       commit 0a319fab7845153a91fbd12ff1174f2808e2ed2c
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Sun Nov 1 18:11:03 2015 +0900
+
+           Add global minor mode
+
+       commit a4b8e55bf4dea4567f165ad5f71694f659610b3d
+       Author: 10sr <8slashes+git@gmail.com>
+       Date:   Tue Oct 27 22:15:00 2015 -0700
+
+           Make EditorConfig core function pluggable
+
+           Close #41
+
+           Squashed commit of the following:
+
+           commit e91aca6f38d9c42be19cc49aafc75ac086907b00
+           Author: 10sr <8slashes+git@gmail.com>
+           Date:   Sun Oct 25 03:19:26 2015 +0900
+
+               Fix typo in docstring
+
+           commit 76ce139cd0a0ff6bc250615ca7bb94868c85c41d
+           Author: 10sr <8slashes+git@gmail.com>
+           Date:   Tue Oct 13 13:51:13 2015 +0900
+
+               Implement edconf-get-properties-from-exec
+
+           commit 23baf520c83a7cb68634cd173ce28f9a6842f593
+           Author: 10sr <8slashes+git@gmail.com>
+           Date:   Mon Oct 12 03:18:54 2015 +0900
+
+               Add variable edconf-get-properties-function
+
+       commit 46eb2863daa2f391bda9b9f8b0db0db210922b32
+       Author: USAMI Kenta <tadsan@zonu.me>
+       Date:   Fri Oct 23 01:51:34 2015 +0900
+
+           Add autoload cookie
+
+       commit d068ec0546938a0d02b05ac5a75c370962205ed2
+       Author: USAMI Kenta <tadsan@zonu.me>
+       Date:   Fri Oct 23 01:41:55 2015 +0900
+
+           Use \' instead of $
+
+       commit b45ec732a2b59f8b3404ae40a52de0f08471bcb6
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Mon Mar 16 15:02:01 2015 -0700
+
+           Relicense to GPLv3+
+
+       commit 871a69ab908cb00e69fa5be0f7e4deaabcbe8b5d
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Mon Mar 16 14:39:06 2015 -0700
+
+           Add Hong Xu to contributor list.
+
+       commit 7a7e1544c961ee4659af40e6f59c2777d12ea297
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Mon Mar 16 14:38:42 2015 -0700
+
+           Update a few links in the README
+
+       commit e7a0874591b23885e10dc322211ff9f77b944dae
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Fri Dec 19 00:33:17 2014 -0800
+
+           Add hook mechanism.
+
+       commit c36ed4aeb7096abbe455fd91fd4708a413f0c16f
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sat Dec 20 18:04:39 2014 -0800
+
+           Version 0.4
+
+       commit 6c18a40b51e459b44af380aa42e111870ab9334f
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Dec 18 23:17:28 2014 -0800
+
+           Make edconf-exec-path a customizable variable.
+
+       commit 480a6bba4761fe1074bd70b4dc9cb461e50fa3b4
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Dec 18 22:13:17 2014 -0800
+
+           Fix some issues caused by the previous commit.
+
+       commit 92519a8c255cfd7d2b730842c7cb00304f992735
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Dec 18 21:58:11 2014 -0800
+
+           Don't set indent size if the given value makes no sense.
+
+       commit 9d1d2364313086590d0e578aab5dbaabeaf03ec9
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Dec 18 21:11:19 2014 -0800
+
+           Don't set max_line_length if not specified.
+
+       commit d776cdc5eeedcac6a58fa50ea685275d6fec40e6
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Dec 18 21:02:28 2014 -0800
+
+           Support max_line_length.
+
+       commit 56722d34df673387597dd68e3dd2c179fb0fcb96
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Mon Aug 11 09:32:49 2014 -0700
+
+           Add sh-indentation to the list of indent variable.
+
+       commit 6bdcaf89dff0ec33ccb82cd8c82658ae8a66c4e0
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Tue Jul 8 14:38:52 2014 -0700
+
+           Add cmake-mode support.
+
+       commit 5bc887b015d0c192133109448debcb1cd0a7b575
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Wed Oct 16 18:10:24 2013 -0700
+
+           Support web-mode.
+
+           Fix editorconfig/editorconfig#124
+
+       commit 4e2bf3ddd61a87ac30bdfea04d222b8643ffd337
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Jun 6 17:50:32 2013 -0700
+
+           Add the package manager installation way to README
+
+       commit ac28a9fd1d5b4bd0130fe78d3428cc1e93bbff7a
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Thu Jun 6 17:41:45 2013 -0700
+
+           Bump version number
+
+       commit fbe97a082421acf8ea41abee76f6ce223496a628
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Wed Jun 5 01:06:46 2013 -0700
+
+           Wrong way to indent html. Fixes it.
+
+       commit d7a7b6af8e7af9982543df76739be3f50e2bfee9
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Wed Jun 5 01:02:45 2013 -0700
+
+           Add JS and HTML indent settings.
+
+       commit 5dfbeb541ec9aa652e5728e7108cedb7c12a0a9b
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sun Jun 2 11:58:46 2013 -0700
+
+           Fix indentation problem in the source file.
+
+       commit 9fdbf9ffddc1758019158328eadf293f6ecb7435
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sun Jun 2 11:53:48 2013 -0700
+
+           Set indent value for AucTeX
+
+       commit e69ebeeaa1dd8e4769d5a40e25323db8d8672e59
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Wed May 29 22:30:39 2013 -0700
+
+           Reset the indentation rule.
+
+       commit ef90cfda833faeeb8b92cd528bf9523762efa94e
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sun May 26 10:32:29 2013 -0700
+
+           Update package information.
+
+       commit 8ee7d0b5334da68b9147c28465529b07c5010363
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Sun May 26 00:56:26 2013 -0700
+
+           Set indent_size for lisp mode and ruby mode.
+
+       commit 45afbe1bc96afb423d42a2f547804f0e11f89f3f
+       Author: Hong Xu <hong@topbug.net>
+       Date:   Mon Mar 18 10:18:52 2013 -0700
+
+           Add a link to `editorconfig.el` in README
+
+       commit 10be4fd165d39baa4394e26256f696a39ab01de3
+       Author: Jonas Bernoulli <jonas@bernoul.li>
+       Date:   Mon Mar 18 05:06:03 2013 +0100
+
+           provide feature, use symbol prefix, add commentary,
+
+           remove url from summary
+
+       commit a8ca8c46f75e76565d773c44cc9f36169beaa24c
+       Author: Hong Xu <xuhdev@gmail.com>
+       Date:   Sun Mar 4 12:37:02 2012 +0800
+
+           Update EditorConfig Core URL.
+
+       commit c45e871a5d1394e6755fd2202d83cb53ad1b1e04
+       Author: Hong Xu <xuhdev@gmail.com>
+       Date:   Wed Jan 25 10:57:55 2012 +0800
+
+           Add properties link.
+
+       commit d744546fc6864c0a2a4b524804982656988526b9
+       Author: Hong Xu <xuhdev@gmail.com>
+       Date:   Tue Jan 10 09:41:41 2012 +0800
+
+           Add root=true to the top .editorconfig.
+
+       commit 68ad326706a14a707395501aeb03b579aef83777
+       Author: Hong Xu <xuhdev@gmail.com>
+       Date:   Sat Nov 26 11:05:37 2011 +0800
+
+           Update EditorConfig url.
+
+       commit 38ac90325669f2643c3205715d4b76aa3e1891ca
+       Author: Stefan Monnier <monnier@iro.umontreal.ca>
+       Date:   Thu Jun 13 14:28:14 2024 -0400
+
+           Erase initial commit content
+
+       commit 6360e7b904fcadb30678bf7fa740c998976eec75
+       Author: Trey Hunner <treyhunner@gmail.com>
+       Date:   Fri Nov 4 21:12:11 2011 -0700
+
+           Add initial plugin
+
+2024-06-19  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid compilation warnings
+
+       * src/xwidget.c (Fxwidget_perform_lispy_event): Avoid compiler
+       warnings.  (Bug#71638)
+
+2024-06-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2024-06-19  Po Lu  <luangruo@yahoo.com>
+
+       Don't follow symlinks in returning directory attributes of /
+
+       * src/androidvfs.c (struct android_vops) <stat>: New argument
+       for flags.
+       (android_unix_stat): Implement in terms of fstatat, not stat,
+       and provide flags to the same.
+       (android_afs_stat, android_content_stat, android_authority_stat)
+       (android_saf_root_stat, android_saf_tree_stat)
+       (android_saf_new_stat, android_fstatat): Adjust to match.
+
+2024-06-19  Po Lu  <luangruo@yahoo.com>
+
+       Avoid races between the tooltip and compositor on X and Android
+
+       * java/org/gnu/emacs/EmacsView.java (onLayout): Don't send
+       exposure events when the window is still to be attached.
+
+       * src/androidfns.c (Fx_show_tip):
+
+       * src/xfns.c (Fx_show_tip): Block async input around initial
+       frame update.
+
+2024-06-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       * lisp/org/ob-lua.el: Minor doc fixes.
+
+2024-06-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update Coccinelle URL
+
+       * admin/coccinelle/README: Update URL.
+
+2024-06-18  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Update to Transient v0.7.0-1-g482bc777
+
+2024-06-18  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tramp-use-file-attributes
+
+       * doc/misc/tramp.texi: Fix indentation.
+       (Bug Reports): Mention Gmane group gmane.emacs.tramp.
+       (Frequently Asked Questions): Precise tramp-use-file-attributes entry.
+
+       * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
+       Dump os-release when `tramp-verbose' is at least 9.
+
+       * lisp/net/tramp.el (tramp-use-file-attributes): Adapt docstring.
+       Use connection-local value.
+
+2024-06-18  Philip Kaludercic  <philipk@posteo.net>
+
+       Disable usage of unicode for which-key by default
+
+       * lisp/which-key.el (which-key-dont-use-unicode): Set to t.
+       (which-key-separator, which-key-ellipsis): Ensure that these
+       options are set after 'which-key-dont-use-unicode', as their
+       default value depends on it.
+
+2024-06-18  Philip Kaludercic  <philipk@posteo.net>
+
+       Remove :underline from 'which-key-highlighted-command-face '
+
+       * lisp/which-key.el (which-key-highlighted-command-face): To
+       avoid using properties that might not be supported on all
+       displays, we instead inherit from the semantic face 'highlight'.
+
+2024-06-18  Philip Kaludercic  <philipk@posteo.net>
+
+       Prevent which-key faces from over-extending during formatting
+
+       * lisp/which-key.el (which-key--pad-column): Instead of
+       injecting the description using a left-aligned format-string (%-[n]s),
+       we manually add the necessary padding so that the text
+       properties don't extend beyond the description.  This allows us
+       to use a face with a background without it extending until the
+       end of a column.
+
+       See also 63a6fb2a7a02ca88835c3fd473894d3b7d39ff15 for a similar
+       issue with Quick Help.
+
+2024-06-18  Po Lu  <luangruo@yahoo.com>
+
+       Fix window class of Android tooltips
+
+       * java/org/gnu/emacs/EmacsWindow.java (getWindowLayoutParams):
+       Declare as a panel, rather than an attached dialog.
+
+2024-06-18  Po Lu  <luangruo@yahoo.com>
+
+       Correct resolution of non-virtual directory names on Android
+
+       * src/androidvfs.c (android_vfs_canonicalize_name): Correct
+       return value in cases of underflowing the directory stack.
+       (android_unix_name): Reset vnode operations vector of copied
+       vnodes to their standard value, and exclude virtual directories
+       from subdirectories of the root directory's parent directory.
+       (android_root_name): Adjust to match.
+
+2024-06-18  Po Lu  <luangruo@yahoo.com>
+
+       * java/Makefile.in (emacs.apk-in): Don't compress *.gz files on SDK 8.
+
+2024-06-17  Dmitry Gutov  <dmitry@gutov.dev>
+
+       diff-mode: Optimize source language syntax highlighting
+
+       * lisp/vc/diff-mode.el (diff--get-revision-properties):
+       Never pass FILE to 'diff-syntax-fontify-props'; assume that
+       'vc-find-revision-no-save' has called the major mode function
+       already (bug#71604).
+
+2024-06-17  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-line.el (tab-line-force-update): New function (bug#71601).
+
+       (tab-line-tab-name-function, tab-line-tabs-function)
+       (tab-line-tabs-buffer-group-function)
+       (tab-line-tabs-buffer-group-sort-function)
+       (tab-line-tabs-buffer-groups-sort-function)
+       (tab-line-tab-name-format-function):
+       Use 'tab-line-force-update' in the :set lambda of defcustom.
+       (tab-line-tab-name-function, tab-line-tabs-function)
+       (tab-line-cache-key-function): Mention 'tab-line-force-update'
+       in the docstring.
+       (tab-line-new-button-show, tab-line-close-button-show):
+       In the :set lambda of defcustom use 'force-mode-line-update'
+       with the non-nil arg ALL.
+
+2024-06-17  Juri Linkov  <juri@linkov.net>
+
+       * lisp/outline.el: Make revert-related functions internal.
+
+       (outline--hidden-headings-paths)
+       (outline--hidden-headings-restore-paths): Rename with the prefix
+       'outline--' to mark them internal to discourage from relying on
+       their arguments and return values.
+
+2024-06-17  Eshel Yaron  <me@eshelyaron.com>
+
+       (bookmark--jump-via): Ensure 'window-point' is set correctly
+
+       * lisp/bookmark.el (bookmark--jump-via): Record
+       bookmark-prescribed point before calling DISPLAY-FUNCTION, and
+       use it to set 'window-point' afterwards.  (Bug#71603)
+
+2024-06-17  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/touch-screen.el (touch-screen-inhibit-drag): Fix 'not' arity use.
+
+2024-06-17  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't hide `not` and `null` arity errors
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-not):
+       Don't silently convert incorrect `not` and `null` applications to nil.
+
+2024-06-17  Po Lu  <luangruo@yahoo.com>
+
+       Reinforce bitmap reconfiguration on Android
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView) <unswapped>: New
+       field in which to record whether the back buffer has received
+       contents beyond those present at the last buffer swap.
+       <dimensionsLock>: Delete field.
+       (onAttachedToWindow, onLayout, handleDirtyBitmap)
+       (prepareForLayout): Rather, synchronize window dimensions with
+       the view.
+       (getCanvas, getBitmap): Do not reconfigure the back buffer
+       bitmap if such outstanding data exists.
+       (postSwapBuffers): New function.
+       (swapBuffers): If such outstanding data exists and the back
+       bufferis pending reconfiguration, recreate the back buffer and
+       report exposure.
+
+       * src/androidterm.c (handle_one_android_event): Fix indentation.
+
+2024-06-17  Po Lu  <luangruo@yahoo.com>
+
+       Improve treatment of touch screen input by rmc and its callers
+
+       * lisp/emacs-lisp/rmc.el (read-multiple-choice--short-answers):
+       Run touch screen event translation on touch screen events
+       received, and respond to pinch, tap and scrolling gestures.
+
+       * lisp/net/nsm.el (nsm-query-user): Disable use-dialog-box in
+       the details window.
+
+       * lisp/touch-screen.el (touch-screen-translate-touch): Autoload.
+
+2024-06-17  Juri Linkov  <juri@linkov.net>
+
+       * lisp/outline.el: Keep point on the same outline after revert.
+
+       (outline-hidden-headings-paths): Return the current path as well.
+       (outline-hidden-headings-restore-paths): Move point to the path
+       that was current before reverting the buffer (bug#71466).
+       (outline-revert-buffer-restore-visibility):
+       Handle both values returned from outline-hidden-headings-paths.
+
+2024-06-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp: handle non-standard file system like GPFS
+
+       * doc/misc/tramp.texi (Frequently Asked Questions):
+       Explain tramp-use-file-attributes.
+
+       * lisp/net/tramp.el (tramp-use-file-attributes): New defcustom and
+       defsubst.
+       (tramp-skeleton-file-exists-p):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-file-executable-p)
+       (tramp-adb-handle-file-readable-p):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-executable-p)
+       (tramp-sudoedit-handle-file-readable-p)
+       (tramp-sudoedit-handle-file-writable-p): Use it.
+       * lisp/net/tramp-sh.el (tramp-sh-handle-file-executable-p)
+       (tramp-sh-handle-file-readable-p)
+       (tramp-sh-handle-file-writable-p): Use it.
+       (tramp-sh-handle-set-file-acl): Fix property name.
+
+2024-06-16  Robert Pluim  <rpluim@gmail.com>
+
+       Fix clipboard request on macOS for yank-media
+
+       'yank-media' makes a request with 'CLIPBOARD and 'TARGETS, which on
+       other platforms returns the type(s) of the current selection, but on
+       macOS returned the selection itself.  Make it return the types instead.
+
+       This fixes (Bug#71377).
+
+       * src/nsselect.m (ns_get_local_selection): Return nil when called with
+       QCLIPBOARD and QTARGETS, so that 'ns_get_foreign_selection' is called to
+       return the type(s) of the selection.
+
+2024-06-16  Po Lu  <luangruo@yahoo.com>
+
+       Minor adjustments to battery.el on Android
+
+       * src/android.c (android_query_battery):
+
+       * java/org/gnu/emacs/EmacsService.java (queryBattery19)
+       (queryBattery): Reorder items in value for consistency with
+       Fandroid_query_battery.
+
+       * lisp/battery.el (battery-status-function): Select
+       battery-android only when android-query-battery is present.
+       (battery-android): Return temperature and correct values of
+       power source constants.
+
+2024-06-16  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix Eshell "which" test on MS-Windows
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/which/plain/external-program): Compare the file name
+       case-insensitively on case-insensitive file systems.
+
+       * test/lisp/eshell/eshell-tests-helpers.el
+       (eshell-command-result--equal): Revert to the previous implementation.
+
+2024-06-16  Po Lu  <luangruo@yahoo.com>
+
+       Simplify bitmap reallocation on Android
+
+       * java/org/gnu/emacs/EmacsView.java: Update outdated commentary.
+       (handleDirtyBitmap): Don't copy contents of the previous bitmap
+       to the new.
+       (onLayout): Unconditionally expose upon layout changes.
+
+2024-06-16  Po Lu  <luangruo@yahoo.com>
+
+       Document unavailability of color fonts on Android
+
+       * doc/emacs/android.texi (Android Fonts): Document absence of
+       support for color fonts.
+
+2024-06-16  James Thomas  <jimjoe@gmx.net>
+
+       Account for duplicate removal on restoring eww-history-position
+
+       * lisp/net/eww.el (eww-desktop-misc-data): Add :history-position
+       (eww-restore-desktop): Use it.
+       (desktop-locals-to-save): Remove the raw variable.
+
+2024-06-15  Philip Kaludercic  <philipk@posteo.net>
+
+       Fix :version tag for 'which-key' custom data
+
+       * lisp/which-key.el (which-key-idle-delay)
+       (which-key-idle-secondary-delay, which-key-echo-keystrokes)
+       (which-key-max-description-length)
+       (which-key-min-column-description-width)
+       (which-key-add-column-padding, which-key-unicode-correction)
+       (which-key-dont-use-unicode, which-key-separator)
+       (which-key-ellipsis, which-key-prefix-prefix)
+       (which-key-compute-remaps, which-key-replacement-alist)
+       (which-key-allow-multiple-replacements)
+       (which-key-show-docstrings, which-key-highlighted-command-list)
+       (which-key-special-keys, which-key-buffer-name)
+       (which-key-show-prefix, which-key-popup-type)
+       (which-key-min-display-lines, which-key-max-display-columns)
+       (which-key-side-window-location, which-key-side-window-slot)
+       (which-key-side-window-max-width)
+       (which-key-side-window-max-height, which-key-frame-max-width)
+       (which-key-frame-max-height)
+       (which-key-allow-imprecise-window-fit)
+       (which-key-show-remaining-keys, which-key-sort-order)
+       (which-key-sort-uppercase-first, which-key-paging-prefixes)
+       (which-key-paging-key, which-key-use-C-h-commands)
+       (which-key-show-early-on-C-h, which-key-is-verbose)
+       (which-key-preserve-window-configuration)
+       (which-key-hide-alt-key-translations, which-key-delay-functions)
+       (which-key-allow-regexps, which-key-inhibit-regexps)
+       (which-key-show-transient-maps, which-key-init-buffer-hook)
+       (which-key-key-face, which-key-separator-face)
+       (which-key-note-face, which-key-command-description-face)
+       (which-key-local-map-description-face)
+       (which-key-highlighted-command-face)
+       (which-key-group-description-face, which-key-special-key-face)
+       (which-key-docstring-face)
+       (which-key-custom-popup-max-dimensions-function)
+       (which-key-custom-hide-popup-function)
+       (which-key-custom-show-popup-function, which-key-lighter)
+       (which-key-inhibit-display-hook)
+       (which-key-this-command-keys-function)
+       (which-key-allow-evil-operators)
+       (which-key-show-operator-state-maps): Rename :version to
+       :package-version and add new :version tags indicating that
+       'which-key' was added with Emacs 30.
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix em-extpipe-tests on MS-Windows
+
+       * test/lisp/eshell/em-extpipe-tests.el (em-extpipe-test-14): Fix
+       test on MS-Windows (bug#71446).
+
+2024-06-15  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Fix 'wrong-type-argument' in 'php-ts-mode--webserver-read-args'
+
+       Prevents php-ts-mode--webserver-read-args from throwing an
+       error if the current buffer is not associated with a file.
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode--webserver-read-args):
+       Use 'default-directory if' the current buffer is not associated
+       with a file.  (Bug#71574)
+       (php-ts-mode-run-php-webserver): Fix doc string.
+
+2024-06-15  Kyle Meyer  <kyle@kyleam.com>
+
+       Update to Org 9.7.4-7-g165319
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       59261e6f4fe Fix auth-info-password
+       778f8c793d1 ; * lisp/mail/rmail.el (rmail-get-new-mail-hook): Doc fix.
+       e6044b29e65 ; Minor fixes in ELisp manual
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid byte-compilation warnings in php-ts-mode
+
+       * lisp/progmodes/php-ts-mode.el (treesit-search-forward)
+       (treesit-node-prev-sibling, treesit-node-first-child-for-pos):
+       Declare.
+
+2024-06-15  Eshel Yaron  <me@eshelyaron.com>
+
+       Honor 'Info-additional-directory-list' in 'C-h R' completion
+
+       * lisp/info.el (info--manual-names): Take into account
+       'Info-additional-directory-list', in addition to
+       'Info-directory-list'.  (Bug#71368)
+
+2024-06-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Bump `which-key` minimum Emacs version to 25.1
+
+       * lisp/which-key.el: Bump minimum required Emacs version to 25.1 since
+       the package depends on `universal-argument--description'.  This was
+       detected by package-lint.
+
+2024-06-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix checkdoc warnings in which-key.el
+
+       * lisp/which-key.el (which-key, which-key-idle-secondary-delay)
+       (which-key-replacement-alist)
+       (which-key-allow-multiple-replacements, which-key-show-docstrings)
+       (which-key-highlighted-command-list, which-key-show-prefix)
+       (which-key-sort-order, which-key-sort-uppercase-first)
+       (which-key-use-C-h-commands, which-key-show-early-on-C-h)
+       (which-key-preserve-window-configuration, which-key-C-h-map)
+       (which-key-delay-functions, which-key-inhibit-regexps)
+       (which-key-faces, which-key-key-face, which-key-separator-face)
+       (which-key-note-face, which-key-command-description-face)
+       (which-key-local-map-description-face, which-key-special-key-face)
+       (which-key-inhibit-display-hook)
+       (which-key-this-command-keys-function, which-key-mode)
+       (which-key--init-buffer, which-key--get-menu-item-binding)
+       (which-key--get-keymap-bindings, which-key-reload-key-sequence)
+       (which-key-show-major-mode, which-key-show-full-major-mode)
+       (which-key-C-h-dispatch): Fix checkdoc warnings.
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix problem with recently-added defcustom's
+
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode-php-config)
+       (php-ts-mode-ws-port, php-ts-mode-ws-document-root)
+       (php-ts-mode-ws-workers): Fix :type and :safe attributes.
+       (Bug#71566)
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Better documentation of 'emacs-internal' encoding
+
+       * doc/lispref/nonascii.texi (Coding System Basics): Recommend
+       'emacs-internal' encoding for caching.
+
+2024-06-15  Philip Kaludercic  <philipk@posteo.net>
+
+       * etc/NEWS: Mention the addition of 'which-key'
+
+       * lisp/which-key.el: Clean up file header
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix doc strings in ispell.el
+
+       * lisp/textmodes/ispell.el (ispell-check-version)
+       (ispell-get-casechars, ispell-get-not-casechars)
+       (ispell-get-otherchars, ispell-get-many-otherchars-p)
+       (ispell-get-ispell-args, ispell-get-extended-character-mode)
+       (ispell-get-coding-system, ispell-word, ispell-get-word)
+       (ispell-pdict-save, ispell-command-loop, ispell-help)
+       (ispell-filter, ispell-highlight-spelling-error)
+       (ispell-change-dictionary, ispell-region, ispell-ignore-fcc)
+       (ispell-get-line, ispell-message): Doc fixes (bug#71532)
+
+2024-06-15  Ashwin Kafle  <ashwin@ashwink.com.np>
+
+       Fix calc-trail-here for first line of trail.
+
+       * lisp/calc/calc.el(calc-trail-here): Change 'or' to 'and'
+       since (bobp) can return true even if the buffer is not empty.
+       (Bug#71533)
+
+2024-06-15  kobarity  <kobarity@gmail.com>
+
+       Allow escape sequences in Python prompts
+
+       * lisp/progmodes/python.el (python-shell-prompt-detect): Use
+       Python's json package if available, and remove escape sequences
+       in prompts.
+       * test/lisp/progmodes/python-tests.el
+       (python-tests-interpreter-2-6-higher-p): New predicate
+       function.
+       (python-shell-prompt-detect-7): New test.  (Bug#71440)
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'reindent-then-newline-and-indent' with 'abbrev-mode'
+
+       * lisp/simple.el (reindent-then-newline-and-indent): Use a marker
+       for the initial position.  (Bug#71459)
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Prevent deletion of separator in *edit string* buffer
+
+       * lisp/textmodes/string-edit.el (string-edit): Make the separator
+       line read-only.  (Bug#71405)
+
+2024-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix electric-pair-mode when characters are bound to non-ASCII keys
+
+       * src/cmds.c (Fself_insert_command): Record the argument C in
+       'last-command-event'.  (Bug#71337)
+
+2024-06-15  Po Lu  <luangruo@yahoo.com>
+
+       Send proper substitution character to Android IMEs
+
+       * src/androidterm.c (android_text_to_string): Substitute
+       REPLACEMENT CHARACTER for NULL in converting characters not
+       representable without surrogate pairs to UTF-16.
+
+2024-06-15  Arsen Arsenović  <arsen@aarsen.me>
+
+       typescript/tsx-ts-mode: Indentation for type parameters
+
+       * lisp/progmodes/typescript-ts-mode.el
+       (typescript-ts-mode--indent-rules): Add rule for type_parameters.
+
+2024-06-14  Dmitry Gutov  <dmitry@gutov.dev>
+
+       "Insert before markers" in read_and_insert_process_output properly
+
+       * src/coding.c (setup_coding_system): Initialize it.
+       (produce_chars, encode_coding, decode_coding_gap):
+       Obey it in insert_from_gap calls.
+       (encode_string_utf_8, decode_string_utf_8): Update the other calls
+       to insert_from_gap to have one new argument (false).
+
+       * src/coding.h: New field insert_before_markers.
+
+       * src/decompress.c (Fzlib_decompress_region): Here too.
+
+       * src/insdel.c (insert_from_gap):
+       Accept new argument BEFORE_MARKERS (bug#71525) and pass it through
+       to adjust_markers_for_insert.
+
+       * src/lisp.h: Update prototype.
+
+       * src/process.c (read_and_insert_process_output):
+       Set process_coding->insert_before_markers instead of calling
+       adjust_markers_for_insert.
+
+2024-06-14  Dmitry Gutov  <dmitry@gutov.dev>
+
+       * lisp/progmodes/project.el: Bump the version
+
+2024-06-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix generation of org.texi from org.org
+
+       * doc/misc/Makefile.in (org_template): Bind
+       'org-id-track-globally' to nil when running
+       'org-texinfo-export-to-texinfo-batch', to avoid searching local
+       user files when building the Org manual.
+
+2024-06-14  Po Lu  <luangruo@yahoo.com>
+
+       Correct last change
+
+       * lisp/term.el (term-generate-db-directory): Don't delete
+       DST-DIRECTORY if not yet existent.
+
+2024-06-14  Po Lu  <luangruo@yahoo.com>
+
+       Port term.el's terminfo machinery to Android
+
+       * lisp/term.el (term-generate-db-directory): New function.  Copy
+       /assets/etc/e to the cache directory, on Android, and return the
+       same.
+       (term-exec-1): Call term-generate-db-directory in place of
+       data-directory.
+
+2024-06-14  Po Lu  <luangruo@yahoo.com>
+
+       Unconditionally prefer built-in decompression functions on Android
+
+       * lisp/jka-compr.el (jka-compr-insert-file-contents): Prefer
+       built-in decompression functions (i.e., zlib) to external
+       agents.
+
+2024-06-14  Po Lu  <luangruo@yahoo.com>
+
+       Restore file's original name after a failed rename_replace on Windows 9X
+
+       * src/w32.c (sys_rename_replace): If the rename operation fails
+       and an intermediate name was generated and applied to the input
+       file, restore the original.
+
+2024-06-14  Po Lu  <luangruo@yahoo.com>
+
+       Enable compiling Emacs with implicit Make rules suppressed
+
+       * lib/Makefile.in (.SUFFIXES):
+
+       * lwlib/Makefile.in (.SUFFIXES):
+
+       * oldXMenu/Makefile.in (.SUFFIXES):
+
+       * src/Makefile.in (.SUFFIXES): Register .c as a default suffix,
+       for this list is emptied when `-r' is provided to Make.
+
+2024-06-14  Pär Bohrarper  <par.bohrarper@gmail.com>
+
+       Fix file listing in submodules with project-files-relative-names=t
+
+       * lisp/progmodes/project.el (project--vc-list-files):
+       Prepend module names to files when project-files-relative-names is
+       non-nil (bug#71538).
+
+2024-06-13  Harald Jörg  <haj@posteo.de>
+
+       ;cperl-mode.el: Avoid false positives when parsing new Perl syntax
+
+       * lisp/progmodes/cperl-mode.el (cperl--package-for-imenu-rx)
+       (cperl--class-for-imenu-rx): avoid false positives when collecting
+       imenu entries
+       * lisp/progmodes/cperl-mode.el (cperl-init-faces): avoid false
+       positives when detecting package names
+
+       * test/lisp/progmodes/cperl-mode-tests.el
+       (cperl-test-imenu-index): Add test verifying that $class_false is
+       not shown as a class _false
+
+       * test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add a line
+       containing a false positive "$class_false"
+
+2024-06-13  Mattias Engdegård  <mattiase@acm.org>
+
+       php-ts-mode: minor fixes
+
+       * lisp/progmodes/php-ts-mode.el (php-ts-mode-flymake-php):
+       Don't use `any` to mean `not-newline`; it's misleading.
+       (php-ts-mode--predefined-constant): Remove duplicate "E_USER_NOTICE".
+
+2024-06-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt emacsclient options in doc
+
+       * doc/emacs/misc.texi (emacsclient Options):
+       * doc/man/emacsclient.1: Adapt option list.
+
+2024-06-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix removal of file locks on MS-Windows 9X
+
+       A new Windows-specific function for validating process ID
+       is introduced that does TRT with possibly negative PID
+       values returned by 'getpid' on Windows 9X and also with
+       values larger than INT_MAX, since PID on Windows is
+       actually an unsigned 32-bit value.
+       * src/w32proc.c (w32_valid_process_id): New function.
+       * src/w32common.h (VALID_PROCESS_ID): Define for WINDOWSNT.
+       * src/filelock.c [WINDOWSNT]: Include w32common.h.  (Bug#71477)
+
+2024-06-13  Po Lu  <luangruo@yahoo.com>
+
+       Correctly define `select' binding on Android
+
+       * lisp/term/android-win.el (input-decode-map): Cease binding
+       select in the initial frame's input-decode-map.
+
+       * src/androidterm.c (android_term_init): Binding select in the
+       freshly created kboard.
+       (syms_of_androidterm) <Qselect, Qreturn>: New symbols.
+
+2024-06-12  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Highlight the suffix in *Completions* buffer in 'basic' style too
+
+       * lisp/minibuffer.el (completion-basic-all-completions):
+       Make sure to highlight the suffix as well (bug#71419).
+
+2024-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Release ERC 5.6
+
+       * lisp/erc/erc.el: Change Version header from 5.6-git to 5.6.  A
+       `customize-package-emacs-version-alist' mapping for ERC 5.6 to Emacs
+       30.1 was already added when moving from 5.5 to 5.6-git.  The ERCVER
+       variable in doc/misc/erc.texi was likewise updated at that time.
+       Going forward, such changes will continue to happen preemptively, on
+       the flip side of each release.
+       (erc-version): Change version from 5.6-git to 5.6.
+
+2024-06-12  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Add php-ts-mode
+
+       * etc/NEWS: Mention the new mode.
+       * lisp/progmodes/php-ts-mode.el: New file.  (Bug#71380)
+
+2024-06-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Start of a fix for bug#71477
+
+       * src/filelock.c (integer_prefixed): New static function.
+       (VALID_PROCESS_ID): New macro.
+       (current_lock_owner): Use them to allow negative process IDs
+       on some Microsoft platforms.
+
+2024-06-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix misspelled symbols in artist.el
+
+       * lisp/textmodes/artist.el (artist-key-undraw-continuously)
+       (artist-key-draw-continuously)
+       (artist-key-do-continuously-continuously)
+       (artist-key-do-continuously-poly)
+       (artist-key-do-continuously-1point)
+       (artist-key-do-continuously-2points)
+       (artist-key-do-continuously-common)
+       (artist-key-set-point-continuously)
+       (artist-mouse-draw-continuously): Rename functions to fix misspelling of
+       "continuously".  Leave old function names as obsolete aliases and update
+       all callers.
+       (artist-mt, artist-go-get-undraw-fn, artist-go-get-interval-fn)
+       (artist-go-get-fill-pred, artist-go-get-fill-fn)
+       (artist-key-undraw-common, artist-key-draw-common)
+       (artist-key-do-continously-common, artist-key-set-point-common)
+       (artist-down-mouse-1): Rename symbol to 'artist-do-continuously' to fix
+       misspelling of "continuously".  Continue supporting the old symbol for
+       backwards-compatibility.
+
+2024-06-12  Eli Zaretskii  <eliz@gnu.org>
+
+       Support --no-window-system option in emacsclient
+
+       * lib-src/emacsclient.c (print_help_and_exit, longopts): Add
+       '--no-window-system' alias for -t.  (Bug#71509)
+
+2024-06-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix tramp-compat-auth-info-password
+
+       * lisp/net/tramp-compat.el (tramp-compat-auth-info-password):
+       Use original function only for Emacs 30+.
+
+2024-06-12  Po Lu  <luangruo@yahoo.com>
+
+       Restore omitted dependency
+
+       * java/Makefile.in (install_temp): Depend on
+       $(libsrc)/asset-directory-tool.
+
+2024-06-12  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix info/DIR generation broken by update to Org manual
+
+       * build-aux/make-info-dir: Adapt to latest changes in Org manual's
+       markup.
+
+2024-06-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2024-06-12  Po Lu  <luangruo@yahoo.com>
+
+       Restore functionality on Android 2.2
+
+       * java/Makefile.in (install_temp): Do not compress
+       directory-tree and generate such files in a special format that
+       stores file sizes.
+
+       * lib-src/asset-directory-tool.c (struct directory_tree): New
+       field st_size.
+       (need_file_size): New variable.
+       (main_1, main_2, main): Write file sizes before sibling offsets
+       if `--api-8' is specified.
+
+       * src/android-asset.h (struct android_asset_manager): New field
+       open.
+       (struct android_asset): New field name.
+       (AAssetManager_fromJava): Load AssetManager#open.
+       (AAssetManager_open): If a directory tree has already been
+       loaded, search for a matching asset and load its size thence, to
+       avoid the requirement of an AssetFileDescriptor.
+       (AAsset_close): Don't assume asset->fd exists.  Release
+       asset->name.
+       (AAsset_getLength): Likewise.
+       (android_asset_create_stream): If asset->name exists, call
+       AssetManager#open, in order to open compressed files.
+
+       * src/androidvfs.c (OLD_ANDROID_ASSETS): Define to 1 on API 8.
+       (android_extract_long, android_scan_directory_tree): Mark
+       arguments as const.  Adjust offsets when OLD_ANDROID_ASSETS.
+       (android_is_directory, android_init_assets, android_afs_readdir):
+       Likewise.
+
+       * src/lread.c (lread_fstat): Define to sys_fstat, not fstat.
+
+2024-06-12  Po Lu  <luangruo@yahoo.com>
+
+       Improve compression of Emacs packages on Android 2.2
+
+       * configure.ac (ZIP): Search for a `zip' executable and
+       substitute the same if targeting SDK 8.
+
+       * java/INSTALL: Document new requirement.
+
+       * java/Makefile.in (GZIP_PROG, ZIP): New substitutions.
+       (.PHONY): Delete references to directory-tree.
+
+       (install_temp): On SDK 8 and earlier, compress large *.el and
+       Info files with gzip, and divide install_temp into three
+       separate directories, with one for large files, another for
+       gzipped files, and one more for the remainder.
+       (install_temp/assets/directory-tree, install_temp/assets/version)
+       (install_temp/assets/build_info): Merge these rules into
+       install_tmp, that they may execute before the assets directory
+       is split.
+       (emacs.apk-in): Package each directory separately, accounting
+       for their varied compression requirements.
+
+       * lisp/term/android-win.el (input-decode-map): Define select to
+       return in input-decode-map.
+
+2024-06-12  Sean Whitton  <spwhitton@spwhitton.name>
+
+       Make C-u 1 C-x v L slightly more discoverable
+
+       * doc/emacs/maintaining.texi (VC Change Log): List C-u 1 C-x v L
+       as though it were a separate command.  Give the longer
+       description its own paragraph.
+
+2024-06-11  Visuwesh  <visuweshm@gmail.com>
+
+       Fix customisation buffer for dired group
+
+       * lisp/dired-aux.el
+       (dired-create-destination-dirs-on-trailing-dirsep): Actually
+       concat the string.  (Bug#71490)
+
+2024-06-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       read_and_insert_process_output: Insert before markers
+
+       * src/insdel.c (adjust_markers_for_insert): Make non-static.
+
+       * src/lisp.h: Add declaration for it.
+
+       * src/process.c (read_and_insert_process_output): Use it here.
+       And also call insert_1_both with BEFORE_MARKERS=t, for
+       compatibility with internal-default-process-filter (bug#66020).
+
+2024-06-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       Refactor tramp-*-process-file functions
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't compute
+       process name, this is done in `tramp-skeleton-make-process'.
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
+       Use `tramp-skeleton-process-file'.
+
+       * lisp/net/tramp.el (tramp-get-unique-process-name): New defun.
+       (tramp-skeleton-make-process): Use it.
+       (tramp-skeleton-process-file): New defmacro.
+
+2024-06-11  Robert Pluim  <rpluim@gmail.com>
+
+       Show character names when describing translations
+
+       This implements Bug#71411.
+
+       * lisp/help.el (help-key-description): Use 'char-to-name' to show the
+       Unicode name of translated keys.
+       (help--describe-command): And here.
+
+       * etc/NEWS: Announce the change.
+
+2024-06-11  Robert Pluim  <rpluim@gmail.com>
+
+       Use 'char-to-name'
+
+       * lisp/international/emoji.el (emoji--name): Lookup name using 
'char-to-name'.
+       * lisp/international/textsec.el (textsec-domain-suspicious-p): And here.
+       * lisp/simple.el (what-cursor-position): And here.
+
+2024-06-11  Robert Pluim  <rpluim@gmail.com>
+
+       Add 'char-to-name' convenience function
+
+       * lisp/international/mule-cmds.el (char-to-name): New function.  This is
+       the inverse of 'char-from-name'.
+       * doc/lispref/nonascii.texi (Character Codes): Document it.
+       * etc/NEWS: Announce it.
+
+2024-06-11  Po Lu  <luangruo@yahoo.com>
+
+       Enable support for color fonts in recent releases of Xft
+
+       * etc/PROBLEMS (Some fonts are detected..): Document that Xft
+       2.3.6 should have resolved this issue.
+
+       * src/ftfont.c (ftfont_spec_pattern, ftfont_list): Disable
+       inhibition of color fonts on Xft 2.3.6 and subsequent versions.
+
+2024-06-11  Po Lu  <luangruo@yahoo.com>
+
+       Eliminate some redundant synchronization on Android
+
+       * java/org/gnu/emacs/EmacsService.java (resetIC): Return on all
+       versions of Android if the connection need not be reset.
+
+       * java/org/gnu/emacs/EmacsView.java (getICMode, setICMode):
+       Remove needless synchronization.
+
+2024-06-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       fast-read-process-output: Make safer
+
+       * src/process.c (read_process_output): Move the call to
+       'read_and_insert_process_output' from here.
+       (read_and_dispose_of_process_output): To here (bug#66020).  So
+       that any Lisp code invoked through modification hook from the
+       former function also benefit from safety guards like
+       running_asynch_code, saved match data, inhibit_quot, etc.
+
+2024-06-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       read_process_output_set_last_coding_system: Extract, reuse
+
+       * src/process.c (read_process_output_set_last_coding_system):
+       New function, extracted from read_and_dispose_of_process_output.
+       (read_and_dispose_of_process_output): Update accordingly.
+       (read_and_insert_process_output): Use it here instead of just
+       transferring carryover (bug#66020, also mentioned in bug#71452).
+
+2024-06-11  Po Lu  <luangruo@yahoo.com>
+
+       * src/filelock.c (pid_strtoimax) [!WINDOWSNT]: Define correctly.
+
+2024-06-11  Po Lu  <luangruo@yahoo.com>
+
+       Provide for negative PIDs on MS Windows
+
+       * src/filelock.c (pid_t, getpid_for_lock, pidintmax, EPRIdMAX):
+       New macros; define to unsigned long or corresponding values if
+       WINDOWSNT.
+       (lock_file_1, current_lock_owner): Replace intmax_t, getpid,
+       pid_t and the like with the aforementioned macros.  (bug#71477)
+
+2024-06-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       read_and_insert_process_output: Call 'prepare_to_modify_buffer' first
+
+       * src/process.c (read_and_insert_process_output): Call
+       'prepare_to_modify_buffer' before any insertions (bug#71452).
+
+2024-06-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix recently added eshell test
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/empty-background-command): Fix failing test.
+
+2024-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid rare assertion violations when deleting a frame
+
+       * src/dispnew.c (adjust_frame_glyphs): Allow nrows = 0 when
+       deleting a frame.  (Bug#71475)
+
+2024-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix treesit-tests
+
+       * test/src/treesit-tests.el (treesit-node-api): Adapt the test to
+       changes in 'treesit_check_node'.  (Bug#71012)
+
+2024-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Allow to print treesit objects from GDB
+
+       * src/.gdbinit (xtsparser, xtsnode, xtsquery): New functions.
+       (xpr): Call them for treesit objects.
+
+2024-06-10  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/print.c (print_vectorlike_unreadable): Fix merge accident.
+
+       * etc/emacs_lldb.py (Lisp_Object): Add TS types.
+
+2024-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/org/ox.el (org-export-filters-alist): Don't define as constant...
+
+       ...since we modify it (set it to nil) in `orgtbl-to-generic`.
+
+2024-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (rng-do-some-validation): Fix dangerous use of 
`with-silent-modifications`
+
+       * lisp/nxml/rng-valid.el (rng-do-some-validation): Don't let-bind
+       `inhibit-modification-hooks` around code which can wait.
+       (rng-cache-state): Bind it here instead.
+
+2024-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Correct documentation build warnings and errors with Texinfo 4.13
+
+       * doc/emacs/custom.texi (Init Rebinding): Avoid @U command.
+
+       * doc/emacs/dired.texi (Image-Dired): EXIF, PNG and JPEG are
+       acronyms.
+
+2024-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Rename new variable in process.c
+
+       * src/process.c (syms_of_process): Rename
+       read_process_output_fast to fast_read_process_output.
+
+2024-06-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Refactor tramp-*-make-process functions
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
+       * lisp/net/tramp-androidsu.el (tramp-androidsu-handle-make-process):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
+       Use `tramp-skeleton-make-process'.
+
+       * lisp/net/tramp-container.el (tramp-actions-before-shell):
+       Don't declare.
+
+       * lisp/net/tramp-sh.el (tramp-actions-before-shell):
+       Add ;;;###tramp-autoload cookie.
+
+       * lisp/net/tramp.el (tramp-file-local-name): Adapt docstring.
+       (tramp-skeleton-make-process): New defmacro.
+
+2024-06-10  Mattias Engdegård  <mattiase@acm.org>
+
+       cperl-mode: fix doc string escaping
+
+       * lisp/progmodes/cperl-mode.el (cperl--extra-paired-delimiters):
+       Fix broken escaping.
+
+2024-06-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Org: fix mistakes in regexp, skip set and doc string
+
+       All found by Relint.
+
+       * lisp/org/org-element.el (org-element-copy-buffer):
+       Repair incorrect escaping.
+       * lisp/org/org-macs.el (org--line-empty-p): Fix broken skip-set.
+       * lisp/org/org.el (org-setup-yank-dnd-handlers): Fix broken regexp.
+
+2024-06-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Extend auto-revert-test07-auto-revert-several-buffers
+
+       * test/lisp/autorevert-tests.el (auto-revert-test05-global-notify):
+       Make cleanup robust.
+       (auto-revert-test07-auto-revert-several-buffers): Extend test.
+       (Bug#71424)
+
+2024-06-10  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Update for the current Perl version 5.040
+
+       * etc/NEWS: Announce new features of cperl-mode.
+
+       * lisp/progmodes/cperl-mode.el (cperl-menu): Add toggle for extra
+       paired delimiters.
+       (defconst): new rx expressions `cperl--sub-name-generated-rx' and
+       `cperl--field-declaration-rx'
+       (cperl--imenu-entries-rx): Use the new expressions
+       (cperl--extra-paired-delimiters): New variable holding the paired
+       delimiters for Perl 5.36 and newer
+       (cperl-imenu-sub-keywords): Add autogenerated methods to imenu
+       (cperl-init-faces): Add the __CLASS__ token, builtin constants,
+       and attributes for field declarations.
+       (cperl-short-docs): Add __CLASS__ to one-line docs.
+       (cperl-extra-paired-delimiters-mode): new minor mode to handle
+       non-ASCII paired delimiters.
+
+       * test/lisp/progmodes/cperl-mode-tests.el
+       (cperl-test-fontify-builtin-constants): new test.
+       (cperl-test-fontify-class): New test clauses for attributes.
+       (cperl-test-field-declaration-rx): new test.
+       (cperl-test-autogenerated-reader-rx): new unit test for the rx
+       expression.
+       (cperl-test-extra-delimiters): new test.
+       (cperl-test-imenu-index): new clauses for imenu capture of
+       autogenerated methods.
+
+       * test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add
+       examples for Perl 5.40 syntax.
+
+       * test/lisp/progmodes/cperl-mode-resources/extra-delimiters.pl:
+       New resource for non-ASCII paired delimiters.
+
+2024-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Minor revisions to Android key bindings
+
+       * etc/PROBLEMS (Runtime problems specific to Android): Document
+       inappropriate generation of F3 on certain systems.
+
+       * lisp/bindings.el ([iconify-frame], [make-frame-visible]):
+       Update references to long-obsolete ignore-event command.
+
+       * lisp/term/android-win.el ([KEYCODE_NOTIFICATION], [\83]):
+       Ignore these two nuisance keys by default.
+
+2024-06-10  Juri Linkov  <juri@linkov.net>
+
+       * lisp/outline.el: Improve new feature of preserving outlines after 
revert.
+
+       (outline-minor-mode): Move adding hook 
'outline-revert-buffer-rehighlight'
+       to the same code branch that calls 
'outline-minor-mode-highlight-buffer'.
+       (outline-revert-buffer-rehighlight): Remove same conditions
+       already existing in 'outline-minor-mode'.
+       (outline-hidden-headings-regexp): Remove function.
+       (outline-hidden-headings-paths)
+       (outline-hidden-headings-restore-paths): New functions
+       that save and restore complete paths instead of flat regexps.
+       (outline-revert-buffer-restore-visibility): Use
+       'outline-hidden-headings-paths' and
+       'outline-hidden-headings-restore-paths'.
+
+2024-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Re-enable TTY glyph production for batch mode frames on Android
+
+       * lisp/org/ob-core.el (org-babel-execute-src-block): Revert
+       previous change.
+
+       * src/term.c (tty_append_glyph, produce_glyphs) [HAVE_ANDROID]:
+       Re-enable suppressed code.
+
+2024-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix bootstrap of org.texi
+
+       * lisp/org/ob-core.el (org-babel-execute-src-block): Ignore
+       errors around code block execution.
+
+2024-06-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Improve correctness of 'eshell-quote-argument'
+
+       * lisp/eshell/esh-arg.el (eshell-quote-argument): Mention that this
+       function is for use within Eshell buffers.
+       (eshell-quote-backslash): Properly quote newlines.
+
+       * lisp/eshell/em-unix.el (eshell/cat, eshell/du): Throw
+       'eshell-external' instead; that's what it's here for.
+
+       * test/lisp/eshell/esh-proc-tests.el (esh-proc-test-quote-argument):
+       Remove.
+       (esh-proc-test/emacs-command):
+       * test/lisp/eshell/esh-var-tests.el (esh-var-test/path-var/set)
+       (esh-var-test/path-var/set-locally): Use 'eshell-quote-argument'.
+
+       * test/lisp/eshell/em-unix-tests.el (em-unix-test/compile/interactive):
+       Use 'shell-quote-argument' (Note: *not* 'eshell-...').
+
+2024-06-09  Kyle Meyer  <kyle@kyleam.com>
+
+       * etc/NEWS: Announce Org update.
+
+       Update to Org 9.7.3
+
+2024-06-09  Jim Porter  <jporterbugs@gmail.com>
+
+       Remove empty Eshell commands when parsing
+
+       This improves the logic for copying/stealing handles when constructing
+       the command form: now, we should always steal the handles for the last
+       real command, even if there were some trailing semicolons.
+
+       * lisp/eshell/esh-arg.el (eshell-parse-delimiter): Be stricter about
+       parsing so that things like "& &" aren't parsed as a single "&&" token.
+
+       * lisp/eshell/esh-cmd.el (eshell-parse-command): Get the commands in
+       reverse, and remove any nil commands.
+       (eshell-split-commands): Always return the trailing terms (except when
+       there were no terms to begin with).
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/empty-background-command): New test.
+
+2024-06-09  Stefan Kangas  <stefankangas@gmail.com>
+
+       Unbreak build with Clang 15 on macOS 14.5
+
+       * src/process.c (read_process_output): Use EQ for comparison.
+       (syms_of_process): Properly set a DEFVAR_BOOL to 'true' instead of 'Qt'.
+
+2024-06-09  Juri Linkov  <juri@linkov.net>
+
+       * lisp/buff-menu.el: Support a function value of Buffer-menu-group-by.
+
+       (Buffer-menu-group-by): Add a choice for a function that
+       returns names of all levels.
+       (list-buffers--refresh): If Buffer-menu-group-by is a function,
+       then use it directly.
+
+2024-06-09  Juri Linkov  <juri@linkov.net>
+
+       Text improvements for the documentation of 'some-window' (bug#70949)
+
+       * doc/lispref/windows.texi (Buffer Display Action Functions):
+       Improve wording.  Suggested by martin rudalics <rudalics@gmx.at>.
+
+2024-06-09  kobarity  <kobarity@gmail.com>
+
+       Specify Python 3 in some ERTs on Mac
+
+       * test/lisp/progmodes/python-tests.el
+       (python-tests-with-temp-buffer-with-shell): Remove setting
+       'python-shell-interpreter'.
+       (python-tests-shell-interpreter): Removed.
+       (python-tests-shell-interpreters): New variable.
+       (python-tests-with-shell-interpreter)
+       (python-tests-with-temp-buffer-with-shell-interpreter): New macros.
+       (python-tests-get-shell-interpreter): Add an optional PRED
+       argument to allow ERts to specify Python interpreter version.
+       (python-tests--get-interpreter-info): New function.
+       (python-tests-interpreter-3-p): New function to be used as the
+       PRED argument of 'python-tests-get-shell-interpreter'.
+       (python-shell-make-comint-1)
+       (python-shell-make-comint-2)
+       (python-shell-make-comint-4)
+       (python-shell-get-process-1)
+       (python-shell-internal-get-or-create-process-1)
+       (python-shell-prompt-detect-1)
+       (python-shell-prompt-detect-2)
+       (python-shell-prompt-detect-3)
+       (python-shell-prompt-detect-4)
+       (python-shell-prompt-detect-5)
+       (python-shell-prompt-detect-6)
+       (python-shell-prompt-set-calculated-regexps-6)
+       (python-shell-completion-at-point-jedi-completer)
+       (python-completion-at-point-pdb-1)
+       (python-completion-at-point-while-running-1)
+       (python-ffap-module-path-1)
+       (python-ffap-module-path-while-running-1)
+       (python-eldoc--get-doc-at-point-1)
+       (python-eldoc--get-doc-at-point-while-running-1)
+       (python-tests--run-python-selects-window)
+       (python-test--shell-send-block): Use the new macro.
+       (python-shell-completion-at-point-ipython): Remove setting
+       'python-tests-shell-interpreter'.
+       (python-shell-completion-at-point-1)
+       (python-completion-at-point-1)
+       (python-completion-at-point-2)
+       (python-completion-at-point-native-1)
+       (python-completion-at-point-native-2)
+       (python-completion-at-point-native-with-ffap-1)
+       (python-completion-at-point-native-with-eldoc-1): Use the new
+       macro and specify Python 3 on Mac to avoid errors.  (Bug#70815)
+
+2024-06-09  kobarity  <kobarity@gmail.com>
+
+       Fix hiding a Python block ending with a comment
+
+       * lisp/progmodes/python.el (python-hideshow-forward-sexp-function): Move
+       point to the end of the line.
+       * test/lisp/progmodes/python-tests.el (python-hideshow-hide-block-2):
+       New test.  (Bug#71170)
+
+2024-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Enable accessing tool bar with the touch screen
+
+       * src/w32fns.c (w32_createwindow): Reset tool_bar_dwID.
+
+       * src/w32term.c (w32_read_socket): Reserve touch event sequences
+       that fall on the tool bar for future tool-bar manipulation.
+
+       * src/w32term.h (struct w32_output) <tool_bar_dwID>: New field.
+
+2024-06-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix MS-Windows build broken by recent touch-screen changes
+
+       * src/w32term.c (TOUCHEVENTF_DOWN, TOUCHEVENTF_UP):
+       (struct _TOUCHINPUT): Move before first use.
+       (TOUCHEVENTF_MOVE, TOUCHEVENTMASKF_CONTACTAREA)
+       (TOUCHEVENTMASKF_EXTRAINFO, TOUCHEVENTMASKF_TIMEFROMSYSTEM): Ifdef
+       away unused macros.
+       (w32_read_socket): Fix typo.
+
+2024-06-09  Eli Zaretskii  <eliz@gnu.org>
+
+       A better fix for esh-proc-tests on MS-Windows
+
+       * test/lisp/eshell/esh-proc-tests.el
+       (esh-proc-test-quote-argument): New function.
+       (esh-proc-test/emacs-command): Use it instead of
+       'shell-quote-argument', which allows to go back to
+       system-independent code.
+
+2024-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Amend last change
+
+       * lisp/loadup.el: Load touch-screen.el on MS-Windows.
+
+       * src/w32fns.c (Emacs_GESTURECONFIG): New structure.
+       (SetGestureConfig_fn): New variable.
+       (w32_createwindow): Disable emulated mouse and gesture events
+       for the frame's window.
+       (w32_wnd_proc) <WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_LBUTTONUP>
+       <WM_RBUTTONUP>: Ignore mouse events which are marked as emulated
+       pointer events.
+       (globals_of_w32fns): Load SetGestureConfig from user32.dll.
+
+       * src/w32term.c (w32_read_socket): Correct utilization of
+       GetTouchInputInfo, coordinate spaces, &c.
+
+2024-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Report touch events on MS-Windows
+
+       * etc/NEWS: Announce change.
+
+       * src/w32fns.c (RegisterTouchWindow_fn): New function.
+       (w32_createwindow): Assign a base value for touch event
+       identifiers to the frame, and register for touch input.
+       (w32_wnd_proc): Forward WM_TOUCH/WM_TOUCHMOVE messages to the
+       main thread.
+       (globals_of_w32fns): Load RegisterTouchWindow from user32.dll.
+
+       * src/w32term.c (w32_read_socket) <WM_TOUCH>: Detect WM_TOUCH
+       events, compare and record their touch points with and into the
+       frame's record of their prior state, and report the same to Lisp.
+       (pfnCloseTouchInputHandle, pfnGetTouchInputInfo): New variables.
+       (w32_initialize): Load the above functions from user32.dll.
+
+       * src/w32term.h (MAX_TOUCH_POINTS): New definition.
+       (struct w32_output) <touch_ids, touch_x, touch_y, touch_base>:
+       New fields.
+
+2024-06-09  Jared Finder  <jared@finder.org>
+
+       Add documentation for window-tool-bar package
+
+       Also change window-tool-mode to not pay attention to if
+       tool-bar-map has a buffer local value or not as that made the
+       documentation complicated.  Documentation added in Emacs manual,
+       Elisp manual, package commentary, and docstrings.  Also extend
+       window-tool-bar support to Emacs 27 and newer.  (bug#68765)
+
+       * doc/emacs/emacs.texi (Top):
+       * doc/emacs/frames.texi (Menu Bars):
+       * doc/emacs/glossary.texi (Glossary):
+       * doc/emacs/modes.texi (Minor Modes):
+       * doc/emacs/windows.texi (Windows, Tab Line): Mention Window
+       Tool Bar.
+       (Window Tool Bar): New documentation.
+       * doc/lispref/elisp.texi (Top):
+       * doc/lispref/modes.texi (Mode Line Format, Mode Line Basics)
+       (Mode Line Data): Mention Tab Lines.
+       (Tab Lines): New documentation.
+       * etc/NEWS: Mention newly added variable and package.
+       * lisp/window-tool-bar.el (window-tool-bar-mode): Don't display
+       tool bar when tool-bar-map is nil.
+       * lisp/window-tool-bar.el (tool-bar-always-show-default): Define
+       variable for older Emacs versions.
+
+2024-06-09  Philip Kaludercic  <philipk@posteo.net>
+
+       Add new command 'package-vc-log-incoming'
+
+       * lisp/emacs-lisp/package-vc.el (package-vc-log-incoming):
+       Implement it.
+       * etc/NEWS: Mention it.
+
+2024-06-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix a recent change in reading from sub-processes
+
+       * src/process.c (make_process): Move to here...
+       (create_process): ...from here.
+
+2024-06-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix Eshell tests on MS-Windows
+
+       * lisp/eshell/esh-util.el (eshell-get-path): Don't add "." if it
+       is already there.
+
+       * test/lisp/eshell/esh-var-tests.el
+       (esh-var-test/path-var/preserve-across-hosts): Skip on MS-Windows.
+       (esh-var-test/path-var/set, esh-var-test/path-var/set-locally):
+       Quote the PATH value, for MS-Windows.
+       * test/lisp/eshell/esh-util-tests.el (esh-util-test/path/get): No
+       need to add ".": it is already done by 'eshell-get-path'.
+       * test/lisp/eshell/esh-proc-tests.el
+       (esh-proc-test/kill-pipeline): Accept empty string as valid
+       output.
+       (esh-proc-test/sigpipe-exits-process): Skip on MS-Windows: no
+       SIGPIPE.
+       (esh-proc-test/emacs-command): Quote correctly for MS-Windows.
+       * test/lisp/eshell/em-unix-tests.el
+       (em-unix-test/compile/interactive): Fix test on MS-Windows.
+       * test/lisp/eshell/em-script-tests.el (em-script-test/batch-file):
+       Skip on MS-Windows.
+       * test/lisp/eshell/eshell-tests-helpers.el
+       (eshell-command-result--equal): Compare strings (file names)
+       case-insensitively on MS-Windows.
+
+2024-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (hack-dir-local-get-variables-functions): New hook
+
+       Make it possible to provide more dir-local variables, such as
+       done by the Editorconfig package.
+
+       * lisp/files.el (hack-dir-local--get-variables): Make arg optional.
+       (hack-dir-local-get-variables-functions): New hook.
+       (hack-dir-local-variables): Run it instead of calling
+       `hack-dir-local--get-variables`.
+
+       * doc/lispref/variables.texi (Directory Local Variables):
+       Document the new hook.
+
+2024-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (find-auto-coding): Provide filename to `auto-coding-functions`
+
+       Allow `auto-coding-functions` to know the file name.
+       Motivated by the needs of Editorconfig support.
+
+       * lisp/international/mule.el (auto-coding-file-name): New var.
+       (find-auto-coding): Let-bind it for `auto-coding-functions`.
+       Document the expectation that the arg be an absolute file name.
+
+       * doc/lispref/nonascii.texi (Default Coding Systems):
+       Mention `auto-coding-file-name`.
+
+       * test/lisp/international/mule-util-resources/test.utf-16le: New file.
+       * test/lisp/international/mule-tests.el (mule-tests--dir): New var.
+       (mule-tests--auto-coding): New fun.
+       (mule-tests--auto-coding-functions): New test.
+
+2024-06-09  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add typescript-ts-mode indentation for multi-assignment decls
+
+       * lisp/progmodes/typescript-ts-mode.el
+       (typescript-ts-mode--indent-rules): Add indentation rules for
+       lexical and variable declarations with multiple assignments.
+       * test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
+       Add indent test for variable declarations (bug#68054).
+
+2024-06-09  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project-list-buffers-ibuffer: Handle the FILES-ONLY argument
+
+       * lisp/progmodes/project.el (project-list-buffers-ibuffer):
+       Handle the FILES-ONLY argument (bug71290).
+       (project-list-buffers-buffer-menu): Expand docstring.
+
+2024-06-09  mikpom  <mikpom@mikpom.ru>
+
+       Support Ibuffer in project-list-buffers
+
+       * lisp/progmodes/project.el (project-buffers-viewer): New option.
+       (project-list-buffers): Dispatch using it.
+       (project-list-buffers-buffer-menu, project-list-buffers-ibuffer):
+       New functions (bug#71290).
+
+2024-06-09  Dmitry Gutov  <dmitry@gutov.dev>
+
+       read-process-output-max: Increase the default value
+
+       * src/process.c (read-process-output-max):
+       Increase the default value to 65536 (bug#66020).
+
+2024-06-09  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Remember the value of read_process_output_max when process is created
+
+       * src/process.h (Lisp_Process): Add field readmax.
+
+       * src/process.c (read_process_output): Use it.
+       (create_process): Save the value of read_process_output_max to
+       it when the process is created (bug#66020).  Use for pipe size.
+
+2024-06-09  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Go around calling the default process filter (reducing GC churn)
+
+       Instead of allocating strings and passing them to the filter, pass
+       the char buffer to a C function implementing the same logic.
+
+       * src/process.c (read_process_output_before_insert)
+       (read_process_output_after_insert):
+       New functions, extracted from internal-default-process-filter.
+       (Finternal_default_process_filter): Use them.
+       (read_and_insert_process_output): New function.  Use them.
+       (read_process_output_fast): New variable.
+       (read_process_output): Use it to choose how to insert (bug#66020).
+
+       * etc/NEWS: Mention the change.
+
+2024-06-08  Dmitry Gutov  <dmitry@gutov.dev>
+
+       url-retrieve-synchronously: Fix timeout when connection hangs
+
+       * lisp/url/url.el (url-retrieve-synchronously):
+       Set url-asynchronous to t when TIMEOUT is non-nil (bug#71295).
+
+2024-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (pcase--app-subst-match): Try and fix performance regression (bug#71398)
+
+       * lisp/emacs-lisp/pcase.el (pcase--app-subst-match): Optimize matches
+       against (quote VAL).
+       * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-quote-optimization):
+       Add new test case.
+
+2024-06-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Improve implementations of some Eshell output filter functions
+
+       * lisp/eshell/esh-mode.el (eshell-postoutput-scroll-to-bottom): Use
+       'get-buffer-window-list' for simplicity.
+       (eshell-handle-control-codes): Use 're-search-forward'; this way is much
+       faster.
+
+       * test/lisp/eshell/esh-mode-tests.el: New file.
+
+2024-06-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Be more efficient when buffering output in Eshell
+
+       This makes the built-in 'eshell/cat' 5-10x faster on large files in my
+       (somewhat limited) tests.  In addition, this change periodically
+       redisplays when using the Eshell buffered output so that users can see
+       some progress.
+
+       * lisp/eshell/esh-io.el (eshell-print-queue-size, eshell-print-queue,
+       eshell-print-queue-count): Make obsolete in favor of...
+       (eshell-buffered-print-size, eshell--buffered-print-queue)
+       (eshell--buffered-print-current-size): ... these.
+       (eshell-buffered-print-redisplay-throttle): New user option.
+       (eshell--buffered-print-next-redisplay): New variable.
+       (eshell-init-print-buffer): Make obsolete.
+       (eshell-flush): Add new REDISPLAY-NOW argument in favor of CLEAR (which
+       only 'eshell-init-print-buffer' should have used).
+       (eshell-buffered-print): Compare queued output length to
+       'eshell--buffered-print-current-size'.
+       (eshell-with-buffered-print): New macro.
+
+       * lisp/eshell/esh-var.el (eshell/env):
+       * lisp/eshell/em-dirs.el (eshell/cd):
+       * lisp/eshell/em-hist.el (eshell/history):
+       * lisp/eshell/em-unix.el (eshell/cat):
+       * lisp/eshell/em-ls.el (eshell/ls): Use 'eshell-with-buffered-print'.
+       (flush-func): Remove.
+       (eshell-ls--insert-directory, eshell-do-ls): Remove 'flush-func'.
+
+       * test/lisp/eshell/em-unix-tests.el (em-unix-test/compile/interactive)
+       (em-unix-test/compile/pipeline, em-unix-test/compile/subcommand): Fix
+       indentation.
+       (em-unix-test/cat/file-output): New test.
+
+       * etc/NEWS: Announce these improvements.
+
+2024-06-08  F. Jason Park  <jp@neverwas.me>
+
+       Restore deferred date-stamp insertions in ERC
+
+       * lisp/erc/erc-stamp.el (erc-stamp--recover-on-reconnect): Treat
+       `erc-stamp--deferred-date-stamp' as a permanent-local variable.
+       (erc-stamp--date): Document expected possible values for `fn' slot.
+       (erc-stamp--defer-date-insertion-on-post-modify): Use the function
+       `ignore' to mean a new `erc-timer-hook' member has been requested.
+       Use nil to mean one has already run.  Deferred date stamps are new in
+       ERC 5.6 and Emacs 30.
+       (erc-stamp--date-mode): Improve doc string.
+       * test/lisp/erc/erc-scenarios-stamp.el
+       (erc-scenarios-stamp--date-mode/reconnect): New test.
+
+2024-06-08  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix killing indirect buffers under auto-revert-mode
+
+       * lisp/autorevert.el (auto-revert-mode): Don't add indirect
+       buffers to 'auto-revert-buffer-list'.
+       (auto-revert-notify-rm-watch): Don't disable file notifications
+       when killing an indirect buffer.  (Bug#71424)
+
+2024-06-08  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'string-edit' when abort-callback is omitted
+
+       * lisp/textmodes/string-edit.el (string-edit): Set
+       'string-edit--abort-callback' even if ABORT-CALLBACK is nil.
+       (Bug#71406)
+
+2024-06-08  kobarity  <kobarity@gmail.com>
+
+       Fix Python mode error caused by incorrect indentation
+
+       * lisp/progmodes/python.el (python-indent--calculate-indentation):
+       Guard against negative indentation.  (Bug #65870)
+
+       * test/lisp/progmodes/python-tests.el
+       (python-indent-badly-indented-block-end): New test.
+
+2024-06-08  James Thomas  <jimjoe@gmx.net>
+
+       Check for doc-spec-function early, in interactive invocation
+
+       * lisp/info-look.el (info-lookup-interactive-arguments):
+       Move here.
+       (info-lookup): From here.  (Bug#71314)
+
+2024-06-08  Richard Sent  <richard@freakingpenguin.com>
+
+       Make 'clone-indirect-buffer-other-window' use other window
+
+       Previously, depending on the settings in 'display-buffer-alist',
+       'clone-indirect-buffer-other-window' would display the cloned
+       buffer in the original window, behaving identically to
+       'clone-indirect-buffer' with a non-nil display-flag.  This
+       behavior was inconsistent with other-window commands which
+       always used another window.
+       Now, 'clone-indirect-buffer-other-window' uses
+       'switch-to-buffer-other-window'.  This means it uses the same
+       logic as other-window commands like 'find-file-other-window'
+       and 'info-other-window'.
+       display-flag was kept for API stability and functional
+       compatibility reasons.
+       * lisp/simple.el: (clone-indirect-buffer-other-window): Use
+       switch-to-buffer-other-window.  (Bug#70819)
+
+2024-06-08  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       53e9caa23ef ; * doc/emacs/help.texi (Help, Apropos): Improve text and...
+       00360258cad Fix treesit-parse-string crash (bug#71012)
+       20af58d3a13 Check for buffer liveness when accessing tree-sitter node...
+
+2024-06-08  Po Lu  <luangruo@yahoo.com>
+
+       Improve scaling of tab bar items on high-density displays
+
+       * lisp/tab-bar.el (tab-bar-auto-width-max)
+       (tab-bar-auto-width-min): Accept values of a new format where
+       the pixel width is a list and is subject to scaling.
+       (tab-bar-auto-width-1): New function.
+       (tab-bar-auto-width): Scale pixel values from t-b-a-w-min and
+       t-b-a-w-max.
+
+2024-06-08  Po Lu  <luangruo@yahoo.com>
+
+       Remove touchscreen pinch event generation threshold
+
+       * lisp/touch-screen.el (touch-screen-handle-aux-point-update):
+       Remove the said threshold.
+
+2024-06-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid crashes in half-baked emacsclient frames
+
+       If a client connection comes in while we handle a Lisp error,
+       the new frame creation could signal an error before the new
+       frame is ready for display.
+       * src/xdisp.c (redisplay_internal): Don't redisplay windows on
+       frames that were not completely set up.  (Bug#71224)
+
+2024-06-07  Juri Linkov  <juri@linkov.net>
+
+       * lisp/buff-menu.el (Buffer-menu-group-sort-by): New defcustom.
+
+       (list-buffers--refresh): Use Buffer-menu-group-sort-by instead of the
+       hard-coded function (bug#70150).
+       (Buffer-menu-group-sort-alphabetically): New function as an option for
+       'Buffer-menu-group-sort-by'.
+       (list-buffers-noselect): Remove setting outline-minor-mode-use-buttons
+       to 'in-margins' that it not required for this feature to work correctly.
+
+       * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups-sort):
+       Add optional argument 'level'.
+
+2024-06-07  Juri Linkov  <juri@linkov.net>
+
+       Add new alist entry 'some-window' for 'display-buffer-use-some-window'
+
+       * doc/lispref/windows.texi (Buffer Display Action Functions):
+       Add details of using the alist entry 'some-window' in
+       'display-buffer-use-some-window'.
+       (Buffer Display Action Alists): Add 'some-window'.
+
+       * lisp/window.el (display-buffer-use-some-window):
+       Handle the alist entry 'some-window' (bug#70949).
+       Extend docstring with its description.
+
+2024-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/subr.el (with-silent-modifications): Minor simplification
+
+2024-06-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2024-06-07  Po Lu  <luangruo@yahoo.com>
+
+       Eliminate Makefile race
+
+       * java/Makefile.in (cf-stamp): Don't separately depend on
+       NDK_BUILD_SHARED, as this renders make liable to descend into
+       cross/ndk-build twice in different processes.
+       (clean): Don't remove nonexistent file.
+
+2024-06-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Unbreak the Cygw32 build
+
+       It was broken by latest changes to w32image.c.
+       * src/emacs.c (main): Call 'syms_of_w32image' and
+       'globals_of_w32image' only if native image APIs are enabled.
+       (Bug#71412)
+
+2024-06-07  Po Lu  <luangruo@yahoo.com>
+
+       Document compilation of librsvg on Android
+
+       * java/INSTALL (LIBRSVG): New section.
+       (BUILDING WITH OLD NDK VERSIONS): Update recommended invocation
+       of configure in the case of a combined toolchain.
+
+2024-06-07  Arash Esbati  <arash@gnu.org>
+
+       Fix names of TeX-related major-modes
+
+       * lisp/ffap.el (ffap-alist, ffap-string-at-point-mode-alist): Add
+       entries for mode names introduced in AUCTeX v14.  Use
+       `plain-tex-mode' for built-in mode.  (bug#71376)
+
+2024-06-07  Basil L. Contovounesios  <basil@contovou.net>
+
+       Fix tree-sitter markup in Elisp manual
+
+       * doc/lispref/parsing.texi (Retrieving Nodes, User-defined Things)
+       (Multiple Languages): Mark up variable names as @code, not
+       metasyntactic @var.
+
+2024-06-07  Basil L. Contovounesios  <basil@contovou.net>
+
+       Fix user-error usage in sgml-mode.el
+
+       * lisp/textmodes/sgml-mode.el (html-mode--image-yank-handler):
+       Address recent byte-compiler format string warnings (bug#71379).
+
+2024-06-07  Juri Linkov  <juri@linkov.net>
+
+       * lisp/buff-menu.el: Mark all entries in outline.
+
+       (Buffer-menu-mark, Buffer-menu-unmark, Buffer-menu-delete)
+       (Buffer-menu-save): Mark all entries in the outline
+       when `outline-minor-mode' is enabled and point is
+       on the outline heading line (bug#70150).
+       (Buffer-menu-backup-unmark): Support outline heading lines.
+
+2024-06-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: better fix for bug#70724
+
+       If the project's root is or destroyed , this may happen for a
+       variety of reasons, including reasons affecting non-reconnection
+       scenarios, so better to check in eglot--connect.
+
+       An Eglot "reconnection" has always created as accurate a copy of
+       the previous server object as possible, down to the 'eq'ness or
+       the saved initargs, language ids, etc.  So re-querying for
+       projects is not the thing to do here.
+
+       A new different server can be created with `M-x eglot` which will
+       ask about shutting down the existing one.
+
+       * lisp/progmodes/eglot.el (eglot-reconnect):  Revert previous change.
+       (eglot--connect):  Do sanity check here
+
+2024-06-06  Dmitry Gutov  <dmitry@gutov.dev>
+
+       eglot-reconnect: Re-fetch the current project
+
+       * lisp/progmodes/eglot.el (eglot-reconnect): Retrieve the current
+       project just in case something changed (bug#70724).
+
+2024-06-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Prevent another abort in 'cmcheckmagic'
+
+       * src/dispnew.c (update_frame_line): Prevent rare aborts when TTY
+       frame is resized.  (Bug#71289)
+
+2024-06-06  Po Lu  <luangruo@yahoo.com>
+
+       Minor enhancements to the Android build system
+
+       * build-aux/ndk-build-helper-1.mk:
+
+       * build-aux/ndk-build-helper-2.mk:
+
+       * cross/ndk-build/ndk-build-shared-library.mk:
+
+       * cross/ndk-build/ndk-build-static-library.mk:
+
+       * cross/ndk-build/ndk-resolve.mk
+       (NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)):
+       (NDK_LOCAL_SO_NAMES_$(LOCAL_MODULE)):
+       (NDK_LOCAL_A_NAMES_$(LOCAL_MODULE)): Reinforce tests for string
+       prefixes.
+
+       * m4/ndk-build.m4 (ndk_INIT): Guarantee that a module's
+       dependencies are recorded.
+
+       * configure.ac (XCONFIGURE): Prepare for building librsvg.
+
+2024-06-06  Kyle Meyer  <kyle@kyleam.com>
+
+       Enable code block evaluation when generating .org manuals
+
+       * doc/misc/Makefile.in ($(1:.org=.texi)): Enable code
+       block evaluation in Org mode manual and other .org manuals
+       to produce automatically generated parts.  (Bug#71394)
+       When testing a scratch sync to the Emacs repo, the build
+       failed with
+
+        make[3]: Leaving directory '/home/kyle/src/savannah/emacs--master/lisp'
+        Evaluate this emacs-lisp code block on your system? (yes or no)
+        Error: end-of-file ("Error reading from stdin")
+          yes-or-no-p("Evaluate this emacs-lisp code block on your system? ")
+
+       That's expected given 715148131 (org-manual: Automatically
+       generate export option list, 2023-07-31) and the default
+       org-confirm-babel-evaluate value.
+
+2024-06-06  Javier Olaechea  <pirata@gmail.com>
+
+       Add 'sqlite-execute-batch' command
+
+       This command is similar to 'sqlite-execute' except that it
+       executes multiple statements in exchange for not accepting
+       any arguments.  (Bug#70145)
+       * src/sqlite.c (Fsqlite_execute_batch): New function.
+
+       * test/src/sqlite-tests.el (sqlite-multiple-statements): Add
+       smoke test for 'sqlite-execute-batch'.
+
+       * etc/NEWS: Mention new command 'sqlite-execute-batch'.
+       * doc/lispref/text.texi (Database): Document the new command.
+
+2024-06-06  Mattias Engdegård  <mattiase@acm.org>
+
+       Format string warnings for more functions (bug#71379)
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-format-like):
+       Add message-box, message-or-box, warn and user-error.
+
+2024-06-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Attempt to fix rare assertion violations in 'mark_terminals'
+
+       * src/terminal.c (delete_terminal): Block input while we modify
+       the frame list and 'terminal_list'.  (Bug#71289)
+
+2024-06-06  Po Lu  <luangruo@yahoo.com>
+
+       * java/AndroidManifest.xml.in: Revert portions of last change.
+
+2024-06-05  F. Jason Park  <jp@neverwas.me>
+
+       Select correct frame after enabling erc-nickbar-mode
+
+       * lisp/erc/erc-speedbar.el (erc-speedbar--ensure): Re-select frame
+       originally selected when earlier calling `speedbar-frame-mode'.  Do
+       this because `speedbar-frame' may become the new selected frame when
+       multiple visible frames exist.
+       (erc-nickbar-disable): Don't expect the mode to have been enabled
+       previously.
+
+2024-06-05  F. Jason Park  <jp@neverwas.me>
+
+       Don't recurse in erc-server-delayed-check-reconnect
+
+       * lisp/erc/erc-backend.el (erc-server-delayed-check-reconnect): Run
+       `reschedule' function on a timer to avoid growing the stack when
+       calling `delete-process'.
+       * lisp/erc/erc-common.el (erc--favor-changed-reverted-modules-state):
+       Fix `pcase' condition so that changing an option to its standard value
+       does not earn a "STANDARD" label in Customize if that value differs
+       from the saved one.
+       * lisp/erc/erc.el (erc-open-socks-tls-stream): Reword doc string.
+       * test/lisp/erc/erc-tests.el (erc--with-dependent-type-match)
+       (erc--with-dependent-type-match): Remove useless tests (bug#71178).
+       * test/lisp/erc/resources/base/reconnect/unexpected-disconnect.eld:
+       Await phantom EOFs and PINGs to somewhat account for a race that can
+       result in a failure when running the suite in parallel with -jN.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common--print-trace): Set `debug-on-error' to t
+       so that errors in timers always trigger test failures.
+       ;; * test/lisp/erc/resources/base/assoc/reconplay/foonet.eld:
+       ;; Timeouts.
+       ;; * test/lisp/erc/resources/base/upstream-reconnect/soju-barnet.eld:
+       ;; Timeouts.
+       ;; * test/lisp/erc/resources/base/mask-target-routing/foonet.eld:
+       ;; Timeouts.
+       ;; * test/lisp/erc/resources/join/network-id/barnet.eld: Timeout.
+
+2024-06-05  Juri Linkov  <juri@linkov.net>
+
+       Allow multi-level outlines in tabulated-list-groups used by list-buffers
+
+       * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups)
+       (tabulated-list-groups-categorize, tabulated-list-groups-sort)
+       (tabulated-list-groups-flatten): New functions (bug#70150).
+
+       * lisp/buff-menu.el (Buffer-menu-group-by): Change type from a function
+       to a list of functions.
+       (list-buffers--refresh): Use the function 'tabulated-list-groups' where
+       :path-function uses a list of functions from 'Buffer-menu-group-by', and
+       :sort-function is hard-coded to sort groups by name.
+       (Buffer-menu-group-by-mode, Buffer-menu-group-by-root): Remove prefix 
"*".
+
+2024-06-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Another attempt to prevent crashes when resizing TTY frames
+
+       * src/dispnew.c (frame_size_change_delayed): Accept frame as
+       argument, and check the 'new_size_p' flag of the frame in
+       addition to 'delayed_size_change'.  Callers changed.
+       (window_to_frame_vpos, build_frame_matrix_from_leaf_window): Call
+       'frame_size_change_delayed' instead of looking at
+       delayed_size_change alone.  (Bug#71289)
+
+2024-06-05  Eshel Yaron  <me@eshelyaron.com>
+
+       New user option 'completion-preview-idle-delay'
+
+       Support displaying the completion preview shortly after you
+       pause typing (on idle) rather than immediately.
+
+       * lisp/completion-preview.el (Commentary): Update.
+       (completion-preview--try-update):
+       (completion-preview--update-from-timer): New functions.
+       (completion-preview--timer): New buffer-local variable.
+       (completion-preview-idle-delay): New user option.
+       (completion-preview--show): Use it.
+       (completion-preview--post-command):
+       (completion-preview-mode): Disable idle timer if active.
+
+2024-06-05  Eshel Yaron  <me@eshelyaron.com>
+
+       Allow 'completion-preview-require-minimum-symbol-length' to be nil
+
+       With some completion backends, completion preview is useful not only
+       after a partial symbol, but also after punctuation and other non-symbol
+       characters.  For example, in C code it's helpful to display the
+       completion preview for struct members when point is after 'foo->'.
+       Provide an option to skip the check for minimum symbol length at point
+       in order to support this use case.
+
+       * lisp/completion-preview.el
+       (completion-preview-minimum-symbol-length): Mention possible nil
+       value in type and docstring.
+       (completion-preview-require-minimum-symbol-length): Skip check
+       if 'completion-preview-minimum-symbol-length' is nil.
+
+2024-06-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix Mac OS build
+
+       * src/nsfns.m (ns_make_frame_key_window): Restore, but
+       only when NS_IMPL_COCOA.
+
+2024-06-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix the GNUstep build
+
+       * src/Makefile.in (NON_OBJC_CFLAGS): Add
+       -Wflex-array-member-not-at-end.
+
+       * src/lisp.h (flush_stack_call_func): "asm" is unavailable in
+       Objective C.
+
+       * src/nsfns.m (ns_make_frame_key_window): Delete unused
+       function.
+
+2024-06-05  Juri Linkov  <juri@linkov.net>
+
+       Rehighlight hi-lock patterns after reverting the buffer.
+
+       * lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): New function.
+       (hi-lock-mode): Add hi-lock-revert-buffer-rehighlight to
+       revert-buffer-restore-functions, and remove after mode is disabled.
+       https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg00044.html
+
+2024-06-05  Juri Linkov  <juri@linkov.net>
+
+       Use revert-buffer-restore-functions in xref-revert-buffer (bug#49731)
+
+       * lisp/progmodes/xref.el (xref-revert-buffer):
+       When 'revert-buffer-restore-functions' is bound,
+       use it in the same way as in 'revert-buffer'.
+
+2024-06-05  Ulrich Müller  <ulm@gentoo.org>
+
+       Reorder Calc units table
+
+       * lisp/calc/calc-units.el (math-standard-units): Reorder the
+       table, so that all CODATA values are grouped together.
+
+2024-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Spelling fixes
+
+2024-06-05  Yuan Fu  <casouri@gmail.com>
+
+       Add manual entry for treesit-primary-parser
+
+       * doc/lispref/parsing.texi (Multiple Languages): Add entry.
+       * etc/NEWS (Example): Add news.
+
+2024-06-05  Yuan Fu  <casouri@gmail.com>
+
+       Revert "New function treesit-parser-changed-ranges"
+
+       This reverts commit 996b9576713f9d63ea7ff7e9630a15cb0a0214eb.
+
+       For reason see 760b54de080.
+
+2024-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       More-permanent fix for build with Android NDK r10b
+
+       * configure.ac (gl_cv_header_working_endian_h):
+       Remove temporary workaround for Android.
+       * lib/endian.in.h: Copy latest version from Gnulib.
+
+2024-06-04  Juri Linkov  <juri@linkov.net>
+
+       * lisp/outline.el (outline-revert-buffer-rehighlight): New function.
+
+       (outline-minor-mode): Add 'outline-revert-buffer-rehighlight' to
+       'revert-buffer-restore-functions'.  When mode is disabled,
+       remove hooks from 'revert-buffer-restore-functions' and
+       also from 'after-change-functions'.
+
+2024-06-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix the build with mingw.org's MinGW
+
+       The change in boot-time.c imported from Gnulib broke the
+       MinGW build using mingw.org's MinGW.  It is wrong to include
+       sysinfoapi.h, MS documentation says to include <windows.h>.
+       * lib/boot-time.c: Don't include sysinfoapi.h.
+
+2024-06-04  Ulrich Müller  <ulm@gentoo.org>
+
+       Update Calc units table
+
+       * lisp/calc/calc-units.el (math-standard-units): Update to 2022
+       CODATA adjustment.
+
+2024-06-04  Po Lu  <luangruo@yahoo.com>
+
+       Temporarily repair build with Android NDK r10b
+
+       * configure.ac (gl_cv_header_working_endian_h): Unconditionally
+       define to yes on Android.
+
+2024-06-04  Po Lu  <luangruo@yahoo.com>
+
+       Correct previous change
+
+       * msdos/sedlibmk.inp (NEXT_AS_FIRST_DIRECTIVE_ENDIAN_H)
+       (NEXT_ENDIAN_H): Define to machine/endian.h.
+
+2024-06-04  Po Lu  <luangruo@yahoo.com>
+
+       Fix the DJGPP build
+
+       * config.bat: Update endian.in-h from endian.in.h.
+
+       * msdos/sedlibmk.inp (HAVE_ENDIAN_H)
+       (NEXT_AS_FIRST_DIRECTIVE_ENDIAN_H, NEXT_ENDIAN_H, ENDIAN_H)
+       (ENDIAN_H_JUST_MISSING_STDINT, GL_GENERATE_ENDIAN_H_CONDITION):
+       Define appropriately for DJGPP.
+
+2024-06-04  Juri Linkov  <juri@linkov.net>
+
+       * lisp/outline.el (outline-revert-buffer-restore-visibility): New 
function.
+
+       (outline-minor-mode): Add 'outline-revert-buffer-restore-visibility'
+       to 'revert-buffer-restore-functions' (bug#69511).
+
+2024-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+       * lib/endian.c, lib/endian.in.h, m4/endian_h.m4, m4/sys_cdefs_h.m4:
+       New files, copied from Gnulib.
+
+2024-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       lwlib: pacify gcc -Wmissing-variable-declarations
+
+       * lwlib/lwlib.c (lwlib_toolkit_type): Remove unused var.
+       * lwlib/xlwmenu.c (submenu_destroyed): Now static.
+       * src/xmenu.c (widget_id_tick): Declare extern, as a FIXME.
+
+2024-06-04  Jim Porter  <jporterbugs@gmail.com>
+
+       Check for a real process when trying to find password prompts in Eshell
+
+       * lisp/eshell/esh-mode.el (eshell-watch-for-password-prompt): Use
+       'eshell-head-process'.
+
+2024-06-04  Jim Porter  <jporterbugs@gmail.com>
+
+       Add an "Interaction" chapter to the Eshell manual
+
+       * doc/misc/eshell.texi (Interaction): New chapter.
+       (Completion, History): Move into "Interaction" and add key indexing.
+       (Key rebinding): Add key indexing.
+       (Command Index): Add this index.
+
+2024-06-04  Po Lu  <luangruo@yahoo.com>
+
+       Provide additional Android metadata
+
+       * java/AndroidManifest.xml.in: Enable preserving user data
+       beyond uninstallation, restarting activities without persiting
+       state, increase maximum number of simultaneously open
+       activities, and provide a sensible category.
+
+2024-06-04  Po Lu  <luangruo@yahoo.com>
+
+       Enable downgrading between this and future releases of Emacs
+
+       * java/AndroidManifest.xml.in: Fix `versionCode' at 30.
+
+2024-06-03  Juri Linkov  <juri@linkov.net>
+
+       Move revert-buffer-restore-functions use from buff-menu.el to outline.el
+
+       * lisp/buff-menu.el (Buffer-menu-mode): Remove
+       revert-buffer-restore-functions with handling of
+       outline-minor-mode and move it to outline-minor-mode.
+
+       * lisp/outline.el (outline-minor-mode):
+       Add revert-buffer-restore-functions to call
+       outline-minor-mode-highlight-buffer after reverting the buffer
+       with outline-minor-mode and outline-minor-mode-highlight
+       where font-lock can't be used to update highlighting.
+
+2024-06-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid assertion violations in 'try_window_id'
+
+       * src/xdisp.c (try_window_id): Avoid assertions in
+       'find_first_unchanged_at_end_row' due to 'init_iterator' freeing
+       all the realized faces.  (Bug#71274)
+
+2024-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pcase.el (\`): Try and handle large patterns better
+
+       Large backquote patterns tend to lead to very large and deeply
+       nested expansions, but they also tend to contain a lot of
+       "constant" subpatterns that can be compiled to quote patterns.
+       This patch does just that.  See discussion at
+       https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg01140.html
+
+       * lisp/emacs-lisp/pcase.el (pcase--split-pred):
+       Improve the handling of pred-vs-quote so it also works with
+       quoted objects like cons cells, vectors, and strings.
+       Simplify the `pcase--mutually-exclusive-p` branch accordingly.
+       (pcase--expand-\`): New function, extracted from the \` pcase macro.
+       Make it recurse internally, and optimize backquote patterns to `quote`
+       patterns where possible.
+       (\`): Use it.
+
+       * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-vectors): Add tests
+       that were broken by a more naïve version of the optimization.
+       (pcase-tests-quote-optimization): New test.
+
+2024-06-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid crashes and assertions while handling SIGWINCH
+
+       * src/dispnew.c (build_frame_matrix_from_leaf_window)
+       (window_to_frame_vpos): Avoid assertion violations when we have an
+       unhandled SIGWINCH.
+       (frame_size_change_delayed): New function.
+       * src/dispextern.h (frame_size_change_delayed): Add prototype.
+       * src/cm.c (cmcheckmagic): Don't check magicwrap if we have an
+       unhandled SIGWINCH.  (Bug#71289)
+
+2024-06-03  Juri Linkov  <juri@linkov.net>
+
+       New commands to show/hide outlines by regexp (bug#49731)
+
+       * lisp/outline.el (outline-mode-prefix-map): Bind "/ s" to
+       'outline-show-by-heading-regexp', and "/ h" to
+       'outline-hide-by-heading-regexp'.
+       (outline-show-by-heading-regexp)
+       (outline-hide-by-heading-regexp): New commands.
+       (outline-hidden-headings-regexp): New helper function.
+
+2024-06-03  Juri Linkov  <juri@linkov.net>
+
+       New variable 'revert-buffer-restore-functions' (bug#69511)
+
+       * doc/lispref/backups.texi (Reverting):
+       Add documentation for 'revert-buffer-restore-functions'.
+
+       * lisp/files.el (revert-buffer-restore-functions): New variable.
+       (revert-buffer-restore-read-only): New function.
+       (revert-buffer): Use 'revert-buffer-restore-functions' with
+       the default value 'revert-buffer-restore-read-only' (bug#69511).
+
+       * lisp/buff-menu.el (Buffer-menu-mode): Add hook
+       'revert-buffer-restore-functions' to restore
+       outline-minor-mode highlighting.
+
+2024-06-03  Troy Brown  <brownts@troybrown.dev>  (tiny change)
+
+       Support ada-ts-mode, gpr-mode and gpr-ts-mode in Eglot
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add
+       ada-ts-mode, gpr-mode and gpr-ts-mode.
+
+2024-06-03  Andrea Corallo  <acorallo@gnu.org>
+
+       Add 'message' to 'comp-primitive-type-specifiers'
+
+       * lisp/emacs-lisp/comp-common.el (comp-primitive-type-specifiers): Add
+       message.
+
+2024-06-03  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp.el (native-compile): Type declare.
+
+2024-06-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "Add support for Rust compilation messages"
+
+       This reverts commit 2e862f81a355435fb7e837ffebee2f657c26ff23.
+       It had serveral problems; see bug#70794.
+
+2024-06-03  Robert Pluim  <rpluim@gmail.com>
+
+       Improve key binding documentation.
+
+       * doc/emacs/custom.texi (Init Rebinding): Explain how to bind a key to a
+       string and how to use non-ASCII characters.
+       * lisp/keymap.el (keymap-global-set, keymap-local-set): Mention
+       'key-description'.
+
+2024-06-03  Robert Pluim  <rpluim@gmail.com>
+
+       Add common pairs to defcustom for electric-quote-chars
+
+       * lisp/electric.el (electric--print-list-of-chars): New function to
+       display chars as chars instead of integers in a custom widget.
+       (electric-char-pair): New widget for displaying a pair of characters.
+       (electric-quote-chars-pairs): New widget.  Contains presets for common
+       combinations of left/right quotation characters
+       (electric-quote-chars): Update to use 'electric-quote-chars-pairs'.
+
+       * etc/NEWS: Announce the change.
+
+2024-06-03  Po Lu  <luangruo@yahoo.com>
+
+       Small followup change
+
+       * lisp/image.el (create-image): Remove supererogatory instances
+       of pcase.  Recognize new `lambda' values and refrain from
+       specifying a default transform-smoothing when it is returned.
+       (image--default-smoothing): Return lambda if scaling is default.
+
+       * lisp/tool-bar.el (tool-bar--image-expression): Revert this
+       portion of last change.
+
+2024-06-03  Robert Pluim  <rpluim@gmail.com>
+
+       Add another iso-transl entry for Euro character
+
+       * lisp/international/iso-transl.el (iso-transl-char-map): Add 'C-x 8 E'
+       to align with the other currency characters.
+
+       * etc/NEWS: Announce it.
+
+2024-06-03  Robert Pluim  <rpluim@gmail.com>
+
+       Improve support for entering quotation marks
+
+       * lisp/international/iso-transl.el (iso-transl-char-map): Add entries
+       for "low" single and double quotation marks.
+       (iso-transl-language-alist): Add convenient support for the official
+       German quoting style to the German language entry. It uses "low" double
+       quotes on the left, and *left* double quotes on the right.  Add support
+       for single guillemets to the French language entry.
+       * lisp/leim/quail/latin-post.el ("latin-postfix"): Add entries for
+       single, double and "low" Unicode quotation marks.  Add entries for
+       single guillemets.
+       * lisp/leim/quail/latin-pre.el ("latin-prefix"): And here.
+
+       * etc/NEWS: Announce the changes.
+
+       (Bug#70984)
+
+2024-06-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Skip unmature file notification tests
+
+       * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
+       Skip with "gio" library.  It is unmature.
+
+2024-06-03  Po Lu  <luangruo@yahoo.com>
+
+       Maintain relationship between tool bar image and default font width
+
+       * doc/lispref/display.texi (Image Descriptors): Document new
+       value of QCscale.
+
+       * lisp/cus-start.el (standard) <image-scaling-factor>: New
+       definition.
+
+       * lisp/image.el (image-scaling-factor): Move to C.
+       (create-image): Provide `default' as the default scaling factor.
+       (image--default-smoothing): Accept non-integer scaling factors.
+       (image-compute-scaling-factor): Document that this function
+       is no longer invoked by Emacs.
+
+       * lisp/tool-bar.el (tool-bar--image-expression): Disable
+       transform smoothing for tool-bar icons.
+
+       * src/dispextern.h (clear_image_cache): New definition.
+
+       * src/frame.c (gui_set_font): Clear such image cache entries as
+       derive their scales from the default font width.
+
+       * src/image.c (clear_image_cache): Export function.
+       (compute_image_size): Implement `default' by reading
+       Vimage_scaling_factor and/or computing a scale factor from the
+       frame's column width, as the case may be.
+       New argument F.  All callers changed.
+       (syms_of_image) <Vimage_scaling_factor>: Move from image.el.
+
+2024-06-03  Yuan Fu  <casouri@gmail.com>
+
+       Use parser notifier to set parser ranges
+
+       This is a continuation from an earlier commit where I added
+       treesit-parser-changed-ranges and friends.  Dmitry raised an concern
+       about the edge case where the parser re-parses multiple times before
+       treesit--pre-redisplay has a chance to run and process changed ranges.
+
+       Instead of making treesit-parser-changed-ranges DTRT and become more
+       complicated, it's agreed that using parser notifier is a better
+       solution (and treesit-parser-changed-ranges can probably be removed).
+
+       So, I took out the code that does the work from treesit--pre-redisplay
+       and put them into treesit--font-lock-mark-ranges-to-fontify.  This
+       function will be called on each parser re-parse.  And in
+       treesit--pre-redisplay, to ensure that treesit--f-l-m-r-to-f gets
+       called, we force the primary parser to re-parse.
+
+       I also added a new variable that major modes need to set,
+       treesit-primary-parser.  I also added code that makes Emacs guess the
+       primary parser if that variable isn't set.
+
+       Documentation fot treesit-primary-parser will come later.
+
+       For futher reference, the message id for the message that prompted
+       this change is <dc94733b-df75-446c-980e-1c8ea65826cf@gutov.dev>
+
+       * lisp/treesit.el (treesit-primary-parser): New variable.
+       (treesit--font-lock-mark-ranges-to-fontify): New function.
+       (treesit--guess-primary-parser): New function.
+       (treesit--pre-redisplay): Extract out.
+       (treesit--pre-syntax-ppss): Add comments.
+       (treesit-major-mode-setup): Guess and set treesit-primary-parser; add
+       treesit--font-lock-mark-ranges-to-fontify as a notifier to the primary
+       parser.
+
+2024-06-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       New user option 'shell-history-file-name'
+
+       * doc/emacs/misc.texi (Shell Ring): Explain shell-history-file-name.
+
+       * doc/misc/tramp.texi (Inline methods): Be more specific with 
containers.
+       (Remote processes): New subsection "Managing remote shell history".
+       Explain shell-history-file-name.
+       (Frequently Asked Questions): Add items to Tramp speedup.  Remove
+       entry about history file.
+
+       * etc/NEWS: New user option 'shell-history-file-name'.
+
+       * lisp/shell.el (shell-history-file-name): New defcustom.
+       (shell-mode): Use it.  (Bug#71049)
+
+2024-06-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix last change
+
+       * lisp/net/tramp.el (tramp-remote-path): Add "/opt/homebrew/bin"
+       and "/opt/homebrew/sbin".
+
+2024-06-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix bug#71235
+
+       * lisp/dired.el (dired-insert-directory): Fix remote case.
+
+       * lisp/net/tramp.el (tramp-remote-path): Add "/opt/homebrew/bin".
+
+2024-06-02  Spencer Baugh  <sbaugh@janestreet.com>
+
+       In rgrep, check matching files before excluding files
+
+       There are a lot of excluding globs, and checking them all is expensive.
+       The files glob (i.e. the glob for files we actually want) is usually
+       just one or two entries, so it's quite fast to check.
+
+       If find checks the files glob first and then the excluding glob, it has
+       to do much less checking (since the files glob will substantially narrow
+       down the set of files on its own), and find performance is much better.
+
+       In my benchmarking, this takes (rgrep "foo" "*.el" "~/src/emacs/trunk/")
+       from ~410ms to ~130ms.
+
+       Further optimizations are possible now that the ignores and matched
+       files are in the same <F> argument which can be rearranged more easily
+       without compatibility issues; I'll do those optimizations in later
+       commits.
+
+       * lisp/progmodes/grep.el (rgrep-find-ignores-in-<f>): Add.
+       * lisp/progmodes/grep.el (rgrep-default-command): Check
+       rgrep-find-ignores-in-<f> and move the excluded files glob to part of
+       the "files" argument.  (Bug#71179)
+
+2024-06-02  Po Lu  <luangruo@yahoo.com>
+
+       Trim redundancies from EmacsTileObject
+
+       * java/org/gnu/emacs/EmacsTileObject.java (EmacsTileObject)
+       <colorFilter>: Delete unused field.
+       <paint>: Qualify as `static'.
+
+2024-06-02  Po Lu  <luangruo@yahoo.com>
+
+       Document a GDK misdesign interfering with touch screens and menus
+
+       * etc/PROBLEMS (Runtime problems specific to PGTK): Document a
+       misdesign preventing menus from being displayed in response to
+       touch screen events.
+
+2024-06-02  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Make comment-indent-new-line conform better to CC Mode (bug#71225)
+
+       * lisp/progmodes/c-ts-common.el: (c-ts-common-comment-indent-new-line):
+       Single line comment and block comment now behave more like the
+       c-indent-new-comment-line.
+
+2024-06-02  Elias G. Perez  <eg642616@gmail.com>
+
+       Stipple support for MS Windows (bug#71159)
+
+       * src/w32term.c (w32_fill_stipple_pattern): New function.
+       (w32_draw_glyph_string_bg_rect w32_draw_stretch_glyph_string)
+       (w32_draw_glyph_string_background): Use new stipple function.
+       * src/w32term.h (w32_bitmap_record): Add stipple value.
+       * src/image.c (image_create_bitmap_from_data): Create stipple
+       bitmap.
+       (image_create_bitmap_from_file): Add suuport for pixmap and
+       create stipple bitmap.
+       (free_bitmap_record): Release stipple.
+
+       * etc/NEWS: Announce support for stipples in MS-Windows.
+
+2024-06-02  Alex Bochannek  <alex@bochannek.com>
+
+       Add new keyboard macro counter functions (bug#61549)
+
+       Advanced keyboard macro counter commands for register
+       integration and conditional macro termination
+       * lisp/kmacro.el (kmacro-keymap)
+       (kmacro-reg-load-counter, kmacro-reg-save-counter)
+       (kmacro-reg-add-counter-equal, kmacro-reg-add-counter-less)
+       (kmacro-reg-add-counter-greater, kmacro-reg-add-counter)
+       (kmacro-quit-counter-equal, kmacro-quit-counter-less)
+       (kmacro-quit-counter-greater, kmacro-quit-counter):
+       Add advanced keyboard macro counter commands to kmacro keymap.
+       Implement advanced keyboard macro counter commands.
+
+       * test/lisp/kmacro-tests.el (kmacro-tests-test-reg-load)
+       (kmacro-tests-test-reg-save)
+       (kmacro-tests-test-reg-add-counter-equal-01)
+       (kmacro-tests-test-reg-add-counter-equal-02)
+       (kmacro-tests-test-reg-add-counter-equal-03)
+       (kmacro-tests-test-reg-add-counter-equal-04)
+       (kmacro-tests-test-reg-add-counter-less)
+       (kmacro-tests-test-reg-add-counter-greater)
+       (kmacro-tests-test-quit-counter-equal-01)
+       (kmacro-tests-test-quit-counter-equal-02)
+       (kmacro-tests-test-quit-counter-equal-03)
+       (kmacro-tests-test-quit-counter-equal-04)
+       (kmacro-tests-test-quit-counter-less)
+       (kmacro-tests-test-quit-counter-greater):
+       Implement unit tests for advanced keyboard macro counter
+       commands.
+
+       * etc/NEWS:
+       Document advanced keyboard macro counter commands.
+
+2024-06-01  Gerd Möllmann  <gerd@gnu.org>
+
+       Fix LLDB frame-format for optional column number info
+
+       * lisp/progmodes/gud.el (gud--lldb-python-init-string): In the !gud
+       part, make column number info optional by putting it in a scope.
+
+2024-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve error handling in 'image-dired-thumbnail-set-image-description'.
+
+       * lisp/image/image-dired-external.el
+       (image-dired-thumbnail-set-image-description): Show more detailed
+       error messages in case of failure.
+
+2024-06-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Minor Tramp changes
+
+       * lisp/net/tramp-adb.el:
+       * lisp/net/tramp-container.el: Add myself as maintainer.
+
+       * lisp/net/tramp-compat.el (connection-local-default-application):
+       Define if not bound.
+       (tramp-compat-connection-local-p, tramp-compat-connection-local-value):
+       Use it.
+
+2024-06-01  Dmitry Gutov  <dmitry@gutov.dev>
+
+       shell-command-mode: New major mode for async-shell-command
+
+       * etc/NEWS: Mention the additions.
+
+       * lisp/shell.el (shell-command-mode): New major mode (bug#71049).
+
+       * lisp/simple.el (async-shell-command-mode):
+       New variable, with default value pointing to that mode.
+       (shell-command): Refer to it here.
+       (async-shell-command): Update docstring.
+
+       * lisp/net/tramp.el (tramp-handle-shell-command):
+       Use the new variable when available.
+
+2024-06-01  Dmitry Gutov  <dmitry@gutov.dev>
+
+       go-ts-mode: Highlight variadic function parameter names
+
+       * lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
+       Add matcher for variadic parameter declarations.
+
+2024-06-01  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add font-locking for variables in go-ts-mode range clauses (bug#71209)
+
+       * lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
+       Add font-locking rule for variable names in range clauses.
+       * test/lisp/progmodes/go-ts-mode-tests.el (go-ts-test-font-lock):
+       Add font-locking test for go-ts-mode.
+       * test/lisp/progmodes/go-ts-mode-resources/font-lock.go: New file
+       for go-ts-mode font-locking tests.
+
+2024-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix misc problems with thumbnails on MS-Windows
+
+       * lisp/image/image-dired-external.el (image-dired-pngcrush-thumb):
+       Fix deletion of intermediate file.
+       (image-dired-cmd-pngcrush-options)
+       (image-dired-cmd-create-standard-thumbnail-options): Use %u for
+       file:// URI.
+       (image-dired--file-URI): New function.
+       (image-dired-create-thumb-1, image-dired-create-thumb-2)
+       (image-dired-set-exif-data): Use it to generate correct URI on
+       MS-Windows.
+
+       * src/w32image.c (Fw32image_create_thumbnail): Copy the file names
+       before mirroring their slashes.
+
+2024-06-01  Po Lu  <luangruo@yahoo.com>
+
+       Improve touch-screen support on PGTK
+
+       * lisp/touch-screen.el (touch-screen-translate-touch): Do not
+       prepend posn if the symbol is such that keyboard.c will do so
+       immediately after returning.
+
+       * src/pgtkterm.c (pgtk_toolkit_position): Remove mistakenly
+       ported code.
+       (pgtk_create_terminal): Remove toolkit_position hook.
+       (motion_notify_event, button_event): Ignore emulated pointer
+       events, and apply an additional test to circumvent a GDK
+       oversight.
+       (touch_event_cb): Correct return type, and provide touch
+       sequence initialization and removal events as
+       `last_click_event's.
+
+2024-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       bf50aa38f9d Improve documentation of case-conversion commands
+       225b426f256 ; Fix typos
+
+2024-06-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve thumbnail generation on MS-Windows
+
+       * lisp/image/image-dired-external.el (image-dired-create-thumb-2):
+       Optimize PNG thumbnails.
+       (image-dired-pngnq-thumb, image-dired-pngcrush-thumb)
+       (image-dired-optipng-thumb): On MS-Windows, invoke the PNG
+       optimization programs synchronously.
+       (image-dired-cmd-create-thumbnail-program)
+       (image-dired-cmd-create-thumbnail-options)
+       (image-dired-cmd-pngcrush-program)
+       (image-dired-cmd-optipng-program)
+       (image-dired-cmd-create-standard-thumbnail-options)
+       (image-dired-cmd-rotate-original-program)
+       (image-dired-temp-rotate-image-file)
+       (image-dired-cmd-write-exif-data-program)
+       (image-dired-cmd-write-exif-data-options): Doc fixes.
+       (image-dired-thumb-queue-run): Don't allow more than 30 concurrent
+       thumbnail-creation jobs on MS-Windows.
+
+2024-06-01  Po Lu  <luangruo@yahoo.com>
+
+       Implement touch screen events on PGTK
+
+       * etc/NEWS: Better qualify entry for touch screen events.
+
+       * lisp/loadup.el (featurep 'pgtk): Load touch-screen.el.
+
+       * lisp/touch-screen.el: Revise list of systems where touch
+       screen events are reported.
+
+       * src/gtkutil.c (xg_create_frame_widgets): Request
+       GDK_TOUCH_MASK.
+
+       * src/pgtkfns.c (pgtk_frame_parm_handlers, tip_window): Pacify
+       compiler warning.
+
+       * src/pgtkterm.c (pgtk_free_frame_resources): Free touch points
+       linked to this frame.
+       (pgtk_link_touch_point, pgtk_unlink_touch_point)
+       (pgtk_unlink_touch_points, pgtk_find_touch_point): New
+       functions, ported from X.
+       (touch_event_cb): New event callback.
+       (pgtk_set_event_handler): Register `touch_event_cb' as handler
+       for `touch-event'.
+       (pgtk_delete_display): Free residual touch points on this
+       display.
+
+       * src/pgtkterm.h (struct pgtk_touch_point): New structure.
+       (struct pgtk_display_info) <touchpoints>: New field.
+
+2024-06-01  Po Lu  <luangruo@yahoo.com>
+
+       On X, avoid reporting unrepresentable touch IDs to Lisp
+
+       * src/xterm.c (xi_link_touch_point): Assign a Lisp-representable
+       identifier to the new touch point and return the same.
+       (xi_unlink_touch_point): New arg LOCAL_DETAIL.  Return such an
+       identifier if there is a matching touch point record.
+       (handle_one_xevent): Adjust as is proper.
+
+       * src/xterm.h (struct xi_touch_point_t) <local_detail>:
+       New field.  Reorder fields for alignment.
+
+2024-05-31  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make Tramp error handling more precise
+
+       * lisp/net/tramp-container.el (tramp-actions-copy-out-of-band)
+       (tramp-container-no-container-regexp): Remove.  Do not register them.
+       (tramp-distrobox-no-container-regexp): New defcustom.
+       (tramp-enable-distrobox-method): Add it to
+       `'tramp-actions-before-shell.  (Bug#71200)
+
+2024-05-31  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove unused Fget_file_char
+
+       * src/lread.c (Fget_file_char): Remove.  It is unused, undocumented and
+       we actively tell users not to call it.
+
+2024-05-31  Juri Linkov  <juri@linkov.net>
+
+       Limit matches of treesit-thing-settings in js-ts-mode (bug#71244)
+
+       * lisp/progmodes/js.el (js-ts-mode): Use 'js--regexp-opt-symbol'
+       for 'js--treesit-sexp-nodes', 'js--treesit-sentence-nodes' and 'text'
+       that wraps the regexp in \_< and \_> delimiters to avoid false positives
+       such as "expression" used for "expression_statement".
+       (js--treesit-sexp-nodes): Add more useful nodes 
"parenthesized_expression",
+       "formal_parameters", "statement_block", "object", "object_pattern",
+       "named_imports", "class_body".
+
+2024-05-31  Juri Linkov  <juri@linkov.net>
+
+       * lisp/man.el (Man-getpage-in-background): Don't set buffer before 
display.
+
+       Call 'Man-notify-when-ready' before switching the current buffer.
+       This will avoid possible messing with the current buffer by
+       'Man-notify-when-ready' where display-buffer functions might change
+       the current buffer, thus breaking the subsequent setting of buffer-local
+       variables like Man-arguments in the wrong buffer (bug#71271).
+
+2024-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       track-changes.el: Keep a bit more info when logging an error
+
+       * lisp/emacs-lisp/track-changes.el (track-changes--recover-from-error):
+       Add arg `info`.
+       (track-changes-fetch, track-changes--after): Use it to preserve a bit
+       more information about errors.
+
+2024-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       ad-activate-advised-definition: Use proper function objects
+
+       * lisp/emacs-lisp/advice.el (ad-activate-advised-definition):
+       Use interpreted functions rather than lambda lists.
+
+2024-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       server.el: Avoid nested runs of process filters (bug#71223)
+
+       In case we have a "storm" of emacsclient requests coming at the
+       same time, our process filters ended up running nested within
+       each other, eating up the stack and causing errors.  Try and be
+       more careful with our use of `sit-for` in the process filter,
+       and make sure our process filters are run one at a time.
+
+       * lisp/server.el (server--message-sit-for): New function.
+       (server--process-filter-1): New function, extracted from
+       `server-process-filter`.  Use `server--message-sit-for` to display the
+       messages and use `run-with-timer` to delay the `delete-process`.
+       (server--process-filter-pending, server--process-filter-active): New 
vars.
+       (server--process-filter-all-pending): New function.
+       (server-process-filter): Use them.
+
+2024-05-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix job control in remote shell
+
+       * lisp/net/tramp-sh.el (tramp-methos) <scp, ssh>:
+       Adapt `tramp-direct-async' argument.  (Bug#71259)
+
+2024-05-30  Sean Whitton  <spwhitton@spwhitton.name>
+
+       universal-argument--preserve: Preserve last-prefix-arg
+
+       * lisp/simple.el (universal-argument--preserve): Set
+       current-prefix-arg to last-prefix-arg in order to preserve
+       last-prefix-arg, too (bug#71277).
+
+2024-05-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Support built-in thumbnail creation on MS-Windows
+
+       * src/w32image.c (get_encoder_clsid, Fw32image_create_thumbnail)
+       (globals_of_w32image, syms_of_w32image): New functions.
+       * src/emacs.c (main): Call 'syms_of_w32image' and
+       'globals_of_w32image'.
+       * src/w32term.h (syms_of_w32image, globals_of_w32image): Add
+       prototypes.
+
+       * lisp/image/image-dired.el
+       (image-dired-thumbnail-display-external): Add a fallback for
+       MS-Windows.
+       * lisp/image/image-dired-external.el
+       (image-dired--probe-thumbnail-cmd): New function.
+       (image-dired--check-executable-exists): Call it to verify that
+       "convert" is indeed an Imagemagick program.  New argument FUNC
+       specifies a function that can be used as an alternative to running
+       EXECUTABLE.
+       (image-dired-create-thumb-1): Don't call
+       'image-dired--check-executable-exists' here, ...
+       (image-dired-thumb-queue-run): ...call it here, with
+       'w32image-create-thumbnail' as the alternative function.  If on
+       MS-Windows and no "convert" command, call
+       'image-dired-create-thumb-2' instead.
+       (image-dired-create-thumb-2): New function.
+
+       * etc/NEWS: Announce the thumbnail support.
+
+2024-05-30  Po Lu  <luangruo@yahoo.com>
+
+       Don't set text scale to fractional values in touch-screen-pinch
+
+       * lisp/touch-screen.el (touch-screen-pinch): Take floor of
+       computed scale.
+
+2024-05-30  Alan Mackenzie  <acm@muc.de>
+
+       In normal-mode, make c-mode call c-mode when CC Mode is loaded
+
+       As regards which mode normal-mode calls for the symbols c-mode,
+       etc., the first of the following which applies holds:
+       (i) If the user has made a pertinent entry in
+       major-mode-remap-alist, this is used.
+       (ii) If CC Mode has been loaded, c-mode is called.
+       (iii) If library c-ts-mode has been loaded, c-ts-mode is
+       called.
+       (iv) Otherwise c-mode is called.
+
+       * lisp/progmodes/cc-mode.el (top level): Add entries to
+       major-mode-remap-defaults to implement the above.
+
+2024-05-30  Jakub Ječmínek  <kuba@kubajecminek.cz>
+           Alex Bochannek  <alex@bochannek.com>
+
+       Show all date options when adding Gnus scores interactively
+
+       * lisp/gnus/gnus-score.el (gnus-summary-increase-score): Rename
+       'char-to-type' variable to 'char-to-types' and bind all legal types
+       for date header.
+
+       * lisp/gnus/gnus-score.el (gnus-summary-score-entry): Provide better
+       default values for each scoring type and cast 'match' to number only
+       if necessary.
+
+2024-05-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp error handling
+
+       * lisp/net/tramp-container.el (tramp-container-no-container-regexp):
+       New defcustom.
+       (tramp-actions-before-shell, tramp-actions-copy-out-of-band): Declare.
+       Add `tramp-container-no-container-regexp'.  (Bug#71200)
+
+2024-05-30  Juri Linkov  <juri@linkov.net>
+
+       * lisp/dired-aux.el (shell-command-guess-xdg): Check nil xdg-mime 
(bug#71270).
+
+2024-05-30  Jakub Ječmínek  <kuba@kubajecminek.cz>
+
+       Update TUTORIAL.cs and TUTORIAL.translators
+
+       * etc/tutorials/TUTORIAL.cs: Update TUTORIAL.cs according to its
+       English counterpart.
+       * etc/tutorials/TUTORIAL.translators: Update maintaner of
+       TUTORIAL.cs.
+
+2024-05-30  Jim Porter  <jporterbugs@gmail.com>
+
+       Make Eshell's "which" command extensible
+
+       Since 'eshell-named-command-hook' already makes execution of commands
+       extensible, "which" should be too.  This makes sure that "which" returns
+       the right result for quoted commands like "/:cat".
+
+       * lisp/eshell/em-alias.el (eshell-aliases-file): Allow it to be nil.
+       (eshell-read-aliases-list, eshell-write-aliases-list): Check if
+       'eshell-aliases-file' is nil.
+       (eshell-maybe-replace-by-alias--which): New function...
+       (eshell-maybe-replace-by-alias): ... use it.
+
+       * lisp/eshell/esh-cmd.el (eshell-named-command-hook): Update docstring.
+       (eshell/which): Make extensible.
+       (eshell--find-plain-lisp-command, eshell-plain-command--which): New
+       functions.
+       (eshell-plain-command): Use 'eshell--find-plain-lisp-command'.
+
+       * lisp/eshell/esh-ext.el (eshell-explicit-command--which): New
+       function...
+       (eshell-explicit-command): ... unise it.
+       (eshell-quoted-file-command--which): New function...
+       (eshell-quoted-file-command): ... use it.
+       (eshell-external-command--which): New function.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/which/plain/eshell-builtin)
+       (esh-cmd-test/which/plain/external-program)
+       (esh-cmd-test/which/plain/not-found, esh-cmd-test/which/alias)
+       (esh-cmd-test/which/explicit, esh-cmd-test/which/explicit/not-found)
+       (esh-cmd-test/which/quoted-file)
+       (esh-cmd-test/which/quoted-file/not-found): New tests.
+
+       * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell-settings):
+       Don't load or save aliases.
+       (eshell-command-result--match,eshell-command-result--match-explainer)
+       (eshell-command-result-match): New functions.
+
+2024-05-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use `scheme-mode` for the Guile init file
+
+       * lisp/files.el (auto-mode-alist): Use `scheme-mode` for the Guile
+       init file (~/.guile).
+
+2024-05-29  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix calling Eshell scripts outside of Eshell
+
+       * lisp/eshell/em-script.el (eshell-source-file): Make obsolete.
+       (eshell--source-file): Adapt from 'eshell-source-file'...
+       (eshell-script-initialize, eshell/source, eshell/.): ... use it.
+       (eshell-princ-target): New struct.
+       (eshell-output-object-to-target, eshell-target-line-oriented-p): New
+       implementations for 'eshell-princ-target'.
+       (eshell-execute-file, eshell-batch-file): New functions.
+
+       * lisp/eshell/esh-mode.el (eshell-mode): Just warn if we can't create
+       the Eshell directory.
+
+       * test/lisp/eshell/em-script-tests.el (em-script-test/execute-file):
+       (em-script-test/execute-file/args), em-script-test/batch-file): New
+       tests.
+
+       * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell-settings):
+       New function...
+       (with-temp-eshell): ... use it.
+
+       * doc/misc/eshell.texi (Control Flow): Update documentation.
+
+       * etc/NEWS: Announce this change (bug#70847).
+
+2024-05-29  Jim Porter  <jporterbugs@gmail.com>
+
+       Rework how 'eshell-ensure-newline-p' adds newlines
+
+       This allows for other output targets (see the following commit) to be
+       "line-oriented".
+
+       * lisp/eshell/esh-io.el (eshell-ensure-newline-p): Move from esh-cmd.el.
+       (eshell-target-line-oriented-p, eshell--output-maybe-n)
+       (eshell-print-maybe-n, eshell-error-maybe-n)
+       (eshell-maybe-output-newline): New functions.
+
+       * lisp/eshell/esh-cmd.el (eshell-lisp-command): Don't print a newline
+       in this function directly; instead, use 'eshell-print-maybe-n' and
+       'eshell-error-maybe-n'.
+       (eshell-ensure-newline-p): Move to esh-io.el.
+
+       * lisp/eshell/em-unix.el (eshell/cat): Remove now-unnecessary override
+       of 'eshell-ensure-newline-p'.
+
+2024-05-29  Jim Porter  <jporterbugs@gmail.com>
+
+       Add ability for Eshell virtual targets to handle closing the target
+
+       This was documented to work by calling the output function with 'nil',
+       but that was never actually implemented.  Instead, for compatibility,
+       we now support a new (optional) close function.
+
+       * lisp/eshell/esh-io.el (eshell-virtual-targets): Update docstring.
+       (eshell-generic-target): New struct...
+       (eshell-function-target): ... inherit from it, and rename from
+       'eshell-virtual-target'.
+       (eshell-get-target): Handle already-created 'eshell-generic-target'.
+       (eshell-close-target): Call the target's close function if present.
+
+       * test/lisp/eshell/esh-io-tests.el (esh-io-test/virtual/device-close):
+       New test.
+
+       * doc/misc/eshell.texi (Redirection): Document the new behavior.
+
+2024-05-29  Jim Porter  <jporterbugs@gmail.com>
+
+       Use 'esh-module-autoload' for Eshell modules' defgroups
+
+       This will let modules define their own, regular autoloads, independent
+       of the core Eshell machinery for defining modules.
+
+       * lisp/eshell/em-alias.el (em-alias):
+       * lisp/eshell/em-banner.el (em-banner):
+       * lisp/eshell/em-basic.el (em-basic):
+       * lisp/eshell/em-cmpl.el (em-cmpl):
+       * lisp/eshell/em-dirs.el (em-dirs):
+       * lisp/eshell/em-elecslash.el (em-elecslash):
+       * lisp/eshell/em-extpipe.el:
+       * lisp/eshell/em-glob.el (em-glob):
+       * lisp/eshell/em-hist.el (em-hist):
+       * lisp/eshell/em-ls.el (em-ls):
+       * lisp/eshell/em-pred.el (em-pred):
+       * lisp/eshell/em-prompt.el (em-prompt):
+       * lisp/eshell/em-rebind.el (em-rebind):
+       * lisp/eshell/em-script.el (em-script):
+       * lisp/eshell/em-smart.el (em-smart):
+       * lisp/eshell/em-term.el (em-term):
+       * lisp/eshell/em-tramp.el (em-tramp):
+       * lisp/eshell/em-unix.el (em-unix):
+       * lisp/eshell/em-xtra.el (em-xtra): Use 'esh-module-autoload'.
+
+       * lisp/eshell/esh-module.el ("esh-module-loaddefs"): Load this instead
+       of "esh-groups".
+
+       * .gitignore: Change esh-groups.el to esh-module-loaddefs.el
+
+2024-05-29  Jim Porter  <jporterbugs@gmail.com>
+
+       Consolidate Eshell module loading/unloading code
+
+       This also adds the ability to suppress module loading/unloading
+       messages, which will be necessary to support running Eshell scripts as
+       batch scripts.
+
+       * lisp/eshell/esh-mode.el (eshell-mode): Move module
+       loading/initialization to...
+
+       * lisp/eshell/esh-module.el (eshell-load-modules)
+       (eshell-initialize-modules): ... here.
+       (eshell-module-loading-messages): New option.
+       (eshell-module--feature-name): Improve docstring.
+       (eshell-unload-modules): Display a real warning if unable to unload a
+       module.
+
+       * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell)
+       (eshell-command-result-equal):
+       * test/lisp/eshell/eshell-tests-unload.el (load-eshell): Silence Eshell
+       loading messages.
+
+2024-05-29  Juri Linkov  <juri@linkov.net>
+
+       * lisp/imenu.el (imenu-flatten): Add new choice 'group' (bug#70846).
+
+       (imenu-flatten): For prefix use the implicit symbol 'prefix'.
+       (imenu--completion-buffer): Use :group-function
+       if imenu-flatten is 'group'.
+       (imenu--flatten-index-alist): Handle the value 'group' of
+       imenu-flatten in a way similar to the value 'annotation'.
+
+2024-05-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add Tramp distrobox method
+
+       * doc/misc/tramp.texi (Inline methods) <distrobox>: Add.
+
+       * etc/NEWS: Mention Tramp distrobox method.
+
+       * lisp/net/tramp-container.el (tramp-distrobox-program): New defcustom.
+       (tramp-distrobox-method): New defconst.
+       (tramp-distrobox--completion-function)
+       (tramp-enable-distrobox-method): New defuns.  (Bug#71200)
+       (tramp-docker-method, tramp-dockercp-method)
+       (tramp-podman-method, tramp-podmancp-method)
+       (tramp-kubernetes-method, tramp-flatpak-method)
+       (tramp-apptainer-method, tramp-nspawn-method): Adapt docstring.
+
+       * test/lisp/net/tramp-tests.el (tramp--test-box-p): Rename from
+       `tramp--test-toolbox-p'.  Add distrobox.  Adapt callees.
+
+2024-05-29  Davide Pola  <dpo@sdf.com>
+
+       Rename comp-run.el and comp-cstr.el private functions
+
+       * lisp/emacs-lisp/comp-run.el (native-compile-async-skip-p)
+       (comp-async-runnings, comp-effective-async-max-jobs)
+       (comp-accept-and-process-async-output, comp-run-async-workers)
+       (comp-trampoline-search): rename using '--' separator convention for
+       private functions.
+       * lisp/emacs-lisp/comp-cstr.el
+       (comp-cstr-copy, comp-cstrs-homogeneous, comp-split-pos-neg)
+       (comp-normalize-valset, comp-union-valsets)
+       (comp-intersection-valsets, comp-normalize-typeset)
+       (comp-union-typesets, comp-intersect-two-typesets)
+       (comp-intersect-typesets, comp-range-union)
+       (comp-range-intersection, comp-range-negation, comp-cstr-add-2)
+       (comp-cstr-sub-2, comp-cstr-union-homogeneous-no-range)
+       (comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem)
+       (comp-cstr-union-1, comp-cstr-union-make)
+       (comp-cstr-intersection-make): Likewise.
+
+2024-05-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Obey tramp-histfile-override in remote direct async processes
+
+       * doc/emacs/custom.texi (Connection Variables):
+       Mention `permanent-local' symbol property.
+
+       * lisp/net/tramp-sh.el (tramp-histfile-override):
+       Add ;;;###tramp-autoload cookie and `permanent-local' symbol
+       property.
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       Obey `tramp-histfile-override'.  (Bug#71049)
+
+2024-05-29  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix error message from 'insert-file-contents'
+
+       * src/fileio.c (Finsert_file_contents): Consider directories
+       to be "regular" files.  (Bug#71258)
+
+2024-05-29  Andrea Corallo  <acorallo@gnu.org>
+
+       Add some documentation for 'help-find-source'
+
+       * doc/emacs/help.texi (Name Help): Add 'help-find-source' entry.
+       * etc/NEWS: Likewise.
+
+2024-05-29  Andrea Corallo  <acorallo@gnu.org>
+
+       Add 'help-find-source' and bind it to C-h 4 s
+
+       * lisp/help-fns.el (help-find-source): New function.
+       * lisp/help.el (help-map): Bind 'help-find-source' to C-h z.
+       (help-for-help): Add 'help-find-source'.
+
+2024-05-29  Eshel Yaron  <me@eshelyaron.com>
+
+       Add a couple of minibuffer completion tests
+
+       Add tests for regressions that followed commit ff3f17ca3cd.
+
+       See discussion here:
+       https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00701.html
+
+       * test/lisp/minibuffer-tests.el (completion-cycle)
+       (minibuffer-next-completion): New tests.
+
+2024-05-29  Po Lu  <luangruo@yahoo.com>
+
+       Fix unsafe usage of string data on Android
+
+       * src/dired.c (open_directory): Reload name after calling
+       maybe_quit, which might invoke GC.
+
+2024-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Rename `SUBR_NATIVE_COMPILED` to `NATIVE_COMP_FUNCTION` (bug#71123)
+
+       Keep the name consistent with the naming used in the ELisp world.
+
+       * src/pdumper.c (dump_object_emacs_ptr, dump_do_fixup):
+       * src/eval.c (eval_sub, funcall_general, funcall_lambda):
+       * src/alloc.c (CHECK_ALLOCATED_AND_LIVE_SYMBOL, survives_gc_p):
+       * src/data.c (Fcl_type_of, Ffset, Fnative_comp_function_p)
+       (Fsubr_native_lambda_list, Finteractive_form):
+       * src/comp.c (check_comp_unit_relocs):
+       * src/bytecode.c (exec_byte_code):
+
+       * src/lisp.h (NATIVE_COMP_FUNCTIONP, NATIVE_COMP_FUNCTION_DYNP):
+       Rename from `SUBR_NATIVE_COMPILEDP` and `SUBR_NATIVE_COMPILED_DYNP`.
+
+2024-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Redirect calls to `subr-native-elisp-p` to `native-comp-function-p`
+
+       * test/src/comp-tests.el (comp-tests-bootstrap, lambda-return)
+       (lambda-return2, free-fun, free-fun2, free-fun-silly-name, speed--1)
+       (compile-forms, comp-test-defsubst, primitive-redefine-compile-44221)
+       (48029-1, 61917-1, tco, fw-prop-1, pure):
+       * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun):
+       * lisp/subr.el (subr-primitive-p, primitive-function-p, symbol-file):
+       * lisp/help-fns.el (find-lisp-object-file-name):
+       * lisp/emacs-lisp/disass.el (disassemble-internal):
+       * lisp/emacs-lisp/comp.el (comp--call-optim-form-call):
+       * lisp/emacs-lisp/comp-run.el (comp-warn-primitives):
+       * lisp/emacs-lisp/comp-common.el (comp-function-type-spec):
+       * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
+       * lisp/emacs-lisp/bytecomp.el (<trailer>): Rename `subr-native-elisp-p`
+       to `native-comp-function-p`.
+
+2024-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Rename `subr-native-elisp` to `native-comp-function` (bug#71123)
+
+       Now that this type name is displayed in *Help*, it is more
+       important to use a name that is less weird for the unsuspecting user.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl-functionp): Adjust to new name of
+       native function's type.
+       (subr-native-elisp-p): Redefine as an obsolete alias.
+       (native-comp-function): Rename from `subr-native-elisp`
+
+       * src/data.c (Fcl_type_of): Return `Qnative_comp_function` i.s.o
+       `Qsubr_native_elisp`.
+       (Fnative_comp_function_p): Rename from `Fsubr_native_elisp_p`.
+       (syms_of_data): Adjust accordingly.
+
+       * src/doc.c (Fsubr_documentation): Use new `Fnative_comp_function_p` 
name.
+
+2024-05-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mention direction when resizing a window fails
+
+       * lisp/window.el (enlarge-window, shrink-window): When an attempt to
+       resize a window fails, also mention the direction of the
+       operation (i.e., horizontally or vertically).
+
+2024-05-28  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix adding to history via 'eshell-command'
+
+       * lisp/eshell/eshell.el (eshell-read-command): Don't handle history
+       here.
+
+       * lisp/eshell/em-hist.el (eshell-hist-initialize): Properly set up
+       history for minibuffer.
+       (eshell-add-command-to-history): Immediately save history.
+
+2024-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       esh-mode.el: Refrain from hiding buffer modifications (bug#70966)
+
+       We have not been able to discover why these functions let-bound
+       `inhibit-modification-hooks`, but these let-bindings are
+       undesired effects on other modes such as `diff-mode` which
+       need to keep track of buffer modifications.  Let's remove those
+       let-bindings and hope for the best.
+
+       * lisp/eshell/esh-mode.el (eshell-send-input)
+       (eshell-interactive-filter): Don't bind `inhibit-modification-hooks`.
+
+2024-05-28  Alan Mackenzie  <acm@muc.de>
+
+       Correct and clarify two doc strings in lisp/files.el
+
+       lisp/files.el (major-mode-remap-alist)
+       (major-mode-remap-defaults): Correct and clarify the doc
+       strings.
+
+2024-05-28  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Use the current face foreground for read-passwd icons (bug#71213)
+
+       * etc/images/conceal.svg:
+       * etc/images/reveal.svg: Remove 'fill' attribute so that the
+       current face's background is applied: this helps the icon's SVG
+       representation remain legible regardless of how the mode-line
+       is themed.
+
+2024-05-28  Juri Linkov  <juri@linkov.net>
+
+       * lisp/image-mode.el (image-transform-fill-window): New command 
(bug#69565).
+
+       (image-mode-menu): Add image-transform-fill-window to the menu.
+
+2024-05-28  Juri Linkov  <juri@linkov.net>
+
+       Provide a list of default values for M-n of project-find-file 
(bug#70996)
+
+       * lisp/progmodes/project.el (project-find-file)
+       (project-or-external-find-file): Provide a list of suggested
+       filenames for the first arg of project-find-file-in.
+       Use buffer-file-name first to make it more predictable for M-n.
+       (project--read-file-cpd-relative): Handle mb-default as a list.
+
+2024-05-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid rare crashes in 'uncache_face'
+
+       * src/xfaces.c (realize_face): Prevent rare crashes in
+       'uncache_face' because 'former_face' is NULL (i.e. the face
+       corresponding to 'former_face_id' is no longer cached).
+       (Bug#71243)
+
+2024-05-28  Mattias Engdegård  <mattiase@acm.org>
+
+       Use same Python binary for test as in python mode (bug#70815)
+
+       * test/lisp/progmodes/python-tests.el
+       (python-tests-get-shell-interpreter): Try Python executable names
+       in the same order as we do for `python-shell-interpreter`,
+       so that we run the test with the one is most likely to be used.
+
+2024-05-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix tar-mode-test-tar-extract-zip-and-gz
+
+       * test/lisp/tar-mode-tests.el (tar-mode-test-tar-extract-zip-and-gz):
+       Check also for "unzip" executable.
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Fix date-stamp regression in erc-fill-wrap
+
+       * lisp/erc/erc-fill.el (erc-fill-wrap, erc-fill-wrap-enable)
+       (erc-fill-wrap-disable): Add and remove `erc-stamp--insert-date-hook'
+       member.
+       (erc-fill--wrap-continued-predicate): Add function-valued variable for
+       modules to influence `erc-fill--wrap-continued-message-p', which was
+       originally introduced as part of bug#60936.
+       (erc-fill--wrap-rejigger-last-message): Move toward beginning of file.
+       (erc-fill--wrap-unmerge-on-date-stamp): New function.
+       (erc-fill-wrap): Use `erc-fill--wrap-continued-predicate'.  Restore
+       recently deleted hunk that reset the wrap marker upon seeing a date
+       stamp.
+       * test/lisp/erc/erc-scenarios-fill-wrap.el: New file.
+       * test/lisp/erc/resources/fill/wrap/merge-datestamp.eld: New file.
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Add ERC module querypoll as monitor placeholder
+
+       * doc/misc/erc.texi: Add module `querypoll' to list of built-in
+       modules'.
+       * etc/ERC-NEWS: Mention new module `querypoll', and explain new
+       default behavior for deriving query membership from that of channels.
+       * lisp/erc/erc-goodies.el (erc--querypoll-ring)
+       (erc--querypoll-timer): New variables.
+       (erc-querypoll-exclude-regexp): New option.
+       (erc-querypoll-mode, erc-querypoll-enable, erc-querypoll-disable): New
+       module for polling with "WHO" requests for the presence of otherwise
+       "untracked" query targets.
+       (erc-querypoll-period-params): New variable.
+       (erc--querypoll-compute-period)
+       (erc--querypoll-target-in-chan-p)
+       (erc--querypoll-get-length)
+       (erc--querypoll-get-next)
+       (erc--querypoll-subscribe)
+       (erc--querypoll-on-352)
+       (erc--querypoll-send): New functions.
+       * lisp/erc/erc-speedbar.el (erc-speedbar-buttons): Dispatch queries as
+       if they were channels when `erc--queries-current-p' returns non-nil.
+       That is, show head counts alongside query targets as users come and
+       go.
+       (erc-speedbar-insert-target): Defer to `erc--queries-current-p' to
+       know whether to show a query in the style of a channel.  This affects
+       both the plain speedbar integration as well as the `nickbar' module
+       added for bug#63595.  Also, use question marks rather than the empty
+       string for query bullets, so that query and channel items are aligned
+       vertically.
+       * lisp/erc/erc.el (erc--queries-current-p): New function.
+       * test/lisp/erc/erc-goodies-tests.el
+       (erc--querypoll-compute-period)
+       (erc--querypoll-target-in-chan-p)
+       (erc--querypoll-get-length)
+       (erc--querypoll-get-next): New tests.  (Bug#70928)
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Retain client's own user in erc-server-users
+
+       * lisp/erc/erc-backend.el (erc-server-KICK, erc-server-PART): Use new
+       function `erc--remove-channel-user-but' instead of
+       `erc-remove-channel-users'.  In `erc-server-KICK', remove sender's
+       channel membership data after displaying the message so that nicks are
+       buttonized.  Return nil.  In `erc-server-PART', don't run
+       `erc-remove-channel-member' when the client itself has parted.
+       * lisp/erc/erc-common.el (erc--remove-user-from-targets): New
+       function.
+       * lisp/erc/erc.el (erc-remove-server-user): Redo doc string.
+       (erc--forget-server-user-function): New variable.
+       (erc--forget-server-user): New function.
+       (erc--forget-server-user-ignoring-queries): New function, the default
+       value of `erc--forget-server-user-function'.
+       (erc-remove-channel-user): Defer to `erc--forget-server-user-function'
+       to do the actual removal.
+       (erc-remove-user): Defer to `erc--remove-user-from-targets'.
+       (erc-remove-channel-users): Redo doc
+       (erc--remove-channel-users-but): New function.  The only use case thus
+       far is for protecting the client's own `erc-server-users' entry from
+       removal when draining `erc-channel-members' tables after the client
+       leaves a target buffer or quits.
+       (erc-kill-buffer-function): Don't remove own user from
+       `erc-server-users'.
+       * test/lisp/erc/erc-scenarios-base-renick.el
+       (erc-scenarios-base-renick-queries-solo): Assert own client parting
+       its only channel doesn't remove own user from server.  Also assert
+       that another user parting their only channel removes them from all
+       queries.  (Bug#70928)
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Tether query rolls to channel membership in ERC
+
+       * lisp/erc/erc-backend.el (erc-server-JOIN): Update query membership
+       via `erc--ensure-query-member' when someone else joins a channel.
+       (erc-server-NICK): Update query membership via
+       `erc--ensure-query-member' after someone else changes their nick.
+       (erc-server-PRIVMSG): After printing a query message from some other
+       person, remove their nick's data from the query buffer's user table if
+       they're "untracked," i.e., not a member of a channel.
+       (erc-server-263, erc-server-263-functions): New function and variable,
+       a default response handler and hook for "RPL_TRYAGAIN", which servers
+       send for things like rejecting "WHO" and "WHOX" responses due to rate
+       limiting.
+       (erc-server-311): Fix call to `erc-update-user-nick' so the userhost
+       login component is no longer supplied as the `info' parameter but
+       rather, correctly, as the `login'.
+       (erc--extract-352-full-name): Factor out trailing hop-count and GECOS
+       parsing for use by overriding handlers or those for adjacent numerics.
+       (erc-server-352): Refactor to handle asterisk as `channel' parameter,
+       which indicates a nick rather than a channel target.
+       (erc-server-366): Update membership in all query buffers via
+       `erc--ensure-query-members' after all names have been received.
+       (erc-server-401): Forget a known user completely when the server
+       reports them as nonexistent.
+       * lisp/erc/erc-common.el (erc--get-server-user): New function, a thin
+       wrapper around `erc-get-server-user' for cases were inlining would
+       require declaring symbols not defined in erc-common.
+       * lisp/erc/erc.el (erc-channel-members): Mention that instances are
+       used for query-participant tables as well.
+       (erc--decouple-query-and-channel-membership-p): New variable, a
+       compatibility flag to access pre-5.6 query bookkeeping behavior.
+       (erc--ensure-query-member, erc--ensure-query-members): New functions.
+       (erc-cmd-QUERY): Ensure parties are present in the query buffer's
+       membership table if they're known to be on the server by simple virtue
+       of being present in some joined channel.
+       (erc-message-english-s352-you): New variable.
+       * test/lisp/erc/erc-scenarios-base-query-participants.el
+       (erc-scenarios-base-query-participants)
+       (erc-scenarios-base-query-participants/legacy): Rename former to
+       latter.  Enable compat flag to activate legacy query behavior in which
+       channel membership does not impact query membership.
+       (erc-scenarios-base-query-participants/coupled): New test asserting
+       new behavior in which channel membership dictates query
+       membership.  (Bug#70928)
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Reuse old query buffers for reassumed nicks in ERC
+
+       * lisp/erc/erc-backend.el
+       (erc--wrangle-query-buffers-on-nick-change): New function for handling
+       buffer renaming and message routing triggered by a nick change.  Such
+       twiddling used to reside in `erc-server-NICK' but has been separated
+       out for use by built-in modules overriding `erc-server-NICK'.  The
+       behavior has also changed to favor always reusing an existing query
+       buffer whenever possible instead of creating a new, <N>-suffixed
+       buffer.  This addresses some arguably unfinished business from
+       bug#48598.
+       (erc-server-NICK): Fix erroneous call to `erc-update-user-nick' that
+       passed the sender's login as the function's INFO argument.  Move
+       buffer renaming logic to `erc--wrangle-query-buffers-on-nick-change'
+       for use by "NICK" handlers managed by modules.  Also, print the notice
+       in all query buffers when the client changes its own nick.
+       (erc-server-QUIT): Show messages in all query buffers when the client
+       itself quits, but prevent `track' from updating the mode line with
+       redundant noise.
+       * lisp/erc/erc.el (erc-generate-new-buffer-name): Fix typo in doc.
+       (erc--query-list): New function.
+       * test/lisp/erc/erc-scenarios-base-query-participants.el: New file.
+       * test/lisp/erc/erc-scenarios-base-renick.el
+       (erc-scenarios-base-renick-queries-solo): Revise slightly to use
+       modern helper API.
+       (erc-scenarios-base-renick-queries/reassume): New test.
+       (erc-scenarios-base-renick-self/merge-query): New test.
+       * test/lisp/erc/resources/base/query-participants/legacy.eld: New file.
+       * test/lisp/erc/resources/base/reconnect/options-again.eld: Adjust
+       timeout.
+       * test/lisp/erc/resources/base/renick/queries/reassume.eld: New file.
+       * test/lisp/erc/resources/base/renick/self/manual.eld: Update timeouts.
+       * test/lisp/erc/resources/base/renick/self/merge-query-a.eld: New file.
+       * test/lisp/erc/resources/base/renick/self/merge-query-b.eld: New file.
+       (Bug#70928)
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Mention if an ERC module is local in its doc string
+
+       * lisp/erc/erc-common.el (erc--assemble-toggle)
+       (define-erc-module): Update language of doc string to indicate if a
+       module is local.
+       * test/lisp/erc/erc-tests.el (define-erc-module--global)
+       (define-erc-module--local)
+       (define-erc-module--local/permanent-locals): Update expected output.
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Delete original speedbar frame in erc-nickbar-mode
+
+       * lisp/erc/erc-speedbar.el (erc-speedbar-buttons): Disable
+       `erc-nickbar-mode' when it's not displayed in a window.
+       (erc-speedbar--highlight-self-and-ops): Check `status' slot of
+       `erc-channel-user' object instead of calling accessors.
+       (erc-speedbar--hidden-speedbar-frame)
+       (erc-speedbar--emulate-speedbar): Add doc string.
+       (erc-speedbar--handle-delete-frame): New function.
+       (erc-speedbar--toggle-nicknames-sidebar): Remove function because its
+       conditional logic was needlessly complicated and is no longer needed.
+       (erc-speedbar--ensure): Create `speedbar-buffer' when needed, and
+       delete the original frame, but still keep a reference to it in
+       `erc-speedbar--hidden-speedbar-frame'.  Set
+       `dframe-delete-frame-function' to own handler.
+       (erc-speedbar--shutting-down-p): Remove unused variable.
+       (erc-speedbar--run-timer-on-post-insert)
+       (erc-speedbar--prod-dframe-timer): Rename former to latter.  Return
+       nil, and accept any number of args.
+       (erc-nickbar-mode, erc-nickbar-disable): Tear down completely when
+       disabling, regardless of universal argument.  This changes user-facing
+       behavior that was originally introduced with this module as part of
+       bug#63595.  Run `erc-speedbar--prod-dframe-timer' on
+       `erc-server-PONG-functions' as well as `erc-insert-post-hook' so that
+       the panel will eventually update if no messages are being received.
+       (erc-speedbar--dframe-controlled): Don't make frame visible because
+       it's been deleted and was never made invisible.
+       * test/lisp/erc/erc-scenarios-status-sidebar.el
+       (erc-scenarios-status-sidebar--nickbar): Update assertions.
+
+2024-05-28  F. Jason Park  <jp@neverwas.me>
+
+       Return nil from more ERC response handlers
+
+       * etc/ERC-NEWS: Mention that certain aberrant response handlers now
+       return nil.
+       * lisp/erc/erc-backend.el (define-erc-response-handler): Mention that
+       body should explicitly return nil.
+       (erc-server-PART)
+       (erc-server-PING): Return nil.
+       * lisp/erc/erc-sasl.el (erc-sasl--destroy): Return nil.
+       * lisp/erc/erc.el (erc-display-message): Mention in doc string that
+       the return value is undefined.
+       (erc-kill-channel-hook): Fix package-version.
+       * test/lisp/erc/erc-networks-tests.el (erc-networks--set-name): Ensure
+       `erc--route-insertion' returns nil because this influences whether
+       response-handler hooks continue running.
+       * test/lisp/erc/erc-sasl-tests.el
+       (erc-sasl-create-client-ecdsa): Fix regression that made test
+       unusable, although it's still relatively useless and therefore skipped
+       by default.
+       * test/lisp/erc/erc-services-tests.el
+       (erc-services-tests--auth-source-standard)
+       (erc-services-tests--auth-source-announced): Clarify annotations.
+       * test/lisp/erc/erc-tests.el (erc-message): Don't return non-nil in
+       mocked `erc-display-message'.
+       (erc-send-modify-hook): Shadow `erc-send-modify-hook' because
+       `erc-stamp--date-mode' modifies it locally.
+
+2024-05-27  João Távora  <joaotavora@gmail.com>
+
+       Eglot: run eglot-managed-mode-hook when turning off (bug#70958)
+
+       * lisp/progmodes/eglot.el (eglot--managed-mode): Run
+         eglot-managed-mode-hook.
+
+2024-05-27  Andrea Corallo  <acorallo@gnu.org>
+
+       * Rework 'comp-normalize-valset' (bug#71116)
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Rework to
+       improve consistency.
+
+2024-05-27  Juri Linkov  <juri@linkov.net>
+
+       minibuffer-allow-text-properties can be buffer-local and affects 
completions
+
+       * doc/lispref/minibuf.texi (Text from Minibuffer): Mention that
+       minibuffer-allow-text-properties can be let-bound or buffer-local
+       in the minibuffer.  Correct the description of
+       minibuffer-allow-text-properties to explain what it did
+       even before applying code changes in this patch.
+       Remove wrong example for read-no-blanks-input.
+
+       * lisp/imenu.el (imenu--completion-buffer): Set buffer-local
+       minibuffer-allow-text-properties to t.
+       (imenu--completion-buffer): Get text property 'imenu-choice'.
+       (imenu--flatten-index-alist): Propertize annotation
+       with text property 'imenu-choice'.
+
+       * lisp/simple.el (choose-completion): Don't remove text properties
+       from the returned completion string since the value of
+       minibuffer-allow-text-properties is already respected
+       in completion--replace.
+
+       * src/minibuf.c (read_minibuf): Preserve text properties not only
+       when allow_props is non-nil but also in case when
+       minibuffer_allow_text_properties is non-nil.
+       (Fread_from_minibuffer): Mention in the docstring that
+       minibuffer-allow-text-properties can be buffer-local in the minibuffer.
+       (minibuffer-allow-text-properties): Improve docstring to describe
+       when text properties are discarded.
+
+       https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00949.html
+
+2024-05-27  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Don't let pp fall back to prin1 for conses
+
+       * lisp/emacs-lisp/pp.el (pp--insert-lisp): Don't `prin1' non-list
+       conses; use our pp function for cons and list printing
+       `pp--format-list' instead.
+
+2024-05-27  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Don't try to pretty-print non-lists as binding list
+
+       * lisp/emacs-lisp/pp.el (pp--format-definition): Ensure that what we try
+       to print as a list of bindings has an appropriate format.  This avoids
+       raising an error for SEXPs like (let X Y) inside `pcase' forms where our
+       heuristic expects a binding list in the X position.
+
+2024-05-27  Po Lu  <luangruo@yahoo.com>
+
+       Fix minor issues in textconv.c
+
+       * src/textconv.c (really_commit_text): Introduce a few
+       additional debugging printouts.
+       (locate_and_save_position_in_field): Fix typo.
+
+2024-05-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make `idle-update-delay` obsolete
+
+       This user option was introduced in 2003, and was advertised as a general
+       variable for a "delay before updating various things on the screen".
+       But this has never been true: it was only used by 'which-function-mode',
+       and, to make matters worse, users of that mode would basically never
+       know that this user option existed without reading the code.
+
+       Conversely, users that did find the user option would be surprised to
+       see that it only took effect in 'which-func-mode'.
+
+       The lack of other users of 'idle-update-delay' reveals that it has not
+       been considered generally useful.  Thus, it makes more sense to
+       introduce a new mode specific user option `which-func-update-delay`, and
+       to mark the old one obsolete.
+
+       * lisp/simple.el (idle-update-delay): Make obsolete.
+       * lisp/progmodes/which-func.el (which-func-update-delay): New defcustom.
+       (which-function-mode): Use above new defcustom instead of
+       'idle-update-delay'.
+
+2024-05-27  Dmitry Gutov  <dmitry@gutov.dev>
+
+       * lisp/progmodes/project.el: Up xref dependency and bump the version
+
+       * lisp/progmodes/xref.el: Bump the version to 1.7.0
+
+2024-05-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Prevent crashes due to redisplay while realizing the default face
+
+       * src/xfaces.c (Finternal_merge_in_global_face)
+       (realize_default_face): Prevent redisplay while the default face
+       is being realized.  (Bug#71176)
+
+2024-05-26  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove Emacs 19 compat code in mm-util.el
+
+       * lisp/gnus/mm-util.el (mm-preferred-coding-system): Remove Emacs
+       19 compat code.
+
+2024-05-26  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Further tweak pp code printing
+
+       This fixes an aspect of Bug#70868.
+
+       * lisp/emacs-lisp/pp.el (pp--insert-lisp): Print characters with
+       `prin1-char'.  In all other cases consistently print with `prin1'.
+
+2024-05-26  Naofumi Yasufuku  <naofumi@yasufuku.dev>  (tiny change)
+
+       Fix --enable-checking build with macOS clang 15.0.0
+
+       search.c:3428:7: error: call to undeclared library function 'free' ...
+
+       configure:9131: checking for C compiler version
+       configure:9140: gcc --version >&5
+       Apple clang version 15.0.0 (clang-1500.3.9.4)
+       Target: arm64-apple-darwin23.5.0
+       Thread model: posix
+       InstalledDir: /Library/Developer/CommandLineTools/usr/bin
+
+       * src/search.c: Include stdlib.h for free(), and stdio.h for
+       open_memstream(), fclose().
+
+2024-05-26  Mattias Engdegård  <mattiase@acm.org>
+
+       Clean up legacy bytecode loading
+
+       Complete some unfinished work from the elimination of lazy bytecode
+       loading in 9bcc9690a8: remove code which became unreachable by that
+       reform.  This simplifies some of the lower-level parts of the reader
+       which helps performance somewhat.
+
+       * src/doc.c (read_bytecode_pointer, read_bytecode_char)
+       (read_doc_string): Remove.
+       (get_doc_string): Remove last argument, all callers adapted.  Simplify.
+       * src/lread.c (readbyte_for_lambda, readbyte_from_string)
+       (readbyte_for_lambda, readbyte_from_string): Remove.
+       (readchar, unreadchar): Remove unused code paths for Qlambda and cons
+       arguments.
+       (bytecode_from_rev_list): Remove last use of a quirky code path,
+       decoding force-loaded lazy bytecode explicitly.
+
+2024-05-26  Joost Kremers  <joostkremers@fastmail.com>
+
+       Update documentation for 'width' slot of vtable ':column' object
+
+       Bug#71167
+
+2024-05-26  Lin Sun  <sunlin7@hotmail.com>
+
+       Enhance 'python-shell-send-block' for convenience
+
+       * lisp/progmodes/python.el (python-shell-send-block):
+       'python-shell-send-block' will now send block without header
+       by default.
+       * test/lisp/progmodes/python-tests.el
+       (python-test--shell-send-block): Update the test case.
+       (Bug#71083)
+
+2024-05-26  Po Lu  <luangruo@yahoo.com>
+
+       Address compilation errors and warnings on x86 Solaris 10 systems
+
+       * doc/misc/ede.texi (Extending EDE):
+
+       * doc/misc/flymake.texi (Top, Using Flymake): Insert punctuation
+       after xrefs.
+
+       * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Print
+       number of files being scraped.
+
+       * src/dired.c (directory_files_internal):
+
+       * src/eval.c (Fmake_interpreted_closure, Fdefvaralias):
+
+       * src/fns.c (Fassoc): Work around optimizer failures.
+
+2024-05-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Improve navigation to cl-defgeneric uses
+
+       * lisp/emacs-lisp/cl-generic.el
+       (cl--generic-find-defgeneric-regexp):
+       Use "symbol end" boundary (bug#71068).
+
+2024-05-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       xref-revert-buffer: Make inhibit-modification-hooks binding a bit safer
+
+       * lisp/progmodes/xref.el (xref-revert-buffer): Make sure that the
+       inhibit-modification-hooks binding does not cover xref--fetcher
+       funcall.  Only the printing step (issue mentioned in bug#53749).
+
+2024-05-25  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix a race condition when evaluating Eshell commands
+
+       * lisp/eshell/esh-cmd.el (eshell-do-eval): Don't defer when all the
+       processes are done.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/pipeline-wait/nested-pipes): New test.
+
+2024-05-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make Tramp's async processes more robust
+
+       * lisp/simple.el (shell-command-sentinel): Check process property
+       `remote-command' first.
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       * lisp/net/tramp-androidsu.el (tramp-androidsu-handle-make-process):
+       Set sentinel `ignore'.  (Bug#71049)
+
+       * test/lisp/net/tramp-tests.el
+       (tramp--test-deftest-direct-async-process): Don't suppress
+       internal sentinel.
+       (tramp-test32-shell-commanddirect-async): Don't tag it :unstable.
+
+2024-05-25  Andrea Corallo  <acorallo@gnu.org>
+
+       * src/Makefile.in (ELN_DESTDIR, BIN_DESTDIR): Give a default 
(bug#70842).
+
+2024-05-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       4f0121f8dbe Avoid assertion violations in displaying under 'outline-m...
+       1bf65836622 Improve documentation of 'no-special-glyphs' frame parameter
+       3647645e948 Fix Python font lock of chained assignment statement
+       3291dea441f Fix example in Calc manual
+       350ae75f5c1 Avoid crashes on MS-Windows due to invalid UNC file names
+       ccf8dba44a3 ; * lisp/face-remap.el (text-scale-adjust): Doc fix.
+       5ab144c77cd ; Improve documentation of backing up files
+
+2024-05-25  Mattias Engdegård  <mattiase@acm.org>
+
+       Omit `store-substring` from lisp manual (bug#70784)
+
+       * doc/lispref/strings.texi (Modifying Strings): Remove `store-substring`
+       which is not really useful enough to merit a mention here.
+
+2024-05-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of sending commands to shells
+
+       * doc/lispref/processes.texi (Synchronous Processes):
+       * lisp/subr.el (call-shell-region):
+       * lisp/simple.el (shell-command-on-region)
+       (shell-command-to-string): Document system-dependent aspects of
+       sending commands to shells.  (Bug#71081)
+
+2024-05-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp's progress-reporter messages
+
+       * lisp/net/tramp-androidsu.el (tramp-androidsu-maybe-open-connection):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+       Adapt progress-reporter message.
+
+       * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
+       Divide progress-reporter into two parts.  (Bug#70901)
+
+2024-05-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid rare errors in dabbrev.el
+
+       * lisp/dabbrev.el (dabbrev-expand, dabbrev--find-expansion): Make
+       sure 'dabbrev--last-buffer' is a live buffer before using its
+       value.  (Bug#70824)
+
+2024-05-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix encoding of text when saving a gpg-encoded file
+
+       * lisp/epa-file.el (epa-file-write-region): Revert inadvertent
+       change from July 15, 2020 which broke selection of a correct
+       encoding for stuff sent to 'gpg'.  (Bug#71080)
+
+2024-05-25  Robin Joy  <emacs@robinjoy.net>
+
+       Erase existing duplicates in eshell-history-ring
+
+       Erase all existing duplicates instead of just the last duplicate entry
+       when 'eshell-hist-ignoredups' is set to 'erase'.  Multiple duplicates
+       can exist in case 'eshell-hist-ignoredups' was set to something else
+       than 'erase' in the past or if the history file contains duplicates
+       (bug#71107).
+
+       * lisp/eshell/em-hist.el (eshell-add-input-to-history): Remove all
+       duplicates from history ring.
+
+       * test/lisp/eshell/em-hist-tests.el
+       (em-hist-test/add-to-history/erase-existing-dups): New test.
+
+2024-05-24  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Fix usage of cons cells in grep-find-ignored-files
+
+       grep-find-ignored-files is documented to also include cons
+       cells, not just globs, but there were two places outside grep.el
+       where we were using it as if it was only a string list.
+
+       To fix this, add a helper function named grep-find-ignored-files
+       which handles grep-find-ignored-files properly and returns the
+       list of globs, and use it everywhere.
+
+       * lisp/progmodes/grep.el (grep--filter-list-by-dir)
+       (grep-find-ignored-files): New functions.
+       (rgrep-find-ignored-directories): Use grep--filter-list-by-dir.
+       (lgrep, rgrep-default-command):
+       Use grep-find-ignored-files function.
+       * lisp/dired-aux.el (dired-do-find-regexp):
+       Use grep-find-ignored-files function.
+       * lisp/progmodes/project.el (project-ignores):
+       Use grep-find-ignored-files function, if bound. (bug#71115)
+
+2024-05-24  Tassilo Horn  <tsdh@gnu.org>
+
+       bug-reference: signal fontified bounds back to jit-lock (bug#70796)
+
+       * lisp/progmodes/bug-reference.el (bug-reference-fontify): Signal
+       fontified bounds back to jit-lock in order to allow for redisplay
+       optimizations (bug#70796).
+
+2024-05-24  Juri Linkov  <juri@linkov.net>
+
+       * lisp/dired.el (dired-mode-map): Bind "E" to 'dired-do-open' 
(bug#18132).
+
+       (dired-mode-immediate-menu): Add menu item "Display Externally"
+       for 'dired-do-open'.
+
+       * lisp/dired-aux.el (dired-do-open): Add autoload cookie.
+
+2024-05-24  Juri Linkov  <juri@linkov.net>
+
+       New variable shell-command-guess-dired-optional (bug#18132)
+
+       * doc/emacs/dired.texi (Shell Command Guessing):
+       Add dired-guess-shell-alist-optional.
+
+       * lisp/dired.el (dired-guess-shell-alist-user):
+       * lisp/dired-aux.el (dired-do-shell-command):
+       Add dired-guess-shell-alist-optional to docstring.
+       (dired-guess-shell-alist-default): Move media commands to
+       'dired-guess-shell-alist-optional'.
+       (dired-guess-shell-alist-optional): New variable.
+       (dired-guess-default): Add 'dired-guess-shell-alist-optional'
+       to the end after 'dired-guess-shell-alist-user'
+       and 'dired-guess-shell-alist-default'.
+       (shell-command-guess-functions): Add more options.
+       (shell-command-guess-dired): Remove function.
+       (shell-command-guess-dired-user)
+       (shell-command-guess-dired-default)
+       (shell-command-guess-dired-optional): New functions.
+
+2024-05-24  Andrea Corallo  <acorallo@gnu.org>
+
+       * src/comp.c (check_comp_unit_relocs): Remove unneccesary double access.
+
+2024-05-23  Eshel Yaron  <me@eshelyaron.com>
+
+       Fix argument name highlighting in 'describe-function' output
+
+       This fixes a regression introduced in
+       dd38097f0b9458eea882043fa06b27248e505b22, which prevented proper
+       argument name highlighting in function docstrings in the output
+       buffer of 'describe-function'.
+
+       * lisp/help-fns.el (help-do-arg-highlight): New optional arg
+       that says if we're highlighting arguments in the usage string or
+       in the docstring.  Tweak generated regex to only expect argument
+       name to be preceded by function name in usage string.
+       (help-highlight-arguments): Use new argument for usage string.
+
+2024-05-23  Eshel Yaron  <me@eshelyaron.com>
+
+       Fix 'help-view-source' for variables defined in C
+
+       This fixes an issue that Juri Linkov mentioned in Bug#71117.
+
+       * lisp/help-mode.el (help-function-def--button-function): When
+       searching for the definition of a variable, make sure to call
+       'help-C-file-name' with KIND argument set to 'var'.
+
+2024-05-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve Dired context menu
+
+       * lisp/dired.el (dired-context-menu): Add 'w32-shell-execute' menu
+       item on MS-Windows.  Improve help-echo.
+
+2024-05-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Documentation followup for last change
+
+       * etc/NEWS: Announce the change in 'key-translate'.
+
+       * doc/lispref/commands.texi (Event Mod): Update documentation of
+       'key-translate'.  (Bug#70139)
+
+2024-05-23  Charalampos Mitrodimas  <charmitro@posteo.net>
+
+       Improve 'key-translate' to support removing translations
+
+       This patch enhances the key-translate function to allow removing
+       keyboard translations by passing nil as the second argument (TO).
+       If TO is nil, any existing translation for the FROM key will be
+       removed.  The compiler macro is updated to only check TO when it
+       is non-nil.  This change makes key-translate more consistent with
+       the behavior of 'keyboard-translate', providing a way to remove
+       translations without having to specify the same key for both FROM
+       and TO.
+       The documentation string is updated to reflect the new behavior.
+
+       * lisp/keymap.el (key-translate): Support removing translations
+       by passing nil as the second argument (TO).  Also signal an error
+       if multiple items are passed.  (Bug#70139)
+
+2024-05-23  Lin Sun  <sunlin7@hotmail.com>
+           kobarity  <kobarity@gmail.com>
+
+       Enhance python-tests to adapt different Python interpreters (bug#70815)
+
+       * test/lisp/progmodes/python-tests.el
+       (python-tests-get-shell-interpreter): New function to get Python
+       interpreter for testing; and also introduce new env variable
+       EMACS_PYTHON_INTERPRETER to support customer Python interpreter.
+
+2024-05-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix uncompressing a .tar.gz archive whose files have no leading dir
+
+       * lisp/dired-aux.el (dired-compress): Handle the case when
+       NEW-FILE is not produced in the current directory by uncompressing
+       a compressed file.  (Bug#47058)
+
+2024-05-23  Po Lu  <luangruo@yahoo.com>
+
+       Work around one Android bug and document another
+
+       * etc/PROBLEMS (Runtime problems specific to Android): Document
+       deficiency of "Android Keyboard (AOSP)."
+
+       * java/org/gnu/emacs/EmacsView.java (showOnScreenKeyboard):
+       Revert yesterday's change.
+
+       * java/org/gnu/emacs/EmacsWindow.java (toggleOnScreenKeyboard):
+       Sync with the UI thread after displaying the on-screen keyboard.
+
+2024-05-23  Po Lu  <luangruo@yahoo.com>
+
+       Restore specbound keyboard-locals in the correct KBOARD
+
+       * doc/lispref/variables.texi (Intro to Buffer-Local): Fix typo
+       in documentation.
+
+       * src/data.c (KBOARD_OBJFWDP): Move to lisp.h.
+       (kboard_for_bindings): New variable.
+       (do_symval_forwarding, store_symval_forwarding): Call
+       kboard_for_bindings rather than retrieving this value directly.
+       (set_default_internal): New argument WHERE; if valcontents be a
+       Lisp_Kboard_Objfwd and WHERE be specified, save the binding
+       there.  All callers changed.
+
+       * src/eval.c (specpdl_where): Adjust for changes in structure
+       layout.
+       (specpdl_kboard): New function.
+       (do_specbind): Clear let->where.kbd in ordinary SPECPDL_LETs,
+       and set it to the kboard where the binding will be installed if
+       binding keyboard forwards.
+       (specbind, do_one_unbind, specpdl_unrewind): Provide
+       specpdl_kboard in invocation of set_default_internal.
+
+       * src/keyboard.c (delete_kboard): Clean thread specpdls of
+       references to kboards.
+
+       * src/keyboard.h (KBOARD_OBJFWDP): Move from data.c.
+
+       * src/lisp.h (union specbinding) <let.where>: Convert into
+       union of KBOARD and Lisp_Object.
+
+       * src/thread.c (all_threads): Export.
+
+       * src/thread.h: Adjust correspondingly.
+
+2024-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/pcase.el (pcase--subtype-bitsets): Fix bootstrap 
failure
+
+       `rm lisp/emacs-lisp/cl-preloaded.elc src/bootstrap-emacs`
+       followed by `make` ended up loading right after defining
+       `built-in-class-p` but before actually defining the
+       built-in-classes so the computation of bitsets failed.
+
+2024-05-22  Po Lu  <luangruo@yahoo.com>
+
+       Improve compatibility with Android's default text editor
+
+       * java/org/gnu/emacs/EmacsView.java (showOnScreenKeyboard):
+       Request a selection update if `inputConnection' has been
+       established, to more closely emulate the OS text editing widget.
+       (onCreateInputConnection) [EmacsService.DEBUG_IC]: Print current
+       selection values before reporting them.
+
+2024-05-22  Yuan Fu  <casouri@gmail.com>
+
+       Improve treesit-major-mode-setup indentation setup (bug#71086)
+
+       * lisp/treesit.el (treesit-major-mode-setup): Setup indentation when
+       treesit-indent-function is set.
+       * doc/lispref/modes.texi (Parser-based Indentation): Fix manual.
+
+2024-05-22  Yuan Fu  <casouri@gmail.com>
+
+       Fontify namespace in constant face in c++-ts-mode (bug#71070)
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Use
+       constant face.
+
+2024-05-22  Yuan Fu  <casouri@gmail.com>
+
+       Address a common pitfall in tree-sitter's manual section (bug#71048)
+
+       * doc/lispref/parsing.texi (Multiple Languages): Add example for
+       treesit-language-at-point-function.
+
+2024-05-22  Dmitry Gutov  <dmitry@gutov.dev>
+
+       etags-regen-program: Use more robust default value
+
+       * lisp/progmodes/etags-regen.el (etags-regen-program):
+       Default to the value of the variable etags-program-name.
+
+2024-05-21  Juri Linkov  <juri@linkov.net>
+
+       Use read-from-minibuffer instead of read-string for dired-do-touch
+
+       * lisp/dired-aux.el (dired-mark-read-string): Use read-from-minibuffer
+       instead of read-string when op-symbol is 'touch', since it's more clear
+       when read-from-minibuffer returns an empty string for RET,
+       and it was used in dired-mark-read-string initially (bug#70725).
+
+2024-05-21  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix some Tramp oddities
+
+       * lisp/net/tramp-container.el: Move connection-local settings
+       where they belong to.
+
+       * lisp/net/tramp-sshfs.el (tramp-connection-properties): Do not
+       set connection property "direct-async-process".
+       (tramp-direct-async-process): Set connection-local value.
+
+       * test/lisp/net/tramp-tests.el (comp-warn-primitives): Declare.
+       (tramp-test18-file-attributes): Use it.
+
+2024-05-21  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix todo-mode item insertion bug (bug#70937)
+
+       * lisp/calendar/todo-mode.el (todo-insert-item--next-param):
+       Initially assign each key in todo-mode-map a function identifying
+       it as invalid for item insertion, thus preventing mistakenly
+       pressing a key from executing an unwanted different todo-mode
+       command; the actual item insertion keys are redefined when looping
+       over the item insertion parameters.
+
+2024-05-21  Juri Linkov  <juri@linkov.net>
+
+       Use read-string instead of completing-read for dired-do-touch
+
+       * lisp/dired-aux.el (dired-mark-read-string): Use read-string
+       when op-symbol is 'touch' (bug#70725).
+
+2024-05-21  Juri Linkov  <juri@linkov.net>
+
+       Fix for 'vc-default-patch-addressee' recently added to .dir-locals.el
+
+       * lisp/vc/vc.el: Add autoloaded setting of 'safe-local-variable' 
property
+       for 'vc-default-patch-addressee' exactly like it's already done
+       for 'vc-prepare-patches-separately'.
+
+2024-05-21  Jared Finder  <jared@finder.org>
+
+       Do not message for repeated enable/disable of tab-line-mode
+
+       tab-line-mode should not inform the user of an unexpected change
+       when enabling the mode if already enabled.  For example, when
+       running (tab-line-mode 1) repeatedly (bug#68765).
+
+       * lisp/tab-line.el (tab-line-mode): Modify case when user is informed.
+
+2024-05-20  Jim Porter  <jporterbugs@gmail.com>
+
+       Support text overlays for thingatpt provider helpers
+
+       * lisp/thingatpt.el (thing-at-point-for-text-property)
+       (forward-thing-for-text-property)
+       (bounds-of-thing-at-point-for-text-property): Rename to...
+       (thing-at-point-for-char-property)
+       (forward-thing-for-char-property)
+       (bounds-of-thing-at-point-for-char-property): ... and add overlay
+       support.  Update callers.
+
+       * test/lisp/thingatpt-tests.el (thing-at-point-providers)
+       (forward-thing-providers, bounds-of-thing-at-point-providers): Test
+       overlays too.
+
+       * test/lisp/progmodes/bug-reference-tests.el (test-thing-at-point): Test
+       'bounds-of-thing-at-point' and 'forward-point'.
+
+       * etc/NEWS: Update function names in announcement.
+
+2024-05-20  Jim Porter  <jporterbugs@gmail.com>
+
+       Improve implementation of 'forward-thing' using custom providers
+
+       Now, call all the custom providers for each step, using the provider
+       that moves point the smallest non-zero amount.  This allows multiple
+       providers for a given "thing" to work nicely together.
+
+       * lisp/thingatpt.el (forward-thing-provider-alist): Update docstring.
+       (forward-thing): New implementation to call each provider N times.
+       (forward-thing-for-text-property): Take BACKWARD instead of N.  Update
+       callers.
+
+       * test/lisp/thingatpt-tests.el (thing-at-point-providers)
+       (forward-thing-providers): Add more checks.
+       (consecutive-things-at-point): New test.
+
+2024-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync m4/byteswap.m4 from Gnulib
+
+       * m4/byteswap.m4: Copy from Gnulib.  This fixes a configure
+       glitch on macOS reported by Mattias Engdegård
+
+2024-05-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp code cleanup
+
+       * lisp/net/tramp-sh.el (tramp-find-shell, tramp-find-inline-compress)
+       (tramp-get-remote-path):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
+       Use `tramp-warning'.
+
+       * test/lisp/net/tramp-tests.el (tramp--test-container-p):
+       Add "kubernetes", "run0" and "nspawn".
+       (tramp--test-toolbox-p): New defun.
+       (tramp-test45-asynchronous-requests): Use it.
+       (tramp--test-check-files): Adapt regexp.
+
+2024-05-20  Po Lu  <luangruo@yahoo.com>
+
+       Adapt last change to Android
+
+       * src/sfntfont.c (sfnt_parse_style): Replace unrepresentable
+       characters in DESC->adstyle with ` '.
+
+2024-05-20  Po Lu  <luangruo@yahoo.com>
+
+       Circumvent bug#70989
+
+       * src/ftfont.c (get_adstyle_property): Substitute a space for
+       unrepresentable adstyle characters.  (bug#70989)
+
+2024-05-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix visiting zip archives inside tar archives
+
+       * lisp/tar-mode.el (tar-archive-from-tar): New local variable.
+       (tar-extract): Set it non-nil for an extracted member that happens
+       to be arc-mode archive.
+       * lisp/arc-mode.el (tar-archive-from-tar): Defvar it.
+       (archive-unique-fname): Make sure FNAME can be created in DIR,
+       even if FNAME is provided as an absolute file name (this happens
+       if the archive is a member of a Tar archive, for example).
+       (archive-extract): Set 'archive-remote' for archives that were
+       extracted from Tar archives.  (Bug#70987)
+
+2024-05-20  Juri Linkov  <juri@linkov.net>
+
+       New tests for nested archives (bug#70987)
+
+       * test/lisp/tar-mode-tests.el (tar-mode-test-tar-extract-zip-and-gz):
+       * test/lisp/arc-mode-tests.el (arc-mode-test-zip-extract-tar-and-gz):
+       New tests.
+       * test/data/decompress/tzg.tar.gz:
+       * test/data/decompress/ztg.zip:
+       New data files to test decompressing of different combinations
+       of nested tar and zip archives.
+
+2024-05-20  Jim Porter  <jporterbugs@gmail.com>
+
+       Tell direction in prompts for '(previous|next)-matching-history-element'
+
+       Previously, this always said "Previous" for
+       'previous-matching-history-element' (likewise "Next").  Now, the prompt
+       accounts for a negative prefix argument changing the search direction
+       (bug#70882).
+
+       * lisp/simple.el (previous-matching-history-element)
+       (next-matching-history-element): Consult numeric prefix argument to
+       determine the prompt string.
+
+2024-05-20  Jim Porter  <jporterbugs@gmail.com>
+
+       Allow defining custom providers for more "thingatpt" functions
+
+       This also fixes an issue in EWW and bug-reference-mode where
+       (thing-at-point 'url) at the end of a URL would return nil.
+
+       See 
<https://lists.gnu.org/archive/html/emacs-devel/2024-02/msg00200.html>.
+
+       * lisp/thingatpt.el (forward-thing-provider-alist)
+       (bounds-of-thing-at-point-provider-alist): New variables...
+       (forward-thing, bounds-of-thing-at-point): ... use them.
+       (text-property-search-forward, text-property-search-backward)
+       (prop-match-beginning, prop-match-end): Declare.
+       (thing-at-point-for-text-property, forward-thing-for-text-property)
+       (bounds-of-thing-at-point-for-text-property): New functions.
+
+       * lisp/net/eww.el (eww--url-at-point): Use
+       'thing-at-point-for-text-property'.
+       (eww--bounds-of-url-at-point, eww--forward-url): New functions...
+       (eww-mode): ... use them.
+
+       * lisp/progmodes/bug-reference.el (bug-reference--url-at-point): Use
+       'thing-at-point-for-text-property'.
+       (bug-reference--bounds-of-url-at-point, bug-reference--forward-url): New
+       functions...
+       (bug-reference--init): ... use them.
+
+       * test/lisp/thingatpt-tests.el (thing-at-point-providers)
+       (forward-thing-providers, bounds-of-thing-at-point-providers): New
+       tests.
+
+       * etc/NEWS: Announce this change.
+
+2024-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Tweak STORE_NUMBER arg type
+
+       * src/regex-emacs.c (STORE_NUMBER): Make the arg int, not int16_t.
+       There’s no need for the caller to convert to int16_t, and using
+       int makes the machine code a bit smaller (and presumably a bit
+       faster) on x86-64 with GCC 14.
+
+2024-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port knuth_hash to odd platforms
+
+       * src/lisp.h (hash_hash_t, knuth_hash): Use unsigned int and
+       unsigned long long int rather than uint32_t and uint64_t, as POSIX
+       does not guarantee the presence of uint64_t, and uint32_t and
+       uint64_t both in theory have problems with undefined behavior on
+       integer overflow.  This doesn’t affect behavior (or even machine
+       code) on typical platforms.
+
+2024-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2024-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify -Wanalyzer-null-dereference in sfnt.c
+
+       * src/sfnt.c (sfnt_map_table, sfnt_read_table)
+       (sfnt_read_cvar_table): Pacify GCC -Wanalyzer-null-dereference.
+       The change to sfnt_read_cvar_table fixes what appears to be
+       an actual null-dereference bug.
+
+2024-05-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix kill-this-buffer's detection of minibuffer frames
+
+       * lisp/menu-bar.el (kill-this-buffer): Don't test against
+       menu-updating-frame, because this variable is only meaningful
+       during menu bar updates.
+
+2024-05-19  Andrea Corallo  <acorallo@gnu.org>
+
+       Silence 3 warnings for non sqlite builds
+
+       * lisp/emacs-lisp/multisession.el (sqlite-commit)
+       (sqlite-transaction, sqlite-rollback): Declare.
+
+2024-05-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add connection-local variable `tramp-direct-async-process'
+
+       * doc/misc/tramp.texi (Predefined connection information):
+       Remove "direct-async-process".
+       (Remote processes): Explain connection-local variable
+       tramp-direct-async-process.
+
+       * etc/NEWS: Add connection-local variable 'tramp-direct-async-process'.
+
+       * lisp/net/tramp-compat.el (tramp-compat-connection-local-p): Sync with
+       Emacs source.
+       (tramp-compat-connection-local-value): New defalias.
+
+       * lisp/net/tramp-message.el (tramp-warning): New defsubst.
+
+       * lisp/net/tramp.el (tramp-direct-async-process): New defvar.
+       (tramp-direct-async-process-p): Use connection-local variable for
+       check.  (Bug#70959)
+
+       * test/lisp/net/tramp-tests.el
+       (tramp--test-deftest-direct-async-process):
+       Use connection-local-variable `tramp-direct-async-process'.
+
+2024-05-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add convenience binding for html-paragraph to mhtml-mode
+
+       * lisp/textmodes/sgml-mode.el (html-mode-map): Bind 'C-c C-c p' to
+       'html-paragraph'.  (Bug#70533)
+
+2024-05-19  Robert Church  <chrchr@gmail.com>
+
+       Add Oklab color space utility functions in color.el.
+
+       * lisp/color.el (color-oklab-to-xyz, color-oklab-to-srgb)
+       (color-srgb-to-oklab): New functions.  (Bug#70963)
+
+       * test/lisp/color-tests.el (color-tests-oklab-to-xyz)
+       (color-tests-xyz-to-oklab, color-tests-srgb-to-oklab)
+       (color-tests-oklab-to-srgb): New tests.
+
+2024-05-19  Morgan Smith  <Morgan.J.Smith@outlook.com>
+
+       * lisp/window.el (fit-window-to-buffer): Fix width calculation
+
+       When PIXELWISE is nil, we still calculate width in pixels and
+       then convert it to columns.  However, part of the calculation
+       was using columns where it should have used pixels.  (Bug#70894)
+
+2024-05-19  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix MinGW build with GCC 14 and later
+
+       * configure.ac [mingw]: Add -Wno-error=implicit-function-declaration
+       to GCC_TEST_OPTIONS.  (Bug#70889)
+
+2024-05-19  Jared Finder  <jared@finder.org>
+
+       Fix byte compiler warnings in window-tool-bar.el
+
+       * lisp/window-tool-bar.el (window-tool-bar--static-if)
+       (window-tool-bar--ignored-event-types): Avoid byte compiler
+       seeing variables obsolete in Emacs 30 and up.  (Bug#68765)
+
+2024-05-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix the DJGPP build
+
+       * config.bat: Generate stdbit.in-h from stdbit.in.h.
+
+       * msdos/sedlibmk.inp (GL_STDC_...): Enable generation
+       of ISO C2x features.
+       (STDBIT_H): Define to stdbit.h.
+       (GL_GENERATE_STDBIT_H_CONDITION): Define to 1.
+
+2024-05-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix Android 2.2 build
+
+       * src/android.h: Include sys/select.h.
+
+2024-05-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix Android build
+
+       * src/androidfns.c: Include stdlib.h.
+
+2024-05-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       * lisp/play/doctor.el: Add a few more word meanings.
+
+2024-05-19  F. Jason Park  <jp@neverwas.me>
+
+       Reconcile erc-stamp--date-stamps when merging buffers
+
+       * etc/ERC-NEWS: Mention new face `erc-information'.
+       * lisp/erc/erc-button.el (erc-button-add-buttons): Skip buttonization
+       when the "msg prop" `erc--skip' is present and contains the symbol
+       `button'.  Set `alist' to nil in the same guard condition as a
+       roundabout way of suppressing further processing.
+       * lisp/erc/erc-networks.el (erc--insert-admin-message): Forward
+       declaration.
+       (erc-networks--insert-transplanted-content)
+       (erc-networks--transplant-buffer-content): Replace former with latter.
+       Change signature to take source and destination buffers as parameters.
+       (erc-networks--transplant-target-buffer-function): New function-valued
+       variable.
+       (erc-networks--target-transplant-in-progress-p): New variable, a flag
+       for downstream code to detect when a transplant is underway.
+       (erc-networks--reclaim-orphaned-target-buffers): Defer to
+       `erc-networks--transplant-target-buffer-function' to handle the actual
+       transplant business.  Crucially, kill the buffer afterwards instead of
+       beforehand.  If new buffer-association bugs emerge related to the
+       combining of old or renamed target buffers, this reordering may be at
+       fault.
+       (erc-networks--copy-over-server-buffer-contents): Pass old and new
+       buffers to `erc-networks--insert-transplanted-content'.
+       * lisp/erc/erc-stamp.el
+       (erc-stamp--defer-date-insertion-on-post-modify): Set `fn' slot of
+       `erc-stamp--date' instance to `ignore' when running the actual
+       callback in order to conserve a little space.
+       (erc-stamp--date-mode): Add and remove hook members for
+       `erc-networks--copy-server-buffer-functions' and
+       `erc-networks--transplant-target-buffer-function'.
+       (erc-insert-timestamp-left-and-right): Always clear
+       `erc-timestamp-last-inserted-right' to ensure a right stamp
+       accompanies every date stamp.
+       (erc-stamp--dedupe-date-stamps)
+       (erc-stamp--dedupe-date-stamps-from-buffer)
+       (erc-stamp--dedupe-date-stamps-from-target-buffer): New functions.
+       Date stamp behavior was revamped as part of bug#60936.
+       * lisp/erc/erc.el (erc-informational): New face.
+       (erc--insert-admin-message): New function to hide some "msg prop"
+       complexity from "upstream" libraries, like `erc-networks', and thus
+       avoid more forward-declarations.  A less smelly approach would be to
+       devise a general interface owned by such libraries, or erc-common,
+       that `erc-mode' could then hook into on init.
+       (erc-display-message-highlight): Make face matching more limber to
+       accommodate the convention of face names lacking a "-face" suffix.
+       (erc-message-english-graft): New variable.
+       (erc-kill-channel): Inhibit execution of hook when
+       `erc-networks--target-transplant-in-progress-p' is non-nil.
+       * test/lisp/erc/erc-networks-tests.el
+       (erc-networks--rename-server-buffer--no-existing--orphan)
+       (erc-networks--rename-server-buffer--existing--reuse)
+       (erc-networks--rename-server-buffer--local-match)
+       (erc-networks--rename-server-buffer--local-nomatch): Use helper to
+       initialize markers.
+       * test/lisp/erc/erc-stamp-tests.el (erc-stamp--dedupe-date-stamps):
+       New test.  (Bug#70928)
+
+2024-05-19  F. Jason Park  <jp@neverwas.me>
+
+       Don't kill server buffer with erc-kill-buffer-on-part
+
+       * etc/ERC-NEWS: Mention new flag `erc-killing-buffer-on-part-p' and
+       the renaming of `erc-kill-channel'.
+       * lisp/erc/erc-backend.el (erc-server-PART): Only kill a buffer on
+       behalf of `erc-kill-buffer-on-part' when the buffer hasn't already
+       been killed, and bind `erc-killing-buffer-on-part-p' to t when doing
+       so.
+       * lisp/erc/erc-log.el (erc-conditional-save-buffer): Don't save logs
+       when the buffer parameter is nil because that causes the server buffer
+       to be saved out.  It's possible that user code relying on this
+       longstanding bug will be affected, however, by default, the server
+       buffer will also be saved out independently at designated junctures.
+       * lisp/erc/erc.el (erc-part-hook): Redo doc string.
+       (erc-killing-buffer-on-part-p): New variable, a flag to prevent
+       redundant execution of `erc-kill-channel-hook' members concerned with
+       parted channels.
+       (erc-kill-buffer-on-part): Tweak doc string.
+       (erc-kill-channel-hook): Use new name for `erc-kill-channel',
+       `erc-part-channel-on-kill'.
+       (erc-kill-channel, erc-part-channel-on-kill): Rename former to latter,
+       and inhibit execution when `erc-killing-buffer-on-part-p' is non-nil.
+       * test/lisp/erc/erc-scenarios-base-kill-on-part.el: New file.
+       (Bug#70840)
+
+2024-05-19  Augusto Stoffel  <arstoffel@gmail.com>
+
+       comint.el: Add applicable modes to 'interactive' forms
+
+       * lisp/comint.el (comint-dynamic-list-input-ring-select)
+       (comint-dynamic-list-input-ring, comint-restore-input)
+       (comint-previous-input, comint-next-input)
+       (comint-previous-matching-input, comint-next-matching-input)
+       (comint-previous-matching-input-from-input)
+       (comint-next-matching-input-from-input)
+       (comint-replace-by-expanded-history, comint-magic-space)
+       (comint-history-isearch-backward)
+       (comint-history-isearch-backward-regexp, comint-send-input)
+       (comint-truncate-buffer, comint-strip-ctrl-m)
+       (comint-show-maximum-output, comint-copy-old-input, comint-bol)
+       (comint-send-invisible, comint-delete-output, comint-write-output)
+       (comint-append-output-to-file, comint-show-output)
+       (comint-clear-buffer, comint-interrupt-subjob, comint-kill-subjob)
+       (comint-quit-subjob, comint-stop-subjob, comint-continue-subjob)
+       (comint-kill-input, comint-delchar-or-maybe-eof, comint-send-eof)
+       (comint-backward-matching-input, comint-forward-matching-input)
+       (comint-next-prompt, comint-previous-prompt)
+       (comint-insert-previous-argument, comint-kill-whole-line)
+       (comint-kill-region, comint-dynamic-complete-filename)
+       (comint-replace-by-expanded-filename)
+       (comint-dynamic-list-filename-completions)
+       (comint-get-next-from-history, comint-accumulate)
+       (comint-goto-process-mark, comint-bol-or-process-mark)
+       (comint-set-process-mark, comint-redirect-cleanup)
+       (comint-redirect-send-command)
+       (comint-redirect-send-command-to-process, comint-fontify-input-mode):
+       Add mode to interactive form.  (Bug#70555)
+
+2024-05-18  nibon7  <nibon7@163.com>
+
+       eglot: Add blueprint language server (Bug#70015)
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add
+       blueprint-compiler.
+
+2024-05-18  kobarity  <kobarity@gmail.com>
+
+       Improve fontification of Python assignments with type hints
+
+       * lisp/progmodes/python.el 
(python-font-lock-keywords-maximum-decoration):
+       Fontify type hints of assignment statement.  (Bug#69357)
+       * test/lisp/progmodes/python-tests.el
+       (python-font-lock-assignment-statement-11)
+       (python-font-lock-assignment-statement-12)
+       (python-font-lock-assignment-statement-13)
+       (python-font-lock-assignment-statement-18): Add fontification of type
+       hints.
+       (python-font-lock-assignment-statement-19): New test.
+
+2024-05-18  Andrea Corallo  <acorallo@gnu.org>
+
+       * admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table): Clean-up 
quote.
+
+2024-05-18  Jostein Kjønigsen  <jostein@kjonigsen.net>
+
+       nxml-mode: Add schemas for Mono/.NET related files
+
+       * etc/schema/dotnet-appconfig.rnc:
+       * etc/schema/dotnet-packages-config.rnc:
+       * etc/schema/dotnet-packages-props.rnc:
+       * etc/schema/dotnet-resx.rnc:
+       * etc/schema/msbuild.rnc:
+       * etc/schema/nuget.rnc:
+       * etc/schema/nuspec.rnc: New files.
+       * etc/schema/README: Document copyright status of above new files.
+       * etc/schema/schemas.xml: Use above new files to support Mono/.NET
+       development related XML files.
+
+       This change was discussed in:
+       https://lists.gnu.org/r/emacs-devel/2024-02/msg00638.html
+
+2024-05-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix double periods in `doctor-symptoms`
+
+       * lisp/play/doctor.el (doctor-symptoms): Don't produce double periods.
+
+2024-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify 32-bit Android bit fiddling
+
+       * src/sfnt.c: Include stdbit.h.
+       (sfnt_count_leading_zero_bits) [!INT64_MAX]: Remove this function,
+       which was confusingly named as it actually returned 31 minus the
+       number of leading zero bits.
+       (sfnt_multiply_divide_2) [!INT64_MAX]: Use stdc_leading_zeros instead.
+
+2024-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer stdbit.h to count-one-bits.h etc
+
+       C23's <stdbit.h> in the long run should be better supported than
+       Gnulib's count-one-bits.h and similar headers, so switch to the
+       C23 primitives, with a Gnulib fallback for platforms lacking C23.
+       * admin/merge-gnulib (GNULIB_MODULES): Remove count-leading-zeros,
+       count-one-bits, count-trailing-zeros.  Add stdc_bit_width,
+       stdc_count_ones, stdc_trailing_zeros.
+       * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
+       * lib/count-one-bits.c, lib/count-one-bits.h:
+       * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h: Remove.
+       * lib/stdbit.c, lib/stdbit.in.h, lib/stdc_bit_width.c:
+       * lib/stdc_count_ones.c, lib/stdc_leading_zeros.c:
+       * lib/stdc_trailing_zeros.c, m4/stdbit_h.m4:
+       New files, copied from Gnulib.
+       * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+       * src/data.c: Do not include count-one-bits.h, count-trailing-zeros.h.
+       Instead, rely on lisp.h including stdbit.h.
+       (Flogcount, Fbool_vector_count_population)
+       (Fbool_vector_count_consecutive): Use stdbit.h macros instead of
+       count-one-bits.h and count-trailing-zeros.h macros.
+       (shift_right_ull, count_one_bits_word, pre_value)
+       (count_trailing_zero_bits): Remove; no longer needed.
+       * src/lisp.h: Include stdbit.h instead of count-leading-zeros.h.
+       (elogb): Use stdbit.h macro instead of count-leading-zeros.h macro.
+
+2024-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2024-05-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       List Andrea Corallo as co-maintainer in ack.texi
+
+       * doc/emacs/ack.texi (Acknowledgments): List Andrea Corallo as
+       co-maintainer from 29.3 onwards.
+
+2024-05-18  Eshel Yaron  <me@eshelyaron.com>
+
+       New functions '(set-)window-cursor-type'
+
+       * src/window.h (struct window): Add 'cursor_type' slot.
+       (wset_cursor_type): New inline function.
+       * src/xdisp.c (get_window_cursor_type): Consult 'cursor_type'.
+       * src/window.c (make_window): Initialize 'cursor_type' to t.
+       (Fset_window_cursor_type, Fwindow_cursor_type): New functions.
+       (syms_of_window): List their symbols.
+       * doc/lispref/windows.texi (Window Point): Document them.
+       * doc/lispref/frames.texi (Cursor Parameters): Mention
+       new 'set-window-cursor-type'.
+       * etc/NEWS: Announce new functions.  (Bug#70622)
+
+2024-05-18  Dmitry Gutov  <dmitry@gutov.dev>
+
+       minibuffer-completion-help: Fix earlier mistake
+
+       * lisp/minibuffer.el (minibuffer-completion-help): Fix earlier
+       mistake.  Instead of altering a variable whose value is
+       immutable (and already captured in a saved list), move the
+       reference to said list to a lexical binding and alter that
+       list's second element instead.
+
+       https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00875.html
+
+2024-05-18  Po Lu  <luangruo@yahoo.com>
+
+       Housekeeping around androidselect.c
+
+       * java/org/gnu/emacs/EmacsClipboard.java (setClipboard)
+       (getClipboard):
+
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java (setClipboard)
+       (getClipboard):
+
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java (setClipboard)
+       (getClipboard): Save and return Strings rather than byte arrays.
+
+       * src/androidselect.c (android_init_emacs_clipboard)
+       (Fandroid_set_clipboard, Fandroid_get_clipboard): Adjust to
+       match.
+
+2024-05-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       a4828155d8f ; * doc/lispintro/emacs-lisp-intro.texi (nthcdr): Whitesp...
+       df1a9e42ba4 Document :box attribute caveats when used on display strings
+       ca17bc8dd0b Improve documentation of 'movemail'
+       d47aa33bcdb Replace incorrect link in Rmail chapter of Emacs manual
+       35138b90dd2 ; * doc/lispref/parsing.texi (Parsing Program Source): Im...
+       3dd09516c9a ; Improve documentation of 'set-fontset-font'
+       042b58b5ff4 ; * doc/emacs/search.texi (Word Search): Add index entry.
+       60b1768dc50 ; * src/window.c (Fwindow_scroll_bars): Doc fix.
+
+2024-05-18  Ergus  <spacibba@aol.com>
+
+       Add support for Rust compilation messages
+
+       * etc/compilation.txt (Rust): Add Rust/cargo examples.
+
+       * lisp/progmodes/compile.el
+       (compilation-error-regexp-alist-alist): Add rust/cargo error and
+       warning patterns.  (Bug#70794)
+
+2024-05-18  Tony Zorman  <soliditsallgood@mailbox.org>
+
+       use-package: Add ':ignored-files' support to ':vc' keyword
+
+       * lisp/use-package/use-package-core.el (use-package-split-when):
+       New utility function to split a list whenever a specified
+       predicate returns t.
+       (use-package-vc-valid-keywords): A new defconst to gather all
+       allowed keywords.
+       (use-package-normalize--vc-arg): Properly normalize the
+       ':ignored-files' keyword, in that the following are all valid
+       ways of entering files:
+         :ignored-files "a"
+         :ignored-files ("a")
+         :ignored-files "a" "b" "c"
+         :ignored-files ("a" "b" "c")
+       (use-package-normalize/:vc): Adjust normalization, now that we
+       do not necessarily receive a valid plist as an input.  (Bug#66567)
+
+       * test/lisp/use-package/use-package-tests.el
+       (use-package-test-normalize/:vc): Add tests for ':ignored-files'
+       keyword.
+
+2024-05-18  Tony Zorman  <soliditsallgood@mailbox.org>
+
+       use-package: Update list of valid :vc keywords
+
+       * lisp/use-package/use-package-core.el: Add ':shell-command'
+       and ':make' to valid keywords.  (Bug#66567)
+
+2024-05-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix printing the result by 'eval-print-last-sexp'
+
+       * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Record the
+       desired output stream before evaluating the expression.
+       (Bug#70931)
+
+2024-05-18  Jared Finder  <jared@finder.org>
+
+       Adding window-tool-bar package (bug#68765).
+
+       * lisp/window-tool-bar.el: New file.
+
+2024-05-18  Jared Finder  <jared@finder.org>
+
+       Add user option to only display default tool bar
+
+       This works well with `window-tool-bar-mode', to be added in upcoming
+       commit.  Then the default tool bar is displayed frame-wide and
+       mode-specific tool bars are displayed in the window that mode is
+       active in.
+
+       * lisp/tool-bar.el (tool-bar-always-show-default): New user option.
+       (tool-bar--cache-key, tool-bar-make-keymap-1): Return default tool bar
+       when option is set.
+
+2024-05-18  Jared Finder  <jared@finder.org>
+
+       Inform user when tab-line-mode command makes no change
+
+       * lisp/tab-line.el (tab-line-mode): Display message when command is
+       run on already altered tab-line-format.
+
+2024-05-18  Joost Kremers  <joostkremers@fastmail.com>
+
+       Make 'vtable-insert-object' more versatile
+
+       * lisp/emacs-lisp/vtable.el (vtable-insert-object): Rename
+       argument AFTER-OBJECT to LOCATION; allow use of index to
+       refer to the insertion position; add argument BEFORE.
+       (Bug#70664).
+
+       * etc/NEWS:
+       * doc/misc/vtable.texi (Interface Functions): Document the
+       change.
+
+       * test/lisp/emacs-lisp/vtable-tests.el
+       (test-vtable-insert-object): New test.
+
+2024-05-18  Andrea Corallo  <acorallo@gnu.org>
+
+       * Work around GCC bug affecting Garbage Collection (bug#65727).
+
+       * src/lisp.h (flush_stack_call_func): Prevent GCC sibling call
+       optimization to run with an asm inline.
+
+2024-05-18  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Fix project-find-regexp in remote projects
+
+       * lisp/progmodes/xref.el (xref--hits-file-prefix):
+       New variable.  Something to prepend to each file name (bug#69233).
+       (xref--convert-hits): Use it to also store the "default directory"
+       part of the filename conditionally on whether it's remote.
+       (xref--collect-matches): Use the new variable here.
+
+2024-05-18  Dmitry Gutov  <dmitry@gutov.dev>
+
+       xref--group-name-for-display: Undo most of the latest change
+
+       * lisp/progmodes/xref.el (xref--group-name-for-display):
+       Remove the DD-SUFFIX parameter, returning the function more like
+       to how it was (bug#69233).
+       (xref--analyze, xref--add-log-current-defun):
+       Revert the previous change accordingly.
+
+       * test/lisp/progmodes/xref-tests.el: Undo the last change.
+
+2024-05-17  Po Lu  <luangruo@yahoo.com>
+
+       Port to certain Android environments with no GUI
+
+       * configure.ac (USER_FULL_NAME): Define to
+       android_user_full_name only when a GUI system is being built.
+       Otherwise, set to pw->pw_gecos or NULL consistently with the
+       presence of pw->pw_gecos.
+
+       * src/editfns.c (Fuser_full_name): Adjust to match.  Accept NULL
+       values from USER_FULL_NAME.
+
+2024-05-17  Jim Porter  <jporterbugs@gmail.com>
+
+       Add new Eshell built-in command 'funcall'
+
+       * lisp/eshell/esh-cmd.el (eshell/funcall): New function...
+
+       * test/lisp/eshell/em-glob-tests.el (em-glob-test/expand/splice-results)
+       (em-glob-test/expand/no-splice-results)
+       (em-glob-test/expand/explicitly-splice-results)
+       (em-glob-test/expand/explicitly-listify-results):
+       * test/lisp/eshell/esh-var-tests.el
+       (esh-var-test/quoted-interp-lisp-indices)
+       (esh-var-test/quoted-interp-cmd-indices)
+       (esh-var-test/interp-convert-quoted-var-number)
+       (esh-var-test/quoted-interp-convert-var-number)
+       (esh-var-test/quoted-interp-convert-quoted-var-number)
+       (esh-var-test/last-status-var-lisp-command)
+       (esh-var-test/last-result-var-split-indices)
+       (esh-var-test/last-arg-var-split-indices): ... use it in tests.
+
+       * doc/misc/eshell.texi (List of Built-ins): Describe this command.
+
+2024-05-16  Harald Jörg  <haj@posteo.de>
+
+       ;cperl-mode.el: Allow running under Emacs >=27
+
+       I would like to advertise cperl-mode.el from the repository as a
+       workaround for bug#70948.  This can be achieved by safeguarding
+       the call to derived-mode-add-parents with a version check.
+
+       * lisp/progmodes/cperl-mode.el: Call derived-mode-add-parents only
+       if it is available.
+
+2024-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (describe-package-1): Handle (nil . "string") in `:maintainer`
+
+       * lisp/emacs-lisp/package.el (describe-package-1): Refine the
+       check to distinguish the old single-maintainer format from the
+       new multi-maintainer format.  (bug#69712)
+
+2024-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/loadup.el: Add workaround for occasional "bootstrap" failure
+
+2024-05-16  Robert Pluim  <rpluim@gmail.com>
+
+       Add multi/unibyte string tests for key-description
+
+       * test/src/keymap-tests.el (keymap--key-description): Add multi/unibyte
+       tests.
+
+       This is to check the fix for Bug#59305.
+
+2024-05-16  Robert Pluim  <rpluim@gmail.com>
+
+       * doc/emacs/mule.texi (Unibyte Mode): Mention iso-transl-set-language
+
+2024-05-16  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix bootstrap with checking enabled
+
+       * lisp/emacs-lisp/comp.el (comp--limplify-top-level): Set function
+       safety.
+
+2024-05-16  Jim Porter  <jporterbugs@gmail.com>
+
+       Use "/local:" prefix in Eshell to run local commands when cwd is remote
+
+       * lisp/eshell/esh-ext.el (eshell-explicit-remote-commands)
+       (eshell-explicit-command): Update docstrings.
+       (eshell--local-prefix): New constant.
+       (eshell-handle-remote-command): Remove.
+       (eshell-quoted-file-command): New function...
+       (eshell-ext-initialize): ... add it as a hook.
+       (eshell-remote-command): Support running commands on localhost.
+       (eshell-connection-local-command): Rename from
+       'eshell-external-command'.
+       (eshell-external-command): New implementation calling
+       'eshell-remote-command' or 'eshell-connection-local-command' as
+       appropriate.
+
+       * test/lisp/eshell/esh-ext-tests.el
+       (esh-ext-test/explicitly-local-command): Update test.
+
+       * doc/misc/eshell.texi (Remote Access): Update documentation.
+
+       * etc/NEWS: Update announcement.
+
+2024-05-15  Sean Whitton  <spwhitton@spwhitton.name>
+
+       (eglot--managed-mode): Avoid calling track-changes unregistered
+
+       * lisp/progmodes/eglot.el (eglot--managed-mode): Unregister from
+       track-changes after `eglot-shutdown` since that function may
+       call `eglot--signal-textDocument/didChange`.  (bug#70927)
+
+2024-05-15  Sean Whitton  <spwhitton@spwhitton.name>
+
+       vc-git-root-log-format: Explicitly match periods
+
+       * lisp/vc/vc-git.el (vc-git-root-log-format): Explicity match
+       periods, rather than matching them only because '.' matches any
+       chars.
+
+2024-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       control.texi: Be a bit more explicit about the behavior of `pcase-let`
+
+       * doc/lispref/control.texi (Destructuring with pcase Patterns):
+       Clarify the kind of "unspecified" behavior that can occur when
+       the destructing pattern does not match the value.
+
+2024-05-15  Andrea Corallo  <acorallo@gnu.org>
+
+       * admin/MAINTAINERS: Add myself in (co-)maintainers.
+
+2024-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (xref--collect-matches): Move inhibit-modification-hooks binding down
+
+       * lisp/progmodes/xref.el (xref--collect-matches): Move the
+       inhibit-modification-hooks binding a little down (bug#53749).
+       (xref--show-common-initialize): Add sharp-quoting.
+
+2024-05-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid another warning (bug#70942).
+
+2024-05-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix some compilation warnings
+
+       Reported by Jacob Faibussowitsch <jacob.fai@gmail.com>
+
+       * lisp/net/eww.el (imagep): Declare.
+
+       * src/xdisp.c (note_fringe_highlight): Now compiled only if
+       HAVE_WINDOW_SYSTEM.
+
+2024-05-14  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/gnus/nnatom.el (libxml-parse-xml-region): Declare to silence 
warning.
+
+2024-05-14  Robert Pluim  <rpluim@gmail.com>
+
+       Document 'use-default-font-for-symbols' more
+
+       "why does my set-fontset-font call not work for symbols" is a common
+       question, and it's because 'use-default-font-for-symbols' is not
+       discoverable enough.
+
+       * doc/emacs/mule.texi (Modifying Fontsets): Mention it here.
+       * doc/lispref/display.texi (Fontsets): And here.
+       * src/fontset.c (Fset_fontset_font): And most importantly here.
+
+2024-05-14  Illia Ostapyshyn  <illia@yshyn.com>
+
+       Use proper smime-keys entry for S/MIME signatures using OpenSSL
+
+       bug#67931
+
+       * doc/misc/emacs-mime.texi (MML Definition):
+       * lisp/gnus/mml.el (mml-parse-1): Add chainfile parameter to sign tags.
+       * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query): Include the
+       additional certificates from smime-keys in MML tag generation as
+       chainfile parameters.
+       (mml-smime-openssl-sign): Forward chainfile entries from the parsed tag
+       alist to smime-sign-buffer.
+
+2024-05-14  Andrea Corallo  <acorallo@gnu.org>
+
+       * doc/lispref/functions.texi (Declare Form): Rename and update 'ftype' 
entry.
+
+       * etc/NEWS: Rename 'type' -> 'ftype' and tweak it.
+
+2024-05-14  Andrea Corallo  <acorallo@gnu.org>
+
+       * Allow for optional function name parameter in 'ftype' declaration
+
+       * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Allow for
+       optional function name parameter in 'ftype' declaration.
+
+2024-05-14  Andrea Corallo  <acorallo@gnu.org>
+
+       Change 'type' declaration to 'ftype'
+
+       * lisp/window.el (get-lru-window, get-largest-window)
+       (one-window-p): Update function type declaration.
+       * lisp/subr.el (ignore, error, zerop, fixnump, bignump, lsh)
+       (last, eventp, mouse-movement-p, log10, memory-limit)
+       (internal-pop-keymap): Likewise.
+       * lisp/simple.el (count-lines, mark, string-empty-p): Likewise.
+       * lisp/files.el (parse-colon-path): Likewise.
+       * lisp/env.el (getenv): Likewise.
+       * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Likewise.
+       * lisp/emacs-lisp/lisp.el (buffer-end): Likewise.
+       * lisp/emacs-lisp/comp.el (comp--final): Likewise.
+       * lisp/custom.el (custom-variable-p): Likewise.
+       * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Rename 'type'
+       -> 'ftype'.
+
+2024-05-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       Trace Tramp user error
+
+       * lisp/net/tramp-androidsu.el (tramp-androidsu-maybe-open-connection):
+       Use `tramp-user-error' for the traces.
+
+2024-05-14  Po Lu  <luangruo@yahoo.com>
+
+       Port tramp-androidsu to a wider variety of systems
+
+       * lisp/net/tramp-androidsu.el
+       (tramp-androidsu-maybe-open-connection): Search for `su' when
+       the connection is initiated; replace PATH of inferior shell with
+       trap-androidsu-remote-path.
+       (tramp-androidsu-handle-make-process): Do not provide username
+       if root.
+
+2024-05-14  Juri Linkov  <juri@linkov.net>
+
+       Add documentation about sorting Imenu completions (bug#70846)
+
+       * doc/emacs/programs.texi (Imenu): Document how Imenu completions
+       can be sorted.
+
+       * lisp/imenu.el (imenu-sort-function): Explain in the docstring
+       how to sort Imenu completions.
+
+2024-05-14  Po Lu  <luangruo@yahoo.com>
+
+       Fix failure of `restart-emacs' to restart Emacs on Android
+
+       * src/emacs.c (Fkill_emacs) [HAVE_ANDROID && !ANDROID_STUBIFY]:
+       Arrange to terminate Emacs upon receipt of a bus error.
+
+2024-05-13  Andrea Corallo  <acorallo@gnu.org>
+
+       * etc/NEWS (Safety compilation parameter): Add entry.
+
+2024-05-13  Andrea Corallo  <acorallo@gnu.org>
+
+       Add some 'compilation-safety' documentation
+
+       * lisp/emacs-lisp/bytecomp.el (compilation-safety): Better doc.
+       * doc/lispref/functions.texi (Declare Form): Add 'safety'.
+       * doc/lispref/compile.texi (Native-Compilation Variables): Add
+       'compilation-safety'.
+
+2024-05-13  Andrea Corallo  <acorallo@gnu.org>
+
+       Add 'safety' function declaration
+
+       * lisp/emacs-lisp/comp.el (comp-known-predicates): Use
+       'comp-func-safety'.
+       (comp-ctxt, comp-mvar-type-hint-match-p): New 'safety' slot.
+       (comp-c-func-name): New function.
+       (comp--spill-lap-function, comp--intern-func-in-ctxt): Update.
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Spill safety.
+       * lisp/emacs-lisp/byte-run.el (byte-run--set-completion): New alias.
+       (defun-declarations-alist): Update.
+
+2024-05-13  Andrea Corallo  <acorallo@gnu.org>
+
+       Introduce 'compilation-safety' variable
+
+       * lisp/emacs-lisp/bytecomp.el (compilation-safety): New customize.
+       * src/comp.c (comp_t): Add func_safety.
+       (emit_call_with_type_hint, emit_call2_with_type_hint): Make use of.
+       (compile_function): Set 'comp.func_safety'.
+
+2024-05-13  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp.el (comp--get-function-cstr): Fix it.
+
+2024-05-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Avoid resizing mutation in subst-char-in-string, take two
+
+       This time we take care to preserve properties, and add a test.
+
+       * lisp/subr.el (subst-char-in-string):
+       Use string-replace to avoid resizing mutation and O(n^2) time.
+       * test/lisp/subr-tests.el (subr--subst-char-in-string): New test.
+
+2024-05-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       * doc/misc/tramp.texi: Adapt some markups.
+
+2024-05-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix bug#70900
+
+       * lisp/net/tramp.el (tramp-handle-unlock-file): Be quiet if user
+       isn't interested in lock files.  Bug#70900
+
+2024-05-13  Juri Linkov  <juri@linkov.net>
+
+       * lisp/imenu.el: Support more values for imenu-flatten (bug#70846)
+
+       (imenu-flatten): Change type boolean to choice
+       of more values for prefix/suffix section names.
+       (imenu--completion-buffer): Add :annotation-function if
+       'imenu-flatten' is 'annotation'.
+       (imenu--flatten-index-alist): Put property 'imenu-section' if
+       'imenu-flatten' is 'annotation'.
+
+2024-05-13  Po Lu  <luangruo@yahoo.com>
+
+       Communicate frame titles to the window manager on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (detachWindow)
+       (attachWindow): Call updateWmName.
+       (updateWmName): New function; transfer wm name from the window
+       attached to the task's description.
+
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
+       <wmName>: New field.
+       (setWmName): New function.
+
+       * src/android.c (android_init_emacs_window): Link to new
+       function.
+       (android_set_wm_name): New function.
+
+       * src/android.h (struct android_emacs_service): Delete unused
+       entries.
+
+       * src/androidfns.c (android_set_name_internal, android_set_name)
+       (android_implicitly_set_name, android_explicitly_set_name)
+       (android_set_title): Port from X.
+
+       * src/androidterm.c (android_term_init): Compute default frame
+       title.
+
+       * src/androidterm.h (struct android_display_info) <x_id_name>:
+       New field.
+
+2024-05-13  Dmitry Gutov  <dmitry@gutov.dev>
+
+       ruby-rubocop-use-bundler: New user option
+
+       * lisp/progmodes/ruby-mode.el (ruby-rubocop-use-bundler):
+       New user option.
+       (ruby-flymake-rubocop--use-bundler-p): Use it.
+
+       * etc/NEWS: Mention it.
+
+2024-05-13  Po Lu  <luangruo@yahoo.com>
+
+       Complete pacification of build warnings on Android
+
+       * build-aux/makecounter.sh: Introduce extern declaration of
+       emacs_shortlisp_counter.
+
+       * src/android.c (android_class_path): Declare static.
+
+       * src/androidfont.c (font_driver_class, font_spec_class)
+       (integer_class, font_metrics_class, font_object_class): Declare
+       static.
+
+       * src/androidterm.c (android_frame_parm_handlers): Move
+       declaration...
+
+       * src/androidterm.h (android_frame_parm_handlers): ... here.
+
+2024-05-12  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Fix 'C-u C-x p g' globally and 'A' in dired-mode
+
+       * lisp/progmodes/project.el (project-find-regexp): Ensure the
+       DEFAULT-DIRECTORY is set correctly for the 'C-u' case (bug#70888).
+
+       * lisp/progmodes/project.el (project--files-in-directory):
+       Ensure that the DIR argument ends with a slash --
+       'dired-do-find-regexp' passes it differently, for example.
+
+       * lisp/progmodes/xref.el (xref--group-name-for-display): Ensure
+       the project-relative and absolute display modes work well for
+       groups with "relative" file names.
+       (xref--analyze, xref--add-log-current-defun): Change accordingly.
+
+       * test/lisp/progmodes/project-tests.el
+       (project-find-regexp-with-prefix): New test.
+
+2024-05-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add Tramp method "nspawn"
+
+       * doc/misc/tramp.texi: Adapt some markups.
+       (Inline methods) <nspawn>: Add.
+       (Default Host): Mention default host for "nspawn".
+       (Customizing Methods): Remove tramp-nspawn.
+       (Password handling): Add "nspawn".
+
+       * etc/NEWS: New Tramp method "nspawn".
+
+       * lisp/net/tramp-compat.el (tramp-nspawn): Warn, if that package is 
used.
+
+       * lisp/net/tramp-container.el (tramp-nspawn-program): New defcustom.
+       (tramp-nspawn-method): New defconst.
+       (tramp-nspawn--completion-function, tramp-enable-nspawn-method):
+       New defuns.
+
+       * lisp/net/tramp.el (tramp-local-host-regexp): Add OpenSUSE host names.
+
+2024-05-12  Dmitry Gutov  <dmitry@gutov.dev>
+
+       completion--replace: Fix completion cycling
+
+       * lisp/minibuffer.el (completion--replace):
+       Don't "insert before markers" after all because in some cases
+       (https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00701.html)
+       - like cycling - BEG can be denoted by a marker as well.
+       (minibuffer-completion-help): Make FIELD-END simply a fixnum.  And
+       adjust its value manually inside the local
+       completion-list-insert-choice-function (bug#48356).
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix offset of reported conversion regions
+
+       * src/androidterm.c (request_class, text_class): Pacify new
+       warning.
+       (android_update_selection): Don't redundantly subtract 1 from
+       compose region start.
+
+2024-05-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "Avoid resizing mutation in subst-char-in-string"
+
+       This reverts commit 184d6e8c02345583264b053bb59ae031bb1c5a00.
+
+       It wasn't quite correct: the path through `string-replace` would not
+       preserve text properties in the input string, which broke Gnus.
+
+2024-05-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Silence some macOS build warnings
+
+       * src/image.c (native_image_type): Declare static.
+       * src/keyboard.c (lispy_function_keys): Declare static on NS.
+       * src/nsmenu.m (context_menu_value):
+       * src/nsterm.m (ns_frame_parm_handlers): Move extern declarations...
+       * src/nsterm.h: ...here.
+       * test/src/emacs-module-resources/mod-test.c: Add extern declaration.
+
+2024-05-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Safer and faster string sorting
+
+       * lisp/emacs-lisp/cl-seq.el (cl-sort):
+       Don't use string mutation when sorting the characters in a string.
+       This avoids O(n^2) run time and makes it future-safe.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Properly deinitialize directory cursors on closedir
+
+       * src/androidvfs.c (android_saf_tree_closedir): Call
+       cursor.close, for deleting the local reference to enable its
+       garbage collection is not sufficient to release all related
+       resources.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Additional changes to processing of Num Lock on Android
+
+       * java/org/gnu/emacs/EmacsView.java (onKeyDown, onKeyMultiple)
+       (onKeyDown): Disregard Num and Scroll Lock keys, and return
+       value of window functions to the system.
+
+       * java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Return
+       normalized meta state, not only those bits the system considers
+       modifiers.
+       (onKeyDown, onKeyUp): Ignore numpad keys to which no base
+       characters are assigned, so that the system may generate the
+       proper action keys instead.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Correct earlier changes to processing of Num Lock on Android
+
+       * java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
+       Cease stripping META_NUM_LOCK_ON and META_SCROLL_LOCK_ON from
+       meta masks reported to getUnicodeChar.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Pacify warnings in gmalloc.c
+
+       * src/gmalloc.c (__malloc_initialize_hook): Also declare in
+       advance on Glibc 2.24 and later.
+       (__after_morecore_hook, __morecore): Likewise on Glibc 2.34 and
+       later.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       * oldXMenu/Activate.c (x_menu_grab_keyboard): Declare static.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix the DJGPP build
+
+       * src/fns.c (value_cmp) [MSDOS]: Consider processes unordered
+       on DOS.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       * src/keyboard.c (lispy_function_keys): Define as static on Android.
+
+2024-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix the DJGPP build
+
+       * msdos/sedlibmk.inp (HAVE_STRTOF, NULLPTR_T_NEEDS_STDDEF):
+       Define to 1.
+
+2024-05-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify gcc -Wmissing-variable-declarations
+
+       This is a new warning diagnostic in GCC 14.
+       * lib-src/etags.c (mercury_heuristics_ratio):
+       * src/pgtkselect.c, src/xselect.c (selection_request_stack):
+       * src/xselect.c (outstanding_transfers):
+       * src/xterm.c (pending_selection_requests)
+       (x_dnd_waiting_for_motif_finish_display):
+       Now static.
+       * lib-src/make-docfile.c (close_emacs_globals):
+       Arrange for lispsym to be declared with extern first,
+       when compiling lread.c.
+       * src/alloc.c (gdb_make_enums_visible) [__GNUC__]:
+       * src/emacs.c (RCS_Id):
+       * src/keyboard.c (stop_character):
+       * src/print.c (print_output_debug_flag):
+       Now declared with extern first.
+       * src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN) [MAIN_PROGRAM]:
+       Arrange for ID to be declared extern first.
+       * src/lisp.h (garbage_collection_inhibited):
+       * src/xterm.h (x_frame_parm_handlers):
+       Declare here, so that its interface is properly checked.  Other decls
+       removed.
+
+2024-05-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2024-05-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to recent Gnulib changes
+
+       * admin/merge-gnulib: Also remove the new Gnulib file
+       m4/off64_t.m4, as Emacs doesn’t need off64_t.
+       * configure.ac (gl_TYPE_OFF64_T): Define a nearly no-op.
+
+2024-05-11  Po Lu  <luangruo@yahoo.com>
+
+       Fix test of whether to insert lexical-binding cookies in custom files
+
+       * lisp/cus-edit.el (custom-save-all): Test whether the buffer is
+       empty, not whether point is at EOB.
+
+2024-05-11  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       0ec9a02a0d5 ; Fix doc strings of two scroll-bar functions.
+       2f8bccf9d8c ; * doc/emacs/frames.texi (Scroll Bars): Improve formatting.
+       f9832e80b89 ; * lisp/textmodes/ispell.el (ispell-message): Add commen...
+       a7d247be90c ; * etc/PROBLEMS: Document macOS problems with Emacs.clr ...
+       8560ee7b5ca ; * doc/misc/auth.texi (The Unix password store): Fix var...
+       74c6b59af15 ; Advertise scroll bars some more
+       3d65d4306b9 Avoid errors in 'image-dired-tag-thumbnail'
+
+2024-05-11  kobarity  <kobarity@gmail.com>
+           Lin Sun  <sunlin7@hotmail.com>
+
+       Support Python 3 in 'package-test-update-archives-async'
+
+       * test/lisp/emacs-lisp/package-resources/package-test-server.py:
+       Support Python 3.
+       * test/lisp/emacs-lisp/package-tests.el
+       (package-test-update-archives-async): Search for an executable
+       named "python", "python3", or "python2".  (Bug#70722)
+
+2024-05-11  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix Rmail summary by thread
+
+       * lisp/mail/rmailsum.el (rmail-summary-by-thread): Use value of
+       'rmail-total-messages' local to 'rmail-buffer'.  Patch by Andrea
+       Monaco <andrea.monaco@autistici.org>.
+
+2024-05-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       New Tramp method "run0"
+
+       * doc/misc/tramp.texi (Quick Start Guide, Inline methods)
+       (Password handling, Predefined connection information)
+       (Ad-hoc multi-hops): Add "run0".
+       (Remote processes): Mention tramp-use-connection-share.
+
+       * etc/NEWS: New Tramp method "run0".
+
+       * lisp/net/tramp.el (tramp-completion-dissect-file-name):
+       * lisp/net/tramp-cmds.el (tramp-list-remote-buffers):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
+       Use `tramp-compat-keep-seq'.
+
+       * lisp/net/tramp-cmds.el (tramp-file-name-with-method): Add "run0".
+
+       * lisp/net/tramp-sh.el (tramp-enable-run0-method): New defun.
+       (tramp-sh-handle-expand-file-name): Add "run0".
+       (tramp-maybe-open-connection): Simplify setting timeout.
+
+2024-05-11  Po Lu  <luangruo@yahoo.com>
+
+       Improve documentation of p-s-p-scroll-down-page
+
+       * lisp/pixel-scroll.el
+       (pixel-scroll-precision-scroll-down-page): Document unit in
+       which the height of the window is measured, and what manner of
+       height applies.  Reported by Eli Zaretskii <eliz@gnu.org>.
+
+2024-05-11  Po Lu  <luangruo@yahoo.com>
+
+       Delete unused functions
+
+       * java/org/gnu/emacs/EmacsNative.java (dup, close):
+
+       * src/android.c (dup, close): Delete functions no longer
+       referenced.
+
+2024-05-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Update gnus-draft-check-draft-articles to use find-buffer-visiting
+
+       * lisp/gnus/gnus-draft.el (gnus-draft-check-draft-articles): Don't loop
+       through all the buffers; this removes the need for the `file-remote-p'
+       check. Also give the user some nicer feedback about what's going on.
+
+2024-05-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Remove extra message-set-auto-save-file-name call in Gnus drafts
+
+       Bug#70579
+
+       * lisp/gnus/gnus-draft.el (gnus-draft-setup): This function is already
+       being called as part of the message-mail -> message-mode call
+       above. Running it twice results in a jump in assigned article numbers,
+       and the corresponding active value of the drafts group.
+
+2024-05-10  Juri Linkov  <juri@linkov.net>
+
+       Support customization of sorting order for Imenu completion candidates
+
+       * lisp/imenu.el (imenu--completion-buffer):
+       Set completion-extra-properties to '(:category imenu).
+       (imenu--flatten-index-alist): Use imenu--subalist-p to handle
+       newer format (INDEX-NAME INDEX-POSITION FUNCTION ARGUMENTS...)
+       as well (bug#70846).
+
+       * doc/emacs/misc.texi (DocView Navigation): Fix typo.
+
+2024-05-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Avoid resizing mutation in subst-char-in-string
+
+       * lisp/subr.el (subst-char-in-string):
+       Use string-replace to avoid resizing mutation and O(n^2) time.
+
+2024-05-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'dictionary-tooltip-mode'
+
+       * lisp/tooltip.el (tooltip-event-buffer): Make sure 'posn-window'
+       returns a window before calling 'window-buffer'.
+
+       * lisp/net/dictionary.el (dictionary-default-dictionary)
+       (dictionary-tooltip-dictionary): Doc fixes.
+       (dictionary-tooltip-dictionary): Change default value to t, which
+       means the same dictionary as 'dictionary-default-dictionary'.
+       (dictionary-do-search): If NOMATCHING is non-nil, do not insert
+       anything into the current buffer, as that is unexpected when
+       showing definitions in tooltips.
+       (dictionary-word-at-mouse-event): Be defensive about the values
+       returned by 'tooltip-event-buffer' and 'posn-point': they can be
+       unexpected when the mouse pointer is on the tool bar or mode line
+       etc.
+       (dictionary-display-tooltip): Ignore errors in this function.
+       (dictionary-tooltip-mode): Ignore mouse-movement events on tool
+       bar and tab-bar.
+       (dictionary-dictionaries): Decode the server response to present
+       dictionaries in human-readable form.  Document in the doc string
+       the format of the return value.
+
+2024-05-10  Po Lu  <luangruo@yahoo.com>
+
+       Implement dots and dashes on MS-Windows
+
+       * src/haikuterm.c (haiku_draw_dash): Correct whitespace error.
+
+       * src/w32term.c (w32_draw_dash, w32_fill_underline)
+       (w32_draw_glyph_string): Port display of dash and dot underline
+       styles from X.
+
+2024-05-10  Juri Linkov  <juri@linkov.net>
+
+       * lisp/imenu.el (imenu-flatten): New defcustom (bug#70846).
+
+       (imenu-level-separator): Adjust the docstring.
+       (imenu--flatten-index-alist): New function revived
+       from the initial implementation of this package.
+       (imenu-choose-buffer-index): Use imenu--flatten-index-alist
+       when imenu-flatten is non-nil.
+       (imenu-buffer-menubar): Remove obsolete variable.
+
+       * doc/emacs/programs.texi (Imenu): Document imenu-flatten.
+
+2024-05-10  Po Lu  <luangruo@yahoo.com>
+
+       Remove redundant encoding of strings in androidvfs.c
+
+       * java/org/gnu/emacs/EmacsService.java (getDocumentTrees):
+       Accept PROVIDER as a String.
+
+       * src/android.c (android_init_emacs_service):
+
+       * src/androidvfs.c (android_saf_root_opendir): Adjust to match.
+
+2024-05-10  Po Lu  <luangruo@yahoo.com>
+
+       Document a problem with Microsoft SwiftKey
+
+       * etc/PROBLEMS (Runtime problems specific to Android): Document
+       incompatibility with Microsoft Swiftkey.
+
+2024-05-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#70856
+
+       * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down)
+       (pixel-scroll-precision-scroll-up): Apply finer threshold for
+       the minimum unit of scrolling.
+       (pixel-scroll-precision-scroll-down-page): Document true
+       restrictions on DELTA.  (bug#70856)
+
+2024-05-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix earlier change to content URI resolution on Android
+
+       * java/org/gnu/emacs/EmacsService.java (openContentUri): Return
+       -1 if fd be NULL.
+
+       * src/androidvfs.c (android_authority_open): Detect
+       SecurityException and suchlike.
+       (android_vfs_init): Initialize exception classes on Android 4.4.
+
+2024-05-10  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Don't limit gnus thread searches to a single message
+
+       * lisp/gnus/gnus-search.el (gnus-search-single-p): Searches for a
+       single message id finish after finding this one message; thread searches
+       continue until all messages are found.
+
+2024-05-10  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Improve doc-type determination in doc-view
+
+       * lisp/doc-view.el (doc-view-set-doc-type): If buffer-file-name is not
+       set try the buffer-name to identify the doc type.
+
+2024-05-10  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Find correct parent for articles in gnus
+
+       * lisp/gnus/gnus-sum.el (gnus-summary-refer-parent-article): When an
+       article's headers have been altered, use the altered headers to find the
+       parent.
+
+2024-05-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve static checking when using upcoming GCC 13.3
+
+       * src/lisp.h: In GCC 13.3 and later, do not ignore
+       -Wanalyzer-allocation-size.
+       * src/marker.c: In GCC 13.3 and later, do not ignore
+       -Wanalyzer-deref-before-check.
+
+2024-05-09  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp code cleanup
+
+       * lisp/net/tramp-compat.el (tramp-compat-seq-keep): New defalias.
+
+       * lisp/net/tramp.el (tramp-enable-method):
+       * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
+       * lisp/net/tramp-cache.el (tramp-list-connections):
+       * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
+       * lisp/net/tramp-container.el (tramp-container--completion-function)
+       (tramp-toolbox--completion-function)
+       (tramp-flatpak--completion-function)
+       (tramp-apptainer--completion-function):
+       * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names): Use it.
+
+2024-05-09  Charalampos Mitrodimas  <charmitro@posteo.net>  (tiny change)
+
+       Fix 'srecode-all-template-hash' always returning nil
+
+       The issue was that the function always returned nil because
+       the closing parentheses were in the wrong position.  This
+       meant that the function couldn't give back the data it was
+       supposed to, making the whole srecode system not work
+       properly.
+       By moving the parentheses to the correct place, the function
+       now returns a hash table with all the templates it finds.
+       * lisp/cedet/srecode/find.el (srecode-all-template-hash):
+       Adjusted the position of closing parentheses so that the mhash
+       variable is returned correctly.  (Bug#70765)
+
+2024-05-09  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add bitwise assignment operators to 'python--treesit-operators'
+
+       * lisp/progmodes/python.el (python--treesit-operators): Add
+       bitwise assignment operators.  (Bug#70666)
+
+2024-05-09  Po Lu  <luangruo@yahoo.com>
+
+       Intern additional symbols ahead-of-time
+
+       * src/gnutls.c (Fgnutls_available_p, syms_of_gnutls):
+
+       * src/minibuf.c (Fread_buffer, syms_of_minibuf): Define and
+       intern symbols overlooked in the previous change.
+
+2024-05-09  Po Lu  <luangruo@yahoo.com>
+
+       Replace calls to intern with a constant string with DEFSYMs
+
+       * src/alloc.c (display_malloc_warning, syms_of_alloc):
+
+       * src/buffer.c (Fmake_indirect_buffer, Fbuffer_local_variables)
+       (Frename_buffer, Fkill_buffer, Fset_buffer_major_mode)
+       (Fset_buffer_multibyte, syms_of_buffer):
+
+       * src/callint.c (read_file_name, Fcall_interactively)
+       (syms_of_callint):
+
+       * src/callproc.c (call_process, create_temp_file)
+       (syms_of_callproc):
+
+       * src/charset.c (Fdefine_charset_internal, syms_of_charset):
+
+       * src/cmds.c (internal_self_insert, syms_of_cmds):
+
+       * src/coding.c (record_conversion_result)
+       (Fdefine_coding_system_internal, syms_of_coding):
+
+       * src/dbusbind.c (xd_signature, Fdbus_message_internal)
+       (syms_of_dbusbind):
+
+       * src/dispnew.c (init_faces_initial):
+
+       * src/doc.c (Fsnarf_documentation, syms_of_doc):
+
+       * src/dosfns.c (system_process_attributes, syms_of_dosfns):
+
+       * src/emacs.c (init_cmdargs, Fdump_emacs, decode_env_path)
+       (syms_of_emacs):
+
+       * src/eval.c (call_debugger, Fdefvaralias, syms_of_eval):
+
+       * src/fileio.c (barf_or_query_if_file_exists)
+       (Finsert_file_contents, auto_save_error, Fdo_auto_save)
+       (syms_of_fileio):
+
+       * src/filelock.c (lock_file_1, syms_of_filelock):
+
+       * src/fontset.c (fontset_from_font, syms_of_fontset):
+
+       * src/frame.c (make_frame_without_minibuffer, syms_of_frame):
+
+       * src/gnutls.c (emacs_gnutls_certificate_details)
+       (Fgnutls_peer_status_warning_describe, Fgnutls_peer_status)
+       (gnutls_verify_boot, syms_of_gnutls):
+
+       * src/gtkutil.c (style_changed_cb, find_rtl_image):
+
+       * src/image.c (imagemagick_filename_hint, gs_load)
+       (syms_of_image):
+
+       * src/keyboard.c (command_loop_1, read_char, timer_start_idle)
+       (read_char_minibuf_menu_prompt, Fsuspend_emacs)
+       (syms_of_keyboard):
+
+       * src/keymap.c (Fmap_keymap, Flookup_key, Fdescribe_vector)
+       (describe_vector, syms_of_keymap):
+
+       * src/lread.c (Fread, Fread_positioning_symbols, syms_of_lread):
+
+       * src/minibuf.c (Fabort_minibuffers, Fread_buffer)
+       (Fcompleting_read, syms_of_minibuf):
+
+       * src/msdos.c (XMenuActivate, run_msdos_command, syms_of_msdos):
+
+       * src/nsfns.m (Fx_display_backing_store, Fx_display_visual_class)
+       (Fns_hide_emacs, Fsystem_move_file_to_trash, ns_create_tip_frame)
+       (x_hide_tip, Fx_show_tip, syms_of_nsfns):
+
+       * src/nsfont.m (ns_spec_to_descriptor, ns_descriptor_to_entity)
+       (syms_of_nsfont):
+
+       * src/pdumper.c (Fdump_emacs_portable):
+
+       * src/pgtkfns.c (Fx_display_visual_class, x_create_tip_frame)
+       (Fx_show_tip, syms_of_pgtkfns):
+
+       * src/pgtkterm.c (syms_of_pgtkterm, pgtk_cr_export_frames):
+
+       * src/term.c (term_get_fkeys_1, set_tty_color_mode, Fsuspend_tty)
+       (Fresume_tty, tty_menu_activate, syms_of_term):
+
+       * src/terminal.c (create_terminal, syms_of_terminal):
+
+       * src/w32fns.c (Fx_display_backing_store)
+       (Fx_display_visual_class, Fset_message_beep, Fx_open_connection)
+       (Fx_show_tip, Fx_file_dialog, Fsystem_move_file_to_trash)
+       (Fw32_toggle_lock_key, syms_of_w32fns):
+
+       * src/w32font.c (w32_enumfont_pattern_entity, syms_of_w32font):
+
+       * src/w32term.c (w32_bitmap_icon, syms_of_w32term):
+
+       * src/xdisp.c (message_dolog, define_frame_cursor1)
+       (syms_of_xdisp):
+
+       * src/xfaces.c (tty_lookup_color, syms_of_xfaces):
+
+       * src/xml.c (make_dom, syms_of_xml):
+
+       * src/xterm.c (syms_of_xterm):
+
+       * src/xwidget.c (store_xwidget_download_callback_event)
+       (store_xwidget_js_callback_event, syms_of_xwidget): Define
+       symbols for symbols interned with `intern' from a constant
+       string, delete duplicate DEFSYM directives, and substitute them
+       for such calls to intern.  This excludes only those symbols
+       which are interned and referenced only once during Emacs's
+       initialization, the timing of whose interning is
+       inconsequential, and symbols in w32.c, which would need to be
+       transferred to a new syms_of_w32 function that I cannot test.
+
+2024-05-09  Juri Linkov  <juri@linkov.net>
+
+       * lisp/treesit.el (treesit-outline-search): Handle bobp specially.
+
+       At the beginning of the buffer call 'treesit-outline-search'
+       recursively with the `looking-at' argument set to t, since
+       `treesit-navigate-thing' can't find a thing at bobp (bug#70789).
+
+2024-05-09  Noah Peart  <noah.v.peart@gmail.com>
+
+       Fontify for_statement variable in python-ts-mode (bug#70718)
+
+       * lisp/progmodes/python.el (python--treesit-settings): Add
+       font-lock query for for_statement variable in assignment feature.
+
+2024-05-09  Yuan Fu  <casouri@gmail.com>
+
+       Fontify namespace in c++-ts-mode
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Add a
+       rule for namespace.
+
+2024-05-09  Yuan Fu  <casouri@gmail.com>
+
+       Fix #if defined directive fontification in c-ts-mode
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Fontify
+       each part separately so the identifier isn't overriden.
+
+2024-05-09  john muhl  <jm@pub.pink>
+
+       Improve indentation in 'lua-ts-mode' (bug#70785)
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules):
+       - Ignore comments when aligning arguments, parameters and fields.
+       - Apply simpler rules to simpler usage of anonymous functions.
+       - Better handling of table as a function argument.
+       (lua-ts--comment-first-sibling-matcher):
+       (lua-ts--first-real-sibling-anchor):
+       (lua-ts--last-arg-function-call-matcher):
+       (lua-ts--top-level-function-call-matcher): New function.
+       (lua-ts--g-parent):
+       (lua-ts--g-g-parent): New function.
+       (lua-ts--g-g-g-parent): Use it.
+       * test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
+       Add tests.
+
+2024-05-09  Yuan Fu  <casouri@gmail.com>
+
+       Fontify doc comment in c-ts-mode with doc-face
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Add
+       rule for /** comments.
+
+2024-05-09  Dmitry Gutov  <dmitry@gutov.dev>
+
+       xref--collect-matches: Fix the application of syntax-propertize
+
+       * lisp/progmodes/xref.el (xref--collect-matches):
+       Add syntax-ppss-flush-cache call when needed (bug#53749).
+
+2024-05-09  Dmitry Gutov  <dmitry@gutov.dev>
+
+       choose-completion: Retain the suffix after completion boundary
+
+       * lisp/minibuffer.el (completion-base-suffix):
+       Remove as not optimal after all (bug#48356).
+       (completion--replace): Use insert-before-markers-and-inherit.
+       (minibuffer-completion-help): Don't set completion-base-affixes,
+       implement the same logic more optimally by local search and
+       querying for field boundaries.  Also fix the problem with
+       completion table, predicate and extra-props being looked up in the
+       wrong buffer.
+       (minibuffer-next-completion, minibuffer-choose-completion):
+       Don't bind completion-use-base-affixes anymore.
+
+       * lisp/simple.el (completion-base-affixes)
+       (completion-use-base-affixes): Remove.
+       (completion-list-insert-choice-function):
+       Don't pass them through anymore.
+
+2024-05-09  Po Lu  <luangruo@yahoo.com>
+
+       Don't report erroneous /content directory on Android 4.3 and earlier
+
+       * src/androidvfs.c (android_content_opendir): Skip two, not one,
+       elements on Android <= 4.4.
+
+2024-05-09  F. Jason Park  <jp@neverwas.me>
+
+       Prefer erc--skip property to erc-track--skipped-msgs
+
+       * lisp/erc/erc-stamp.el (erc-add-timestamp): Honor an overriding
+       `erc--ts' "msg prop".
+       (erc-stamp--defer-date-insertion-on-post-modify): Add `erc--skip'
+       for the `track' module.
+       * lisp/erc/erc-track.el (erc-track--skipped-msgs): Remove unused
+       variable.  Originally added as part of bug#60936.
+       (erc-track-modified-channels): Rely on the `erc--skip' "msg prop"
+       instead of the now defunct `erc-track--skipped-msgs' variable for
+       detecting requests to omit `track' mode-line updates during
+       `erc-display-message'.
+
+2024-05-09  F. Jason Park  <jp@neverwas.me>
+
+       Avoid shared-ref read syntax in ERC message catalogs
+
+       * lisp/erc/erc.el (erc--message-speaker-ctcp-action-input)
+       (erc--message-speaker-ctcp-action-statusmsg-input): Don't use
+       shared/circular references, like #1=foo ... #1#, in literal strings
+       because it triggers CI validation failures.  These message-format
+       definitions were originally introduced as part of bug#67677.
+
+2024-05-09  F. Jason Park  <jp@neverwas.me>
+
+       Add format-catalog entry for unknown chan mode in ERC
+
+       * lisp/erc/erc.el (erc--process-channel-modes): Use format spec
+       catalog entry, and convert char to string.
+       (erc-message-english-channel-mode-unknown): New variable.
+       ;; * test/lisp/erc/erc-scenarios-base-renick.el
+       ;; (erc-scenarios-base-renick-queries-solo): Adjust timeout.
+       ;; * test/lisp/erc/erc-scenarios-ignore.el (erc-scenarios-ignore/basic):
+       ;; Adjust timeouts.
+       ;; * test/lisp/erc/erc-scenarios-misc.el (erc-scenarios-base-flood):
+       ;; Adjust timeouts.
+       ;; * test/lisp/erc/resources/base/assoc/bouncer-history/barnet.eld:
+       ;; Adjust timeouts.
+       ;; * test/lisp/erc/resources/base/reuse-buffers/channel/barnet.eld:
+       ;; Adjust timeouts.
+       ;; * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d-run-basic):
+       ;; Adjust timeouts.
+       ;; * test/lisp/erc/resources/sasl/plain.eld: Adjust timeouts.
+       ;; * test/lisp/erc/resources/sasl/external.eld: Adjust timeout.
+       ;; * test/lisp/erc/resources/base/auth-source/foonet.eld: Adjust
+       ;; timeout.
+
+2024-05-08  Eshel Yaron  <me@eshelyaron.com>
+
+       (repeat-echo-message-string): Reuse 'r-m-c' prompt formatting
+
+       Now that 'repeat-mode' supports adding labels ("hints") next to
+       available keys, its prompt is very similar in its structure to
+       what we have in 'read-multiple-choice' (a list of labeled keys).
+       To make the two interfaces more consistent, reuse the prompt
+       formatting that 'read-multiple-choice' employs.
+
+       See short discussion at
+       https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00467.html
+
+       * lisp/repeat.el (repeat-echo-message-string): Use
+       'rmc--add-key-description' to format keys and their labels.
+
+2024-05-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't mutate strings in cl-substitute
+
+       This fixes cl-substitute, cl-substitute-if, cl-substitute-if-not,
+       cl-nsubstitute, cl-nsubstitute-if and cl-nsubstitute-if-not,
+       when called with a string sequence argument.
+
+       * lisp/emacs-lisp/cl-seq.el (cl-nsubstitute):
+       Avoid running in O(n^2) time and make future-safe.
+
+2024-05-08  Po Lu  <luangruo@yahoo.com>
+
+       Correct documentation relating to tool-bar-position
+
+       * doc/emacs/android.texi (Android Windowing): Don't claim that
+       tool-bar-position is unsupported on Android.
+
+       * lisp/tool-bar.el (tool-bar-position): Update doc string to
+       mention that bottom is supported on all systems but Nextstep.
+
+2024-05-08  Po Lu  <luangruo@yahoo.com>
+
+       Correct earlier change to map-ynp
+
+       * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't call
+       set-text-conversion-style if not bound.
+
+2024-05-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       More Tramp optional methods
+
+       * doc/misc/tramp.texi (Inline methods) <krlogin, ksu>:
+       (External methods) <fcp, nc>: These are optional methods.
+
+       * etc/NEWS: Mention more optional Tramp methods.
+
+       * lisp/net/tramp-androidsu.el (tramp-enable-androidsu-method):
+       Use proper regexp for `tramp-default-user-alist'.
+
+       * lisp/net/tramp-sh.el (tramp-enable-nc-method)
+       (tramp-enable-ksu-method, tramp-enable-krlogin-method)
+       (tramp-enable-fcp-method): New defuns.  Move respective
+       configurations there.
+
+       * lisp/net/tramp.el (tramp-enable-method): Implement completion
+       for interactive use.
+
+       * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults)
+       (tramp-test03-file-name-host-rules): Extend tests.
+
+2024-05-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix hang after failed yank-media on Android
+
+       * java/org/gnu/emacs/EmacsClipboard.java (getClipboardTargets)
+       (getClipboardData):
+
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (getClipboardTargets, getClipboardData):
+
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java
+       (getClipboardTargets, getClipboardData): Return string data as
+       Strings rather than byte arrays.
+
+       * src/androidselect.c (android_init_emacs_clipboard)
+       (Fandroid_get_clipboard_targets): Adjust to match.
+       (extract_fd_offsets): Remove duplicated semicolon.
+       (Fandroid_get_clipboard_data): Call unblock_input before
+       returning if extract_fd_offsets fails.
+
+2024-05-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix last change in tramp-androidsu.el
+
+2024-05-07  Arash Esbati  <arash@gnu.org>
+
+       Support biblatex field in `reftex-cite-format'
+
+       * lisp/textmodes/reftex-cite.el (reftex-format-citation):
+       Recognize the alternative "journaltitle" field which is preferred
+       by biblatex.  (bug#38762)
+
+       * test/lisp/textmodes/reftex-tests.el
+       (reftex-format-citation-test): Adjust test.
+
+2024-05-07  Mattias Engdegård  <mattiase@acm.org>
+
+       * etc/NEWS: Elaborate `type` declare entry and regroup.
+
+2024-05-07  Mattias Engdegård  <mattiase@acm.org>
+
+       Use clear-string instead of fillarray to clobber secret strings
+
+       * lisp/net/sasl-cram.el (sasl-cram-md5-response):
+       * lisp/net/sasl-digest.el (sasl-digest-md5-response-value):
+       * lisp/net/sasl.el (sasl-plain-response):
+       `fillarray` signals an error for strings that contain multibyte chars;
+       `clear-string` always works for this purpose.
+
+2024-05-07  Po Lu  <luangruo@yahoo.com>
+
+       Do not report text conversion information from tooltip frames
+
+       * src/xdisp.c (mark_window_display_accurate_1): Skip
+       report_point_change if FRAME_WINDOW_P (WINDOW_XFRAME (w)).
+
+2024-05-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add Tramp method "apptainer"
+
+       * doc/misc/tramp.texi (Top, Configuration): Add "Optional methods".
+       (Optional methods): New section.
+       (Inline methods) <androidsu, toolbox, flatpak>: These are optional
+       methods.
+       (Inline methods) <apptainer>: Add.
+
+       * etc/NEWS: New Tramp method "apptainer".
+       Some Tramp methods are optional.
+       Fix typos.
+
+       * lisp/net/tramp-androidsu.el (tramp-enable-androidsu-method):
+       New defun.  Call it when `system-type' is `android'.
+
+       * lisp/net/tramp-container.el (tramp-apptainer-program): New defcustom.
+       (tramp-apptainer-method): New defconst.
+       (tramp-apptainer--completion-function)
+       (tramp-enable-toolbox-method, tramp-enable-flatpak-method)
+       (tramp-enable-apptainer-method): New defuns.
+
+       * lisp/net/tramp.el (tramp-enable-method): New defun.
+
+       * test/lisp/net/tramp-tests.el (tramp--test-container-p):
+       Add "apptainer".
+       (tramp--test-supports-processes-p): Extend function.
+
+2024-05-07  Po Lu  <luangruo@yahoo.com>
+
+       Simplify Emacs server detection on Android
+
+       * lib-src/emacsclient.c (set_local_socket) [HAVE_ANDROID]: Do
+       not consider XDG_RUNTIME_DIR or test the ownership or
+       accessibility of TMPDIR.
+
+2024-05-07  Po Lu  <luangruo@yahoo.com>
+
+       Disable text-conversion in map-ynp
+
+       * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Bind
+       overriding-text-conversion-style to nil around read-event and
+       arrange that the input method be reset.
+
+2024-05-07  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#66151
+
+       * src/fontset.c (free_realized_fontsets): Never call
+       recompute_basic_faces on dead frames.  (bug#66151)
+
+2024-05-06  Alan Mackenzie  <acm@muc.de>
+
+       `read': give fuller error message for errors following "#".
+
+       This solves bug#70702.
+
+       * src/lread.c (READ_AND_BUFFER, INVALID_SYNTAX_WITH_BUFFER):
+       New macros.
+       (read0): For errors in characters sequences beginning with "#",
+       output the entire character sequence rather than just "#".
+
+       * test/src/lread-tests.el (lread-test-bug70702): New test.
+
+2024-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       edebug.el: Fix `edebug-remove-instrumentation` (bug#70791)
+
+       * lisp/emacs-lisp/edebug.el (edebug-unwrap*): Traverse interpreted
+       functions.
+
+2024-05-06  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-mouse-1): Avoid infinite recursion 
(bug#70086).
+
+2024-05-06  Juri Linkov  <juri@linkov.net>
+
+       * lisp/emacs-lisp/warnings.el (display-warning): Add guardrails for 
window.
+
+       Check for non-nil 'window' returned from 'display-buffer' for the case 
when
+       users decide to use 'allow-no-window' in 'display-buffer-alist' 
(#70795).
+
+2024-05-06  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-select-restore-windows): Use 'special-mode'.
+
+2024-05-06  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Support mouse clicks for multi-item 
'global-mode-string'.
+
+       (tab-bar-format-global): Split elements of 'global-mode-string'
+       to separate items of the tab bar, so events for each item are
+       handled separately (bug#70086).
+
+2024-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (Fkey_description): Fix corner (bug#59305)
+
+       * src/keymap.c (Fkey_description): Don't mistake latin-1 chars for
+       ASCII-chars-with-meta.
+
+2024-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Expressly disable large file APIs on Android 4.4 and earlier
+
+       * configure.ac (CFLAGS): Add -D_FILE_OFFSET_BITS=32 on SDK 20
+       and earlier that unserviceable functions may not be selected.
+       Problem reported by Ruth Elburn <ruth@noreply.invalid>.
+
+2024-05-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Disable text conversion in map-ynp"
+
+       This reverts commit f50a58123a3d386b9bba7c4ba14df62479887bd4.
+       Please don't make such changes without discussing them.
+
+2024-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Disable text conversion in map-ynp
+
+       * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Read response with
+       read-key, not read-char.
+
+2024-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Optimize stipples on Android
+
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC) <tileObject>:
+       Change type to EmacsTileObject.
+       (markDirty): Create an EmacsTileObject rather than a
+       BitmapDrawable.
+
+       * java/org/gnu/emacs/EmacsTileObject.java: New file,
+       significantly leaner than BitmapDrawable.
+
+2024-05-05  Andrea Corallo  <acorallo@gnu.org>
+
+       Remove unnecessary cons in function-type property
+
+       * lisp/emacs-lisp/comp-common.el (comp-function-type-spec): Remove
+       unnecessary car.
+       * lisp/emacs-lisp/comp.el (comp--intern-func-in-ctxt): Likewise.
+       * lisp/emacs-lisp/byte-run.el (byte-run--set-function-type): Update
+       lambda list.
+
+2024-05-05  Andrea Corallo  <acorallo@gnu.org>
+
+       Fix intra compilation unit function type declaration
+
+       * lisp/emacs-lisp/comp.el (comp-func): Add 'slot'.
+       (comp--intern-func-in-ctxt): Update.
+       (comp--get-function-cstr): Update.
+
+2024-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       eglot.el: Require `track-changes` unconditionally
+
+       * lisp/emacs-lisp/track-changes.el: Bump version.
+
+       * lisp/progmodes/eglot.el: Require `track-changes` unconditionally.
+       (Package-Requires:): Add `track-changes`.
+       (eglot--track-changes-signal, eglot--signal-textDocument/didChange)
+       (eglot--managed-mode): Remove non-track-changes alternative code.
+       (eglot--before-change, eglot--after-change): Delete functions.
+
+2024-05-05  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix Eshell handling of remote files like "/ssh:remote:~/file.txt"
+
+       * lisp/eshell/em-glob.el (eshell-glob-convert): Use 'concat' instead of
+       'file-name-concat' to avoid extraneous slashes.
+       (eshell-extended-glob): Bail out if we didn't find a glob after all.
+
+       * test/lisp/eshell/em-glob-tests.el (tramp): Require.
+       (em-glob-test/convert/remote-start-directory): Use the mock remote
+       connection.
+       (em-glob-test/remote-user-directory): New test.
+
+2024-05-05  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>
+
+       Fix tab-line-tabs-buffer-groups (bug#59438)
+
+       * lisp/tab-line.el (tab-line-tabs-buffer-groups): Handle case
+       when variable 'tab-line-tabs-buffer-groups-sort-function' is nil.
+
+2024-05-05  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-line.el: Use defcustom for group sort variables (bug#59438).
+
+       (tab-line-tabs-buffer-group-sort-function)
+       (tab-line-tabs-buffer-groups-sort-function): Turn defvar into defcustom.
+       Suggested by Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>.
+       (tab-line-tabs-buffer-group-name): Fall back to
+       'tab-line-tabs-buffer-group-by-mode' when
+       'tab-line-tabs-buffer-group-function' is nil (its previous default 
value).
+
+2024-05-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix lock-file format in Tramp
+
+       * lisp/net/tramp.el (tramp-lock-file-info-regexp): BOOT_TIME can
+       be negative.  (Bug#70415)
+
+2024-05-05  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project--vc-list-files: Use vc-git-command for better error reporting
+
+       * lisp/progmodes/project.el (project--vc-list-files):
+       Use 'vc-git-command' for better error reporting
+       (https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00399.html).
+
+2024-05-05  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project-find-regexp: Fix test
+
+       * test/lisp/progmodes/project-tests.el (project-find-regexp):
+       Add binding for project-list-file, to fix the test when running
+       in the terminal (reported on the mailing list).
+
+2024-05-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix lock files on some versions of Cygwin
+
+       * src/filelock.c (current_lock_owner): Support negative boot-time
+       on rare systems.  (Bug#70415)
+
+2024-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (read-passwd-toggle-visibility): Fix some loose ends
+
+       * lisp/auth-source.el (read-passwd-toggle-visibility): Make sure
+       we operate on the minibuffer even if some other window was
+       selected when the little icon was pressed.  Don't hardcode the
+       keymap representation.  Use the `keymap` property rather than
+       the `local-map` property so it can't be accidentally shadowed
+       by something like a minor-mode map.
+
+2024-05-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Retract lexical cookie source load warning
+
+       On balance it seems likely that the warning would annoy more people than
+       it would help, so let them deal with any actual problems when the
+       default is changed instead.  See discussion at:
+       https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00250.html
+
+       * src/lread.c (string_suffix_p, warn_missing_cookie, Fload)
+       (Feval_buffer):
+       * lisp/international/mule.el (load-with-code-conversion):
+       * lisp/startup.el (command-line--load-script):
+       * etc/NEWS:
+       Revert all changes, except for the generalised
+       `lisp_file_lexical_cookie` which may prove useful in the future.
+
+2024-05-05  Alan Mackenzie  <acm@muc.de>
+
+       Run c-unmark-<>-around-region in after-change-functions always.
+
+       This fixes bug#70435.
+
+       * lisp/progmodes/cc-engine.el (c-unmark-<>-around-region): Run
+       its contents in after-change-functions for a deletion, so that
+       c-new-BEG and c-new-END get set.  Add a new test (> end beg)
+       in a check for unterminated string handling.
+
+2024-05-05  Dmitry Gutov  <dmitry@gutov.dev>
+
+       New variable 'project-files-relative-names'
+
+       * lisp/progmodes/project.el (project-files-relative-names):
+       New variable (bug#69233).
+       (project--files-in-directory): Honor it.
+       (project--vc-list-files): Here too.
+       (project-find-regexp): Use it to improve performance.
+       (project-or-external-find-regexp): Add a TODO.
+       (project-find-file): Use it here too.
+       (project--read-file-cpd-relative, project--read-file-absolute):
+       Try to handle file lists with absolute and relative files names.
+       (project-find-file-in): Set default-directory, so relative names
+       are interpreted correctly.
+
+       * lisp/progmodes/xref.el (xref-matches-in-files):
+       Consider that the first in FILES can be a relative file name.
+
+       * test/lisp/progmodes/project-tests.el (project-find-regexp):
+       New test.
+
+       * etc/NEWS: Mention it.
+
+2024-05-05  Po Lu  <luangruo@yahoo.com>
+
+       Don't permit C-x 8 RET &c in isearch.el to contaminate search string
+
+       * lisp/isearch.el (isearch-char-by-name, isearch-emoji-by-name):
+       Concatenate new character to the query string saved by
+       with-isearch-suspended, not the current string, which might have
+       been modified by recursive I-search sessions within
+       completing-read.
+
+2024-05-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix cursor misalignment on truncated RTL rows
+
+       * src/xdisp.c (set_cursor_from_row): Begin computing the
+       position of the rightmost glyph from row->x, not 0.
+
+2024-05-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix inadvertent removal in EmacsWindow
+
+       * java/org/gnu/emacs/EmacsWindow.java (onKeyUp): Send KeyPress
+       events upon deferred KEYCODE_BACK.
+
+2024-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (eglot--track-changes-signal): Improve last fix (bug#70541)
+
+       * lisp/progmodes/eglot.el (eglot--add-one-shot-hook): New function.
+       (eglot--track-changes-signal): Use it.
+
+2024-05-04  Andreas Schwab  <schwab@linux-m68k.org>
+
+       textsec: handle email address without domain part
+
+       * lisp/international/textsec.el
+       (textsec-email-address-suspicious-p): Handle missing domain part.
+       (textsec-email-address-header-suspicious-p): Likewise.
+
+2024-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (ruler-mode-ruler): Minor optimization
+
+       * lisp/ruler-mode.el (ruler-mode-ruler): Don't compute
+       `line-number-display-width` redundantly.  Use `add-text-properties`.
+       Remove redundant `local-map` property.
+
+2024-05-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Allow `letrec` binding without init expression
+
+       For example, (letrec (... (x) ...) ...) is now allowed.
+
+       * lisp/subr.el (letrec): Allow omitted init expression.
+       * test/lisp/subr-tests.el (subr--tests-letrec): Add test case.
+
+2024-05-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b392169e541 ; * doc/lispref/commands.texi (Event Mod): Add motivation...
+       e272fd3da92 ; Update description of 'mail-mode'
+
+2024-05-04  shynur  <one.last.kiss@outlook.com>
+
+       Locate error source of ExceptionGroup in Python shell
+
+       The Python shell recognizes the line containing a file path and
+       a line number when an exception is raised up to the top-level,
+       in order to locate the source of error.  It's supposed to
+       recognize the built-in ExceptionGroup as well.  (Bug#70653)
+       * lisp/progmodes/python.el (python-shell-compilation-regexp-alist):
+       Take the single leading vertical line into account.
+       * etc/NEWS: Announce this change.
+
+2024-05-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix implementation of the --terminal command-line switch
+
+       It sounds like this has been broken ever since multi-tty was
+       added to Emacs.
+       * src/keyboard.c (dev_tty): New global variable.
+       * src/keyboard.h: Declare 'dev_tty'.
+       * src/emacs.c (main): Initialize 'dev_tty'.
+       * src/term.c (Fcontrolling_tty_p, Fresume_tty, init_tty):
+       * src/process.c (dissociate_controlling_tty):
+       * src/keyboard.c (handle_interrupt_signal, handle_interrupt)
+       (Fset_quit_char): Use 'dev_tty' instead of 'DEV_TTY'.  (Bug#70519)
+
+2024-05-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Only issue lexical cookie warning for elisp files
+
+       * src/lread.c (string_suffix_p): New.
+       (warn_missing_cookie): Suppress warning for files not ending in ".el",
+       except ".emacs".
+       * etc/NEWS: Update accordingly, and mention how the warning can be
+       suppressed.
+
+2024-05-04  Po Lu  <luangruo@yahoo.com>
+
+       Simplify handling of command-line arguments on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java
+       (EXTRA_STARTUP_ARGUMENTS): New constant.
+       (onCreate): Read a string array, not a string extra from the
+       intent with this key.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
+       <fileToOpen>: Delete field.
+       (onCreate): Provide file name as a command line argument when
+       starting the Emacs service.
+
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java (startEmacsQ)
+       (startEmacsDebugInit): In like manner, replace ad-hoc
+       command-line argument extra with a proper array.
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService): Rename
+       extraStartupArgument to extraStartupArguments, and change its
+       type to a string array.
+       (onCreate): Adjust to match.
+
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread)
+       <extraStartupArguments>: Ditto.
+       <fileToOpen>: Delete field.
+       (run): Adjust correspondingly.
+
+2024-05-04  Po Lu  <luangruo@yahoo.com>
+
+       Delete redundant backquotes in android-win.el
+
+       * lisp/term/android-win.el (android-encode-jni)
+       (android-decode-jni): Replace redundant backquotes with ordinary
+       quotes.
+
+2024-05-04  Po Lu  <luangruo@yahoo.com>
+
+       Simplify management of Android handle IDs
+
+       * java/org/gnu/emacs/EmacsCursor.java (EmacsCursor):
+
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC):
+
+       * java/org/gnu/emacs/EmacsHandleObject.java (EmacsHandleObject):
+       Remove HANDLE argument to constructor.
+
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
+
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow):
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection) <windowHandle>: Change type to long.
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative)
+       (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn)
+       (sendFocusOut, sendWindowAction, sendEnterNotify)
+       (sendLeaveNotify, sendMotionNotify, sendButtonPress)
+       (sendButtonRelease, sendTouchDown, sendTouchUp, sendTouchMove)
+       (sendWheel, sendIconified, sendDeiconified, sendContextMenu)
+       (sendExpose, sendDndDrag, sendDndUri, sendDndText)
+       (beginBatchEdit, commitCompletion, endBatchEdit, commitText)
+       (deleteSurroundingText, finishComposingText, replaceText)
+       (getSelectedText, getTextAfterCursor, getTextBeforeCursor)
+       (setComposingText, setComposingRegion, setSelection)
+       (performEditorAction, performContextMenuAction, getExtractedText)
+       (requestSelectionUpdate, requestCursorUpdates, clearInputFlags)
+       (getSurroundingText, takeSnapshot, getSelection): Accept handles
+       as longs, rather than shorts.  All callers changed.
+
+       * java/org/gnu/emacs/EmacsService.java (queryTree): Return
+       handles as longs rather than shorts.
+       (viewGetSelection): Take long WINDOW, not short.
+
+       * src/android.c (struct android_emacs_handle): New structure.
+       (handle_class): New variable.
+       (android_init_emacs_service, android_init_emacs_pixmap)
+       (android_init_emacs_gc_class, android_init_emacs_cursor): Adjust
+       to match signature changes in constructors.
+       (android_init_emacs_handle): New function.
+       (initEmacs): Initialize the handle class, its fields and metods.
+       (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn)
+       (sendFocusOut, sendWindowAction, sendEnterNotify)
+       (sendLeaveNotify, sendMotionNotify, sendButtonPress)
+       (sendButtonRelease, sendTouchDown, sendTouchUp, sendTouchMove)
+       (sendWheel, sendIconified, sendDeiconified, sendContextMenu)
+       (sendExpose, sendDndDrag, sendDndUri, sendDndText): Update for
+       changes to handle type.
+       (android_alloc_id, android_resolve_handle)
+       (android_resolve_handle2): Remove functions; replace the second
+       with a macro that accepts one fewer argument.  All callers
+       changed.
+       (android_destroy_handle): Cease indexing the handle list for the
+       handle object.
+       (android_globalize_reference): New function.
+       (android_create_window, android_create_gc, android_create_pixmap)
+       (android_create_font_cursor): Call android_globalize_reference
+       to convert global references into handles.
+       (android_free_cursor, android_destroy_window): Cease verifying
+       the handle type.
+       (android_copy_area): Check destination object type rather than
+       handle entry.
+       (android_query_tree): Adjust for changes to return types.
+       (likely): Define __builtin_expect variant unconditionally.
+
+       * src/android.h (android_resolve_handle): New macro.
+
+       * src/androidgui.h (android_handle): Define to intptr_t.
+
+       * src/androidterm.c (deleteSurroundingText, finishComposingText)
+       (performEditorAction, performContextMenuAction, getExtractedText)
+       (getSelectedText, requestSelectionUpdate, requestCursorUpdates)
+       (clearInputFlags, getSurroundingText)
+       (android_get_surrounding_text_internal): Accept handles as
+       longs, not jshorts.
+
+2024-05-04  Po Lu  <luangruo@yahoo.com>
+
+       * src/lread.c (warn_missing_cookie): Exempt the user init file.
+
+2024-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/progmodes/eglot.el (eglot--track-changes-signal): More typo
+
+       * lisp/emacs-lisp/track-changes.el 
(track-changes-inconsistent-state-p): Typo
+
+2024-05-03  Philip Kaludercic  <philipk@posteo.net>
+
+       Query Eglot version via package.el
+
+       * lisp/progmodes/eglot.el (eglot--version): Remove constant.
+       (eglot--connect): Use 'package-get-version'.
+
+2024-05-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn when loading .el files without lexical-binding declaration
+
+       This corresponds to the byte-compiler warning for the same issue,
+       here emitted for files that aren't compiled but loaded from source.
+       It should make the planned change to enable lexical binding by default
+       in Emacs 31 go smoother.
+
+       * src/lread.c (lexical_cookie_t): New type.
+       (lisp_file_lexically_bound_p): Renamed to...
+       (lisp_file_lexical_cookie): ...this, with the return value retyped.
+       * src/lread.c (warn_missing_cookie): New.
+       (Fload): Warn when loading source file and cookie missing.
+       (Feval_buffer): Add LOADING arg; warn when set and cookie missing.
+       * lisp/international/mule.el (load-with-code-conversion):
+       * lisp/startup.el (command-line--load-script):
+       Call eval-buffer with LOADING arg set.
+       * etc/NEWS: Announce.
+
+2024-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       track-changes.el: Add a workaround for bug#70541
+
+       * lisp/emacs-lisp/track-changes.el (track-changes-inconsistent-state-p):
+        New function.
+       * lisp/progmodes/eglot.el (eglot--track-changes-signal): Use it.
+
+2024-05-03  Ihor Radchenko  <yantar92@posteo.net>
+
+       mhtml-mode: Use `run-mode-hook' to run `prog-mode-hook' (bug#70671)
+
+       * lisp/textmodes/mhtml-mode.el (mhtml-mode): When running hooks
+       simulating inheritance from `prog-mode', use `run-mode-hooks' that
+       honors `delay-mode-hooks' macro.  Note that `delay-mode-hooks' is bound
+       to non-nil when major mode body is evaluated, so there is no chance that
+       any major mode-related hooks are executed twice.
+
+2024-05-03  Juri Linkov  <juri@linkov.net>
+
+       * doc/lispref/keymaps.texi (Creating Keymaps): Add :repeat :hints 
(bug#70576).
+
+2024-05-03  Elias G. Perez  <eg642616@gmail.com>
+
+       Fix bug#70711
+
+       * lisp/progmodes/flymake.el (flymake--indicator-overlay-spec):
+       Check if `flymake-fringe-indicator-position' or
+       `flymake-margin-indicator-position' are non-nil for allow no
+       indicators.
+
+2024-05-03  Lin Sun  <sunlin7@hotmail.com>
+
+       Only run 'eshell-first-time-mode-hook' once per Emacs session
+
+       * lisp/eshell/esh-mode.el (eshell-mode): Set 'eshell-first-time-p' to
+       nil (bug#70610).
+
+2024-05-03  Po Lu  <luangruo@yahoo.com>
+
+       Prevent reporting of crashes when Emacs is restarted on Android
+
+       * src/emacs.c (Fkill_emacs): Ignore SIGBUS and SIGSGEV
+       immediately before calling exit.
+
+2024-05-02  Mattias Engdegård  <mattiase@acm.org>
+
+       Eliminate string data mutation in ruler-mode
+
+       * lisp/ruler-mode.el (ruler-mode-ruler):
+       Mutate a vector instead of a string.
+
+2024-05-02  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Support mouse clicks bound in keymap properties.
+
+       (tab-bar--event-to-item): Handle mouse bindings for commands
+       bound in keymap properties of global-mode-string (bug#70086).
+       (tab-bar-mouse-down-1, tab-bar-mouse-1, tab-bar-touchscreen-begin):
+       Add the symbol 'global' to the list of handled items.
+
+2024-05-02  Juri Linkov  <juri@linkov.net>
+
+       Make the buffer displayed by tab-bar-select-restore-windows internal
+
+       * lisp/tab-bar.el (tab-bar-select-restore-windows): Make the buffer
+       " *Old buffer %s*" internal with the leading space in its name.
+
+2024-05-02  Andrea Corallo  <acorallo@gnu.org>
+
+       Merge branch 'lisp-func-type-decls' into 'master'
+
+       etc/NEWS (Function type declaration): Mark it +++.
+
+       * doc/lispref/functions.texi (Declare Form): Improve again declare type.
+
+       * doc/lispref/functions.texi (Declare Form): Better warn about UB.
+
+2024-05-02  Mattias Engdegård  <mattiase@acm.org>
+
+       Add lexical cookie to new init files
+
+       * lisp/cus-edit.el (custom-save-all):
+       Add lexical cookie if the file is empty.
+
+2024-05-02  Lin Sun  <sunlin7@hotmail.com>
+
+       New function 'python-shell-send-block' for python-mode
+
+       * lisp/progmodes/python.el (python-shell-send-block): New
+       function.
+       * test/lisp/progmodes/python-tests.el
+       (python-test--shell-send-block): Test case for the new
+       function.
+       * etc/NEWS: Document 'python-shell-send-block'.
+       (Bug#70609)
+
+2024-05-02  Ihor Radchenko  <yantar92@posteo.net>
+
+       Improve performance of `file-truename' (bug#70036)
+
+       * lisp/files.el (file-truename): Avoid repetitive calls to
+       `file-name-nondirectory'.  These calls contribute
+       significantly to CPU time.  See the benchmarks in
+       https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70036#47
+
+2024-05-02  kobarity  <kobarity@gmail.com>
+
+       Add ExceptionGroup as a Python keyword
+
+       * lisp/progmodes/python.el
+       (python-font-lock-keywords-maximum-decoration)
+       (python--treesit-exceptions): Add ExceptionGroup.  (Bug#70653)
+
+2024-05-02  Po Lu  <luangruo@yahoo.com>
+
+       Fix display of stipples on NS with respect to cursor highlight
+
+       * src/nsfont.m (nsfont_draw): Delete redundant code.
+
+       * src/nsterm.m (ns_maybe_dumpglyphs_background): Conform logic
+       to X version by always displaying the background if s->stipple_p
+       should be set.
+       (ns_draw_stretch_glyph_string): Set stipple background as
+       appropriate.
+       (ns_set_glyph_string_gc): New function.
+       (ns_draw_glyph_string): Call it, as on X.  Reported by Arash
+       Esbati <arash@gnu.org>.
+
+2024-05-02  Augusto Stoffel  <arstoffel@gmail.com>
+
+       Eglot: Add 'command-modes' property to all suitable commands
+
+       Those are the commands that call 'eglot--current-server-or-lose'.
+       * lisp/progmodes/eglot.el (eglot--managed-mode),
+       (eglot-list-connections-mode): Make non-interactive.  (Bug#70554)
+
+2024-05-02  Juri Linkov  <juri@linkov.net>
+
+       * lisp/emacs-lisp/warnings.el: Fix 'warning-display-at-bottom'.
+
+       (display-warning): Move point to the beginning of the last line
+       instead of its end for 'warning-display-at-bottom' (bug#69983).
+
+2024-05-02  Juri Linkov  <juri@linkov.net>
+
+       Support hints in the :repeat keyword of defvar-keymap for repeat-mode
+
+       * lisp/keymap.el (defvar-keymap): Add :hints to the :repeat keyword.
+       Put the property 'repeat-hint' on the command symbol.
+
+       * lisp/repeat.el (repeat-echo-message-string): Show hint strings
+       defined with the property 'repeat-hint' on the command symbol 
(bug#70576).
+
+2024-05-02  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add 'text' (bug#67036).
+
+       Add 'text' lambda to 'treesit-thing-settings' that should fall back
+       to the default functions for sentence/sexp navigation.
+
+2024-05-02  Yuan Fu  <casouri@gmail.com>
+
+       Tighten regexp for rust-ts-mode keyword workaround
+
+       * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
+       Add bos and eos.
+
+2024-05-02  Yuan Fu  <casouri@gmail.com>
+
+       Fix fontification for else in macro body in rust-ts-mode
+
+       * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
+       Add a rule for else in macro body.  Also added the same rule for "in"
+       and "move" keyword, as they seems to have the same problem.
+
+2024-05-02  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add font-locking for typed parameters in python-ts-mode (bug#70665)
+
+       * lisp/progmodes/python.el (python--treesit-settings): Add
+       tree-sitter font-locking rule for typed parameters.
+       * test/lisp/progmodes/python-tests.el
+       (python-ts-mode-types-face-1): Test for
+       font-lock-variable-name-face in typed parameter.
+
+2024-05-02  Po Lu  <luangruo@yahoo.com>
+
+       Port visible bell to Android
+
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Ignore
+       GC_INVERT.
+
+       * java/org/gnu/emacs/EmacsFillRectangle.java
+       (EmacsFillRectangle) <invertFilter>: New variable.
+       (perform): If the transfer mode is invert, copy the source
+       to itself with invertFilter as the color filter.
+
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC) <xorAlu, srcInAlu>:
+       Delete now-redundant ALUs.
+       (markDirty): Cease updating the paint's transfermode.
+
+       * java/org/gnu/emacs/EmacsSafThread.java (openDocument1): Fix
+       typo in documentation.
+
+       * src/android.c (android_blit_xor): Delete unused function.
+       (android_copy_area): Remove calls to unused blit functions.
+
+       * src/androidgui.h (enum android_gc_function): Rename XOR to
+       INVERT.
+
+       * src/androidterm.c (android_flash): Replace with GXinvert.
+
+2024-05-02  Po Lu  <luangruo@yahoo.com>
+
+       Switch to GXinvert in XTflash
+
+       * src/xterm.c (XTflash): Move to inverting the regions of the
+       display being flashed.  Suggested by Manuel Giraud
+       <manuel@ledu-giraud.fr>.
+
+2024-05-01  Andrea Corallo  <acorallo@gnu.org>
+
+       * etc/NEWS (Function type declaration): Add entry.
+
+2024-05-01  Andrea Corallo  <acorallo@gnu.org>
+
+       (disassemble): Fix case of `(byte-code ...)` argument
+
+       * lisp/emacs-lisp/disass.el (disassemble): Handle (byte-code ...) here..
+       (disassemble-internal): ...instead of here.
+       (disassemble-1): Adjust text to reflect the existence of other
+       compiled functions.
+
+2024-05-01  Andrea Corallo  <acorallo@gnu.org>
+
+       * doc/lispref/functions.texi (Declare Form): Improve declare type.
+
+2024-05-01  Philip Kaludercic  <philipk@posteo.net>
+
+       Add Compat as an Eglot dependency
+
+       * lisp/progmodes/eglot.el (eglot--format-markup): Remove fboundp
+       check for 'text-property-search-forward'.
+       (eglot-alternatives): Use Compat's 'executable-find'
+       (eglot--executable-find): Remove function.
+
+       Additionally this should make 'package-get-version' available
+       for releases of Emacs previous to 27.1.  (bug#62198)
+
+2024-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix minor typos in haikuterm.c
+
+       * src/haikuterm.c (haiku_fill_underline)
+       (haiku_draw_text_decoration): Don't pass view to unused frame
+       parameter.
+
+2024-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Implement dots and dashes on Nextstep
+
+       * src/Makefile.in (NON_OBJC_CFLAGS): Add -Wstrict-flex-arrays.
+
+       * src/nsterm.m (ns_draw_dash, ns_fill_underline): New functions.
+       (ns_draw_text_decoration): Port dash and dot display from X.
+
+2024-05-01  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Remove unnecessary (delq nil...).
+
+       This is presumed to be an artifacto of an old default.
+
+       * lisp/which-key.el (which-key-replacement-alist):
+       Remove unnecessary (delq nil...).
+
+2024-05-01  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Remove old backport version of universal-argument--description
+
+       In preparation for the move to Emacs core, this is no longer needed.
+       Furthermore, the backport was of emacs25 on 2015-12-04 so is unlikely
+       to affect most current installations in the meantime.
+
+       * lisp/which-key.el: Remove old backport of 2025-12-04.
+       (which-key--full-prefix): Use built-in universal-argument--description.
+
+2024-05-01  Basil L. Contovounesios  <basil@contovou.net>
+
+       Assume match before calling help-xref-button
+
+       help-xref-button fails if not preceded by a valid match, so a
+       preceding unconditional search should not be allowed to fail
+       silently.
+
+       * lisp/emacs-lisp/ert.el (ert-describe-test):
+       * lisp/help-fns.el (help-fns--compiler-macro)
+       (help-fns-function-description-header, describe-variable)
+       (help-fns--customize-variable, describe-face)
+       (help-fns--face-attributes, describe-keymap): Let unconditional
+       re-search-backward before help-xref-button fail early, as that would
+       indicate a logic bug, and the backtrace would more accurately point
+       to the actual source of the mistake.
+
+2024-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Disable on-screen keyboard outside fields in Custom buffers
+
+       * lisp/cus-edit.el (Custom-display-on-screen-keyboard-p): New
+       function.
+       (Custom-mode): Install it as the touch-screen-keyboard-function.
+
+       * lisp/touch-screen.el (touch-screen-keyboard-function): New
+       variable.
+       (touch-screen-handle-point-up): Don't special-case the splash
+       screen with respect to touch-screen-display-keyboard in keeping
+       with user feedback.
+
+2024-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix compatibility issues with Android clipboards
+
+       * java/org/gnu/emacs/EmacsClipboard.java (getClipboardData):
+       Return an AssetFileDescriptor.
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (onMenuItemClick):
+       Typo corrections in commentary.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Raise
+       minimum version on which to read file descriptors from
+       ParcelFileDescriptor objects to Honeycomb.
+
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (getClipboardData): Return the asset file descriptor.
+
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java (getClipboardData):
+       Adjust return type to match.
+
+       * src/android.h (struct android_parcel_file_descriptor_class):
+       Move from androidselect.c.
+
+       * src/androidselect.c (fd_class): Export function.
+       (android_init_emacs_clipboard): Adjust signature of
+       getClipboardData.
+       (android_init_asset_file_descriptor, close_asset_fd)
+       (extract_fd_offsets): New functions.
+       (Fandroid_get_clipboard_data): Extract file descriptor and
+       offset from the AssetFileDescriptor here, rather than in
+       getClipboardData.
+       (init_androidselect): Call android_init_asset_file_descriptor.
+
+       * src/androidvfs.c (android_init_fd_class): Export and enable
+       calling this function more than once.
+
+2024-04-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix first appearance records for some misdated functions
+
+       * etc/NEWS.unknown: Add approximate version records for
+       defsubst, mark, nreverse, let*, rassq, >=,
+       transpose-sexps, buffer-modified-p, current-column, downcase,
+       previous-line, catch, throw, and count-lines,
+       which all were given much more recent introduction versions
+       by describe-function.
+
+2024-04-30  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Simplify.
+
+2024-04-30  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Simplify.
+
+       Remove the add-lambda argument.  All callers adapted.
+
+2024-04-30  Po Lu  <luangruo@yahoo.com>
+
+       Fix deletion of text holding `inhibit-read-only' properties
+
+       * src/intervals.h (INTERVAL_VISIBLE_P): Split into ...
+       (INTERVAL_GENERALLY_WRITABLE_P, INTERVAL_EXPRESSLY_WRITABLE_P):
+       ... two new macros.
+
+       * src/textprop.c (verify_interval_modification): If the buffer
+       is read only, verify not that there is only a single exempting
+       interval spanning the area of a multiple-character operation,
+       but that every intervening interval in such an operation exempts
+       it from write restrictions, either by providing a read-only
+       property that appears in Vinhibit_read_only, or by providing an
+       inhibit-read-only property.
+
+       * test/src/textprop-tests.el (textprop-interval-immutability):
+       New test.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around bad GCC diagnostic in select_window
+
+       * src/textconv.c (select_window): Add an eassume to work
+       around GCC bug 114893.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 14 -Wanalyzer-out-of-bounds in hbfont.c
+
+       * src/hbfont.c (hbfont_shape): Add an eassume.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 14 -Wstring-operflow in ftfont.c
+
+       * src/ftfont.c (ftfont_drive_otf): Do not crash if
+       spec->features[i] is nonnull but is empty.
+       Use gfeatures local to pacify GCC 14.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 14 -Wnull-dereference in intervals.c
+
+       * src/intervals.c (set_intervals_multibyte_1):
+       Add an eassume to pacify GCC.  Deparenthesisze.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 14 -Wnull-dereference in tim_sort
+
+       * src/lisp.h (tim_sort): Require array arg to be nonnull.
+       * src/sort.c (reverse_slice): Omit no-longer-needed eassert.
+       (tim_sort): Avoid undefined behavior when length == 0,
+       since reverse_slice would then compute &seq[-1].
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 14 -Wclobbered in eval.c
+
+       * src/eval.c: Ignore -Wclobbered.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 14 -Wnull-dereference
+
+       * src/xterm.c (x_dpyinfo): New function, which acts like
+       x_display_info_for_display except it always returns nonnull.
+       This simplifies callers and pacifies GCC 14.  All callers changed.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 14 -Walloc-size
+
+       * src/xfns.c (xic_string_conversion_callback): Allocate size 1, not 0.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       etags: work around GCC bug 114882
+
+       * lib-src/etags.c: Ignore -Wanalyzer-use-of-uninitialized-value.
+       This applies to the whole source file, not just to areas where GCC
+       has bugs, as it was too tricky to ignore more selectively.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       etags: fix #line parsing (\\", long lines)
+
+       * lib-src/etags.c (readline): Don’t mishandle lines like
+       ‘#line 1 "a//"’, which has an escaped backslash before ‘"’.
+       Don’t mishandle lines so long that sscanf overflows %n.
+
+2024-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify etags.c by omitting a macro
+
+       * lib-src/etags.c (xnew): Remove.  All uses removed.
+       xnew was confusing, as sometimes it was used with n=1,
+       sometimes with Type=char, and it’s easier just to use xmalloc
+       or xnmalloc.
+
+2024-04-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve treesitter tests on EMBA
+
+       * test/infra/Makefile.in (subdir_template):
+       * test/infra/gitlab-ci.yml (.tree-sitter-template): Check also
+       textmodes subdirectory for treesitter files.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2024-04-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/README (EMACS_EXTRAOPT): Add environment variable.
+
+2024-04-30  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix type declaration.
+
+2024-04-30  Po Lu  <luangruo@yahoo.com>
+
+       Minor adjustments to eww text field change handlers
+
+       * lisp/net/eww.el (eww-check-text-conversion): Fix doc string.
+       (eww-mode): Specify face, eww-form and field as nonsticky
+       properties by default.
+       (eww-tag-textarea, eww-form-text): Render properties
+       front-sticky.
+       (eww-process-text-input): Use field functions to compute field
+       bounds.
+
+2024-04-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Use the nthcdr byte-op for drop, and raise open-code limit
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-nthcdr):
+       Open-code for any integral N<5.  Always use the byte-op otherwise.
+
+2024-04-29  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Add (semi-redundant) fix to nnatom backend declaration
+
+       * lisp/gnus/gnus.el (gnus-valid-select-methods): We need a value for
+       post/mail/none in order to conform to the option type.
+       * lisp/gnus/nnatom.el: This call to gnus-declare-backend does the exact
+       same thing as above, and needs to be adjusted accordingly.
+
+2024-04-29  Andrea Corallo  <acorallo@gnu.org>
+
+       Rename property 'declared-type' to 'function-type'
+
+       * lisp/emacs-lisp/byte-run.el (byte-run--set-function-type): Rename.
+       (defun-declarations-alist): Update.
+       * lisp/emacs-lisp/comp.el (comp--get-function-cstr): Likewise.
+
+2024-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (disassemble-internal): Handle new function values
+
+       * lisp/emacs-lisp/disass.el (disassemble-internal): Fix the
+       `interpreted-function` case.
+
+2024-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       oclosure-tests.el: Adjust to new `interpreted-function` type
+
+       * test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test-gen): Adjust to
+       new `interpreted-function` type.
+       (oclosure-test): Tweak accordingly.
+
+2024-04-29  Andrea Corallo  <acorallo@gnu.org>
+
+       * Document function type declarations
+
+       * doc/lispref/functions.texi (Declare Form): Document function type
+       declaration.
+
+2024-04-29  Andrea Corallo  <acorallo@gnu.org>
+
+       Move  lisp function arg type declarations to the functions itself
+
+       * lisp/emacs-lisp/comp-common.el (comp-primitive-type-specifiers):
+       Remove type declaration of lisp functions.
+       * lisp/window.el (get-lru-window, get-largest-window)
+       (one-window-p): Declare type.
+       * lisp/subr.el (ignore, error, zerop, fixnump, bignump, lsh)
+       (last, eventp, mouse-movement-p, log10, memory-limit)
+       (interactive-p): Likewise.
+       * lisp/simple.el (count-lines, mark, lax-plist-get): Likewise.
+       * lisp/files.el (parse-colon-path): Likewise.
+       * lisp/env.el (getenv): Likewise.
+       * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Likewise.
+       * lisp/emacs-lisp/lisp.el (buffer-end): Likewise.
+       * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Likewise.
+       * lisp/custom.el (custom-variable-p): Likewise.
+
+2024-04-29  Andrea Corallo  <acorallo@gnu.org>
+
+       Make use of Lisp function declarations
+
+       * lisp/emacs-lisp/comp.el (comp-primitive-func-cstr-h): Rename.
+       (comp--get-function-cstr): Define new function.
+       (comp--add-call-cstr, comp--fwprop-call): Update.
+       * lisp/emacs-lisp/comp-common.el (comp-function-type-spec): Update.
+       * lisp/help-fns.el (help-fns--signature): Mention when a type is
+       declared.
+       * lisp/emacs-lisp/comp.el (comp-primitive-func-cstr-h): Rename.
+
+2024-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (byte-compile): Fix interaction with old `advice.el`
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle symbols whose
+       function "value" is a bare lambda expression (bug#70368).
+
+2024-04-29  Andrea Corallo  <acorallo@gnu.org>
+
+       * Add function type declarations for Lisp functions
+
+       * lisp/emacs-lisp/byte-run.el (byte-run--set-declared-type): Add alias.
+       (defun-declarations-alist): Use it for 'type' declaration.
+
+2024-04-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Declare the variable `rx-constituents` obsolete.
+
+       It has been effectively obsolete since Emacs 27, when the modern
+       extension mechanism was introduced.
+
+       * lisp/emacs-lisp/rx.el (rx-constituents): Make obsolete.
+       * test/lisp/emacs-lisp/rx-tests.el (rx-constituents): Suppress warning.
+       * etc/NEWS: Announce.
+
+2024-04-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Add NEWS.unknown file to correct versions of introduction
+
+       It is not intended for the human reader, but to give less wrong versions
+       of first appearance displayed by `describe-function` or
+       `describe-variable` that would otherwise be derived from a notice in a
+       more recent NEWS* file.
+
+       It is better to add items to this file than changing historical NEWS*
+       files when the actual version of introduction is not known.
+
+       * etc/NEWS.unknown: New file.  Add entry for `nthcdr`.
+
+2024-04-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Add `drop` as alias for `nthcdr`
+
+       It's a common name for this function and symmetric with respect to
+       `take`.  It's also a lot less awkward to type and say.
+
+       * lisp/subr.el (drop): New alias.
+       * doc/lispref/lists.texi (List Elements): Document.  Mention the
+       equation tying `take` and `drop` together.
+       * etc/NEWS: Announce.
+
+2024-04-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix value< string comparison ungoodthink
+
+       * src/fns.c (string_cmp): Fix bad comparisons for certain strings.
+       This only affected `value<` for aggregates, not `string<`.
+       * test/src/fns-tests.el (fns-value<-ordered): Add test cases.
+
+2024-04-29  Visuwesh  <visuweshm@gmail.com>
+
+       Fix errors in 'shr-correct-dom-case'
+
+       * lisp/net/shr.el (shr-correct-dom-case): Don't assume each CHILD is
+       a cons cell.  (Bug#70626)
+
+2024-04-29  Po Lu  <luangruo@yahoo.com>
+
+       Adapt eww to touch screens, mice and text conversion
+
+       * doc/emacs/input.texi (On-Screen Keyboards): Update conditions
+       for displaying the virtual keyboard when t-s-d-k is enabled.
+
+       * etc/NEWS (Announce): Document changes.
+
+       * lisp/net/eww.el (eww-check-text-conversion): New function.
+       (eww-mode): Install it as a local post-command-hook.
+       (eww-submit-map, eww-submit-file, eww-checkbox-map): Bind
+       suitable commands to mouse-2.
+       (eww-form-submit, eww-form-checkbox, eww-form-file)
+       (eww-tag-select): Disguise inserted forms as buttons, that touch
+       event translation may prefer their bindings to mouse-2 over
+       mouse-1.
+       (eww-form-text, eww-tag-textarea): Insert field properties as
+       well.
+       (eww-select-file, eww-toggle-checkbox, eww-submit): New argument
+       EVENT, to whose position point is set.
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up): Trivial
+       adjustments to the criteria for selecting mouse commands and
+       displaying the on screen keyboard.
+
+2024-04-29  Po Lu  <luangruo@yahoo.com>
+
+       Take fields into account during text conversion
+
+       * lisp/cus-edit.el (Custom-mode): Enable text conversion, now
+       that fields are correctly treated.
+
+       * src/alloc.c (mark_frame): Mark f->conversion.field.
+
+       * src/androidterm.c (android_update_selection): Adjust
+       conversion region and selection position by the field start and
+       end.
+
+       * src/editfns.c (find_field): Export function.
+
+       * src/frame.c (make_frame): Clear f->conversion.field.
+
+       * src/frame.h (struct text_conversion_state) <field>: New field.
+
+       * src/lisp.h (find_fields, reset_frame_conversion): Export
+       functions.
+
+       * src/minibuf.c (Fread_from_minibuffer): Reset frame conversion
+       if Voverriding_text_conversion_style is set.
+
+       * src/textconv.c (textconv_query): Narrow to field.
+       (reset_frame_conversion): New function.
+       (reset_frame_state): Clear conversion field.
+       (really_delete_surrounding_text): Narrow to field.
+       (locate_and_save_position_in_field): New function.
+       (really_request_point_update, really_set_point_and_mark)
+       (complete_edit_check, handle_pending_conversion_events_1)
+       (handle_pending_conversion_events, get_conversion_field)
+       (set_composing_region, textconv_set_point_and_mark, replace_text)
+       (get_extracted_text, get_surrounding_text, report_point_change):
+       Compute, narrow to and offset by the currently active field
+       whenever point is updated or a command is received.
+       (syms_of_textconv): Revise doc strings.
+
+       * src/textconv.h (get_conversion_field): Export function.
+
+2024-04-29  Po Lu  <luangruo@yahoo.com>
+
+       Fix NEWS entries and documentation for underline styles
+
+       * doc/lispref/display.texi (Face Attributes):
+
+       * etc/NEWS: Revise to not mislead users as to where these
+       attributes are available.
+
+2024-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Use a dedicated type to represent interpreted-function values
+
+       Change `function` so that when evaluating #'(lambda ...)
+       we return an object of type `interpreted-function` rather than
+       a list starting with one of `lambda` or `closure`.
+       The new type reuses the existing PVEC_CLOSURE (nee PVEC_COMPILED)
+       tag and tries to align the corresponding elements:
+
+       - the arglist, the docstring, and the interactive-form go in the
+         same slots as for byte-code functions.
+       - the body of the function goes in the slot used for the bytecode 
string.
+       - the lexical context goes in the slot used for the constants of
+         bytecoded functions.
+
+       The first point above means that `help-function-arglist`,
+       `documentation`, and `interactive-form`s don't need to
+       distinguish interpreted and bytecode functions any more.
+
+       Main benefits of the change:
+
+       - We can now reliably distinguish a list from a function value.
+       - `cl-defmethod` can dispatch on `interactive-function` and `closure`.
+         Dispatch on `function` also works now for interpreted functions but 
still
+         won't work for functions represented as lists or as symbols, of 
course.
+       - Function values are now self-evaluating.  That was alrready the case
+         when byte-compiled, but not when interpreted since
+         (eval '(closure ...)) signals a void-function error.
+         That also avoids false-positive warnings about "don't quote your 
lambdas"
+         when doing things like `(mapcar ',func ...)`.
+
+       * src/eval.c (Fmake_interpreted_closure): New function.
+       (Ffunction): Use it and change calling convention of
+       `Vinternal_make_interpreted_closure_function`.
+       (FUNCTIONP, Fcommandp, eval_sub, funcall_general, funcall_lambda)
+       (Ffunc_arity, lambda_arity): Simplify.
+       (funcall_lambda): Adjust to new representation.
+       (syms_of_eval): `defsubr` the new function.  Remove definition of 
`Qclosure`.
+
+       * lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure):
+       Change calling convention and use `make-interpreted-closure`.
+
+       * src/data.c (Fcl_type_of): Distinguish `byte-code-function`s from
+       `interpreted-function`s.
+       (Fclosurep, finterpreted_function_p): New functions.
+       (Fbyte_code_function_p): Don't be confused by `interpreted-function`s.
+       (Finteractive_form, Fcommand_modes): Simplify.
+       (syms_of_data): Define new type symbols and `defsubr` the two
+       new functions.
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-object) <interpreted-function>:
+       New method.
+
+       * lisp/emacs-lisp/oclosure.el (oclosure): Refine the parent
+       to be `closure`.
+       (oclosure--fix-type, oclosure-type): Simplify.
+       (oclosure--copy, oclosure--get, oclosure--set): Adjust to
+       new representation.
+
+       * src/callint.c (Fcall_interactively): Adjust to new representation.
+
+       * src/lread.c (bytecode_from_rev_list):
+
+       * lisp/simple.el (function-documentation):
+       * lisp/help.el (help-function-arglist): Remove the old `closure` case
+       and adjust the byte-code case so it handles `interpreted-function`s.
+
+       * lisp/emacs-lisp/cl-preloaded.el (closure): New type.
+       (byte-code-function): Add it as a parent.
+       (interpreted-function): Adjust parent (the type itself was already
+       added earlier by accident).
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Adjust to
+       new representation.
+       (byte-compile): Use `interpreted-function-p`.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust to
+       new representation.
+       (side-effect-free-fns): Add `interpreted-function-p` and `closurep`.
+
+       * src/profiler.c (trace_hash, ffunction_equal): Simplify.
+       * lisp/profiler.el (profiler-function-equal): Simplify.
+
+       * lisp/emacs-lisp/nadvice.el (advice--interactive-form-1):
+       Use `interpreted-function-p`; adjust to new representation; and take
+       advantage of the fact that function values are now self-evaluating.
+
+       * lisp/emacs-lisp/lisp-mode.el (closure):
+       Remove `lisp-indent-function` property.
+
+       * lisp/emacs-lisp/disass.el (disassemble-internal): Adjust to
+       new representation.
+       * lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation):
+       Use `interpreted-function-p`.
+       * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
+       Add `closurep` and `interpreted-function-p`.
+
+       * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Adjust to
+       more precise type info in `describe-function`.
+       * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d--render-entries):
+       Use `interpreted-function-p`.
+       * test/lisp/emacs-lisp/macroexp-resources/vk.el (vk-f4, vk-f5):
+       Don't hardcode function values.
+
+       * doc/lispref/functions.texi (Anonymous Functions): Don't suggest that
+       function values are lists.  Reword "self-quoting" to reflect the
+       fact that #' doesn't return the exact same object.  Update examples
+       with the new shape of the return value.
+
+       * doc/lispref/variables.texi (Lexical Binding):
+       * doc/lispref/lists.texi (Rearrangement):
+       * doc/lispref/control.texi (Handling Errors): Update examples to reflect
+       new representation of function values.
+
+2024-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (COMPILED): Rename to CLOSURE
+
+       In preparation for the use of `PVEC_COMPILED` objects for
+       interpreted functions, rename them to use a more neutral name.
+
+       * src/lisp.h (enum pvec_type): Rename `PVEC_COMPILED` to `PVEC_CLOSURE`.
+       (enum Lisp_Compiled): Use `CLOSURE_` prefix i.s.o `COMPILED_`.
+       Also use `CODE` rather than `BYTECODE`.
+       (CLOSUREP): Rename from `COMPILEDP`.
+       (enum Lisp_Closure): Rename from `Lisp_Compiled`.
+
+       * src/alloc.c, src/bytecode.c, src/comp.c, src/data.c, src/eval.c,
+       * src/fns.c, src/lisp.h, src/lread.c, src/pdumper.c, src/print.c,
+       * src/profiler.c: Rename all uses accordingly.
+       * src/.gdbinit (xclosure): Rename from `xcompiled`.
+       (xcompiled): New obsolete alias.
+       (xpr): Adjust accordingly.  Also adjust to new PVEC_CLOSURE tag name.
+
+2024-04-28  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/comp.c (comp_hash_string): Count bytes, not chars.
+
+2024-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Implement dots and dashes on PGTK
+
+       * src/image.c (image_create_bitmap_from_file) [HAVE_PGTK]:
+       Remove unused variable.
+
+       * src/pgtkterm.c (pgtk_draw_dash, pgtk_fill_underline)
+       (pgtk_draw_glyph_string): New functions, ported from X.
+
+2024-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Implement dots and dashes on Haiku
+
+       * src/doc.c (store_function_docstring): Re-enable loading doc
+       strings of compiled functions from etc/DOC, which haiku-win,
+       ns-win, and the like require.
+
+       * src/haikuterm.c (haiku_draw_dash, haiku_fill_underline)
+       (haiku_draw_text_decoration): Port underline code from X.
+
+2024-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Fix the Haiku build
+
+       * src/haikuterm.c (haiku_draw_text_decoration): Remove stray
+       closing parenthesis.
+
+2024-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Implement dots and dashes on Android
+
+       * java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine)
+       (measureLine, polyDashPattern): New function.
+       (perform): Delegate to polyDashPattern if the line style is not
+       LineSolid.  Also simplify now that anti-aliasing need no longer
+       be taken into account.
+
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Mention
+       omission in commentary.
+
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC): Disable
+       anti-aliasing in default paint object.
+       <line_style, line>: New fields.
+       (markDirty): Apply stroke width.
+
+       * src/android.c (android_init_emacs_gc_class): Initialize new
+       fields.
+       (android_create_gc, android_free_gc, android_change_gc)
+       (android_set_dashes, android_get_gc_values):
+
+       * src/androidgui.h (enum android_line_style)
+       (enum android_gc_value_mask, struct android_gc): Introduce line
+       style, width, dash offset and dash GC attributes.
+
+       * src/androidterm.c (android_draw_dash, android_fill_underline)
+       (android_draw_glyph_string): Port from X.
+
+       * src/xterm.c (x_draw_dash): Delete redundant code.
+
+2024-04-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix the MS-Windows build broken by a recent commit
+
+       * src/w32term.c (w32_draw_glyph_string): Move 'foreground'
+       declaration to where it belongs.
+
+2024-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Fix Android build
+
+       * src/androidterm.c (android_draw_glyph_string): Omit extraneous
+       argument to android_fill_rectangle.
+
+2024-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Implement dots and dashes on X
+
+       * src/dispextern.h (enum face_underline_type): Indent and expand
+       commentary as to the new dependency on the order of its
+       enumerals.
+
+       * src/xfaces.c (realize_gui_face): Enable dots and dashes on
+       window systems.
+
+       * src/xterm.c (x_draw_underwave): Don't define unused variable
+       on Cairo builds.
+       (x_draw_dash): New function; implement for X and Cairo.
+       (x_fill_underline): New function.  Delegate to x_fill_rectangle
+       or x_draw_dash as appropriate.
+       (x_draw_glyph_string): Call x_fill_underline rather than
+       x_fill_rectangle.
+
+2024-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Port double-line underlines to GUI systems
+
+       * src/xterm.c (x_get_scale_factor): Replace display in first
+       argument with a pointer to dpyinfo.
+       (x_draw_underwave): Adjust to match.
+       (x_draw_glyph_string): Implement double-line underlines.
+
+       * src/androidterm.c (android_get_scale_factor)
+       (android_draw_glyph_string):
+
+       * src/haikuterm.c (haiku_draw_text_decoration):
+
+       * src/nsterm.m (ns_draw_text_decoration):
+
+       * src/pgtkterm.c (pgtk_draw_glyph_string):
+
+       * src/w32term.c (w32_draw_glyph_string): Synchronize with X.
+
+       * src/xfaces.c (realize_gui_face): Enable `double-line' on
+       window systems.
+
+2024-04-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       cf839129ce0 Fix last change
+       3e68d413c1c ; Skip 'csharp-ts-mode' test if grammar is missing
+
+2024-04-27  Eshel Yaron  <me@eshelyaron.com>
+
+       Refine the Custom type of generated '*-modes' options
+
+       * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
+       Refine the Custom type of the '*-modes' option, generated when
+       this macro is given a ':predicate' argument.  (Bug#70589)
+
+2024-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Fix ommissions in window scrolling commands that ought to clear vscroll
+
+       * src/window.c (Fdelete_other_windows_internal)
+       (window_scroll_for_long_lines, Frecenter, Fmove_to_window_line):
+       Reset window vscroll, or, if force_start be set, just
+       preserve_vscroll_p, after moving window start to a position
+       computed from iterators for the window in question, so that
+       vscroll may be reliably reset again after the conditions for
+       redisplay's doing the same were corrected.  (bug#70386)
+
+2024-04-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       f37f01b5046 Fix a typo in Introduction to Emacs Lisp (bug#70571).
+       d8687fd6cd8 Fix last change
+       494dfd9cf2b Fix indentation of if/else in 'csharp-ts-mode' (bug#70345)
+       1cc6322e612 ; * etc/PROBLEMS: Document crashes due to tree-sitter ABI...
+       42766f95e5c * build-aux/make-info-dir: Avoid bashism (bug#70484).
+       81476fa19e8 Improve documentation of selection and navigation in *xre...
+       2a533514929 Fix Widget manual typos, markup and omissions (bug#70502)
+       90be3015b4d ; Document bookmark fringe mark in the user manual
+       afd0b548fcc Fix python-ts-mode built-in functions and attributes (bug...
+       dc720decc3a Fix markup and indexing in the Calendar chapter of user m...
+       f593bf79a91 Fix the user manual for `calendar-time-zone-style'
+       aed2b7a3d82 Avoid assertion violations in 'push_prefix_prop'
+       c929532b469 Remove ert-equal-including-properties from manual
+       e3aae5fd385 ; Document 'filtered-frame-list'
+
+2024-04-27  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix `find-grep-dired' with default OpenBSD's Grep
+
+       * lisp/find-dired.el (find-grep-options): Use '-q' on
+       OpenBSD as well.  (Bug#70550)
+
+2024-04-27  Daniel Pettersson  <daniel@dpettersson.net>
+
+       Shut down jsonrpc server more gracefully
+
+       * lisp/jsonrpc.el (jsonrpc-running-p): Avoid unnecessarily killing
+       the server process.  Suggested by Aaron Zeng <azeng@janestreet.com>.
+       (Bug#70522)
+
+2024-04-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Followup changes for styled underline support
+
+       * src/nsterm.m (ns_draw_text_decoration):
+       * src/pgtkterm.c (pgtk_draw_glyph_string):
+       * src/haikuterm.c (haiku_draw_text_decoration):
+       * src/androidterm.c (android_draw_glyph_string):
+       * src/w32term.c (w32_draw_glyph_string): Use new FACE_UNDER*
+       constants.  (Bug#62994)
+
+2024-04-27  Mohsin Kaleem  <mohkale@kisara.moe>
+
+       Add support for colored and styled underlines on tty frames
+
+       * src/dispextern.h (face, face_underline_type, syms_of_xfacse)
+       (internal-set-lisp-face-attribute)
+       (gui_supports_face_attributes_p): Add definitions for new
+       underline styles of Double-line, Dots and Dashes.  Rename
+       FACE_UNDER_LINE and FACE_UNDER_WAVE to make definitions
+       consistent.  Delete tty_underline_p from the face struct and use
+       just underline going forward.  Add a flag to check whether styled
+       underlines are available.
+       * lisp/cus-face.el (custom-face-attributes): Add entries for
+       Double-line, Dots and Dashes so they can be set through
+       `customize'.
+       * src/termchar.h (tty_display_info): Add an entry for the escape
+       sequence to set the underline style and color on terminal frames.
+       * src/term.c (init_tty, tty_capable_p, turn_on_face): Read and
+       save the underline style escape sequence from the Smulx termcap
+       (alternatively if the Su flag is set use a default sequence).
+       Allow checking for support of styled underlines in the current
+       terminal frame.  Output the necessary escape sequences to activate
+       a styled underline on turn_on_face; this is currently only used
+       for the new special underline styles, a default straight underline
+       will still use the "us" termcap.  Output escape sequence to set
+       underline color when set in the face and supported by the tty.
+       Save a default value for this sequence on init_tty when styled
+       underlines are supported.
+       * src/xfaces.c (tty_supports_face_attributes_p, realize_tty_face)
+       (map_tty_color): Assert whether styled underlines are supported by
+       the current terminal on display-supports-face-attributes-p checks.
+       Populate the correct underline style and color in the face spec
+       when realizing a face.  Allow map_tty_color to map underline
+       colors alongside foreground and background.  The interface of
+       map_tty_color was amended to allow the caller to supply the
+       underline color instead of accessing it through the face
+       attributes.  (bug#62994)
+       * src/xterm.c (x_draw_glyph_string): Updated to use renamed
+       FACE_UNDERLINE_SINGLE and FACE_UNDERLINE_WAVE face_underline_type
+       enumerations.
+
+2024-04-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of 'package-enable-at-startup'
+
+       * doc/emacs/package.texi (Package Installation): Clarify how to
+       customize 'package-enable-at-startup'.
+
+       * lisp/emacs-lisp/package.el (package-enable-at-startup): Add note
+       about customization.  (Bug#70402)
+
+2024-04-27  Yuan Fu  <casouri@gmail.com>
+
+       Fix c-ts-common--fill-paragraph for C
+
+       This should fix the failing filling test for c-ts-mode.
+
+       * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Don't
+       go back to indentation.
+
+2024-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Enable customization of the quit key on Android
+
+       * doc/emacs/android.texi (Android Windowing):
+
+       * doc/emacs/input.texi (On-Screen Keyboards): Document various
+       tidbits related to the quit key.
+
+       * java/org/gnu/emacs/EmacsNative.java (getQuitKeycode): New
+       function.
+
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Rename
+       `lastVolumeButtonRelease' to `lastQuitKeyRelease'.
+       (onKeyUp): Treat value returned by getQuitKeycode as the quit
+       key rather than mandate KEYCODE_VOLUME_DOWN.
+
+       * src/android.c (getQuitKeycode): Implement new function.
+
+       * src/androidterm.c (syms_of_androidterm)
+       <android_quit_keycode>: New variable.
+
+2024-04-26  Gerd Möllmann  <gerd@gnu.org>
+
+       Fix gud-lldb-command-name
+
+       * lisp/progmodes/gud.el (gud-gud-lldb-command-name): Change to
+       gud-lldb-command-name.
+       (lldb): Don't do stuff that is not needed for lldb.
+
+2024-04-26  Philip Kaludercic  <philipk@posteo.net>
+
+       Always update VC packages from a vc-dir buffer
+
+       * lisp/emacs-lisp/package-vc.el (vc-dir-prepare-status-buffer):
+       Add a declaration.
+       (package-vc-upgrade): Prepare a dummy vc-dir buffer to ensure
+       that 'vc-pull' (or rather 'vc-deduce-fileset') can correctly
+       infer the VC backend to use.  (bug#70526)
+
+2024-04-25  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-line.el: Fix tab-line-buffers in 
window-persistent-parameters.
+
+       Replace '(tab-line-buffers . writable)' with '(tab-line-buffers . t)'
+       in 'window-persistent-parameters' (bug#69993).
+
+2024-04-25  Juri Linkov  <juri@linkov.net>
+
+       Suppress warnings for obsolete display-comint-buffer-action (bug#69983)
+
+       * lisp/cmuscheme.el (run-scheme, switch-to-scheme):
+       * lisp/shell.el (shell):
+       * lisp/eshell/eshell.el (eshell):
+       * lisp/progmodes/inf-lisp.el (inferior-lisp):
+       * lisp/progmodes/sh-script.el (sh-show-shell):
+       * lisp/textmodes/tex-mode.el (tex-display-shell)
+       (tex-recenter-output-buffer): Add 'with-suppressed-warnings'
+       to suppress warnings for obsolete options
+       'display-comint-buffer-action' and 'display-tex-shell-buffer-action'.
+
+2024-04-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'mode-line-right-align-edge' with asymmetrical margins
+
+       * lisp/bindings.el (mode--line-format-right-align): Fix alignment
+       when window-margins are different on each side of the window.
+       Suggested by Charles Gonnaud <charles.gonnaud@gmail.com>.
+       (Bug#70485)
+
+2024-04-25  john muhl  <jm@pub.pink>
+
+       Fix which-function error in 'lua-ts-mode' (bug#70515)
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove incorrect
+       usage of 'which-func-functions'.
+       * test/lisp/progmodes/lua-ts-mode-tests.el
+       (lua-ts-test-which-function): Add test.
+       * test/lisp/progmodes/lua-ts-mode-resources/which-function.lua:
+       New file.
+
+2024-04-25  Mattias Engdegård  <mattiase@acm.org>
+
+       Better eval-when-compile example in manual
+
+       * doc/lispref/compile.texi (Eval During Compile):
+       `regexp-opt` makes for a poor example because as a pure function it
+       doesn't need `eval-when-compile` for constant inputs.
+
+2024-04-25  Po Lu  <luangruo@yahoo.com>
+
+       Improve custom button faces on monochrome displays
+
+       * lisp/cus-edit.el (custom-button, custom-button-mouse)
+       (custom-button-pressed): Define raised boxes on monochrome
+       displays.
+
+2024-04-24  Po Lu  <luangruo@yahoo.com>
+
+       Disable unsuitable XPM color selection mechanism on Android
+
+       * src/image.c (xpm_load_image) [HAVE_ANDROID]: Always select
+       XPM_COLOR_KEY_C.
+
+2024-04-24  Gerd Möllmann  <gerd@gnu.org>
+
+       Fix tbreak for LLDB
+
+       * lisp/progmodes/gud.el (lldb): Use _regexp-tbreak command.
+
+2024-04-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix handling of glyph codes in whitespace.el
+
+       * lisp/whitespace.el (whitespace-display-vector-p): Support glyph
+       codes, not just plain characters.  See
+       https://lists.gnu.org/archive/html/help-gnu-emacs/2024-04/msg00248.html
+       for the details.
+
+2024-04-24  Yuan Fu  <casouri@gmail.com>
+
+       Make c-ts-common-comment-indent-new-line work for rust doc comment
+
+       * lisp/progmodes/c-ts-common.el (c-ts-common-comment-indent-new-line):
+       Support //! comment directives.
+
+2024-04-24  Yuan Fu  <casouri@gmail.com>
+
+       Make c-ts-common--fill-paragraph work for rust line comment
+
+       * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): Back to
+       BOL before checking for //.
+
+2024-04-24  Po Lu  <luangruo@yahoo.com>
+
+       More effectually prevent defun list wrapping in C-x C-w
+
+       * lisp/vc/log-edit.el (log-edit-fill-entry): Match and replace
+       with NBSPs the opening defun list also.
+
+       * test/lisp/vc/log-edit-tests.el
+       (log-edit-fill-entry-no-defun-list-wrapping): New test.
+
+2024-04-24  Po Lu  <luangruo@yahoo.com>
+
+       Miscellaneous fixes for Android port
+
+       * lisp/touch-screen.el (touch-screen-hold, touch-screen-drag):
+       Clear deactivate-mark if the mark is activated to prevent undue
+       deactivation after completion.
+
+       * lisp/wid-edit.el (widget-field, widget-single-line-field):
+       Insert specifications suitable for monochrome displays.
+
+       * src/androidfns.c (Fxw_display_color_p, Fx_display_grayscale_p):
+       Report color and/or grayscale properly.
+
+       * src/image.c (image_create_bitmap_from_file)
+       [HAVE_ANDROID]: If a file with no extension cannot be located,
+       append .xbm and retry.
+
+2024-04-23  Daniel Semyonov  <daniel@dsemy.com>
+
+       Gnus: Add back end for Atom feeds (nnatom)
+
+       * lisp/gnus/gnus.el (gnus-valid-select-methods): Add entry for nnatom.
+       * lisp/gnus/nnfeed.el: New file implementing an abstract web feed back
+       end.
+       * lisp/gnus/nnatom.el: New file implementing a back end for Atom feeds.
+       * doc/misc/gnus.texi (Browsing the Web, Back End Interface):
+       * etc/NEWS (Gnus): Document nnatom and nnfeed.
+
+2024-04-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Revert skip on eglot-tests.el
+
+       * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink):
+       Comment out skip on EMBA.
+
+2024-04-23  João Távora  <joaotavora@gmail.com>
+
+       Eglot: robustify eglot-test-basic-symlink test (bug#70036)
+
+       The previous version of this test was brittle, unstable and
+       didn't really fail when supposed to (because we need main.cpp to
+       not be visited when visiting mainlink.cpp).  This new version is
+       faster and more secure.
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Add to the
+       jsonrpc-event-hook at the end.
+       (eglot-test-basic-symlink): Robustify test.
+
+2024-04-23  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix bug#70408 yet another way
+
+       The previous fix based on comparing the Eglot-provided didOpen URI to
+       the server-provided textDocument/publishDiagnostics URI didn't quite
+       work because the URI differs slightly in escaping conventions on certain
+       platforms.
+
+       This elephant-size bug is easily reproducible on Windows with clangd,
+       where every file is basically diagnostic-free.
+
+       * lisp/progmodes/eglot.el (eglot-path-to-uri): Rework.
+       (eglot--TextDocumentIdentifier-cache):
+       Rename from eglot--TextDocumentIdentifier-uri.
+       (eglot-handle-notification textDocument/publishDiagnostics): Tweak.
+       (eglot--TextDocumentIdentifier): Rework.
+       (eglot--signal-textDocument/didOpen): Tweak.
+
+2024-04-23  Andrea Corallo  <acorallo@gnu.org>
+
+       Run admin/syncdoc-type-hierarchy.el
+
+       * doc/lispref/elisp_type_hierarchy.jpg: Update.
+       * doc/lispref/elisp_type_hierarchy.txt: Likewise.
+
+2024-04-23  Andrea Corallo  <acorallo@gnu.org>
+
+       * Generate elisp_type_hierarchy.txt with top level types on top of it
+
+       * admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table): Prioratize
+       to level types.
+
+2024-04-23  Andrea Corallo  <acorallo@gnu.org>
+
+       * admin/syncdoc-type-hierarchy.el (org): Add missing require.
+
+2024-04-23  Justin Burkett  <justin@burkett.cc>
+
+       Revert "* which-key.el (which-key--partition-list): Replace cl-subseq 
by take"
+
+       This reverts commit 94a29cda9f75c9901667bf45ff25bd8c892cb416.
+
+2024-04-23  Eshel Yaron  <me@eshelyaron.com>
+
+       (completion-preview-prev-candidate): add numeric prefix argument
+
+       * lisp/completion-preview.el (completion-preview-prev-candidate):
+       Add numeric prefix argument N.
+       (completion-preview-next-candidate): Update documentation.
+
+2024-04-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Support remote trash-directory
+
+       * doc/misc/tramp.texi (Frequently Asked Questions): Describe how
+       to manipulate trash-directory.
+       Explain tramp-inhibit-errors-if-setting-file-attributes-fail.
+
+       * lisp/files.el (move-file-to-trash): Use connection-local value
+       of `trash-directory'.  (Bug#70421)
+
+2024-04-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink): Skip 
on EMBA.
+
+2024-04-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Some EMBA integration fixes
+
+       * test/infra/Dockerfile.emba (emacs-native-comp-speed2): Fix typo.
+
+       * test/infra/gitlab-ci.yml (.job-template): Add configure.log to
+       artifacts.
+
+2024-04-23  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2024-04-23  Po Lu  <luangruo@yahoo.com>
+
+       Enable configuring Emacs for "pseudo-grayscale" systems on Android
+
+       * doc/emacs/android.texi (Android Windowing): Document how to
+       configure Emacs for monochrome displays.
+
+       * src/androidfns.c (Fx_display_visual_class): Return
+       Qstatic_gray when n_planes is smaller than 24.
+       (Fandroid_get_connection): Set n_planes by the value of
+       android_display_planes.
+       (syms_of_androidfns): <Qstatic_gray>: New function.
+
+       * src/androidterm.c (android_alloc_nearest_color): Allocate
+       monochrome colors similarly to the X server.
+       (android_query_colors): Fix typos.
+       (android_draw_fringe_bitmap): Create bitmaps of n_image_planes
+       depth.
+       (android_term_init): Initialize n_image_planes to 24.
+       (syms_of_androidterm) <android_display_planes>: New variable.
+
+       * src/androidterm.h (struct android_display_info): New field
+       `n_image_planes'.
+
+       * src/image.c (n_planes) [HAVE_ANDROID]: Define to
+       n_image_planes.
+
+2024-04-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix dumping signal-handler data
+
+       * src/sysdep.c (init_signals): Don't install signal handlers while
+       dumping only with unexec, as pdumper doesn't dump static data of
+       signal handlers.  See
+       https://lists.gnu.org/archive/html/emacs-devel/2024-04/msg00539.html
+       for the details.
+
+2024-04-23  Po Lu  <luangruo@yahoo.com>
+
+       Implement face stipples on Android
+
+       * .gitignore:
+
+       * java/Makefile.in: Fix typos.
+
+       * java/org/gnu/emacs/EmacsFillRectangle.java (perform): Call
+       blitOpaqueStipple if filling an unobscured rectangle with an
+       opaque stipple.
+
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC) <tileObject>: New
+       field.
+       (markDirty): Synchronize the current stipple with tileObject.
+       (prepareStipple, blitOpaqueStipple): New functions.
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       <resources>: New static field.
+       (onCreate): Set it.
+
+       * src/android.c (android_create_bitmap_from_data): Correct order
+       of arguments to android_create_pixmap_from_bitmap_data.
+       (HAS_BUILTIN_TRAP): Delete macro.
+       (emacs_abort): Always induce backtraces by means of a NULL
+       pointer deference.
+
+       * src/dispextern.h (Emacs_GC, Emacs_Rectangle, GCForeground)
+       (GCBackground, GCFillStyle, GCStipple, FillOpaqueStipple)
+       [HAVE_ANDROID]: Define to their Android counterparts rather
+       than simulating their existence.
+
+       * src/epaths.in: Set bitmap path to /assets/bitmaps on Android.
+
+       * src/image.c (image_bitmap_pixmap): Also enable when
+       HAVE_ANDROID.
+
+       * src/sfntfont-android.c (sfntfont_android_put_glyphs): Assert
+       that this is never called to draw a stippled background.
+       * src/xfaces.c (x_create_gc) [HAVE_ANDROID]: Redefine as
+       wrapper around android_create_gc.
+       (prepare_face_for_display) [HAVE_ANDROID]: Enable stipples.
+
+2024-04-23  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       Cover more c-ts-common-comment-indent-new-line (bug#70520)
+
+       * lisp/progmodes/c-ts-common.el:
+       (c-ts-common-comment-indent-new-line): Handles the case of comments in a
+       comment block that begin with whitespaces.
+
+2024-04-22  Karl Fogel  <kfogel@red-bean.com>
+
+       Fix two bugs in removing bookmark fringe marks
+
+       This fixes bug#70019 and a separate fringe-mark removal bug that
+       also affected bookmarks in certain Info nodes.
+
+       * lisp/bookmark.el (bookmark--remove-fringe-mark): Fix bug#70019 by
+       temporarily widening in order to ensure we fetch the right overlays.
+       Also, normalize both filenames before comparing, to avoid spurious
+       failure to match.
+
+       Thanks to Dani Moncayo for the bug report and for testing.
+
+2024-04-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Better format string compilation warning
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn):
+       Speed up by eliminating the temporary buffer.
+       Detect invalid format sequences.  Use plurals properly.
+       * test/lisp/emacs-lisp/bytecomp-tests.el: Update test.
+
+2024-04-22  F. Moukayed  <smfadi+emacs@gmail.com>
+
+       Ensure that Gnus inline preview undisplayer removes added newline
+
+       * lisp/gnus/mm-view.el (mm-inline-image): Remove two characters ("x\n")
+       instead of leaving behind a superfluous newline (bug#69920).
+
+2024-04-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Rework EMBA integration
+
+       * test/infra/Dockerfile.emba (emacs-inotify, emacs-filenotify-gio)
+       (emacs-eglot, emacs-tree-sitter, emacs-gnustep)
+       (emacs-native-comp-speed0, emacs-native-comp-speed1)
+       (emacs-native-comp-speed2): Use "-j `nproc`".
+       (emacs-eglot): Add libxml2-dev and node-typescript.
+       (emacs-tree-sitter) Add libxml2-dev and tree-sitter-rust.
+
+       * test/infra/Makefile.in (subdir_template): Simplify make_params.
+
+       * test/infra/gitlab-ci.yml (.job-template): Set environment
+       variable NPROC.  Use "-k -j \$NPROC".
+       (test-filenotify-gio, test-eglot, test-tree-sitter)
+       (test-native-comp-speed2): Simplify make_params.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2024-04-22  Po Lu  <luangruo@yahoo.com>
+
+       Generate Android shared library list automatically
+
+       * .gitignore: Ignore new generated files.
+
+       * cross/Makefile.in (src/Makefile): Remove leftover
+       specification of the source Gnulib directory.
+
+       * cross/ndk-build/ndk-build.mk.in (NDK_BUILD_READELF): New
+       variable.
+
+       * java/Makefile.in (CONFIG_FILE, ALL_DEPENDENCIES, READELF)
+       (cf-stamp-1, cf-stamp): New variables and rules; compute the set
+       of library files in the order of loading and generate a file
+       with this information.
+       (ALL_CLASS_FILES): New variable; if builddir is not srcdir,
+       $($(CONFIG_FILE), $(CLASS_FILES)): Depend on EmacsConfig.java.
+       add generated files in the build directory.
+       (classes.dex): Adjust to match.
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative)
+       <static initializer>: Load shared libraries from
+       EMACS_SHARED_LIBRARIES rather than a hard-coded list.
+
+       * m4/ndk-build.m4 (ndk_INIT): Search for readelf...
+       (ndk_CHECK_MODULES): ...and substitute its path as
+       NDK_BUILD_READELF.
+
+2024-04-22  Yuan Fu  <casouri@gmail.com>
+
+       Cover more cases in c-ts-common-comment-indent-new-line
+
+       * lisp/progmodes/c-ts-common.el:
+       (c-ts-common-comment-indent-new-line): Handle the case for ///, which
+       is used by rust.
+
+2024-04-22  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/flymake.el: Small improvements for buffers display.
+
+       (flymake-mode-map): Bind mouse-1 click on the fringe to
+       'flymake-show-buffer-diagnostics' (bug#70459).
+       (flymake-show-buffer-diagnostics): Display buffer diagnostics
+       at the bottom.
+       (flymake-show-project-diagnostics): Display project diagnostics
+       at the bottom.
+
+2024-04-22  Juri Linkov  <juri@linkov.net>
+
+       * lisp/emacs-lisp/warnings.el (warning-display-at-bottom): New 
defcustom.
+
+       (display-warning): Use 'warning-display-at-bottom' to display
+       the warning buffer at the bottom of the screen and to scroll
+       to the last warning message (bug#69983).
+
+2024-04-22  Juri Linkov  <juri@linkov.net>
+
+       * lisp/files.el (find-alternate-file): Fix the order of restoring 
buffer.
+
+       Swap the order of restoring original buffer's file names and
+       restoring original's buffer name with 'rename-buffer' (bug#68235).
+
+2024-04-22  Po Lu  <luangruo@yahoo.com>
+
+       Fix load order of certain Android shared libraries
+
+       * java/org/gnu/emacs/EmacsNative.java (libraryDeps): Move
+       dependencies of selinux and gnutls before their respective
+       dependents.
+
+2024-04-22  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add rust-ts-mode font-locking tests (bug#70464)
+
+       * test/lisp/progmodes/rust-ts-mode-tests.el: New file for rust-ts-mode
+       tests.
+       * test/lisp/progmodes/rust-ts-mode-resources/font-lock.rs: New file
+       with rust-ts-mode font-locking tests. New tests added for macro
+       font-locking (bug#70464) and function signatures
+       (bug#70465).
+
+2024-04-22  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add font-locking for Rust macros (bug#70464)
+
+       * lisp/progmodes/rust-ts-mode.el
+       (rust-ts-mode--font-lock-settings): Add font-locking for Rust
+       macro metavariables, fragment specifiers and repitition patterns.
+
+2024-04-22  Yuan Fu  <casouri@gmail.com>
+
+       Make c-ts-common-comment-indent-new-line work for more cases
+
+       * lisp/progmodes/c-ts-common.el:
+       (c-ts-common-comment-indent-new-line): Handle the case where user
+       types M-j in the middle of a line; and when the line starts with /**.
+
+2024-04-22  Yuan Fu  <casouri@gmail.com>
+
+       Add tree-sitter comment-indent-new-line (bug#70074)
+
+       * lisp/progmodes/c-ts-common.el:
+       (c-ts-common-comment-indent-new-line): New function.
+       (c-ts-common-comment-setup): Setup comment-line-break-function and
+       comment-multi-line.
+
+2024-04-22  Noah Peart  <noah.v.peart@gmail.com>
+
+       Improve function signature font-lock rust-ts-mode (bug#70465)
+
+       * lisp/progmodes/rust-ts-mode.el
+       (rust-ts-mode--font-lock-settings): Add font-lock rule for Rust
+       function signatures and missing function modifier keyword 'default'.
+
+2024-04-22  Yuan Fu  <casouri@gmail.com>
+
+       Add treesit-add-font-lock-rules
+
+       This function should help users customize font-lock rules.
+
+       * lisp/treesit.el (treesit-add-font-lock-rules): New function.
+
+2024-04-21  Po Lu  <luangruo@yahoo.com>
+
+       Better verify arguments to android-relinquish-directory-access
+
+       * src/androidvfs.c (Fandroid_relinquish_directory_access):
+       Provide for NULL values from android_name_file and remote files.
+
+       * src/xdisp.c (decode_mode_spec): Don't intern file-remote-p.
+       (syms_of_xdisp) <Qfile_remote_p>: New defsym.
+
+2024-04-21  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix use of "dired" in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Do not
+       use "--dired" when long format output isn't requested.
+
+2024-04-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Re-encode message bodies with externalized attachments during FCC
+
+       Bug#70338
+
+       * lisp/gnus/message.el (message-do-fcc): If the user has requested to
+       externalize attachments, we can't use the cached version of the message
+       body from sending. This mirrors an equivalent check for GCC in
+       `gnus-inews-do-gcc'.
+
+2024-04-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       gitlab-ci.yml adaptions
+
+       * test/infra/gitlab-ci.yml (test-filenotify-gio, test-eglot):
+       Add TEST_HOME.
+       (test-tree-sitter): Extend SELECTOR.
+
+2024-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (backtrace--print-func-and-args): Fix (part of) bug#70436
+
+       The source of bug#70436 is that we print a value into the buffer
+       and then we generate its print representation a second time to
+       get its length to find the bounds of the thing we just printed.
+       Not only it's wasteful, but it risks bugs because the two
+       "prints" can be inconsistent with each other.
+
+       This is not a complete fix because in the non EVALD case we
+       still use that same broken way.
+
+       * lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args):
+       Don't re-print things just to get their length.
+       (backtrace--print-to-string): Skip a temp-buffer indirection.
+
+2024-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl-print-object): Fix indirect cause of bug#70436
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-object): Fix specializer
+       for the byte-code case.
+
+2024-04-20  Po Lu  <luangruo@yahoo.com>
+
+       Eliminate minor wart in EmacsService.java
+
+       * java/org/gnu/emacs/EmacsService.java (openContentUri): Replace
+       arg BYTES with URI and change its type to String.
+
+       * src/android.c (android_init_emacs_service):
+
+       * src/androidvfs.c (android_authority_name)
+       (android_authority_open): Adjust commentary and code to match.
+
+2024-04-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ecb80e0e8aa ; Improve wording in documentation of 'not and 'null'
+       5971aa1fd32 * lisp/dnd.el (dnd-handle-movement): Avoid errors (bug#70...
+       bbc5204a0f3 * doc/misc/calc.texi: Improve indexing.
+
+2024-04-20  Eshel Yaron  <me@eshelyaron.com>
+
+       New command 'completion-preview-complete'
+
+       This command completes the symbol at point up to the longest
+       common prefix of all completions candidates.  We also add an
+       indication of the longest common prefix in the completion
+       preview by highlighting that part of the preview with the
+       'completion-preview-exact' face.  To facilitate these features
+       we change the way we store the completion candidates while the
+       preview is visible, to explicitly keep the common prefix along
+       with a list of its suffixes.
+
+       * lisp/completion-preview.el (completion-preview--try-table):
+       Return longest common prefix and list of suffixes instead of
+       list of full candidates.  Add illustrative comment.
+       (completion-preview--capf-wrapper, completion-preview--update)
+       (completion-preview--show, completion-preview-insert)
+       (completion-preview-next-candidate): Adjust.
+       (completion-preview-common): New face.
+       (completion-preview-exact): Tweak to distinguish it from
+       'completion-preview-common'.
+       (completion-preview-complete): New command.
+       (completion-preview-active-mode-map): Bind it.
+       (completion-preview-mode): Mention it in docstring.
+       (completion-preview-commands): Add 'completion-preview-complete'.
+       (completion-preview--make-overlay): Simplify.
+       (completion-preview--internal-command-p): Remove.
+       (completion-preview-require-certain-commands): Update.
+       (completion-preview--inhibit-update): New inline function.
+       (completion-preview--inhibit-update-p): New local variable.
+       (completion-preview--post-command, completion-preview-hide):
+       Reset it to nil.
+
+       * test/lisp/completion-preview-tests.el
+       (completion-preview-tests--check-preview): Check the 'face'
+       property of both the first and last character.  Update callers.
+       (completion-preview-insert-calls-exit-function)
+       (completion-preview-complete): New tests.  (Bug#70381)
+
+2024-04-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Kill process in files-tests before exiting
+
+       * test/lisp/files-tests.el
+       (files-tests-file-name-non-special-start-file-process):
+       Make sure that the subprocess is killed before the test concludes.
+
+2024-04-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid "C-h for help" prompt in "C-h" commands describing keys
+
+       * lisp/info.el (Info-goto-emacs-key-command-node): Call
+       'read-key-sequence' instead of using 'interactive' with the "k"
+       code, and suppress the "C-h for help" echo.
+       * lisp/help.el (help--read-key-sequence): Suppress the "C-h for
+       help" prompt in echo-keystrokes.  Give the prompt the
+       'minibuffer-prompt' face.  (Bug#70432)
+
+2024-04-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Update gravatar-tests after URL escaping change (bug#70312)
+
+       * test/lisp/image/gravatar-tests.el (gravatar-default-image):
+       It seems we now escape less.
+
+2024-04-20  Augusto Stoffel  <arstoffel@gmail.com>
+
+       With glasses-uncapitalize-p, use a display overlay property
+
+       * lisp/progmodes/glasses.el (glasses-make-readable): Use the
+       'display' property instead of 'after-string', so that one is
+       able to place the cursor on the uncapitalized character.
+       (Bug#70441)
+
+2024-04-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba: Add libxml2-dev.
+
+2024-04-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       Complete fix for eww-tests.el
+
+       * test/lisp/net/eww-tests.el (eww-test/readable/toggle-display)
+       (eww-test/readable/default-readable): Check for libxml.  (Bug#70472)
+
+2024-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (track-changes--call-signal): Silence late signals
+
+       * lisp/emacs-lisp/track-changes.el (track-changes--call-signal):
+       Skip the call if the tracker was unregistered.
+
+2024-04-20  Yuan Fu  <casouri@gmail.com>
+
+       Tree-sitter: only update range and reparse for changed ranges
+
+       In the very beginning, there's bug#66732, to solve that bug, we added
+       treesit--pre-redisplay and treesit--syntax-propertize-notifier.
+       However, to fix bug#66732, we were updating ranges for the whole
+       buffer which makes Emacs extremely slow when there are a lot of local
+       parsers in a large buffer.  Then to solve that we introduced a
+       workaround where we only update ranges in a fixed range around point.
+
+       This change fixes the original problem (bug#66732) without using that
+       workaround.
+
+       * lisp/treesit.el (treesit--font-lock-notifier):
+       (treesit--syntax-propertize-notifier): Remove functions
+       (treesit--pre-redisplay): Use the new function
+       treesit-parser-changed-ranges to get the changed ranges of the primary
+       parser, and only update ranges for those ranges.  Plus do the work of
+       the removed function.
+       (treesit-major-mode-setup): Remove setup for the removed functions.
+
+2024-04-20  Yuan Fu  <casouri@gmail.com>
+
+       New function treesit-parser-changed-ranges
+
+       - Add a new field last_changed_ranges to tree-sitter parser object.
+       - Add a new function treesit-parser-changed-ranges
+
+       * doc/lispref/parsing.texi (Using Parser): Add the function in
+       tree-sitter manual.
+       * src/treesit.c (treesit_get_changed_ranges): New function, refactored
+       out of treesit_call_after_change_functions.
+       (treesit_call_after_change_functions): Pull out
+       treesit_get_changed_ranges.
+       (treesit_ensure_parsed): Save the changed ranges to the parser object.
+       (make_treesit_parser): Initialize the new parser field
+       last_changed_ranges.
+       (Ftreesit_parser_changed_ranges): New function.
+       (Qtreesit_unparsed_edits): New error.
+       * src/treesit.h (Lisp_TS_Parser): New field.
+
+2024-04-19  João Távora  <joaotavora@gmail.com>
+
+       Eglot: tweak previous change (bug#70036)
+
+       * lisp/progmodes/eglot.el (eglot--TextDocumentIdentifier-uri):
+       Rename from eglot--cached-tdi.
+       (eglot-handle-notification): Tweak comment.  Use
+       eglot--TextDocumentIdentifier-uri.
+       (eglot--TextDocumentIdentifier)
+       (eglot--signal-textDocument/didOpen): Use
+       eglot--TextDocumentIdentifier-uri.
+
+       * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink):
+       Address compilation warning.  Tweak comment slightly.
+
+2024-04-19  F. Jason Park  <jp@neverwas.me>
+
+       Fix regression involving erc-query-buffer-p
+
+       * lisp/erc/erc.el (erc-server-or-unjoined-channel-buffer-p): Doc.
+       (erc-query-buffer-p): Don't return non-nil in non-ERC buffers and
+       server buffers, and continue to honor string arguments.  The
+       regression was introduced by 3d87e343 "Use modern fallback for channel
+       name detection in ERC".  Thanks to Libera user mekeor for reporting
+       this bug.
+       * test/lisp/erc/erc-tests.el (erc-query-buffer-p): New test.
+       (Bug#67220)
+
+2024-04-19  F. Jason Park  <jp@neverwas.me>
+
+       Add erc--skip message property
+
+       * lisp/erc/erc-backend.el (erc-server-connect): Add `erc--skip'
+       property to `erc--msg-prop-overrides' so that timestamps only show up
+       with the first server-sent message.
+       (erc-server-PRIVMSG): Move `erc--msg-prop-overrides' declaration to
+       top-level.
+       * lisp/erc/erc-button.el (erc-button--display-error-notice-with-keys):
+       Use `erc--skip' msg prop instead of `erc-stamp--skip' variable.
+       * lisp/erc/erc-stamp.el (erc-stamp--skip): Remove variable.
+       (erc-stamp--allow-unmanaged, erc-stamp--allow-unmanaged-p): Rename
+       former to latter to remain consistent with convention used by other
+       quasi-internal compatibility-related switches.
+       (erc-add-timestamp): Check `erc--skip' property instead of deleted
+       variable `erc-stamp--skip'.
+       * lisp/erc/erc.el (erc--msg-props): Mention `erc--skip' in doc.
+       (erc--check-msg-prop): Doc.
+       (erc--memq-msg-prop): New function.
+       (erc--ranked-properties): Add `erc--skip'.
+       * test/lisp/erc/erc-scenarios-stamp.el
+       (erc-scenarios-stamp--legacy-date-stamps): Revise to expect
+       "opening connection.." to appear above first stamp.
+       * test/lisp/erc/erc-tests.el (erc--memq-msg-prop): New test.
+       (Bug#60936)
+
+2024-04-19  F. Jason Park  <jp@neverwas.me>
+
+       Don't nest date stamp insertions in erc-stamp
+
+       * etc/ERC-NEWS: Don't mention certain insertion-adjacent hooks being
+       suppressed for date stamps, which is no longer true.
+       * lisp/erc/erc-common.el (erc--solo): New utility function.
+       * lisp/erc/erc-fill.el (erc-fill-wrap): Don't move last-message marker
+       when encountering a date stamp.
+       * lisp/erc/erc-stamp.el (erc-stamp--recover-on-reconnect): Restore
+       `erc-stamp--date-stamps' on reconnect and rejoin.
+       (erc-stamp--insert-date-hook): Fix erroneous doc string.
+       (erc-stamp--date): New struct type.
+       (erc-stamp--deferred-date-stamp): New internal variable to pass state
+       between hook members.
+       (erc-stamp--date-stamps): New internal variable to store a reference
+       to all inserted timestamps.
+       (erc-stamp--propertize-left-date-stamp): Don't hide messages because
+       this function runs on `erc-insert-modify-hook'.  Prefer doing so
+       later, in `erc-insert-post-hook'.
+       (erc-stamp--find-insertion-point): New helper function.
+       (erc-stamp--insert-date-stamp-as-phony-message): Remove.
+       (erc-stamp--lr-date-on-pre-modify): Remove function.  Portions of body
+       now appear in `erc-stamp--defer-date-insertion-on-post-modify'.
+       (erc-stamp--defer-date-insertion-on-post-modify)
+       (erc-stamp--defer-date-insertion-on-post-insert)
+       (erc-stamp--defer-date-insertion-on-post-send): New functions,
+       although the first incorporates parts of the now defunct
+       `erc-stamp--lr-date-on-pre-modify'.
+       (erc-stamp--date-mode): Update hook-member functions.
+       (erc-stamp-prepend-date-stamps-p): Revise doc.
+       (erc-insert-timestamp-left-and-right): Remove code to initialize a
+       date stamp in place through a nested call to `erc-display-message'.
+       Instead, "pre-render" date stamp and stash it for retrieval by
+       the function `erc-stamp--defer-date-insertion-on-post-modify'.
+       (erc-stamp--setup): Kill variables `erc-stamp--deferred-date-stamp'
+       and `erc-stamp--date-stamps'.
+       (erc-stamp--reset-on-clear): Remove trimmed stamps from
+       `erc-stamp--date-stamps'.
+       * lisp/erc/erc.el (erc--msg-props): Document `erc--hide' in doc
+       string.
+       (erc--with-inserted-msg): Remove unused macro.
+       (erc--insert-line-splice-function): New variable.
+       (erc--with-spliced-insertion): New macro.
+       (erc--insert-line-function): Expand doc string.
+       (erc--remove-from-prop-value-list): Tweak doc string.
+       (erc--insert-before-markers-transplanting-hidden): New function.
+       (erc--hide-message): Remember managed `invisible' prop value.  Do so
+       by recording them in the `erc--hide' "msg prop".
+       (erc--delete-inserted-message, erc--delete-inserted-message-naively):
+       Rename former to latter to emphasize that it's largely impractical for
+       general use.
+       (erc--ranked-properties): Add `erc--hide'.
+       * test/lisp/erc/erc-button-tests.el
+       (erc-button-tests--erc-button-alist--function-as-form): Use
+       `erc-display-message' helper.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--insert-privmsg)
+       (erc-fill-tests--wrap-populate, erc-fill-wrap-tests--merge-action)
+       (erc-fill-line-spacing): Use `erc-display-message' wrappers to
+       intercept `erc-timer-hook' modifications.
+       * test/lisp/erc/erc-scenarios-match.el
+       (erc-scenarios-match--invisible-stamp): Add convenience commands to
+       `extended-command-history' when running interactively.
+       * test/lisp/erc/erc-tests.el
+       (erc--insert-before-markers-transplanting-hidden): New test.
+       (erc--delete-inserted-message, erc--delete-inserted-message-naively):
+       Update test name as well as namesake function in body.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common-with-cleanup): Validate `erc-stamp--date-stamps'
+       members after every scenario test.
+       (erc-scenarios-common--assert-date-stamps): New function.
+       * test/lisp/erc/resources/erc-tests-common.el: Require `erc-stamp'
+       atop file when compiling.
+       (erc-tests--common-display-message)
+       (erc-tests-common-display-message)
+       (erc-tests-common-with-date-aware-display-message): New functions and
+       macro for running `erc-display-message' while intercepting additions
+       to `erc-timer-hook' made by date-stamp-related post-insertion hooks.
+       (erc-tests-common-snapshot-compare): Insert expected output into its
+       own buffer for easier review during interactive sessions.  This change
+       is unrelated to the rest of this commit.  (Bug#60936)
+
+2024-04-19  F. Jason Park  <jp@neverwas.me>
+
+       Improve erc-fill-wrap-merge refilling and movement
+
+       * lisp/erc/erc-fill.el (erc-fill--wrap-escape-hidden-speaker): Add
+       parameter to suppress escaping of hidden prefixes.
+       (erc-fill--wrap-beginning-of-line): Remember original value of point,
+       and pass it to `erc-fill--wrap-escape-hidden-speaker'.
+       (erc-fill--wrap-previous-line, erc-fill--wrap-next-line): Guard call
+       to `erc-fill--wrap-escape-hidden-speaker' with conditional check for
+       `erc-fill-wrap-merge'.
+       (erc-fill--wrap-insert-merged-pre): Add additional text property,
+       `erc-fill--wrap-merge', to help identify `display' regions servicing
+       `erc-fill-wrap-merge'.  This should make resolving inconsistencies
+       easier when "splicing" new messages between existing ones.
+       (erc-fill-wrap): Add `erc-fill--wrap-merge' text property to merged
+       speaker region.
+       (erc-fill--wrap-rejigger-region): Remove assertion disallowing a
+       non-nil `erc-fill--wrap-rejigger-last-message'.  Instead, adopt the
+       existing value of that variable when shadowing it for the remaining
+       extent of the function's execution.  When removing the `display'
+       property, also look for nonempty replacement text, such as values
+       specified by the option `erc-fill-wrap-merge-indicator'.
+       (erc-fill--wrap-merged-button-p): Look for `erc-fill--wrap-merge'
+       property instead of `display'.
+       * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
+       * 
test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-pre-01.eld:
+       Update.
+       * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
+       (Bug#60936)
+
+2024-04-19  F. Jason Park  <jp@neverwas.me>
+
+       Simplify option erc-merge-wrap-merge-indicator
+
+       * lisp/erc/erc-fill.el (erc-fill-wrap-merge-indicator): Reduce
+       offering of acceptable values by removing leading symbols and ditching
+       the `post' variant entirely.  The justification for the latter move
+       hinges on it not being well suited to next-gen requirements involving
+       the splicing and deletion of inserted messages.  Meeting these would
+       be overly burdensome and involve scanning the buffer in both
+       directions for every such operation.  This option is new in ERC 5.6,
+       which is yet unreleased.
+       (erc-fill--wrap-massage-legacy-indicator-type): New function to warn
+       of obsolete `erc-fill-wrap-merge-indicator' value and perform a
+       migration for the current session.
+       (erc-fill-wrap, erc-fill-wrap-enable): Preform preflight compat check
+       for obsolete `erc-fill-wrap-merge-indicator' value types.
+       (erc-fill-wrap-disable): Don't bother killing nonexistent variable
+       `erc-fill--wrap-merge-indicator-post'.
+       (erc-fill--wrap-merge-indicator-post): Remove unused variable.
+       (erc-fill--wrap-insert-merged-post): Remove unused function.
+       (erc-fill--wrap-insert-merged-pre): Adapt to simplified format for
+       option `erc-merge-wrap-merge-indicator'.
+       (erc-fill-wrap): Remove conditional dispatch because there is only one
+       path and only one indicator style.
+       (erc-fill--wrap-rejigger-region): Remove reference to nonexistent
+       variable `erc-fill--wrap-merge-indicator-post'.
+       * test/lisp/erc/erc-fill-tests.el
+       (erc-fill-wrap--merge-action/indicator-pre): Update format of value
+       for option `erc-fill-wrap-merge-indicator'.
+       (erc-fill-wrap--merge-action/indicator-post): Remove test focusing on
+       obsolete and unsupported `post' variant of option
+       `erc-fill-wrap-merge-indicator'.
+       (erc-fill--wrap-massage-legacy-indicator-type): New test.
+       * 
test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-post-01.eld:
+       Delete file.  (Bug#60936)
+
+2024-04-19  Theodor Thornhill  <theo@thornhill.no>
+
+       Make publishDiagnostics faster by using cached variable
+
+       * lisp/progmodes/eglot.el (eglot--cached-tdi): Move variable.
+       (eglot-handle-notification): Expose 'server' and search through managed
+       buffers for a cached textDocumentIdentifier, which has a file-truename
+       resolved path.
+       * test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink): Add
+       regression test for symlink behavior
+
+2024-04-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       New user option tramp-inhibit-errors-if-setting-file-attributes-fail
+
+       * doc/misc/tramp.texi (Frequently Asked Questions):
+       Explain tramp-inhibit-errors-if-setting-file-attributes-fail.
+
+       * lisp/net/tramp.el
+       (tramp-inhibit-errors-if-setting-file-attributes-fail): New defcustom.
+       (tramp-skeleton-set-file-modes-times-uid-gid): Use it.
+
+2024-04-19  Po Lu  <luangruo@yahoo.com>
+
+       * java/INSTALL: Update instructions.
+
+2024-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (eglot--signal-textDocument/didChange): Fix tests
+
+       The tests call `eglot--signal-textDocument/didChange` eagerly,
+       which means in the case where we use `track-changes` that they
+       call it before the tracker's signal has been called.
+       So make sure we fetch pending changes even if we haven't yet
+       been notified of them, and make sure `eglot--versioned-identifier`
+       is incremented even when the signal is not called.
+
+       * lisp/progmodes/eglot.el (eglot--track-changes-fetch)
+       (eglot--after-change): Increment `eglot--versioned-identifier` here...
+       (eglot--track-changes-signal): ...instead of here.
+       (eglot--signal-textDocument/didChange): Try and fetch changes even if 
the
+       tracker's signal wasn't called yet.
+
+       * test/lisp/progmodes/eglot-tests.el (eglot-tests--get): New function.
+       (eglot-tests--lsp-abiding-column-1): Use it.
+
+2024-04-18  Juri Linkov  <juri@linkov.net>
+
+       Drag tabs to reorder buffers on the tab line.
+
+       * lisp/tab-line.el (tab-line-mouse-move-tab):
+       New command bound to [tab-line drag-mouse-1].
+
+2024-04-18  João Távora  <joaotavora@gmail.com>
+
+       Better way to fix bug#70036
+
+       Cache a new eglot--cached-tdi var per buffer, which contains value to
+       return from eglot--TextDocumentIdentifier.
+
+       This avoids frequent expensive recomputation of a value that requires
+       potentially many 'file-truename' calls.  This technique is used in a
+       number of other cases already, like eglot--recent-changes or
+       eglot--versioned-identifier.
+
+       * lisp/progmodes/eglot.el (eglot--cached-tdi): New variable.
+       (eglot--TextDocumentIdentifier): Tweak.
+       (eglot--signal-textDocument/didOpen): Clear eglot--cached-tdi.
+
+2024-04-18  João Távora  <joaotavora@gmail.com>
+
+       Revert "Don't use file-truepath in Eglot (bug#70036)"
+
+       This reverts commit 08c80c45ddea17df87fc768a39dff353ccc13d3b.
+
+       It introduces bugs when a project contains symlinked files.  The server
+       will be informed of duplicate documents which are really the same and it
+       frequently has no means to deduplicate such information.
+
+       This leads to bugs such as excessive textDocument/references to a
+       function.
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): Revert change.
+       (eglot-uri-to-path): Revert change.
+       (eglot--on-shutdown): Revert change.
+       (eglot--managed-mode): Revert change.
+       (eglot-handle-notification textDocument/publishDiagnostics): Revert 
change.
+
+2024-04-18  Stephen Berman  <stephen.berman@gmx.net>
+
+       Don't error on tabbing to a widget at BOB (bug#69943)
+
+       * lisp/wid-edit.el (widget-move): Don't move backward when at
+       beginning of buffer, and keep point on widget's left side.
+
+       * test/lisp/wid-edit-tests.el (widget-test-widget-move): Test that
+       moving to a widget at beginning of buffer does not signal a
+       beginning-of-buffer error.
+
+2024-04-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Ensure that specbind arg is always bare symbol, and drop check
+
+       * src/eval.c (FletX, Flet, internal_lisp_condition_case)
+       (funcall_lambda): Ensure that the first argument to `specbind` is
+       a bare symbol in the few cases where this isn't statically guaranteed.
+       (specbind): Drop the symbol argument type check on the fast path.
+
+2024-04-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Drop unnecessary type check in varref and varset byte ops
+
+       * src/bytecode.c (exec_byte_code):
+       We can safely assume that the immediate argument to varref and varset
+       is a bare symbol; the byte-compiler should guarantee that.
+
+2024-04-18  Augusto Stoffel  <arstoffel@gmail.com>
+
+       Obsolete comint-osc symbols moved to ansi-osc.el
+
+       * lisp/comint.el (comint-osc-handlers)
+       (comint-osc-directory-tracker, comint-osc-hyperlink-handler)
+       (comint-osc-hyperlink, comint-osc-hyperlink-map): Mark as
+       obsolete.  (Bug#70375)
+
+2024-04-18  Siddharth Sharma  <siddharth.sharma@ericsson.com>  (tiny change)
+
+       Add YANG LSP support to Eglot
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add
+       'yang-language-server' and 'json-ts-mode'.  (Bug#70364)
+
+2024-04-18  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add font-locking for Go built-in functions in go-ts-mode
+
+       * lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
+       Add font-locking for Go built-in functions to 'go-ts-mode'.
+       (Bug#70362)
+
+2024-04-18  Dagfinn Ilmari Mannsåker  <ilmari@ilmari.org>
+
+       Avoid unnecessary escaping in 'url-build-query-string'
+
+       * lisp/url/url-util.el (url-query-key-value-allowed-chars):
+       New defconst.
+       (url-build-query-string): Use it to escape only those
+       characters that need it in keys and values.
+       * test/lisp/url/url-util-tests.el (url-util-tests): Add
+       new test cases.  (Bug#70312)
+
+2024-04-18  Elias G. B. Perez  <eg642616@gmail.com>
+
+       Flymake support for indicating errors in margin
+
+       Add optional support for display flymake error in margin,
+       this allow displaying error indicators in both graphical and
+       terminal frames.
+       * doc/misc/flymake.texi (Customizable variables)
+       (Flymake error types): Document new margin indicator.
+       * etc/NEWS: Announce the new Flymake user option for margin
+       indicators.
+       * lisp/progmodes/flymake.el (flymake-indicator-type)
+       (flymake-margin-indicators-string, flymake-autoresize-margins)
+       (flymake-margin-indicator-position): New user options.
+       (flymake--original-margin-width): Add buffer-local variable for
+       store original buffer margin width.
+       (flymake-error, flymake-warning, flymake-note): Use new margin
+       value.
+       (flymake--indicator-overlay-spec): Rework and Rename from
+       flymake--fringe-overlay-spec.
+       (flymake--resize-margins): Add new function for resize margin
+       width.
+       (flymake--highlight-line, flymake-mode): Rework.
+
+2024-04-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix sending input to SQL when point is not at EOB
+
+       * lisp/progmodes/sql.el (sql-send-string): Move point to EOB
+       before sending input to the SQL process.  Suggested by Gary Hollis
+       <ghollisjr@gmail.com>.  (Bug#69420)
+
+2024-04-18  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-line.el: Use the new keyword :key for 'sort'.
+
+       (tab-line-tabs-fixed-window-buffers): Use :key for 'sort'.
+       Rename the window parameter 'tab-line-fixed-window-buffers'
+       to shorter 'tab-line-buffers'.  Add '(tab-line-buffers . writable)
+       to window-persistent-parameters.
+
+2024-04-18  Po Lu  <luangruo@yahoo.com>
+
+       Correctly verify availability of Android content URIs
+
+       * java/org/gnu/emacs/EmacsService.java (checkContentUri): Call
+       checkUriPermission with IPC-effective PID and UID rather than
+       checkCallingUriPermission, which never considers permissions of
+       Emacs itself, and delete the now-redundant workaround.
+
+2024-04-17  Augusto Stoffel  <arstoffel@gmail.com>
+
+       Propagate 'lexical-binding' value to pp buffers
+
+       See bug#70137.
+
+       * lisp/emacs-lisp/pp.el (pp-display-expression): Set lexical-binding to
+       match the value in the calling buffer.
+
+2024-04-17  Theodor Thornhill  <theo@thornhill.no>
+
+       Document earlier change in eglot-report-progress
+
+       * lisp/progmodes/eglot.el (eglot-report-progress): Document the changed
+       behavior.
+       * etc/EGLOT-NEWS (https): Mention the change.
+
+2024-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (conf-toml-recognize-section): Fix bug#70383
+
+       * lisp/textmodes/conf-mode.el (conf-toml-recognize-section): Move
+       point, like font-lock matchers are expected to do.
+
+2024-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       eglot.el: Remove accidentally included debugging code
+
+       * lisp/progmodes/eglot.el (eglot--signal-textDocument/didChange):
+       Remove leftover debug message.
+
+2024-04-17  Juri Linkov  <juri@linkov.net>
+
+       * lisp/emacs-lisp/icons.el (define-icon): Add 'doc-string' to 'declare'.
+
+2024-04-17  Juri Linkov  <juri@linkov.net>
+
+       New keymap tab-line-mode-map and new tab order on tab-line (bug#69993)
+
+       * lisp/tab-line.el (tab-line-new-button-functions): New variable.
+       (tab-line-tabs-function): Change the default value from
+       'tab-line-tabs-window-buffers' to the new option
+       'tab-line-tabs-fixed-window-buffers'.
+       (tab-line-tabs-buffer-group-sort-function): Change the default
+       value from nil to 'tab-line-tabs-buffer-group-sort-by-name'.
+       (tab-line-tabs-buffer-group-sort-by-name): New function.
+       (tab-line-tabs-fixed-window-buffers): New function.
+       (tab-line-format-template): Use 'tab-line-new-button-functions'.
+       (tab-line-mode-map, tab-line-switch-repeat-map): New keymaps.
+
+2024-04-17  Stephen Berman  <stephen.berman@gmx.net>
+
+       Allow tabbing between widgets to skip inactive widgets (bug#70413)
+
+       * doc/misc/widget.texi (Widgets and the Buffer, Customization):
+       Document it.
+
+       * etc/NEWS: Announce it.
+
+       * lisp/wid-edit.el (widget-skip-inactive): New user option.
+       (widget-tabable-at): Use it.
+
+2024-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/track-changes.el: Fix trailer
+
+2024-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       track-changes.el: Fix last change for early use
+
+       * lisp/emacs-lisp/track-changes.el (track-changes--recover-from-error):
+       Don't burp if there have been fewer than 20 keystrokes since Emacs 
start.
+
+2024-04-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Another fix for bug#70385
+
+       * src/xdisp.c (note_fringe_highlight): Check value of x_y_to_hpos_vpos.
+
+2024-04-17  Juri Linkov  <juri@linkov.net>
+
+       * lisp/emacs-lisp/lisp.el (forward-sexp-function): Set back to nil.
+
+       (forward-sexp): Revert back to checking 'forward-sexp-function'
+       for nil (bug#70426).
+
+2024-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       track-changes.el: Minor changes for version 1.0
+
+       Arrange for the library to be usable on older Emacsen, which
+       includes reducing the noise when `before/after-change-functions`
+       are badly paired or missing.
+       Also, since the signal function receives the distance (for `:disjoint`),
+       we don't need `track-changes--disjoint-threshold`: the signal
+       function can simply do nothing when the distance is smaller than
+       the threshold it wants to use.
+
+       * lisp/emacs-lisp/track-changes.el: Prepare header for ELPA.
+       (track-changes--tracker, track-changes--state): Don't use `:noinline`,
+       so as to be compatible with Emacs<27.
+       (track-changes-record-errors): New variable.
+       (track-changes--recover-from-error): Use it.  Record only the last 20
+       keys and the last 50 stack frames in the error log.
+       (track-changes--disjoint-threshold): Delete variable.
+       (track-changes--before): Don't use it any more.
+
+       * lisp/progmodes/eglot.el (eglot--track-changes-signal):
+       Coalesce disjoint changes nearer than what used to be coalesced because 
of
+       `track-changes--disjoint-threshold`.
+
+2024-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl-defstruct): Improve handling of unknown options
+
+       Until now `cl-defstruct` signaled an error when encountering an
+       unknown option.  It's easy to code and it does the job, but it
+       doesn't give good location info in the compiler's output,
+       and it makes it more painful to use not-yet-supported options.
+       So just signal a warning instead.
+
+       * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Warn about unknown
+       options, instead of signaling an error.
+
+2024-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * src/xdisp.c (note_fringe_highlight): Another attempt to fix bug#70385.
+
+2024-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Minor fix in detecting recursive redisplay invocations
+
+       * src/xdisp.c (redisplay_internal): Detect recursive invocations
+       earlier.  (Bug#66416)
+
+2024-04-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "; Improvements to PEG documentation"
+
+       This reverts commit 930c578c1042e6372e5433e31b2ea801315c01c9.
+       Looks like an editing mistake ate a large part of the text.
+
+2024-04-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tree-sitter job on EMBA
+
+       * test/infra/gitlab-ci.yml (.tree-sitter-template)
+       (test-tree-sitter): Adapt tree-sitter job.
+
+2024-04-16  Po Lu  <luangruo@yahoo.com>
+
+       Fix touch screen hscroll when initiated from widgets
+
+       * lisp/wid-edit.el (widget-button--check-and-call-button):
+       Return to the position of point during the tracking loop if a
+       touch event is canceled.
+
+2024-04-16  Po Lu  <luangruo@yahoo.com>
+
+       Another fix for bug#70385
+
+       * src/xdisp.c (note_fringe_highlight): Test that vpos falls
+       within W->current_matrix.  (bug#70385)
+
+2024-04-16  Juri Linkov  <juri@linkov.net>
+
+       Support prefix argument for switching tabs in tab-line-mode
+
+       * lisp/tab-line.el (tab-line-select-tab-buffer): Optimize.
+       (tab-line-switch-cycling): Enable by default like in tab-bar-mode.
+       (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab):
+       Add a prefix argument ARG and support it for switching tabs.
+       Improve docstring.
+
+2024-04-16  Noah Peart  <noah.v.peart@gmail.com>
+
+       Add font-locking for operators in go-ts-mode (bug#70361)
+
+       * lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings): Add
+       font-locking rule for Go operators.
+
+2024-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (track-changes-fetch): Fix nested use case
+
+       * lisp/emacs-lisp/track-changes.el (track-changes-fetch):
+       Don't presume that if there's nothing to do we're on
+       `track-changes--clean-trackers`.
+
+2024-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (track-changes--before): Fix bug#70396
+
+       * lisp/emacs-lisp/track-changes.el (track-changes--before):
+       Widen the buffer before accessing it with positions
+       potentially outside the beg..end region.
+
+2024-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix resetting the frame's 'frozen_window_starts' flag
+
+       * src/window.c (grow_mini_window, shrink_mini_window): Reimplement
+       how the frame's 'frozen_window_starts' flag is set and reset, to
+       make sure it is always reset when the mini-window gets to its
+       normal one-line height.  Patch by Martin Rudalics
+       <rudalics@gmx.at> (Bug#70038)
+
+2024-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix display of @xref documentation in Info
+
+       * lisp/info.el (Info--dont-hide-references): New variable.
+       (Info-fontify-node): Use 'Info--dont-hide-references' to disable
+       hiding "*Note" or showing "See" instead of it in select nodes.
+       (Bug#70382)
+
+2024-04-15  Po Lu  <luangruo@yahoo.com>
+
+       Rewrite Android description of Android window management
+
+       * doc/emacs/android.texi (Android Environment): Rewrite several
+       paragraphs to better reflect recent changes and emphasize
+       behavior on modern OS releases.
+
+2024-04-15  Martin Rudalics  <rudalics@gmx.at>
+
+       Make 'buffer-last-name' work better after 'find-alternate-file' 
(Bug#68235)
+
+       * lisp/files.el (find-alternate-file): Before killing the previous
+       buffer, try to restore its name and filenames (Bug#68235).
+
+2024-04-15  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#70385
+
+       * src/xdisp.c (note_fringe_highlight): Don't proceed if
+       popup_activated, window is outdated, or when row beneath pointer
+       does not display text.  (bug#70385)
+
+2024-04-14  Mattias Engdegård  <mattiase@acm.org>
+
+       GC-mark temporary key values created when sorting (bug#69709)
+
+       Bug reported and fix proposed by Aris Spathis.
+
+       * src/sort.c (merge_markmem): Mark heap-allocated temporary key values.
+       (tim_sort): Delay key function calls to after marking function has been
+       registered.
+       * test/src/fns-tests.el (fns-tests-sort-gc): New test.
+
+2024-04-14  Juri Linkov  <juri@linkov.net>
+
+       Add 'forward-sexp-default-function' to be used by 'treesit-forward-sexp'
+
+       * lisp/emacs-lisp/lisp.el (forward-sexp-default-function):
+       New function with body from 'forward-sexp' (bug#68993).
+       (forward-sexp-function): Change the default value from nil to
+       'forward-sexp-default-function'.
+       (forward-sexp): Use either 'forward-sexp-function' or
+       'forward-sexp-default-function'.
+
+       * lisp/treesit.el (treesit-forward-sexp): In nodes of type 'text'
+       fall back to 'forward-sexp-default-function'.  Improve docstring.
+
+       * doc/lispref/positions.texi (List Motion): Fix pxref.
+
+2024-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       text.texi (Tracking changes): Fix warning
+
+       * doc/lispref/text.texi (Change Hooks): Add a menu to silence warnings.
+       (Tracking changes): Improve the title.
+
+2024-04-14  Earl Hyatt  <okamsn@protonmail.com>
+
+       Add command 'list-keyboard-macros' that works like 'list-buffers'.
+
+       The command 'list-keyboard-macros' allows editing and re-arranging
+       macros using 'tabulated-list-mode'.  Existing keyboard macros can be
+       duplicated or deleted.  Macro counters and counter formats can take new
+       values read from the minibuffer.  Macro keys can be edited using
+       'edit-kbd-macro'.
+
+       * doc/emacs/kmacro.texi (Kmacro Menu): Document the new command
+       and the menu's commands.
+       * etc/NEWS (Kmacro Menu Mode): Mention the new mode and command.
+       * lisp/kmacro.el (kmacro-menu-mark, kmacro-menu-marked)
+       (kmacro-menu-flagged): Add faces for marks and flags.
+       * lisp/kmacro.el (kmacro-menu-mode-map, kmacro-menu-mode): Add mode
+       and map.
+       * lisp/kmacro.el (list-keyboard-macros, kmacro-menu): Add command.
+       * lisp/kmacro.el (kmacro-menu--deletion-flags, kmacro-menu--marks)
+       (kmacro-menu--id-kmacro, kmacro-menu--id-position, kmacro-menu--kmacros)
+       (kmacro-menu--refresh, kmacro-menu--map-ids, kmacro-menu--replace-all)
+       (kmacro-menu--replace-at, kmacro-menu--query-revert, 
kmacro-menu--assert-row)
+       (kmacro-menu--propertize-keys, kmacro-menu--do-region)
+       (kmacro-menu--marks-exist-p): Add utility functions of mode
+       and commands.
+       * lisp/kmacro.el (kmacro-menu-mark, kmacro-menu-flag-for-deletion)
+       (kmacro-menu-unmark, kmacro-menu-unmark-backward)
+       (kmacro-menu-unmark-all): Add commands for marks and flags.
+       * lisp/kmacro.el (kmacro-menu-do-flagged-delete, kmacro-menu-do-copy)
+       (kmacro-menu-do-delete): Add commands that modify the ring.
+       * lisp/kmacro.el (kmacro-menu-edit-position, kmacro-menu-transpose)
+       (kmacro-menu-edit-format, kmacro-menu-edit-counter)
+       (kmacro-menu-edit-keys, kmacro-menu-edit-column): Add commands that
+       modify a keyboard macro.
+
+2024-04-14  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Don't start fontifying in the middle of an identifier
+
+       This fixes bug#70367.
+
+       * lisp/progmodes/cc-mode.el (c-fl-decl-start): After searching
+       backwards for the end of the previous statement, check whether
+       or not we found it.
+
+2024-04-14  Po Lu  <luangruo@yahoo.com>
+
+       Remove leftover tasks from previous Emacs sessions on startup
+
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Call
+       removeOldTasks.
+
+       * java/org/gnu/emacs/EmacsWindowManager.java (removeOldTasks):
+       New function.
+
+       * java/proguard.conf: Optimize optimizer configuration.
+
+2024-04-13  Arash Esbati  <arash@gnu.org>
+
+       Recognize multicite macros from biblatex
+
+       * lisp/textmodes/reftex-cite.el (reftex-all-used-citation-keys):
+       Match the citation keys used with multicite macros provided by
+       biblatex.  (bug#38249)
+
+       * test/lisp/textmodes/reftex-tests.el
+       (reftex-all-used-citation-keys): Adjust test accordingly.
+
+2024-04-13  Justin Burkett  <justin@burkett.cc>
+
+       Add more debugging information
+
+       Add more debugging info to which-key--create-pages
+
+2024-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       peg-tests.el: Fix test failures
+
+       * lisp/progmodes/peg.el (peg-parse): Refine heuristic since unknown
+       terminals are resolved at run-time rather than compile-time now.
+       (peg--macroexpand) <stack-action>: Avoid generating a `let` with an
+       empty body.
+       (peg--translate-rule-body): Adjust to name change of
+       `macroexp-warn-and-return` and the fact that it's always available.
+
+       * test/lisp/progmodes/peg-tests.el (peg-parse-string):
+       Add `indent` declaration.
+       (peg-test): Check that the compiler emits the warnings we expect.
+
+2024-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (define-globalized-minor-mode): Require the use of `run-mode-hooks`
+
+       When `define-globalized-minor-mode` was introduced (Emacs-22),
+       `run-mode-hooks` was brand new, so we could not expect all major
+       modes to use it and we had to rely on brittle workarounds to try
+       and approximate `after-change-major-mode-hook`.
+
+       These workarounds have undesirable side effects, and (we hope)
+       they're not needed any more now that virtually all major modes
+       have been changed to use `run-mode-hooks` (or
+       `define-derived-mode`).
+
+       * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
+       Rely only on `after-change-major-mode-hook`, remove the "cmhh"
+       [typo for the intended "cmmh", BTW] workaround.
+
+       * doc/lispref/modes.texi (Mode Hooks): Clarify the importance of
+       `after-change-major-mode-hook` w.r.t `define-globalized-minor-mode`.
+       (Defining Minor Modes): Rewrite the explanation of which buffers
+       are affected, including adjusting it to the fact that
+       `fundamental-mode` has used run `run-mode-hooks` for last 10 years.
+
+2024-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (define-globalized-minor-mode): Fix bug#58888
+
+       * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode) 
<MODE-cmhh>:
+       Try and detect well-behaved modes so they're not affected by
+       those which require the cmhh hack.
+
+2024-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'track-changes'
+
+2024-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/emacs-lisp/track-changes.el: New file (bug#70077)
+
+       This new package provides an API that is easier to use right than
+       our `*-change-functions` hooks.
+
+       The patch includes changes to `diff-mode.el` and `eglot.el` to
+       make use of this new package.
+
+       * lisp/emacs-lisp/track-changes.el: New file.
+       * test/lisp/emacs-lisp/track-changes-tests.el: New file.
+       * doc/lispref/text.texi (Tracking changes): New subsection.
+
+       * lisp/progmodes/eglot.el: Require `track-changes`.
+       (eglot--virtual-pos-to-lsp-position): New function.
+       (eglot--track-changes): New var.
+       (eglot--managed-mode): Use `track-changes-register` i.s.o
+       `after/before-change-functions` when available.
+       (eglot--track-changes-signal): New function, partly extracted from
+       `eglot--after-change`.
+       (eglot--after-change): Use it.
+       (eglot--track-changes-fetch): New function.
+       (eglot--signal-textDocument/didChange): Use it.
+
+       * lisp/vc/diff-mode.el: Require `track-changes`.
+       Also require `easy-mmode` before the `eval-when-compile`s.
+       (diff-unhandled-changes): Delete variable.
+       (diff-after-change-function): Delete function.
+       (diff--track-changes-function): Rename from `diff-post-command-hook`
+       and adjust to new calling convention.
+       (diff--track-changes): New variable.
+       (diff--track-changes-signal): New function.
+       (diff-mode, diff-minor-mode): Use it with `track-changes-register`.
+
+2024-04-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash upon call to Fset_fontset_font after X server disconnect
+
+       * src/image.c (free_image):
+
+       * src/xfaces.c (free_realized_face): Handle scenarios where
+       free_frame_faces is called with the display connection cut.
+
+       * src/xterm.c (x_free_frame_resources): Call free_frame_faces
+       unconditionally, lest fontsets for this dead frame contaminate
+       Vfontset_list and produce crashes afterwards.  (bug#66151)
+
+2024-04-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       f0300fb0597 ; Tweak "(emacs)Bug Reference" formatting/wording.
+       ea62a14ea3b Fix display of vscrolled windows
+       4cefa3c0b1f ; * doc/emacs/files.texi (Backup): Clarify "saving" (bug#...
+       db7b571aaaf ; Improve documentation of 'world-clock'
+       6a0bb7beae3 * doc/emacs/misc.texi (emacsclient Options): Suggest forw...
+       859b4227e3d Update go-ts-mode to support latest tree-sitter-go grammar
+       407e85ce139 Fix c++-ts-mode defun navigation (bug#65885)
+       aca5064f128 ; Fix last change.
+       55aab2d4710 ; * etc/PROBLEMS: An entry about focus issues with XFCE (...
+       19cee16576e ; * doc/emacs/misc.texi (emacsclient Options): Fix typo. ...
+       2a41b6ba514 ; * src/filelock.c (Flock_file): Doc fix (bug#70216).
+
+2024-04-13  Vladimir Kazanov  <vekazanov@gmail.com>
+
+       Support tooltips for fringe indicators
+
+       * src/xdisp.c (note_fringe_highlight): New function.
+       (note_mouse_highlight): Call it when the mouse is on the fringes.
+       * src/frame.c (syms_of_frame) <left-fringe-help>
+       <right-fringe-help>: DEFSYM them.
+
+       * etc/NEWS:
+       * doc/lispref/text.texi (Special Properties):
+       * doc/lispref/display.texi (Other Display Specs): Document the new
+       properties.
+       * etc/TODO: Remove the todo item about this.
+
+2024-04-13  Philip Kaludercic  <philipk@posteo.net>
+
+       Allow 'help-quick' to use a non-global keymap
+
+       * lisp/help.el (help-quick-sections): Mention
+       'help-quick-use-map' in docstring.
+       (help-quick-use-map): Add new variable, defaulting to the
+       global-map.
+       (help-quick): Use new variable.
+
+2024-04-13  john muhl  <jm@pub.pink>
+
+       Mark Flymake regions more accurately in 'lua-ts-mode'
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-flymake-luacheck): Use
+       the end position provided by Luacheck rather than relying on
+       'thing-at-point' to guess where the end should be.  (Bug#70167)
+
+2024-04-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix Icalendar export with ISO dates
+
+       * lisp/calendar/icalendar.el (icalendar--datestring-to-isodate):
+       Accept dashes in ISO-style numeric dates.  Patch by Erwan Hingant
+       <erwan.hingant@mailo.com>. (Bug#69894)
+
+       * test/lisp/calendar/icalendar-tests.el
+       (icalendar--datestring-to-isodate): Add a test for dashes in
+       ISO-style numeric dates.
+
+2024-04-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix task-switching failures on Android 2.3
+
+       * java/org/gnu/emacs/EmacsWindowManager.java (registerWindow):
+       Don't specify F_A_MULTIPLE_TASK on Android 4.4 and earlier.
+
+2024-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (elisp-tests-syntax-propertize): New test for bug#24542
+
+       * test/lisp/progmodes/elisp-mode-tests.el 
(elisp-tests-syntax-propertize):
+       New test.
+
+2024-04-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       rcs2log now groks add-log-time-zone rule
+
+       * lib-src/rcs2log (extractTZ): Adjust to renaming of
+       change-log-time-zone-rule to add-log-time-zone rule, by allowing
+       either spelling.
+
+2024-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (emacs-lisp-mode-syntax-table): Fix bug#24542
+
+       * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table):
+       Remove `p` from the flags of `@`.
+
+2024-04-12  Juri Linkov  <juri@linkov.net>
+
+       * lisp/buff-menu.el: Improve 'Buffer-menu-group-by-mode' (bug#70150).
+
+       (Buffer-menu-group-by): Replace function-item with const
+       better suitable for Customization UI.
+       (Buffer-menu-group-by-mode): Use 'mouse-buffer-menu-mode-groups'
+       to group buffers by mode.
+
+2024-04-12  Juri Linkov  <juri@linkov.net>
+
+       New user option 'tab-line-tabs-buffer-group-function'
+
+       * lisp/tab-line.el (tab-line-tabs-buffer-group-function):
+       Turn defvar into defcustom with the default value
+       'tab-line-tabs-buffer-group-by-mode'.
+       (tab-line-tabs-buffer-group-by-mode): New function with body from
+       'tab-line-tabs-buffer-group-name'.
+       (tab-line-tabs-buffer-group-by-project): New function.
+       (tab-line-tabs-buffer-groups): Use fallback name "No group" instead of 
"All".
+
+2024-04-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve D-Bus byte-array conversion
+
+       * doc/misc/dbus.texi (Type Conversion): Adapt dbus-byte-array-to-string.
+
+       * etc/NEWS: D-Bus byte array conversion works over raw UTF-8 bytes.
+       Fix typos.
+
+       * lisp/net/dbus.el (dbus-string-to-byte-array)
+       (dbus-byte-array-to-string): BYTE-ARRAY must be an UTF-8 raw bytes
+       sequence.  Make optional argument MULTIBYTE obsolete.  (Bug#70301)
+       (dbus-call-method-handler, dbus-register-signal)
+       (dbus-escape-as-identifier): Use `length=' and `length>'.
+
+       * test/lisp/net/dbus-tests.el (dbus--test-method-handler)
+       (dbus-test09-get-managed-objects): Use `length='.
+       (dbus-test01-type-conversion): Extend test.
+
+       * test/lisp/net/secrets-tests.el (secrets-test03-items): Extend test.
+
+2024-04-12  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Display Info buffer after ensuring it contains text
+
+       * lisp/info.el (info-pop-to-buffer): Move display of Info buffer
+       to a later stage after its text contents is ready to display.
+       This helps to use fit-window-to-buffer in display-buffer-alist 
(bug#70213).
+
+2024-04-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       minibuffer-completion-help: Fix regression when END < EOB
+
+       Which can happen with in-buffer completion (though this scenario
+       is preffed off by default).
+
+       * lisp/minibuffer.el (minibuffer-completion-help): Include the
+       buffer contents after END into BASE-SUFFIX (bug#48356).
+
+2024-04-11  Eli Zaretskii  <eliz@gnu.org>
+
+       etags-regen--tags-generate: Handle spaces in project root name
+
+       * lisp/progmodes/etags-regen.el (etags-regen--tags-generate):
+       Quote the tags file name (bug#70329).
+
+2024-04-11  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix file names with embedded whitespace in Ediff
+
+       * lisp/vc/ediff-ptch.el (ediff-patch-file-internal): Quote file
+       names that can include special characters.  (Bug#70329)
+
+2024-04-11  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't hide flymake diagnostics on empty first line (bug#70310)
+
+       A diagnostic first in the buffer, typically the lexical cookie warning,
+       got lost if that line was empty.
+
+       * lisp/progmodes/elisp-mode.el (elisp-flymake--byte-compile-done):
+       Make sure the location interval doesn't go beyond the buffer bounds.
+
+2024-04-11  Po Lu  <luangruo@yahoo.com>
+
+       Guarantee presence of emacs-module.h during cross-compilation
+
+       * cross/Makefile.in (src/emacs-module.h): New rule.
+       (src/libemacs.so): Depend on the same.
+
+2024-04-11  Po Lu  <luangruo@yahoo.com>
+
+       Guarantee presence of epaths.h during cross-compilation
+
+       * cross/Makefile.in (src/epaths.h): New rule.
+       (src/libemacs.so): Depend on the same.
+
+2024-04-11  Po Lu  <luangruo@yahoo.com>
+
+       Optimize R8 configuration
+
+       * java/org/gnu/emacs/EmacsWindowManager.java (WindowConsumer):
+       Mark as package-local.
+
+       * java/proguard.conf: List only symbols that must be preserved,
+       enabling R8 to optimize the remainder.
+
+2024-04-11  Po Lu  <luangruo@yahoo.com>
+
+       Adjust priority of Emacs background service notification
+
+       * java/org/gnu/emacs/EmacsService.java (onStartCommand): Reword
+       lightly and set importance to IMPORTANCE_LOW.
+
+2024-04-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Generalize the file-name specific workaround in 
minibuffer-completion-help
+
+       * lisp/minibuffer.el (completion-base-suffix):
+       New function (bug#48356).
+       (minibuffer-completion-help): Use it here.
+       (minibuffer-completion-help): Cut off the double completion
+       boundary when it occurs inside
+       completion-list-insert-choice-function..
+
+2024-04-10  Arash Esbati  <arash@gnu.org>
+
+       Suppress bogus messages in the echo area
+
+       * lisp/textmodes/reftex-dcr.el (reftex-view-crossref-when-idle):
+       Check if point inside a mandatory argument where the cite/ref key
+       usually resides.  For example, with \cite[45]{emacs:30} and point
+       on 4, the following bogus message in the echo area is suppressed:
+       "cite: no such database entry: \cite[45]".  (bug#38258)
+       Fix docstring.
+
+2024-04-10  Juri Linkov  <juri@linkov.net>
+
+       * doc/lispref/parsing.texi (Parsing Program Source): Fix menu.
+
+       Add the new node "User-defined Things" to the menu.
+
+2024-04-10  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Improve last change.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): New function.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr-symbol-p): Simplify.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr-fixnum-p): Fix.
+
+2024-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (en/decode_coding_object): Fix `after-change-functions`
+
+       For `en/decode-coding-string/region`, `after-change-functions`
+       were either not run at all, or run only after deleting the text
+       but not after inserting it.
+
+       * src/coding.c (decode_coding_object, encode_coding_object): Run the
+       after-change-functions after inserting the result.
+
+       * test/src/editfns-tests.el (sanity-check-change-functions-with-op):
+       New macro.
+       (sanity-check-change-functions-errors): New function.
+       (editfns-tests--before/after-change-functions): Use them to add
+       cases for `en/decode-coding-string/region`.
+
+2024-04-10  Po Lu  <luangruo@yahoo.com>
+
+       * java/Makefile.in (classes.dex): Make proguard.conf relative to srcdir.
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+       * java/proguard.conf: New file.
+
+2024-04-10  Po Lu  <luangruo@yahoo.com>
+
+       Optimize generated Android DEX bytecode
+
+       * configure.ac (D8): Attempt to locate the bundle where d8 is
+       installed, detect whether an installation of `r8' is similarly
+       present, and use this installation in place of d8 if so.
+
+       * java/Makefile.in (ANDROID_MIN_SDK, IS_D8_R8): New
+       substitutions.
+       (classes.dex): Provide --min-api, --debug or --release and
+       --pg-conf to d8 or r8.
+
+2024-04-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'format-seconds' when all values are zero and %z is used
+
+       * lisp/calendar/time-date.el (format-seconds): Fix all-zero time.
+
+       * test/lisp/calendar/time-date-tests.el (test-format-seconds): Add
+       two new tests.  (Bug#70322)
+
+2024-04-10  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/cl-macs.el (cl-typep): Add docstring.
+
+2024-04-10  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Add explicit binding to nil in let
+
+       * lisp/which-key.el (which-key--match-replacement,
+       which-key--propertize-key): Add explicit binding of case-fold-search to 
nil.
+
+2024-04-10  Po Lu  <luangruo@yahoo.com>
+
+       Recognize Android TLS certificates by default
+
+       * lisp/net/gnutls.el (gnutls-trustfiles): Append directories
+       holding system and user-provided certificates on Android.
+
+2024-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl--describe-class-slots): Avoid cryptic `t` type
+
+       * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Use the empty
+       string for the trivial `t` type.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl-structure-class):
+       Fix non-existing `bool` => `boolean`.
+
+2024-04-09  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Add Flymake backend to rust-ts-mode using Clippy
+
+       * lisp/progmodes/rust-ts-mode.el (rust-ts-flymake-command):
+       New option (bug#70260).
+       (rust-ts--flymake-proc): New variable.
+       (rust-ts-flymake--helper): New function.
+       (rust-ts-flymake): New function.
+       (rust-ts-mode): Add it to flymake-diagnostic-functions.
+
+2024-04-09  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Use null for clarity
+
+       * lisp/which-key.el (which-key--show-evil-operator-keymap): Use null for
+       clarity of zero length.
+
+2024-04-09  Jeremy Bryant  <jb@jeremybryant.net>
+
+       * lisp/which-key.el (which-key--show-evil-operator-keymap): let not let*
+
+       * lisp/which-key.el (which-key--create-pages-1): Use cl-decf for clarity
+
+       * lisp/which-key.el (which-key--partition-list): Replace cl-subseq by 
take
+
+2024-04-09  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Change cl-case to cl-ecase
+
+       * lisp/which-key.el (which-key--popup-max-dimensions):
+       Change cl-case to cl-ecase to signal error if needed.
+
+2024-04-09  Jeremy Bryant  <jb@jeremybryant.net>
+
+       * lisp/which-key.el (which-key--popup-max-dimensions): Fix docstring 
typo
+
+2024-04-09  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Replace wholenump by natnump for context readability
+
+       * lisp/which-key.el (which-key--width-or-percentage-to-width,
+       which-key--height-or-percentage-to-height): Use natnump instead of
+       wholenump.
+
+2024-04-09  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Simplify code to use null
+
+       * lisp/which-key.el (which-key--create-buffer-and-show):
+       Use null.
+
+2024-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (test-replace-match-modification-hooks): Delete test
+
+       * test/src/search-tests.el (test-replace-match-modification-hooks):
+       Delete, this is testing a functionality we can't really support.
+
+2024-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'mouse-wheel-buttons'
+
+2024-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (mouse-wheel-buttons): Map old-style wheel buttons to actual wheel 
events
+
+       Change the handling of the old X11 convention that uses mouse-4/5/6/7
+       events to represent wheel events: instead of asking downstream
+       packages to use the `mouse-wheel-*-event` variables to know which events
+       represent wheel events, use new var `mouse-wheel-buttons` to directly
+       convert those events into the standard `wheel-up/down/left/right` events
+       used everywhere else.
+
+       This will simplify the work of packages which can thus just bind their
+       commands to `wheel-up/down/left/right`.
+
+       * lisp/mouse.el (mouse-wheel-buttons): New custom variable.
+
+       * src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on the 
tab-bar.
+       * src/xterm.c (x_construct_mouse_click): Add `xi2` argument and
+       obey `mouse-wheel-buttons` variable.
+       (handle_one_xevent): Adjust calls accordingly.
+       (syms_of_xterm): Define the `mouse-wheel-buttons` and the
+       `wheel-up/down/left/right`symbols.
+
+       * lisp/xt-mouse.el: Don't require `mwheel` any more.
+       (xterm-mouse--same-button-p): Delete function.
+       (xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons`.
+
+       * lisp/mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event)
+       (mouse-wheel-left-event, mouse-wheel-right-event): Make obsolete.
+       (mouse-wheel-obey-old-style-wheel-buttons): Delete variable.
+
+       * lisp/completion-preview.el (completion-preview--mouse-map):
+       * lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
+       * lisp/edmacro.el (edmacro-fix-menu-commands): Silence warnings.
+
+2024-04-09  Arash Esbati  <arash@gnu.org>
+
+       Move over optional arguments in parentheses correctly
+
+       * lisp/textmodes/reftex-parse.el (reftex-move-to-previous-arg):
+       Recognize ')' as closing delimiter for optional argument.
+       Fix docstring.
+       (reftex-what-macro): Identify LaTeX macros with optional arguments
+       in parentheses correctly.  This is necessary to make
+       `reftex-view-crossref' work with biblatex on entries like:
+       \parencites(Glob.Pre)(Glob.Post)[Pre][Post]{key1}[Pre][Post]{key2}
+       (bug#31132)
+
+2024-04-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Inhibit flymake lexical cookie warning in *scratch* (bug#70068)
+
+       Add a hack to prevent flymake from complaining about a missing lexical
+       cookie when enabled in *scratch*.
+
+       * lisp/emacs-lisp/bytecomp.el
+       (bytecomp--inhibit-lexical-cookie-warning): New variable.
+       (byte-compile-file): Use it to gate the warning.
+       * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
+       Set the inhibitor when spawning a check in lisp-interaction-mode.
+
+2024-04-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix misalignment of entries created by Dired file operations
+
+       * lisp/dired.el (dired-insert-directory): Insert leading space
+       if absent before calling dired-align-file.
+
+2024-04-09  Juri Linkov  <juri@linkov.net>
+
+       Fix window-point-context-set and window-point-context-use (bug#33871)
+
+       * lisp/window.el (window-point-context-set)
+       (window-point-context-use): Add 'window-buffer' for 'buffer-name'.
+
+2024-04-09  Lin Sun  <sunlin7@hotmail.com>
+
+       Support more long time options in 'ls-lisp'
+
+       * lisp/ls-lisp.el (ls-lisp--sanitize-switches): Support '--time'
+       and '--sort=time'.  (Bug#70271)
+
+       * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug70271): New
+       test case.
+
+2024-04-09  Po Lu  <luangruo@yahoo.com>
+
+       Improve treatment of aborted touch events in Speedbar and elsewhere
+
+       * lisp/dframe.el (dframe-popup-kludge): Mark as a
+       mouse-1-menu-command.
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up): New
+       argument CANCELED.  Implement specific responses to cancellation
+       for each tool state.
+       (touch-screen-handle-touch): Adjust to match.
+
+2024-04-09  Po Lu  <luangruo@yahoo.com>
+
+       Disable tab-bar by default in Speedbar frames
+
+       * lisp/speedbar.el (speedbar-frame-parameters): Set
+       tab-bar-lines to 0.
+
+2024-04-09  Daniel Mendler  <mail@daniel-mendler.de>
+
+       (completion-hilit-commonality): Support `completion-lazy-hilit`
+
+       * lisp/minibuffer.el (completion-hilit-commonality): Support lazy
+       completion candidate highlighting via `completion-lazy-hilit`.
+
+2024-04-08  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of Text Mode
+
+       * doc/emacs/text.texi (Text Mode): Improve indexing.  Document
+       'text-mode-ispell-word-completion'.
+
+2024-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl--describe-class): Improve based on dicussion in bug#70077
+
+       * lisp/emacs-lisp/cl-extra.el (cl--describe-class): Move docstring
+       after the class' slots.
+       (cl--describe-class-slots): Buttonize the types.
+
+2024-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (define-globalized-minor-mode): Fix bug#69431
+
+       * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
+       When `after-change-major-mode-hook` runs, enable the mode only
+       in the current buffer and not in other pending buffers.
+
+2024-04-08  Stephen Berman  <stephen.berman@gmx.net>
+
+       Update INSTALL for native compilation of Lisp files
+
+       * INSTALL: Add section "Native compilation of Lisp files" under
+       ADDITIONAL DISTRIBUTION FILES and correspondingly augment item 6
+       of DETAILED BUILDING AND INSTALLATION.  In the latter also note
+       differences between in-source-tree and out-of-tree builds for
+       running 'src/emacs' uninstalled.
+
+2024-04-08  Andrea Corallo  <acorallo@gnu.org>
+
+       * Make comp ignore EIEIO classes (bug#70141)
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--all-classes): Ignore EIEIO 
classes.
+
+2024-04-08  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix out of date comp pass names in comp-tests.el
+
+       * test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1)
+       (comp-tests-pure): Update out of date pass names.
+
+2024-04-08  Yuan Fu  <casouri@gmail.com>
+
+       Document tree-sitter things feature (bug#70016) (bug#68824)
+
+       * doc/lispref/parsing.texi (Retrieving Nodes): Mention new kinds of
+       predicate argument that the tree-traversing functions accept (which are
+       thing symbols and thing definitions).
+       (User-defined Things): New node dedicated to thing definition and
+       navigation functions.
+
+2024-04-08  Yuan Fu  <casouri@gmail.com>
+
+       Make tree-sitter thing feature public and remove obsolete functions
+
+       * lisp/treesit.el (treesit--things-around): Remove function.
+       (treesit-forward-sexp):
+       (treesit-beginning-of-thing):
+       (treesit-end-of-thing):
+       (treesit-navigate-thing):
+       (treesit-thing-at-point):
+       (treesit-outline-search): Use public version of thing-functions.
+       (treesit--thing-prev):
+       (treesit--thing-next):
+       (treesit--thing-at):
+       (treesit--navigate-thing): Make public.
+
+       * test/src/treesit-tests.el (treesit--ert-test-defun-navigation): Use
+       public version of thing-functions.
+
+2024-04-07  F. Jason Park  <jp@neverwas.me>
+
+       Fix invisible erc-speedbar cursor in text terminals
+
+       * lisp/erc/erc-speedbar.el
+       (erc-speedbar--reset-last-ran-on-timer): Use `with-current-buffer'
+       instead of `setf' and `buffer-local-value'.
+       (erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable)
+       (erc-speedbar-toggle-nicknames-window-lock): Revise doc string.
+       (erc-speedbar-toggle-nicknames-window-lock): Set `cursor-type' in
+       speedbar buffer.
+       (erc-nickbar-toggle-nicknames-window-lock): New function alias.  Note
+       that this name flouts traditional library namespacing conventions.
+       * lisp/erc/erc-status-sidebar.el (erc-status-sidebar-get-window): Use
+       `cursor-type' instead of `internal-show-cursor'.  (Bug#63595)
+
+2024-04-07  F. Jason Park  <jp@neverwas.me>
+
+       Allow updating of /IGNORE timeouts in ERC
+
+       * lisp/erc/erc.el (erc--read-time-period, erc--decode-time-period):
+       Move body of former, now a superficial wrapper, to latter, a new
+       function.
+       (erc--format-time-period): New function.
+       (erc--get-ignore-timer-args): New function.
+       (erc--find-ignore-timer): New function to search through `timer-list'
+       to find matching ignore timer.
+       (erc-cmd-IGNORE): Refactor and redo doc string.  Add new optional
+       `timespec' parameter, primarily to aid in testing.  Update an existing
+       timer instead of always creating one, and display time remaining in
+       "ignore list" output.  Pass server buffer instead of current buffer to
+       timer callbacks because `erc--unignore-user' displays its messages in
+       the `active' buffer, not necessarily the issuing one.  Note that doing
+       this does discard potentially useful information, so if ever reverting,
+       we can change the `cl-find' :test in `erc--find-ignore-timer' to
+       something that compares the `erc-server-process' of both buffers.
+       ;;
+       ;; Something like:
+       ;;
+       ;; (defun erc--ignore-timers-equal-p (a b)
+       ;;   (and (equal (car a) (car b))
+       ;;        (eq (buffer-local-value 'erc-server-process (cadr a))
+       ;;            (buffer-local-value 'erc-server-process (cadr b)))))
+       ;;
+       (erc-cmd-UNIGNORE): Pass `erc-ignore-list' member matching `user'
+       parameter to `erc--unignore-user' instead of original, raw parameter,
+       along with the server buffer.
+       (erc--unignore-user): Cancel existing timer and don't bother switching
+       to server buffer since we're already there.
+       (erc-message-english-ignore-list): New variable.
+       * test/lisp/erc/erc-scenarios-ignore.el: New file.
+       * test/lisp/erc/erc-tests.el (erc--read-time-period): New test.
+       (erc-cmd-UNIGNORE): New test.  (Bug#70127)
+
+2024-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (Freplace_match): Fix bug#65451
+
+       * src/search.c (Freplace_match): For ordering of *-change-functions.
+
+       * test/src/editfns-tests.el
+       (editfns-tests--before/after-change-functions): New test.
+       (sanity-check--message, sanity-check-change-functions-error)
+       (sanity-check-change-functions-check-size)
+       (sanity-check-change-functions-before)
+       (sanity-check-change-functions-after): New functions.
+       (sanity-check--verbose, sanity-check-change-functions-beg)
+       (sanity-check-change-functions-end)
+       (sanity-check-change-functions-buffer-size)
+       (sanity-check-change-functions-errors): New vars.
+
+2024-04-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix truncation of long lines in compilation buffers
+
+       * lisp/progmodes/compile.el
+       (compilation--insert-abbreviated-line): Handle long lines that end
+       in a newline.  (Bug#70236)
+
+2024-04-07  Arash Esbati  <arash@gnu.org>
+
+       Fix tex-tabbing-separator alignment rule
+
+       * lisp/align.el (align-rules-list): Remove the check of
+       `latex-mode' with `eq' which doesn't work with newer AUCTeX mode
+       names and modes defined by user with `define-derived-mode'.
+       (bug#69187)
+
+2024-04-07  Po Lu  <luangruo@yahoo.com>
+
+       Resolve disagreements in accounting of tooltip positions on Android
+
+       * java/org/gnu/emacs/EmacsService.java (getLocationInWindow):
+       New function.
+
+       * java/org/gnu/emacs/EmacsWindow.java (translateCoordinates):
+       Derive "root window" position from the origin point of the
+       containing activity's window rather than that of the screen,
+       the two of which differ when "freeform mode" is enabled.
+
+2024-04-07  Lin Sun  <sunlin7@hotmail.com>
+
+       * lisp/master.el (master-says): Check nil argument (bug#70230).
+
+2024-04-07  Po Lu  <luangruo@yahoo.com>
+
+       Port new Android window management strategy to Android 5.0
+
+       * doc/emacs/android.texi (Android Windowing): Revise to match.
+
+       * java/org/gnu/emacs/EmacsWindowManager.java (registerWindow)
+       (removeWindowConsumer, pruneWindows): Decrease minimum API for
+       monitoring of tasks to Android 5.0.
+       (getTaskToken): Ignore misleading documentation and access
+       baseIntent by way of RecentTaskInfo.
+
+2024-04-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       3d87d74a23d ; * etc/PROBLEMS: Entry about slow mouse-wheel with GTK3 ...
+       c6899603b9c ; * doc/lispref/tips.texi (Documentation Tips): Improve (...
+       bd2c4d825db ; Update admin/make-tarball.txt
+       f107dc26e37 ; * etc/PROBLEMS: Add an entry about WebKitGTK (bug#66068).
+
+2024-04-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       46b8746b38e Fix warning-suppress for list type "warning type"
+       910ea5f1e55 Make object init more robust (bug#69571)
+
+2024-04-06  Jared Finder  <jared@finder.org>
+
+       Add documentation for 'switch-window' event
+
+       * doc/lispref/commands.texi (Focus Events): Add
+       documentation for the structure of 'switch-window' events.
+       Make sure to be clear when referring to window system windows
+       vs Emacs windows.
+       * doc/lispref/windows.texi (Mouse Window Auto-selection):
+       Adding cross-reference to "Focus Events".  (Bug#69915)
+
+2024-04-06  Olaf Rogalsky  <olaf.rogalsky@gmail.com>
+
+       Support 'mouse-autoselect-window' in xterm-mouse
+
+       Generate select-window events, so that 'mouse-autoselect-window'
+       takes effect on TTY frames, when 'xterm-mouse-mode' is enabled.
+       * lisp/xt-mouse.el (xterm-mouse-translate-1):
+       If 'mouse-autoselect-window' is non-nil, add select-window
+       events to 'unread-command-events'.  (Bug#69915)
+
+2024-04-06  Po Lu  <luangruo@yahoo.com>
+
+       Correct typos in and omissions from earlier Android port changes
+
+       * java/AndroidManifest.xml.in: Remove duplicate permissions.
+
+       * java/org/gnu/emacs/EmacsWindowManager.java
+       (removeWindowConsumer): Disregard isFinishing for non-initial
+       activities.
+
+2024-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (help-fns-function-description-header): Fix last change (bug#70209)
+
+       * lisp/help-fns.el (help-fns-function-description-header): Don't make
+       a button for the type if it's not a type.
+
+2024-04-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make sh-script-tests.el more robust
+
+       * test/lisp/progmodes/sh-script-tests.el (test-sh-script-indentation)
+       (test-basic-sh-indentation, test-indent-after-continuation):
+       * test/lisp/progmodes/sh-script-resources/sh-indents.erts (Code):
+       Skip if `sh-indent-supported-here' is nil.  (Bug#70196)
+
+2024-04-05  Juri Linkov  <juri@linkov.net>
+
+       Mark display-comint-buffer-action as obsolete after adding a category.
+
+       * lisp/window.el (display-comint-buffer-action):
+       Append '(category . comint)' to the default value.  Mark as obsolete.
+       (display-tex-shell-buffer-action):
+       Append '(category . tex-shell)' to the default value.  Mark as obsolete.
+       (bug#69983)
+
+2024-04-05  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-mode-map): New keymap (bug#69578).
+
+       (tab-bar-select-tab-modifiers): Call tab-bar--undefine-keys
+       before set-default in :set of defcustom.
+       (tab-bar--define-keys, tab-bar--undefine-keys):
+       Change keybindings in tab-bar-mode-map instead of the global map.
+       Move checking of global-key-binding to tab-bar-mode--tab-key-bind.
+       (tab-bar-mode--tab-key-bind): New internal function.
+
+2024-04-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Only call set-text-conversion-style if it exists
+
+       * lisp/auth-source.el (read-passwd): Guard call, as it was before the
+       code was moved here.
+       `set-text-conversion-style` is not present in all configurations.
+
+2024-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/help-fns.el (help-fns-function-description-header): Fix bug#70209
+
+       Replace the whimsical "" default by something actually useful.
+
+2024-04-05  Po Lu  <luangruo@yahoo.com>
+
+       Enable relinquishing access to Android content directories
+
+       * doc/emacs/android.texi (Android Document Providers): Document
+       new command.
+
+       * java/org/gnu/emacs/EmacsService.java (relinquishUriRights):
+       New function.
+
+       * src/Makefile.in (SOME_MACHINE_OBJECTS): Add androidvfs.c.
+
+       * src/android.c (android_init_emacs_service): Link to new
+       function.
+
+       * src/android.h (struct android_emacs_service)
+       <relinquish_uri_rights>: New field.
+
+       * src/androidfns.c:
+
+       * src/androidvfs.c (android_saf_tree_name)
+       (android_saf_tree_opendir): Minor adjustments to commentary.
+       (Fandroid_relinquish_directory_access): New function.
+       (syms_of_androidvfs): Define new subr.
+
+2024-04-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2024-04-05  Po Lu  <luangruo@yahoo.com>
+
+       Print records inside data-debug
+
+       * lisp/cedet/data-debug.el
+       (data-debug-insert-stuff-record-button): New function.
+       (data-debug-thing-alist): Register new function.
+
+2024-04-05  Po Lu  <luangruo@yahoo.com>
+
+       Define missing type in semantic/db-find.el
+
+       * lisp/cedet/semantic/db-find.el
+       (semanticdb-find-result-with-nil): New deftype.
+
+2024-04-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * lisp/hexl.el (hexl-mode): Fix doc string (bug#70163).
+
+2024-04-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix Semantic tag discovery when loading of unloaded files is suppressed
+
+       * lisp/cedet/semantic/db-find.el
+       (semanticdb-find-tags-by-name-method)
+       (semanticdb-find-tags-by-name-regexp-method)
+       (semanticdb-find-tags-for-completion-method)
+       (semanticdb-find-tags-by-class-method)
+       (semanticdb-find-tags-external-children-of-type-method)
+       (semanticdb-find-tags-subclasses-of-type-method)
+       (semanticdb-deep-find-tags-by-name-method)
+       (semanticdb-deep-find-tags-by-name-regexp-method)
+       (semanticdb-deep-find-tags-for-completion-method): Verify that
+       tags is bound before accessing it; this slot is unbound in
+       tables created for unloaded files when the `unloaded' throttle
+       is disabled.
+
+2024-04-05  Spencer Baugh  <sbaugh@janestreet.com>
+
+       (project-current): Fix the previous change
+
+       * lisp/progmodes/project.el (project-current):
+       Fix the previous change (bug#69584).
+
+2024-04-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt treesitter tests for EMBA
+
+       * test/infra/Makefile.in (TREE-SITTER-FILES): Add js-tests.el and
+       python-tests.el, which don't follow test file name convention.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2024-04-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       Move read-passwd* to auth-source.el, avoiding compilation warnings
+
+       * lisp/simple.el (read-passwd*):
+       * lisp/subr.el (read-passwd*): Move definitions ...
+
+       * lisp/auth-source.el: ... here.
+       (icons): Require.
+
+2024-04-04  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/json.c (make_symset_table): Fix over-large allocation size.
+
+       We multiplied when we should have added.  Oops.
+
+2024-04-04  Juri Linkov  <juri@linkov.net>
+
+       Disobey display actions while using switch-to-buffer on the tab-line
+
+       * lisp/tab-line.el (tab-line-select-tab-buffer)
+       (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab): Let-bind
+       switch-to-buffer-obey-display-actions to nil around the call to
+       switch-to-buffer to restrain buffer switching in bounds of
+       the same window only (bug#69993).
+
+2024-04-04  Po Lu  <luangruo@yahoo.com>
+
+       Remove redundant byte-swapping boundary
+
+       * src/sfnt.c (sfnt_read_OS_2_table):
+
+       * src/sfnt.h (struct sfnt_OS_2_table): Don't redundantly realign
+       after s_family_class.
+
+2024-04-04  Po Lu  <luangruo@yahoo.com>
+
+       Avoid destroying windows after they are unmapped
+
+       * java/org/gnu/emacs/EmacsActivity.java (destroy): Detach from
+       current window before calling finish.
+
+       * java/org/gnu/emacs/EmacsWindow.java (reparentTo): Don't clear
+       attachment state here...
+
+       * java/org/gnu/emacs/EmacsWindowManager.java (detachWindow):
+       ...but do so here instead.
+
+2024-04-04  Tor-björn Claesson  <tclaesson@gmail.com>  (tiny change)
+           Po Lu  <luangruo@yahoo.com>
+
+       New variable haiku-pass-control-tab-to-system
+
+       Allow passing C-TAB on to the Haiku operating system, fixing
+       window switching when an Emacs frame has focus (Bug#70138).
+       * src/haiku_support.cc (DispatchMessage): Conditionally pass
+       message to BWindow.
+       * src/haiku_support.h:
+       * src/haikufns.c (haiku_should_pass_control_tab_to_system): Add
+       variable haiku-pass-control-tab-to-system, and C function
+       haiku_should_pass_control_tab_to_system.
+
+2024-04-03  Juri Linkov  <juri@linkov.net>
+
+       Simplify tab-line-switch-to-prev-tab and tab-line-switch-to-next-tab.
+
+       * lisp/tab-line.el (tab-line-switch-to-prev-tab)
+       (tab-line-switch-to-next-tab): Use buffers instead of tabs.
+
+2024-04-03  Theodor Thornhill  <theo@thornhill.no>
+
+       Don't use file-truepath in Eglot (bug#70036)
+
+       `file-truepath' is slow because of recursive calls and being implemented
+       in lisp.  It seems to not be needed in eglot, but it is used behind the
+       scenes in `find-buffer-visiting', thus appearing in profiles.  Moving
+       the implementation to a hash map will yield similar performance
+       benefits, but wouldn't require us to rewrite `file-truename' in C.
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): Convert 'managed-buffers'
+       to a hashmap.
+       (eglot-uri-to-path): Don't use file-truepath, as it is too slow to be
+       included in the hot path.
+       (eglot--on-shutdown): Use buffers from buffer map.
+       (eglot--managed-mode): Add buffer to map, rather than list. Also remove
+       it from the map on deactivation.
+       (eglot-handle-notification): Expose server and get buffer from the
+       buffer map.
+
+2024-04-03  Po Lu  <luangruo@yahoo.com>
+
+       Prevent detachWindow from deleting frames
+
+       * java/org/gnu/emacs/EmacsWindowManager.java (detachWindow):
+       Remove WINDOW from the window list prior to pruning.
+
+2024-04-03  Po Lu  <luangruo@yahoo.com>
+
+       Revise android.texi to agree with last change
+
+       * doc/emacs/android.texi (Android Windowing): Revise to agree
+       with last change
+
+2024-04-03  Po Lu  <luangruo@yahoo.com>
+
+       Better align Emacs window management with Android task lifecycles
+
+       * java/org/gnu/emacs/EmacsActivity.java (onCreate): Permit
+       overriding by child classes.
+       (onDestroy): Minor stylistic adjustments.
+       (getAttachmentToken): New function.
+
+       * java/org/gnu/emacs/EmacsMultitaskActivity.java (onCreate)
+       (getAttachmentToken): New functions.
+
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow):
+       <attachmentToken, preserve, previouslyAttached>: New variables.
+       (onActivityDetached): Remove redundant isFinishing argument.
+       (reparentTo): Reset the foregoing fields before registering with
+       the window manager.
+
+       * java/org/gnu/emacs/EmacsWindowManager.java
+       (EmacsWindowManager): Rename from EmacsWindowAttachmentManager.
+       (WindowConsumer): New function getAttachmentToken.
+       (isWindowEligible): New function.
+       (registerWindowConsumer, registerWindow, removeWindowConsumer)
+       (detachWindow): Implement a new window management strategy on
+       API 29 and subsequent releases where both varieties of toplevel
+       window are permanently, except when reparented, bound to the
+       activities to which they attach, and Emacs establishes at
+       strategic junctures whether those activities remain present.
+       (getTaskToken, pruneWindows): New functions.
+
+2024-04-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "Check if lexical-binding is enabled before warning"
+
+       This reverts commit 7de192680fdac6938f5704aea0310b85b0da9c5e.
+       The logic is wrong (bug#70068).
+
+2024-04-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Make lexical-binding cookie warning test more robust
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--lexical-binding-cookie):
+       Run with lexical-binding both on and off.
+
+2024-04-03  Philip Kaludercic  <philipk@posteo.net>
+
+       Check if lexical-binding is enabled before warning
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Suppress "file
+       has no `lexical-binding' directive" is the variable is non-nil,
+       as is the case with 'lisp-interaction-mode'.  (Bug#70068)
+
+2024-04-02  Juri Linkov  <juri@linkov.net>
+
+       New functions to set and use context of window points (bug#33871)
+
+       * lisp/dired.el (dired-mode): Set buffer-local
+       'window-point-context-set-function' to remember 'dired-filename'
+       or 'position' in the window with the Dired buffer.
+       Set buffer-local 'window-point-context-use-function' to restore
+       the remembered position of the window point.
+
+       * lisp/tab-bar.el (tab-bar--tab): Use window-point-context-set.
+       (tab-bar-select-restore-context): New user option.
+       (tab-bar-select-tab): Use window-point-context-use.
+
+       * lisp/window.el: Add '(context . writable)' to
+       'window-persistent-parameters'.
+       (window-point-context-set, window-point-context-use): New functions.
+       (window-point-context-set-default-function)
+       (window-point-context-use-default-function): New functions.
+       (window-point-context-set-function)
+       (window-point-context-use-function): New variables.
+
+2024-04-02  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix json-insert unibyte buffer bug (bug#70007)
+
+       Previously, a unibyte target buffer could be put in an incorrect state
+       if json-insert was used to insert non-ASCII characters.
+
+       * src/json.c (Fjson_insert): Simplify.  Don't attempt to decode the data
+       being inserted: it is guaranteed to be correct UTF-8 and is correct for
+       both unibyte and multibyte buffers.
+       * test/src/json-tests.el (json-serialize/roundtrip)
+       (json-serialize/roundtrip-scalars): Extend tests.
+
+2024-04-02  Mattias Engdegård  <mattiase@acm.org>
+
+       json-insert doc fixes
+
+       * src/json.c (Fjson_insert): Precise the behaviour when the current
+       buffer is multibyte and unibyte, respectively.
+       * doc/lispref/text.texi (Parsing JSON): Refer to the right function.
+
+2024-04-02  Juri Linkov  <juri@linkov.net>
+
+       New condition/action entry 'category' for 'display-buffer' (bug#69983)
+
+       * doc/lispref/windows.texi (Choosing Window): Provide an example
+       of using '(category . comint)' in the condition of 
'display-buffer-alist'
+       and in the action of 'display-buffer'.
+       (Buffer Display Action Alists): Add a new action alist entry 'category'.
+
+       * lisp/subr.el (buffer-match-p): Add a new condition 'category'.
+
+       * lisp/window.el (display-buffer): Document a new action alist entry
+       'category'.
+
+2024-04-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Update JSON codec doc strings
+
+       * src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
+       (Fjson_parse_buffer): Make the text more readable, fix minor
+       errors and avoid terminology confusion.
+
+2024-04-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Update JSON parser test and docs
+
+       * test/src/json-tests.el (json-parse-string/object):
+       Duplicated object keys are now retained in alist and plist output.
+       * etc/NEWS: Mention it.
+
+2024-04-01  Po Lu  <luangruo@yahoo.com>
+
+       (scheme-syntax-propertize-sexp-comment): Allow `#;` in strings
+
+       * lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
+       Don't get confused by `#;` inside strings and (normal) comments.
+       (scheme-sexp-comment-syntax-table): Comment-out, unused.
+
+2024-04-01  Po Lu  <luangruo@yahoo.com>
+
+       Correct custom type in tramp-androidsu.el
+
+       * lisp/net/tramp-androidsu.el (tramp-androidsu-remote-path): Set
+       type to '(repeat string).
+
+2024-04-01  Zajcev Evgeny  <zevlg@yandex.ru>
+
+       Add support for `ch' and `cw' dimension specifiers for images
+
+       * src/image.c (image_get_dimension, lookup_image): Handle `ch'
+       and `cw' dimension specifiers in addition to `em'.
+       * src/dispextern.h: Add new members `face_font_height' and
+       `face_font_width' to `struct image'.
+
+       * doc/lispref/display.texi (Image Descriptors): Document
+       `ch' and `cw'.
+
+2024-04-01  Mattias Engdegård  <mattiase@acm.org>
+
+       * etc/NEWS: Mention a JSON codec improvement.
+
+2024-04-01  Vladimir Kazanov  <vekazanov@gmail.com>
+
+       Fix symbol list matching regexps.
+
+       Fix symbol list matching regexp performance
+
+       Allow empty face lists, improve the face list matching regexp (see
+       discussion in Bug#69714) based on relint's comments, add tests:
+       * test/lisp/emacs-lisp/ert-font-lock-tests.el: Add tests.
+       * lisp/emacs-lisp/ert-font-lock.el: Fix regexps.
+
+2024-04-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't signal `json-end-of-file` for short nonempty bad JSON inputs
+
+       * src/json.c (json_parse_value): Generate a plain parse error.
+       * test/src/json-tests.el (json-parse-string/short): Adapt test.
+
+2024-04-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Faster JSON parsing
+
+       Speed up JSON parsing substantially by only UTF-8-parsing string
+       literals and only exactly once.  Previously, json-parse-string always
+       first parsed the entire input and copied it to a new string, and then
+       validated each string literal twice.
+
+       We no longer create an extra new string when interning an alist key,
+       nor do we garble plist keys with Unicode characters.
+
+       * src/lread.c (intern_c_multibyte): New.
+       * src/json.c (json_encode): Remove.
+       (utf8_error): New.
+       (json_parse_string): Faster and more careful UTF-8 decoding.
+       Create and return a new multibyte string or symbol without extra
+       decoding.  All callers adapted.
+       (Fjson_parse_string): Skip expensive input pre-decoding.
+       * test/src/json-tests.el (json-parse-string/object-unicode-keys)
+       (json-parse-string/short): New.
+       (json-parse-string/string, json-parse-string/invalid-unicode):
+       Adapt tests.
+       * etc/NEWS: Mentioned change in errors.
+
+2024-04-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Native JSON support is always available
+
+       * lisp/progmodes/sh-script.el (sh--json-read): Remove.
+       (sh-shellcheck-flymake): Call json-parse-buffer directly.
+       * test/src/json-tests.el: Don't check for function availability.
+
+2024-04-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix mutates-arguments warning for `sort`
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--sort-call-in-place-p)
+       (bytecomp--mutargs-nconc, bytecomp--mutargs-sort): New.
+       (byte-compile-form, bytecomp--actually-important-return-value-p)
+       (mutating-fns):
+       Use a slightly more extendible scheme for specifying what arguments
+       a function mutates.  Give `sort` special treatment.
+
+2024-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (scheme-syntax-propertize-sexp-comment): Handle nested sexp-comments
+
+       Well, I'm not completely sure this will work right in all cases,
+       because I've been confused about this in the past.
+       It works in my test case, at least.
+
+       * lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
+       Look for nested `#;` and mark them appropriately.
+
+2024-04-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix androidsu's `make-process' file name handler
+
+       * lisp/net/tramp-androidsu.el
+       (tramp-androidsu-handle-make-process): Disable exec loader
+       around call to setuid su binary.
+
+2024-04-01  niceume  <toshi@niceume.com>
+
+       (scheme-syntax-propertize-sexp-comment): Remove unused argument
+
+       * lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
+       Remove first arg, unused.
+       (scheme-syntax-propertize): Adjust calls accordingly.
+
+2024-04-01  niceume  <toshi@niceume.com>
+
+       scheme.el: Enable dealing with regular expression literal
+
+       * lisp/progmodes/scheme.el (scheme-syntax-propertize-regexp): New 
function.
+       (scheme-syntax-propertize): Use it.
+
+2024-04-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix listing of Android root directory when it is accessible
+
+       * src/androidvfs.c (android_root_closedir, android_root_dirfd)
+       (android_root_opendir): Allocate an ersatz file descriptor even
+       if directory is non-NULL, so that at-funcs will properly return
+       file status for virtual files in the root directory.
+
+2024-03-31  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix wildcard signals in dbusbind.c
+
+       * src/dbusbind.c (xd_read_message_1): Handle registered signals
+       with wildcards.  (Bug#69926)
+
+2024-03-31  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp version integrated in Emacs 29.3
+
+       * lisp/net/trampver.el:
+       Adapt Tramp version integrated in Emacs 29.3.
+
+2024-03-31  Po Lu  <luangruo@yahoo.com>
+
+       List special directories when reading root directory on Android
+
+       * src/androidvfs.c (root_vfs_ops): Substitute
+       android_root_opendir for android_root_opendir.
+       (struct android_root_vdir): New structure.
+       (root_fd, root_fd_references): New variables.
+       (android_root_readdir, android_root_closedir, android_root_dirfd)
+       (android_root_opendir): New functions.
+       (android_fstatat_1): Test provided fd against root_fd, and if
+       they match, prefix FILENAME with the name of the root directory.
+
+       * lisp/ls-lisp.el (ls-lisp-insert-directory): If d-f-a-a signals
+       an error while retrieving attributes, compile the alist of
+       directory contents by hand.
+
+2024-03-31  Eshel Yaron  <me@eshelyaron.com>
+
+       Add global minor mode 'global-completion-preview-mode'
+
+       This is a global variant of 'completion-preview-mode'.
+
+       * lisp/completion-preview.el (global-completion-preview-mode): New
+       global minor mode.
+
+       * doc/emacs/programs.texi (Symbol Completion): Document it.
+
+       * etc/NEWS: Announce it.  (Bug#70010)
+
+2024-03-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix the new PEG library
+
+       * doc/lispref/peg.texi (Parsing Expression Grammars)
+       (PEX Definitions, Parsing Actions, Writing PEG Rules): Fix markup,
+       indexing, and wording.
+
+       * etc/NEWS: Fix wording of PEG entry.
+
+       * test/lisp/progmodes/peg-tests.el: Move from test/lisp/, to match
+       the directory of peg.el.
+
+2024-03-30  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Add peg.el as a built-in library
+
+       * lisp/progmodes/peg.el: New file, taken from ELPA package.
+       * test/lisp/peg-tests.el: Package tests.
+       * doc/lispref/peg.texi: Documentation.
+
+2024-03-30  James Thomas  <james.thomas@ahimsa.global>
+
+       Make gnus cache work with group names having '/'
+
+       Make `gnus-cache-file-name` use the existing
+       `nnmail-group-pathname`.
+
+       * lisp/gnus/gnus-cache.el (gnus-cache-file-name)
+       (gnus-cache-update-article):
+       * lisp/gnus/nnmail.el (nnmail-group-pathname):
+
+2024-03-30  Theodor Thornhill  <theo@thornhill.no>
+
+       Disable workDoneProgress if defcustom is nil
+
+       There is no need to receive the $/progress notifications from the server
+       if we don't want to render them. Because they are effectively ignored
+       when eglot-report-progress is nil we'd rather not waste cycles on serde
+       of the messages.
+
+       * lisp/progmodes/eglot.el (eglot-client-capabilities): use value from
+       defcustom to decide whether or not to advertise to server.
+
+2024-03-30  Theodor Thornhill  <theo@thornhill.no>
+
+       Fix typo in docstring
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): eglot-current-server is
+       now exposed.
+
+2024-03-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix the native JSON support code
+
+       * src/Makefile.in (base_obj): Add the missing json.o.  Without
+       this, we get link error.
+       * src/json.c (json_serialize): Don't use too sophisticated C99
+       features, as they confuse make-docfile.  Initialize all the
+       members explicitly.
+
+2024-03-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Always enable native JSON support and remove Jansson references
+
+       * src/json.c (Fjson__available_p): Remove.
+       * lisp/subr.el (json-available-p): Always return t.
+       * admin/nt/dist-build/build-dep-zips.py:
+       * configure.ac:
+       * doc/lispref/text.texi (Parsing JSON):
+       * java/INSTALL:
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative):
+       * lisp/term/w32-win.el (dynamic-library-alist):
+       * m4/ndk-build.m4 (ndk_INIT):
+       * msdos/sed1v2.inp:
+       * nt/INSTALL:
+       * nt/INSTALL.W64:
+       * src/Makefile.in:
+       * src/emacs.c (main):
+       * src/lisp.h:
+       Remove JSON configuration options and references to it and Jansson from
+       documentation and build files.
+       * etc/NEWS: Announce.
+
+2024-03-30  Mattias Engdegård  <mattiase@acm.org>
+
+       New JSON encoder (bug#70007)
+
+       It is in general at least 2x faster than the old encoder and does not
+       depend on any external library.  Using our own code also gives us
+       control over translation details: for example, we now have full
+       bignum support and tighter float formatting.
+
+       * src/json.c (json_delete, json_initialized, init_json_functions)
+       (json_malloc, json_free, init_json, json_out_of_memory)
+       (json_releae_object, check_string_without_embedded_nulls, json_check)
+       (json_check_utf8, lisp_to_json_nonscalar_1, lisp_to_json_nonscalar)
+       (lisp_to_json, json_available_p, ensure_json_available, json_insert)
+       (json_handle_nonlocal_exit, json_insert_callback):
+       Remove.  Remaining uses updated.
+       * src/json.c (json_out_t, symset_t, struct symset_tbl)
+       (symset_size, make_symset_table, push_symset, pop_symset)
+       (cleanup_symset_tables, symset_hash, symset_expand, symset_add)
+       (json_out_grow_buf, cleanup_json_out, json_make_room, JSON_OUT_STR)
+       (json_out_str, json_out_byte, json_out_fixnum, string_not_unicode)
+       (json_plain_char, json_out_string, json_out_nest, json_out_unnest)
+       (json_out_object_cons, json_out_object_hash), json_out_array)
+       (json_out_float, json_out_bignum, json_out_something)
+       (json_out_to_string, json_serialize): New.
+       (Fjson_serialize, Fjson_insert):
+       New JSON encoder implementation.
+       * test/src/json-tests.el (json-serialize/object-with-duplicate-keys)
+       (json-serialize/string): Update tests.
+
+2024-03-30  David Ponce  <da_vid@orange.fr>
+
+       bug#69992: Minor improvement to image map transformation logic
+
+       * lisp/image.el (image--compute-rotation): New function.
+       (image--compute-map, image--compute-original-map): Use it.
+       Ensure all transformations are applied or undone according to what
+       Emacs does internally.  Call a transformation function only when
+       needed.  Fix doc string.
+       (image--scale-map, image--rotate-map): Assume effective scale
+       argument.
+       (image--rotate-coord): Improve doc string.
+       (image--flip-map): Remove no more used argument FLIP.
+
+       * test/lisp/image-tests.el (image-create-image-with-map): Use a
+       valid SVG image otherwise `image-size' will not return a valid
+       value and calculation of scale could fail.
+       (image-transform-map): Update according to changed signature of
+       `image--flip-map'.
+
+2024-03-30  Tony Zorman  <soliditsallgood@mailbox.org>
+
+       Add use-package-vc-prefer-newest user option
+
+       * lisp/use-package/use-package-core.el (use-package-vc-prefer-newest):
+       User option to prefer the latest commit (as opposed to the latest
+       release) of a package.
+       (use-package-normalize--vc-arg): Check for
+       use-package-vc-prefer-newest.
+
+       * doc/misc/use-package.texi (Install package): Document
+       use-package-vc-prefer-newest.
+
+       * etc/NEWS: Document use-package-vc-prefer-newest.
+
+2024-03-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       946d4aad1df Avoid errors in Info-search-case-sensitively in DIR buffers
+       fbf68302999 Add test for previous change (bug#70023)
+       bcf6dd6e266 Add typescript-ts-mode indentation for interface bodies (...
+
+2024-03-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       38faacf353f Improve documentation of <Delete> in user manual
+       9d3d77f12da Fix documentation of 'other-window-for-scrolling'
+
+2024-03-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ae8f815613c Update files for Emacs 29.3
+
+2024-03-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       7a5d7be52c5 org--confirm-resource-safe: Fix prompt when prompting in ...
+       2bc865ace05 org-file-contents: Consider all remote files unsafe
+       6f9ea396f49 org-latex-preview: Add protection when `untrusted-content...
+       937b9042ad7 * lisp/gnus/mm-view.el (mm-display-inline-fontify): Mark ...
+       ccc188fcf98 * lisp/files.el (untrusted-content): New variable.
+       befa9fcaae2 org-macro--set-templates: Prevent code evaluation
+       3221d8d4611 * admin/authors.el (authors-aliases): Add ignored authors.
+       8d8253f8991 * etc/NEWS: Update for Emacs 29.3
+
+2024-03-30  Andreas Schwab  <schwab@linux-m68k.org>
+
+       Fix implicit declaration of bswap_{32,64}
+
+       * src/data.c: Move include of <byteswap.h> ...
+       * src/lisp.h: ... here.
+
+2024-03-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Clean up removal of libjansson parser
+
+       * src/json.c (json_has_suffix, json_has_prefix): Remove unused
+       functions.
+       (json_object_key_to_iter, json_array_get, json_loads)
+       (json_load_callback, json_object_iter, json_object_iter_value)
+       (json_string_value, json_object_size, json_object_iter_key)
+       (json_object_iter_next, json_real_value, json_string_length)
+       (json_integer_value) [WINDOWSNT]: Don't DEF_DLL_FN, don't
+       LOAD_DLL_FN, and don't define a macro for unused libjansson
+       functions.
+       (JSON_HAS_ERROR_CODE): Remove: not used.
+
+2024-03-30  Géza Herman  <geza.herman@gmail.com>
+
+       Replace libjansson JSON parser with a custom one
+
+       * src/json.c (json_parse_error, json_to_lisp)
+       (json_read_buffer_callback): Remove functions.
+       (struct json_parser): New struct.
+       (json_signal_error, json_parser_init, json_parser_done)
+       (json_make_object_workspace_for_slow_path)
+       (json_make_object_workspace_for, json_byte_workspace_reset)
+       (json_byte_workspace_put_slow_path, json_byte_workspace_put)
+       (json_input_at_eof, json_input_switch_to_secondary)
+       (json_input_get_slow_path, json_input_get)
+       (json_input_get_if_possible, json_input_put_back)
+       (json_skip_whitespace_internal, json_skip_whitespace)
+       (json_skip_whitespace_if_possible, json_hex_value)
+       (json_parse_unicode, json_handle_utf8_tail_bytes)
+       (json_parse_string, json_create_integer, json_create_float)
+       (json_parse_number, json_parse_array)
+       (json_parse_object_member_value, json_parse_object)
+       (json_is_token_char, json_parse_value, json_parse): New functions.
+       (Fjson_parse_buffer, Fjson_parse_string): Adjust to changes in the
+       parser.
+       (syms_of_json): DEFSYM new symbols and define_error new errors.
+
+2024-03-30  Po Lu  <luangruo@yahoo.com>
+
+       Disable VC in special directories on Android
+
+       * lisp/vc/vc-hooks.el (vc-registered, vc-backend): Return nil
+       without invoking any backend if FILE or FILE-OR-LIST sits within
+       /content or /assets.
+
+2024-03-30  Po Lu  <luangruo@yahoo.com>
+
+       Rationalize java/Makefile.in
+
+       * java/Makefile.in: (emacs.apk-in): Bring commentary up to date,
+       and package classes.dex at this stage of the process.
+       ($(APK_NAME)): Adjust to match.
+
+2024-03-30  Po Lu  <luangruo@yahoo.com>
+
+       Fix building the SFNT font driver
+
+       * src/sfntfont.c (sfntfont_list, sfntfont_list_family): Update
+       calls to Fsort for the new calling convention.
+
+2024-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Consolidate 2 cases
+
+       * lisp/cedet/semantic/tag.el (semantic-tag): New type
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       `value<` manual entry adjustments (bug#69709)
+
+       * doc/lispref/sequences.texi (Sequence Functions):
+       Explain lexicographical ordering.  Note the dual nature of `nil`.
+       Mention the depth limit.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/fns.c (Fvaluelt): More generous depth limit (20 -> 200).
+
+       This gives `value<` the same limit as `equal` which seems about right.
+
+2024-03-29  Sam Steingold  <sds@gnu.org>
+
+       Support `shell-resync-dirs' on msys bash (Bug#70012)
+
+       * lisp/shell.el (w32-application-type): Declare.
+       (shell-mode): Set `shell-dirstack-query' to `pwd -W` when using msys 
bash.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Better `sort` ignored-return-value warning
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form)
+       (bytecomp--actually-important-return-value-p):
+       Special handling of `sort` that takes into account that it may return
+       an important value depending on the :in-place keyword argument.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove `sort-on` (bug#69709)
+
+       * lisp/sort.el (sort-on):
+       * doc/lispref/sequences.texi (Sequence Functions):
+       * etc/NEWS:
+       Remove the `sort-on` function which is now completely superseded by
+       the extended `sort` in features, ease of use, and performance.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Use new-style `sort` signature in Lisp manual examples
+
+       * doc/lispref/help.texi (Accessing Documentation):
+       * doc/lispref/strings.texi (Text Comparison):
+       Use the new sort calling convention (bug#69709).
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Faster non-destructive list sorting
+
+       Postpone the creation of a new list to after sorting which turns out to
+       be a lot faster (1.1x - 1.5x speedup).
+
+       * src/fns.c (sort_list, sort_vector, Fsort):
+       Create the new list when moving the data out from the temporary array.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Speed up `sort` by special-casing the `value<` ordering
+
+       This gives a 1.5x-2x speed-up when using the default :lessp value,
+       by eliminating the Ffuncall overhead.
+
+       * src/sort.c (order_pred_lisp, order_pred_valuelt): New.
+       (merge_state, inorder, binarysort, count_run, gallop_left, gallop_right)
+       (merge_init, merge_lo, merge_hi, tim_sort):
+       * src/fns.c (Fsort):
+       When using value<, call it directly.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       New `sort` keyword arguments (bug#69709)
+
+       Add the :key, :lessp, :reverse and :in-place keyword arguments.
+       The old calling style remains available and is unchanged.
+
+       * src/fns.c (sort_list, sort_vector, Fsort):
+       * src/sort.c (tim_sort):
+       Add keyword arguments with associated new features.
+       All callers of Fsort adapted.
+       * test/src/fns-tests.el (fns-tests--shuffle-vector, fns-tests-sort-kw):
+       New test.
+       * doc/lispref/sequences.texi (Sequence Functions): Update manual.
+       * etc/NEWS: Announce.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Add back timsort key function handling (bug#69709)
+
+       The original timsort code did provide for a key (accessor) function
+       along with the necessary storage management, but we dropped it because
+       our `sort` function didn't need it.
+
+       Now it's been put back since it seems that it will come in handy after 
all.
+
+       * src/fns.c (sort_list, sort_vector, Fsort): Pass Qnil as key function
+       to tim_sort.
+       * src/sort.c (reverse_slice, sortslice_copy)
+       (sortslice_copy_incr, sortslice_copy_decr, sortslice_memcpy)
+       (sortslice_memmove, sortslice_advance): New functions.
+       (sortslice): New type.
+       (struct stretch, struct reloc, merge_state)
+       (binarysort, merge_init, merge_markmem, cleanup_mem)
+       (merge_register_cleanup, merge_getmem, merge_lo, merge_hi, merge_at)
+       (found_new_run, reverse_sortslice, resolve_fun, tim_sort):
+       Merge back previously discarded parts from the upstreams timsort code
+       that dealt with key functions, and adapt them to fit in.
+
+2024-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Add `value<` (bug#69709)
+
+       It's a general-purpose polymorphic ordering function, like `<` but
+       for any two values of the same type.
+
+       * src/data.c (syms_of_data): Add the `type-mismatch` error.
+       (bits_word_to_host_endian): Move...
+       * src/lisp.h (bits_word_to_host_endian): ...here, and declare inline.
+       * src/fns.c (Fstring_lessp): Extract the bulk of this function to...
+       (string_cmp): ...this 3-way comparison function, for use elsewhere.
+       (bool_vector_cmp, value_cmp, Fvaluelt): New.
+       * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns):
+       Add `value<`, which is pure and side-effect-free.
+       * test/src/fns-tests.el (fns-value<-ordered, fns-value<-unordered)
+       (fns-value<-type-mismatch, fns-value<-symbol-with-pos)
+       (fns-value<-circle, ert-deftest fns-value<-bool-vector): New tests.
+       * doc/lispref/sequences.texi (Sequence Functions):
+       * doc/lispref/numbers.texi (Comparison of Numbers):
+       * doc/lispref/strings.texi (Text Comparison):
+       Document the new value< function.
+       * etc/NEWS: Announce.
+
+2024-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Prevent Android OS task trimming from deleting Emacs frames
+
+       * doc/emacs/android.texi (Android Windowing): Document proviso
+       on Android 7.0 and later.
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
+       <timeOfLastInteraction>: New field.
+       (onStop, onResume): Set and clear timeOfLastInteraction.
+       (isReallyFinishing): New function.
+       (onDestroy): Don't delete frame even in the event isFinishing
+       returns true if more than 4 hours have elapsed since the
+       activity last moved into the background.
+
+2024-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pp.el: Try and fix bug#70039
+
+       * lisp/emacs-lisp/pp.el (pp-fill): Avoid splitting `#N#` or `#[`.
+       * test/lisp/emacs-lisp/pp-tests.el (pp-tests--sanity): New test.
+
+2024-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (list): Predefine predicate by hand
+
+2024-03-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix a typo in flymake.el
+
+       * lisp/progmodes/flymake.el (flymake--update-eol-overlays): Use
+       'save-restriction', not 'save-excursion'.  (Bug#69984)
+
+2024-03-28  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       copy-tree just image map, not entire image
+
+       * lisp/image.el (image--compute-original-map): Copy only
+       the image map.  (Bug#69602)
+
+2024-03-28  Rahguzar  <rahguzar@zohomail.eu>
+
+       Allow for auto updating only visible proced buffers (bug#69784)
+
+       * lisp/proced.el (proced-auto-update-flag): Document 'visible'
+       value and add it to the custom type.
+       (proced-auto-update-timer, proced-toggle-auto-update): Take
+       'visible' value into account.
+
+2024-03-28  Vladimir Kazanov  <vekazanov@gmail.com>
+
+       Improve ert-font-lock assertion parser (Bug#69714)
+
+       Fail on files with no assertions, parser now accepts multiple
+       carets per line and face lists:
+       * lisp/emacs-lisp/ert-font-lock.el: Assertion parser fix.
+       * test/lisp/emacs-lisp/ert-font-lock-resources/no-asserts.js:
+       * test/lisp/emacs-lisp/ert-font-lock-tests.el
+       (test-parse-comments--no-assertion-error)
+       (test-syntax-highlight-inline--caret-negated-wrong-face)
+       (test-macro-test--file-no-asserts): New test cases.
+       * doc/misc/ert.texi (Syntax Highlighting Tests): More syntax examples.
+
+2024-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (pcase-mutually-exclusive): Use auto-generated table
+
+       The `pcase-mutually-exclusive-predicates` table was not very
+       efficient since it grew like O(N²) with the number of
+       predicates.  Replace it with an O(N) table that's auto-generated
+       from the `built-in-class` objects.
+
+       * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
+       Delete variable.
+       (pcase--subtype-bitsets): New function and constant.
+       (pcase--mutually-exclusive-p): Use them.
+       * lisp/emacs-lisp/cl-preloaded.el (built-in-class): Don't inline.
+
+2024-03-28  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (project-current): Add binding for 'non-essential'
+
+       * lisp/progmodes/project.el (project-current):
+       Add binding for 'non-essential' (bug#69584).
+
+2024-03-28  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Correctly check buffer mtime when displaying xref matches
+
+       This was just a typo: we were checking the modification time of
+       current-buffer instead of checking the modification time of the
+       passed-in buffer.
+
+       This caused matches to not be shown if they weren't present in
+       the current in-Emacs state of the buffer.
+
+       This was easily reproduced by writing a string to a file outside
+       Emacs, then searching for that string with
+       e.g. project-find-regexp.  The string would seemingly not be
+       found, although in reality it was found, just not displayed.
+
+       * lisp/progmodes/xref.el (xref--find-file-buffer):
+       Check buf, not current-buffer (bug#70008).
+
+2024-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix labeling of functions in which-key popup
+
+       Add a few minor changes.
+
+2024-03-27  Po Lu  <luangruo@yahoo.com>
+
+       Remove IME_FLAG_FORCE_ASCII from password input IME flags
+
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Passwords might also be non-ASCII, and this flag apparently
+       requests an IME limited to ASCII characters, rather than just
+       capable of ASCII input.
+
+2024-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/help.el (help-function-arglist): Don't `substitute-command-keys`
+
+2024-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-preloaded.el: Partly revert last change
+
+       The change caused type-check errors in auth-source where they use
+       `:type function` constraints on object slots and expect those to
+       be able to hold symbols.
+
+       * lisp/emacs-lisp/cl-preloaded.el (function): Revert last change.
+
+       * test/src/data-tests.el (data-tests--cl-type-of): Use `cl-functionp`
+       rather than `functionp` to test `function`.
+
+2024-03-26  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Handle C++20's if consteval
+
+       * lisp/progmodes/cc-engine.el (c-after-conditional): Handle the
+       new keyword in place of a paren sexp after `if'.
+
+       * lisp/progmodes/cc-langs.el (c-negation-op-re)
+       (c-paren-clause-kwds, c-paren-clause-key)
+       (c-block-stmt-with-kwds, c-block-stmt-with-key): New
+       lang-consts/vars.
+
+       * if-11.cc, if-11.res: New test files.
+
+2024-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-preloaded.el: Fix the type lattice
+
+       We generally want types to form not just a DAG but a lattice.
+       If objects can be both `keyword` and `symbol-with-pos`, this
+       means there should be a more precise type describing this intersection.
+       If we ever find the need for such a refinement, we could add
+       such a `keyword-with-pos` type, but here I took the simpler
+       route of treating `keyword` not as a proper built-in type but
+       as a second-class type like `natnum`.
+
+       While fixing this problem, also fix the problem we had where
+       `functionp` was not quite adequate to characterize objects of type
+       `function`, by introducing a new predicate `cl-functionp` for that.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl-functionp): New function.
+       (function): Use it.
+       (keyword): Don't declare it as a built-in type.
+       (user-ptrp): Remove redundant declaration.
+
+       * lisp/emacs-lisp/cl-generic.el (cl--generic--unreachable-types):
+       Delete constant.
+       (cl-generic-generalizers): Remove corresponding test.
+
+       * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add entry for
+       `keyword` type.
+
+       * lisp/emacs-lisp/comp.el (comp-known-predicates): Fix type for
+       negative result of `characterp`.  Remove duplicate `numberp` entry.
+       Fix types for `keywordp` now that `keyword` is not a built-in type any 
more.
+
+       * test/src/data-tests.el (data-tests--cl-type-of): Add a few cases.
+       Remove workaround for `function`.
+
+2024-03-26  Andrea Corallo  <acorallo@gnu.org>
+
+       Fix native comp prediction on null functionp tested objects
+
+       * lisp/emacs-lisp/comp.el (comp-known-predicates)
+       (comp-known-predicates-h): Update.
+       (comp--pred-to-pos-cstr, comp--pred-to-neg-cstr): New functions.
+       (comp--add-cond-cstrs): Make use of them.
+
+       * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
+
+2024-03-26  Po Lu  <luangruo@yahoo.com>
+
+       Prevent focus "stalemates" on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (invalidateFocus1): New
+       argument resetWhenChildless.
+       (invalidateFocus): If a toplevel window has no focus window,
+       transfer focus to the toplevel itself.
+
+2024-03-26  Po Lu  <luangruo@yahoo.com>
+
+       Prevent passwords from being recorded during text conversion
+
+       * doc/lispref/commands.texi (Misc Events): Document new value of
+       text-conversion-style.
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       <IC_MODE_PASSWORD>: New constant.
+
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Set TYPE_TEXT_VARIATION_PASSWORD and IME_FLAG_FORCE_ASII if mode
+       is IC_MODE_PASSWORD.
+
+       * lisp/subr.el (read-passwd): Set text-conversion-style to
+       `password'.
+
+       * src/androidgui.h (enum android_ic_mode): New value
+       ANDROID_IC_MODE_PASSWORD.
+
+       * src/androidterm.c (android_reset_conversion): Handle
+       `password'.
+
+       * src/buffer.c (syms_of_buffer)
+       <&BVAR (current_buffer, text_conversion_style)>: Update doc
+       string.
+
+       * src/textconv.c (syms_of_textconv) <Qpassword>: New DEFSYM.
+       <Vtext_conversion_edits>: Fix typos in doc string.
+
+2024-03-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix removal of bookmark's fringe mark in Info and Dired
+
+       * lisp/bookmark.el (bookmark-buffer-file-name): Support Info
+       buffers.
+       (bookmark--remove-fringe-mark): Call 'bookmark-buffer-file-name'
+       instead of using 'buffer-file-name', which could be nil.
+       (Bug#69974)
+
+2024-03-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Document the 'I' command in buffer-menu
+
+       * doc/emacs/buffers.texi (Several Buffers): Document 'I'.  Fix
+       indexing.
+       (List Buffers): Mention 'I'.  (Bug#69987)
+
+       * etc/NEWS: Mark 'I' as documented.
+
+2024-03-25  Juri Linkov  <juri@linkov.net>
+
+       * lisp/vc/diff-mode.el (diff-setup-buffer-type): Remove "\n" from 
regexp.
+
+       Remove extra "\n" from the end of the "diff --git.*" part
+       of 'diff-outline-regexp' because "\n" is not used in outline-regexp
+       and causes problems in such cases like when killing hunks
+       in the diff buffer with outline-minor-mode that loses
+       the outline icons because outline--fix-buttons-after-change and
+       outline--fix-up-all-buttons are limited to the single line and
+       can't match an outline line with a regexp that ends with "\n".
+
+2024-03-25  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2024-03-25  Po Lu  <luangruo@yahoo.com>
+
+       Port restart-emacs to Android 4.3 and earlier
+
+       * java/org/gnu/emacs/EmacsService.java (restartEmacs): Run Emacs
+       from an alarm if required.
+
+2024-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (byte-optimize-form-code-walker): Simplify a bit
+
+       Eliminate a case that matches very rarely and where the default
+       handling works just as well anyway.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove
+       redundant case.
+
+2024-03-24  Andrea Corallo  <acorallo@gnu.org>
+
+       Fix native compilation for circular immediates (bug#67883)
+
+       * test/src/comp-resources/comp-test-funcs.el
+       (comp-test-67883-1-f): New function.
+
+       * lisp/emacs-lisp/comp.el (comp--collect-rhs)
+       (comp--ssa-rename-insn): Handle setimm aside to avoid unnecessary
+       immediate manipulation.
+       (comp--copy-insn-rec): Rename.
+       (comp--copy-insn): New function.
+       (comp--dead-assignments-func): Handle setimm aside to avoid
+       unnecessary.
+
+2024-03-24  Po Lu  <luangruo@yahoo.com>
+
+       Don't define user-ptr type when user-ptrp is not present
+
+       * lisp/emacs-lisp/cl-preloaded.el (user-ptr): Condition on
+       presence of predicate function.
+
+2024-03-24  Po Lu  <luangruo@yahoo.com>
+
+       Improve consistency of content file name handling
+
+       * java/org/gnu/emacs/EmacsService.java (getDisplayNameHash):
+       Always encode file names as modified UTF-8, as insurance against
+       future changes to undocumented behavior of the JVM.
+
+2024-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-preloaded.el: Improve docstrings of "kinds"
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--class): Improve the docstring.
+       (built-in-class): Add a docstring.
+
+2024-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc/emacs/help.texi (Name Help): Mention buttons (bug#69935)
+
+2024-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       edebug.el: Better strip instrumentation from backtraces
+
+       Rework the code that "cleans" the backtrace for 
`edebug-pop-to-backtrace`.
+       The main changes are the following:
+
+       - Strip instrumentation from "everywhere" rather than trying to limit 
the
+         effect to "code" and leave "data" untouched.  This is a worthy
+         goal, but it is quite difficult to do since code contains data
+         (so we ended up touching data anyway) and data can also
+         contain code.
+         The risk of accidentally removing something because it happens
+         to look like instrumentation is very low, whereas it was very common
+         for instrumentation to remain in the backtrace.
+
+       - Use a global hash-table to remember the work done, instead of
+         using separate hash-table for each element.  By using a weak
+         hash-table we avoid the risk of leaks, and save a lot of work
+         since there's often a lot of subexpressions that appear
+         several times in the backtrace.
+
+       * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Tweak code
+       layout so the comments are more clear.
+       (edebug-unwrap): Remove redundant patterns for `closure` and `lambda`.
+       Add `:closure-dont-trim-context` to the `edebug-enter` pattern,
+       so it also gets removed (this should have been done in commit
+       750bc57cbb8d).
+       (edebug--unwrap-cache): New var.
+       (edebug-unwrap*): Use it.
+       (edebug--unwrap1): Delete function.  Merged into `edebug-unwrap*`.
+       Also apply unwrapping to the contents of byte-code functions since they
+       can refer to lambda expressions captured by the closure.
+       (edebug--symbol-prefixed-p): Rename from
+       `edebug--symbol-not-prefixed-p` and adjust meaning accordingly.
+       (edebug--strip-instrumentation): Adjust accordingly and simplify
+       a bit by unifying the "lambda" case and the "everything else" case.
+       (edebug--unwrap-frame): Use `cl-callf` and unwrap arguments even if
+       they've already been evaluated.
+
+2024-03-23  F. Jason Park  <jp@neverwas.me>
+
+       Reuse command-indicator code for script lines in ERC
+
+       * lisp/erc/erc-goodies.el (erc-load-irc-script-lines): Move here from
+       main file and rework to always use `command-indicator' instead of only
+       partially, when available.  Also use internal "send-action" and
+       "send-message" interfaces to defer command-handler output until
+       command lines have been inserted.
+       * lisp/erc/erc.el (erc-process-input-line): Redo doc string.
+       (erc-process-script-line): Fold exceptionally overlong line.
+       (erc-load-irc-script-lines): Move to erc-goodies.el.  (Bug#67032)
+
+2024-03-23  F. Jason Park  <jp@neverwas.me>
+
+       Restore leading space to right-margin stamps in ERC
+
+       * lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Insert a single
+       space character immediately before right-side stamps managed by
+       `erc-stamp--display-margin-mode'.  Include it as part of the
+       `timestamp' field.  This behavior was originally present in an earlier
+       draft of the changes for bug#60936, mainly to favor symmetry between
+       hard-wrapped fill styles and fill-wrap with regard to stamps.  It was
+       subsequently removed to simplify management, so that the `field' and
+       `display' intervals aligned.
+       * test/lisp/erc/erc-stamp-tests.el
+       (erc-stamp--display-margin-mode--right): Update expected output.
+
+2024-03-23  F. Moukayed  <smfadi+emacs@gmail.com>  (tiny change)
+
+       Remove mishandled erc-control-default-{fg,bg} faces
+
+       Partially revert those portions of 7b4ca9e609e "Leverage inverse-video
+       for erc-inverse-face" that introduced and managed explicit faces for
+       the "default" 99 color code.
+
+       * lisp/erc/erc-goodies.el (erc-control-default-fg)
+       (erc-control-default-bg): Remove unused faces originally meant to be
+       new in ERC 5.6.
+       (erc-get-fg-color-face, erc-get-bg-color-face): Return nil for n=99.
+       (erc-controls-interpret, erc-controls-highlight): Preserve an
+       interval's existing background so "if only the foreground color is
+       set, the background color stays the same," as explained by
+       https://modern.ircdocs.horse/formatting#color.  (Bug#69860)
+
+2024-03-23  F. Jason Park  <jp@neverwas.me>
+
+       Remove unused faces from various erc-goodies tests
+
+
+       * test/lisp/erc/erc-goodies-tests.el
+       (erc-controls-highlight--spoilers)
+       (erc-controls-highlight--inverse): Remove all mention of stricken
+       faces `erc-control-default-fg' and `erc-control-default-bg'.
+       (erc-controls-highlight/default-foreground)
+       (erc-controls-highlight/default-background): New tests.
+       (Bug#69860)
+
+2024-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (describe-package-1): Fix bug#69712
+
+       * lisp/emacs-lisp/package.el (describe-package-1): Improve the test to
+       determine if `maintainers` contains a single cons or a list of conses.
+
+2024-03-23  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Recompute :map when image :scale, :rotation, or :flip changes
+
+       Now, when transforming an image, its :map is recomputed to fit.
+       Image map coordinates are integers, so when computing :map,
+       coordinates are rounded.  To prevent an image from drifting from
+       its map after repeated transformations, 'create-image' now adds
+       a new image property :original-map, which is combined with the
+       image's transformation parameters to recompute :map.
+
+       * lisp/image.el (image-recompute-map-p): Add user option to
+       control whether :map is recomputed when an image is transformed.
+       (create-image): Create :map from :original-map and vice versa.
+       (image--delayed-change-size): Fix comment.
+       (image--change-size, image-rotate, image-flip-horizontally,
+       image-flip-vertically): Recompute image map after transformation
+       and mention 'image-recompute-map-p' in docstring.
+       (image--compute-map): Add function to compute a map from original
+       map.
+       (image--compute-original-map): Add function to compute an
+       original map from map.
+       (image--scale-map): Add function to scale a map based on :scale.
+       (image--rotate-map): Add function to rotate a map based on
+       :rotation.
+       (image--rotate-coord): Add function to rotate a map coordinate
+       pair.
+       (image--flip-map): Add function to flip a map based on :flip.
+       (image-increase-size, image-decrease-size, image-mouse-increase-size)
+       (image-mouse-decrease-size): Mention 'image-recompute-map-p' in
+       docstrings.
+       * etc/NEWS: Add NEWS entry.
+       * doc/lispref/display.texi (Image Descriptors): Document :original-map
+       and new user option 'image-recompute-map-p'.
+       * test/lisp/image-tests.el (image--compute-map-and-original-map):
+       Test 'image--compute-map' and 'image--compute-original-map'.
+       (image-tests--map-equal): Add equality predicate to compare image maps.
+       (image-create-image-with-map): Test that 'create-image' adds :map
+       and/or :original-map as appropriate.
+       (image-transform-map): Test functions related to transforming maps.
+       (Bug#69602)
+
+2024-03-23  Jim Porter  <jporterbugs@gmail.com>
+
+       Add 'eww-readable-urls'
+
+       * lisp/net/eww.el (eww-readable-urls): New option.
+       (eww-default-readable-p): New function...
+       (eww-display-html): ... use it.
+
+       * test/lisp/net/eww-tests.el (eww-test/readable/default-readable): New
+       test.
+
+       * doc/misc/eww.texi (Basics): Document 'eww-readable-urls'.
+
+       * etc/NEWS: Announce this change (bug#68254).
+
+2024-03-23  Jim Porter  <jporterbugs@gmail.com>
+
+       Allow toggling "readable" mode in EWW
+
+       Additionally, add an option to prevent adding a new history entry for
+       each call of 'eww-readable' (bug#68254).
+
+       * lisp/net/eww.el (eww-retrieve):
+
+       * lisp/net/eww.el (eww-readable-adds-to-history): New option.
+       (eww-retrieve): Make sure we call CALLBACK in all configurations.
+       (eww-render): Simplify how to pass encoding.
+       (eww--parse-html-region, eww-display-document): New functions, extracted
+       from...
+       (eww-display-html): ... here.
+       (eww-document-base): New function.
+       (eww-readable): Toggle "readable" mode interactively, like with a minor
+       mode.  Consult 'eww-readable-adds-to-history'.
+       (eww-reload): Use 'eshell-display-document'.
+
+       * test/lisp/net/eww-tests.el (eww-test--with-mock-retrieve): Fix indent.
+       (eww-test/display/html, eww-test/readable/toggle-display): New tests.
+
+       * doc/misc/eww.texi (Basics): Describe the new behavior.
+
+       * etc/NEWS: Announce this change.
+
+2024-03-23  Spencer Baugh  <sbaugh@catern.com>
+
+       Use 'regexp-opt' in 'dired-omit-regexp'
+
+       In my benchmarking, for large dired buffers, using 'regexp-opt'
+       provides around a 3x speedup in omitting.
+
+       'regexp-opt' takes around 5 milliseconds, so to avoid slowing
+       down omitting in small dired buffers we cache the return value.
+
+       Since omitting is now 3x faster, increase 'dired-omit-size-limit'
+       by 3x.  Also, document 'dired-omit-size-limit' better.
+
+       * doc/misc/dired-x.texi (Omitting Variables): Document
+       'dired-omit-size-limit'.
+       * etc/NEWS: Announce increase of 'dired-omit-size-limit'.
+       * lisp/dired-x.el (dired-omit--extension-regexp-cache): Add.
+       (dired-omit-regexp): Use 'regexp-opt'.  (Bug#69775)
+       (dired-omit-size-limit): Increase and improve docs.
+
+2024-03-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * src/coding.c (produce_chars): Fix a thinko (bug#69966).
+
+2024-03-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       e95a8622263 ; * lisp/keymap.el (key-parse): Fix processing of "[TAB]"...
+       afb7a23e7b9 ; Improve documentation of 'backup-by-copying'
+
+2024-03-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       689f04a2ddf Clarify description of format-spec truncation
+       759dedfab07 More accurate documentation of 'rmail-mail-new-frame'
+       fa79de7c6b8 ; * lisp/calendar/calendar.el: Remove extra space.
+       7f6e335f4b4 Fix documentation of M-SPC in user manual
+       5bdc2436c64 ; * lisp/emacs-lisp/cl-macs.el (cl-labels): Fix stray dif...
+       8014dbb2ad8 * admin/notes/bugtracker: Minor copyedit.
+       06a991e7e87 ; * admin/notes/bugtracker: Minor copyedit.
+       c890622e1a9 Tweak regexp for object initializers in csharp-mode (bug#...
+       f48babb1120 `term-mode': mention the keymap to add keybindings to
+       8cf05d9be12 Fix 'shortdoc-copy-function-as-kill'
+       d5901f3f05e Improve documentation of 'edebug-print-*' variables
+
+2024-03-23  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2024-03-23  Po Lu  <luangruo@yahoo.com>
+
+       Enable calling decode_coding_object with both SRC and DST_OBJECT Qnil
+
+       * src/coding.c (growable_destination): A C destination is also
+       reallocable.
+       (produce_chars): Don't consider source and destination identical
+       if they are EQ but Qnil.
+
+2024-03-23  Po Lu  <luangruo@yahoo.com>
+
+       Minor adjustments to last change
+
+       * src/androidvfs.c (android_vfs_convert_name): Simplify.
+       (android_saf_tree_readdir, android_root_name): Remove redundant
+       statements.
+
+2024-03-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve support for preprocessor macros in 'c/c++-ts-mode'
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--defun-name)
+       (c-ts-base-mode): Support preprocessor macros as defuns.  This
+       fixes both navigation by defuns and add-log when cpp macros are at
+       point.
+
+2024-03-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid infinite recursion in 'image-mode--display'
+
+       * lisp/image-mode.el (image-mode): Suspend major mode only if it
+       is not already 'image-mode'.  (Bug#69785)
+
+2024-03-23  Dionisio E Alonso  <baco@users.noreply.github.com>  (tiny change)
+
+       Add BasedPyright LSP server alternative for Eglot's 'python-mode'
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add
+       BasedPyright, a new server for python, forked from the
+       unmaintained 'pyright' LSP server.  (Bug#69925)
+
+2024-03-23  Po Lu  <luangruo@yahoo.com>
+
+       Correctly handle non-BMP characters in Android content file names
+
+       * lisp/term/android-win.el (android-encode-jni)
+       (android-decode-jni, android-jni): New coding system, for
+       Android file names and runtime data.
+
+       * src/androidterm.h (syms_of_androidvfs): New function.
+
+       * src/androidvfs.c (struct android_special_vnode): New field
+       special_coding_system.
+       (android_saf_tree_readdir): Decode the file name using the
+       android-jni coding system.
+       (special_vnodes): <contents>: Specify a file name coding system.
+       (android_vfs_convert_name): New function.
+       (android_root_name): If a special coding system be specified for
+       a special vnode, convert components to it before invoking its
+       name function.
+       (syms_of_androidvfs): New symbol Qandroid_jni.
+
+       * src/emacs.c (android_emacs_init): Call syms_of_androidvfs.
+
+2024-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix recent test regressions
+
+       * lisp/emacs-lisp/pp.el (pp-fill): Don't cut between `#` and `(`.
+
+       * test/lisp/help-fns-tests.el (help-fns-test-built-in)
+       (help-fns-test-interactive-built-in, help-fns-test-lisp-defun)
+       (help-fns-test-lisp-defsubst):
+       * test/src/emacs-module-tests.el (module/describe-function-1):
+       Adjust tests to new wording in `describe-function`.
+
+2024-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       etc/NEWS: Document the new behavior of `describe-function`
+
+       I pushed commit accd79c93935 by accident.
+       Related to bug#69935
+
+2024-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (pp-fill): Cut before parens and dots
+
+       The `pp-fill` code sometimes end up generating things like:
+
+           (foo .
+                bar)
+
+       instead of
+
+           (foo
+            .  bar)
+
+       so make sure we cut before rather than after the dot (and open
+       parens while we're at it).
+
+       * lisp/emacs-lisp/pp.el (pp-fill): Cut before parens and dots.
+
+       * test/lisp/emacs-lisp/pp-tests.el (pp-tests--dimensions): New function.
+       (pp-tests--cut-before): New test.
+
+2024-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (help-fns-function-description-header): Print functions' type
+
+       Instead of choosing English words to describe the kind of function,
+       use the actual type of the function object (from `cl-type-of`)
+       directly, and make it a button to display info about that type.
+
+       * lisp/help-fns.el (help-fns-function-description-header): Use the
+       function's type name in the description instead of "prose".
+       Use `insert` instead of `princ`, so as to preserve the text-properties
+       of the button.
+
+       * lisp/emacs-lisp/cl-extra.el (cl-help-type): Move to `help-mode.el`
+       and rename to `help-type`.
+       (cl--describe-class): Adjust accordingly.
+
+       * lisp/help-mode.el (help-type): New type, moved and renamed from
+       `cl-extra.el`.
+
+2024-03-22  Po Lu  <luangruo@yahoo.com>
+
+       Fix display of custom menus after putative cosmetic change
+
+       * lisp/wid-edit.el (widget-setup): Restore version from before
+       the previous commit.
+
+2024-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/help.el (help--analyze-key): Use `help-fns-function-name`
+
+2024-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (help-fns-function-name): New function
+
+       Consolidate code used in profiler and help--describe-command,
+       and improve it while we're at it.
+       Also use #' to quote a few function names along the way.
+
+       * lisp/help-fns.el (help-fns--function-numbers, 
help-fns--function-names):
+       New vars.
+       (help-fns--display-function): New aux function.
+       (help-fns-function-name): New function, inspired from
+       `help--describe-command`.
+
+       * lisp/help.el (help--describe-command): Use `help-fns-function-name`.
+       (help--for-help-make-sections): Remove redundant "" arg to `mapconcat`.
+
+       * lisp/profiler.el (profiler-format-entry, profiler-fixup-entry):
+       Delete functions.
+       (profiler-report-make-entry-part): Use `help-fns-function-name` instead.
+       (profiler-report-find-entry): Use `push-button`.
+
+       * lisp/transient.el (transient--debug): Use `help-fns-function-name`
+       when available.
+
+2024-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (make-help-screen): Move most of the code out to a function
+
+       This avoids problems like variable-name capture and lets compiler 
messages
+       point to the actual source code.
+
+       * lisp/help-macro.el (help--help-screen): New function, extracted from
+       `make-help-screen`.
+       (make-help-screen): Use it.
+
+2024-03-21  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Update to Transient v0.6.0-1-gcaef3347
+
+2024-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (describe-symbol-backends): Fix addition of the "type" backend
+
+       That backend was added from `cl-extra.el` with no autoload, so
+       (describe-symbol `advice) failed to show the info about
+       the `advice` type unless `cl-extra.el` had been loaded beforehand.
+       `C-h o RET advice RET` worked by accident because the completion
+       table uses `cl-some` which is autoloaded from `cl-extra.el`.
+
+       * lisp/help-mode.el (describe-symbol-backends): Add the "type" backend.
+       * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Don't add the
+       "type" backend here.
+
+2024-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       byte-opt.el: Remove test that's not applicable any more
+
+       * lisp/emacs-lisp/byte-opt.el: Remove left-over test for ancient
+       byte-compiled representation.
+
+2024-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Speed up `describe-char` when a property has a large value
+
+       Doing `C-u C-x =` on a buffer position where the overlay/text
+       properties hold large values (e.g. inside the profiler report)
+       can be surprisingly slow because it pretty prints all those properties.
+       Change the code to do the pretty printing more lazily.
+       While at it, share that duplicated code between `descr-text.el` and
+       `wid-browse.el`.
+
+       * lisp/emacs-lisp/pp.el (pp-insert-short-sexp): New function.
+
+       * lisp/descr-text.el (describe-text-sexp): Delete function.
+       (describe-property-list): Use `pp-insert-short-sexp` instead.
+
+       * lisp/wid-browse.el (widget-browse-sexp): Use `pp-insert-short-sexp`
+       and `widget--allow-insertion`.
+
+2024-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       wid-edit.el: Cosmetic changes
+
+       * lisp/wid-edit.el: Use #' to quote function names.
+       (widget--simplify-menu, widget-echo-help): Explicitly specify the
+       lexenv to `eval`.
+       (widget-choose, widget-get-sibling, widget-setup, widget-field-find)
+       (widget-choice-action, widget-checklist-value-get)
+       (widget-radio-value-create, widget-radio-value-set)
+       (widget-radio-action, widget-editable-list-delete-at)
+       (widget-group-value-create, widget-choice-prompt-value): Use `dolist`.
+       (widget-convert): Hoist `(setq current` out of the ifs.
+       (widget-convert): Hoist `(setq keys` out of the if.
+       (widget-after-change): Hoist `(setq begin` out of the if.
+       (widget-default-completions): Use `cond`.
+       (widget-default-value-set): Hoist `goto-char` out of the if.
+       (widget-choice-action): Hoist `nth` out of the if.
+       (widget-checkbox-action): Hoist `widget-apply` out of the if.
+       (widget-editable-list-value-create): Hoist `car` out of the if.
+       (widget-editable-list-entry-create): Hoist `(setq child ...` out of the 
if.
+       (widget-documentation-link-action): Fold `if` into `cond`.
+       (widget-key-sequence-value-to-external): Use `key-parse`.
+       (widget-plist-convert-option, widget-alist-convert-option):
+       Hoist `(setq key-type` out of the if.
+
+2024-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (widget--allow-insertion): New macro
+
+       * lisp/wid-edit.el (widget--allow-insertion): New macro.
+       (widget-specify-insert, widget-insert, widget-setup)
+       (widget-default-delete, widget-editable-list-insert-before)
+       (widget-editable-list-delete-at): Use it.
+
+2024-03-21  Adam Porter  <adam@alphapapa.net>
+
+       'vtable-update-object' can now be called with one argument
+
+       It's often necessary to update the representation of a single
+       object in a table (e.g a struct, whose identity does not change
+       when its slots'
+       values are changed).  To do so, now the function may be called
+       like this:
+
+         (vtable-update-object table object)
+
+       Instead of like this:
+
+         (vtable-update-object table object object)
+
+       This also documents the behavior of the just-discovered limitation filed
+       as bug#69837.
+       * lisp/emacs-lisp/vtable.el (vtable-update-object): Make 'old-object'
+       argument optional.  (Bug#69666)
+
+       * doc/misc/vtable.texi (Interface Functions): Update documentation.
+
+       * etc/NEWS: Add news entry.
+
+2024-03-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Speed up display of RTL text with many character compositions
+
+       * src/bidi.c (bidi_level_start): New function.
+       * src/dispextern.h (bidi_level_start): Add prototype.
+       * src/xdisp.c (compute_stop_pos, set_iterator_to_next)
+       (get_visually_first_element, next_element_from_buffer): Call
+       'bidi_level_start' when looking for composed characters backwards,
+       to set limit of searching back, instead of looking all the way to
+       BOB.  (Bug#69385)
+
+2024-03-21  Adam Porter  <adam@alphapapa.net>
+
+       Avoid recomputing the whole table in 'vtable--recompute-numerical'
+
+       Each element of LINE being tested is a list, the first element of
+       which is the value actually being represented in the table.
+       Previously, the 'numberp' test would always fail, because it was
+       being compared with the list rather than the intended value in it;
+       that could cause the whole table to be recomputed, sometimes
+       unnecessarily.
+       * lisp/emacs-lisp/vtable.el (vtable--recompute-numerical): Test the
+       car of ELEM, not ELEM itself, which is a list.  (Bug#69927)
+
+2024-03-21  Po Lu  <luangruo@yahoo.com>
+
+       Android compatibility fixes
+
+       * doc/emacs/android.texi (Android Windowing): Document
+       restrictions on number of windows under Android 4.4 and earlier.
+
+       * java/AndroidManifest.xml.in <EmacsActivity>
+       <EmacsOpenActivity, EmacsMultitaskActivity>: Assign each class
+       of activity a unique task affinity.
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
+       Remove redundant priority assignment.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Handle
+       file URIs when processing attachments from a mailto URI, and
+       check for KitKat before opening content ones.
+
+       * java/org/gnu/emacs/EmacsWindow.java <pointerMap>
+       (figureChange): Replace coordinate HashMap with a SparseArray.
+
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (registerWindow): Don't specify FLAG_ACTIVITY_NEW_DOCUMENT on
+       systems where it is absent.
+
+2024-03-20  Andrea Corallo  <acorallo@gnu.org>
+
+       Add native compiler sanitizer
+
+       * src/comp.c (ABI_VERSION): Bump new version.
+       (CALL0I): Uncomment.
+       (helper_link_table, declare_runtime_imported_funcs): Add
+       'helper_sanitizer_assert'.
+       (Fcomp__init_ctxt): Register emitter for
+       'helper_sanitizer_assert'.
+       (helper_sanitizer_assert): New function.
+       (syms_of_comp): 'helper_sanitizer_assert' defsym.
+       (syms_of_comp): 'comp-sanitizer-error' define error.
+       (syms_of_comp): 'comp-sanitizer-active' defvar.
+
+       * lisp/emacs-lisp/comp.el (comp-passes): Add 'comp--sanitizer'.
+       (comp-sanitizer-emit): Define var.
+       (comp--sanitizer): Define function.
+
+       * lisp/emacs-lisp/comp-run.el (comp-run-async-workers): Forward
+       'comp-sanitizer-emit'.
+
+2024-03-20  Po Lu  <luangruo@yahoo.com>
+
+       Respect file display names during Android drag-and-drop
+
+       * java/org/gnu/emacs/EmacsService.java (buildContentName):
+       Remove redundant projection argument to resolver.query.
+
+       * java/org/gnu/emacs/EmacsWindow.java (onDragEvent): If a
+       content resolver is available, attempt to convert content URIs
+       into file names in advance.
+
+       * lisp/term/android-win.el (android-handle-dnd-event): Adjust
+       correspondingly.
+
+2024-03-19  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Fix vc-git test when no identities are configured
+
+       Reported by john muhl <jm@pub.pink>.
+
+       * test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo): Set
+       some environment variables (lifted from vc-tests.el) to let
+       'git commit' compute dummy author and committer identities.
+
+2024-03-19  Eli Zaretskii  <eliz@gnu.org>
+
+       Unbreak the Cygw32 build broken by resent WTS_SESSION changes
+
+       * src/w32xfns.c (WTS_VIRTUAL_CLASS):
+       * src/w32fns.c (WTS_VIRTUAL_CLASS, WM_WTSSESSION_CHANGE)
+       (WTS_SESSION_LOCK): Define only for WINDOWSNT.
+       * src/w32xfns.c (drain_message_queue): Call
+       'reset_w32_kbdhook_state' only for WINDOWSNT.  (Bug#69888)
+
+2024-03-19  Andrea Corallo  <acorallo@gnu.org>
+
+       * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-93): Add test.
+
+2024-03-19  Andrea Corallo  <acorallo@gnu.org>
+
+       * Use 'cl-type-of' in comp-cstr.el
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous-no-range)
+       (comp-cstr-union-1-no-mem, comp-cstr-intersection-no-hashcons):
+       Make use of 'cl-type-of' in place of 'type-of'.
+
+2024-03-19  Po Lu  <luangruo@yahoo.com>
+
+       Update android.texi
+
+       * doc/emacs/android.texi (Android Startup): Describe
+       /content/by-authority-named.
+
+2024-03-19  Po Lu  <luangruo@yahoo.com>
+
+       Respect display names of Android content URIs
+
+       * java/org/gnu/emacs/EmacsNative.java (displayNameHash): New
+       function.
+
+       * java/org/gnu/emacs/EmacsService.java (buildContentName): New
+       argument RESOLVER.  Generate names holding URI's display name if
+       available.  All callers changed.
+
+       * lisp/international/mule-cmds.el (set-default-coding-systems):
+       Fix file name coding system as utf-8-unix on Android as on Mac
+       OS.
+
+       * src/androidvfs.c (enum android_vnode_type): New enum
+       ANDROID_VNODE_CONTENT_AUTHORITY_NAMED.
+       (android_content_name): Register root directories for this new
+       type.
+       (displayNameHash): New function.
+       (android_get_content_name): New argument WITH_CHECKSUM.  If
+       present, treat the final two components as a pair of checksum
+       and display name, and verify and exclude the two.
+       (android_authority_name): Provide new argument as appropriate.
+       (android_authority_initial_name): New function.
+
+2024-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-preloaded.el (user-ptr): Add predicate
+
+       Merge branch 'cl-type-of' (bug#69739)
+
+2024-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Followup changes to `cl-type-of`
+
+       These changes came up while working on `cl-type-of` but are not
+       directly related to the new `cl-type-of`.
+       The BASE_PURESIZE bump was needed at some point on one of my
+       machine, not sure why.
+
+       * src/puresize.h (BASE_PURESIZE): Bump up.
+       * src/sqlite.c (bind_value): Don't use `Ftype_of`.
+       * lisp/emacs-lisp/seq.el (seq-remove-at-position): Simplify.
+       * lisp/emacs-lisp/cl-preloaded.el (finalizer):
+       New (previously missing) type.
+       * doc/lispref/objects.texi (Type Predicates): Minor tweaks.
+
+2024-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (primitive-function): New type
+
+       The type hierarchy and `cl-type-of` code assumed that `subr-primitive`
+       only applies to functions, but since it also accepts special-forms it 
makes
+       it an unsuitable choice since it can't be a subtype of 
`compiled-function`.
+       So, use a new type `primitive-function` instead.
+
+       * lisp/subr.el (subr-primitive-p): Fix docstring (bug#69832).
+       (primitive-function-p): New function.
+
+       * lisp/emacs-lisp/cl-preloaded.el (primitive-function): Rename
+       from `subr-primitive` since `subr-primitive-p` means something else.
+
+       * src/data.c (Fcl_type_of): Return `primitive-function` instead
+       of `subr-primitive` for C functions.
+       (syms_of_data): Adjust accordingly.
+
+       * test/src/data-tests.el (data-tests--cl-type-of): Remove workaround.
+
+2024-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl-type-of): New function to return more precise types (bug#69739)
+
+       * src/data.c (Fcl_type_of): New function, extracted from `Ftype_of`.
+       Make it return more precise types for symbols, integers, and subrs.
+       (Ftype_of): Use it.
+       (syms_of_data): Define the corresponding new symbols and defsubr
+       the new function.
+
+       * doc/lispref/objects.texi (Type Predicates): Document it.
+
+       * src/comp.c (emit_limple_insn): Use `Fcl_type_of`.
+
+       * lisp/emacs-lisp/cl-preloaded.el (subr): Demote it to `atom`.
+       (subr-native-elisp, subr-primitive): Add `compiled-function` as
+       parent instead.
+       (special-form): New type.
+
+       * lisp/emacs-lisp/eieio-core.el (cl--generic-struct-tag):
+       * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer):
+       Use `cl-type-of`.
+       cl--generic--unreachable-types): Update accordingly.
+
+       test/src/data-tests.el (data-tests--cl-type-of): New test.
+
+2024-03-18  Po Lu  <luangruo@yahoo.com>
+
+       Makeshift solution for X server bug
+
+       * src/xterm.c (x_sync_init_fences): Detect errors around
+       XSyncCreateFence.  (bug#69762)
+
+2024-03-17  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-select-restore-windows): New defcustom.
+
+       (tab-bar-select-restore-windows): New function.
+       (tab-bar-select-tab): Let-bind window-restore-killed-buffer-windows
+       to tab-bar-select-restore-windows (bug#68235).
+
+2024-03-17  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Update source repository of the Modus themes
+
+       * admin/MAINTAINERS: Update URL and remove outdated references.
+
+2024-03-17  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Update modus-themes to their 4.4.0 version
+
+       * doc/misc/modus-themes.org: Update the manual to better document
+       existing functionality and cover the new features.
+
+       * etc/themes/modus-operandi-deuteranopia-theme.el:
+       * etc/themes/modus-operandi-theme.el:
+       * etc/themes/modus-operandi-tinted-theme.el:
+       * etc/themes/modus-operandi-tritanopia-theme.el:
+       * etc/themes/modus-vivendi-deuteranopia-theme.el:
+       * etc/themes/modus-vivendi-theme.el:
+       * etc/themes/modus-vivendi-tinted-theme.el:
+       * etc/themes/modus-vivendi-tritanopia-theme.el: Update the
+       palette of each theme.
+
+       * etc/themes/modus-themes.el (require): Remove call to cl-lib
+       and do not use relevant functions.
+       (modus-themes-operandi-colors, modus-themes-vivendi-colors)
+       (modus-themes-version, modus-themes-report-bug): Remove old
+       calls to 'make-obsolete' and related.
+
+       (modus-themes--annotate-theme): Tweak the completion annotation 
function.
+
+       (modus-themes--org-block): Deprecate the user option 
'modus-themes-org-blocks'.
+       (modus-themes-faces): Update faces.
+       (modus-themes-custom-variables): Update the list of custom
+       variables.
+
+       Detailed release notes are available here:
+       <https://protesilaos.com/codelog/2024-03-17-modus-themes-4-4-0/>.
+
+2024-03-17  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Fix vc-dir when "remote" Git branch is local
+
+       While in there, add that "tracking" branch to the vc-dir
+       buffer.  For bug#68183.
+
+       * lisp/vc/vc-git.el (vc-git-dir-extra-headers): Reduce
+       boilerplate with new function 'vc-git--out-ok'; stop calling
+       vc-git-repository-url when REMOTE is "." to avoid throwing an
+       error; display tracking branch; prefer "none (<details...>)" to
+       "not (<details...>)" since that reads more grammatically
+       correct.
+       (vc-git--out-ok): Add documentation.
+       (vc-git--out-str): New function to easily get the output from a
+       Git command.
+       * test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo)
+       (vc-git-test--run): New helpers, defined to steer clear of
+       vc-git-- internal functions.
+       (vc-git-test-dir-track-local-branch): Check that vc-dir does
+       not crash.
+
+2024-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Improve C++ standard library detection on Android
+
+       * configure.ac: Stop relaying --with-ndk-cxx-shared to the
+       nested invocation of configure.
+
+       * build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES):
+
+       * build-aux/ndk-build-helper-2.mk (SYSTEM_LIBRARIES): Insert all
+       of the C++ libraries available on Android.
+
+       * configure.ac: Call ndk_LATE and ndk_LATE_EARLY within if
+       statement at toplevel, averting needless calls to AC_PROG_CXX.
+
+       * cross/ndk-build/Makefile.in (NDK_BUILD_CXX_STL)
+       (NDK_BUILD_CXX_LDFLAGS):
+
+       * cross/ndk-build/ndk-build.mk.in (NDK_BUILD_CXX_STL)
+       (NDK_BUILD_CXX_LDFLAGS): New variables.
+
+       * cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES):
+       Introduce several other C++ libraries sometimes present on
+       Android.
+       (NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Insert NDK_BUILD_CXX_STL
+       when any of these new C++ libraries are requested.
+
+       * m4/ndk-build.m4: Completely rewrite C++ compiler and library
+       detection.
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Attempt to
+       load more libraries from static initializer.
+
+       * java/INSTALL: Remove obsolete information.
+
+2024-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       debug.el: Prevent re-entering the debugger for the same error
+
+       We can have several active `handler-bind`s that all want to invoke the
+       debugger, in which case we can have the following sequence:
+
+       - The more deeply nested handler calls the debugger.
+       - After a while the user invokes `debugger-continue`.
+       - `signal_or_quit` propagates the error up the stack to the
+         second handler, which calls the debugger again.
+       - The user thus ends up right back at the same place, as if
+         `debugger-continue` had not be processed.
+
+       Fix this by remembering the last processed error and skipping
+       the debugger if we bump into it again.
+
+       * lisp/emacs-lisp/debug.el (debugger--last-error): New var.
+       (debugger--duplicate-p): New function.
+       (debug): Use them.
+
+2024-03-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       3b791ebbe17 ; Fix 'usage:' keyword in Ffile_name_concat doc.
+       ed48b0d657c ; * CONTRIBUTE: Ask not to use non-ASCII unless necessary.
+       b708e639d63 ; * src/lread.c (maybe_swap_for_eln): Clarify warning mes...
+       db027a06976 ; Fix bibtex-biblatex-field-alist docstring typo.
+       a9be5c7ea92 ; * doc/lispref/control.texi (Conditionals): Add missing ...
+       db5915f30ba Fix 'with-sqlite-transaction'
+       fe491173e8f ; * doc/emacs/files.texi (Image Mode): Fix typo (bug#69671).
+
+2024-03-16  Martin Rudalics  <rudalics@gmx.at>
+
+       Document and announce 'marker-last-position'
+
+       * doc/lispref/markers.texi (Information from Markers): Document
+       'marker-last-position'.
+       * etc/NEWS: Announce 'marker-last-position'.
+       * src/window.c (window_restore_killed_buffer_windows): Minor
+       doc-string fix.
+       * doc/lispref/windows.texi (Window Configurations): Minor fix.
+
+2024-03-16  Martin Rudalics  <rudalics@gmx.at>
+
+       In window-related documentation write 'symbol' instead of 'constant'
+
+       Suggested by Michael Heerdegen <michael_heerdegen@web.de>.
+
+       * src/window.c (window_restore_killed_buffer_windows): In
+       doc-string write 'symbol' instead of 'constant'.
+       * lisp/window.el (display-buffer--lru-window)
+       (display-buffer-use-least-recent-window): In doc-strings write
+       'symbol' instead of 'constant'.
+       * doc/lispref/windows.texi (Window Configurations): Write
+       'symbol' instead of 'constant'.
+
+2024-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Respond to default action from Gnus notifications
+
+       * lisp/gnus/gnus-notifications.el (gnus-notifications-action):
+       Consider default equivalent to read.
+
+2024-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Support x-*-keysym on Android
+
+       * src/androidterm.c (android_android_to_emacs_modifiers)
+       (android_emacs_to_android_modifiers, syms_of_androidterm): Port
+       x-*-keysym from xterm.c.
+
+2024-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Correct doc strings for x-*-keysym
+
+       * src/xterm.c (syms_of_xterm): Clarify whether x-*-keysym
+       affects the modifier key reported for a keysym or the other way
+       around.
+
+2024-03-16  Po Lu  <luangruo@yahoo.com>
+
+       * doc/lispref/frames.texi (Window System Selections): Fix misuse of 
xref.
+
+2024-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Fix calc.texi for Texinfo 4.13
+
+       * doc/misc/calc.texi (Fractions): Replace instances of @U with
+       raw Unicode characters and adjust the document encoding
+       suitably.
+
+2024-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/bindat.el (sint): Burp in dynbind (bug#69749)
+
+2024-03-15  Andrea Corallo  <acorallo@gnu.org>
+
+       * Don't install unnecessary trampolines (bug#69573)
+
+       * lisp/emacs-lisp/comp-run.el (comp-subr-trampoline-install):
+       Check that subr-name actually matches the target subr.
+
+2024-03-15  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): Don't 
declare.
+
+2024-03-15  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix bug with CHECK_STRUCTS introduced by last buffer.h change
+
+       * src/pdumper.c (dump_buffer): Fix HASH_buffer_.  Assign
+       last_name_ field.
+
+2024-03-15  Martin Rudalics  <rudalics@gmx.at>
+
+       Further adjustments for restoring killed buffer windows (Bug#68235)
+
+       * etc/NEWS: Announce 'window-restore-killed-buffer-windows'.
+       * src/buffer.h (struct buffer) : New field last_name_.
+       * src/buffer.c (Fbuffer_last_name): New function to return last
+       name of buffer before it was killed or renamed.
+       (bset_last_name, Fget_buffer_create, Fmake_indirect_buffer)
+       (Frename_buffer, Fkill_buffer, init_buffer_once): Set buffer's
+       last_name_ field accordingly.
+       * src/window.c (window_restore_killed_buffer_windows): New
+       variable replacing Vwindow_kept_windows_functions.
+       (Fset_window_configuration): Use
+       window_restore_killed_buffer_windows instead of
+       Vwindow_kept_windows_functions.
+       * lisp/window.el (window--state-put-2, window-state-put): Use
+       'window-restore-killed-buffer-windows' instead of
+       'window-kept-windows-functions'.
+       * doc/lispref/windows.texi (Window Configurations): Describe
+       'window-restore-killed-buffer-windows' which replaces
+       'window-kept-windows-functions'.
+
+2024-03-15  Juri Linkov  <juri@linkov.net>
+
+       * lisp/vc/diff-mode.el (diff-mode-menu): Add menu item "Apply all 
hunks".
+
+       It's bound to the recently added command 'diff-apply-buffer'.
+
+2024-03-15  Spencer Baugh  <sbaugh@janestreet.com>
+
+       With visible-completions, only bind RET when completion is selected
+
+       Previously, if minibuffer-visible-completions was non-nil, we bound RET
+       whenever the *Completions* buffer was visible.  This meant that RET in
+       completion-in-region would not enter a newline, which is a somewhat
+       annoying behavior change from minibuffer-visible-completions=nil.
+
+       Now, we only bind RET when a completion is selected.  This means
+       RET will newline in completion-in-region.
+
+       So that completion help continues to suggest the correct keys,
+       we also add minibuffer-visible-completions--always-bind.  When
+       let-bound to a non-nil value, it makes the
+       minibuffer-visible-completions binds always active.  We let-bind
+       it around substitute-command-keys.
+
+       * lisp/minibuffer.el (minibuffer-visible-completions--always-bind)
+       (minibuffer-visible-completions--filter): Add.
+       (minibuffer-visible-completions-bind): Use
+       minibuffer-visible-completions--filter.  (bug#68801)
+       * lisp/simple.el (minibuffer-visible-completions--always-bind)
+       (completion-setup-function): Let-bind
+       minibuffer-visible-completions--always-bind so the completion
+       help is correct.
+
+2024-03-15  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Keep indenting text when 'shr-fill-text' is nil (bug#69555)
+
+       The 'shr-fill-...' functions handle both hard-filling (adding
+       newlines to break long lines) and indentation.  Setting
+       'shr-fill-text' to nil currently causes these functions to be
+       short-circuited completely, so e.g. blockquotes are no longer
+       indented, whereas the intent of this user option is only to
+       prevent hard-filling to let visual-line-mode reflow text.
+
+       * lisp/net/shr.el (shr-fill-lines): Document that the function
+       handles more than just filling; move the 'shr-fill-text' check...
+       (shr-fill-line): ... here, after indentation has been taken care
+       of.
+       * test/lisp/net/shr-resources/blockquote.html:
+       * test/lisp/net/shr-resources/blockquote.txt: New test resources.
+       * test/lisp/net/shr-tests.el (shr-test--rendering-check): Rename
+       from 'shr-test', to make the relationship with the 'rendering'
+       testcase clearer; prefer 'file-name-concat' to 'format'; raise
+       ERT failure if need be, calling (ert-fail ...) directly instead
+       of (should (not (list ...))).
+       (shr-test--rendering-extra-configs): New variable to easily check
+       that user customizations do not degrade rendering.
+       (rendering): Consult that new variable; delegate failure-raising
+       to reduce duplication.
+
+2024-03-15  Po Lu  <luangruo@yahoo.com>
+
+       * src/sfntfont-android.c (init_sfntfont_android): Fix SDK check.
+
+2024-03-15  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (project--value-in-dir): Ensure that the global value is still honored
+
+       * lisp/progmodes/project.el (project--value-in-dir):
+       Ensure that the global value of the variable is still honored,
+       when the variable is not in dir-locals.
+
+2024-03-15  Patrick Bader  <patrick.bader@thingos.io>
+
+       fix: project submodule detection does not work for worktrees
+
+2024-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (set-auto-mode): Streamline to fix bug#67795
+
+       The old code tested if the mode function is `fboundp` but in an
+       inconsistent way and without paying attention to
+       `major-mode-remap`.
+
+       * lisp/files.el (set-auto-mode-0): Return `:keep` rather than nil if
+       the mode was already set.  And emit a warning when the mode function
+       doesn't exist.
+       (set-auto-mode): Remove checks that the mode function exists now that
+       `set-auto-mode-0` does it for us.  Adjust to the new return values of
+       that function, and simplify the code using a big `or` instead of
+       a sequence of steps each setting&testing `done`.
+       (hack-local-variables--find-variables): Use `major-mode-remap`
+       when skipping the "mode:" entries that specify modes we don't have.
+       Also, when (eq handle-mode t), don't bother building a list of results
+       only to return a single element in the end.
+
+2024-03-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (customize-mode): Fix bug#69501
+
+       * lisp/cus-edit.el (customize-mode): Use the predicate arg of
+       `completing-read` instead of binding `completion-regexp-list`.
+
+2024-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Fix last change
+
+       * src/xwidget.c (Fmake_xwidget): Cast boolean value to gboolean.
+       (syms_of_xwidget): Fix coding style and improve doc string.
+
+2024-03-14  Juri Linkov  <juri@linkov.net>
+
+       * lisp/textmodes/flyspell.el (flyspell-check-changes): New user option.
+
+       (flyspell--mode-on): Add flyspell-check-changes to post-command-hook
+       when flyspell-check-changes is non-nil.
+       (flyspell--mode-off): Remove flyspell-check-changes from 
post-command-hook.
+       (flyspell-check-changes): New function (bug#61874).
+
+2024-03-14  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/project.el: Don't run modes from .dir-locals.el.
+
+       (project--value-in-dir): Use 'alist-get' on 'file-local-variables-alist'
+       to avoid calling 'hack-local-variables-apply' via
+       'hack-dir-local-variables-non-file-buffer' because it might enable
+       undesirable modes such as flyspell-mode in a temporary buffer 
(bug#69740).
+
+2024-03-14  Juri Linkov  <juri@linkov.net>
+
+       Context menu for project (bug#69566)
+
+       * lisp/menu-bar.el (menu-bar-project-item): New variable from
+       'project-menu-entry'.
+       (menu-bar-tools-menu): Use 'menu-bar-project-item'.
+
+       * lisp/mouse.el (context-menu-functions): Add
+       'context-menu-project' to choice.
+       (context-menu-project): New function.
+
+       * lisp/progmodes/project.el (project-menu-entry): Remove variable.
+       (project-mode-line-map): Use 'menu-bar-project-item' instead of
+       'project-menu-entry'.
+
+2024-03-14  Pankaj Jangid  <pankaj@codeisgreat.org>
+
+       Add language server for Move to eglot
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Added
+       'move-analyzer' language server.  (Bug#69796)
+
+2024-03-14  Liu Hui  <liuhui1610@gmail.com>
+
+       Detect the readline support for Python shell completion
+
+       * lisp/progmodes/python.el
+       (python-shell-comint-watch-for-first-prompt-output-filter):
+       Detect the readline support.
+       (python-shell-readline-completer-delims): Update docstring.
+       (python-shell-completion-native-setup): Move the readline
+       detection code to ...
+       (python-shell-readline-detect): ... new function.
+       (python-shell-completion-native-turn-on-maybe): Skip if Python
+       has no readline support.
+       (python-shell-completion-at-point): Respect the delimiter of
+       readline completer in non-native completion.
+       * test/lisp/progmodes/python-tests.el
+       (python-shell-completion-at-point-1)
+       (python-shell-completion-at-point-native-1)
+       (python-completion-at-point-1, python-completion-at-point-2)
+       (python-completion-at-point-pdb-1)
+       (python-completion-at-point-while-running-1)
+       (python-completion-at-point-native-1)
+       (python-completion-at-point-native-2)
+       (python-completion-at-point-native-with-ffap-1)
+       (python-completion-at-point-native-with-eldoc-1): Skip tests if
+       Python has no readline support.
+       (python-shell-completion-at-point-jedi-completer): Add test for
+       non-native Python shell completion. (bug#68559)
+
+2024-03-14  Adam Porter  <adam@alphapapa.net>
+
+       Handle the case where 'vtable-update-object' doesn't find old object
+
+       * lisp/emacs-lisp/vtable.el (vtable-update-object): If OLD-OBJECT
+       is not found, don't call ELT, since SEQ-POSITION may return nil.
+       (Bug#69664)
+
+2024-03-14  Phil Hagelberg  <phil@hagelb.org>  (tiny change)
+
+       bug#69685: Add language server for Fennel to eglot
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add
+       fennel-ls language server.
+
+2024-03-14  StrawberryTea  <look@strawberrytea.xyz>  (tiny change)
+
+       ffap.el: Exclude angle brackets from file names in XML
+
+       * lisp/ffap.el (ffap-string-at-point-mode-alist): Add elements for
+       XML, to better recognize file names in XML buffers.
+
+2024-03-14  Visuwesh  <visuweshm@gmail.com>
+
+       Add bounds-of-thing-at-point property for 'number'
+
+       * lisp/thingatpt.el (thing-at-point-decimal-regexp)
+       (thing-at-point-hexadecimal-regexp): Extract regexps from...
+       (number-at-point): ...here.  Use them in 'number-at-point'.
+       (number): Add 'bounds-of-thing-at-point' property as
+       `forward-word' does not always return the right boundary,
+       e.g., in latex-mode buffers.  (Bug#69239)
+
+2024-03-14  Noé Lopez  <noelopez@free.fr>
+
+       Add user option to disable JavaScript in xwidget webview
+
+       * src/xwidget.c: Add the 'xwidget-webkit-disable-javascript'
+       variable to disable JavaScript in WebKit sessions.  (Bug#68604)
+
+       * etc/NEWS:
+       * doc/emacs/misc.texi (Embedded Webkit Widgets): Document
+       the change.
+
+2024-03-14  Adam Porter  <adam@alphapapa.net>
+
+       * lisp/emacs-lisp/vtable.el (vtable-update-object): Fix.
+
+       The order of the arguments to 'seq-position' was wrong, and it did not
+       compare the correct values.  (Bug#69664)
+
+2024-03-14  Raffael Stocker  <r.stocker@mnet-mail.de>
+
+       Fix resetting keyboard hook state on MS-Windows
+
+       Register session notifications so Emacs is notified when the
+       computer is being locked, as required to reset the low level
+       keyboard hook state.  (Bug#69083).
+       * src/w32term.h:
+       * src/w32fns.c (setup_w32_kbdhook, remove_w32_kbdhook)
+       (w32_wnd_proc, globals_of_w32fns, maybe_pass_notification):
+       Register and manage session notifications in GUI Emacs.
+       * src/w32console.c (initialize_w32_display, find_ime_window):
+       * src/w32xfns.c (drain_message_queue): Register notifications
+       and reset keyboard hook state in console Emacs.
+       * src/w32.c (term_ntproc): Un-register session notifications
+       when terminating.
+
+2024-03-14  Po Lu  <luangruo@yahoo.com>
+
+       * exec/trace.c (rpl_stpcpy): Replace stpcpy if absent.
+
+2024-03-14  Po Lu  <luangruo@yahoo.com>
+
+       Improve /proc/self/exe substitution on Android
+
+       * exec/configure.ac (USER_SWORD): New macro.
+
+       * exec/exec.c (format_pid): Export this function.
+
+       * exec/exec.h:
+
+       * exec/trace.c (canon_path): New function.
+       (handle_readlinkat, handle_openat): Test complete file name
+       against /proc/self/exe, and further check for /proc/pid/exe.
+
+2024-03-13  Gerd Möllmann  <gerd@gnu.org>
+
+       ns_select fix for macOS terminals (bug#69561)
+
+       * src/nsterm.m (ns_select_1): Return early for terminals.
+
+2024-03-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Fix name of gnus-notification(s)-close; ignore argument
+
+       * lisp/gnus/gnus-notifications.el (gnus-notifications-close): Original
+       name was probably a typo.
+
+2024-03-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash when displaying notifications on Android 3.0
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
+       Don't call setPriority until Jelly Bean.
+
+2024-03-13  Gerd Möllmann  <gerd@gnu.org>
+
+       Prevent freezes on macOS (bug#69561)
+
+       * src/nsterm.m (ns_select_1): Store pending input_events. Always call
+       [NSApp run].
+
+2024-03-13  Po Lu  <luangruo@yahoo.com>
+
+       Port more notification senders to non-XDG systems
+
+       * doc/lispref/os.texi (Desktop Notifications): Document that
+       `:timeout' is now implemented.
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java
+       (EmacsDesktopNotification): New field delay.
+       (display1): Set delay on Android 8.0 and up.
+
+       * lisp/erc/erc-desktop-notifications.el
+       (erc-notifications-notify): Call Android or Haiku notification
+       functions on those systems.
+
+       * lisp/gnus/gnus-notifications.el (gnus-notifications-action)
+       (gnus-notification-close): Remove dismissed notifications from
+       the notification to message map.
+       (gnus-notifications-notify): Call android-notifications-notify
+       if possible.
+
+       * src/androidselect.c (android_init_emacs_desktop_notification):
+       Update accordingly.
+       (android_notifications_notify_1): New argument TIMEOUT.
+       (Fandroid_notifications_notify): New argument QCtimeout.
+       (syms_of_androidselect) <QCtimeout>: New symbol.
+
+2024-03-12  Jeremy Bryant  <jb@jeremybryant.net>
+
+       * lisp/which-key.el (which-key--create-pages): Untabify.
+
+       * lisp/which-key.el (which-key--pad-column): Untabify.
+
+2024-03-12  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Use string-empty-p for readability.
+
+       * lisp/which-key.el (which-key--maybe-get-prefix-title):
+       Use string-empty-p for readability.
+
+2024-03-12  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Don't quote t
+
+       * lisp/which-key.el (which-key--replace-in-repl-list-many):
+       Don't quote t.
+
+2024-03-12  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Use declare form instead of put for clarity
+
+       * lisp/which-key.el (which-key-add-keymap-based-replacements):
+       Use declare form instead of put property.
+
+2024-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Try and avoid hardcoding lists of function types
+
+       * lisp/bind-key.el (bind-key--get-binding-description):
+       Show docstrings for compiled functions also.  Don't hardcode knowledge
+       about various particular kinds of functions.
+
+       * lisp/emacs-lisp/bytecomp.el (display-call-tree): Remove special
+       support for functions with a `byte-code` body since we never generate
+       that nowadays.  Don't hardcode knowledge
+       about various particular kinds of functions.
+
+2024-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Cleanup some type predicates
+
+       Use the new `cl--define-built-in-type` to reduce the manually
+       maintained list of built-in type predicates.
+       Also tweak docstrings to use "supertype" rather than "super type",
+       since it seems to be what we use elsewhere.
+
+       * lisp/subr.el (special-form-p): Remove redundant `fboundp` test.
+       (compiled-function-p): Don'Return nil for subrs that aren't functions.
+
+       * lisp/emacs-lisp/cl-macs.el (type predicates): Trim down the list.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--define-built-in-type):
+       Register the corresponding predicate if applicable.
+       (atom, null): Specify the predicate name explicitly.
+
+2024-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-generic: Signal an error when a type specializer won't work
+
+       * lisp/emacs-lisp/cl-generic.el (cl--generic--unreachable-types): New 
var.
+       (cl-generic-generalizers :extra "typeof"): Use it to signal an
+       error for those types we can't handle.
+
+2024-03-12  Daniel Pettersson  <daniel@dpettersson.net>
+
+       Jsonrpc: improve performance of process filter function
+
+       `run-at-time' keeps `timer-list' list sorted by inserting each
+       timer based on the timer value.  This means that
+       `timer--time-less-p' needs is executed ~N*N/2 times for each N
+       pending messages.  This means that jsonrpc becomes unusable
+       for connections that generate a lot messages at the same time.
+
+       * lisp/jsonrpc.el (Version): Bump to 1.0.25.
+       (jsonrpc--process-filter): Improve performance by activating
+       timers in a different order.  (Bug#69241)
+
+2024-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (comp-known-predicates): Fix overly optimistic `functionp`
+
+       * lisp/emacs-lisp/comp.el (comp-known-predicates): `functionp` can also
+       be true for `cons` objects.
+
+2024-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix CheckJNI crash on Android 2.2
+
+       * src/androidfns.c (syms_of_androidfns_for_pdumper): Don't free
+       local reference to script name if nonexistent.
+
+2024-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (gnus-convert-old-newsrc): Remove ancient converters
+
+       * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): Remove converters
+       from 2004 and before.
+       * lisp/gnus/legacy-gnus-agent.el: Delete file.
+
+2024-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Resolve inconsistency between Android and XDG notifications
+
+       * doc/lispref/os.texi (Desktop Notifications):
+
+       * src/androidselect.c (android_notifications_notify_1)
+       (Fandroid_notifications_notify, android_notification_action)
+       (syms_of_androidselect): Rename `:on-cancel' to `:on-close'.
+
+2024-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Implement notification residency on Android
+
+       * doc/lispref/os.texi (Desktop Notifications): Document support
+       for `:resident'.
+
+       * java/org/gnu/emacs/EmacsService.java (cancelNotification):
+
+       * src/android.c (android_init_emacs_service):
+
+       * src/android.h (struct android_emacs_service): New function.
+
+       * src/androidselect.c (android_notifications_notify_1)
+       (Fandroid_notifications_notify): New parameter QCresident; save
+       it within notification lists.
+       (android_notification_deleted, android_notification_action):
+       Adjust for changes to the format of notification lists and
+       cancel non-resident notifications when an action is selected.
+       (syms_of_androidselect): <QCresident>: New symbol.
+
+2024-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix notification cancellation detection on Android
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
+       Don't specify FLAG_ONE_SHOT in cancel intents.
+
+2024-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Implement notification callbacks on Android
+
+       * doc/lispref/os.texi (Desktop Notifications): Document that
+       :on-cancel, :on-action and :actions are now supported on
+       Android.
+
+       * java/org/gnu/emacs/EmacsActivity.java (onNewIntent): New
+       function.
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java
+       (NOTIFICATION_ACTION, NOTIFICATION_TAG, NOTIFICATION_DISMISSED):
+       New constants.  <actions, titles>: New fields.
+       (insertActions): New function.
+       (display1, display): Insert actions on Jelly Bean and up, and
+       arrange to be notified when the notification is dismissed.
+       (CancellationReceiver): New class.
+
+       * java/org/gnu/emacs/EmacsNative.java (sendNotificationDeleted)
+       (sendNotificationAction): New functions.
+
+       * src/android.c (sendDndDrag, sendDndUri, sendDndText): Correct
+       return types.
+       (sendNotificationDeleted, sendNotificationAction)
+       (android_exception_check_5, android_exception_check_6): New
+       functions.
+
+       * src/android.h:
+
+       * src/androidgui.h (struct android_notification_event): New
+       structure.
+       (union android_event): New member for notification events.
+
+       * src/androidselect.c (android_init_emacs_desktop_notification):
+       Update JNI signatures.
+       (android_notifications_notify_1, Fandroid_notifications_notify):
+       New arguments ACTIONS, ACTION_CB and CANCEL_CB.  Convert and
+       record them as appropriate.
+       (android_notification_deleted, android_notification_action): New
+       functions.
+       (syms_of_androidselect): Prepare a hash table of outstanding
+       notifications.
+       <QCactions, QCon_action, QCon_cancel> New defsyms.
+
+       * src/androidterm.c (handle_one_android_event)
+       <ANDROID_NOTIFICATION_DELETED>
+       <ANDROID_NOTIFICATION_ACTION>: Dispatch event contents to
+       androidselect.c for processing.
+
+       * src/androidterm.h:
+
+       * src/androidvfs.c (java_string_class): Export.
+
+       * src/keyboard.c (kbd_buffer_get_event) <NOTIFICATION_EVENT>:
+       Call callback specified by the event.
+
+       * src/termhooks.h (enum event_kind) [HAVE_ANDROID]: New
+       enum NOTIFICATION_EVENT.
+
+2024-03-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Change bare-symbol back to match intent
+
+       Also, attempt to document the intent better.
+       Problem reported by Alan Mackenzie (Bug#69684).
+       * src/data.c (Fbare_symbol): Do not signal if the SYM is a symbol
+       with position and symbols-with-pos-enabled is nil.  Instead,
+       ignore symbols-with-pos-enabled, as that was the intent.
+       * test/src/data-tests.el (data-tests-bare-symbol):
+       New test, to help prevent this bug from reoccurring.
+
+2024-03-11  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Improve pp-emacs-lisp-code backquote form printing
+
+       * lisp/emacs-lisp/pp.el (pp--quoted-or-unquoted-form-p): New helper
+       function.
+       (pp--insert-lisp): Take care of quoted, backquoted and
+       unquoted expressions; print using an recursive call.
+       (pp--format-list): Exclude more cases from printing as a function call
+       by default.  Print lists whose second-last element is an (un)quoting
+       symbol using dotted list syntax; e.g. (a b . ,c) instead of (a b \, c).
+
+2024-03-11  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Fix pp-emacs-lisp-code printing of symbols
+
+       * lisp/emacs-lisp/pp.el (pp--insert-lisp): Print symbols
+       readably (bug#69168).
+
+2024-03-11  Petteri Hintsanen  <petterih@iki.fi>  (tiny change)
+
+       (bindat--unpack-item): Sanitize vector length
+
+
+       * lisp/emacs-lisp/bindat.el (bindat--unpack-item): Sanitize vector 
length
+
+2024-03-10  Andreas Schwab  <schwab@linux-m68k.org>
+
+       Avoid dependency on nonexisting target in lispref makefile
+
+       * doc/lispref/Makefile.in (auxfiles): Change target into a
+       variable.
+       ($(buildinfodir)/elisp.info): Adjust dependency.
+       (infoclean): Clean $(auxfiles).
+
+2024-03-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Let 'browse-url-interactive-arg' return more values for NEW-WINDOW-FLAG
+
+       Previously it always returned t or nil for NEW-WINDOW-FLAG, but now it
+       can return the actual prefix arg when appropriate.  This lets functions
+       for 'browse-url-browser-function' consult it and do more things than
+       just open a new window or not (for example, you could use "C--" as the
+       prefix arg to do something special in a custom function).
+
+       * lisp/net/browse-url.el (browse-url-interactive-arg): Use 'xor' to
+       adjust the value of 'current-prefix-arg'.
+       (browse-url): Update docstring.
+
+2024-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       syncdoc-type-hierarchy.el: Sort and remove `comp` dependency
+
+       * admin/syncdoc-type-hierarchy.el: Delay loading `org-table` so as
+       not to "pollute" the table with Org-specific types.
+       (syncdoc-all-types): Sort the types topologically from the root.
+       (syncdoc-hierarchy): Use `cl--class-parents` instead if
+       `comp--direct-supertypes` so we don't depend on `comp-cstr`.
+       (syncdoc-make-type-table): Sort the table so supertypes always come 
before
+       their subtypes.
+       (syncdoc-make-type-table): Require `org-table` here.
+
+       * doc/lispref/elisp_type_hierarchy.jpg:
+       * doc/lispref/elisp_type_hierarchy.txt: Refresh.
+
+2024-03-10  Tim Ruffing  <crypto@timruffing.de>
+
+       * src/keyboard.c (read_key_sequence): Remove MSVC compatibility hack
+
+2024-03-10  Tim Ruffing  <crypto@timruffing.de>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/calc/calc-prog.el: Switch to new method of detecting end of kbd 
macro
+
+       'read-char' will no longer return -1 as of
+       ac82baea1c41ec974ad49f2861ae6c06bda2b4ed. This switches to a cleaner
+       method of detecting whether the end of a keyboard macro has been
+       reached.
+
+       * lisp/calc/calc-prog.el (calc--at-end-of-kmacro-p): New function.
+       (calc-kbd-skip-to-else-if): Use the function.
+
+2024-03-10  Tim Ruffing  <crypto@timruffing.de>
+
+       Remove workarounds for solved 'read-event' bug
+
+       * lisp/subr.el (read-char-choice-with-read-key):
+       * lisp/net/dbus.el (dbus-call-method):
+       Remove workarounds for the bug fixed in the previous commit
+       ac82baea1c41ec974ad49f2861ae6c06bda2b4ed, where 'read-event',
+       'read-char' and 'read-char-exclusively' could return wrongly -1.
+       In the case of lisp/dbus.el, this reverts commit
+       7177393826c73c87ffe9b428f0e5edae244d7a98.
+
+2024-03-10  Tim Ruffing  <crypto@timruffing.de>
+
+       Continue reading in 'read-event' etc. at the end of a keyboard macro
+
+       This fixes a bug that could make 'read-event', 'read-char', and
+       'read-char-exclusive' erroneously return -1, an internal magic return
+       value of 'read_char' leaked from C to lisp. Instead of returning -1, the
+       aforementioned lisp functions now transparently continue reading
+       available input (e.g., from the keyboard) when reaching the end of a
+       keyboard macro.
+
+       * src/keyboard.c (read_char, read_key_sequence): Move handling
+       of the end of a keyboard macro from 'read_char' to its caller
+       'read_key_sequence', which is the only caller that can
+       meaningfully deal with this case.
+       * src/macros.c (Fexecute_kbd_macro): Document how the end of keyboard
+       macro is processed.
+       * etc/NEWS: Announce this change.
+
+2024-03-10  Tim Ruffing  <crypto@timruffing.de>
+
+       * src/keyboard.c (requeued_events_pending_p): New function
+
+       * src/keyboard.c, src/keyboard.h (requeued_events_pending_p): Add
+       function 'requeued_events_pending_p' (whose name was made available in
+       the previous commit). As opposed to the previous function with the same
+       name, the new function covers both command and other events.
+       * src/keyboard.c (Finput_pending_p): Use the new function.
+
+2024-03-10  Tim Ruffing  <crypto@timruffing.de>
+
+       * src/keyboard.c (requeued_events_pending_p): Improve name and fix 
comment
+
+       * src/keyboard.c, src/keyboard.h (requeued_events_pending_p): Rename to
+       'requeued_command_events_pending_p' to clarify that the function covers
+       only command events. Fix wrong comment that claimed that the function
+       was unused.
+       * src/process.c (wait_reading_process_output): Update caller to use the
+       new name.
+
+2024-03-10  Tim Ruffing  <crypto@timruffing.de>
+
+       Extract check for end of macro to function
+
+       * src/macros.h (at_end_of_macro_p):
+       * src/macros.c (at_end_of_macro_p):
+       New function.
+       * src/keyboard.c (read_char): Use the new function.
+
+2024-03-10  F. Jason Park  <jp@neverwas.me>
+
+       Fix faulty decoded-time adjustment in erc-stamp
+
+       * lisp/erc/erc-stamp.el (erc-stamp--lr-date-on-pre-modify): Remove
+       disruptive assertion for now.
+       (erc-stamp--time-as-day): Attempt to fix date being rewound by a whole
+       day when daylight saving time is in effect.  Do this by forcing the
+       `dst' slot of the `decoded-time' object to -1 and the `zone' to nil.
+
+2024-03-10  F. Moukayed  <smfadi+emacs@gmail.com>  (tiny change)
+
+       Redefine erc-spoiler-face to indicate revealed text
+
+       * lisp/erc/erc-goodies.el (erc-spoiler-face): Redefine role and redo
+       definition to inherit from `erc-control-default-face'.
+       (erc-controls-propertize): Include `cursor-face' in the applied hover
+       properties for spoiler text, and ensure they aren't clobbered by other
+       built-in modules, like `button'.
+       (Bug#69597)
+
+2024-03-10  F. Jason Park  <jp@neverwas.me>
+
+       Make important text props more resilient in ERC
+
+       * lisp/erc/erc-button.el (erc-button-remove-old-buttons): Restore
+       original `mouse-face' values in areas marked as important after
+       clobbering.
+       * lisp/erc/erc.el (erc--reserve-important-text-props): New function.
+       (erc--restore-important-text-props): New function.
+       * test/lisp/erc/erc-tests.el (erc--restore-important-text-props): New
+       test.
+       (Bug#69597)
+
+2024-03-10  F. Jason Park  <jp@neverwas.me>
+
+       Leverage inverse-video for erc-inverse-face
+
+       * lisp/erc/erc-goodies.el (erc-inverse-face): Specify face attribute
+       `:inverse-video' (née :reverse-video) to swap foreground and
+       background colors over affected intervals, as per
+       https://modern.ircdocs.horse/formatting#reverse-color.
+       (erc-control-default-fg erc-control-default-bg): New faces for IRC
+       color-code number 99.  Ignore the ERC convention of prefixing
+       control-code-derived faces with "fg:" and "bg:" because it doesn't
+       comport with modern sensibilities, which demand identifiers normally
+       be namespaced.
+       (erc-get-bg-color-face, erc-get-fg-color-face): Return new, dedicated
+       faces instead of `default', and don't nest them in a list.
+       * test/lisp/erc/erc-goodies-tests.el
+       (erc-controls-highlight--inverse): Redo completely, asserting behavior
+       described in the spec linked to above.
+       (erc-controls-highlight--spoilers): New test based on the body of the
+       old `erc-controls-highlight--inverse', except without shadowing
+       `erc-insert-modify-hook' with an unrealistic, idealized value.  Adjust
+       expected buffer state to reflect the new role of
+       `erc-spoiler-face'.  (Bug#69597)
+
+2024-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'make-ts-derived-modes'
+
+2024-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (eglot-server-programs): Comment and whitespace only change
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add comment.
+       Make the definition fit into 80 columns.
+
+2024-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Simplify mode-indexed tables in packages
+
+       Now that we use extra-parents to group alternative major modes,
+       some tables can be simplified to mention only the group's leader.
+
+       * lisp/align.el (align-c++-modes, align-rules-list):
+       Don't bother listing TS alternatives.
+       (align-perl-modes): Don't bother listing CPerl alternative.
+
+       * lisp/info-look.el (perl-mode): Simplify.
+
+       * lisp/cedet/semantic/symref/grep.el 
(semantic-symref-filepattern-alist):
+       Don't bother listing TS alternatives.
+
+       * lisp/emulation/viper.el (viper-vi-state-mode-list): Don't bother
+       listing CPerl alternative.
+
+       * lisp/progmodes/gud.el (gud-tooltip-activate-mouse-motions-if-enabled):
+       Take into account the modes hierarchy.
+       (gud-tooltip-modes): Don't bother listing TS alternatives.
+
+       * .dir-locals.el (c-ts-mode): Simplify.
+
+2024-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Add non-TS modes as extra parent of TS modes (bug#68246)
+
+       Record the fact that TS modes are alternatives to the non-TS
+       modes using the new `derived-mode-add-parents` functionality.
+       Do the same for long standing similar issues with CPerl-mode.
+
+       * lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode):
+       * lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
+       * lisp/textmodes/html-ts-mode.el (html-ts-mode):
+       * lisp/textmodes/css-mode.el (css-ts-mode):
+       * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode, 
tsx-ts-mode):
+       * lisp/progmodes/sh-script.el (bash-ts-mode):
+       * lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
+       * lisp/progmodes/python.el (python-ts-mode):
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
+       * lisp/progmodes/json-ts-mode.el (json-ts-mode):
+       * lisp/progmodes/js.el (js-ts-mode):
+       * lisp/progmodes/java-ts-mode.el (java-ts-mode):
+       * lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
+       * lisp/progmodes/go-ts-mode.el (go-ts-mode, go-mod-ts-mode):
+       * lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode):
+       * lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
+       * lisp/progmodes/csharp-mode.el (csharp-ts-mode):
+       * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode):
+       Add non-TS mode as extra parent.
+
+       * lisp/progmodes/cperl-mode.el (cperl-mode): Add `perl-mode` as
+       extra parent.
+
+2024-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (dir-locals-collect-variables): Avoid spurious safety warnings
+
+       * lisp/files.el (dir-locals-collect-variables): Silence warnings for
+       extra parents' variables.
+
+2024-03-09  Andrea Corallo  <acorallo@gnu.org>
+
+       Run 'syncdoc-update-type-hierarchy'.
+
+               * doc/lispref/elisp_type_hierarchy.jpg: Update.
+               * doc/lispref/elisp_type_hierarchy.txt: Likewise.
+
+2024-03-09  Andrea Corallo  <acorallo@gnu.org>
+
+       * 'syncdoc-type-hierarchy.el' update due to recent changes
+
+       * admin/syncdoc-type-hierarchy.el (syncdoc-all-types): Update.
+
+2024-03-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Auto-commit of loaddefs files.
+
+2024-03-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b9f7a2274f6 ; Improve documentation of 'minibuffer-allow-text-propert...
+       5ffcca121bb ; Improve documentation of image properties
+       6e801077ae8 ; * src/composite.c (composition_compute_stop_pos): Add c...
+
+2024-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Enable stack overflow recovery on Android
+
+       * src/sysdep.c (handle_sigsegv): Return after restoring the
+       original signal handler, which should proceed to call debuggerd
+       to generate a tombstone.
+       (init_sigsegv): Save the original signal handler on Android, to
+       be restored after a signal is received.
+       (init_signals): Call init_sigsegv on Android.
+
+2024-03-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix case-sensitivity in 'complete-tag'
+
+       * lisp/progmodes/etags.el (complete-tag): Bind
+       'completion-ignore-case', so that 'completion-in-region' is
+       affected by it.  This fixes a bug made in 30 Apr 2010, when this
+       function was refactored to use
+       'tags-completion-at-point-function'.  Reported by Morgan Willcock
+       <morgan@ice9.digital>.
+
+2024-03-09  Charalampos Mitrodimas  <charmitro@posteo.net>  (tiny change)
+
+       Do interactive mode tagging for locate.el
+
+       * lisp/locate.el (locate-tags, locate-find-directory)
+       (locate-find-directory-other-window): Do interactive mode
+       tagging.  (Bug#69619)
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (eieio--generic-subclass-specializers): Autoload class
+
+       * lisp/emacs-lisp/eieio-core.el (eieio--generic-subclass-specializers):
+       Don't forget to handle autoloaded classes.
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       EIEIO: Fix regession (bug#69631)
+
+       Not sure why earlier tests did not catch it, but there are more
+       places where we bump into problems because 
`eieio--class-precedence-list`
+       now returns also non-EIEIO classes.
+
+       * lisp/obsolete/eieio-compat.el
+       (eieio--generic-static-object-generalizer):
+       * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
+       (eieio--generic-subclass-specializers): Handle non-EIEIO parents.
+
+       * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
+       (eieio-test-method-order-list-7): Adjust test.
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       eieio-core.el: Try and fix bug#69631
+
+       * lisp/emacs-lisp/eieio-core.el (eieio--class-precedence-c3)
+       (eieio--class-precedence-dfs, eieio--class-precedence-bfs): Use
+       `cl--class-parents` since some of the parents aren't EIEIO classes.
+
+2024-03-08  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix `capitalize` entry in `comp-known-type-specifiers` (bug#69631)
+
+       * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): Fix
+       'capitalize' entry.
+
+2024-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Update android_wc_lookup_string
+
+       * src/android.c (android_wc_lookup_string): Don't clear compose
+       state upon modifier key depress.
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Simplify type hierarchy operations
+
+       Now that built-in types have classes that describe their
+       relationships exactly like struct/eieio/oclosure classes,
+       we can the code that navigates that DAG.
+
+       * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Move to
+       `eieio-core.el`.
+       (cl--generic-type-specializers): Rename from
+       `cl--generic-struct-specializers`.  Make it work for any class.
+       (cl--generic-typeof-generalizer, cl--generic-oclosure-generalizer): Use 
it.
+       (cl--generic-struct-generalizer): Delete generalizer.
+       (cl-generic-generalizers :extra "cl-struct"): Delete method.
+       (prefill 0 cl--generic-generalizer): Move to after the typeof.
+       (cl-generic-generalizers :extra "typeof"): Rewrite to use
+       classes rather than `cl--all-builtin-types`.
+       (cl-generic--oclosure-specializers): Delete function.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type)
+       (cl--typeof-types, cl--all-builtin-types): Delete constants.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--typeof-builtin-types):
+       Delete constant.
+       (comp--cl-class-hierarchy): Simplify.
+       (comp--compute-typeof-types): Simplify now that
+       `comp--cl-class-hierarchy` and `comp--all-classes` work for built-in
+       types as well.
+       (comp--direct-supertypes): Just use `cl--class-parents`.
+       (comp-supertypes): Simplify since typeof-types should now be complete.
+
+       * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload):
+       Use `superclasses` argument, so we can find parents before it's loaded.
+       (eieio--class-precedence-c3, eieio--class-precedence-dfs):
+       Don't add a `eieio-default-superclass` parent any more.
+       (eieio--class/struct-parents): Delete function.
+       (eieio--class-precedence-bfs): Use `eieio--class-parents` instead.
+       Don't stop when reaching `eieio-default-superclass`.
+       (cl--generic-struct-tag): Move from `cl-generic.el`.
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       eieio-core.el: Always put a parent in the parents of a class
+
+       * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal):
+       Always put a parent in the `parents` slot of the class.
+
+       * lisp/emacs-lisp/eieio.el (eieio-class-parents): Remove the
+       `eieio-default-superclass` if it's the only parent.
+       (child-of-class-p): Handle all classes in the parents.
+       (eieio-default-superclass): Adjust docstring.
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Make "parentless" structs inherit from their builtin type
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--struct-register-child):
+       Register child only in struct parents.
+       (cl-struct-define): Put the "type" as parent of parentless :type 
structs.
+       Copy slots only from struct parent classes.
+       (cl-structure-object): Set (manually) its parent to `record`
+       and remove assertion that it has no parents.
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/oclosure.el (oclosure): Make it a subtype of 
`function`
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-preloaded.el (built-in-class): New type
+
+       Add classes describing the built-in types.
+
+       * lisp/emacs-lisp/cl-preloaded.el (built-in-class): New type.
+       (cl--define-built-in-type): New aux macro.
+       (all built-in types): "Define" them with it.
+       (cl--builtin-type-p): New aux function.
+       (cl--struct-name-p): Use it.
+       (cl--direct-supertypes-of-type, cl--typeof-types, 
cl--all-builtin-types):
+       Move the definitions to after the built-in classes are defined,
+       and rewrite to make use of those classes.
+
+       * lisp/emacs-lisp/cl-extra.el (cl-describe-type):
+       Accept two (unused) optional args, for use with 
`describe-symbol-backends`.
+       (describe-symbol-backends): Simplify accordingly and
+       add ourselves at the end.
+       (cl--class-children): New function.
+       (cl--describe-class): Use it.  Also don't show a silly empty list of 
slots
+       for the built-in types.
+
+2024-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       comp-cstr.el: Fix a minor error and prepare for upcoming changes
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy): Add `atom`
+       and `t` only to those types whose "allparents" is clearly not complete.
+       (comp--compute--pred-type-h): Store the cstr rather than the type
+       in the hash-table, as expected by `comp--pred-to-cstr`.
+
+2024-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Declare 124 new Android permissions
+
+       * doc/emacs/android.texi (Android Environment): Document new
+       permissions and delete recently introduced permissions from the
+       list for Android 5.1 and earlier.
+
+       * java/AndroidManifest.xml.in: Declare 124 new permissions to
+       enable invoking features they protect from code running inside
+       Emacs.
+
+2024-03-08  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #367 from tarsiiformes/long-gone
+
+2024-03-08  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Remove reference to long gone which-key-manual-update
+
+       * lisp/which-key.el (which-key--paging-functions): Remove reference to
+       which-key-manual-update.
+
+       This commands was remove in 42a25055163141165aa0269dbca69735e704825c.
+
+2024-03-07  Jim Porter  <jporterbugs@gmail.com>
+
+       Support expanding Eshell globs for remote file names
+
+       * lisp/eshell/em-glob.el (eshell-glob-chars-regexp): New function...
+       (eshell-glob-regexp): ... use it.
+       (eshell-glob-p): New function...
+       (eshell-glob-convert): ... use it, and return the deepest start
+       directory possible.
+
+       * lisp/eshell/esh-util.el (eshell-split-path): Rename to...
+       (eshell-split-path): ... this, and account for remote file names.
+
+       * test/lisp/eshell/em-glob-tests.el
+       (em-glob-test/convert/current-start-directory)
+       (em-glob-test/convert/relative-start-directory)
+       (em-glob-test/convert/absolute-start-directory)
+       (em-glob-test/convert/remote-start-directory): New tests (bug#69592).
+
+2024-03-07  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Remove unnecessary eval-when-compile
+
+       * lisp/which-key.el (which-key--ignore-non-evil-keys-regexp):
+       Remove unnecessary eval-when-compile in regexp-opt.
+
+2024-03-07  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Replace internet link by Info node
+
+       * lisp/which-key.el (which-key-hide-alt-key-translations):
+       Replace internet link by Info node.
+
+2024-03-07  Justin Burkett  <justin@burkett.cc>
+
+       Sharp quote which-key-sort-order default.
+
+2024-03-07  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "Suppress docstring control char warning in macro-generated 
function"
+
+       This reverts commit eeb89a5cb292bffe40ba7d0b0cf81f82f8452bf8.
+       It is no longer needed now that (lambda (...) "string") does not
+       have a doc string (bug#69387).
+
+2024-03-07  Mattias Engdegård  <mattiase@acm.org>
+
+       Single string literal in body is return value only, not doc string
+
+       A function or macro body consisting of a single string literal now only
+       uses it as a return value.  Previously, it had the dual uses as return
+       value and doc string, which was never what the programmer wanted and
+       had some inconvenient consequences (bug#69387).
+
+       This change applies to `lambda`, `defun`, `defsubst` and `defmacro`
+       forms; most other defining forms already worked in the sensible way.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda):
+       Don't use a lone string literal as doc string.
+       * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el
+       (foo): Update docstring warning test.
+       * doc/lispref/functions.texi (Function Documentation): Update.
+       * etc/NEWS: Announce.
+
+2024-03-07  Juri Linkov  <juri@linkov.net>
+
+       * lisp/follow.el: Put property 'isearch-scroll' on 'follow-recenter'.
+
+2024-03-06  Jim Porter  <jporterbugs@gmail.com>
+
+       When navigating through history in EWW, don't keep adding to 
'eww-history'
+
+       This resolves an issue where navigating back and then forward kept
+       adding new history entries so you could never hit the "end" (bug#69232).
+
+       * lisp/net/eww.el (eww-before-browse-history-function): New option.
+       (eww-history-position): Add docstring.
+       (eww-mode-map, eww-context-menu): Use correct predicates for when to
+       enable back/forward.
+       (eww-save-history): Save history entry in its original place when
+       viewing a historical page.
+       (eww--before-browse): New function...
+       (eww, eww-follow-link, eww-readable): ... call it.
+       (eww-render): Don't set 'eww-history-position' here...
+       (eww--before-browse): ... instead, set it here.
+       (eww-back-url): Set 'eww-history-position' based on the result of
+       'eww-save-history'.
+       (eww-forward-url): Set 'eww-history-position' directly, since
+       'eww-save-history' no longer adds a new entry in this case.
+       (eww-delete-future-history, eww-clone-previous-history): New functions.
+
+       * test/lisp/net/eww-tests.el: New file.
+
+       * etc/NEWS: Announce this change.
+
+2024-03-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp fixes after running regression tests on Android
+
+       * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
+       Unset environment variable PS2.
+
+       * lisp/net/tramp-androidsu.el (tramp-default-host-alist):
+       Don't add an entry; `tramp-default-host' is set properly.
+       (tramp-androidsu-maybe-open-connection): Don't set connection
+       property "remote-namespace" to nil, this is the default anyway.
+       Don't set connection property "remote-path", we use
+       connection-local values instead.  Unset environment variable PS2.
+       Dump shell options after setting all of them.
+       (tramp-androidsu-handle-make-process): Don't use hard-coded user "root".
+       (tramp-androidsu-connection-local-default-variables): New defvar.
+       Add it to connection-local profiles.
+
+2024-03-06  Andrea Corallo  <acorallo@gnu.org>
+
+       Rename type_hierarchy.* -> elisp_type_hierarchy.*
+
+       * doc/lispref/elisp_type_hierarchy.txt: Renamed.
+       * doc/lispref/elisp_type_hierarchy.jpg: Likewise.
+       * doc/lispref/Makefile.in (auxfiles)
+       ($(buildinfodir)/elisp_type_hierarchy.txt)
+       ($(buildinfodir)/elisp_type_hierarchy.jpg): Update.
+       * admin/syncdoc-type-hierarchy.el (syncdoc-update-type-hierarchy0): 
Likewise.
+       * Makefile.in (install-info, uninstall): Likewise.
+
+2024-03-06  Andrea Corallo  <acorallo@gnu.org>
+
+       Re-generate type_hierarchy.*
+
+       * doc/lispref/type_hierarchy.txt: Update.
+       * doc/lispref/type_hierarchy.jpg: Likewise.
+
+2024-03-06  Andrea Corallo  <acorallo@gnu.org>
+
+       * Update syncdoc to dump all preloaded type hierarchy
+
+       * admin/syncdoc-type-hierarchy.el (syncdoc-file)
+       (syncdoc-emacs-repo-dir): New constants.
+       (syncdoc-lispref-dir): Make use of.
+       (syncdoc-all-types): New function.
+       (comp--direct-supertypes): Declare.
+       (syncdoc-hierarchy): Update.
+       (syncdoc-update-type-hierarchy0): Rename from
+       'syncdoc-update-type-hierarchy' and make non interactive.
+       (syncdoc-update-type-hierarchy): New function.
+
+2024-03-06  Po Lu  <luangruo@yahoo.com>
+
+       Don't report files from read-only adb partitions as writable
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-file-writable-p):
+       Ignore the file-attributes cache, since file mode is not a
+       reliable indicator of writability.
+
+2024-03-05  Vincenzo Pupillo  <v.pupillo@gmail.com>
+
+       * Makefile.in (install-info): Fix target (bug#69569).
+
+2024-03-05  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook 
(bug#69093).
+
+       (tab-bar-select-tab): Call tab-bar-tab-post-select-functions at the end.
+
+2024-03-05  Juri Linkov  <juri@linkov.net>
+
+       New property 'context-menu-functions' (bug#62250)
+
+       * lisp/iimage.el (iimage-mode-buffer): Set context-menu-functions
+       text property to '(image-context-menu)'.
+
+       * lisp/image.el (image-context-menu): New function.
+       (put-image): Set context-menu-functions overlay property
+       to '(image-context-menu)'.
+       (insert-image, insert-sliced-image): Set context-menu-functions
+       text property to '(image-context-menu)'.
+
+       * lisp/mouse.el (context-menu-map): Use mouse-posn-property
+       'context-menu-functions' and call its funs at the end.
+
+2024-03-05  Juri Linkov  <juri@linkov.net>
+
+       * lisp/net/dictionary.el: More fixes for dictionary-new-matching 
(bug#69312)
+
+       (dictionary-new-matching): Change the order of standard calls
+       to be the same as in 'dictionary-new-search'.
+       Use new function 'dictionary-new-matching-internal'.
+       (dictionary-new-matching-internal): New function based on
+       'dictionary-new-search-internal'.
+
+2024-03-05  Andrea Corallo  <acorallo@gnu.org>
+
+       * Makefile.in (uninstall): Clean-up type_hierarchy* files.
+
+       * Makefile.in (install-info): Install type_hierarchy* files as well.
+
+2024-03-05  Andrea Corallo  <acorallo@gnu.org>
+
+       * Copy type hierarchy representation to the info dir
+
+       * doc/lispref/Makefile.in (auxfiles)
+       ($(buildinfodir)/type_hierarchy.txt)
+       ($(buildinfodir)/type_hierarchy.jpg): New targets.
+       ($(buildinfodir)/elisp.info): Add dependecy.
+
+2024-03-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tramp.texi
+
+       * doc/misc/tramp.texi (Quick Start Guide): Add androidsu.
+       (Inline methods): Make androidsu an own item.
+
+2024-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       disass.el (disassemble-1): Minor simplification
+
+       * lisp/emacs-lisp/disass.el (disassemble-1): Remove code for functions
+       of the form (lambda ARGS (byte-code ...)) which we don't use any
+       more nowadays.
+
+2024-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-preloaded.el: Further fine-tuning
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type):
+       Fix some left over issues:
+       - Remove redundant `number-or-marker` from `marker`s parents.
+       - Add `function` to the types, since it was missing.
+       (cl--typeof-types): Add a warning for missing type info.
+
+       * admin/syncdoc-type-hierarchy.el (syncdoc-hierarchy): Fix parent of
+       `oclosure`.
+
+       * doc/lispref/type_hierarchy.txt:
+       * doc/lispref/type_hierarchy.jpg: Update.
+
+2024-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Rearrange Android splash screen messages
+
+       * lisp/startup.el (fancy-startup-tail, fancy-startup-screen)
+       (normal-splash-screen): Adjust for function renaming; move the
+       storage permissions notice to the top of the splash screen.
+
+       * lisp/term/android-win.el (android-after-splash-screen): Rename
+       from android-before-splash-screen and adjust layout lightly.
+
+       * src/android.c (android_wc_lookup_string): Terminate character
+       composition after a character is returned, whether it contain a
+       Unicode character or not.
+
+2024-03-05  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Remove unnecessary :group attributes
+
+       * lisp/which-key.el:  Remove :group 'which-key in defcustoms.
+       (which-key-idle-delay):
+       (which-key-idle-secondary-delay):
+       (which-key-echo-keystrokes):
+       (which-key-max-description-length):
+       (which-key-min-column-description-width):
+       (which-key-add-column-padding):
+       (which-key-unicode-correction):
+       (which-key-dont-use-unicode):
+       (which-key-separator):
+       (which-key-ellipsis):
+       (which-key-prefix-prefix):
+       (which-key-compute-remaps):
+       (which-key-replacement-alist):
+       (which-key-allow-multiple-replacements):
+       (which-key-show-docstrings):
+       (which-key-highlighted-command-list):
+       (which-key-special-keys):
+       (which-key-buffer-name):
+       (which-key-show-prefix):
+       (which-key-popup-type):
+       (which-key-min-display-lines):
+       (which-key-max-display-columns):
+       (which-key-side-window-location):
+       (which-key-side-window-slot):
+       (which-key-side-window-max-width):
+       (which-key-side-window-max-height):
+       (which-key-frame-max-width):
+       (which-key-frame-max-height):
+       (which-key-allow-imprecise-window-fit):
+       (which-key-show-remaining-keys):
+       (which-key-sort-order):
+       (which-key-sort-uppercase-first):
+       (which-key-paging-prefixes):
+       (which-key-paging-key):
+       (which-key-use-C-h-commands):
+       (which-key-show-early-on-C-h):
+       (which-key-is-verbose):
+       (which-key-preserve-window-configuration):
+       (which-key-hide-alt-key-translations):
+       (which-key-delay-functions):
+       (which-key-allow-regexps):
+       (which-key-inhibit-regexps):
+       (which-key-show-transient-maps):
+       (which-key-init-buffer-hook):
+
+2024-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       syncdoc-type-hierarchy.el: Adjust to changes in `cl-preloaded.el`
+
+       * admin/syncdoc-type-hierarchy.el (syncdoc-lispref-dir):
+       Use `macroexp-file-name`.
+       (syncdoc-hierarchy): New var.
+       (syncdoc-insert-dot-content, syncdoc-make-type-table): Use it.
+       (syncdoc-update-type-hierarchy): Don't crash if `dot` is absent.
+
+2024-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       admin/syncdoc-type-hierarchy.el: Move from `etc`
+
+       AFAICT `admin` is where we keep these kinds of files.
+
+2024-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Revert "Update some native comp tests"
+
+       This reverts commit 4a0d430bdc3650ca3dfd8bdd14781764fbcbdc7e.
+
+       AFAICT that commit was made to accomodate regressions introduced
+       in the new `cl-preloaded.el` code and these have been fixed.
+
+2024-03-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       tramp-androidsu.el code cleanup
+
+       * lisp/net/tramp-androidsu.el (tramp-androidsu-generate-wrapper):
+       Prefer #' notation for function names.
+       (tramp-androidsu-handle-copy-file)
+       (tramp-androidsu-handle-file-local-copy)
+       (tramp-androidsu-handle-make-symbolic-link)
+       (tramp-androidsu-handle-rename-file)
+       (tramp-androidsu-handle-write-region): Don't use a wrapper.
+       (tramp-adb-connection-local-default-ps-profile): Don't initialize,
+       this happens in tramp-db.el.
+
+2024-03-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "Replace XSETSYMBOL with make_lisp_symbol"
+
+       This reverts commit de6b1e1efb1a36c69e7a6e09297e1de5b1477121.
+
+       While it did simplify code, there aren't much in the way of technical
+       benefits the change at this time, and there were protest against the
+       unwarranted style change.
+
+2024-03-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Repair miscompilation of single-arg `apply` (bug#69533)
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply):
+       Don't optimise single-argument `apply`; it's a legacy construct.
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
+       Add test case.
+
+2024-03-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid crashes due to base-less indirect buffer
+
+       * src/buffer.c (Fkill_buffer): Prevent killing a buffer if its
+       indirect buffer refuses to be killed.  (Bug#69529)
+
+2024-03-04  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix 'set-window-configuration' and 'window-state-put'
+
+       Fix some bugs with 'window-state-put' (Bug#69093).  Add new
+       hook 'window-kept-windows-functions' (Bug#68235).
+
+       * doc/lispref/windows.texi (Window Configurations): Mention
+       'window-kept-windows-functions'.
+       (Window Hooks): Describe new abnormal hook
+       'window-kept-windows-functions'.
+       * src/marker.c (Fmarker_last_position): New function to return
+       the last position of a marker even if its buffer is now dead.
+       * src/window.c (Fset_window_configuration): If
+       'window-kept-windows-functions' is non-nil, do not delete any
+       window whose buffer is now dead but remember all such windows in
+       a list to pass to 'window-kept-windows-functions'.  Run
+       'window-kept-windows-functions' if it is non-nil.
+       (Vwindow_kept_windows_functions): New abnormal hook run by
+       Fset_window_configuration and 'window-state-put' with two
+       arguments - the frame whose configuration is restored and a list
+       of entries for each window whose buffer was found dead during
+       restoration.  Each entry is a list of four elements, the window,
+       the dead buffer, and the last know positions of the start and
+       point of that window.
+       * lisp/window.el (window-state-put-kept-windows)
+       (window-state-put-selected-window): New variables.
+       (window--state-put-2): Make sure buffer is live before restoring
+       its state.  Set 'window-state-put-selected-window' to state's
+       selected window.  If 'window-kept-windows-functions' is non-nil,
+       do not delete any windows whose buffer is found dead but
+       remember all such windows in a list to pass to
+       'window-kept-windows-functions'.
+       (window-state-put): Run 'window-kept-windows-functions' if it is
+       non-nil.  Select window recorded in
+       'window-state-put-selected-window'.
+
+2024-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (major-mode-remap(-defaults)): New var and function (bug#69191)
+
+       While `major-mode-remap-alist` provides a way for users to indicate the
+       major mode of their choice, we need a similar variable for the
+       use of packages.
+
+       This patch adds a new `major-mode-remap-defaults` and changes various
+       packages to obey it or make use of it.
+       I think it nicely cleans the regexp duplication between CC-mode and
+       `c-ts-mode.el` and also makes it easier/cleaner for users to override
+       the changes made by `*-ts-mode.el`.
+
+       * lisp/files.el (major-mode-remap-defaults): New variable.
+       (major-mode-remap): New function.
+       (set-auto-mode-0): Use it.
+       * doc/lispref/modes.texi (Auto Major Mode): Document them.
+
+       * lisp/textmodes/tex-mode.el (tex--redirect-to-submode):
+       Use `major-mode-remap`.
+       (major-mode-remap-defaults): Set it to remap AUCTeX modes by default.
+       * lisp/progmodes/ruby-ts-mode.el (auto-mode-alist): Leave it alone.
+       (major-mode-remap-defaults): Set this one instead.
+       * lisp/progmodes/c-ts-mode.el (c-or-c++-ts-mode): Use 
`major-mode-remap`.
+       (auto-mode-alist): Leave it alone.
+       (major-mode-remap-defaults): Set this one instead.
+       * lisp/org/ox.el (org-export-to-buffer): Modernize docstring 
accordingly.
+       * lisp/progmodes/cc-mode.el (c-or-c++-mode):
+       * lisp/org/ox-latex.el (org-latex-export-as-latex):
+       * lisp/org/ox-koma-letter.el (org-koma-letter-export-as-latex):
+       * lisp/org/ox-beamer.el (org-beamer-export-as-latex):
+       Use `major-mode-remap` when available.
+
+2024-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Update tramp-androidsu
+
+       * doc/misc/tramp.texi (Quick Start Guide): Remove documentation
+       pertaining to tramp-androidsu.el.
+       (Inline methods): Document it here instead.
+
+       * lisp/net/tramp-androidsu.el
+       (tramp-androidsu-mount-global-namespace)
+       (tramp-androidsu-remote-path, tramp-androidsu-local-shell-name)
+       (tramp-androidsu-local-tmp-directory, add-to-list)
+       (tramp-androidsu-maybe-open-connection)
+       (tramp-androidsu-handle-access-file)
+       (tramp-androidsu-handle-add-name-to-file)
+       (tramp-androidsu-handle-copy-directory)
+       (tramp-androidsu-sh-handle-copy-file)
+       (tramp-androidsu-handle-copy-file)
+       (tramp-androidsu-adb-handle-delete-directory)
+       (tramp-androidsu-handle-delete-directory)
+       (tramp-androidsu-adb-handle-delete-file)
+       (tramp-androidsu-handle-delete-file)
+       (tramp-androidsu-handle-directory-file-name)
+       (tramp-androidsu-handle-directory-files)
+       (tramp-androidsu-adb-handle-directory-files-and-attributes)
+       (tramp-androidsu-handle-directory-files-and-attributes)
+       (tramp-androidsu-handle-dired-uncache)
+       (tramp-androidsu-adb-handle-exec-path)
+       (tramp-androidsu-handle-exec-path)
+       (tramp-androidsu-handle-expand-file-name)
+       (tramp-androidsu-handle-file-accessible-directory-p)
+       (tramp-androidsu-adb-handle-file-attributes)
+       (tramp-androidsu-handle-file-attributes)
+       (tramp-androidsu-handle-file-directory-p)
+       (tramp-androidsu-handle-file-equal-p)
+       (tramp-androidsu-adb-handle-file-executable-p)
+       (tramp-androidsu-handle-file-executable-p)
+       (tramp-androidsu-adb-handle-file-exists-p)
+       (tramp-androidsu-handle-file-exists-p)
+       (tramp-androidsu-handle-file-group-gid)
+       (tramp-androidsu-handle-file-in-directory-p)
+       (tramp-androidsu-sh-handle-file-local-copy)
+       (tramp-androidsu-handle-file-local-copy)
+       (tramp-androidsu-handle-file-locked-p)
+       (tramp-androidsu-handle-file-modes)
+       (tramp-androidsu-adb-handle-file-name-all-completions)
+       (tramp-androidsu-handle-file-name-all-completions)
+       (tramp-androidsu-handle-file-name-as-directory)
+       (tramp-androidsu-handle-file-name-case-insensitive-p)
+       (tramp-androidsu-handle-file-name-completion)
+       (tramp-androidsu-handle-file-name-directory)
+       (tramp-androidsu-handle-file-name-nondirectory)
+       (tramp-androidsu-handle-file-newer-than-file-p)
+       (tramp-androidsu-handle-file-notify-add-watch)
+       (tramp-androidsu-handle-file-notify-rm-watch)
+       (tramp-androidsu-handle-file-notify-valid-p)
+       (tramp-androidsu-adb-handle-file-readable-p)
+       (tramp-androidsu-handle-file-readable-p)
+       (tramp-androidsu-handle-file-regular-p)
+       (tramp-androidsu-handle-file-remote-p)
+       (tramp-androidsu-handle-file-selinux-context)
+       (tramp-androidsu-handle-file-symlink-p)
+       (tramp-androidsu-adb-handle-file-system-info)
+       (tramp-androidsu-handle-file-system-info)
+       (tramp-androidsu-handle-file-truename)
+       (tramp-androidsu-handle-file-user-uid)
+       (tramp-androidsu-adb-handle-file-writable-p)
+       (tramp-androidsu-handle-file-writable-p)
+       (tramp-androidsu-handle-find-backup-file-name)
+       (tramp-androidsu-handle-insert-directory)
+       (tramp-androidsu-handle-insert-file-contents)
+       (tramp-androidsu-handle-list-system-processes)
+       (tramp-androidsu-handle-load, tramp-androidsu-handle-lock-file)
+       (tramp-androidsu-handle-make-auto-save-file-name)
+       (tramp-androidsu-adb-handle-make-directory)
+       (tramp-androidsu-handle-make-directory)
+       (tramp-androidsu-handle-make-lock-file-name)
+       (tramp-androidsu-handle-make-nearby-temp-file)
+       (tramp-androidsu-make-process)
+       (tramp-androidsu-sh-handle-make-symbolic-link)
+       (tramp-androidsu-handle-make-symbolic-link)
+       (tramp-androidsu-handle-memory-info)
+       (tramp-androidsu-handle-process-attributes)
+       (tramp-androidsu-adb-handle-process-file)
+       (tramp-androidsu-handle-process-file)
+       (tramp-androidsu-sh-handle-rename-file)
+       (tramp-androidsu-handle-rename-file)
+       (tramp-androidsu-adb-handle-set-file-modes)
+       (tramp-androidsu-handle-set-file-modes)
+       (tramp-androidsu-adb-handle-set-file-times)
+       (tramp-androidsu-handle-set-file-times)
+       (tramp-androidsu-handle-set-visited-file-modtime)
+       (tramp-androidsu-handle-shell-command)
+       (tramp-androidsu-handle-start-file-process)
+       (tramp-androidsu-handle-substitute-in-file-name)
+       (tramp-androidsu-handle-temporary-file-directory)
+       (tramp-androidsu-adb-handle-get-remote-gid)
+       (tramp-androidsu-handle-get-remote-gid)
+       (tramp-androidsu-adb-handle-get-remote-groups)
+       (tramp-androidsu-handle-get-remote-groups)
+       (tramp-androidsu-adb-handle-get-remote-uid)
+       (tramp-androidsu-handle-get-remote-uid)
+       (tramp-androidsu-handle-unlock-file)
+       (tramp-androidsu-handle-verify-visited-file-modtime)
+       (tramp-androidsu-sh-handle-write-region)
+       (tramp-androidsu-handle-write-region)
+       (tramp-androidsu-file-name-handler-alist): Make hard-coded
+       executable and file names defconsts, remove redundant wrapper
+       functions and remove names of wrapped functions from their
+       wrappers.
+
+2024-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Revert "ox-texinfo:: Require only TEXINFO_DIR_CATEGORY"
+
+       This reverts commit 5254c582efb3e7171e955dde653e7530d2d3ffef.
+
+2024-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Revert "Set org-macro-templates more lazily"
+
+       This reverts commit 99483e214fdafa76e8001c7009dff13a76c33f32.
+
+2024-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl--typeof-types): Rework to fix some regressions
+
+       Initialize the variables directly in their declaration, so
+       there no time where they exist but aren't yet initialized.
+       This also allows us to mark `cl--typeof-types` as a `defconst` again.
+
+       More importantly, specify the DAG by direct supertypes rather
+       than direct subtypes.  This is slightly less compact, but it's
+       necessary to let us specify the *order* of the supertypes,
+       which is necessary for example to preserve the desired ordering
+       of methods when several methods can be applied.
+
+       Fix a few more regressions, such as removing `atom` from the parents
+       of `function` since some lists are considered as functions,
+       adding `number-or-marker` as supertype of `integer-or-marker`,
+       and re-adding `native-comp-unit`.
+
+       I carefully compared all elements of `cl--typeof-types` to make
+       sure they are the same as before (with one exception for `null`).
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy): Delete var.
+       (cl--direct-supertypes-of-type, cl--typeof-types):
+       Initialize directly in the declaration.
+       (cl--supertypes-lane, cl--supertypes-lanes-res): Delete vars.
+       (cl--supertypes-for-typeof-types-rec)
+       (cl--supertypes-for-typeof-types): Delete functions.
+
+2024-03-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Set org-macro-templates more lazily
+
+2024-03-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       ox-texinfo:: Require only TEXINFO_DIR_CATEGORY
+
+       Until now @dircategory/@direntry entries were added only if
+       both TEXINFO_DIR_CATEGORY and TEXINFO_DIR_TITLE were set.
+       And the setting of TEXINFO_DIR_TITLE had to be careful to
+       provide exactly the right syntax.
+
+       This patch changes various things in this regard:
+       - Only require TEXINFO_DIR_CATEGORY in order to generate
+         `@dircategory` and `@direntry`.
+       - Use the document title by default if TEXINFO_DIR_DESC is missing.
+       - Use the filename by default when TEXINFO_DIR_TITLE is missing.
+       - Try and make it harder to provide a direntry that does not
+         have the right format or refers to a different filename than
+         the one we're outputting to.
+
+       * lisp/org/ox-texinfo.el: Remove redundant `:group` arguments.
+       Prefer #' to quote function names.
+       (org-texinfo-template): Use sane defaults for `@direntry`.
+
+       * doc/misc/org.org (Texinfo specific export settings): Adjust 
accordingly.
+
+2024-03-03  Juri Linkov  <juri@linkov.net>
+
+       * lisp/net/dictionary.el (dictionary-display-match-result): More fixes.
+
+       Remove 'dictionary-pre-buffer' that was moved to
+       'dictionary-new-matching' in the previous commit (bug#69312).
+
+2024-03-03  Juri Linkov  <juri@linkov.net>
+
+       * lisp/net/dictionary.el (dictionary-new-matching): Add 
dictionary-pre-buffer.
+
+       This is necessary to prepare the dictionary buffer for further 
processing
+       that also includes setting buffer-read-only to nil to be able to insert 
text.
+       (bug#69312)
+
+2024-03-03  Andrea Corallo  <acorallo@gnu.org>
+
+       * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-62): Revert 
change.
+
+2024-03-03  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix 'cl--typeof-types' computation
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--supertypes-lane)
+       (cl--supertypes-lanes-res): Define vars.
+       (cl--supertypes-for-typeof-types-rec): Define function.
+       (cl--supertypes-for-typeof-types): Reimplement.
+
+2024-03-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Use funcall on function values in gnus-agent.el
+
+       See bug#68931
+
+       * lisp/gnus/gnus-agent.el (gnus-category-make-function-1): Don't just
+       pass function values in to be byte compiled, wrap them in funcall first.
+
+2024-03-03  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Replace member by memq for clarity
+
+       * lisp/which-key.el (which-key--side-window-max-dimensions):
+       Replace member by memq.
+
+2024-03-03  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Use declare form instead of put, for clarity
+
+       * lisp/which-key.el (which-key-add-major-mode-key-based-replacements):
+       Use declare form instead of put.
+
+2024-03-02  Juri Linkov  <juri@linkov.net>
+
+       * lisp/net/dictionary.el: Better handling of messages and errors.
+
+       (dictionary-do-search, dictionary-do-matching): Insert formatted
+       messages to the top of the output buffer instead of displaying
+       transient messages in the echo area (bug#69312).
+       (dictionary-do-matching, dictionary-lookup-definition)
+       (dictionary-popup-matching-words): Use 'user-error'
+       instead of 'error' for non-technical errors.
+
+2024-03-02  Juri Linkov  <juri@linkov.net>
+
+       * lisp/replace.el (perform-replace): Accept default bindings in 
lookup-key.
+
+       Set ACCEPT-DEFAULT arg of lookup-key to t (bug#69342).
+       This will allow the users to ignore unbound keys with
+       ‘(define-key query-replace-map [t] 'ignore)’.
+
+2024-03-02  Juri Linkov  <juri@linkov.net>
+
+       * lisp/buff-menu.el (Buffer-menu-marked-buffers): Add save-excursion.
+
+       * doc/lispref/modes.texi (Tabulated List Mode): Unindent example.
+
+2024-03-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ae80192d97b ; * src/buffer.c (Fmake_indirect_buffer): Doc fix.
+       2549eabc97f Fix typos in vnvni.el.
+       647cecc853e ; * lisp/vc/vc.el (vc-clone): Fix wording of doc string.
+       383ccf6d51f Avoid assertion violations in bidi.c
+       b7cef701cb5 * lisp/files.el (hack-one-local-variable): Use `set-auto-...
+       05308001759 Fix infinite recursion in gdb-mi.el
+
+2024-03-02  Yoshiku Onu  <yoshiku@zoho.com>  (tiny change)
+
+       Add new input method "english-colemak"
+
+       * lisp/leim/quail/latin-post.el ("english-colemak"): New input
+       method.  (Bug#69471)
+
+       * etc/NEWS: Announce it.
+
+2024-03-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>
+
+       * lisp/language/japanese.el (map): Fix typo (bug#69494).
+
+2024-03-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>
+
+       Fix Japanese language environment on Cygwin and MS-Windows
+
+       * lisp/language/japan-util.el
+       (setup-japanese-environment-internal): Prefer UTF-8 for Cygwin and
+       other Posix hosts; prefer Codepage 932 on DOS/Windows.  (Bug#69493)
+
+2024-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Implement dead key combination on Android
+
+       * src/android.c (android_init_key_character_map)
+       (android_get_dead_char): New functions.
+       (android_wc_lookup_string): New argument COMPOSE_STATE.  Ignore
+       key events with the COMBINING_ACCENT flag set while recording
+       their character values there, and combine such characters with
+       the key event when processing a subsequent key event.
+
+       * src/androidgui.h (struct android_compose_status): New
+       structure.
+
+       * src/androidterm.c (handle_one_android_event): Port dead key
+       combination code from X.  (bug#69321)
+
+2024-03-01  Andrea Corallo  <andcor03@e132096.arm.com>
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Define as var.
+
+2024-03-01  Wilson Snyder  <wsnyder@wsnyder.org>
+
+       Verilog-mode update from upstream 
https://github.com/veripool/verilog-mode
+
+       * lisp/progmodes/verilog-mode.el (verilog-auto-inst)
+       (verilog-auto-inst-param): Remove intended formfeeds.  Our ability to
+       detect unintended formfeeds elsewhere outweighs their limited utility 
here.
+       Contributed by Mattias Engdegård.
+       (verilog-at-constraint-p)
+       (verilog-at-struct-mv-p, verilog-at-struct-p, verilog-calc-1)
+       (verilog-in-case-region-p, verilog-in-fork-region-p)
+       (verilog-in-generate-region-p, verilog-set-auto-endcomments):
+       Fix indentation problem when there is a signal named "module_something"
+       (#1861).  Cleanup RexEx groupings.
+       (verilog-read-sub-decls-expr):
+       Fix apostrophe parser in AUTOWIRE (#1854) (#1855).
+       (verilog-auto-inst-port): Fix AUTOINST
+       multi-dimensional array [] substitution.  Reported by Caleb Begly.
+       (verilog-property-re, verilog-beg-of-statement, verilog-calc-1):
+       Concurrent SVA statement pattern-matching learns 'restrict property' and
+       'cover sequence' expression for proper indentation around those 
constructs. This
+       addresses more patterns in IEEE 1800-2017's 
'concurrent_sasertion_statement'
+       grammar.
+       (verilog-read-sub-decls-line):
+       Fix `verilog-auto-ignore-concat' with parenthesis signals.
+       Reported by Dmitri Sorkin.
+       (verilog-simplify-range-expression): Fix
+       `verilog-auto-inst-param-value' confusing structure selects.
+       Reported by Mike Bertone.
+
+2024-03-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix documentation of last change
+
+       * doc/lispref/objects.texi (Type Hierarchy): Fix wording and
+       markup.
+       * doc/lispref/elisp.texi (Top): Add new node to @detailmenu.
+
+2024-03-01  Andrea Corallo  <acorallo@gnu.org>
+
+       Merge branch 'feature/type-hierarchy' into 'master'
+
+       * doc/lispref/objects.texi (Type Hierarchy): Small improvements
+
+2024-03-01  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix compilation warning in 'cl--supertypes-for-typeof-types'
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--supertypes-for-typeof-types): Fix
+       warning.
+
+2024-02-29  Juri Linkov  <juri@linkov.net>
+
+       Add tabulated-list-groups and Buffer-menu-group-by (bug#69305)
+
+       * doc/lispref/modes.texi (Tabulated List Mode):
+       Add defvar tabulated-list-groups.
+
+       * lisp/buff-menu.el (Buffer-menu-group-by): New defcustom.
+       (Buffer-menu-unmark-all-buffers): Use tabulated-list-get-entry
+       to check whether the current line contains an entry.
+       (list-buffers-noselect): Enable outline-minor-mode
+       for tabulated-list-groups.
+       (list-buffers--refresh): When Buffer-menu-group-by is non-nil,
+       set tabulated-list-groups.
+       (Buffer-menu-group-by-mode, Buffer-menu-group-by-root):
+       New functions.
+
+       * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups):
+       New buffer-local variable.
+       (tabulated-list-print-fake-header): Add distinct overlay
+       property 'fake-header'.
+       (tabulated-list-header-overlay-p): Filter out overlays that
+       don't have the property 'fake-header'.
+       (tabulated-list-print): Use the variable 'tabulated-list-groups'
+       to sort entries in groups separately.
+       (tabulated-list-print-entries): New function factored out from
+       'tabulated-list-print'.
+
+       * test/lisp/emacs-lisp/tabulated-list-tests.el (tabulated-list-groups):
+       New test.
+
+2024-02-29  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of recent changes in comp-run.el
+
+       * lisp/emacs-lisp/comp-run.el
+       (native-comp-async-warnings-errors-kind): Rename from
+       'native-comp-async-report-warnings-errors-kind', and rename
+       'importants' to 'important'; all users changed.  Doc fix.
+
+       * etc/NEWS: Announce the new option.
+
+2024-02-29  Andrea Corallo  <acorallo@gnu.org>
+
+       * etc/TODO (Native compiler improvements): Remove an entry as completed.
+
+2024-02-29  Andrea Corallo  <acorallo@gnu.org>
+
+       * Add 'native-comp-async-report-warnings-errors-kind'
+
+       * lisp/emacs-lisp/comp-run.el 
(native-comp-async-report-warnings-errors-kind):
+       Add new customize.
+
+2024-02-29  Andrea Corallo  <acorallo@gnu.org>
+
+       * Improve 'native-comp-async-report-warnings-errors' tag
+
+       * lisp/emacs-lisp/comp-run.el 
(native-comp-async-report-warnings-errors):
+       Improve tag.
+
+2024-02-29  Robert Pluim  <rpluim@gmail.com>
+
+       Pacify more docstring control char warnings
+
+       * lisp/org/org-macs.el (org-split-string): Escape control chars.
+       * lisp/org/ox-latex.el (org-latex-guess-babel-language): And here.
+
+2024-02-29  Po Lu  <luangruo@yahoo.com>
+
+       Fix subprocess creation in directories managed by tramp-androidsu
+
+       * lisp/net/tramp-androidsu.el
+       (tramp-androidsu-maybe-open-connection): Set connection property
+       remote-namespace to t or nil subject to whether su runs in the
+       global mount namespace.
+       (tramp-androidsu-adb-handle-make-process): Delete function.
+       (tramp-androidsu-make-process): New function.
+       (tramp-androidsu-file-name-handler-alist): Switch to
+       tramp-androidsu-make-process.
+
+2024-02-29  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Remove github reference in preparation for integration to Emacs core
+
+       * lisp/which-key.el:  Remove github reference.
+
+2024-02-29  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Specify more precise customization type, natnum instead of integer
+
+       * lisp/which-key.el (which-key-add-column-padding):  Use natnum
+
+2024-02-28  Andrea Corallo  <acorallo@gnu.org>
+
+       Run syncdoc-type-hierarchy.el to follow obarray type introduction
+
+       * doc/lispref/type_hierarchy.jpg: Update.
+       * doc/lispref/type_hierarchy.txt: Likewise.
+
+2024-02-28  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add 
'symbol-with-pos'.
+
+       * lisp/emacs-lisp/comp.el (comp-known-predicates): Add 
'symbol-with-pos-p'.
+
+2024-02-28  Basil L. Contovounesios  <basil@contovou.net>
+
+       Pacify some docstring control char warnings
+
+       Other instances are discussed in the following thread:
+       https://lists.gnu.org/r/emacs-devel/2024-02/msg00797.html
+
+       * lisp/allout.el (allout-command-prefix): Declare :type as
+       key-sequence.  Mark up key sequences in docstring.
+       * lisp/auth-source.el (auth-source--decode-octal-string):
+       * lisp/ffap.el (ffap-search-backward-file-end):
+       * lisp/gnus/gnus-art.el (gnus-page-delimiter):
+       * lisp/gnus/nnheader.el (nnheader-strip-cr):
+       * lisp/proced.el (proced-log):
+       * lisp/progmodes/idlw-shell.el (idlwave-shell-prompt-pattern):
+       * lisp/url/url-http.el (url-http-clean-headers):
+       * lisp/vcursor.el (vcursor-interpret-input): Quote control
+       characters in docstrings.
+
+2024-02-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       Revert change in tramp-adb-send-command
+
+       * lisp/net/tramp-adb.el (tramp-adb-send-command): Revert check for
+       `tramp-androidsu-method'.  There is no need to restrict the check.
+
+2024-02-28  Liu Hui  <liuhui1610@gmail.com>
+
+       Fix Python shell completion test failures
+
+       * test/lisp/progmodes/python-tests.el
+       (python-tests-with-temp-buffer-with-shell): Set XDG_CACHE_HOME
+       to a temporary directory.
+       (python-tests--pythonstartup-file): New function.
+       (python-shell-completion-at-point-jedi-completer)
+       (python-shell-completion-at-point-ipython): Use Jedi as the
+       native completion backend when possible.  (bug#68559)
+
+2024-02-28  Po Lu  <luangruo@yahoo.com>
+
+       Lift restrictions on `tramp-androidsu's app data access
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file): Remove
+       code now unnecessary.
+
+       * lisp/net/tramp-androidsu.el
+       (tramp-androidsu-mount-global-namespace): New user option.
+       (tramp-androidsu-su-mm-supported): New variable.
+       (tramp-androidsu-maybe-open-connection): Detect whether su
+       supports the -mm option, and provide it if so.
+       (tramp-androidsu-adb-handle-copy-file)
+       (tramp-androidsu-adb-handle-rename-file): Delete functions.
+       (tramp-androidsu-sh-handle-copy-file)
+       (tramp-androidsu-sh-handle-rename-file): New functions.
+       (tramp-androidsu-file-name-handler-alist): Switch to tramp-sh's
+       copy and rename handlers.
+
+2024-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       vhdl-mode.el: Reduce use of `eval`
+
+       * lisp/progmodes/vhdl-mode.el (vhdl--re2-region): New function.
+       (vhdl--signal-regions-functions): New constant, extracted from
+       `vhdl-update-sensitivity-list`.
+       (vhdl-update-sensitivity-list): Use it.
+
+2024-02-27  Philip Kaludercic  <philipk@posteo.net>
+
+       Allow vc-git-clone to check-out arbitrary revisions
+
+       * lisp/vc/vc-git.el (vc-git-clone): If "git clone --branch"
+       fails, then clone the repository regularly and checkout the
+       requested revision.
+
+2024-02-27  Po Lu  <luangruo@yahoo.com>
+
+       Disable process tracing before launching /system/bin/su
+
+       * lisp/net/tramp-androidsu.el
+       (tramp-androidsu-maybe-open-connection): Disable process tracing
+       around start-process, that the setuid su binary may be started
+       regardless of its status.
+
+2024-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       tex-mode.el: Increase depth of braces highlighted in $...$ blocks
+
+       * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): Increase depth
+       of braces supported in $...$ blocks.
+       (tex-font-lock-keywords-2, tex-font-lock-syntactic-face-function):
+       Refer directly to font-lock faces.
+
+2024-02-26  Mattias Engdegård  <mattiase@acm.org>
+
+       Make tree-sitter tests work installed in .emacs.d/tree-sitter
+
+       * test/Makefile.in (ert_opts):
+       Set treesit-extra-load-path, because HOME is not valid when running
+       tests from the Makefile (bug#69405).
+
+2024-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (edebug-tests-trivial-comma): Avoid interaction (bug#69406)
+
+       * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-trivial-backquote):
+       Don't use obsolete `edebug-eval-defun`.
+       (edebug-tests-trivial-comma): Use `inhibit-read-only`; don't use
+       obsolete `edebug-eval-defun`; and fix bug#69406 by binding
+       `eval-expression-debug-on-error`.
+
+2024-02-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix display of reordered Arabic text
+
+       * src/xdisp.c (compute_stop_pos): Fix a year-old thinko in
+       handling auto-composed characters.  It was introduced as part
+       of solving bug#62780, which optimized the search for composable
+       characters.  (Bug#69384)
+
+2024-02-26  Po Lu  <luangruo@yahoo.com>
+
+       Introduce a new TRAMP method `androidsu'
+
+       * doc/misc/tramp.texi (Quick Start Guide): Document the new
+       method.
+
+       * etc/NEWS (Tramp): Announce new method.
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-file-attributes)
+       (tramp-adb-handle-directory-files-and-attributes)
+       (tramp-adb-handle-file-name-all-completions): Properly print
+       ls's exit status in the presence of a pipe.
+       (tramp-adb-handle-copy-file): If the androidsu backend is in
+       use, call cp rather than adb push.
+       (tramp-adb-send-command): Disable ADB-specific code under
+       androidsu.
+       (tramp-adb-send-command-and-check): New argument
+       COMMAND-AUGMENTED-P.
+
+       * lisp/net/tramp-androidsu.el (tramp, tramp-adb, tramp-sh)
+       (tramp-androidsu-method, add-to-list)
+       (tramp-androidsu-maybe-open-connection)
+       (tramp-androidsu-generate-wrapper)
+       (tramp-androidsu-handle-access-file)
+       (tramp-androidsu-handle-add-name-to-file)
+       (tramp-androidsu-handle-copy-directory)
+       (tramp-androidsu-adb-handle-copy-file)
+       (tramp-androidsu-adb-handle-delete-directory)
+       (tramp-androidsu-adb-handle-delete-file)
+       (tramp-androidsu-handle-directory-file-name)
+       (tramp-androidsu-handle-directory-files)
+       (tramp-androidsu-adb-handle-directory-files-and-attributes)
+       (tramp-androidsu-handle-dired-uncache)
+       (tramp-androidsu-adb-handle-exec-path)
+       (tramp-androidsu-handle-expand-file-name)
+       (tramp-androidsu-handle-file-accessible-directory-p)
+       (tramp-androidsu-adb-handle-file-attributes)
+       (tramp-androidsu-handle-file-directory-p)
+       (tramp-androidsu-handle-file-equal-p)
+       (tramp-androidsu-adb-handle-file-executable-p)
+       (tramp-androidsu-adb-handle-file-exists-p)
+       (tramp-androidsu-handle-file-group-gid)
+       (tramp-androidsu-handle-file-in-directory-p)
+       (tramp-androidsu-sh-handle-file-local-copy)
+       (tramp-androidsu-handle-file-locked-p)
+       (tramp-androidsu-handle-file-modes)
+       (tramp-androidsu-adb-handle-file-name-all-completions)
+       (tramp-androidsu-handle-file-name-as-directory)
+       (tramp-androidsu-handle-file-name-case-insensitive-p)
+       (tramp-androidsu-handle-file-name-completion)
+       (tramp-androidsu-handle-file-name-directory)
+       (tramp-androidsu-handle-file-name-nondirectory)
+       (tramp-androidsu-handle-file-newer-than-file-p)
+       (tramp-androidsu-handle-file-notify-add-watch)
+       (tramp-androidsu-handle-file-notify-rm-watch)
+       (tramp-androidsu-handle-file-notify-valid-p)
+       (tramp-androidsu-adb-handle-file-readable-p)
+       (tramp-androidsu-handle-file-regular-p)
+       (tramp-androidsu-handle-file-remote-p)
+       (tramp-androidsu-handle-file-selinux-context)
+       (tramp-androidsu-handle-file-symlink-p)
+       (tramp-androidsu-adb-handle-file-system-info)
+       (tramp-androidsu-handle-file-truename)
+       (tramp-androidsu-handle-file-user-uid)
+       (tramp-androidsu-adb-handle-file-writable-p)
+       (tramp-androidsu-handle-find-backup-file-name)
+       (tramp-androidsu-handle-insert-directory)
+       (tramp-androidsu-handle-insert-file-contents)
+       (tramp-androidsu-handle-list-system-processes)
+       (tramp-androidsu-handle-load, tramp-androidsu-handle-lock-file)
+       (tramp-androidsu-handle-make-auto-save-file-name)
+       (tramp-androidsu-adb-handle-make-directory)
+       (tramp-androidsu-handle-make-lock-file-name)
+       (tramp-androidsu-handle-make-nearby-temp-file)
+       (tramp-androidsu-adb-handle-make-process)
+       (tramp-androidsu-sh-handle-make-symbolic-link)
+       (tramp-androidsu-handle-memory-info)
+       (tramp-androidsu-handle-process-attributes)
+       (tramp-androidsu-adb-handle-process-file)
+       (tramp-androidsu-adb-handle-rename-file)
+       (tramp-androidsu-adb-handle-set-file-modes)
+       (tramp-androidsu-adb-handle-set-file-times)
+       (tramp-androidsu-handle-set-visited-file-modtime)
+       (tramp-androidsu-handle-shell-command)
+       (tramp-androidsu-handle-start-file-process)
+       (tramp-androidsu-handle-substitute-in-file-name)
+       (tramp-androidsu-handle-temporary-file-directory)
+       (tramp-androidsu-adb-handle-get-remote-gid)
+       (tramp-androidsu-adb-handle-get-remote-groups)
+       (tramp-androidsu-adb-handle-get-remote-uid)
+       (tramp-androidsu-handle-unlock-file)
+       (tramp-androidsu-handle-verify-visited-file-modtime)
+       (tramp-androidsu-handle-write-region)
+       (tramp-androidsu-file-name-handler-alist)
+       (tramp-androidsu-file-name-p, tramp-androidsu-file-name-handler)
+       (tramp-register-foreign-file-name-handler)
+       (tramp-adb-connection-local-default-ps-profile, shell)
+       (tramp-unload-hook, tramp-androidsu): New file.
+
+2024-02-26  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Remove unnecessary eval-when-compile from definition
+
+       * lisp/which-key.el (which-key--ignore-keys-regexp):  Remove 
eval-when-compile.
+
+2024-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/vc/vc-hooks.el (vc-mode): Give a body to the function (bug#69387)
+
+2024-02-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       Modify last change acc to comments
+
+       * lisp/simple.el (read-passwd-mode): Change `text' entry of icons.
+       (read-passwd-toggle-visibility): Rename.
+       (read-passwd-mode):
+       * lisp/subr.el (read-passwd-map): Adapt callees.
+
+2024-02-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       'read-passwd' can toggle the visibility of passwords
+
+       * doc/lispref/minibuf.texi (Reading a Password):
+       * etc/NEWS: 'read-passwd' can toggle the visibility of passwords.
+
+       * etc/images/README: Mention the new images below.
+       * etc/images/conceal.pbm:
+       * etc/images/conceal.svg:
+       * etc/images/reveal.pbm:
+       * etc/images/reveal.svg: New images.
+
+       * lisp/simple.el (read-passwd--mode-line-buffer)
+       (read-passwd--mode-line-icon): New defvars.
+       (read-passwd--toggle-visibility, read-passwd-mode): New defuns.
+
+       * lisp/subr.el (read-passwd-map): Add 'TAB' binding.
+       (read-passwd--hide-password): New defvar.
+       (read-passwd--hide-password): Rename function from
+       `read-password--hide-password'.  Adapt callees.  Implement both
+       hiding and showing the password.  (Bug#69237)
+       (read-passwd): Call `read-passwd-mode'.
+
+2024-02-25  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Don't warn about _ not left unused in if-let and alike
+
+       The macro expansions did not leave a variable _ unused; this triggered
+       an irritating compiler warning (bug#69108).
+
+       * lisp/subr.el (internal--build-binding): Handle bindings of the form
+       (_ EXPR) separately.
+
+2024-02-25  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/project.el (project-any-command): Allow local keymaps.
+
+       Use overriding-terminal-local-map instead of overriding-local-map.
+       This allows using keys from local maps (bug#69242).
+
+2024-02-25  Eli Zaretskii  <eliz@gnu.org>
+
+       * nt/cmdproxy.c (_snprintf) [_UCRT]: Redirect to 'snprintf'.
+
+2024-02-25  Po Lu  <luangruo@yahoo.com>
+
+       Arrange for dialog boxes during emacsclient requests on Android
+
+       * lisp/server.el (server-execute): Bind use-dialog-box-override
+       if (featurep 'android).
+
+       * lisp/subr.el (use-dialog-box-override): New option.
+       (use-dialog-box-p): Always display dialog boxes if variable is
+       set.
+
+2024-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/progmodes/elisp-mode.el (eval-last-sexp, eval-defun): Fix thinko
+
+       * etc/NEWS.25: Add 'obarrayp' as well
+
+       * etc/NEWS.25: Add missing announcement of 'obarray' package
+
+2024-02-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Replace XSETSYMBOL with make_lisp_symbol
+
+       * src/lisp.h (XSETSYMBOL): Remove.  All callers changed to use
+       make_lisp_symbol.
+
+2024-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/editfns.c (Fget_pos_property): Fix thinko (bug#69358)
+
+2024-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (diff-refine-nonmodified): Complete the implementation
+
+       * lisp/vc/diff-mode.el (diff--refine-hunk): Implement
+       `diff-refine-nonmodified` for old-style-context and "normal" diffs.
+
+2024-02-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       01ebc95114f Fix 'help-quick-toggle'
+       afe49c7e2a2 ; * admin/authors.el (authors-aliases): Fix last change.
+       8b1f10f8cf4 ; Normalize Morgan Smith's attributions.
+       70cf4b694b3 ; * etc/PROBLEMS: Describe input lags due to GTK IM (bug#...
+       f28a557c7d4 * doc/lispref/modes.texi (Tabulated List Mode): Update.
+       d6131b5902a * lisp/net/tramp.el (tramp-methods): Fix typo in docstrin...
+       2eb85a9de1a ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Ano...
+       4c6653f23ae ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Doc...
+       5a64d2c7595 java-ts-mode: Indentation for opening brace on a separate...
+       9e56bd5ed87 Removed decommissioned PGP keyservers
+       e56f0ef51bf org: Fix security prompt for downloading remote resource
+       65ba3274652 Revert "Update to Org 9.6.19"
+       07a392f445e Update to Org 9.6.19
+
+2024-02-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Suppress docstring control char warning in macro-generated function
+
+       * lisp/progmodes/cc-defs.el (c-lang-defconst):
+       Make sure that `val` won't be treated as a docstring.
+
+2024-02-24  Philip Kaludercic  <philipk@posteo.net>
+
+       Add sml-mode entry to 'eglot-server-programs'
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Use the
+       "millet" LSP server (https://github.com/azdavis/millet).
+
+2024-02-24  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Check daemon is initialized before suppressing its init errors
+
+       Previously, the default error handler would correctly suppress
+       unhandled errors raised when IS_DAEMON and the initial frame
+       was current, since this is the normal state of operation for a
+       daemon-mode Emacs.  However, this also incorrectly suppressed
+       errors raised while a daemon-mode Emacs was starting up.
+
+       Now, errors raised while a daemon-mode Emacs is starting up will be
+       handled just like errors when a non-daemon Emacs is starting up.
+
+       This was previously the case before changes for bug#1310 and
+       bug#1836, which added the suppression of errors when IS_DAEMON.
+       DAEMON_RUNNING didn't exist at the time of those changes, but now
+       it does, so we can do better.
+
+       * src/keyboard.c (Fcommand_error_default_function): Check
+       !DAEMON_RUNNING in addition to IS_DAEMON.  (Bug#68799)
+       * src/lisp.h (DAEMON_RUNNING): Add a clarifying comment about
+       what this #define means.
+
+2024-02-24  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Add context to errors thrown by server-start during startup
+
+       When server-start errors during startup, the error is printed to
+       the terminal without context.  To help the user understand
+       better what went wrong, that printed error now mentions that the
+       error came from starting up the daemon.
+
+       * lisp/startup.el (command-line): Catch and annotate errors
+       thrown by server-start.  (bug#68799)
+
+2024-02-24  Po Lu  <luangruo@yahoo.com>
+
+       * configure.ac: Detect renameat2 with gl_CHECK_FUNCS_ANDROID.
+
+2024-02-24  Emanuel Berg  <incal@dataswamp.org>
+
+       Make erc-cmd-AMSG session local; add /GMSG, /AME and /GME
+
+       * etc/ERC-NEWS: Mention new slash commands.
+       * lisp/erc/erc.el (erc-cmd-AMSG): Make it consistent with the doc
+       string by only affecting the current connection.
+       (erc-cmd-GMSG, erc-cmd-AME, erc-cmd-GME): New IRC slash commands.
+       * test/lisp/erc/erc-scenarios-misc-commands.el
+       (erc-scenarios-misc-commands--AMSG-GMSG-AME-GME): New test.
+       * test/lisp/erc/resources/commands/amsg-barnet.eld: New file.
+       * test/lisp/erc/resources/commands/amsg-foonet.eld: New file.
+       (Bug#68401)
+
+2024-02-24  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#69321
+
+       * java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
+       Provide Right Alt (Alt Gr) masks to system keymap routines.
+       (bug#69321)
+
+2024-02-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       diff-mode.el (diff-refine-nonmodified): New option
+
+       * lisp/vc/diff-mode.el (diff-font-lock-keywords): Refer directly to
+       font-lock faces.
+       (diff-apply-hunk): Use `user-error` for errors usually not due to bugs.
+       (diff--refine-propertize): New function.
+       (diff-refine-nonmodified): New custom var (bug#61396).
+       (diff--refine-hunk): Use them.
+
+2024-02-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       elisp-mode.el: Use `handler-bind` instead of `debug-on-error`
+
+       * lisp/progmodes/elisp-mode.el (elisp-enable-lexical-binding):
+       Don't get fooled by a global binding of `lexical-binding` to t.
+       (elisp--eval-last-sexp-fake-value): Delete var.
+       (elisp--eval-defun): Don't let-bind `debug-on-error` since it's
+       already arranged by the only caller.
+       (eval-last-sexp, eval-defun): Use `handler-bind` instead of
+       `debug-on-error`.
+
+2024-02-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/mail/rmail.el (rmail-resend): Use `with-syntax-table`
+
+2024-02-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       rmail.el: Prefer #' to quote function names
+
+       * lisp/mail/rmail.el (rmail-pop-to-buffer, rmail-mode-map)
+       (rmail-mode-1, rmail-generate-viewer-buffer, rmail-variables)
+       (rmail-find-all-files, rmail-insert-inbox-text)
+       (rmail-set-message-counters, rmail-only-expunge, rmail-reply)
+       (rmail-resend, rmail-fontify-buffer-function)
+       (rmail-unfontify-buffer-function, rmail-install-speedbar-variables)
+       (after-save-hook): Use #' where applicable.
+
+2024-02-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (rmail-font-lock-keywords): Avoid old-style `font-lock*-face` variables
+
+       * lisp/mail/rmail.el (rmail-font-lock-keywords): Refer directly to the
+       font-lock faces.
+
+2024-02-23  Robert A. Burks  <rburksdev@gmail.com>  (tiny change)
+
+       Fix Flymake lighter tool-tip from generating errors
+
+       Flymake tool-tip was generating errors on mouse over of
+       mode-line lighter on inactive windows and on the minor mode
+       indicator in the describe-mode Help page.
+       * lisp/progmodes/flymake.el (flymake--mode-line-title):
+       'help-echo' now uses buffer local state and makes null
+       check.  (Bug#69248)
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about docstrings with control characters
+
+       It is easy to include control chars in doc strings by mistake, and the
+       result is often an unreadable mess.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
+       (byte-compile-warnings, byte-compile--docstring-style-warn):
+       Add `docstrings-control-chars` warning.
+       * etc/NEWS: Announce.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Replace use of obsolete eshell-kill-output in test
+
+       * test/lisp/eshell/eshell-tests.el (eshell-test/flush-output):
+       Use eshell-delete-output instead of eshell-kill-output.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Update NEWS and manual after obarray changes
+
+       * doc/lispref/abbrevs.texi (Abbrev Tables):
+       * doc/lispref/symbols.texi (Creating Symbols):
+       * doc/lispref/objects.texi (Type Predicates): Update text for obarray
+       now being an opaque type.
+       * etc/NEWS: Announce.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Use the new obarray type for the initial obarray
+
+       This can improve performance a lot, especially after the obarray has
+       been fed many symbols.
+
+       * src/lread.c (OBARRAY_SIZE): Remove.
+       (load_path_check): Create an obarray object instead of a vector.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Add a proper type for obarrays
+
+       The new opaque type replaces the previous use of vectors for obarrays.
+       `obarray-make` now returns objects of this type.  Functions that take
+       obarrays continue to accept vectors for compatibility, now just using
+       their first slot to store an actual obarray object.
+
+       obarray-size and obarray-default-size now obsolete.
+
+       * lisp/obarray.el (obarray-default-size, obarray-size):
+       Declare obsolete.
+       (obarray-make, obarrayp, obarray-clear): Remove from here.
+       * src/fns.c (reduce_emacs_uint_to_hash_hash): Remove from here.
+       * src/lisp.h (struct Lisp_Obarray, OBARRAYP, XOBARRAY, CHECK_OBARRAY)
+       (make_lisp_obarray, obarray_size, check_obarray)
+       (obarray_iter_t, make_obarray_iter, obarray_iter_at_end)
+       (obarray_iter_step, obarray_iter_symbol, DOOBARRAY, knuth_hash): New.
+       (reduce_emacs_uint_to_hash_hash): Moved here.
+       * src/lread.c (check_obarray): Renamed and reworked as...
+       (checked_obarray_slow): ...this.
+       (intern_sym, Funintern, oblookup, map_obarray)
+       (Finternal__obarray_buckets): Adapt to new type.
+       (obarray_index, allocate_obarray, make_obarray, grow_obarray)
+       (obarray_default_bits, Fobarray_make, Fobarrayp, Fobarray_clear): New.
+       * etc/emacs_lldb.py (Lisp_Object):
+       * lisp/emacs-lisp/cl-macs.el (`(,type . ,pred)):
+       * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
+       * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
+       * lisp/emacs-lisp/comp.el (comp-known-predicates):
+       * src/alloc.c (cleanup_vector, process_mark_stack):
+       * src/data.c (Ftype_of, syms_of_data):
+       * src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
+       * src/pdumper.c (dump_obarray_buckets, dump_obarray, dump_vectorlike):
+       * src/print.c (print_vectorlike_unreadable):
+       * test/lisp/abbrev-tests.el (abbrev-make-abbrev-table-test):
+       * test/lisp/obarray-tests.el (obarrayp-test)
+       (obarrayp-unchecked-content-test, obarray-make-default-test)
+       (obarray-make-with-size-test):
+       Adapt to new type.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Add obarray-clear and use it
+
+       * lisp/obarray.el (obarray-clear): New.
+       * lisp/abbrev.el (clear-abbrev-table):
+       * lisp/vc/vc.el (vc-clear-context): Use it instead of assuming the
+       obarray is a vector that can be 0-filled.
+       * test/lisp/obarray-tests.el (obarray-clear): New test.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Use obarrayp, not vectorp, to detect obarrays
+
+       * lisp/abbrev.el (abbrev--active-tables):
+       * lisp/mail/mailabbrev.el (mail-abbrevs-setup, build-mail-abbrevs)
+       (define-mail-abbrev, mail-resolve-all-aliases)
+       (mail-abbrev-insert-alias):
+       * lisp/mail/rmail.el (rmail-resend):
+       * lisp/minibuffer.el (completion-table-with-context):
+       * lisp/progmodes/etags.el (etags-tags-apropos-additional):
+       (etags--xref-apropos-additional):
+       Use obarrayp as predicate for obarrays.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Use obarray-make instead of make-vector to create obarrays
+
+       This prepares for the introduction of an actual obarray type.
+
+       * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-dynamic-map)
+       (semantic-lex-spp-dynamic-map-stack, semantic-lex-make-spp-table):
+       * lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
+       (semantic-lex-make-type-table):
+       * lisp/completion.el (cmpl-prefix-obarray, cmpl-obarray)
+       (clear-all-completions):
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info):
+       * lisp/emacs-lisp/eldoc.el (eldoc-message-commands)
+       (eldoc-edit-message-commands):
+       * lisp/mail/mail-extr.el (mail-extr-all-top-level-domains):
+       * lisp/mail/rmailkwd.el (rmail-label-obarray):
+       * lisp/net/dns.el (dns-cache):
+       * lisp/net/eww.el (eww-suggested-uris):
+       * lisp/net/imap.el (imap-open, imap-mailbox-select-1)
+       (imap-message-copyuid-1, imap-message-appenduid-1):
+       * lisp/obsolete/pgg.el (pgg-passphrase-cache, pgg-pending-timers):
+       * lisp/play/cookie1.el (cookie-cache):
+       * lisp/progmodes/cc-defs.el (c-lang-constants, c-define-lang-constant):
+       * lisp/progmodes/cc-langs.el (c-keywords-obarray):
+       * lisp/vc/vc-hooks.el (vc-file-prop-obarray):
+       * test/lisp/obarray-tests.el (obarrayp-test):
+       * test/src/minibuf-tests.el (minibuf-tests--strings-to-obarray):
+       Use obarray-make instead of obarray-make.
+
+2024-02-23  Andrea Corallo  <acorallo@gnu.org>
+
+       * src/pdumper.c (dump_subr): Rename 'native_comp' -> 'non_primitive'.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/fns.c (sxhash_bignum): Include sign bit in hash.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/fns.c (hash_string): Suppress warning on 32-bit platforms
+
+       Remove a shift-too-wide complaint by GCC in code that is never reached
+       on platforms where that shift is too wide.
+
+2024-02-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Tone down python-mode warning to a simple message (bug#68559)
+
+       * lisp/progmodes/python.el
+       (python-shell-completion-native-turn-on-maybe):
+       There is no need for an alarming warning when using an inferior Python
+       without GNU readline; a calm message will do.
+
+2024-02-23  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#69140
+
+       * src/window.c (grow_mini_window): Don't adjust frame matrices
+       or force redisplay if the provided window cannot be
+       resized.  (bug#69140)
+
+2024-02-22  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix 'parse-colon-path' entry in 'comp-known-type-specifiers'
+
+       * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): Fix
+       'parse-colon-path'.
+
+2024-02-22  Juri Linkov  <juri@linkov.net>
+
+       * lisp/help-fns.el (describe-mode-outline): New user option (bug#64684).
+
+       (describe-mode, describe-mode--minor-modes): Use 
'describe-mode-outline'.
+
+       * lisp/help-mode.el (help-setup-xref): After disabling 
outline-minor-mode
+       also kill all outline-related local variables.  So that they won't 
affect
+       the output of other help commands in the same help buffer.
+
+2024-02-22  Jörg Bornemann  <foss@jbornemann.de>
+
+       Recognize functions and macros as defuns in 'cmake-ts-mode'
+
+       * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode--function-name):
+       Renamed to 'cmake-ts-mode--defun-name' since the function handles
+       now functions and macros.
+       (cmake-ts-mode--defun-name): Return text of the first 'argument'
+       node below 'function_def' and 'macro_def' nodes.
+       (cmake-ts-mode): Set up treesit-defun-type-regexp and
+       'treesit-defun-name-function'.  Change the imenu setup to
+       recognize macros too.  Since we have set up
+       'treesit-defun-name-function', we don't have to
+       pass 'cmake-ts-mode--function-name' anymore.  (Bug#69186)
+
+       To make `treesit-defun-at-point' work properly, we have to recognize
+       function_def/macro_def nodes, not the lower-level *_command nodes.
+
+2024-02-22  Po Lu  <luangruo@yahoo.com>
+
+       Enable inotify on systems with inotify_init yet no init1 variant
+
+       * configure.ac (HAVE_INOTIFY): Check for the presence of
+       inotify_init in addition to inotify_init1.
+
+       * src/inotify.c (Finotify_add_watch): Implement with
+       inotify_init if inotify_init1 is absent.
+
+2024-02-21  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp.el (comp--compute-function-types): Fix missing 
doc.
+
+2024-02-21  Andrea Corallo  <acorallo@gnu.org>
+
+       * Add few missing entries in 'comp-known-predicates'
+
+       * lisp/emacs-lisp/comp.el (comp-known-predicates): Add framep, markerp,
+       number-or-marker-p, overlayp, processp, subrp and windowp and sort it
+       alphabetically.
+
+2024-02-21  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Rename constructors.
+
+2024-02-21  Andrea Corallo  <acorallo@gnu.org>
+
+       * Make 'comp--compute-function-types' a pass
+
+       * lisp/emacs-lisp/comp.el (comp-passes): Add 
comp--compute-function-types.
+       (comp--compute-function-types): New function.
+       (comp--compute-function-type): Move it.
+       (comp--final): Update it.
+
+2024-02-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Remove redundant call to 'eln_load_path_final_clean_up'
+
+       * src/emacs.c (shut_down_emacs): Remove redundant call to
+       'eln_load_path_final_clean_up'.  We call it from 'kill-emacs'
+       right before the call to 'exit'.
+
+2024-02-21  kobarity  <kobarity@gmail.com>
+
+       Set tty mode to raw when setting up Inferior Python
+
+       * lisp/progmodes/python.el (python-shell-setup-code): New constant.
+       (python-shell-comint-watch-for-first-prompt-output-filter): Send
+       `python-shell-setup-code' to the Inferior Python process.
+       * test/lisp/progmodes/python-tests.el (python-ffap-module-path-1):
+       Eliminate skipping on Mac. (Bug#68559)
+
+2024-02-21  Po Lu  <luangruo@yahoo.com>
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (display): Reduce timeout.
+
+2024-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/map.el (map--make-pcase-bindings): Fix use in Emacs<30
+
+2024-02-21  Po Lu  <luangruo@yahoo.com>
+
+       Work around premature dismissals of submenus under Android
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (display): If between
+       HONEYCOMB and N, set wasSubmenuSelected.
+
+2024-02-21  Justin Burkett  <justin@burkett.cc>
+
+       Disentangle third party libraries (but keep support for now)
+
+       Add `which-key-inhibit-display-hook' to allow third-party libraries to 
prevent
+       which-key from displaying in certain circumstances. Add
+       `which-key-this-command-keys-function' as a customizable variable to 
allow
+       third-party libraries to teach which-key about custom symbols they 
insert into
+       the key sequence.
+
+       Add `which-key-evil-this-operator-p', 
`which-key-god-mode-self-insert-p' and
+       `which-key--god-mode-this-command-keys' to provide support for god-mode 
and evil
+       using the new mechanisms.
+
+2024-02-21  Justin Burkett  <justin@burkett.cc>
+
+       Remove "Internal" from docstrings of defvars
+
+       The internal status is implied by the double hyphen in the name.
+
+2024-02-21  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Bump year to 2024
+
+       * lisp/which-key.el:  Bump year
+
+2024-02-21  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Simplify test for empty list
+
+       * lisp/which-key.el (which-key--show-keymap):  Use (null)
+
+2024-02-21  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Mention affected settings of which-key-dont-use-unicode
+
+       * lisp/which-key.el (which-key-separator):  Improve docstring
+
+2024-02-20  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Do not attempt to check declarations in lock files
+
+       * lisp/emacs-lisp/check-declare.el (check-declare-directory): Do
+       not attempt to check declarations in lock files.  (Bug#69084)
+
+2024-02-20  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Allow trivially autoloading uses of transient's define macros
+
+       Since 49e41991b2f transient-define-prefix itself was autoloaded, but
+       that meant that when ever an autoload file was loaded, which contained
+       an autoload for a command defined using that macro, transient itself
+       had to be loaded.
+
+       That shouldn't be necessary.  For commands using these macros, an
+       autoload that is identical to what would have been generated if it
+       had been defined using defun, works just fine.
+
+       * lisp/emacs-lisp/loaddefs-gen.el
+       (loaddefs-generate--make-autoload): Allow uses of
+       transient-define-prefix, transient-define-suffix,
+       transient-define-infix and transient-define-argument
+       to be autoloaded using just ";;;autoload".
+
+       * lisp/transient.el (transient-define-prefix): No longer autoload.
+
+2024-02-20  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix missing entry in 'cl--typeof-types'
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add
+       'native-comp-unit'.
+
+2024-02-20  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Make find-function-regexp also find transient-define-*
+
+       * lisp/emacs-lisp/find-func.el (find-function-regexp): Also find
+       transient-define-prefix, transient-define-suffix,
+       transient-define-infix and transient-define-argument.
+
+2024-02-20  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Add a :version tag to all defcustom's and defface's
+
+       * lisp/which-key.el: add :version tag to all following
+       (which-key-idle-delay):
+       (which-key-idle-secondary-delay):
+       (which-key-echo-keystrokes):
+       (which-key-max-description-length):
+       (which-key-min-column-description-width):
+       (which-key-add-column-padding):
+       (which-key-unicode-correction):
+       (which-key-dont-use-unicode):
+       (which-key-separator):
+       (which-key-ellipsis):
+       (which-key-prefix-prefix):
+       (which-key-compute-remaps):
+       (which-key-replacement-alist):
+       (which-key-allow-multiple-replacements):
+       (which-key-show-docstrings):
+       (which-key-highlighted-command-list):
+       (which-key-special-keys):
+       (which-key-buffer-name):
+       (which-key-show-prefix):
+       (which-key-popup-type):
+       (which-key-min-display-lines):
+       (which-key-max-display-columns):
+       (which-key-side-window-location):
+       (which-key-side-window-slot):
+       (which-key-side-window-max-width):
+       (which-key-side-window-max-height):
+       (which-key-frame-max-width):
+       (which-key-frame-max-height):
+       (which-key-allow-imprecise-window-fit):
+       (which-key-show-remaining-keys):
+       (which-key-sort-order):
+       (which-key-sort-uppercase-first):
+       (which-key-paging-prefixes):
+       (which-key-paging-key):
+       (which-key-use-C-h-commands):
+       (which-key-show-early-on-C-h):
+       (which-key-is-verbose):
+       (which-key-preserve-window-configuration):
+       (which-key-hide-alt-key-translations):
+       (which-key-delay-functions):
+       (which-key-allow-regexps):
+       (which-key-inhibit-regexps):
+       (which-key-show-transient-maps):
+       (which-key-init-buffer-hook):
+       (which-key-key-face):
+       (which-key-separator-face):
+       (which-key-note-face):
+       (which-key-command-description-face):
+       (which-key-local-map-description-face):
+       (which-key-highlighted-command-face):
+       (which-key-group-description-face):
+       (which-key-special-key-face):
+       (which-key-docstring-face):
+       (which-key-custom-popup-max-dimensions-function):
+       (which-key-custom-hide-popup-function):
+       (which-key-custom-show-popup-function):
+       (which-key-lighter):
+       (which-key-allow-evil-operators):
+       (which-key-show-operator-state-maps):
+
+2024-02-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add Tramp methods dockercp and podmancp
+
+       * doc/misc/tramp.texi (External methods):  Add dockercp and podmancp.
+
+       * etc/NEWS: Add Tramp methods "dockercp" and "podmancp".
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
+       * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
+       (tramp-maybe-open-connection):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file)
+       (tramp-sshfs-maybe-open-connection):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Adapt
+       `tramp-expand-args' calls.
+
+       * lisp/net/tramp-container.el (tramp-dockercp-method)
+       (tramp-podmancp-method): New defconst.
+       (tramp-methods) <dockercp, podmancp>: Add new methods.
+       (tramp-container--completion-function): Adapt docstring.  Use it
+       for "dockercp" and "podmancp" completion.
+
+       * lisp/net/tramp.el (tramp-get-remote-tmpdir):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+       * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use a default
+       value with `tramp-get-method-parameter'.
+
+       * lisp/net/tramp-sh.el (tramp-methods) <nc>: Add `tramp-copy-file-name'.
+       (tramp-default-copy-file-name): New defconst.
+       (tramp-make-copy-file-name): Rename from
+       `tramp-make-copy-program-file-name'.  Use method parameter
+       `tramp-copy-file-name'.  (Bug#69085)
+       (tramp-do-copy-or-rename-file-out-of-band): Adapt callees.
+
+       * lisp/net/tramp.el (tramp-methods): Adapt docstring.
+       (tramp-get-method-parameter, tramp-expand-args): New optional
+       argument DEFAULT.
+
+       * test/lisp/net/tramp-tests.el (tramp--test-container-p): Adapt.
+       (tramp--test-container-oob-p): New defun.
+       (tramp-test17-dired-with-wildcards, tramp-test35-remote-path)
+       (tramp-test41-special-characters): Use it.
+       (tramp--test-set-ert-test-documentation): Use `split-string'.
+
+2024-02-19  Philip Kaludercic  <philipk@posteo.net>
+
+       Allow attaching files at point using 'gnus-dired-attach'
+
+       * lisp/gnus/gnus-dired.el (gnus-dired-attach-at-end): Add option.
+       (gnus-dired-attach): Respect it.
+       * doc/misc/gnus.texi (Other modes): Document it.  (Bug#69141)
+
+2024-02-19  Andrea Corallo  <acorallo@gnu.org>
+
+       * etc/syncdoc-type-hierarchy.el (syncdoc-lispref-dir): Clean-up.
+
+       * etc/syncdoc-type-hierarchy.el: Update comment.
+
+2024-02-19  Andrea Corallo  <acorallo@gnu.org>
+
+       Make type hierarchy textual representation a table
+
+       * etc/syncdoc-type-hierarchy.el (syncdoc-make-type-table): New function.
+       (syncdoc-update-type-hierarchy): Make use of.
+       * doc/lispref/type_hierarchy.txt: Regenerate.
+
+2024-02-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Slight switch byte op speedup
+
+       * src/bytecode.c (exec_byte_code): Hoist symbols_with_pos_enabled check
+       from fast loop, and eliminate the initial index check.
+
+2024-02-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Replace XSET_HASH_TABLE with make_lisp_hash_table
+
+       * src/lisp.h (XSET_HASH_TABLE): Remove, replace with...
+       (make_lisp_hash_table): ...this.  All callers adapted.
+
+2024-02-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Check shortdoc keywords and fix one mistake
+
+       * lisp/emacs-lisp/shortdoc.el (shortdoc--check)
+       (define-short-documentation-group): Check that used keywords exist.
+       * lisp/emacs-lisp/shortdoc.el (list): Fix a typo.
+
+2024-02-19  Ihor Radchenko  <yantar92@posteo.net>
+
+       * test/src/eval-tests.el (eval-tests/default-value): Add new test case.
+
+       Bug#66117
+
+2024-02-19  Yuan Fu  <casouri@gmail.com>
+
+       Don't update ranges for the whole buffer in treesit--pre-redisplay
+
+       * lisp/treesit.el (treesit--pre-redisplay): Only update two
+       screen-full of text around point.
+
+2024-02-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Back out part of commit db5e84af202
+
+       * lisp/gnus/gnus-agent.el (gnus-category-make-function-1): This code is
+       untested and was not meant to be part of the earlier commit.
+
+2024-02-18  Andrea Corallo  <acorallo@gnu.org>
+
+       Fix typo in 'cl--type-hierarchy'
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy): Fix typo.
+       * doc/lispref/type_hierarchy.txt: Regenerate.
+       * doc/lispref/type_hierarchy.jpg: Likewise.
+
+2024-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use -Wanalyzer-deref-before-check in GCC 14
+
+       * src/marker.c: Work around GCC bug 113253 only if GCC 13.
+       The GCC bug reportedly will be fixed in GCC 14.
+
+2024-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Do not ignore -Wanalyzer-allocation-size in GCC 14
+
+       * src/lisp.h (SAFE_ALLOCA_LISP_EXTRA): Use pragma to ignore the
+       warning only in GCC 13, as the GCC developers say GCC bug 109577
+       is fixed in GCC 14.
+
+2024-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove no-longer-needed pdumper_load workaround
+
+       * src/pdumper.c (pdumper_load): Revert my commit "Pacify GCC
+       12.1.1 in default developer build" dated 2022-06-13 13:21:18 -07,
+       as GCC bug 105961 is fixed, and this workaround is not needed for
+       unfixed GCC as these builds should not use --enable-gcc-warnings.
+
+2024-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Ignore fewer GCC -fanalyzer diagnostics in ccl.c
+
+       * src/ccl.c: Do not ignore -Wanalyzer-use-of-uninitialized-value,
+       as that bug has been fixed in GCC.  Ignore
+       -Wanalyzer-out-of-bounds only if GCC 13, as the bug will
+       reportedly be fixed when GCC 14 comes out.
+
+2024-02-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Move translations-related files to do/translations/.
+
+2024-02-18  Jean-Christophe Helary  
<jean.christophe.helary@traduction-libre.org>
+
+       Move French translations to the top-level doc/ directory.
+
+2024-02-18  Jean-Christophe Helary  
<jean.christophe.helary@traduction-libre.org>
+
+       Add README file about translations of Emacs manuals
+
+       * doc/README: New file.
+
+2024-02-18  Po Lu  <luangruo@yahoo.com>
+
+       Implement tooltip_reuse_hidden_frame for Android
+
+       * java/org/gnu/emacs/EmacsWindow.java
+       (findSuitableActivityContext): Return Activity rather than
+       Context.
+       (mapWindow): Provide window token manually.
+
+       * src/androidfns.c (Fx_show_tip, Fx_hide_tip): Respect
+       tooltip_reuse_hidden_frame.
+
+2024-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2024-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to yesterday’s Gnulib nstrftime changes
+
+       Bruno Haible fixed Gnulib so that nstrftime no longer requires
+       locking code, which means we no longer need to avoid localename.
+       However, nstrftime now requires localename-unsafe-limited which
+       pulls in some Gnulib-specific locale code, and it’s likely this
+       needs to be replaced with Emacs-specific locale code.  In the
+       meantime let’s continue to finess this by avoiding
+       localename-unsafe-limited.
+       * admin/merge-gnulib (AVOIDED_MODULES):
+       Avoid localename-unsafe-limited instead of localename.
+
+2024-02-17  Jakub Ječmínek  <jecminek.k@gmail.com>
+
+       Provide better default value for date in Gnus scoring
+
+       Bug#61002, thanks to Kamil Jońca for reporting
+
+       * lisp/gnus/gnus-score.el (gnus-summary-score-entry): When scoring on
+       Date header, the default value for the prompt should be number of days
+       between the date of the article under point, and "now".
+
+2024-02-17  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Alias some gnus-specific do-nothing functions
+
+       Replace with #'always and #'ignore
+
+       * lisp/gnus/gnus-agent.el: `gnus-agent-true' and `gnus-agent-false'
+       * lisp/gnus/gnus-util.el: `gnus-not-ignore'
+
+2024-02-17  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Add manual entries for which-key
+
+       * doc/emacs/display.texi (Display Custom):  Briefly introduce which-key.
+       * doc/emacs/help.texi (Key Help):  Briefly mention which-key.
+
+2024-02-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       45f9af61b8e Remove references to phst@google.com.
+       7256690a3ca * BUGS: Note how to report critical security issues.
+       1035669b38b Add cross-reference to ELisp manual Caveats
+       61a14507627 Improve directory prompt used by package-vc-checkout
+       0c7c8210cb6 Minor Tramp doc adaption
+       df243f785d4 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       17a395e04c6 ;; Fix typo in the Tramp documentation
+       614b244a7fa * Improve reproducibility of inferred values by native comp
+       9f9da26e0dc Handle typescript ts grammar breaking change for function...
+       717d8c4285f Don't quote 't' in doc strings
+
+2024-02-17  Aleksandr Vityazev  <avityazev@disroot.org>
+
+       Make key selection method configurable in EPA.
+
+       * lisp/epa.el (epa-keys-select-method): New defcustom.
+       (epa--select-keys-in-minibuffer): New function.
+       (epa-select-keys): Use new option and function.
+       * etc/NEWS: Announce it.
+       * doc/misc/epa.texi (Key Management): Document it.
+       (Bug#69133)
+
+2024-02-17  john muhl  <jm@pub.pink>
+
+       Eagerly indent first field in tables in 'lua-ts-mode'
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules):
+       Properly indent the first field of a table when it appears on a
+       line by itself.  (Bug#69088)
+
+2024-02-17  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Support shebang lines with amended environment
+
+       For bug#64939.
+
+       * lisp/files.el (auto-mode-interpreter-regexp): Account for possible
+       VARIABLE=[VALUE] operands.
+       * test/lisp/files-tests.el (files-tests-auto-mode-interpreter):
+       Add an example from the coreutils manual.
+
+2024-02-17  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Support more complex env invocations in shebang lines
+
+       This is not an exact re-implementation of what env accepts, but
+       hopefully it should be "good enough".
+
+       Example of known limitation: we assume that arguments for
+       --long-options will be set with '=', but that is not
+       necessarily the case.  '--unset' (mandatory argument) can be
+       passed as '--unset=VAR' or '--unset VAR', but
+       '--default-signal' (optional argument) requires an '=' sign.
+
+       For bug#64939.
+
+       * lisp/files.el (auto-mode-interpreter-regexp): Account for
+       supplementary arguments passed beside -S/--split-string.
+       * test/lisp/files-tests.el (files-tests-auto-mode-interpreter):
+       Test some of these combinations.
+
+2024-02-17  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Refine shebang tests (bug#64939)
+
+       * test/lisp/files-tests.el (files-tests--check-shebang): For
+       shell-script modes, verify that the correct shell is set.
+       (files-tests-auto-mode-interpreter): Prefer 'sh-base-mode' to
+       'sh-mode' to stay tree-sitter-agnostic; re-organize test cases to
+       make future ones easier to add.
+
+2024-02-17  F. Jason Park  <jp@neverwas.me>
+
+       Use modern fallback for channel name detection in ERC
+
+       * lisp/erc/erc-backend.el (erc-query-buffer-p): Remove forward 
declaration.
+       * lisp/erc/erc.el (erc-query-buffer-p): Defer to `erc-channel-p'.
+       (erc-channel-p): Refactor and use `erc--fallback-channel-prefixes' for
+       the default CHANTYPES value.  Honor an empty CHANTYPES value as valid,
+       e.g., for servers that only support direct messages.
+       (erc--fallback-channel-prefixes): New variable to hold fallback
+       CHANTYPES prefixes recommended by RFC1459 and modern authorities on
+       the matter.
+       * test/lisp/erc/erc-tests.el (erc-channel-p): Revise test.  (Bug#67220)
+
+2024-02-17  F. Jason Park  <jp@neverwas.me>
+
+       Normalize ISUPPORT params with empty values in ERC
+
+       * lisp/erc/erc-backend.el (erc-server-parameters)
+       (erc--isupport-params): Mention parsing and storage behavior regarding
+       nonstandard "FOO=" tokens.
+       (erc--parse-isupport-value): Move comment closer to code.
+       (erc--get-isupport-entry): Treat the empty string as truly null, as
+       prescribed by the Brocklesby draft cited in the top-level comment.
+       * test/lisp/erc/erc-tests.el (erc--get-isupport-entry): Add case for
+       the empty string appearing as a value for an `erc-server-parameters'
+       item.
+       (erc-server-005): Assert compat-related behavior of retaining the
+       empty string as a valid value from a raw "FOO=" token.
+       (Bug#67220)
+
+2024-02-17  F. Jason Park  <jp@neverwas.me>
+
+       Ignore the TGT-LIST parameter in erc-open
+
+       * etc/ERC-NEWS: Mention `erc-open' now ignores TGT-LIST.
+       * lisp/erc/erc.el (erc-open): Set `erc-default-recipients' to a list
+       containing only the supplied target.  Other values may cause ERC to
+       malfunction.  Also redo doc string.
+
+2024-02-17  F. Jason Park  <jp@neverwas.me>
+
+       Make erc-fill-wrap depend on scrolltobottom
+
+       * lisp/erc/erc-fill.el (erc-fill-mode): Add reference to
+       `erc-fill-wrap-mode' in doc string.
+       (erc--fill-wrap-scrolltobottom-exempt-p): New variable to allow tests
+       involving `fill-wrap' to opt out of having to enable `scrolltobottom'.
+       (erc-fill--wrap-ensure-dependencies): Warn and enable
+       `erc-scrolltobottom-mode' if necessary.
+       (erc-fill-wrap-mode): Mention workaround for automatically enabling
+       `scrolltobottom'.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--wrap-populate):
+       Exempt tests from `scrolltobottom' dependency.
+       * test/lisp/erc/resources/erc-scenarios-common.el: Load `erc-fill'
+       when compiling.
+       (erc-scenarios-common--print-trace): Exempt tests using `fill-wrap'
+       from the `scrolltobottom' dependency by making
+       `erc--fill-wrap-scrolltobottom-exempt-p' non-nil during test runs.
+       (Bug#60936)
+
+2024-02-17  F. Jason Park  <jp@neverwas.me>
+
+       Autoload custom-loads for new Custom groups in erc.el
+
+       * lisp/erc/erc.el: Add `custom-loads' library features for group
+       symbols `erc-spelling' and `erc-imenu' since they aren't defined in
+       all supported Emacs versions.  Also add groups `erc-sasl' and
+       `erc-nicks', new libraries recently added to ERC.  Note that this is
+       unrelated to prefixes generated for the help system.  (Bug#68943)
+
+2024-02-17  F. Jason Park  <jp@neverwas.me>
+
+       Remove "erc-" prefixed Compat definitions
+
+       * lisp/erc/erc-compat.el: Remove NO-ERROR argument from top-level
+       `require' for library `compat' because it's guaranteed to be present.
+       (erc-compat-function, erc-compat-call): Redefine as obsolete aliases
+       for unprefixed namesakes.
+       * lisp/erc/erc-fill.el (erc-fill-wrap-nudge): Use `compat-call'
+       instead of `erc-compat-call'.
+
+2024-02-17  Po Lu  <luangruo@yahoo.com>
+
+       * java/debug.sh: Print errors correctly if device is ambiguous.
+
+2024-02-17  Po Lu  <luangruo@yahoo.com>
+
+       Properly record mtime after insert-file-contents on Android
+
+       * src/fileio.c (write_region): Do not verify file identity after
+       retreiving file status for the second time if st_ino is 0.
+
+2024-02-16  Po Lu  <luangruo@yahoo.com>
+
+       * src/androidvfs.c (android_scan_directory_tree): Get rid of xstrdup.
+
+2024-02-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/loadup.el (lexical-binding): Add a comment
+
+2024-02-16  Tomas Volf  <~@wolfsden.cz>  (tiny change)
+
+       When deleting output in Eshell, optionally add it to the kill ring.
+
+       * lisp/eshell/esh-mode.el (eshell-kill-output): Rename to...
+       (eshell-delete-output): ... this, for consistency with 'comint-mode',
+       and accept KILL argument.  Update callers.
+
+2024-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (tex-font-lock-keywords-1): Fix bug#68827
+
+       * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): Don't
+       apply `tex-verbatim` in comments.
+
+2024-02-15  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project-or-external-find-regexp: Fix the docstring
+
+       * lisp/progmodes/project.el (project-or-external-find-regexp):
+       Fix the docstring (bug#68958).
+
+2024-02-15  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--direct-subtypes-of-type): Remove.
+
+2024-02-15  Andrea Corallo  <acorallo@gnu.org>
+
+       Update some native comp tests
+
+       * test/src/comp-tests.el (comp-tests-ret-type-spec-13)
+       (comp-tests-ret-type-spec-35): Update.
+       * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-62)
+       (comp-cstr-test-75): Likewise.
+
+2024-02-15  Andrea Corallo  <acorallo@gnu.org>
+
+       * make use of 'cl--direct-supertypes-of-type' in the native-compiler
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--direct-supertypes): Use
+       cl--direct-supertypes-of-type.
+
+2024-02-15  Andrea Corallo  <acorallo@gnu.org>
+
+       * Add initial "Type Hierarchy" node to the elisp manual
+
+       * doc/lispref/objects.texi (Lisp Data Types, Type Hierarchy): Add
+       Type Hierarchy node.
+
+2024-02-15  Andrea Corallo  <acorallo@gnu.org>
+
+       Generate automatically graphical and textual type hierarchy 
representation
+
+       * etc/syncdoc-type-hierarchy.el: New file.
+       * doc/lispref/type_hierarchy.txt: Likewise.
+       * doc/lispref/type_hierarchy.jpg: Likewise.
+
+2024-02-15  Andrea Corallo  <acorallo@gnu.org>
+
+       * Define 'cl--type-hierarchy' and compute 'cl--typeof-types' from it
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy)
+       (cl--direct-supertypes-of-type, cl--direct-subtypes-of-type): Define.
+       (cl--typeof-types): Compute automatically.
+       (cl--supertypes-for-typeof-types): New function.
+
+2024-02-15  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS build
+
+       * configure.ac (REQUIRE_GNUISH_STRFTIME_AM_PM): Move definition
+       to...
+
+       * src/conf_post.h (REQUIRE_GNUISH_STRFTIME_AM_PM):
+       ...conf_post.h.
+
+2024-02-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Allow font-spec in 'face-font-rescale-alist' set at startup
+
+       * lisp/startup.el (startup--rescale-elt-match-p): New function.
+       (normal-top-level): Use it, instead of the naive 'string-match-p',
+       to match the default font against the elements of
+       'face-font-rescale-alist'.  Reported by Rahguzar
+       <rahguzar@zohomail.eu>.
+
+2024-02-15  Simen Heggestøyl  <simenheg@runbox.com>
+
+       Add support for reading/writing IELM input history (bug#67000)
+
+       * lisp/ielm.el (inferior-emacs-lisp-mode): Add support for saving input
+       history to a file.
+       (ielm--history-file-name): New variable indicating IELM input history
+       file.
+       (ielm--exit): Holds a function to call when Emacs is killed to write
+       out the input history.
+       (ielm--input-history-writer): Helper function for writing the IELM
+       input history out to file.
+
+       * lisp/comint.el (comint-input-ring-file-name): Improve defcustom tag.
+
+2024-02-15  Po Lu  <luangruo@yahoo.com>
+
+       Handle /assets and /content file names in `android-browse-url'
+
+       * lisp/net/browse-url.el (android-browse-url): New function.
+
+       * lisp/term/android-win.el (android-browse-url-internal): Update
+       function declaration.
+
+       * src/androidselect.c (Fandroid_browse_url): Rename to...
+       (Fandroid_browse_url_internal): ... this.
+       (syms_of_androidselect): Adjust to match.
+
+2024-02-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+       * lib/strftime.c: New file, copied from Gnulib.
+
+2024-02-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to recent Gnulib nstrftime changes
+
+       * admin/merge-gnulib (AVOIDED_MODULES): Add localename.
+       * configure.ac (REQUIRE_GNUISH_STRFTIME_AM_PM): Define.
+
+2024-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       titdic-cnv.el: Bring all definitions under the `tit-` namespace
+
+       Add a `tit-` or `tit--` prefix where necessary.  Adjust all callers.
+       I kept the old names via obsolete aliases for now, although it's 
probably not
+       worth the trouble.
+
+       * lisp/international/titdic-cnv.el: Bring all definitions under the
+       `tit-` namespace.
+       (tit-quail-cxterm-package-ext-info): Rename var from
+       `quail-cxterm-package-ext-info`.  Adjust value to new names.
+       (tit-dic-convert): Rename from `titdic-convert`.
+       (batch-tit-dic-convert): Rename from `batch-titdic-convert`.
+       (tit-quail-misc-package-ext-info): Rename var from
+       `quail-misc-package-ext-info`.  Adjust value to new names.
+       (tit--tsang-quick-converter): Rename from `tsang-quick-converter`.
+       (tit--tsang-b5-converter): Rename from `tsang-b5-converter`.
+       (tit--quick-b5-converter): Rename from `quick-b5-converter`.
+       (tit--tsang-cns-converter): Rename from `tsang-cns-converter`.
+       (tit--quick-cns-converter): Rename from `quick-cns-converter`.
+       (tit--py-converter): Rename from `py-converter`.
+       (tit--ziranma-converter): Rename from `ziranma-converter`.
+       (tit--ctlau-converter): Rename from `ctlau-converter`.
+       (tit--ctlau-gb-converter): Rename from `ctlau-gb-converter`.
+       (tit--ctlau-b5-converter): Rename from `ctlau-b5-converter`.
+       (tit-miscdic-convert): Rename from `miscdic-convert`.
+       (batch-tit-miscdic-convert): Rename from `batch-miscdic-convert`.
+       (tit-pinyin-convert): Rename from `pinyin-convert`.
+
+       * leim/Makefile.in (${leimdir}/quail/%.el, misc_convert)
+       (${srcdir}/../lisp/language/pinyin.el): Use the new names.
+
+2024-02-14  Mattias Engdegård  <mattiase@acm.org>
+
+       String hashing improvements (spread and performance)
+
+       Fix gaps in hashing coverage in the middle and end of even fairly short
+       strings.  E.g., `outline-1`, `outline-2` etc all hashed to the exact
+       same value but with the patch, there are no collisions among the ~160000
+       symbols in the Emacs tree.
+
+       This change also improves average hashing speed by using fewer mixing
+       operations.
+
+       * src/fns.c (hash_string):
+       Use unit stride for fairly short strings, while retaining the cap of 8
+       samples for long ones.
+
+       Always hash the last word to ensure that the end of the string is
+       covered.  For strings shorter than a word, use fewer loads and a single
+       reduction step.
+
+2024-02-14  Gerd Möllmann  <gerd@gnu.org>
+
+       Take file-local variables into account in elint-file (bug#69076)
+
+       * lisp/emacs-lisp/elint.el (elint-file): Use hack-local-variables.
+
+2024-02-14  Juri Linkov  <juri@linkov.net>
+
+       Detect DEFUNs as outline-minor-mode headings in Emacs sources in 
c-ts-mode.
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--outline-predicate): When
+       c-ts-mode-emacs-sources-support is t, use c-ts-mode--emacs-defun-p
+       (bug#68824).
+
+2024-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       hideif.el: Minor cleanup
+
+       * lisp/progmodes/hideif.el: Prefer #' to quote function names.
+       (hif-eval): Use `lexical-binding`.
+       (hif-ifx-regexp): Don't use `defconst` since `bovine/c.el` let-binds it.
+       (hif--intern-safe): Rename from `intern-safe` to fix this
+       namespace violation.
+       (hif-strtok): Adjust accordingly.
+
+2024-02-13  Steven Allen  <steven@stebalien.com>
+
+       Respect :lisp-dir whilst scanning for VC package dependencies
+
+       * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1):
+       Scan 'lisp-dir', if set, for lisp files instead of scanning the root
+       package directory.  (Bug#69019)
+
+2024-02-13  Philip Kaludercic  <philipk@posteo.net>
+
+       Add 'custom-variable' command
+
+       * lisp/cus-edit.el (customize-toggle-option): Add command.
+       (toggle-option): Add shorter alias for 'customize-toggle-option'.
+       * etc/NEWS: Document it.  (Bug#69079)
+
+2024-02-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix left-over from renaming 'comp-*' functions
+
+       * lisp/progmodes/elisp-mode.el (comp--write-bytecode-file): Call
+       this instead of 'comp-write-bytecode-file', its old name.
+       Reported by Arthur Miller <arthur.miller@live.com>.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify position-symbol
+
+       * src/data.c (Fposition_symbol): Simplify by calling Fbare_symbol
+       rather than open-coding it.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       XSYMBOL eassume speedups
+
+       * src/lisp.h (XSYMBOL_WITH_POS_SYM, XSYMBOL): Help the compiler by using
+       eassume instead of eassert for XSYMBOL postconditions likely to be
+       useful for optimization later.  With gcc 13.2 -O2 x86-64 this improved
+       speed on my usual “compile all .el files” benchmark by 0.7% and shrank
+       the text size of Emacs by 0.09%.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove SYMBOL_WITH_POS_{POS,SYM}
+
+       * src/fns.c (internal_equal): Turn comment into eassert
+       that !symbols_with_pos_enabled.
+       (sxhash_obj): Simplify case of symbol with pos (when enabled).
+       * src/lisp.h (XSYMBOL_WITH_POS_SYM, XSYMBOL_WITH_POS_POS)
+       (maybe_remove_pos_from_symbol): New inline functions.
+       (SYMBOL_WITH_POS_SYM, SYMBOL_WITH_POS_POS): Remove.
+       All uses replaced by the new functions.  This avoids some
+       double-checking in the source code, simplifies the code overall,
+       and avoids the need for "Type checking is done in the following
+       macro" comments to explain unusual code.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove lisp_h_XCONS etc
+
+       When configured with --enable-checking and compiled with gcc -O0,
+       these macros evaluated arguments multiple times, which made it too
+       easy to mistakenly write code that behaves differently when debugging.
+       This patch does not affect performance in normal builds.
+       In --enable-checking builds with gcc -O0 it slows down my usual
+       benchmark (remove all '*.elc’ files and then 'make') by 4.4%.
+       I hope that’s good enough; if not I can complicate the macros to
+       tune better for debugging builds.
+       * src/lisp.h (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_VAL)
+       (lisp_h_XCONS): Remove, moving each definiens to the corresponding
+       inline function.  All uses removed.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove lisp_h_PSEUDOVECTORP etc
+
+       * src/lisp.h (lisp_h_PSEUDOVECTORP, lisp_h_EQ, lisp_h_SYMBOLP):
+       Refactor by removing these macros, moving each definiens to its only
+       use.  Now that we have symbols with position so that there is no longer
+       a non-lisp_h_* macro counterpart if DEFINE_KEY_OPS_AS_MACROS, there’s
+       no need to separate these definiens from their inline function bodies.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove BASE2_EQ
+
+       * src/lisp.h (lisp_h_BASE2_EQ, BASE2_EQ): Remove.  All uses
+       removed.  BASE2_EQ was present only for minor optimization and
+       with current gcc -O2, BASE2_EQ does not affect performance, so
+       it’s not worth the hassle.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify and speed up EQ again
+
+       * src/lisp.h (lisp_h_BASE2_EQ, lisp_h_EQ): Simplify and refactor.
+       On x86-64 with GCC 3.2 this shrinks temacs text by 0.055% and
+       after removing all *.elc files speeds up 'make' by 1.0%.
+
+2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify and speed up EQ
+
+       * src/lisp.h (lisp_h_BASE2_EQ, lisp_h_EQ):
+       Simplify by testing symbols_with_pos_enabled first.
+       On x86-64 with GCC 13.2 this shrinks temacs text by 1.5%
+       and after removing all *.elc files speeds up 'make' by 1.2%.
+
+2024-02-13  Juri Linkov  <juri@linkov.net>
+
+       More changes for treesitter support of outline-minor-mode (bug#68824)
+
+       * lisp/treesit.el (treesit-outline-level): Set NAMED arg of
+       'treesit-node-at' to t.  Don't set IGNORE-MISSING arg of
+       'treesit-node-match-p' to t.
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
+       Add "singleton_method" to 'treesit-thing-settings'.
+       Set 'treesit-outline-predicate'.  Kill local variables
+       'outline-regexp' and 'outline-level'.
+
+2024-02-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add docstring for Tramp test macros
+
+       * test/lisp/net/tramp-tests.el (tramp--test-set-ert-test-documentation):
+       New defun.
+       (tramp--test-deftest-with-stat, tramp--test-deftest-with-perl)
+       (tramp--test-deftest-with-ls): Use it to define docstring.
+
+2024-02-13  Philip Kaludercic  <philipk@posteo.net>
+
+       Reuse commit message when preparing a single patch
+
+       * lisp/vc/vc.el (vc-prepare-patch): Check commit message if only
+       a single revision was selected.
+
+2024-02-13  Jim Porter  <jporterbugs@gmail.com>
+
+       Make outline.el ignore field properties in text
+
+       * lisp/outline.el (outline-back-to-heading, outline-on-heading-p)
+       (outline-next-visible-heading, outline-mark-subtree)
+       (outline-hide-sublevels, outline--insert-button)
+       (outline--fix-up-all-buttons): Inhibit field text motion (bug#68881).
+
+2024-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl--generic-describe): Refactor to ease reuse
+
+       * lisp/emacs-lisp/cl-generic.el (cl--map-methods-documentation):
+       New function, extrated from `cl--generic-describe`.
+       (cl--generic-describe): Use it.
+
+2024-02-12  Juri Linkov  <juri@linkov.net>
+
+       Tree-sitter support for outline-minor-mode (bug#68824)
+
+       * doc/emacs/text.texi (Outline Format): Add 'outline-search-function'.
+
+       * doc/lispref/elisp.texi (Top): Add new menu item "Outline Minor Mode"
+       after "Imenu".
+
+       * doc/lispref/modes.texi (Modes): Add new menu item "Outline Minor Mode"
+       after "Imenu".
+       (Major Mode Conventions): Mention "Outline Minor Mode" with @pxref.
+       (Outline Minor Mode): New node.
+
+       * doc/lispref/parsing.texi (Tree-sitter Major Modes): Mention
+       'treesit-outline-predicate' with @pxref.
+
+       * lisp/treesit.el (treesit-outline-predicate): New buffer-local 
variable.
+       (treesit-outline-predicate--from-imenu): New internal function.
+       (treesit-outline-search, treesit-outline-level): New functions.
+       (treesit-major-mode-setup): Set up treesit-outline-predicate,
+       outline-search-function and outline-level.
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--outline-predicate):
+       New internal function.
+       (c-ts-base-mode): Set 'treesit-outline-predicate' to
+       'c-ts-mode--outline-predicate'.
+
+       * lisp/progmodes/heex-ts-mode.el (heex-ts-mode): Kill inherited
+       local variables 'outline-heading-end-regexp', 'outline-regexp',
+       'outline-level'.
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove 'outline-regexp'.
+       Suggested by john muhl <jm@pub.pink>.
+
+       * lisp/textmodes/html-ts-mode.el (html-ts-mode): Kill inherited
+       local variables 'outline-heading-end-regexp', 'outline-regexp',
+       'outline-level'.
+
+2024-02-12  Mattias Engdegård  <mattiase@acm.org>
+
+       lread.c: Use bare symbol operations
+
+       * src/lread.c (read0, intern_sym, intern_driver, intern_1)
+       (intern_c_string_1, Fintern, Fintern_soft, Funintern, oblookup)
+       (map_obarray, init_obarray_once, defvar_int, defvar_bool)
+       (defvar_lisp_nopro, defvar_kboard, syms_of_lread):
+       Use the faster bare-symbol operations where provably correct to do so.
+
+2024-02-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Make minibuf-tests independent of obarray hash order
+
+       * test/src/minibuf-tests.el (minibuf-tests--set-equal): New.
+       (minibuf-tests--all-completions)
+       (minibuf-tests--all-completions-pred)
+       (minibuf-tests--all-completions-regexp): Use it.
+
+2024-02-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Internal function for obarray performance analysis (bug#68244)
+
+       * src/lread.c (Finternal__obarray_buckets): New function.
+
+2024-02-12  Philip Kaludercic  <philipk@posteo.net>
+
+       Allow using 'vc-prepare-patch' in non-VC buffers
+
+       * lisp/vc/vc.el (vc-prepare-patch): Remove
+       'vc-ensure-vc-buffer', as it is not necessary to verify this for
+       the command to work.
+
+2024-02-12  Po Lu  <luangruo@yahoo.com>
+
+       Disable exec loader when Emacs is running under an existing instance
+
+       * src/androidfns.c (syms_of_androidfns_for_pdumper): Check if
+       Emacs is running under process tracing, and if so, disable
+       android_use_exec_loader.
+
+2024-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       loaddefs-gen.el: Generate an autoload for `pcase-defmacro`
+
+       Autoload cookies on uses of `pcase-defmacro` used to copy
+       the definition wholesale instead of generating the expected autoload.
+
+       * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload):
+       Look inside `eval-and-compile` as well.
+
+2024-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (pcase): New `_` syntax in pred/app functions
+
+       The current syntax for functions in `app` and `pred` patterns
+       allows a shorthand (F ARGS) where the object being matched is
+       added as an extra last argument.  This is nice for things like
+       (pred (< 5)) but sometimes the object needs to be at
+       another position.
+       Until now you had to use (pred (lambda (x) (memq x my-list)))
+       or (pred (pcase--flip memq my-list)) in those cases.
+       So, introduce a new shorthand where `_` can be used to indicate
+       where the object should be passed: (pred (memq _ my-list))
+
+       * lisp/emacs-lisp/pcase.el (pcase--split-pred): Document new syntax
+       for pred/app functions.
+       (pcase--funcall): Support new syntax.
+       (pcase--flip): Declare obsolete.
+       (pcase--u1, \`): Use `_` instead.
+       (pcase--split-pred): Adjust accordingly.
+
+       * doc/lispref/control.texi (pcase Macro): Document new syntax
+       for pred/app functions.
+
+       * lisp/progmodes/opascal.el (pcase-defmacro):
+       * lisp/emacs-lisp/seq.el (seq--make-pcase-bindings):
+       * lisp/emacs-lisp/eieio.el (eieio):
+       * lisp/emacs-lisp/cl-macs.el (cl-struct, cl-type):
+       Use _ instead of `pcase--flip`.
+       (cl--pcase-mutually-exclusive-p): Adjust accordingly.
+
+       * lisp/emacs-lisp/map.el (map--pcase-map-elt): Declare obsolete.
+       (map--make-pcase-bindings): Use `_` instead.
+
+2024-02-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove redundant `apply` with `derived-mode-p`
+
+       * lisp/cedet/mode-local.el (mode-local-map-mode-buffers):
+       * lisp/progmodes/which-func.el (which-func-try-to-enable):
+       (which-func-ff-hook): Remove redundant 'apply' with 'derived-mode-p'.
+       Suggested by Philip Kaludercic <philipk@posteo.net>.
+
+2024-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl--generic-describe): Fix regression introduced by fix to bug#54628
+
+       Since that fix, we made other changes (put arg names in allcaps)
+       which also happen to fix bug#54628, so we can remove the original fix
+       which was suboptimal when the type includes quotes.
+
+       * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
+       Don't rebind `print-quoted` to nil.
+
+       * test/lisp/emacs-lisp/cl-generic-tests.el
+       (cl-generic-tests--print-quoted): New test.
+
+2024-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (pcase): Add buttons to the macros' defs in the docstring of `pcase`
+
+       * lisp/emacs-lisp/pcase.el (pcase--find-macro-def-regexp): New var.
+       (find-function-regexp-alist): Add entry for `pcase-macro`s.
+       (help-fns--signature): Move declaration to where we know it is valid.
+       (pcase--make-docstring): Add buttons to jump to the definition
+       of Pcase macros.
+
+2024-02-11  Philip Kaludercic  <philipk@posteo.net>
+
+       Tolerate errors while recompiling all packages
+
+       * lisp/emacs-lisp/package.el (package-recompile-all): Demote errors
+       raised by 'package-recompile'.  (Bug#68678)
+
+2024-02-11  Philip Kaludercic  <philipk@posteo.net>
+
+       Add the public API of Compat to the core
+
+       * lisp/emacs-lisp/compat.el: Add stub file with minimal definitions,
+       so that core packages, that haven't been installed from ELPA, can make
+       use of the public API and use more recent function signatures.
+       * lisp/progmodes/python.el (compat): Remove 'noerror flag, because
+       Compat can now be required without the real package being available.
+       * doc/lispref/package.texi (Forwards-Compatibility): Mention Compat
+       and link to the manual.
+       * etc/NEWS: Document change.  (Bug#66554)
+
+2024-02-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Make sure the binding shown by echo-keystrokes-help is not shadowed
+
+       And choose just one binding to display rather than two together.
+       (https://lists.gnu.org/archive/html/emacs-devel/2024-02/msg00311.html)
+
+       * lisp/help.el (help--append-keystrokes-help): New function.
+
+       * src/keyboard.c (syms_of_keyboard): Add a symbol for it.
+       (echo_dash): Use them here.
+
+2024-02-11  Andrea Corallo  <acorallo@gnu.org>
+
+       Rename a number of native compiler functions
+
+       * lisp/emacs-lisp/comp.el (comp-passes): Update.
+       (comp-mvar): Update constructor name.
+       (comp--loop-insn-in-block, comp--lex-byte-func-p)
+       (comp--spill-decl-spec, comp--spill-speed)
+       (comp--decrypt-arg-list, comp--byte-frame-size)
+       (comp--add-func-to-ctxt, comp--spill-lap-function)
+       (comp--intern-func-in-ctxt, comp--spill-lap-function)
+       (comp--spill-lap, comp--lap-eob-p, comp--lap-fall-through-p)
+       (comp--sp, comp--with-sp, comp--slot-n, comp--slot, comp-slot+1)
+       (comp--label-to-addr, comp--mark-curr-bb-closed)
+       (comp--bb-maybe-add, comp--call, comp--callref, make-comp-mvar)
+       (comp--new-frame, comp--emit, comp--emit-set-call)
+       (comp--copy-slot, comp--emit-annotation, comp--emit-setimm)
+       (comp--make-curr-block, comp--latch-make-fill)
+       (comp--emit-uncond-jump, comp--emit-cond-jump)
+       (comp--emit-handler, comp--limplify-listn, comp--new-block-sym)
+       (comp--fill-label-h, comp--jump-table-optimizable)
+       (comp--emit-switch, comp--emit-set-call-subr, comp--op-to-fun)
+       (comp--body-eff, comp--op-case, comp--limplify-lap-inst)
+       (comp--emit-narg-prologue, comp--limplify-finalize-function)
+       (comp--prepare-args-for-top-level, comp--emit-for-top-level)
+       (comp--emit-lambda-for-top-level, comp--limplify-top-level)
+       (comp--addr-to-bb-name, comp--limplify-block)
+       (comp--limplify-function, comp--limplify, comp--mvar-used-p)
+       (comp--collect-mvars, comp--collect-rhs)
+       (comp--negate-arithm-cmp-fun, comp--reverse-arithm-fun)
+       (comp--emit-assume, comp--maybe-add-vmvar)
+       (comp--add-new-block-between, comp--cond-cstrs-target-mvar)
+       (comp--add-cond-cstrs-target-block, comp--add-cond-cstrs-simple)
+       (comp--add-cond-cstrs, comp--insert-insn, comp--emit-call-cstr)
+       (comp--lambda-list-gen, comp--add-call-cstr, comp--add-cstrs)
+       (comp--collect-calls, comp--pure-infer-func, comp--ipa-pure)
+       (make--comp--ssa-mvar, comp--clean-ssa, comp--compute-edges)
+       (comp--collect-rev-post-order, comp--compute-dominator-tree)
+       (comp--compute-dominator-frontiers, comp--log-block-info)
+       (comp--place-phis, comp--dom-tree-walker, comp--ssa)
+       (comp--ssa-rename-insn, comp--ssa-rename, comp--finalize-phis)
+       (comp--remove-unreachable-blocks, comp--ssa)
+       (comp--fwprop-max-insns-scan, comp--copy-insn)
+       (comp--apply-in-env, comp--fwprop-prologue)
+       (comp--function-foldable-p, comp--function-call-maybe-fold)
+       (comp--fwprop-call, comp--fwprop-insn, comp--fwprop*)
+       (comp--rewrite-non-locals, comp--fwprop, comp--func-in-unit)
+       (comp--call-optim-form-call, comp--call-optim-func)
+       (comp--call-optim, comp--collect-mvar-ids)
+       (comp--dead-assignments-func, comp--dead-code)
+       (comp--form-tco-call-seq, comp--tco-func, comp--tco)
+       (comp--remove-type-hints-func, comp--remove-type-hints)
+       (comp--args-to-lambda-list, comp--compute-function-type)
+       (comp--finalize-container, comp--finalize-relocs)
+       (comp--compile-ctxt-to-file, comp--final1, comp--final)
+       (comp--make-lambda-list-from-subr, comp-trampoline-compile)
+       (comp--write-bytecode-file): Rename and/or update due to renaming.
+       * test/src/comp-resources/comp-test-funcs.el (comp-test-copy-insn-f): 
Update.
+       * src/comp.c (Fcomp__compile_ctxt_to_file0): Rename.
+       (syms_of_comp): Update.
+
+2024-02-11  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'min-width' display property in 'buffer-text-pixel-size'
+
+       * src/xdisp.c (display_min_width): Don't return without doing
+       anything when called from the move_it_* functions.  This is needed
+       to have functions that simulate display layout handle the
+       min-width display property correctly.  (Bug#68374)
+
+2024-02-11  Mekeor Melire  <mekeor@posteo.de>
+
+       In Info-url-alist, add .html extension to %e format-sequence
+
+       * lisp/info.el (Info-url-for-node): Implement the change. (Bug#68970)
+       (Info-url-alist): Document the change.
+       * test/lisp/info-tests.el (test-info-urls): Adjust tests to account for
+       the change and add a test for the "Top" node.
+
+2024-02-11  Po Lu  <luangruo@yahoo.com>
+
+       Fix signed/unsigned promotion errors involving Emacs_Rectangle
+
+       * src/androidterm.c (android_note_mouse_movement):
+
+       * src/pgtkterm.c (note_mouse_movement):
+
+       * src/xdisp.c (get_glyph_string_clip_rects, remember_mouse_glyph)
+       (expose_area, expose_window, gui_intersect_rectangles): Cast
+       width or height fields in Emacs_Rectangles to int before summing
+       with or subtracting them from their coordinate fields, as they
+       are unsigned outside X, and the sign of the coordinates is thus
+       not preserved.
+
+2024-02-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Fix behavior of gnus-summary-very-wide-reply with prefix arg
+
+       * lisp/gnus/gnus-msg.el (gnus-summary-very-wide-reply): If a prefix
+       argument has been given, the value of YANK will be a list containing the
+       current article number.  This should not be used to retrieve a number of
+       work articles; that should be derived from the value of the
+       current-prefix-arg (or marked articles).
+       * doc/misc/gnus.texi: The interplay of prefix arg and marked articles is
+       complex; attempt to clarify.
+
+2024-02-10  Juri Linkov  <juri@linkov.net>
+
+       * lisp/buff-menu.el: Force other-window commands to use other window.
+
+       (Buffer-menu-other-window, Buffer-menu-switch-other-window):
+       Let-bind 'display-buffer-overriding-action' to
+       '(nil (inhibit-same-window . t))' that will force the buffer
+       to be displayed in another window in any case (bug#68978).
+
+2024-02-10  Juri Linkov  <juri@linkov.net>
+
+       * lisp/menu-bar.el (menu-bar-showhide-menu): Add "Outlines" (bug#68979).
+
+       The menu item "Outlines" toggles 'outline-minor-mode' when one
+       of outline-search-function/outline-regexp/outline-level is defined
+       in the current buffer.
+
+2024-02-10  Steven Allen  <steven@stebalien.com>
+
+       Record dependencies in packages installed via package-vc
+
+       * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Record a
+       package's declared dependencies in the package's metadata
+       file.  (Bug#68761)
+
+2024-02-10  Damien Cassou  <damien@cassou.me>
+
+       Add support for deriving major modes in which-func
+
+       * lisp/progmodes/which-func.el (which-func-try-to-enable)
+       (which-func-ff-hook): Use `derived-mode-p' to check if the current major
+       mode is within `which-func-modes' or `which-func-non-auto-modes'.
+       (Bug#68981)
+
+2024-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       7d3a1444864 ; Mention defface's and their :version tags in CONTRIBUTE.
+       09c53b717d4 * admin/notes/kind-communication: New file.
+       31ca4e5501f ; And another fix of CONTRIBUTE.
+       d65499e7908 ; Another clarification in CONTRIBUTE.
+       571ec583d64 ; Clarify "ChangeLog entries" in CONTRIBUTE.
+       e2682316867 Don't skip links to "." and ".." in Dired when marking files
+       e25d11314d8 Pass unquoted filename to user-supplied MUSTMATCH predicate
+       47496993703 * doc/lispref/parsing.texi (Retrieving Nodes): Improve do...
+       d0673ea0d42 ; * etc/PROBLEMS: Workaround for Windows key "stuck" (bug...
+
+       * lisp/emacs-lisp/trace.el:
+       * java/org/gnu/emacs/EmacsWindow.java (onDragEvent): Remove
+       training whitespace.
+
+2024-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Support Info files compressed by 'lzip'
+
+       * lisp/info.el (Info-suffix-list): Support lzip compression of
+       Info files.  (Bug#69004)
+
+2024-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+       * lisp/bind-key.el (personal-keybindings): Autoload it (bug#68999).
+
+2024-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid errors in winner.el's 'post-command-hook'
+
+       * lisp/winner.el (winner-save-old-configurations): Don't save
+       configuration of dead frames.  (Bug#68977)
+
+2024-02-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix warning in tramp-register-archive-autoload-file-name-handler
+
+       * lisp/net/tramp-archive.el
+       (tramp-register-archive-autoload-file-name-handler): Do not use
+       read syntax #' for `tramp-archive-file-name-handler', it isn't
+       autoloaded.
+
+2024-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Run 'read-only-mode-hook' when visiting a file that is not writable
+
+       * lisp/files.el (after-find-file): Run 'read-only-mode-hook'
+       when the visited file is not writable.  (Bug#68648)
+
+2024-02-10  john muhl  <jm@pub.pink>
+
+       Fix volume refresh bug in mpc
+
+       * lisp/mpc.el (mpc-volume-refresh): Only refresh volume when mpd
+       is playing.  When stopped or paused, volume is nil.  (Bug#68785)
+
+2024-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Make miscellaneous improvements to the Android port
+
+       * java/org/gnu/emacs/EmacsActivity.java (onCreate): Deal with
+       omitted calls to onWindowFocusChanged after activity recreation.
+
+       * java/org/gnu/emacs/EmacsService.java (clearWindow, clearArea):
+       Delete redundant wrapper functions.
+       (getUsefulContentResolver, getContentResolverContext): Delete
+       functions.
+       (openContentUri, checkContentUri): Stop searching for an
+       activity content resolver, as that's actually not necessary.
+
+       * src/android.c (android_init_emacs_service)
+       (android_init_emacs_window, android_clear_window)
+       (android_clear_area): Adjust to match.
+
+2024-02-10  Mekeor Melire  <mekeor@posteo.de>
+
+       Add option gnus-mode-line-logo
+
+       * lisp/gnus/gnus.el (gnus-mode-line-logo): New option specifying
+       whether and which logo will be displayed in the mode-line.
+       * etc/NEWS: Announce the change.
+
+2024-02-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Add concept indices for some Eshell commands
+
+       * doc/misc/eshell.texi (List of Built-ins): Add indices for some
+       directory- and process-related commands.
+       (Aliases): Change to concept index.
+
+2024-02-10  Jim Porter  <jporterbugs@gmail.com>
+
+       In Eshell manual, put command index anchors above the item
+
+       This makes sure that when navigating to the command's documentation from
+       the index, it shows the item heading (which lists the supported
+       arguments).
+
+       * doc/misc/eshell.texi (List of Built-ins, Tramp extensions)
+       (Extra built-in commands): Adjust placement of '@cmindex'.
+
+2024-02-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Put the list of built-in Eshell commands in its own manual node
+
+       * doc/misc/eshell.texi (Built-ins): Fix capitalization of node to be
+       more consistent with the rest of the manual.  Fix a cross reference.
+       List child nodes.
+       (List of Built-ins): New section and node.
+       (Defining New Built-ins): Make this a node.  Fix capitalization.
+
+2024-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       modula2.el: Avoid font-lock-*-face variables
+
+       * lisp/progmodes/modula2.el (m3-font-lock-keywords-1)
+       (m3-font-lock-keywords-2): Refer to the font-lock faces directly
+
+2024-02-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/subr.el (with-output-to-temp-buffer): Add `indent` rule
+
+       * lisp/subr.el (read-char-from-minibuffer): Fix bug#68995
+
+2024-02-09  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp: Handle PIN requests from security keys
+
+       * doc/misc/tramp.texi (Frequently Asked Questions): Clarify FIDO entry.
+
+       * lisp/net/tramp-sh.el (tramp-actions-before-shell)
+       (tramp-actions-copy-out-of-band):
+       Use `tramp-security-key-pin-regexp'.
+
+       * lisp/net/tramp.el (tramp-security-key-pin-regexp): New defcustom.
+       (tramp-action-otp-password, tramp-read-passwd): Trim password prompt.
+       (tramp-action-show-and-confirm-message): Expand for PIN requests.
+
+2024-02-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to GNU Make 03ecd94488b85adc38746ec3e7c2a297a522598e
+
+       Problem reported by Collin Funk (Bug#68996).
+       * GNUmakefile (.): New macro.
+       (help): Use ‘$.’ instead of ‘$ ’.
+       * cross/verbose.mk.android, src/verbose.mk.in (.): New macro.
+       (AM_V_AR, AM_V_CC, AM_V_CXX, AM_V_CCLD, AM_V_CXXLD, AM_V_GEN):
+       Use ‘$.’ instead of ‘$ ’.
+       * lib-src/Makefile.in (install): Use ‘$.’ instead of ‘$ ’.
+
+2024-02-09  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
+
+       Fix treesit_traverse_get_predicate (bug#68954)
+
+       Commit d005e685e1df7692085378633348db39a5190374 should have used
+       assq_no_signal, but didn't, this commit fixes that.
+
+       * src/treesit.c (treesit_traverse_get_predicate): Replace assq_no_quit
+       with assq_no_signal.
+
+2024-02-09  Po Lu  <luangruo@yahoo.com>
+
+       Set adstyle within sfnt font objects
+
+       * src/sfntfont.c (sfntfont_open): Don't incorrectly clear
+       desc->adstyle.
+
+2024-02-09  Po Lu  <luangruo@yahoo.com>
+
+       Don't lose track of adstyles during face merging
+
+       * src/xfaces.c (merge_face_vectors): If an adstyle exists in
+       FROM, guarantee that a font spec will exist in TO with the same.
+
+2024-02-09  Justin Burkett  <justin@burkett.cc>
+
+       Format first sentences of docstrings.
+
+       Ensure a complete sentence (at least a phrase with a period at the end) 
that
+       fits on one line.
+
+2024-02-09  Jeremy Bryant  <jb@jeremybryant.net>
+
+       * lisp/which-key.el: Add two spaces in docstrings and punctation
+
+       (which-key-echo-keystrokes):
+       (which-key-popup-type):
+       (which-key-min-display-lines):
+       (which-key-side-window-location):
+       (which-key-show-early-on-C-h):
+       (which-key-allow-regexps):
+       (which-key-group-description-face):
+       (which-key-docstring-face):
+       (which-key-enable-god-mode-support):
+       (which-key-setup-minibuffer):
+       (which-key-add-keymap-based-replacements):
+       (which-key--maybe-replace):
+       (which-key--maybe-add-docstring):
+       (which-key--get-keymap-bindings):
+       (which-key-reload-key-sequence):
+
+2024-02-09  Po Lu  <luangruo@yahoo.com>
+
+       Replace a few calls to intern with constant strings
+
+       * src/fns.c (do_yes_or_no_p, Fyes_or_no_p): Use symbol globals
+       rather than intern.
+       (syms_of_fns) <Qyes_or_no_p, Qy_or_n_p>: New symbols.
+
+       * src/lread.c (readevalloop): Use symbol global.
+       (syms_of_lread) <Qinternal_macroexpand_for_load>: New symbol.
+
+2024-02-08  Liu Hui  <liuhui1610@gmail.com>
+
+       Respect the delimiter of completer in Python shell completion
+
+       * lisp/progmodes/python.el: (python-shell-completion-setup-code): Fix
+       the completion code of IPython.  Change the return value to JSON string
+       and ...
+       (python-shell-completion-get-completions): ... simplify parsing.
+       (inferior-python-mode): Update docstring.
+       (python-shell-readline-completer-delims): New variable indicating the
+       word delimiters of readline completer.
+       (python-shell-completion-native-setup): Set the completer delimiter.
+       (python-shell-completion-native-get-completions): Convert output string
+       to completions properly.
+       (python-shell--get-multiline-input)
+       (python-shell--extra-completion-context)
+       (python-shell-completion-extra-context): New functions.
+       (python-shell-completion-at-point): Send text beginning from the line
+       start if the completion backend does not need word splitting.  Remove
+       the detection of import statement because it is not needed anymore.
+       Create proper completion table based on completions returned from
+       different backends.
+
+       * test/lisp/progmodes/python-tests.el (python-tests--completion-module)
+       (python-tests--completion-parameters)
+       (python-tests--completion-extra-context): New helper functions.
+       (python-shell-completion-at-point-jedi-completer)
+       (python-shell-completion-at-point-ipython): New tests.  (bug#68559)
+
+2024-02-08  USAMI Kenta  <tadsan@zonu.me>
+
+       Fix 'browse-url-url-at-point' so that scheme does not duplicate
+
+       * lisp/net/browse-url.el (browse-url-url-at-point): Prepend
+       the default scheme only if no scheme present.  (Bug#68913)
+
+2024-02-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       `file-remote-p' must not return an error
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
+       `file-remote-p' must not return an error.  (Bug#68976)
+
+2024-02-08  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/touch-screen.el (touch-screen): Fix defgroup version.
+
+2024-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Prevent echo area help message from being printed repeatedly
+
+       * src/keyboard.c (echo_dash): Detect echo_keystrokes_help
+       messages and return if they be present.
+
+2024-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix earlier change to keyboard.c
+
+       * src/keyboard.c (echo_dash): Do not pass automatic string to
+       Lisp!
+       (syms_of_keyboard) <echo_keystrokes_help>: Improve doc string.
+
+2024-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port better to Autoconf 2.72
+
+       * configure.ac: Set ac_cv_type_gid_t=yes to pacify Autoconf 2.72
+       AC_TYPE_GETGROUPS.  Problem reported by Nick Bowler in:
+       https://lists.gnu.org/r/autoconf-patches/2024-02/msg00001.html
+
+2024-02-07  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Mention 'C-h' in echo for unfinished commands
+
+       * etc/NEWS: Mention it here.
+
+       * lisp/cus-start.el (standard): Add type and version for it.
+
+       * src/keyboard.c (echo-keystrokes-help): New user option
+       (https://lists.gnu.org/archive/html/emacs-devel/2024-02/msg00174.html).
+
+       * src/keyboard.c (echo_dash): Use it.
+
+2024-02-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve wording of message in buff-menu.el
+
+       * lisp/buff-menu.el (Buffer-menu--selection-message): Improve
+       wording of selection messages.
+
+2024-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (file-notify--test-wait-event): Rename from 
`file-notify--test-read-event`
+
+       * test/lisp/filenotify-tests.el (file-notify--test-wait-event):
+       Rename to better reflect its purpose rather than
+       its implementation.  Also make it return nil so callers won't be
+       tempted to use the return value.
+
+2024-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Prefer \` and \' when matching the beg/end of string
+
+       * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case)
+       (tramp-test01-file-name-syntax): Use more precise regexp
+
+2024-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * test/lisp/minibuffer-tests.el (completion-test--pcm-bug38458): New 
test
+
+2024-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Use `defvar` for variables that are not constant
+
+       * test/lisp/international/mule-tests.el (sgml-html-meta-pre)
+       (sgml-html-meta-post):
+       * test/lisp/net/tramp-archive-tests.el (tramp-archive-test-file-archive)
+       (tramp-archive-test-archive):
+       * test/lisp/emacs-lisp/macroexp-resources/vk.el (vk-b):
+       Don't use `defconst` if it's not constant.
+
+2024-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Use slot names rather than their :initargs
+
+       * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
+       (eieio-test-39-clone-instance-inheritor-with-args):
+
+       * test/lisp/auth-source-tests.el (auth-source-ensure-ignored-backend)
+       (auth-source-backend-parse-macos-keychain)
+       (auth-source-backend-parse-macos-keychain-generic-string)
+       (auth-source-backend-parse-macos-keychain-internet-string)
+       (auth-source-backend-parse-macos-keychain-internet-symbol)
+       (auth-source-backend-parse-macos-keychain-generic-symbol)
+       (auth-source-backend-parse-macos-keychain-internet-default-string)
+       (auth-source-backend-parse-plstore, auth-source-backend-parse-netrc)
+       (auth-source-backend-parse-netrc-string)
+       (auth-source-backend-parse-secrets)
+       (auth-source-backend-parse-secrets-strings)
+       (auth-source-backend-parse-secrets-alias)
+       (auth-source-backend-parse-secrets-symbol)
+       (auth-source-backend-parse-secrets-no-alias):
+       Use slot names rather than their :initargs.
+
+2024-02-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Don't compile lib/copy-file-range.c on MS-Windows
+
+       * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_copy-file-range): Set to
+       true to avoid compiling copy-file-range.c on MS-Windows.  The
+       function 'copy_file_range' is not used on MS-Windows, while
+       compiling the file triggers warnings because lib/unistd.h, where
+       its prototype is declared, is omitted in the MS-Windows build.
+
+2024-02-07  Po Lu  <luangruo@yahoo.com>
+
+       Fix DEBUG_THREADS in the Android port
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService): New field
+       `mainThread'.
+       (onCreate): Set `mainThread' to the thread where the service's
+       looper executes.
+       (checkEmacsThread): Compare against SERVICE.mainThread.
+
+2024-02-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Declare function properties in Tramp
+
+       * lisp/net/tramp-message.el (tramp-backtrace, tramp-error)
+       (tramp-error-with-buffer, tramp-user-error):
+       Declare `tramp-suppress-trace' property.
+
+2024-02-07  Wilhelm Kirschbaum  <wkirschbaum@gmail.com>
+
+       elixir-ts-mode: Highlight more method definitions
+
+       * lisp/progmodes/elixir-ts-mode.el (elixir-ts--font-lock-settings):
+       Also highlight method definitions where the arguments are literal
+       values, not identifiers (bug#67246).
+
+2024-02-07  Dmitry Gutov  <dmitry@gutov.dev>
+
+       elixir-ts-mode: Bring the faces' use closer to other ts modes
+
+       * lisp/progmodes/elixir-ts-mode.el (elixir-ts--font-lock-settings):
+       Rename feature 'elixir-function-name' to 'elixir-definition' and
+       update all deferences.  Add parameters' highlighting with
+       font-lock-variable-name-face.  Change variable references'
+       highlighting to use font-lock-variable-use-face.
+       Move the feature 'elixir-variable' from feature level 3 to level 4, to
+       match other ts modes (bug#67246).
+
+2024-02-07  Wilhelm Kirschbaum  <wkirschbaum@gmail.com>
+
+       Add access_call fontification to elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--font-lock-settings):
+       Add access_call queries to the elixir-variable feature (bug#67246).
+
+2024-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (loaddefs-generate--compute-prefixes): Fix thinko in last change
+
+       * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--compute-prefixes):
+        Fix thinko in last change.  Also,       reduce memory allocation.
+
+2024-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (loaddefs-generate--parse-file): Be a bit more defensive
+
+       * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--parse-file):
+       Don't fail in case of an error while generating the prefixes.
+       (loaddefs-generate--compute-prefixes): Don't burp when
+       `read-from-string` returns something else than a symbol.
+
+2024-02-06  Juri Linkov  <juri@linkov.net>
+
+       Use new variable Buffer-menu-show-internal in project-list-buffers.
+
+       * lisp/progmodes/project.el (project-list-buffers): Add the new variable
+       `Buffer-menu-show-internal' used to toggle internal buffers (bug#68949).
+
+2024-02-06  Mattias Engdegård  <mattiase@acm.org>
+
+       Rearrange and pack hash table fields to reduce space
+
+       * src/lisp.h (struct Lisp_Hash_Table): Move and reduce width of fields
+       where possible; this saves an entire word at no apparent cost.
+
+2024-02-06  Mattias Engdegård  <mattiase@acm.org>
+
+       Change hash range reduction from remainder to multiplication
+
+       This makes both lookups and rehashing cheaper.  The index vector size
+       is now always a power of 2.  The first table size is reduced to
+       6 (from 8), because index vectors would become excessively big
+       otherwise.
+
+       * src/lisp.h (struct Lisp_Hash_Table): Replace index_size with
+       index_bits.  All references adapted.
+       (hash_table_index_size): New accessor; use it where applicable.
+       * src/fns.c (hash_index_size): Replace with...
+       (compute_hash_index_bits): ...this new function, returning the log2 of 
the
+       index size.  All callers adapted.
+       (hash_index_index): Knuth multiplicative hashing instead of remainder.
+       (maybe_resize_hash_table): Reduce first table size from 8 to 6.
+
+2024-02-06  Mattias Engdegård  <mattiase@acm.org>
+
+       Optionally show internal buffers in Buffer Menu mode
+
+       Internal buffers were never shown before but they can be of interest
+       to Elisp developers, especially since there is no general mechanism to
+       remove unused buffers.
+
+       * lisp/buff-menu.el (Buffer-menu-show-internal)
+       (Buffer-menu--selection-message, Buffer-menu-toggle-internal): New.
+       (Buffer-menu-mode-map): Bind to `I`.
+       (Buffer-menu-mode-menu): Add menu entry.
+       (list-buffers--refresh): Extend filtering logic.
+       * etc/NEWS: Announce.
+
+2024-02-06  Po Lu  <luangruo@yahoo.com>
+
+       Implement Lisp threading on Android
+
+       Much like the NS port, only the main thread receives input from
+       the user interface, which is fortunately not a major problem for
+       packages such as lsp-mode that create Lisp threads.
+
+       * configure.ac: Enable with_threads under Android.
+
+       * src/android.c (android_init_events): Set `main_thread_id' to
+       the ID of the main thread.
+       (setEmacsParams): Set new global variable `android_jvm' to the
+       JVM object, for the purpose of attaching Lisp threads to the
+       JVM.
+       (android_select): [THREADS_ENABLED]: If the caller isn't the
+       main thread, resort to pselect.  Don't check query before select
+       returns.
+       (android_check_query): Export.
+
+       * src/android.h (_ANDROID_H_): Define new macro and update
+       prototypes.
+
+       * src/process.c (android_select_wrapper): New function.
+       (wait_reading_process_output): If THREADS_ENABLED, call
+       thread_select through the Android select wrapper.
+
+       * src/thread.c (post_acquire_global_lock): Call
+       android_check_query; replace android_java_env with the incoming
+       Lisp thread's.
+       (run_thread): Attach and detach the thread created to the JVM.
+       (init_threads): Set the main thread's JNI environment object.
+
+       * src/thread.h (struct thread_state) <java_env>: New field.
+
+2024-02-06  Po Lu  <luangruo@yahoo.com>
+
+       Don't forcibly display dialogs on Android if a keyboard is present
+
+       * java/org/gnu/emacs/EmacsService.java (detectKeyboard): New
+       function.
+
+       * lisp/subr.el (use-dialog-box-p): Don't always return t if a
+       keyboard is present on Android.
+
+       * src/android.c (android_init_emacs_service): Link to new
+       function.
+       (android_detect_keyboard): New function.
+
+       * src/android.h: Update prototypes.
+
+       * src/androidfns.c (Fandroid_detect_keyboard)
+       (syms_of_androidfns): New function.
+
+2024-02-06  Yuan Fu  <casouri@gmail.com>
+
+       Use treesit-node-match-p in treesit-parent-while
+
+       The previous commit should've done this, but I missed it.
+
+       * lisp/treesit.el (treesit-parent-while): Use treesit-node-match-p.
+
+2024-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Prefer `ITREE_FOREACH` over `overlays_in`
+
+       Use `ITREE_FOREACH` instead of `overlays_in` if that can save us from
+       allocating an array.
+
+       * src/buffer.c (overlays_in): Mark as static.
+       (mouse_face_overlay_overlaps): Use `ITREE_FOREACH` instead of 
`overlays_in`.
+       (disable_line_numbers_overlay_at_eob): Same, and also change return
+       value to a boolean.
+       * src/buffer.h (overlays_in): Don't declare.
+       * src/editfns.c (overlays_around): Delete function.
+       (Fget_pos_property): Use `ITREE_FOREACH` and keep the "best so far"
+       instead of using `overlays_in` and sorting the elements.
+
+       * src/lisp.h (disable_line_numbers_overlay_at_eob): Change return
+       type to a boolean.
+       * src/xdisp.c (should_produce_line_number): Adjust accordingly.
+
+2024-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (gitmerge-mode-font-lock-keywords): Don't use font-lock-*-face vars
+
+       * admin/gitmerge.el (gitmerge-mode-font-lock-keywords): Refer to the
+       faces directly.
+
+2024-02-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Grudgingly accept function values in the function position
+
+       * lisp/emacs-lisp/cconv.el (cconv-convert):
+       Warn about (F ...) where F is a non-symbol function value (bytecode
+       object etc), but let it pass for compatibility's sake (bug#68931).
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--fun-value-as-head):
+       New test.
+
+2024-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (edebug-signal): Simplify
+
+       Also, prefer #' to quote function names.
+
+       * lisp/emacs-lisp/edebug.el (edebug-signal): Instead of re-signaling
+       the error, let `signal_or_quit` continue processing it.
+
+2024-02-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp.el (tramp-local-host-regexp): Adapt :version.
+
+2024-02-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt cache handling in Tramp
+
+       * lisp/net/tramp-cache.el (with-tramp-saved-file-property)
+       (with-tramp-saved-file-properties)
+       (with-tramp-saved-connection-property)
+       (with-tramp-saved-connection-properties): Do not change KEY
+       destructively.
+
+2024-02-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix stale cache in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
+       Flush file properties in time.  (Bug#68805)
+
+2024-02-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix frame focus tracking under Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (invalidateFocus): New
+       argument WHENCE, a unique number identifying the circumstances
+       leading up to the call.  All callers changed.
+       (attachWindow): Call `invalidateFocus' from the UI thread.
+       (onWindowFocusChanged): Don't remove activity from
+       `focusedActivities' if it already exists should `hasWindowFocus'
+       return true.
+
+2024-02-05  Po Lu  <luangruo@yahoo.com>
+
+       Don't respect ROUND_XY_TO_GRID when decomposing uninterpreted glyph
+
+       * src/sfnt.c (sfnt_decompose_compound_glyph): Remove useless
+       code; don't pretend to round glyph coordinates.
+
+2024-02-05  Xi Lu  <lx@shellcodes.org>
+
+       filesets: Safely invoke `shell-command*' functions
+
+       * lisp/filesets.el:
+       (filesets-select-command, filesets-quote): Remove unused functions.
+       (filesets-external-viewers): Remove old comments.
+       (filesets-which-command, filesets-get-quoted-selection)
+       (filesets-spawn-external-viewer): Use `shell-quote-argument'.  
(Bug#61709)
+
+2024-02-05  Jim Porter  <jporterbugs@gmail.com>
+
+       Document arguments to Eshell's built-in commands
+
+       * lisp/eshell/em-unix.el (eshell/ln): LINK_NAME is required.
+
+       * lisp/eshell/esh-ext.el (eshell/addpath):
+       * lisp/eshell/esh-var.el (eshell/env): Improve help strings slightly.
+
+       * doc/misc/eshell.texi (Scripts): Explain $0, $1, etc.
+       (Dollars Expansion): Use "@dots{}" instead of "...".
+       (Built-ins, Tramp extensions, Extra built-in commands): Document
+       command-line arguments.
+
+2024-02-05  Yuan Fu  <casouri@gmail.com>
+
+       Use treesit-node-match-p in treesit-parent-until/while
+
+       * lisp/treesit.el (treesit-parent-until): Use treesit-node-match-p.
+       (treesit-parent-while): Update docstring.
+       * doc/lispref/parsing.texi (Retrieving Nodes): Update docstring.
+
+2024-02-05  Yuan Fu  <casouri@gmail.com>
+
+       Improve treesit-forward-sexp behavior for leaf nodes (bug#68899)
+
+       treesit-forward-sexp uses treesit--navigate-thing with 'restricted'
+       tactic.  In this tactic we don't move over the parent thing.  However,
+       this makes forward-sexp useless for symbols when point is in the
+       symbol rather than at the beginning of it: in that case, the symbol is
+       considered parent and treesit-forward-sexp won't move to the end of
+       it.
+
+       To solve that, we allow to move across the parent even in 'restricted'
+       mode if the parent is a leaf thing.
+
+       Here, "leaf thing" is defined as "doesn't have any child 'thing'
+       inside it".
+
+       * lisp/treesit.el (treesit--navigate-thing): Move over parent in
+       'restricted' tactic if the parent is a leaf thing.
+
+2024-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/comp.el (comp--native-compile): Use 
`error-message-string`
+
+2024-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/lread.c (bytecode_from_rev_list): Fix assertion failure
+
+       The assertion failure was raised at lread.c:411 during the
+       `lread-invalid-bytecodes` test in `test/src/lread-tests.el`.
+       I suspect we could remove the assertion instead.
+
+2024-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/lread.c (build_load_history): Be careful with in-place updates
+
+       Don't leave a "broken" value in `Vcurrent_load_list`.
+
+2024-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/window.c (set_window_buffer): Flush the `base_line_number` cache
+
+2024-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (w->base_line_number): Rework the way we flush the cache
+
+       * src/xdisp.c (BASE_LINE_NUMBER_VALID_P): New macro.
+       (try_scrolling): Use it.
+       (redisplay_window, Fformat_mode_line): Use it to flush the
+       base_line_number (if it's stale) once at the beginning.
+       (decode_mode_spec): Don't use (or set) `w->start` and
+       `w->base_line_number` when operating on another buffer!
+
+2024-02-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer setq-local in more places
+
+       * lisp/erc/erc-compat.el (erc-set-write-file-functions):
+       * lisp/obsolete/iswitchb.el (iswitchb-minibuffer-setup-hook)
+       (iswitchb-minibuffer-setup):
+       * lisp/obsolete/longlines.el (longlines-mode):
+       * lisp/obsolete/rcompile.el (remote-compile):
+       * lisp/progmodes/cperl-mode.el (cperl-file-style):
+       * test/lisp/erc/erc-tests.el (erc-ring-previous-command):
+       Prefer setq-local.
+
+2024-02-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Prevent cache of diff-mode buffers to grow without bounds
+
+       Previously, these " *diff-syntax:..." buffers were never removed.
+       Now we discard the least recently used half of them every hour.
+
+       * lisp/vc/diff-mode.el (diff--cached-revision-buffers)
+       (diff--cache-clean-interval, diff--cache-clean-timer, diff--cache-clean)
+       (diff--cache-schedule-clean, diff--get-revision-properties): New.
+       (diff-syntax-fontify-hunk): Use diff--get-revision-properties.
+
+2024-02-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       * lisp/speedbar.el (imenu): Require unconditionally.
+
+2024-02-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete compat code in `url` library
+
+       * lisp/url/url-cid.el (url-cid): Delete compat code for ancient Gnus.
+       * lisp/url/url-ldap.el (url-ldap-certificate-formatter): Delete compat
+       code; ssl.el has never been in Emacs.
+       * lisp/url/url-mailto.el (url-mail): Make into alias for 'message-mail',
+       since it is always fboundp.
+
+2024-02-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add alias progress-reporter-make
+
+       * lisp/subr.el (progress-reporter-make): New alias for
+       'make-progress-reporter'.
+
+2024-02-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix display of invisible text with opposite directionality
+
+       * src/xdisp.c (handle_invisible_prop): Skip invisible text
+       correctly when it starts at position whose resolved bidi level is
+       above the base paragraph level.  (Bug#68446)
+
+2024-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       tramp: Tweak the ls-lisp declarations
+
+       * lisp/net/tramp-sh.el (ls-lisp-use-insert-directory-program): Don't
+       declare its existence...
+       (tramp-sh-handle-insert-directory): ...test it instead.
+
+       * lisp/net/tramp.el (ls-lisp-dirs-first, ls-lisp-emulation)
+       (ls-lisp-ignore-case, ls-lisp-use-insert-directory-program)
+       (ls-lisp-verbosity): Move declaration...
+       (tramp-handle-insert-directory): ...to the point where we have a good
+       reason to think these variables exist.
+
+2024-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring): Add 
comment
+
+       * doc/emacs/buffers.texi (List Buffers): Update example
+
+2024-02-04  Richard M Stallman  <rms@gnu.org>
+
+       bytecomp.el: Warn for `,' not within backquote construct
+
+       (bytecomp--report-comma): New function with `compiler-macro' property.
+
+2024-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       textconv.c: Fix warnings with-wide-int
+
+       * src/textconv.c (set_composing_region, textconv_set_point_and_mark):
+       Use `min/max`.
+
+2024-02-03  João Távora  <joaotavora@gmail.com>
+
+       Fix prefix discovery for files with read-symbol-shorthands (bug#67325)
+
+       In a previous commit, the local-variable read-symbol-shorthands is
+       already read into the temporary buffer used for the autoload parsing
+       aerobatics, so all we needed to do in 'l-g--compute-prefixes' is
+       use 'read' to give 'read-symbol-shorthands' a chance to kick in.
+
+       * lisp/emacs-lisp/loaddefs-gen.el
+       (loaddefs-generate--compute-prefixes):
+
+2024-02-03  João Távora  <joaotavora@gmail.com>
+
+       Also teach loaddefs-gen.el about shorthands (bug#63480)
+
+       * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--parse-file):
+       Make aware of read-symbol-shorthands.
+
+2024-02-03  João Távora  <joaotavora@gmail.com>
+           Jonas Bernoulli  <jonas@bernoul.li>
+           Joseph Turner  <joseph@ushin.org>
+
+       Improve shorthands-font-lock-shorthands (bug#67390)
+
+       Add font locking to the shorthand prefix of a given printed symbol
+       name by checking if any of the shorthand prefixes in
+       read-symbol-shorthands are a prefix for that print name.  Although
+       this does more string comparisons, it didn't prove to be any slower
+       than the existing approach, and is more correct.
+
+       This version is more accurate when highlighting files with many
+       overlapping shorthands.   Given:
+
+       ;; Local Variables:
+       ;; read-symbol-shorthands: (("bc-" . "breadcrumb-")
+       ;;                          ("aw-" . "ace-window-")
+       ;;                          ("zorglub/" . "ace-window-")
+       ;;                          ("he//" . "hyperdrive-entry--")
+       ;;                          ("h//"  . "hyperdrive--")
+       ;;                          ("he/"  . "hyperdrive-entry-")
+       ;;                          ("h/"   . "hyperdrive-"))
+       ;; End:
+
+       The following are correct highlights on print names
+
+       '(zorglub/blerh ; hilits "zorglub/" reads to 'ace-window-blerh'
+         he/foo        ; hilits "he/"      reads to 'hyperdrive-entry-foo'
+         he//bar       ; hilits "he//"     reads to 'hyperdrive-entry--bar'
+         h/coiso       ; hilits "h/"       reads to 'hyperdrive-coiso'
+         h//thingy     ; hilits "h//"      reads to 'hyperdrive--thingy'
+         bc-yo         ; hilits "bc-"      reads to 'breadcrumb-yo'
+         aw-thingy     ; hilits "aw-"      reads to 'ace-window-thingy'
+         )
+
+
+       * lisp/emacs-lisp/shorthands.el (shorthands-font-lock-shorthands):
+
+2024-02-03  João Távora  <joaotavora@gmail.com>
+
+       Consider read-symbol-shorthands in check-declare.el (bug#67523)
+
+       * lisp/emacs-lisp/check-declare.el (check-declare-verify):
+       Consider read-symbol-shorthands.
+
+2024-02-03  João Távora  <joaotavora@gmail.com>
+
+       Process read-symbol-shorthands from longest to shortest (bug#67390)
+
+       This ensures that overlapping shorthands are handled correctly and
+       consistently even if specified out-of-order by the user.
+
+       * doc/lispref/symbols.texi (Shorthands): Describe shorthand sort
+       order.
+
+       * lisp/files.el (hack-local-variables--find-variables): Specially
+       handle read-symbol-shorthands.
+
+2024-02-03  João Távora  <joaotavora@gmail.com>
+
+       Make sure read-symbol-shorthands is permanently local
+
+       bug#63480, bug#67390
+
+       * lisp/files.el (permanently-enabled-local-variables): Add
+         read-symbol-shorthands.
+
+2024-02-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b91f0ee2fcc ; Fix last change
+       2f69353e4a7 Fix incompatibility with tree-sitter-javascript >= 0.20.2
+       d49124fc14b Avoid signaling errors from 'pixel-fill-region'
+       a3987127618 eglot: Add nushell language server
+       5f56bc1cdfc eglot: Add php-ts-mode to eglot-server-programs
+       c14c978e3b1 Support kotlin-ts-mode in Eglot
+
+2024-02-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       5ce02c91bc1 Improve `desktop-save-mode` docstring
+       2f98b13ed05 ; Fix doc strings of splash-screen data structures
+       77f5d4d523a Fix completing-read functional REQUIRE-MATCH behavior
+
+2024-02-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix downcasing of mode-name in compile.el
+
+       * lisp/progmodes/compile.el (compilation--downcase-mode-name): New
+       function.
+       (compilation-start, kill-compilation): Use it instead of calling
+       'downcase' on 'mode-name'.  (Bug#68795)
+
+2024-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify gcc -Wpointer-sign
+
+       * src/print.c (print_object): SDATA → SSDATA.
+
+2024-02-03  F. Jason Park  <jp@neverwas.me>
+
+       Reassociate erc-networks--id for orphaned queries
+
+       * lisp/erc/erc-networks.el (erc-networks--examine-targets): Adopt the
+       server's network ID in query buffers created before MOTD's end.  Do
+       this to avoid a type error in the process filter when renaming
+       buffers.
+       * lisp/erc/erc-networks.el (erc-networks--examine-targets): New test.
+       * test/lisp/erc/erc-scenarios-base-upstream-recon-znc.el
+       (erc-scenarios-upstream-recon--znc/severed): New test.
+       * test/lisp/erc/erc-scenarios-misc.el
+       (erc-scenarios-base-mask-target-routing): Adjust timeout.
+       * test/lisp/erc/resources/base/upstream-reconnect/znc-severed.eld:
+       New file.
+       * test/lisp/erc/resources/erc-tests-common.el
+       (erc-tests-common-make-server-buf): Use NAME parameter for creating
+       ID.
+
+2024-02-03  F. Jason Park  <jp@neverwas.me>
+
+       Fix local variable persistence in erc-stamp
+
+       * etc/ERC-NEWS: Mention renaming of `erc-munge-invisible-property'.
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-disable): Remove
+       correct function from `erc-mode-hook'.
+       (erc-stamp--recover-on-reconnect): Revise doc string.
+       (erc-munge-invisibility-spec, erc-stamp--manage-local-options-state):
+       Mark former name as obsolete and rename to latter.  Don't use helper
+       macro meant only for local modules.  This bug originated from c68dc778
+       "Manage some text props for ERC insertion-hook members", which stemmed
+       from bug#60936.
+       (erc-stamp--setup, erc-hide-timestamps, erc-show-timestamps)
+       (erc-toggle-timestamps): Use new name for
+       `erc-munge-invisibility-spec'.
+       * lisp/erc/erc.el (erc--restore-initialize-priors): Raise error at
+       runtime if mode var doesn't belong to a local module.
+       * test/lisp/erc/erc-stamp-tests.el (erc-stamp-tests--insert-right)
+       (erc-timestamp-intangible--left): Use new name for
+       `erc-munge-invisibility-spec'.
+       * test/lisp/erc/erc-tests.el (erc--refresh-prompt): Shadow
+       `erc-last-input-time'.
+       (erc--restore-initialize-priors): Add error form to expected
+       expansion, and skip test on Emacs 27.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common--make-bindings): Shadow `erc-last-input-time'.
+
+2024-02-03  F. Jason Park  <jp@neverwas.me>
+
+       Teach customize-option about erc-modules
+
+       * lisp/erc/erc-goodies.el (erc-scrolltobottom-mode)
+       (erc-scrolltobottom-enable): Use `setq' instead of `setopt' because
+       the latter isn't defined in Emacs 27 and 28.  This fix is unrelated to
+       the main thrust of this commit.
+       * lisp/erc/erc.el (erc-modules): Make good on decades old language in
+       info node "(erc) Modules" by ensuring `customize-option' can find this
+       option before its containing library is loaded.  Like
+       `gnus-select-method', this option serves as an entry point for
+       configuring the application and is presented that way in tutorials and
+       library front matter.  Moreover, it can't be reasonably autoloaded in
+       the traditional way because of its many dependencies and large textual
+       footprint.
+       (erc-display-message): Revise doc string.
+
+2024-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cperl-mode.el: Don't use obsolete `special-display-popup-frame`
+
+       * lisp/progmodes/cperl-mode.el (cperl-info-on-command): Simplify,
+       to let `pop-to-buffer` decide whether to create a new frame or not,
+       so it can be controlled by `display-buffer-alist`.
+
+2024-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       bytecomp.el: Rewrite the way we print dynamic docstrings
+
+       We used to print dynamic docstrings "manually" for two reasons:
+
+       - References should look like `(#$ . POS)` but `prin1` was unable
+         to print just `#$` for an sexp.
+       - `make-docfile` needed to find those docstrings and the object
+         to which they belonged.
+
+       The second point is moot now that we don't use `make-docfile` on
+       `.elc` files.  So this patch lifts the first restriction,
+       using `print-number-table`.
+
+       The rest of the patch then simplifies and regularises the
+       bytecompiler's generation of dynamic docstrings, which can
+       now also easily be done for "inner" defvars and other places.
+
+       * src/print.c (print_preprocess, print_object): Handle strings in
+       `print-number-table`.
+       (Vprint_number_table): Improve docstring.
+
+       * lisp/emacs-lisp/bytecomp.el:
+       (byte-compile--list-with-n): New function.
+       (byte-compile--docstring-style-warn): Rename from
+       `byte-compile-docstring-style-warn` and change calling convention.
+       (byte-compile--\#$, byte-compile--docstrings): New vars.
+       (byte-compile-close-variables): Bind them.
+       (byte-compile--docstring): New function.
+       (byte-compile-from-buffer): Set `byte-compile--\#$`.
+       (byte-compile-output-file-form): Use `byte-compile--\#$` instead
+       of special casing specific forms.
+       (byte-compile--output-docform-recurse, byte-compile-output-docform):
+       Delete functions.
+       (byte-compile-file-form-autoload, byte-compile-file-form-defalias)
+       (byte-compile-file-form-defvar-function, byte-compile-lambda):
+       Use `byte-compile--docstring` and `byte-compile--list-with-n`.
+       (byte-compile--declare-var): Add optional `not-toplevel` arg.
+       (byte-compile-defvar): Add `toplevel` arg.  Use 
`byte-compile--docstring`.
+       (byte-compile-file-form-defvar): Delegate to `byte-compile-defvar`.
+       (byte-compile--custom-declare-face): New function.  Use it for
+       `custom-declare-face`.
+       (byte-compile-file-form-defmumble): Use `byte-compile-output-file-form`
+
+       * src/doc.c (Fdocumentation_stringp): New function.
+       (syms_of_doc): Defsubr it.
+       (store_function_docstring): Remove left-over code from when we
+       used DOC for the docstring of some Lisp files.
+
+       * lisp/cus-face.el (custom-declare-face): Accept dynamic docstrings.
+       * lisp/faces.el (face-documentation): Handle dynamic docstrings.
+       * lisp/help-fns.el (describe-face): Simplify accordingly.
+
+2024-02-02  Eli Zaretskii  <eliz@gnu.org>
+
+       New function 'sort-on'
+
+       * lisp/sort.el (sort-on): New function.  Patch by John Wiegley
+       <jwiegley@gmail.com>.
+
+       * etc/NEWS:
+       * doc/lispref/sequences.texi (Sequence Functions): Document
+       'sort-on'.
+
+2024-02-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Increase `emacs-lisp-docstring-fill-column` to 72
+
+       Monitors are wider now than when these defaults were first set, and it
+       is useful to take better advantage of that, to fit text on fewer lines.
+       Yet, it has repeatedly been shown that overly long lines reduce
+       readability:
+          "A reasonable guideline would be 55 to 75 characters per line."[1]
+
+       We also don't want to disfavor narrow displays, like mobile phones; a
+       more promising direction here might be to automatically word wrap
+       docstrings and make their maximum width customizable.  That might
+       require a new docstring format, however.
+
+       Bumping it by 7 characters, from 65 to 72, seems a reasonable compromise
+       for now.  Consideration was given to increasing it to 70 or 75, but 72
+       happens to be a commonly recommended maximum line width elsewhere (see
+       Fortran 66, Python docstrings, commit message recommendations, etc.),
+       and we might as well do the same.
+
+       This change was discussed in:
+       https://lists.gnu.org/r/emacs-devel/2022-07/msg00217.html
+
+       [1] "Optimal Line Length in Reading — A Literature Review", Nanavati and
+           Bias, Visible Language, Vol. 39 No. 2 (2005).
+           https://journals.uc.edu/index.php/vl/article/view/5765
+
+       * lisp/emacs-lisp/lisp-mode.el (emacs-lisp-docstring-fill-column):
+       * .dir-locals.el (fill-column, emacs-lisp-docstring-fill-column):
+       Bump default to 72.
+
+2024-02-01  Juri Linkov  <juri@linkov.net>
+
+       * lisp/simple.el (read-from-kill-ring): Ignore `read-only' text 
property.
+
+       Add `read-only' to the list of text properties removed from history 
items
+       (bug#68847).
+
+2024-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/lread.c (bytecode_from_rev_list): Fix thinko
+
+2024-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/lread.c (bytecode_from_rev_list): Re-group checks
+
+       Bring together all the conditions for well-formedness of the resulting
+       bytecode object.
+
+2024-02-01  Thierry Volpiatto  <thievol@posteo.net>
+
+       Fix search error in woman.el
+
+       * lisp/woman.el (woman-if-body): Avoid signaling an error
+       if "el }" is not found.  (Bug#68852)
+
+2024-02-01  Graham Marlow  <graham@mgmarlow.com>
+
+       Fix 'fill-paragraph' in 'yaml-ts-mode'
+
+       * lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode--fill-paragraph):
+       Avoid 'fill-paragraph' when outside of block_scalar or comment
+       nodes.  (Bug#68781)
+
+2024-02-01  Stanislav Yaglo  <yaglo@me.com>
+
+       macfont.m: Fix values for font widths and weights on macOS
+
+       * src/macfont.m (mac_font_get_glyphs_for_variants)
+       (macfont_variation_glyphs): Fix width values.  (Bug#64013)
+
+2024-02-01  Sacha Chua  <sacha@sachachua.com>
+
+       shr: Correct SVG attribute case
+
+       * lisp/net/shr.el (shr-correct-attribute-case): New constant.
+       (shr-correct-dom-case): New function to correct SVG attribute case.
+       (shr-tag-svg): Correct SVG attribute cases before using them.
+
+2024-02-01  Po Lu  <luangruo@yahoo.com>
+
+       * src/term.c (produce_glyphs): Synchronize with gui_produce_glyphs.
+
+2024-02-01  Po Lu  <luangruo@yahoo.com>
+
+       Prevent continuation from affecting tab width in/after line prefix
+
+       * src/dispextern.h (struct it) <wrap_prefix_width>: New field,
+       synchronized with current_x when producing glyphs for wrap
+       prefixes, and subtracted from it->current_x when computing tab
+       widths.
+
+       * src/term.c (produce_glyphs): Set wrap_prefix_width.
+
+       * src/xdisp.c (start_display, display_min_width, move_it_to)
+       (move_it_vertically_backward, move_it_by_lines)
+       (window_text_pixel_size, display_tab_bar_line)
+       (display_tool_bar_line, redisplay_internal, redisplay_window)
+       (try_window_id, insert_left_trunc_glyphs)
+       (extend_face_to_end_of_line, display_line)
+       (Fmove_point_visually): Set or clear wrap_prefix_width as
+       appropriate.
+       (gui_produce_glyphs): Set or clear it->wrap_prefix_width.  When
+       computing the base position of a tab character, do not subtract
+       the continuation line width if a line prefix is the current
+       iterator method.  Subtract the wrap_prefix_width otherwise, in
+       order that the width of the tab is computed free of influence
+       from the wrap prefix.
+
+2024-02-01  Po Lu  <luangruo@yahoo.com>
+
+       Introduce a global variant of visual-wrap-prefix-mode
+
+       * doc/emacs/basic.texi (Continuation Lines):
+
+       * etc/NEWS:
+
+       * lisp/visual-wrap.el (visual-wrap-prefix-mode): Document this
+       new global minor mode.
+       (global-visual-wrap-prefix-mode): New global minor mode.
+
+2024-01-31  Mattias Engdegård  <mattiase@acm.org>
+
+       Bytecode engine fast-path streamlining of plain symbols
+
+       * src/bytecode.c (exec_byte_code):
+       Only use fast-path optimisations for calls and dynamic variable
+       reference and setting where the symbol is plain, which is much faster.
+
+2024-01-31  Mattias Engdegård  <mattiase@acm.org>
+
+       Eliminate lazy bytecode loading
+
+       The obsolete lazy-loaded bytecode feature, enabled by
+       `byte-compile-dynamic`, slows down Lisp execution even when not in use
+       because every call to a bytecode function has to check that function
+       for laziness.
+
+       This change forces up-front loading of all lazy bytecode so that we
+       can remove all those checks.  (Dynamically loaded doc strings are not
+       affected.)
+
+       There is no point in generating lazy bytecode any more so we stop
+       doing that; this simplifies the compiler.  `byte-compile-dynamic` now
+       has no effect.
+
+       This is a fully compatible change; the few remaining users of
+       `byte-compile-dynamic` should not notice any difference.
+
+       * src/lread.c (bytecode_from_rev_list): Force eager loading of
+       lazy bytecode.
+       * src/bytecode.c (exec_byte_code): Remove lazy bytecode checks.
+       * src/eval.c (fetch_and_exec_byte_code, Ffetch_bytecode): Remove.
+       (funcall_lambda): Call exec_byte_code directly, avoiding checks.
+       * lisp/subr.el (fetch-bytecode): New definition, obsolete no-op.
+       * lisp/emacs-lisp/disass.el (disassemble-1):
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf):
+       Remove calls to fetch-bytecode.
+       (byte-compile-dynamic): Update doc string.
+       (byte-compile-close-variables, byte-compile-from-buffer)
+       (byte-compile-insert-header, byte-compile-output-file-form)
+       (byte-compile--output-docform-recurse, byte-compile-output-docform)
+       (byte-compile-file-form-defmumble):
+       Remove effects of byte-compile-dynamic.
+       * doc/lispref/compile.texi (Dynamic Loading): Remove node now that
+       the entire `byte-compile-dynamic` facility has been rendered inert.
+       * etc/NEWS: Announce changes.
+
+2024-01-31  Mattias Engdegård  <mattiase@acm.org>
+
+       Allow equal user-defined hash table tests with different names
+
+       Hash tables using different user-defined tests defined identically
+       sometimes ended up using the wrong test (bug#68668).
+
+       * src/fns.c (get_hash_table_user_test): Take test name into account
+       when matching the test object.
+       * test/src/fns-tests.el (fns--define-hash-table-test): New.
+
+2024-01-31  Po Lu  <luangruo@yahoo.com>
+
+       Don't hang when display objects are displaced by line or wrap-prefixes
+
+       This fixes a hang that would frequently rear its ugly head while
+       displaying messages in the `telega.el' instant messenger client,
+       which inserts images approaching the width of the window with
+       line and wrap prefixes.
+
+       * src/xdisp.c (move_it_in_display_line_to): If a line or wrap
+       prefix is set in place, do not generate continuation lines until
+       a minimum of one glyph has been produced outside that prefix.
+       (move_it_to): Remove the previous workaround that could not
+       recover from errors caused by display strings.
+       (display_line): Synchronize with move_it_in_display_line_to;
+       remove old workaround that only provided for oversized wrap
+       prefixes comprising `space' display objects.
+
+2024-01-31  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit--indent-1 regarding local parsers
+
+       Take this code as an example:
+
+       1 class Foo
+       2 {
+       3     /**
+       4      * Block comment
+       5      */
+       6     function foo($c) {
+       7     }
+       8 }
+
+       Suppose the block comment is covered by a local parser.  When we
+       indent line 3, treesit--indent-1 will try to get the local parser at
+       the BOL, and it'll get the local parser.  But it shouldn't use the
+       local parser to indent this line, it should use the host parser of
+       that local parser instead.
+
+       So now, if treesit--indent-1 gets a local parser, but the local
+       parser's root node's start coincides with BOL, treesit--indent-1 will
+       use the host parser to indent this line.
+
+       We also need to make treesit--update-ranges-local to save the host
+       parser along with the local parser, and make
+       treesit-local-parsers-at/on extract and return the host parser.
+
+       I also switch the two cases in the cond form in treesit--indent-1:
+       (null (treesit-parser-list)) and (car local-parsers), (car
+       local-parsers) now takes precedence.
+
+       * lisp/treesit.el (treesit-local-parsers-at):
+       (treesit-local-parsers-on): Add WITH-HOST parameter.
+       (treesit--update-ranges-local): Save the host parser to the local
+       overlay.
+       (treesit--indent-1): If the root node of the local parser is at BOL,
+       use the host parser instead.
+
+2024-01-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2024-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/inline.el (inline-const-val): Improve docstring
+
+2024-01-30  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix typo in Eshell's "du" command
+
+       This option is supposed to be "--si", for "International System of
+       Units", not "--is".
+
+       * lisp/eshell/em-unix.el (eshell/du): Change "is" to "si".
+
+2024-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       derived.el: Delete old code (bug#68625)
+
+       * lisp/emacs-lisp/derived.el (derived-mode-setup-function-name)
+       (derived-mode-init-mode-variables, derived-mode-set-keymap)
+       (derived-mode-set-syntax-table, derived-mode-set-abbrev-table)
+       (derived-mode-run-hooks, derived-mode-merge-keymaps)
+       (derived-mode-merge-syntax-tables, derived-mode-merge-abbrev-tables):
+       Delete functions.
+
+2024-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (byte-compile): Try and make it a bit more readable
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function):
+       Use `macroexp-parse-body` and only handle closures.
+       (byte-compile): Clarify the control and data flow a bit.
+
+2024-01-29  Andrea Corallo  <acorallo@gnu.org>
+
+       * Better type comparison in comp tests
+
+       * test/src/comp-tests.el (comp-tests--type-lists-equal): New function.
+       (comp-tests--types-equal): Handle function types.
+
+2024-01-29  Daniel Brooks  <db48x@db48x.net>  (tiny change)
+
+       Fix 'calc-math-read-preprocess-string' test (bug#66944).
+
+2024-01-29  Po Lu  <luangruo@yahoo.com>
+
+       * src/haiku_select.cc: Include stdckdint.h.
+
+2024-01-29  Po Lu  <luangruo@yahoo.com>
+
+       Don't open a new line for long defuns being inserted at column 0
+
+       * lisp/vc/log-edit.el (log-edit--insert-filled-defuns): Don't
+       open a new line for long defuns at column 0.
+
+       * test/lisp/vc/log-edit-tests.el
+       (log-edit-fill-entry-space-substitution): Adjust expected
+       results to match change.
+       (log-edit-fill-entry-initial-wrapping): New test.
+
+2024-01-29  Po Lu  <luangruo@yahoo.com>
+
+       * exec/configure.ac (OPENAT_SYSCALL): Define on MIPS.
+
+2024-01-29  Po Lu  <luangruo@yahoo.com>
+
+       Prevent filling from mangling ChangeLog defun lists
+
+       * lisp/vc/log-edit.el (log-edit-fill-entry): Replace space
+       characters within defun lists with NBSPs for the duration of
+       `fill-region''s execution, so that they are never considered
+       break points.
+
+       * test/lisp/vc/log-edit-tests.el
+       (log-edit-fill-entry-space-substitution): New test.
+
+2024-01-29  Jim Porter  <jporterbugs@gmail.com>
+
+       In Eshell, don't expand quoted tildes into a user's home directory
+
+       * lisp/eshell/em-dirs.el (eshell-parse-user-reference): Don't expand
+       quoted tildes.
+
+       * test/lisp/eshell/em-dirs-tests.el
+       (em-dirs-test/expand-user-reference/local)
+       (em-dirs-test/expand-user-reference/quoted): New tests.
+
+2024-01-29  Jim Porter  <jporterbugs@gmail.com>
+
+       In Eshell, allow an escaped newline at the end of a command
+
+       Normally, "echo<RET>" runs the command "echo".  Likewise,
+       "echo\<RET><RET>" should too: we escape the first newline, and then
+       the second one is unescaped and should send the command input to
+       Eshell.  Previously, you had to press RET a third time, but now it
+       works as expected.
+
+       * lisp/eshell/esh-arg.el (eshell-looking-at-backslash-return): Make
+       obsolete.
+       (eshell-parse-backslash): A backslash sequence is only incomplete if
+       there's nothing at all after it.
+
+       * test/lisp/eshell/esh-arg-tests.el (esh-arg-test/escape/newline)
+       (esh-arg-test/escape-quoted/newline): Remove inaccurate comment;
+       escaped newlines are always special.
+       (esh-arg-test/escape/trailing-newline): New test.
+
+2024-01-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       xt-mouse.el: Obey `mouse-wheel-*-event` variables (bug#68698)
+
+       * lisp/xt-mouse.el (xterm-mouse--same-button-p): New function.
+       (xterm-mouse--read-event-sequence): Use it to obey
+       `mouse-wheel-*-event` variables.
+       * lisp/mwheel.el (mouse-wheel-obey-old-style-wheel-buttons):
+       Update docstring.
+
+2024-01-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       e11c9f9c6e8 Handle wrong login program in Tramp
+
+       # Conflicts:
+       #       lisp/net/tramp-sh.el
+
+2024-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Improve filling of ChangeLog entries
+
+       * lisp/vc/log-edit.el (log-edit--insert-filled-defuns): Rewrite
+       completely.
+       (log-edit-fill-entry): Abandon pcase and cl-lib.
+
+2024-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer C23 ckd_* to Gnulib *_WRAPV and *_OK macros
+
+       * src/alloc.c (android_make_lisp_symbol) [HAVE_ANDROID && !__clang__]:
+       * src/android.c (android_blit_copy, android_blit_xor)
+       (android_get_image):
+       * src/androidmenu.c (android_menu_show):
+       * src/androidselect.c (Fandroid_get_clipboard_data)
+       (android_notifications_notify_1):
+       * src/androidterm.c (android_decode_utf16)
+       (android_text_to_string):
+       * src/haiku_select.cc (be_display_notification):
+       * src/sfnt.c (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12)
+       (sfnt_read_cmap_format_14, sfnt_read_cmap_table_1)
+       (sfnt_expand_compound_glyph_context, sfnt_poly_edges_exact)
+       (sfnt_read_meta_table, sfnt_read_ttc_header)
+       (sfnt_read_cvt_table, sfnt_read_fpgm_table)
+       (sfnt_read_prep_table, sfnt_make_interpreter)
+       (sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2)
+       (sfnt_interpret_compound_glyph, sfnt_read_default_uvs_table)
+       (sfnt_read_nondefault_uvs_table, sfnt_create_uvs_context)
+       (sfnt_read_fvar_table, sfnt_read_gvar_table)
+       (sfnt_read_avar_table, sfnt_read_cvar_table):
+       * src/sfntfont-android.c (GET_SCANLINE_BUFFER):
+       * src/textconv.c (really_commit_text, really_set_composing_text)
+       (really_replace_text, get_surrounding_text):
+       Prefer C2x stdckdint.h macros to intprops.h macros.
+
+2024-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Rename TAG_PTR to TAG_PTR_INITIALLY
+
+       * src/lisp.h (TAG_PTR_INITIALLY): Rename from TAG_PTR, since calls
+       can be used only as initializers, and the convention elsewhere in
+       lisp.c is to give these macros names ending in ‘_INITIALLY’.
+       This should help avoid confusion such as we recently experienced
+       in make_lisp_symbol_internal.  All uses changed.
+
+2024-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/lisp.h: Improve TAG_PTR comments.
+
+2024-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix C conformance issue in LISPSYM_INITIALLY
+
+       * src/lisp.h (LISPSYM_INITIALLY): Remove unnecessary cast to char *.
+       The C standard allows but does not require support for casts to
+       pointers in constant expressions in static initializers.
+
+2024-01-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix "emacs -nw" on MS-Windows
+
+       * src/w32term.c (w32_flip_buffers_if_dirty): Do nothing if F is
+       not a GUI frame.  This avoids rare crashes in "emacs -nw".
+       * src/w32console.c (initialize_w32_display): Set the
+       ENABLE_EXTENDED_FLAGS bit in 'prev_console_mode'.
+
+2024-01-28  Jim Porter  <jporterbugs@gmail.com>
+
+       Support setting umask symbolically in Eshell
+
+       * lisp/eshell/em-basic.el (eshell/umask): Handle setting umask
+       symbolically, and make setting umask take precedence over "-S".
+
+       * test/lisp/eshell/em-basic-tests.el
+       (em-basic-test/umask-print-numeric, em-basic-test/umask-read-symbolic,
+       em-basic-test/umask-set): Rename to...
+       (em-basic-test/umask/print-numeric)
+       (em-basic-test/umask/print-symbolic, em-basic-test/umask/set-numeric):
+       ... these.
+       (em-basic-test/umask/set-symbolic, em-basic-test/umask/set-with-S):
+       New tests.
+
+       * etc/NEWS: Announce this change.
+
+2024-01-28  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-range-rules
+
+       * lisp/treesit.el (treesit-range-rules): Reset :local like other
+       keywords.  The other chunk is indentation fix.
+
+2024-01-27  Jim Porter  <jporterbugs@gmail.com>
+
+       * doc/lispref/package.texi (Multi-file Packages): Document 
".elpaignore".
+
+2024-01-27  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix command replacement with the Eshell builtin versions of "sudo" and 
"doas"
+
+       This is particularly important when the inner command to execute is an
+       alias.  Aliases throw 'eshell-replace-command' too, so we want to do
+       this in two phases: first, replace the "sudo"/"doas" with a
+       let-binding of 'default-directory', and then later, let the alias code
+       do its own replacement (bug#68074).
+
+       * lisp/eshell/em-tramp.el (eshell/sudo, eshell/doas): Use
+       'eshell-replace-command' to wrap the inner command.
+       * test/lisp/eshell/em-tramp-tests.el (mock-eshell-named-command):
+       Remove.
+       (em-tramp-test/sudo-basic, em-tramp-test/sudo-user)
+       (em-tramp-test/doas-basic, em-tramp-test/doas-user): Catch
+       'eshell-replace-command'.
+
+2024-01-27  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
+
+       Support a local repo as URL in 'treesit-language-source-alist'
+
+       Sometimes people may need to bisect to find specific revision
+       in a grammar library's repo.  In this case they'd want to point
+       the URL to the local repo to avoid cloning it on every rebuild.
+       So add support for a directory instead of URL in
+       'treesit-language-source-alist'.
+       * lisp/treesit.el (treesit--install-language-grammar-1): Test
+       if URL is a local directory.  Then if it is, avoid cloning the
+       repo and removing the path on success.
+       (treesit--git-clone-repo): Factor out the code for cloning to
+       a separate function.
+       (treesit--git-checkout-branch): A helper to checkout the
+       revision for cases where we didn't clone the repo but want it
+       to point the revision.  (Bug#68579)
+
+2024-01-27  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Enable marking tagged with ls -F
+
+       Bug#68637
+
+       * lisp/image/image-dired-dired.el (image-dired-mark-tagged-files):
+       Enable marking tagged for executable and symlink images when
+       'dired-listing-switches' includes -F.
+
+2024-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Allow users to opt out of following Windows Dark mode
+
+       * src/w32fns.c (globals_of_w32fns) <w32-follow-system-dark-mode>:
+       New variable.
+       (w32_applytheme): Disable application of Dark mode if
+       'w32-follow-system-dark-mode' is nil.
+
+       * etc/NEWS:
+       * doc/emacs/msdos.texi (Windows Misc): Document
+       'w32-follow-system-dark-mode'.
+
+2024-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/pdumper.c (Fdump_emacs_portable): Simplify commit 16a16645f524
+
+2024-01-27  Daniel Brooks  <db48x@db48x.net>  (tiny change)
+
+       Calc parses fractions written using U+2044 FRACTION SLASH
+
+       Fractions of the form 123⁄456 are handled as if written 123:456. Note
+       in particular the difference in behavior from U+2215 DIVISION SLASH
+       and U+002F SOLIDUS, which result in division rather than a rational
+       fraction.
+       * lisp/calc/calc-aent.el (math-read-replacement-list): Substitute a
+       colon for any fraction slash.  (Bug#66944)
+
+       * test/lisp/calc/calc-tests.el (calc-frac-input): Test various
+       fraction types.
+
+       * etc/NEWS:
+       * doc/misc/calc.texi (Fractions): Mention fraction slash, precomposed
+       fractions.
+
+2024-01-27  Eshel Yaron  <me@eshelyaron.com>
+
+       Avoid signaling errors in emoji.el
+
+       * lisp/international/emoji.el (emoji--read-emoji): Signal
+       user-error on empty input (bug#68671).
+
+2024-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       53481cc9546 Fix description of when "\xNNN" is considered a unibyte c...
+       1ef8b90ae06 Simplify imenu setup for {cmake,dockerfile}-ts-modes
+       7338af9c986 ; * etc/PROBLEMS: Document that GnuPG 2.4.4 solves the Ea...
+       5483a1df99c Improve documentation of profiler commands
+       fb4cf0ab46d ; Fix xref under Output Overrides in Elisp manual.
+       aa6c24da61f Fix broken links to Freedesktop notifications spec
+       14d68221d26 Fix nasty cut'n'waste error in Tramp
+       51ca049608c Fix image-dired-tags-db-file void variable error
+       c450eec07ff typescript-ts-mode: Skip test if tsx grammar missing
+       9841ced147f ; Fix typos
+       557ed9c0463 * admin/README: Document the run-codespell script.
+       5701f96335c * admin/README: Fix entry on coccinelle subdirectory.
+       1805f4bfd62 Add script admin/run-codespell and supporting files
+
+2024-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       3a541b25df5 Update Polish translation of tutorial
+       6df731431ad * doc/misc/gnus.texi (Summary Mail Commands): Fix command...
+       409bb8eb243 ; * doc/misc/gnus.texi (Scoring): Typo (bug#68581).
+       25734dd40c1 ; Delete pre-release remainder in NEWS.27
+
+2024-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b4baf0f8216 ; Update ChangeLog.4 with latest changes.
+       c633c90993f * Update etc/HISTORY and ChangeLog.4 for 29.2 release.
+
+2024-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       20125ad97b4 ; admin/authors.el (authors-aliases): Update for Emacs 29.2.
+       92a7132bd6c ; * etc/NEWS: Clean up for Emacs 29.2.
+       314ac2e4317 ; * lisp/mail/rmail.el (rmail-show-message-verbose-min): ...
+       2cb1b76696b diff-mode: Support committing diff with file deletions
+       b96aa528f64 * lisp/net/eww.el (eww-retrieve): Fix args of eww-render ...
+
+2024-01-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Add DOHASH_SAFE, make DOHASH faster (bug#68690)
+
+       Revert DOHASH to the fast (field-caching) implementation but with
+       an assertion to detect misuses.  Add DOHASH_SAFE for use in
+       code that must tolerate arbitrary mutation of the table being
+       iterated through.
+
+       * src/lisp.h (DOHASH): Go back to fast design that only allows
+       restricted mutation, but with a checking assertion.
+       (DOHASH_SAFE): New macro that tolerates arbitrary mutation while being
+       much simpler (and acceptably fast).
+       * src/fns.c (Fmaphash):
+       * src/comp.c (compile_function, Fcomp__compile_ctxt_to_file):
+       Use DOHASH_SAFE.
+
+2024-01-27  Thierry Volpiatto  <thievol@posteo.net>
+
+       Add new option to 'register-use-preview'
+
+       When set to 'insist', exit minibuffer with same key as
+       register name, instead of pressing RET.  E.g., pressing
+       "a" selects register "a", then pressing "a" again exits
+       the minibuffer.
+
+       * lisp/register.el (register-use-preview): New option 'insist'.
+       (register-read-with-preview-fancy): Handle new option.
+       * doc/emacs/regs.texi: Document it.
+       * etc/NEWS: Mention 'insist'.  (Bug#68654)
+
+2024-01-27  Brad Howes  <bradhowes@mac.com>  (tiny change)
+
+       Downcase host names in ansi-osc.el to match URL parsing behavior
+
+       * lisp/ansi-osc.el (ansi-osc-directory-tracker): Compare
+       with 'system-name' case-insensitively.  (Bug#68632)
+
+2024-01-27  Mekeor Melire  <mekeor@posteo.de>
+
+       Add option Info-url-alist
+
+       * lisp/info.el (Info-url-alist): New option mapping manuals
+       to URLs.
+       (Info-url-for-node): Use it.
+       * test/lisp/info-tests.el (test-info-urls): Add more tests.
+       In particular, 'Info-url-for-node' should error when
+       manual-name is not handled in 'Info-url-alist'.
+       * etc/NEWS: Announce the change.  (Bug#67615)
+
+2024-01-27  Jakub Ječmínek  <jecminek.k@gmail.com>  (tiny change)
+           kobarity  <kobarity@gmail.com>
+
+       Fix syntax highlighting after string literal concat in python-mode
+
+       * lisp/progmodes/python.el (python-syntax-stringify): Fix
+       incorrect font-lock after string literal concatenation.
+       (Bug#45897)
+
+       * test/lisp/progmodes/python-tests.el
+       (python-font-lock-string-literal-concatenation): New test.
+
+2024-01-27  Eshel Yaron  <me@eshelyaron.com>
+
+       Optionally avoid extending 'completion-at-point-functions'
+
+       It is now possible to avoid extending
+       'completion-at-point-functions' in Text mode and its descendants.
+       * lisp/textmodes/text-mode.el
+       (text-mode-meta-tab-ispell-complete-word): Rename to...
+       (text-mode-ispell-word-completion): ...this.  Extend with another
+       option 'completion-at-point'.
+       (text-mode): Only extend 'completion-at-point-functions' when
+       'text-mode-ispell-word-completion' is 'completion-at-point'.
+       (Bug#67527)
+
+       * etc/NEWS: Update the entry about 'M-TAB' in Text mode.
+
+2024-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Minor fix in 'describe-language-environment'
+
+       * lisp/international/mule-cmds.el (describe-language-environment):
+       Use 'current-language-environment' as DEFAULT in the prompt.
+       Patch by Thierry Volpiatto <thievol@posteo.net>.  (Bug#68602)
+
+2024-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve 'refill-mode' in Org buffers
+
+       * lisp/textmodes/refill.el (refill-fill-paragraph-at): Use
+       'fill-forward-paragraph' instead of 'forward/backward-paragraph',
+       so that modes could customize the behavior.  (Bug#68418)
+
+2024-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pdumper.c: Minor improvements found while debugging
+
+       * src/pdumper.c (dump_hash_table_list): Remove unused return value;
+       and simplify with `vconcat`.
+       (dump_charset): Don't copy uninitialized fields.
+
+2024-01-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pdumder.c: Fix bug#68690
+
+       The problem was that the offset computed for the `charset_table` array
+       was a multiple of 4 but the `struct charset` needed an alignment on
+       a multiple of 8, so `dump_charset` inserted 4 bytes of padding,
+       whereas you can't have padding at the beginning of an array.
+
+       * src/pdumper.c (dump_charset): Don't set alignment here.
+       (dump_charset_table): Set it here instead.
+
+2024-01-27  Po Lu  <luangruo@yahoo.com>
+
+       Intercept calls to `openat' under Android
+
+       * exec/configure.ac (OPEN_SYSCALL, OPENAT_SYSCALL): Define new
+       macros.
+
+       * exec/exec.h (struct exec_tracee): New field `sp'.
+
+       * exec/trace.c (handle_openat): New function.
+       (process_system_call): If handle_openat executes successfully,
+       save the unmodified stack pointer within the tracee structure to
+       be restored once the system call completes.
+
+2024-01-27  Po Lu  <luangruo@yahoo.com>
+
+       Move Visual Wrap menu to menu-bar.el
+
+       * lisp/menu-bar.el (menu-bar-line-wrapping-menu): Insert new
+       menu item controlling visual-wrap-prefix-mode.
+
+       * lisp/visual-wrap.el: Remove menu bar autoload.
+
+2024-01-27  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/visual-wrap.el (visual-wrap-prefix-mode): Improve doc string.
+
+2024-01-27  Po Lu  <luangruo@yahoo.com>
+
+       Import ELPA package adaptive-wrap as visual-wrap
+
+       * doc/emacs/basic.texi (Continuation Lines): Document
+       visual-wrap and its applications.
+
+       * etc/NEWS (Editing Changes in Emacs 30.1): Ditto.
+
+       * lisp/visual-wrap.el (visual-wrap-extra-indent)
+       (visual-wrap--face-extend-p, visual-wrap--prefix-face)
+       (visual-wrap--prefix, visual-wrap-fill-context-prefix)
+       (visual-wrap-prefix-function, visual-wrap-prefix-mode, lookup-key)
+       (visual-wrap): New file.  Update copyright years and rename to
+       `visual-wrap'.
+
+2024-01-27  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix eglot--dumb-tryc for "only possible completion" case
+
+       * lisp/progmodes/eglot.el (eglot--dumb-tryc): Fix for "only possible
+         completion" case.
+
+2024-01-26  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix detection of directly-invokable commands in Eshell
+
+       I think this regressed partly due to eef32d13da58, so let's add some
+       regression tests to make sure that doesn't happen again.
+
+       * lisp/eshell/em-unix.el (eshell-unix-initialize): Add "compile".
+
+       * lisp/eshell/esh-cmd.el (eshell--find-subcommands): Yield the second
+       element of the subcommand.
+       (eshell--invoke-command-directly-p): Rename and account for
+       'eshell-with-copied-handles'.
+       (eshell-invoke-directly): Rename to...
+       (eshell-invoke-directly-p): ... this, and use 'pcase' to make the
+       logic clearer.
+
+       * lisp/eshell/esh-mode.el (eshell-send-input): Always queue input if
+       the process is running; rename some locals to be clearer.
+
+       * lisp/eshell/esh-var.el (eshell-var-initialize): Add "env" as a
+       complex command.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test--deftest-invoke-directly): New macro.
+       (no-args, with-args, multiple-cmds, subcmd, complex, complex-subcmd):
+       New test cases.
+
+2024-01-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix crash backtraces on MS-Windows, broken by ASLR
+
+       * src/w32fns.c (DEFAULT_IMAGE_BASE): Define for 64-bit and 32-bit
+       MinGW builds.
+       (emacs_abort): Correct the callstack addresses for potential
+       relocation of the image base due to ASLR.  This makes 'addr2line'
+       be able to interpret emacs_backtrace.txt when ASLR is in effect,
+       which it is on every modern version of MS-Windows.  (Bug#63365)
+
+       * configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Add comment
+       about keeping the image-base values in sync with w32fns.c.
+
+       * etc/DEBUG (How to disable ASLR): New section.
+
+2024-01-26  Jim Porter  <jporterbugs@gmail.com>
+
+       Add support for running commands via Eshell's "env" command
+
+       * (eshell-handle-local-variables): Move most of the code to...
+       (eshell-parse-local-variables): ... here.
+       (eshell/env): Call 'eshell-parse-local-variables'.
+
+       * test/lisp/eshell/esh-var-tests.el
+       (esh-var-test/local-variables/env): New test.
+
+       * doc/misc/eshell.texi (Built-ins): Describe the new behavior.
+
+       * etc/NEWS: Announce this change.
+
+2024-01-26  Po Lu  <luangruo@yahoo.com>
+
+       Avert race condition between window attachment and buffer swap
+
+       * java/org/gnu/emacs/EmacsView.java (swapBuffers): Synchronize
+       such that code cannot execute between the bitmap's being loaded
+       and being transferred to surfaceView.
+       (onDetachedFromWindow): Recycle bitmap after the surface view is
+       reset.
+
+       * java/org/gnu/emacs/EmacsWindow.java (recreateActivity):
+
+       * src/android.c (android_init_emacs_window)
+       (android_recreate_activity):
+
+       * src/androidfns.c (Fandroid_recreate_activity)
+       (syms_of_androidfns): New functions for debugging window
+       attachment.
+
+       * src/androidgui.h: Update prototypes.
+
+2024-01-26  Jim Porter  <jporterbugs@gmail.com>
+
+       Improve handling of local variable settings in Eshell
+
+       This ensures that these commands work the same as normal commands,
+       aside from making environment variable settings local to that command.
+       Among other things, this means that "VAR=value cd dir/" now changes
+       the directory correctly.
+
+       * lisp/eshell/esh-var.el (eshell-in-local-scope-p)
+       (eshell-local-variable-bindings): New variables.
+       (eshell-var-initialize, eshell-set-variable): Use
+       'eshell-local-variable-bindings'.
+       (eshell-handle-local-variables): Don't use 'eshell-as-subcommand'.
+
+       * test/lisp/eshell/esh-var-tests.el (esh-var-test/local-variables/cd):
+       New test.
+
+2024-01-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       python--treesit-syntax-propertize: Fix edits in the middle
+
+       * lisp/progmodes/python.el (python--treesit-syntax-propertize):
+       Process the beginning and the end of the triple-quoted string's
+       delimiters separately.  Among other things, that still works when
+       the beginning is outside of the propertized region (bug#68445).
+
+2024-01-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project--read-project-list: Handle corrupted file contents
+
+       * lisp/progmodes/project.el (project--read-project-list):
+       Handle the 'end-of-file' error (bug#68546).
+
+2024-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-generic.el (cl--generic-compiler): Clarify the test
+
+       Use `compiled-function-p`.
+
+2024-01-25  Juri Linkov  <juri@linkov.net>
+
+       * lisp/simple.el (next-line-completion): Better handing of group lines.
+
+       Simplify to not compare the result of 'move-to-column'
+       with the value 'column'.  Such comparison prevented from moving
+       over lines without completion candidates such as group lines 
(bug#68688).
+
+       * test/lisp/minibuffer-tests.el (completions-group-navigation-test):
+       Add more group candidates to create more columns and to test
+       moving over group lines and over columns without candidates.
+
+2024-01-25  Juri Linkov  <juri@linkov.net>
+
+       * lisp/dired.el (dired--move-to-next-line): Improve to avoid an 
infinite loop.
+
+       An infinite loop is possible in a directory without files and 
subdirectories,
+       where even lines with . and .. are omitted, so 'dired-between-files' is 
true
+       for all Dired lines.  For the case of dired-movement-style=cycle
+       a guard is triggered when the loop wraps twice while the value 'arg'
+       is not changing.  And for the case of dired-movement-style=bounded
+       a guard is triggered when point doesn't move while trying to
+       go back to the last non-empty line.
+
+2024-01-25  Andrea Corallo  <acorallo@gnu.org>
+
+       * Make comp tests robust against sxhash-equal internal changes
+
+       * test/src/comp-tests.el (cl-seq): Require.
+       (comp-tests--types-equal): New function.
+       (comp-tests-check-ret-type-spec): Make use of.
+
+2024-01-25  João Távora  <joaotavora@gmail.com>
+
+       Eglot: bump to 1.17
+
+       * etc/EGLOT-NEWS: Update.
+
+       * lisp/progmodes/eglot.el (Version): Bump to 1.17
+       (Package-Requires): Bump jsonrpc depedency to 1.24
+
+2024-01-25  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix bug introduced when "fixing" middle-of-symbol completions
+
+       Culprit:
+
+           commit a6ef458e3831001b0acad57cf8fa75b77a4aff3f
+           Author: João Távora <joaotavora@gmail.com>
+           Date:   Tue Dec 26 00:31:29 2023 +0000
+
+               Eglot: partial fix for middle-of-symbol completions
+
+       The decision to restore the buffer state to when the last LSP
+       completion set was invoked is rock-solid (because that the state
+       those completions' edits apply to).
+
+       However, when caching the LSP completions across multiple
+       eglot-completion-at-point calls, we must make sure to also restore the
+       values of the local values, such as 'bounds-string'.  This allows us
+       to do that restoration.
+
+       * lisp/progmodes/eglot.el (eglot-completion-at-point): Also
+       restore bounds-string from capf session cache.
+
+       Github-reference: https://github.com/joaotavora/eglot/issues/1349
+
+2024-01-25  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Update minibuffer-show-help based on minibuffer-visible-completions
+
+       minibuffer-visible-completions makes some more convenient bindings
+       available, but the help shown by minibuffer-show-help wasn't
+       suggesting them.  Now it is.
+
+       * lisp/simple.el (completion-setup-function): Change help text when
+       minibuffer-visible-completions is non-nil. (bug#68689)
+
+2024-01-25  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Fix next-line-completion for multi-line completions
+
+       Previously it would not move out of a multi-line completion, and now it 
will.
+
+       * lisp/simple.el (next-line-completion): Move to the completion start
+       or end before going forward or backward lines.  (bug#68688)
+
+2024-01-25  Corwin Brust  <corwin@bru.st>
+
+       Add more erc-message-type choices
+
+       * lisp/erc/erc.el (erc-message-type): Add more of the possible
+       IRC message types to customize widget for `erc-*hide-list'.
+       New options have tags informed by these descriptions:
+       https://modern.ircdocs.horse/#numerics   (Bug#68601)
+
+2024-01-25  F. Jason Park  <jp@neverwas.me>
+
+       Add replacement-text field to erc-input struct
+
+       * etc/ERC-NEWS: Promote `refoldp' slot from simulated to real.
+       Mention new `substxt' slot of `erc-input' struct.
+       * lisp/erc/erc-common.el (erc-input): Add `substxt' and `refoldp'
+       slots.
+       (erc--input-split): Move `refoldp' to "superclass".
+       * lisp/erc/erc-goodies.el (erc--command-indicator-permit-insertion):
+       Use `substxt' field instead of overloading `insertp'.
+       (erc--command-indicator-display): Accept extra lines for
+       compatibility.
+       * lisp/erc/erc.el (erc-pre-send-functions): Revise doc.
+       (erc--input-ensure-hook-context, erc-input-refoldp): Remove unused
+       functions, originally meant to be new in ERC 5.6.
+       (erc--run-send-hooks): Copy data from additional fields of `erc-input'
+       object to `erc--input-split' workspace object.
+       (erc--send-input-lines): Handle `substxt' field of `erc-input' object
+       when it's non-nil.  (Bug#68265)
+
+2024-01-25  F. Jason Park  <jp@neverwas.me>
+
+       Force erc-speedbar to update on insertion
+
+       * lisp/erc/erc-speedbar.el (erc-speedbar--force-update-interval-secs,
+       erc-speedbar--last-ran): New variables.
+       (erc-speedbar--reset-last-ran-on-timer,
+       erc-speedbar--run-timer-on-post-insert): New functions.
+       (erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable): Use
+       `erc-insert-post-hook' and `speedbar-timer-hook' to update the
+       speedbar periodically.  (Bug#63595)
+
+2024-01-25  F. Jason Park  <jp@neverwas.me>
+
+       Actually derive channel membership from PREFIX in ERC
+
+       * lisp/erc/erc-backend.el (erc--with-isupport-data): Add comment for
+       possibly superior alternate implementation.
+       * lisp/erc/erc-common.el (erc--get-isupport-entry): Use helper to
+       initialize traditional prefix slots in overridden well-known
+       constructor.
+       (erc--parsed-prefix): Reverse order of characters in the `letters'
+       and `statuses' slots, in their defaults and also their definitions.
+       (erc--strpos): New function, a utility for finding a single character
+       in a string.
+       * lisp/erc/erc.el (erc--define-channel-user-status-compat-getter):
+       Modify to query advertised value for associated mode letter at runtime
+       instead of baking it in.
+       (erc-channel-user-voice, erc-channel-user-halfop, erc-channel-user-op,
+       erc-channel-user-admin, erc-channel-user-owner): Supply second
+       argument for fallback mode letter.
+       (erc--cusr-status-p, erc--cusr-change-status): New functions for
+       querying and modifying `erc-channel-user' statuses.
+       (erc-send-input-line): Update speaker time in own nick's
+       `erc-channel-member' entry.
+       (erc-get-channel-membership-prefix): Adapt code to prefer advertised
+       prefix for mode letter.
+       (erc--parsed-prefix): Save "reversed" `letters' and `statuses' so that
+       they're ordered from lowest to highest semantically.
+       (erc--get-prefix-flag, erc--init-cusr-fallback-status,
+       erc--compute-cusr-fallback-status): New functions for retrieving
+       internal prefix values and massaging hard-coded traditional prefixes
+       so they're compatible with existing `erc-channel-member' update code.
+       (erc--partition-prefixed-names): New function, separated for testing
+       and for conversion to a generic in the future when ERC supports
+       extensions that list member rolls in a different format.
+       (erc-channel-receive-names): Refactor to use new status-aware update
+       and init workhorse functions for updating and initializing a
+       `erc-channel-members' entry.
+       (erc--create-current-channel-member): New "status-aware" function
+       comprising the `addp' path of `erc-update-current-channel-member'.
+       (erc--update-current-channel-member): New "status-aware" function
+       comprising the "update" path of `erc-update-current-channel-member',
+       which ran when an existing `erc-channel-members' entry for the queried
+       nick was found.
+       (erc-update-current-channel-member): Split code body into two
+       constituent functions, both for readability and for usability, so
+       callers can more explicitly request the desired operation in a
+       "status-aware" manner.
+       (erc--update-membership-prefix): Remove unused function, originally
+       meant to be new in ERC 5.6.
+       (erc--process-channel-modes): Call `erc--cusr-change-status' instead
+       of `erc--update-membership-prefix'.
+       (erc--shuffle-nuh-nickward): New utility function to ensure code like
+       `erc--partition-prefixed-names' can use `erc--parse-nuh' in a
+       practical and relatively convenient way in the near future.
+       * test/lisp/erc/erc-scenarios-base-chan-modes.el
+       (erc-scenarios-base-chan-modes--speaker-status): New test.
+       * test/lisp/erc/erc-tests.el (erc--parsed-prefix): Reverse expected
+       order of various slot values in `erc--parsed-prefix' objects.
+       (erc--get-prefix-flag, erc--init-cusr-fallback-status,
+       erc--compute-cusr-fallback-status, erc--cusr-status-p,
+       erc--cusr-change-status): New tests.
+       (erc--update-channel-modes, erc-process-input-line): Use newly
+       available utilities imported from common library.
+       * test/lisp/erc/resources/base/modes/speaker-status.eld: New file.
+       (Bug#67220)
+
+2024-01-25  F. Jason Park  <jp@neverwas.me>
+
+       Reserve negative depth range for ERC's insert hooks
+
+       * etc/ERC-NEWS: Mention additional reserved depth range of -80 to -20.
+       Also mention possibly having to cycle module activation state after
+       updating options.
+       * lisp/erc/erc-goodies.el (erc-irccontrols-mode,
+       erc-irccontrols-enable): Add `erc-controls-highlight' to
+       `erc-insert-modify-hook' at depth -50.
+       * lisp/erc/erc.el (erc-insert-modify-hook): Mention negative
+       hook-depth range in doc string.
+
+2024-01-25  Po Lu  <luangruo@yahoo.com>
+
+       Prevent matrices from remaining invalid post mini-window resize
+
+       * src/androidfns.c (android_create_tip_frame): Enable building
+       with GLYPH_DEBUG.
+
+       * src/window.c (resize_mini_window_apply): Garbage the frame if
+       F->redisplay is already set to indicate that redisplay_internal
+       should nevertheless return to it.
+
+2024-01-25  João Távora  <joaotavora@gmail.com>
+
+       Eglot: try even harder to avoid other completion styles (bug#68699)
+
+       Any completion style except for eglot--dumb-flex spells trouble for
+       Eglot, for the well known reason that LSP is geared towards completion
+       tooltips and none of Emacs' partial-completion shenanigans.
+
+       This commit puts a "try-completion" function that doesn't return nil
+       in the eglot--dumb-flex completion style so that other styles aren't
+       tried (partial-completion, in particular, errors out).
+
+       The function often doesn't do anything very useful, but at least it
+       doesn't stop the more usual *Completions* buffer from appearing.
+
+       * lisp/progmodes/eglot.el (eglot--dumb-tryc): New helper.
+       (completion-styles-alist): Add it to the dumb-flex style.
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/lisp.h (DOHASH): Handle rehashing (bug#68690)
+
+       I gave too much credit to the comment, and didn't realize that macro
+       was used in places that didn't obey the comment.
+       This macro is getting pretty hideous!
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Take stock of the wheel-up/down confusion
+
+       While we're hopefully all aware of the usual confusion between
+       the scroll operation moving the document or moving the viewport, Emacs
+       has its very own instance of that confusion where the
+       `mouse-wheel-down-event` variable is the one that (used to) hold
+       the value `wheel-up` and vice versa.
+
+       Thanks for Po Lu's commit 957b4f826a4 which not only fixed my change
+       but brought that confusion to my attention.
+       This patch doesn't fix the problem, but tries to fix the other places
+       in the code where we did not take it into account.
+
+       * doc/lispref/commands.texi (Misc Events): Mention the
+       wheel-up/down confusion.
+
+       * lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
+       * lisp/completion-preview.el (completion-preview--mouse-map):
+       Fix wheel-up/down confusion.
+
+       * lisp/mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event):
+       Fix docstrings.
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix build  when CHECK_LISP_OBJECT_TYPE is set
+
+       * src/lisp.h (make_lisp_symbol_internal): Fix last commit.
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/pcase.el (Commentary:): Add paper reference
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (struct composition): Remove dependency on hash-table internals
+
+       `struct composition` kept an index into the internal `key_and_value` 
array
+       of hash tables, which only worked because of details of how
+       hash-tables are handled.  Replace it with a reference to the
+       key stored at that location in the hash-table, which saves us an
+       indirection while at it.
+
+       * src/composite.h (struct composition): Replace `hash_index` with
+       the actual `key`.
+       (COMPOSITION_KEY): Simplify accordingly.
+       (mark_composite): Declare.
+       * src/composite.c (get_composition_id): Adjust accordingly.
+       (mark_composite): New function.
+
+       * src/charset.c (mark_charset): Uncomment.
+       * src/lisp.h (mark_charset): Declare.
+       * src/alloc.c (garbage_collect): Call `mark_charset` and 
`mark_composite`.
+       * src/pdumper.c (hash_table_contents): Remove invalid comment, since
+       compositions aren't dumped.
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (DOHASH): Change calling convention
+
+       This leads to simpler code in the users, and more efficient machine
+       code because we don't repeatedly need to fetch the `table_size`
+       and `key_and_value` fields of the hash table object.
+
+       * src/lisp.h (DOHASH): Rewrite.
+       * src/composite.c (composition_gstring_lookup_cache): Simplify.
+       (composition_gstring_cache_clear_font):
+       * src/print.c (print):
+       * src/pdumper.c (hash_table_contents):
+       * src/minibuf.c (Ftest_completion):
+       * src/json.c (lisp_to_json_nonscalar_1):
+       * src/emacs-module.c (module_global_reference_p):
+       * src/comp.c (compile_function, Fcomp__compile_ctxt_to_file):
+       * src/fns.c (Fmaphash): Adjust to new calling convention.
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove too-tricky make_lisp_symbol optimization
+
+       Simplify optimization for make_lisp_symbol, so that
+       it’s less tricky and works well enough for gcc -Og or -O2.
+       * src/lisp.h (lisp_h_builtin_lisp_symbol): Remove.
+       (builtin_lisp_symbol) [DEFINE_KEY_OPS_AS_MACROS]: Remove.
+       (make_lisp_symbol_nodebug): New internal static function,
+       which is like the old make_lisp_symbol but without the eassert.
+       (make_lisp_symbol, builtin_lisp_symbol): Use it, so that
+       make_lisp_symbol has the eassert but builtin_lisp_symbol doesn’t.
+
+2024-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (struct charset): Remove dependency on hash-table internals
+
+       `struct charset` kept an index into the internal `key_and_value` array
+       of hash tables, which only worked because of details of how
+       hash-tables are handled.  Replace it with a reference to the
+       value stored at that location in the hash-table, which saves us an
+       indirection while at it.
+
+       * src/charset.h (struct charset): Replace `hash_index` field with
+       `attributes` field.
+       (CHARSET_ATTRIBUTES): Simplify accordingly.
+       (CHARSET_HASH_INDEX): Delete unused macro.
+       * src/charset.c (Fdefine_charset_internal):
+       * src/pdumper.c (dump_charset): Adjust accordingly.
+       (dump_charset_table): Set the referrer since that's needed while
+       dumping Lisp_Object fields.
+
+2024-01-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix cus-test-deps
+
+       * admin/cus-test.el (cus-test-deps): Add the "quail/" subdirectory
+       to default-directory, temporarily.
+
+2024-01-23  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Further shrink eglot--{}
+
+       Up to and including Emacs 29, :size 0 was an alias for :size 1.
+       Emacs 30 gained support for :size 0 hash tables (bug#68244).
+
+       * lisp/progmodes/eglot.el (eglot--{}): Define as truly zero-sized.
+
+2024-01-23  Po Lu  <luangruo@yahoo.com>
+
+       Correct crash when executing IP within twilight zone
+
+       * src/sfnt.c (sfnt_address_zp2, sfnt_address_zp1)
+       (sfnt_address_zp0): Don't save into X or Y if the zone is set to
+       the twilight zone and they are NULL.
+
+2024-01-23  Po Lu  <luangruo@yahoo.com>
+
+       * src/sfnt.c (sfnt_mul_f26dot6_fixed): Correct typo in last change.
+
+2024-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/regex-emacs.c (forall_firstchar_1): Improve corner case
+
+       Fixes a "FORALL_FIRSTCHAR: Broken assumption2!!" warning with:
+
+           "^\\(# *\\)\\([^ ]+?\\) *: *\\(.*?\\(?:\n\\1[ 
\t]+.*?\\)*\\)[[:space:]]*$"
+
+2024-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/pdumper.c (dump_object_needs_dumping_p): Simplify
+
+       (hash_table_contents): Use DOHASH.
+
+2024-01-22  Andrea Corallo  <acorallo@gnu.org>
+
+       Revert "* Update a comp test (bug#68523)"
+
+       * test/src/comp-tests.el (comp-tests-ret-type-spec-71): Reverts commit
+       c5031a52c5c6ad74fab27d3754700e7457717516 to compensate for
+       50201e03b9c.
+
+2024-01-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/leim/quail/indian.el (tamil-input): Use `quail' as parent group.
+
+2024-01-22  Po Lu  <luangruo@yahoo.com>
+
+       Do not overwrite flags of succeeding points during generic move
+
+       * src/sfnt.c (sfnt_move): Save FLAGS and restore it after X
+       axis movement loop.
+
+2024-01-22  Po Lu  <luangruo@yahoo.com>
+
+       Correct values of INSTCTRL flags tested
+
+       * src/sfnt.c (sfnt_mul_f26dot6_round): New function.
+       (sfnt_mul_f26dot6_fixed): Replace by call to
+       sfnt_mul_fixed_round.
+       (MUL): Round result, as the Apple and MS scalers do.
+       (sfnt_interpret_control_value_program): The instruction control
+       flag which reverts CVT modifications is 2, not 4.
+
+2024-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Add an eassert back to XSYMBOL
+
+       Problem reported by Alan Mackenzie in:
+       https://lists.gnu.org/r/emacs-devel/2024-01/msg00755.html
+       * src/lisp.h (XSYMBOL): If the arg is not a bare symbol, then
+       eassert (symbols_with_pos_enabled).  This shouldn’t affect code
+       generated for regular builds, and could catch caller errors in
+       debug builds.  For debug builds although this slows things down
+       XSYMBOL should still be faster than it was the day before
+       yesterday, as there’s still no need to eassert (SYMBOLP (a)).
+
+2024-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Speed up builtin_lisp_symbol when not optimizing
+
+       This should help when building with --enable-checking and
+       compiling with gcc -O0.  Problem reorted by Stefan Monnier in:
+       https://lists.gnu.org/r/emacs-devel/2024-01/msg00770.html
+       * src/lisp.h (lisp_h_builtin_lisp_symbol): New macro,
+       with a body equivalent in effect to the old ‘builtin_lisp_symbol’
+       but faster when not optimizing.
+       (builtin_lisp_symbol): Use it.
+       If DEFINE_KEY_OPS_AS_MACROS, also define as macro.
+
+2024-01-22  Po Lu  <luangruo@yahoo.com>
+
+       * configure.ac: Cease suppressing detection of utmp.h.
+
+       Update from Gnulib
+
+2024-01-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       doc: Delete extraneous quotes around keys
+
+       * lisp/allout.el (allout-outlinify-sticky):
+       * lisp/auth-source.el (auth-sources):
+       * lisp/buff-menu.el (Buffer-menu-delete)
+       (Buffer-menu-delete-backwards, Buffer-menu-save)
+       (Buffer-menu-execute, Buffer-menu-select):
+       * lisp/calendar/todo-mode.el (todo-show)
+       (todo-show-categories-table, todo-top-priorities-overrides):
+       * lisp/desktop.el (desktop-save-mode):
+       * lisp/dired-aux.el (dired-do-kill-lines, dired-do-copy):
+       * lisp/edmacro.el (edit-kbd-macro):
+       * lisp/emulation/viper-cmd.el (viper-ask-level):
+       * lisp/emulation/viper-init.el (viper-expert-level):
+       * lisp/filesets.el (filesets-add-buffer):
+       * lisp/follow.el (follow-mode):
+       * lisp/gnus/gnus-group.el (gnus-group-mode):
+       * lisp/gnus/gnus-sum.el (gnus-summary-mode):
+       * lisp/ibuffer.el (ibuffer-mode):
+       * lisp/international/ogonek.el (ogonek-informacja)
+       (ogonek-information):
+       * lisp/isearch.el (search-default-mode):
+       * lisp/macros.el (apply-macro-to-region-lines):
+       * lisp/mail/supercite.el (sc-mail-field-query)
+       (sc-insert-reference, sc-insert-citation):
+       * lisp/play/decipher.el (decipher-make-checkpoint):
+       (decipher-restore-checkpoint):
+       * lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
+       * lisp/progmodes/idlwave.el (idlwave-store-inquired-class):
+       * lisp/progmodes/prolog.el (prolog-mode, prolog-inferior-mode):
+       * lisp/progmodes/sh-script.el (sh-set-shell):
+       * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist)
+       (vhdl-modify-date-prefix-string)
+       (vhdl-modify-date-on-saving, vhdl-mode):
+       * lisp/server.el (server-start):
+       * lisp/subr.el (locate-library):
+       * lisp/tempo.el (tempo-marks, tempo-use-tag-list):
+       * lisp/time.el (world-clock):
+       * lisp/vc/vc-hooks.el (vc-mode):
+       * lisp/whitespace.el (whitespace-report-region):
+       * lisp/windmove.el (windmove-delete-in-direction): Doc fix: Delete
+       extraneous quotes around keys.
+
+2024-01-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Change HASH_UNUSED_ENTRY_KEY from Qunbound to NULL float
+
+       This removes hacks from code that had to be careful not to use
+       Qunbound as a hash table key, at the cost of a minor hack in
+       the GC marker.
+
+       * src/lisp.h (INVALID_LISP_VALUE, HASH_UNUSED_ENTRY_KEY):
+       Define as a null-pointer float.
+       * src/alloc.c (process_mark_stack): Add hack to ignore that value.
+       * src/pdumper.c (dump_object_needs_dumping_p)
+       (pdumper_init_symbol_unbound, pdumper_load):
+       * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Remove hacks for Qunbound.
+
+2024-01-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Make better use of fixnum range in sxhash etc
+
+       Recent hash table changes reduced the range of sxhash, sxhash-eq etc
+       to [0,2**32) on platforms with 62-bit fixnums.  This change makes them
+       use the full fixnum range again.  Hash table hashing is unaffected.
+
+       * src/fns.c (sxhash_eq, sxhash_eql): New.
+       (hash_hash_to_fixnum): Replace with...
+       (reduce_emacs_uint_to_fixnum): ...this.
+       (hashfn_eq, hashfn_eql, Fsxhash_eq, Fsxhash_eql, Fsxhash_equal)
+       (Fsxhash_equal_including_properties): Use the new functions.
+
+2024-01-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Clarify permitted mutation in `maphash` documentation
+
+       * doc/lispref/hash.texi (Hash Access):
+       * src/fns.c (Fmaphash):
+       Make it clear what the function passed as argument can do.  Until now
+       these rules were unwritten, and are still unenforced.
+
+2024-01-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Add C macro for hash table iteration
+
+       This removes some boilerplate code and further reduces dependencies on
+       hash table implementation internals.
+
+       * src/lisp.h (DOHASH): New.
+       * src/comp.c (compile_function, Fcomp__compile_ctxt_to_file):
+       * src/composite.c (composition_gstring_cache_clear_font):
+       * src/emacs-module.c (module_global_reference_p):
+       * src/fns.c (Fmaphash):
+       * src/json.c (lisp_to_json_nonscalar_1):
+       * src/minibuf.c (Ftest_completion):
+       * src/print.c (print):
+       Use it instead of a hand-written loop.
+
+2024-01-21  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project-recompile: New command
+
+       * lisp/progmodes/project.el (project-recompile):
+       New command (bug#68570).
+
+2024-01-21  Po Lu  <luangruo@yahoo.com>
+
+       Don't invert wheel event directions
+
+       * lisp/mwheel.el (mwheel--is-dir-p): In Emacs, up means down and
+       down means up...
+
+2024-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/mwheel.el (mouse-wheel-obey-old-style-wheel-buttons): Simplify
+
+2024-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (define-derived-mode): Fix bug#68600
+
+       * lisp/emacs-lisp/derived.el (define-derived-mode): Use a reference
+       to the mode symbol instead of the mode's "pretty" name in
+       the hook variable's docstring.
+
+2024-01-21  Po Lu  <luangruo@yahoo.com>
+
+       * make-dist (possibly_non_vc_files): Append exec standard files.
+
+2024-01-21  Po Lu  <luangruo@yahoo.com>
+
+       Suppress detection of utmpx.h on Android
+
+       * configure.ac (ac_cv_header_utmpx_h): Predefine to no when
+       Android is older than 34.
+
+2024-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Omit -DHAVE_CONFIG_H
+
+       * configure.ac (CFLAGS): Do not add -DHAVE_CONFIG_H.  It is no
+       longer needed now that the Android printf hack has been removed.
+
+2024-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Speed up make_lisp_symbol when debugging
+
+       * src/lisp.h (make_lisp_symbol): In eassert use XBARE_SYMBOL
+       rather than XSYMBOL.  This is safe because the symbol must be
+       bare.  The change speeds up make_lisp_symbol when debugging.
+
+2024-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify and tune XSYMBOL
+
+       * src/lisp.h (XSYMBOL): Simplify and tune.  There is no need to
+       examine symbols_with_pos_enabled here, since the arg must be a symbol
+       so if it's not a bare symbol then it must be a symbol_with_pos;
+       and checking whether a symbol is bare is cheap.
+
+       With Ubuntu 23.10 on a Xeon W-1350, this shrank Emacs’s executable
+       text size by 0.1% and sped up a default build of all *.elc files by
+       0.4%.
+
+       Remove unnecessary eassert, since XBARE_SYMBOL and XSYMBOL_WITH_POS
+       have easserts that suffice.
+
+2024-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Be more systematic about parens in C source code
+
+       Be more systematic about putting space before paren in calls,
+       and in avoiding unnecessary parentheses in macros.
+       This was partly inspired by my wading through gcc -E output
+       while debugging something else, and seeing too many parens.
+
+       This patch does not change the generated .o files on my platform.
+
+2024-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Omit some parens
+
+       * src/lisp.h (XBARE_SYMBOL, XSYMBOL): Omit parentheses that are no
+       longer needed now that we have symbols with positions and these
+       symbols are never macros.
+
+2024-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify gcc -Wsuggest-attribute=malloc
+
+       * src/lisp.h (hash_table_alloc_bytes):
+       Declare with ATTRIBUTE_MALLOC_SIZE ((1)).
+
+2024-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix autogen.sh’s spurious ‘git diff’ output
+
+       Problem reported by Gerd Möllmann (Bug#68464).
+       * .gitignore: Ignore files in exec that are now copied from build-aux.
+       * admin/merge-gnulib (avoided_flags): Instead of clearing
+       autom4te.cache here ...
+       * autogen.sh (do_git): ... clear it here.
+       Use config.guess, config.sub and install-sh from
+       the Emacs repository, as they are more likely to be up to date.
+       This avoids unnecessary differences among different builders,
+       and avoids unnecessary ‘git diff’ output after autogen.sh.
+       Also, copy these files from build-aux to exec since there
+       should be no difference between the two copies.
+       * exec/config.guess, exec/config.sub, exec/install-sh:
+       Remove from repository, as autogen.sh now copies them from build-aux.
+
+2024-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'mwheel-no-alts'
+
+2024-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       mwheel.el: Code clean to reduce duplication
+
+       * lisp/mwheel.el (mouse-wheel-obey-old-style-wheel-buttons): New var,
+       extracted from `mouse-wheel-*-event` definitions.
+       (mouse-wheel-down-event, mouse-wheel-up-event)
+       (mouse-wheel-left-event, mouse-wheel-right-event): Use it.
+
+2024-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       mwheel.el: Remove `mouse-wheel-*-alternate-event` vars
+
+       Now that `wheel-DIR` events are hardcoded, we never need more than
+       one variable (which we actually never needed anyway, we could have
+       let `mouse-wheel-*-event` vars hold lists of events instead), so
+       remove the `mouse-wheel-*-alternate-event` vars by merging their
+       default value into that of the corresponding `mouse-wheel-*-event`.
+
+       * lisp/mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event)
+       (mouse-wheel-left-event, mouse-wheel-right-event): Don't bother holding
+       `wheel-DIR` events since these are already handled anyway.
+       Hold the event that would have been held in
+       `mouse-wheel-DIR-alternate-event` instead.
+       (mouse-wheel-down-alternate-event, mouse-wheel-up-alternate-event)
+       (mouse-wheel-left-alternate-event, mouse-wheel-right-alternate-event):
+       Delete vars.
+       (mwheel--is-dir-p, mouse-wheel--setup-bindings):
+       * lisp/edmacro.el (edmacro-fix-menu-commands):
+       * lisp/completion-preview.el (completion-preview--mouse-map):
+       Don't use `mouse-wheel-up/down-alternate-event` any more.
+       * lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
+       Do nothing, because it already ignored those vars.
+
+2024-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       mwheel.el: Unconditionally use the `wheel-up/down/...` events
+
+       The `mouse-wheel-DIR-event` vars were introduced because under X11
+       we get different `mouse-N` events depending on the users' mouse and
+       those same events can be used for other things for other rodents, so we
+       can't unconditionally treat those events as mouse-wheel events.
+
+       But this does not apply to the `wheel-up/down/...` events.
+       So hard code them.
+
+       * lisp/mwheel.el (mwheel--is-dir-p): Always consider the `wheel-DIR` 
events.
+       (mouse-wheel--setup-bindings): Always bind the `wheel-DIR` events.
+
+       * lisp/completion-preview.el (completion-preview--mouse-map):
+       Unconditionally bind the `wheel-DIR` events.
+       * lisp/edmacro.el (edmacro-fix-menu-commands): Hard code the
+       `wheel-DIR` events as mouse events regardless of `mouse-wheel-*-event`s.
+       * lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
+       Do nothing, because it's already been done in commit e5be6c7ae309.
+
+       * doc/lispref/commands.texi (Misc Events): Document the need to use
+       `wheel-up/down/left/right` unconditionally.
+
+2024-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/completion-preview.el: Fix use in non-GUI session
+
+       Fix loading in non-GUI sessions where `mwheel` is not preloaded.
+       Not requiring `mwheel` would be a lot more complex, since it would
+       require delaying the construction of `completion-preview--mouse-map`.
+
+       * lisp/completion-preview.el (<toplevel>): Require `mwheel`.
+       Remove correspondingly redundant `defvar`s.
+       (completion-preview--mouse-map): Use `key-description` rather than 
mimicking
+       it with `format`.
+
+2024-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/keymap.el (define-keymap): Demote "duplicate def" to a warning
+
+       * test/src/keymap-tests.el (keymap-test-duplicate-definitions):
+       Adjust accordingly.
+
+2024-01-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2024-01-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid Gnulib ‘access’ module
+
+       * admin/merge-gnulib (AVOIDED_MODULES): Add ‘access’,
+       since I don’t think Emacs cares about the Mac OS X 10.5
+       bug where faccessat ignores a trailing slash on a symlink
+       to a directory.  This will matter the next time we run
+       admin/merge-gnulib.
+
+2024-01-20  Eshel Yaron  <me@eshelyaron.com>
+
+       Eldoc: play nice with mode-line-format-right-align (bug#68547)
+
+       * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Avoid nesting
+       'mode-line-format', since that breaks 'mode-line-format-right-align'.
+
+2024-01-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       5bb5590dec9 Fix blunder in labeled_narrow_to_region
+       78ddb32fadb Fix documentation of icon-elements
+       725a3f32f8b ; Fix typos in symbol names
+       6653ee66ca5 Improve two docstrings in ox-latex
+       7d869a04029 Doc fix in auth-source-read-char-choice
+       f149de223bf Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       1f97a878795 Fix info-xref-tests
+       51f391998b1 Add @kindex in manuals for existing keybindings on 'C-x x...
+
+2024-01-20  Po Lu  <luangruo@yahoo.com>
+
+       Round projs computed executing IP/ISECT instructions and improve IUP
+
+       * src/sfnt.c (sfnt_multiply_divide_rounded): New function.
+       (sfnt_multiply_divide_signed): Always round values, as fonts
+       which rely on IP to move points in concert with prior motion and
+       subsequently round such points with MDAP are sensitive to minor
+       deviations in the behavior of the former instruction.
+       (load_unscaled): New macro.
+       (IUP_SINGLE_PAIR, sfnt_interpret_iup_1): Compute ratio w/
+       unscaled points if possible.
+
+2024-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       trace.el: Mention the last change in NEWS
+
+2024-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       trace.el: Make it usable in batch mode as well
+
+       While at it, this fixes a bug where a traced function was not
+       able to set `deactivate-mark`.
+
+       * lisp/emacs-lisp/trace.el (trace--insert): New function, extracted
+       from `trace-make-advice`.  Output to stdout in batch mode.
+       (trace--entry-message): Rename from `trace-entry-message`.
+       Change calling convention.  Do the insertion directly from here.
+       (trace--exit-message): Rename from `trace-exit-message`.
+       Change calling convention.  Do the insertion directly from here.
+       (trace-make-advice, trace-values): Simplify accordingly.
+
+2024-01-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix another cause of superfluous inotify signals on Android
+
+       * src/android.c (android_select): If the event queue isn't
+       empty upon the initial check, clear all fdsets.
+
+2024-01-19  F. Jason Park  <jp@neverwas.me>
+
+       Redo doc strings for ERC's entry point commands
+
+       * lisp/erc/erc.el: Bump Compat version in Package-Requires header to
+       29.1.4.4.
+       (erc-select-read-args): Revise doc string, and update name of internal
+       `--interactive-env--' entry-point parameter.
+       (erc, erc-tls): Don't use `&interactive-env' as a variable name, in
+       case it confuses persons or programs.  Overhaul doc string in response
+       to user complaints.  For `erc' specifically, include literal
+       `:keyword' symbols to help non-Emacs users understand the required
+       syntax, which isn't obvious without an example, like `erc-tls' has,
+       and with only "&key" and upcased metasynctatic variables to go by.
+       (erc--current-buffer-joined-p): Remove assertion.
+       * test/lisp/erc/erc-scenarios-keep-place-indicator.el
+       (erc-scenarios-keep-place-indicator--follow): Try waiting for
+       intermittently failing condition.
+       * test/lisp/erc/erc-tests.el (erc-select-read-args): Update name of
+       internal keyword variable.
+
+2024-01-19  F. Jason Park  <jp@neverwas.me>
+
+       Add test for erc-extract-command-from-line
+
+       * lisp/erc/erc.el (erc-extract-command-from-line): Redo doc string.
+       * test/lisp/erc/erc-tests.el (erc--parse-isupport-value): Add case for
+       commonly seen escaped character ?=.
+       (erc-extract-command-from-line): New test.
+
+2024-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/international/quail.el (quail-input-method): Fix bug#68338
+
+2024-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Fix 
bug#68514
+
+       Redo the commit 0db2126d7176 to try and avoid selecting more than
+       a mere symbol.
+
+2024-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * test/lisp/emacs-lisp/comp-cstr-tests.el: Use macros in a simpler way
+
+       (comp-cstr-test-ts): Move out of `cl-eval-when`.
+       (comp-cstr-typespec-test): Delete.
+       (comp-cstr-synthesize-tests): Make it take the tests as an argument.
+       (comp-cstr-typespec-tests-alist): Delete var, pass its value to the
+       macro instead.
+
+2024-01-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't use Qunbound as hash table key when printing (bug#68244)
+
+       This flaw could cause an assertion failure.
+
+       * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Don't consider Qunbound a
+       print-circle candidate; it should never be seen by Lisp anyway.
+
+2024-01-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Only use a hash index size of 1 for tables with size 0 (bug#68244)
+
+       This invariant was intended but insufficiently enforced which could
+       lead to an assertion failure.
+
+       * src/fns.c (hash_index_size): Assume size>0, and return a value >1.
+       (make_hash_table): Only use hash_index_size for size>0.
+
+2024-01-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Avoid font-lock reset in `gnus-message-citation-mode'
+
+       * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Use
+       `font-lock-add-keywords' and `font-lock-remove-keywords' instead of
+       modifying font-lock defaults.  Make no font-lock changes until
+       `font-lock-mode' is active.
+
+       Thanks to Morgan Willcock
+
+2024-01-17  Andrea Corallo  <acorallo@gnu.org>
+
+       * Update a comp test (bug#68523)
+
+       * test/src/comp-tests.el (comp-tests-ret-type-spec-71): Update a test
+       due to new 'sxhash-equal' behaviour.
+
+2024-01-17  Po Lu  <luangruo@yahoo.com>
+
+       Increase accuracy of IP instruction
+
+       * src/sfnt.c (sfnt_interpret_ip): Avoid precision loss by
+       retrieving original positions from the unscaled outline,
+       whenever possible.
+
+2024-01-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Update pdumper hashes for buffer and Lisp_Hash_Table
+
+       * src/pdumper.c (dump_hash_table): Update for changes in recent
+       hash-table patch suites (bug#68244).
+       (dump_buffer): Update for case-fold-search changes (bug#66117).
+
+2024-01-16  Mattias Engdegård  <mattiase@acm.org>
+
+       More efficient hash table thawing
+
+       * src/fns.c (hash_table_thaw): Don't allocate anything for empty
+       tables.  Don't initialise the next vector twice.
+       (maybe_resize_hash_table): Factor out min_size constant.
+
+2024-01-16  Juri Linkov  <juri@linkov.net>
+
+       New display action alist entry 'post-command-select-window' (bug#67993)
+
+       * doc/lispref/windows.texi (Buffer Display Action Alists):
+       Add 'post-command-select-window'.
+
+       * lisp/window.el (display-buffer): Add 'post-command-select-window'
+       to the docstring and handle at the end of function.
+
+2024-01-16  Po Lu  <luangruo@yahoo.com>
+
+       Enable the system's Arabic and Khmer fonts under Android
+
+       * lisp/international/fontset.el (setup-default-fontset): If
+       `android', search for Arabic or Khmer fonts with script tags,
+       not OTF features.
+
+2024-01-16  Mike Kupfer  <kupfer@rawbw.com>
+
+       Fix folder creation error (Bug#67361)
+
+       * lisp/mh-e/mh-funcs.el (mh-kill-folder), lisp/mh-e/mh-search.el
+         (mh-index-new-folder), lisp/mh-e/mh-utils.el (mh-prompt-for-folder):
+         Check for existence of speedbar-buffer rather than
+         mh-speed-folder-map. The latter can exist if mh-speed has only been
+         loaded but not displayed.
+
+2024-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/help-fns.el (help-fns--parent-mode): Mention the extra parents
+
+       As suggested by Stefan Kangas in bug#68246.
+
+2024-01-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/info-xref.el (info-xref-subfile-p): Avoid false positives.  
(Bug#68428)
+
+2024-01-15  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: fix bug in jsonrpc--remove
+
+       * lisp/jsonrpc.el (jsonrpc--remove): Check timer before cancelling it.
+       (Version): Bump to 1.2.24
+
+       See https://github.com/joaotavora/eglot/issues/1342
+
+2024-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (js-json-mode): Don't derive from `js-mode` (bug#67463)
+
+       * lisp/progmodes/js.el (js--mode-setup): New function, extracted from
+       `js-mode`.
+       (js-mode): Use it.
+       (js-json-mode): Use it instead of inheriting from `js-mode`.
+
+2024-01-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix recent ses-tests mistakes (bug#5852)
+
+       * test/lisp/ses-tests.el
+       (ses-set-formula-write-cells-with-changed-references):
+       Quote constant list.  Remove unused variable.
+
+2024-01-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Use forward-line instead of next-line in noninteractive test
+
+       * test/lisp/textmodes/page-tests.el (page-tests-what-page):
+       Silence byte-compiler warning; forward-line works nicely here.
+
+2024-01-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Make object-intervals linear instead of quadratic
+
+       * src/fns.c (collect_interval, Fobject_intervals):
+       Build the returned list in reverse instead of appending single
+       elements.
+
+2024-01-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Speed up sxhash-equal-including-properties
+
+       This function now no longer conses at all.  Previously, it constructed
+       a list structure of all string intervals for the sole purpose of
+       hashing.
+
+       * src/fns.c (hash_interval): New.
+       (Fsxhash_equal_including_properties):
+       Use it instead of collect_interval.
+
+2024-01-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Retype traverse_interval arg type from Lisp_Object to void *
+
+       This is a refactoring.  It eliminates a few unnecessary conses and
+       allows for further improvements.
+
+       * src/intervals.c (traverse_intervals):
+       Change argument type.  All callers adapted.
+       * src/fns.c (collect_interval, Fsxhash_equal_including_properties)
+       (Fobject_intervals):
+       * src/print.c (print_check_string_charset_prop)
+       (print_prune_string_charset, print_object, print_interval):
+       Pass a pointer to a Lisp_Object instead of a Lisp_Object.
+
+2024-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Correct implementations of FLIPRGON and FLIPRGOFF
+
+       * src/sfnt.c (sfnt_interpret_fliprgoff)
+       (sfnt_interpret_fliprgon): Reorder arguments to match
+       the order in which arguments are popped by macro wrappers.
+       Fix sundry typos.
+
+2024-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#65116
+
+       * src/xterm.c (xi_focus_handle_for_device): Correct typo.
+       (x_focus_frame): Don't focus frames Emacs believes to be
+       focused if they are frames with independent minibuffer
+       frames.  (bug#65116)
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Hash-table documentation updates (bug#68244)
+
+       * doc/lispref/hash.texi (Creating Hash, Other Hash):
+       Manual updates for make-hash-table, hash-table-rehash-size and
+       hash-table-rehash-threshold.
+       * doc/lispref/objects.texi (Hash Table Type): Update example.
+       * src/fns.c (Fhash_table_rehash_size, Fhash_table_rehash_threshold):
+       Update doc strings.
+       * etc/NEWS: Announce changes.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't pretend that hash-table-size is useful
+
+       * lisp/emacs-lisp/shortdoc.el (hash-table): Remove hash-table-size 
entry.
+       * doc/lispref/hash.texi (Other Hash):
+       * src/fns.c (Fhash_table_size): Make it clear that hash-table-size is
+       probably not worth using.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Change hash_hash_t to uint32_t
+
+       This saves a lot of memory and is quite sufficient.  Hash functions
+       are adapted to produce a hash_hash_t eventually, which eliminates some
+       useless and information-destroying intermediate hash reduction steps.
+
+       We still use EMACS_UINT for most of the actual hashing steps before
+       producing the final value; this may be slightly wasteful on 32-bit
+       platforms with 64-bit EMACS_UINT.
+
+       * src/lisp.h (hash_hash_t): Change to uint32_t.
+       * src/fns.c (reduce_emacs_uint_to_hash_hash): New.
+       (hashfn_eq, hashfn_equal, hashfn_user_defined): Reduce return values
+       to hash_hash_t.
+       (sxhash_string): Remove.  Caller changed to hash_string.
+       (sxhash_float, sxhash_list, sxhash_vector, sxhash_bool_vector)
+       (sxhash_bignum): Remove wasteful calls to SXHASH_REDUCE.
+       (hash_hash_to_fixnum): New.
+       (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal)
+       (Fsxhash_equal_including_properties): Convert return values to fixnum.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Use key Qunbound instead of hash value hash_unused for free entries
+
+       Previously, free hash table entries were indicated by both hash value
+       hash_unused and key Qunbound; we now rely on the latter only.
+       This allows us to change the hash representation to one that does not
+       have an unused value.
+
+       * src/lisp.h (hash_unused): Remove.
+       All uses adapted to calling hash_unused_entry_key_p on the key instead.
+       The hash values for unused hash table entries are now undefined; all
+       initialisation and assignment to hash_unused has been removed.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't dump Qunbound
+
+       The dumper uses a hash table to keep track of dumped objects but as
+       this clashes with the use of Qunbound for marking unused hash table
+       entries, don't dump that value at all.  The symbol name is fixed up
+       after loading.
+
+       An alternative solution would be to use a different unique value for
+       unused entries.
+
+       * src/pdumper.c (dump_object_needs_dumping_p): Skip Qunbound.
+       (dump_vectorlike_generic): New function.
+       (pdumper_load): Call it.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Change hash_idx_t to int32_t on all platforms
+
+       * src/lisp.h (hash_idx_t): Change to int32_t.
+       * src/fns.c (hash_index_size): Adapt to new index type.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Faster hash table growth, starting at zero size
+
+       The algorithms no longer use the rehash_threshold and rehash_size
+       float constants, but vary depending on size.  In particular, the table
+       now grows faster, especially from smaller sizes.
+
+       The default size is now 0, starting empty, which effectively postpones
+       allocation until the first insertion (unless make-hash-table was
+       called with a positive :size); this is a clear gain as long as the
+       table remains empty.  The first inserted item will use an initial size
+       of 8 because most tables are small.
+
+       * src/fns.c (std_rehash_size, std_rehash_threshold): Remove.
+       (hash_index_size): Integer-only computation.
+       (maybe_resize_hash_table): Grow more aggressively.
+       (Fhash_table_rehash_size, Fhash_table_rehash_threshold):
+       Use the constants directly.
+       * src/lisp.h (DEFAULT_HASH_SIZE): New value.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Share hash table test structs
+
+       This saves several words in the hash table object at the cost of an
+       indirection at runtime.  This seems to be a gain in overall
+       performance.
+
+       FIXME: We cache hash test objects in a rather clumsy way. A better
+       solution is sought.
+
+       * src/lisp.h (struct Lisp_Hash_Table): Use a pointer to the test
+       struct.  All references adapted.
+       * src/alloc.c (garbage_collect):
+       * src/fns.c (struct hash_table_user_test, hash_table_user_tests)
+       (mark_fns, get_hash_table_user_test): New state for caching test
+       structs, and functions managing it.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Use hash_idx_t for storing hash indices
+
+       Now hash_idx_t is a typedef for ptrdiff_t so there is no actual code
+       change, but this allows us to decouple the index width from the Lisp
+       word size.
+
+       * src/lisp.h (hash_idx_t): New typedef for ptrdiff_t.
+       (struct Lisp_Hash_Table): Use it for indices and sizes:
+       index, next, table_size, index_size, count and next_free.
+       All uses adapted.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Inlined and specialised hash table look-up
+
+       This improves performance in several ways.  Separate functions are
+       used depending on whether the caller has a hash value computed or not.
+
+       * src/fns.c (hash_lookup_with_hash, hash_lookup_get_hash): New.
+       (hash_lookup): Remove hash return argument.
+       All callers adapted.
+
+       hash_lookup_with_hash hash_hash_t arg
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Store hash values as integers instead of Lisp_Object
+
+       This improves typing, saves pointless tagging and untagging, and
+       prepares for further changes. The new typedef hash_hash_t is an alias
+       for EMACS_UINT, and hash values are still limited to the fixnum range.
+       We now use hash_unused instead of Qnil to mark unused entries.
+
+       * src/lisp.h (hash_hash_t): New typedef for EMACS_UINT.
+       (hash_unused): New constant.
+       (struct hash_table_test): `hashfn` now returns
+       hash_hash_t.  All callers and implementations changed.
+       (struct Lisp_Hash_Table): Retype hash vector to an array of
+       hash_hash_t.  All code using it changed accordingly.
+       (HASH_HASH, hash_from_key):
+       * src/fns.c (set_hash_index_slot, hash_index_index)
+       (hash_lookup_with_hash, hash_lookup_get_hash, hash_put):
+       (hash_lookup, hash_put): Retype hash value arguments
+       and return values.  All callers adapted.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Use non-Lisp allocation for internal hash-table vectors
+
+       Using xmalloc for allocating these arrays is much cheaper than using
+       Lisp vectors since they are no longer marked or swept by the GC, and
+       deallocated much sooner.  This makes GC faster and less frequent, and
+       improves temporal locality.
+
+       Zero-sized tables use NULL for their (0-length) vectors except the
+       index vector which has size 1 and uses a shared constant static vector
+       since it cannot be modified anyway.  This makes creation and
+       destruction of zero-sized hash tables very fast; they consume no
+       memory outside the base object.
+
+       * src/lisp.h (struct Lisp_Hash_Table): Retype the index, next, hash
+       and key_and_value vectors from Lisp_Object to appropriately typed
+       arrays (although hash values are still stored as Lisp fixnums).  Add
+       explicit table_size and index_size members.  All users updated.
+       * src/alloc.c (gcstat): Add total_hash_table_bytes.
+       (hash_table_allocated_bytes): New.
+       (cleanup_vector): Free hash table vectors when sweeping
+       the object.
+       (hash_table_alloc_bytes, hash_table_free_bytes): New.
+       (sweep_vectors): Update gcstat.total_hash_table_bytes.
+       (total_bytes_of_live_objects): Use it.
+       (purecopy_hash_table): Adapt allocation of hash table vectors.
+       (process_mark_stack): No more Lisp slots in the struct to trace.
+       * src/fns.c (empty_hash_index_vector): New.
+       (allocate_hash_table): Allocate without automatically GCed slots.
+       (alloc_larger_vector): Remove.
+       (make_hash_table, copy_hash_table, maybe_resize_hash_table):
+       Adapt vector allocation and initialisation.
+       * src/pdumper.c (hash_table_freeze, hash_table_thaw, dump_hash_table)
+       (dump_hash_table_contents):
+       Adapt dumping and loading to field changes.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Allow zero hash table size
+
+       This avoids any extra allocation for such vectors, including empty
+       tables read by the Lisp reader, and provides extra safety essentially
+       for free.
+
+       * src/fns.c (make_hash_table): Allow tables to be 0-sized.  The index
+       will always have at least one entry, to avoid extra look-up costs.
+       * src/alloc.c (process_mark_stack): Don't mark pure objects,
+       because empty vectors are pure.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Leaner hash table dumping and thawing
+
+       Only dump the actual data, and the test encoded as an enum.  This
+       simplifies dumping, makes dump files smaller and saves space at run
+       time.
+
+       * src/lisp.h (hash_table_std_test_t): New enum.
+       (struct Lisp_Hash_Table): Add frozen_test member, consuming no extra 
space.
+       * src/fns.c (hashfn_user_defined): Now static.
+       (hash_table_test_from_std): New.
+       (hash_table_rehash): Rename to...
+       (hash_table_thaw): ...this and rewrite.
+       * src/pdumper.c (hash_table_contents): Only include actual data, not
+       unused space.
+       (hash_table_std_test): New.
+       (hash_table_freeze): Set frozen_test from test.
+       (dump_hash_table): Dump frozen_test, not the whole test struct.
+       Don't bother other dumping fields that can be derived.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove rehash-threshold and rehash-size struct members
+
+       These parameters have no visible semantics and are hardly ever used,
+       so just use the default values for all hash tables.  This saves
+       memory, shrinks the external representation, and will improve
+       performance.
+
+       * src/fns.c (std_rehash_size, std_rehash_threshold): New.
+       (hash_index_size): Use std_rehash_threshold.  Remove table argument.
+       All callers updated.
+       (make_hash_table): Remove rehash_size and rehash_threshold args.
+       All callers updated.
+       (maybe_resize_hash_table)
+       (Fhash_table_rehash_size, Fhash_table_rehash_threshold):
+       Use std_rehash_size and std_rehash_threshold.
+       (Fmake_hash_table): Ignore :rehash-size and :rehash-threshold args.
+       * src/lisp.h (struct Lisp_Hash_Table):
+       Remove rehash_size and rehash_threshold fields.
+       (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE): Remove.
+       * src/lread.c (hash_table_from_plist): Don't read rehash-size or
+       rehash-threshold.
+       (syms_of_lread): Remove unused symbols.
+       * src/print.c (print_object): Don't print rehash-size or 
rehash-threshold.
+       * src/pdumper.c (dump_hash_table): Don't dump removed fields.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Represent hash table weakness as an enum internally
+
+       This takes less space (saves an entire word) and is more type-safe.
+       No change in behaviour.
+
+       * src/lisp.h (hash_table_weakness_t): New.
+       (struct Lisp_Hash_Table): Replace Lisp object `weak` with enum
+       `weakness`.
+       * src/fns.c
+       (keep_entry_p, hash_table_weakness_symbol): New.
+       (make_hash_table): Retype argument.  All callers updated.
+       (sweep_weak_table, Fmake_hash_table, Fhash_table_weakness):
+       * src/alloc.c (purecopy_hash_table, purecopy, process_mark_stack):
+       * src/pdumper.c (dump_hash_table):
+       * src/print.c (print_object): Use retyped field.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't print or read the hash table size parameter
+
+       It's not a meaningful part of the external representation.
+       This allows for faster printing and reading, smaller
+       external representation, and less memory consumption.
+
+       * src/print.c (print_object): Omit size.
+       * src/lread.c (hash_table_from_plist): Take size from the data.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/print.c (print_object): Don't print empty hash-table data
+
+       Since no data is the default, this preserves bidirectional 
compatibility.
+
+2024-01-13  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/print.c (print_object): Don't print hash table test if `eql`.
+
+       Since `eql` is the default, this ensures bidirectional compatibility
+       while reducing the size of the external representation.
+
+2024-01-13  Juri Linkov  <juri@linkov.net>
+
+       * lisp/window.el (window-prefix-map): Bind C-x w q to quit-window 
(bug#13167)
+
+2024-01-13  Xiyue Deng  <manphiz@gmail.com>
+
+       Fix typo in lispref "Creating Strings" section
+
+       * doc/lispref/strings.texi (String Basics): Fix typo (bug#68375).
+
+2024-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       c494a6e879d Improve documentation of 'emacs_function' in modules
+       a08e6423ccc ; * doc/emacs/fixit.texi (Spelling): Fix last change.
+       418547162d5 Improve documentation of Ispell commands
+       c4b49488455 Don't recommend inverse-video for debugging
+
+2024-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       99efe5c80f9 Fix count of no-op functions (bug#68375)
+       0c01f97b73c Wrap @pxref of Abbrevs in parentheses (bug#68375)
+       70a09325d65 ; Fix last change in widget.texi
+       63411709a8d ; Fix typos
+       824cf54951c ; * etc/TODO: Add item to make play-sound non-blocking.
+       4fadbfe300a Add examples to the Widget manual
+       1bbb610821e Implement missing functions for custom-icon widget
+       29af214a75a Fix fontification of cgroup2 in fstab (bug#68367)
+
+2024-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       d58d0fa52ff Introduce 'let' using lexical binding in the Lisp Introdu...
+       1b123972636 ; Don't record multiple versions of use-package
+       8729a2a10d9 Fix 'rmail-summary-by-thread'
+       2a8c00bfc07 * doc/emacs/back.texi: Fix a typo.
+
+2024-01-13  Lars Brinkhoff  <lars@nocrew.org>
+
+       Fix 'what-page'
+
+       * lisp/textmodes/page.el (page--what-page): Adjust for 1st
+       line on page, and use 'count-lines' again.  (Bug#68215)
+
+       * test/lisp/textmodes/page-tests.el (page-tests-what-page):
+       Update test.
+
+2024-01-13  Steven Allen  <steven@stebalien.com>
+
+       Set the 'name' prop in 'define-advice'
+
+       In addition to naming the advice function `symbol@name', set
+       the 'name' property to NAME.
+       * lisp/emacs-lisp/nadvice.el (define-advice): set the 'name'
+       property to NAME (requested in Bug#68114).  Fixes Bug#68294.
+
+       * doc/lispref/functions.texi (Advising Named Functions): Document
+       that 'define-advice' installs the advice with the specified name.
+
+2024-01-13  kobarity  <kobarity@gmail.com>
+
+       Fix 'python-info-docstring-p' bug in the 2nd line of a buffer
+
+       * lisp/progmodes/python.el (python-info-docstring-p): Add
+       'looking-at-p' check when bobp.
+       * test/lisp/progmodes/python-tests.el (python-font-lock-operator-1)
+       (python-font-lock-operator-2): Restoration of ERTs deleted by
+       mistake.
+       (python-font-lock-escape-sequence-bytes-newline)
+       (python-font-lock-escape-sequence-hex-octal)
+       (python-font-lock-escape-sequence-unicode)
+       (python-font-lock-raw-escape-sequence): Change 'font-lock-doc-face'
+       to 'font-lock-string-face' and remove :expected-result :failed.
+       (python-info-docstring-p-8): New test.  (Bug#68284)
+
+2024-01-13  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix NULL dereference in w32notify.c
+
+       * src/w32notify.c (start_watching): Return NULL instead of freed
+       pointer.
+       (add_watch): Fix NULL dereference.
+
+2024-01-13  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer AREF in GET_TRANSLATION_TABLE
+
+       * src/ccl.c (GET_TRANSLATION_TABLE): Prefer using AREF to depending on
+       vector internals.
+
+2024-01-13  Eli Zaretskii  <eliz@gnu.org>
+
+       * src/fns.c (maybe_resize_hash_table): Fix EMACS_INT format specifier.
+
+2024-01-13  Po Lu  <luangruo@yahoo.com>
+
+       Properly sort results for partial font specs
+
+       * src/sfntfont.c (sfntfont_compare_font_entities): New function.
+       (sfntfont_list): Sort matching font entities by the number of
+       fields set, and mention why.
+
+2024-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (mwheel--is-dir-p): New macro to reduce code duplication
+
+       It also slightly reduces memory allocation.
+
+       * lisp/mwheel.el (mwheel--is-dir-p): New macro.
+       (mwheel-scroll, mouse-wheel-text-scale)
+       (mouse-wheel-global-text-scale): Use it.
+
+2024-01-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Abstract predicate and constant for unused hash keys
+
+       Qunbound is used for many things; using a predicate and constant for
+       the specific purpose of unused hash entry keys allows us to locate
+       them and make changes much more easily.
+
+       * src/lisp.h (HASH_UNUSED_ENTRY_KEY, hash_unused_entry_key_p):
+       New constant and function.
+       * src/comp.c (compile_function, Fcomp__compile_ctxt_to_file):
+       * src/composite.c (composition_gstring_cache_clear_font):
+       * src/emacs-module.c (module_global_reference_p):
+       * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_put)
+       (hash_remove_from_table, hash_clear, sweep_weak_table, Fmaphash):
+       * src/json.c (lisp_to_json_nonscalar_1):
+       * src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
+       * src/print.c (print, print_object):
+       Use them.
+
+2024-01-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Refactor hash table vector reallocation
+
+       * src/fns.c (larger_vecalloc): Remove.
+       (larger_vector): Simplify.
+       (alloc_larger_vector): New.
+       (maybe_resize_hash_table): Use alloc_larger_vector as a simpler and
+       faster replacement for larger_vecalloc.
+
+2024-01-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Refactor: extract hash and index computations to functions
+
+       * src/lisp.h (hash_from_key):
+       * src/fns.c (hash_index_index): New.
+       (hash_table_rehash, hash_lookup, hash_remove_from_table):
+       (maybe_resize_hash_table, hash_put):
+       * src/composite.c (composition_gstring_put_cache): Use them.
+
+2024-01-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Refactor: less layering violation in composite.h
+
+       Avoid using hash table internals directly.
+
+       * src/composite.h (COMPOSITION_KEY): New.
+       (COMPOSITION_GLYPH, COMPOSITION_RULE): Use COMPOSITION_KEY.
+
+2024-01-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Decouple profiler from Lisp hash table internals
+
+       The profiler stored data being collected in Lisp hash tables but
+       relied heavily on their exact internal representation, which made it
+       difficult and error-prone to change the hash table implementation.
+
+       In particular, the profiler has special run-time requirements that are
+       not easily met using standard Lisp data structures: accesses and
+       updates are made from async signal handlers in almost any messy
+       context you can think of and are therefore very constrained in what
+       they can do.
+
+       The new profiler tables are designed specifically for their purpose
+       and are more efficient and, by not being coupled to Lisp hash tables,
+       easier to keep safe.
+
+       The old profiler morphed internal hash tables to ones usable from Lisp
+       and thereby made them impossible to use internally; now export_log
+       just makes new hash table objects for Lisp.  The Lisp part of the
+       profiler remains entirely unchanged.
+
+       * src/alloc.c (garbage_collect): Mark profiler tables.
+       * src/eval.c (get_backtrace): Fill an array of Lisp values instead of
+       a Lisp vector.
+       * src/profiler.c (log_t): No longer a Lisp hash table but a custom
+       data structure: a fully associative fixed-sized cache that maps
+       fixed-size arrays of Lisp objects to counts.
+       (make_log): Build new struct.
+       (mark_log, free_log, get_log_count, set_log_count, get_key_vector)
+       (log_hash_index, remove_log_entry, trace_equal, trace_hash)
+       (make_profiler_log, free_profiler_log, mark_profiler): New.
+       (cmpfn_profiler, hashtest_profiler, hashfn_profiler)
+       (syms_of_profiler_for_pdumper): Remove.
+       (approximate_median, evict_lower_half, record_backtrace, export_log)
+       (Fprofiler_cpu_log, Fprofiler_memory_log, syms_of_profiler):
+       Adapt to the new data structure.
+
+2024-01-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Add internal hash-table debug functions
+
+       These are useful for measuring hashing and collisions.
+
+       * src/fns.c (Finternal__hash_table_histogram)
+       (Finternal__hash_table_buckets, Finternal__hash_table_index_size):
+       New.
+
+2024-01-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       * src/nsfont.m (nsfont_open): Fix Ffont_xlfd_name args.
+
+2024-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       sh-script.el: Add support for `case FOO {...}` (bug#55764)
+
+       * lisp/progmodes/sh-script.el (sh-font-lock-paren): Also recognize
+       `FOO)` after `{`.
+       (sh-smie-sh-rules): Make `for` rule apply to `case FOO { ...}` as well.
+
+       * test/manual/indent/shell.sh: Add new test case.
+
+2024-01-11  Slava Akhmechet  <coffeemug@gmail.com>  (tiny change)
+
+       Eglot: Simplify overlay handling in manual example
+
+       * doc/misc/eglot.texi (Extending Eglot): Simplify.
+
+2024-01-11  Alyssa Ross  <hi@alyssa.is>
+
+       Add autoload cookie to vc-git-grep
+
+       * lisp/vc/vc-git.el (vc-git-grep): Add autoload cookie.  (Bug#67018)
+
+2024-01-11  john muhl  <jm@pub.pink>
+
+       Support indented continuation lines in lua-ts-mode
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules):
+       Add a rule to indent multi-line assignments and if statements.
+       (lua-ts-indent-continuation-lines): New user option.
+       * test/lisp/progmodes/lua-ts-mode-resources/indent.erts: Add
+       tests.  (Bug#68279)
+
+2024-01-11  Alan Mackenzie  <acm@muc.de>
+
+       Bind cross-buffer buffer-local variable correctly.
+
+       This fixes bug#68200.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-output-docform):
+       Note that let-binding a buffer local variable leaves it buffer
+       local, hence to transfer the binding of
+       byte-compile-dynamic-docstrings to the output buffer, an
+       intermediate variable is needed.  Implement this.
+
+2024-01-11  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix man-tests.el
+
+       * test/lisp/man-tests.el (man-tests-Man-translate-references): Fix
+       test for MS-Windows and MS-DOS.
+
+2024-01-11  Stephen Berman  <stephen.berman@gmx.net>
+
+       Revert "Fix typo in lispref 'Creating Strings' section"
+
+       This reverts commit b825962ea840348bbde0c834ca398458a06fbb8b
+       which was mistakenly installed in master instead of emacs-29.
+
+2024-01-11  Xiyue Deng  <manphiz@gmail.com>
+
+       Fix typo in lispref "Creating Strings" section
+
+       * doc/lispref/strings.texi (String Basics): Fix typo.
+
+2024-01-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt test names in auth-source-tests.el
+
+       * test/lisp/auth-source-tests.el (auth-source-test-netrc-credentials)
+       (auth-source-test-netrc-credentials-2)
+       (auth-source-test-macos-keychain-search): Adapt test names.
+
+2024-01-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       Support numeric port numbers in auth-source-macos-keychain
+
+       * lisp/auth-source.el (auth-source-macos-keychain-search):
+       Support numeric port numbers (bug#68376).
+       (auth-source-macos-keychain-search-items): Make regexp more robust.
+
+       * test/lisp/auth-source-tests.el (test-macos-keychain-search):
+       Extend test.
+
+2024-01-11  Jared Finder  <jared@finder.org>
+
+       Populate tool-bar bindings on text terminals
+
+       * lisp/tool-bar.el (tool-bar-make-keymap-1): Populate on text
+       terminals.  (Bug#68334)
+
+2024-01-11  Gabriel do Nascimento Ribeiro  <gabriel376@hotmail.com>
+
+       Consider outline-heading-end-regexp in outline-font-lock-keywords
+
+       * lisp/outline.el (outline-font-lock-keywords): Add
+       outline-heading-end-regexp to regexp (bug#66166).
+
+2024-01-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       vc-log-mergebase: Fix the printing of buttons at the bottom
+
+       * lisp/vc/vc.el (vc-print-log-setup-buttons):
+       Fix when LIMIT is a string (bug#68364).
+       (vc-print-log-internal): Update docstring.
+
+2024-01-10  Eshel Yaron  <me@eshelyaron.com>
+
+       Handle anonymous commands in C-h K
+
+       * lisp/info.el (Info-goto-emacs-key-command-node): Don't call
+       Info-goto-emacs-command-node for anonymous commands.  (Bug#61505)
+
+2024-01-10  Augusto Stoffel  <arstoffel@gmail.com>
+
+       Use auth-info-mode for non-hidden authinfo and netrc files
+
+       * files.el (auto-mode-alist): Match non-hidden authinfo and netrc
+       files, since it is reasonable to store passwords in
+       ~/.emacs.d/authinfo.gpg or a similarly named file.  (Bug#66241)
+
+2024-01-10  john muhl  <jm@pub.pink>
+
+       Add Ruby to the tree-sitter build-module script
+
+       * admin/notes/tree-sitter/build-module/batch.sh (languages): Add
+       Ruby.  (Bug#65739)
+
+2024-01-10  Xi Lu  <lx@shellcodes.org>
+
+       Fix man.el shell injection vulnerability
+
+       * lisp/man.el (Man-translate-references): Fix shell injection
+       vulnerability.  (Bug#66390)
+       * test/lisp/man-tests.el (man-tests-Man-translate-references): New
+       test.
+
+2024-01-10  Richard M. Stallman  <rms@gnu.org>
+
+       Esplain how to turn off GDB display of inferior-events
+
+2024-01-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Lua compilation-mode rules adjustments (bug#60830)
+
+       * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
+       Translate `lua' and `lua-stack' to rx, and change two unnecessary
+       non-greedy operators to greedy.
+
+2024-01-10  Thierry Volpiatto  <thievol@posteo.net>
+
+       Fix window setting in register preview (bug#67882)
+
+       and allow configuring it if needed.
+
+       * lisp/register.el (register-preview-display-buffer-alist): New user
+         var.
+       (register-preview,register-preview-1): Use it.
+
+2024-01-10  Rudolf Adamkovič  <salutis@me.com>
+
+       Make Compilation mode recognize Lua errors
+
+       Emacs comes with built-in support for the Lua programming language in
+       the form of the Lua mode and now also the Lua Tree-sitter mode.  This
+       patch further improves Lua support in Emacs by making the Compilation
+       mode recognize Lua errors and stack traces.
+
+       * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
+       Add regexps to aid Lua development, namely the 'lua' regexp that
+       matches Lua errors and the 'lua-stack' regexp that matches Lua stack
+       frames.  (Bug#60830)
+       * etc/compilation.txt (Lua): Add an example of a Lua error message
+       with a stack trace.
+       * test/lisp/progmodes/compile-tests.el 
(compile-tests--test-regexps-data):
+       (compile-test-error-regexps): Test the new 'lua' and 'lua-stack'
+       regexps added to the 'compilation-error-regexp-alist-alist'.
+
+2024-01-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix use after free in androidvfs.c
+
+       * src/androidvfs.c (android_afs_opendir, android_saf_tree_opendir):
+       Fix use after free.
+
+2024-01-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove redundant casts from void* with malloc functions
+
+       * src/msdos.c (IT_menu_make_room):
+       * src/pgtkterm.c (pgtk_define_fringe_bitmap):
+       * src/w16select.c (set_clipboard_data):
+       * src/w32term.c (w32_define_fringe_bitmap):
+       * src/w32uniscribe.c (uniscribe_shape): Remove redundant cast from
+       void* with xrealloc.
+       * admin/coccinelle/alloc_cast.cocci: New semantic patch.
+
+2024-01-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix file name completion with Tramp on MS Windoes
+
+       * doc/misc/trampver.texi:
+       * lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
+
+       * lisp/net/tramp.el (tramp-build-completion-file-name-regexp):
+       Do not use `tramp-volume-letter-regexp'.  (Bug#68320)
+       (tramp-completion-handle-expand-file-name): Simplify regexp.
+
+       * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
+       (tramp-test26-interactive-file-name-completion): Run also on MS Windows.
+
+2024-01-10  Philip Kaludercic  <philipk@posteo.net>
+
+       Handle package versions that are not version strings
+
+       * lisp/emacs-lisp/package.el (package-menu--version-predicate): Ignore
+       any errors raised by 'version-to-list', thus falling back to the
+       default version list.  (Bug#68317)
+
+2024-01-10  Juri Linkov  <juri@linkov.net>
+
+       Support :category in completion-extra-properties (bug#68214)
+
+       * doc/lispref/minibuf.texi (Completion Variables): Add :category
+       to the table of completion-extra-properties.
+
+       * lisp/minibuffer.el (completion--metadata-get-1): New internal 
function.
+       (completion-metadata-get): Use 'completion--metadata-get-1'.
+       Thanks to Daniel Mendler <mail@daniel-mendler.de>.
+       (completion-extra-properties): Mention :category in the docstring.
+
+       * lisp/calendar/calendar.el (calendar-read-date): Use more
+       user-friendly let-binding of completion-extra-properties
+       with :category.
+
+2024-01-09  Juri Linkov  <juri@linkov.net>
+
+       Support more metadata properties in completion-extra-properties 
(bug#68214)
+
+       * doc/lispref/minibuf.texi (Completion Variables): Add
+       to the table of completion-extra-properties new items:
+       `group-function', `display-sort-function', `cycle-sort-function'.
+
+       * lisp/icomplete.el (icomplete--augment): Remove unnecessary
+       plist-get from completion-extra-properties since now
+       completion-metadata-get does this.
+
+       * lisp/minibuffer.el (completion-metadata-get): Use plist-get to
+       get prop from completion-extra-properties and cache the keyword.
+       Thanks to Daniel Mendler <mail@daniel-mendler.de>.
+       (completion-extra-properties): Mention new properties in docstring.
+       (minibuffer-completion-help): Remove unnecessary
+       plist-get from completion-extra-properties since now
+       completion-metadata-get does this.
+
+       * lisp/net/eww.el (eww-switch-to-buffer):
+       * test/lisp/minibuffer-tests.el 
(completions-affixation-navigation-test):
+       Unquote lambda in completion-extra-properties.
+
+2024-01-09  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Fixes for point in window configuration (bug#68235)
+
+       (tab-bar--tab): Instead of 'point-marker', use 'copy-marker' with the 
TYPE
+       argument set to 'window-point-insertion-type'.  This will allow point to
+       follow the output after switching tabs when point is at the end of
+       a comint/compilation buffer.
+       (tab-bar-select-tab): Remove ad-hoc rule for the reverted dired buffer.
+
+2024-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (mouse-wheel-*-event): Minor cleanups
+
+       * lisp/mwheel.el (mwheel-event-button): Mark as obsolete alias.
+       Change all callers.
+
+       * lisp/edmacro.el (mouse-wheel-*-event): Move declarations to ...
+       (edmacro-fix-menu-commands): ... where we do know that they should
+       be defined.  Obey `mouse-wheel-*-alternate-event`s as well.
+
+2024-01-09  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use `min`/`max` macros in a few more places
+
+       * src/bidi.c (bidi_set_sos_type):
+       * src/coding.c (consume_chars):
+       * src/dosfns.c (dos_memory_info):
+       * src/emacs.c (sort_args):
+       * src/insdel.c (count_combining_before)
+       (count_combining_after, replace_range, del_range_2):
+       * src/sort.c (tim_sort):
+       * src/w32.c (sys_write):
+       * src/xfaces.c (face_at_buffer_position)
+       (face_for_overlay_string): Prefer using 'min' and 'max' macros.
+
+2024-01-08  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Make sure cperl-file-style is set buffer-local
+
+       * lisp/progmodes/cperl-mode.el (cperl-file-style): Add description
+       what the options actually do.
+       (cperl-menu): Split the menu entry "Indent styles" into "Default
+       indent styles" and "Indent styles for current buffer"
+       (cperl--set-file-style): call `cperl-file-style' instead of
+       `cperl-set-style'.  This completes the fix for Bug#17948.
+       (cperl-set-style): Explain when to use `cperl-file-style'.
+       Use `set-default-toplevel-value' instead of `set'.
+       (cperl-set-style-back): Use `set-default-toplevel-value' instead
+       of `set'.
+       (cperl-file-style): New command to set the file style for the
+       current buffer.
+
+       * etc/NEWS: Announce the new command cperl-file-style.
+
+2024-01-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make Tramp more robust
+
+       * lisp/net/tramp-sh.el (tramp-bundle-read-file-names): Check, that
+       the command finishes successfully.
+
+2024-01-08  Po Lu  <luangruo@yahoo.com>
+
+       Properly instruct Italic Arial or BS Mono at small PPEM sizes
+
+       * src/sfnt.c (sfnt_read_simple_glyph): Correct alignment errors.
+       (PUSH2_UNCHECKED): Don't shift negative signed value to the
+       left.
+       (SLOOP): Permit LOOP to be set to 0, which inhibits the
+       execution of instructions it affects.
+       (sfnt_address_zp2, sfnt_address_zp1, sfnt_address_zp0): Permit X
+       and Y to be NULL.
+       (sfnt_dot_fix_14): Guarantee that the final value is rounded to
+       negative infinity, not zero.
+       (sfnt_project_zp1_zp0_org): New function.
+       (sfnt_interpret_mdrp): Avoid rounding issues by computing
+       original distance from unscaled coordinates, if at all possible.
+       (sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2):
+       Set zone->simple.
+       (all_tests) <LOOP>: Update test.
+       (sfnt_identify_instruction, main): Adjust tests.
+
+       * src/sfnt.h (struct sfnt_interpreter_zone): New field simple.
+
+2024-01-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove redundant conversion from bool to bool
+
+       * src/xdisp.c (maybe_produce_line_number): Remove redundant conversion
+       of the value of an expression from bool to bool.
+
+2024-01-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Support string literals in build_string.cocci
+
+       * admin/coccinelle/build_string.cocci: Support string literals.
+
+2024-01-08  F. Jason Park  <jp@neverwas.me>
+
+       Clarify purpose of module aliases in ERC
+
+       * doc/misc/erc.texi: Mention that aliases should not be defined for
+       new modules.
+       * lisp/erc/erc-common.el (define-erc-module): Refactor slightly for
+       readability.
+       (erc-with-all-buffers-of-server): Redo doc string.
+       * lisp/erc/erc-pcomplete.el: Declare `completion' module's feature and
+       group as being `erc-pcomplete'.
+       * test/lisp/erc/erc-tests.el (erc--find-group--real): Assert group
+       lookup works for "normalized" module name `completion' of
+       `erc-pcomplete-mode'.
+
+2024-01-08  F. Jason Park  <jp@neverwas.me>
+
+       Make ERC's format catalogs more extensible
+
+       * lisp/erc/erc-common.el (erc--define-catalog): Accept a `:parent'
+       keyword to allow for extending an existing catalog by overriding some
+       subset of defined entries.
+       (erc-define-message-format-catalog): Add edebug spec.
+       * lisp/erc/erc.el (erc-retrieve-catalog-entry): Check parent for
+       definition before looking to `default-toplevel-value'.
+       * test/lisp/erc/erc-tests.el (erc-retrieve-catalog-entry): Add test
+       case for inheritance.
+       * test/lisp/erc/resources/erc-tests-common.el
+       (erc-tests-common-pp-propertized-parts): Fix bug in convenience
+       command.  (Bug#67677)
+
+2024-01-08  F. Jason Park  <jp@neverwas.me>
+
+       Allow setting `erc-split-line-length' to zero
+
+       * etc/ERC-NEWS: Mention that `erc-flood-protect' no longer affects
+       line splitting.
+       * lisp/erc/erc-backend.el (erc-split-line-length): Mention ways for
+       modules to suppress line splitting entirely.
+       (erc--split-line): Exit loop instead of asserting progress has been
+       made.
+       * lisp/erc/erc.el (erc--split-lines): Don't split input when
+       option `erc-split-line-length' is zero.
+       * test/lisp/erc/erc-tests.el (erc--split-line): Assert behavior when
+       `erc-split-line-length' is 0.  (Bug#62947)
+
+2024-01-08  F. Jason Park  <jp@neverwas.me>
+
+       Use global window hook for erc-keep-place-indicator
+
+       * lisp/erc/erc-goodies.el
+       (erc--keep-place-indicator-on-window-buffer-change): Expect a frame
+       instead of a window argument for the only parameter, which is now
+       ignored, and exit early when entering a minibuffer.
+       (erc--keep-place-indicator-setup): Remove function because local
+       modules don't need a separate setup function.
+       (erc-keep-place-indicator-mode): Add autoload cookie even though this
+       is a local module, since this particular one is intended for more
+       granular, interactive activation.  This is mostly a formality because
+       it only matters in the unlikely event `erc-modules' is missing all
+       other modules defined in `erc-goodies'.
+       (erc-keep-place-indicator-mode, erc-keep-place-indicator-enable,
+       erc-keep-place-indicator-disable): Move functionality from
+       `erc--keep-place-indicator-setup' into enable body.  Use global
+       instead of local members for `erc-keep-place-mode-hook' and
+       `window-buffer-change-functions'.
+       (erc--keep-place-indicator-on-global-module): Perform necessary action
+       in all ERC buffers, not just the current one, where the user has
+       ostensibly disabled `erc-keep-place-mode'.
+       * test/lisp/erc/erc-goodies-tests.el
+       (erc-goodies-tests--assert-kp-indicator-on,
+       erc-goodies-tests--assert-kp-indicator-off): Change expected hook
+       membership for dependencies from global to local.
+       (erc-goodies-tests--keep-place-indicator): Use new helpers from
+       the `erc-tests-common' library.  (Bug#59943)
+
+2024-01-07  Juri Linkov  <juri@linkov.net>
+
+       Support more metadata properties in completion-category-overrides 
(bug#68214)
+
+       * doc/lispref/minibuf.texi (Completion Variables): Add
+       to the table of completion-category-overrides new items:
+       `cycle-sort-function', `group-function', `annotation-function',
+       `affixation-function'.
+
+       * lisp/minibuffer.el (completion-metadata-get): Try also to get
+       the property from completion-category-overrides by category.
+       Suggested by Daniel Mendler <mail@daniel-mendler.de>.
+       (completion-category-defaults): Add new properties to docstring.
+       (completion-category-overrides): Add customization for new
+       properties: `cycle-sort-function', `group-function',
+       `annotation-function', `affixation-function'.
+       (completion-metadata-override-get): Remove function.
+       (minibuffer-completion-help): Replace 'completion-metadata-override-get'
+       with 'completion-metadata-get' for 'display-sort-function'.
+
+2024-01-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Handle local default directory in connection-local-value
+
+       * lisp/files-x.el (connection-local-p, connection-local-value):
+       Handle local `default-directory'.
+
+       * test/lisp/files-x-tests.el (files-x-test-connection-local-value):
+       Extend test.
+
+2024-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (jsonrpc--log-event): Try and fix bug#68072
+
+       * lisp/jsonrpc.el (jsonrpc--log-event): Force the use of
+       `lisp-indent-function` in `pp-to-string`.
+
+2024-01-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: careful when invoking code actions on no symbol at all
+
+       Invoking code actions without a marked region or over a symbol
+       will trip certain servers up since BEG and END in eglot-code-actions
+       will be nil, causing 'eglot--pos-to-lsp-position' to assume point (which
+       is OK) but the 'flymake-diagnostics' call to return all diagnostics.
+
+       This causes an absolutely undecipherable JavaScript backtrace to be
+       sent back to Eglot from typescript-language-server.
+
+       Github-reference: https://github.com/joaotavora/eglot/issues/847
+
+       * lisp/progmodes/eglot.el (eglot--code-action-bounds): Avoid returning
+         (list nil nil)
+
+2024-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (describe-package-1): Fix bug#68288
+
+       Fix support for multiple maintainers in `describe-package` and
+       in `package-report-bug`.
+
+       * lisp/emacs-lisp/package.el (describe-package-1): There's no
+       `:maintainers:`, instead `:maintainer` can hold a list of maintainers.
+       (package-maintainers): Adapt to the possibility of having
+       multiple maintainers.
+       (package-report-bug): Don't burp if the package is not installed.
+
+2024-01-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify Ubuntu GCC 13.2 in x_get_local_selection
+
+       * src/xselect.c: Ignore -Wanalyzer-null-dereference,
+       to work around GCC bug 102671.
+
+2024-01-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify Ubuntu GCC 13.2 in set_marker_internal
+
+       * src/marker.c (set_marker_internal): Ignore
+       -Wanalyzer-deref-before-check, to work around GCC bug 113253.
+
+2024-01-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Complete change of ert-remote-temporary-file-directory
+
+       * lisp/emacs-lisp/ert-x.el: Adapt comment.
+
+       * test/lisp/net/tramp-tests.el (ert-remote-temporary-file-directory):
+       Make it a defvar.
+
+2024-01-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Minor change in tramp.texi
+
+       * doc/misc/tramp.texi (Obtaining @value{tramp}): Mention the ELPA
+       Tramp manual.
+
+2024-01-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp version
+
+       * doc/misc/trampver.texi:
+       * lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
+
+2024-01-06  Steven Allen  <steven@stebalien.com>
+
+       Make 'advice-remove' interactive
+
+       `ad-advice-remove' is already interactive, but it doesn't work with
+       new-style advice.
+
+       * lisp/emacs-lisp/nadvice.el (advice-remove): Make it
+       interactive (Bug#67926).
+
+       * doc/lispref/functions.texi (Advising Named Functions): Document that
+       'advice-remove' is now an interactive command.
+
+2024-01-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       bf7034048c1 ; * doc/emacs/custom.texi (Changing a Variable): Update e...
+       466d1c98a9e Fix icons.el when icon does not exist as a file
+       2a861124e89 ; Improve documentation of 'buffer-match-p'
+       dc9d02f8a01 * lisp/isearch.el (isearch-search-and-update): Let-bind '...
+       9308d9a74ab * src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash tabl...
+       a2a6619b282 Provide decent documentation for 'help-quick'
+       ab66b749a27 ; * src/window.c (Fset_window_margins): Doc fix.
+       1a677d1429d treesit--pre-syntax-ppss: Fix args-out-of-range in intern...
+
+2024-01-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix last change (bug#67930)
+
+       * lisp/progmodes/compile.el (compilation--expand-fn): Renamed from
+       'safe-expand-file-name'; all callers changed.  Doc fix.
+
+2024-01-06  Jurgen De Backer  <jurgen.de-backer.ext@eurocontrol.int>
+
+       Fix file-name resolution in *compilation* and *grep* buffers
+
+       Resolving symlinks in file names could lead to non-existent files
+       if some leading directory is a symlink to its parent.
+       In emacs 28 'expand-file-name' was replaced by 'file-truename' to
+       solve bug #8035.
+
+       * lisp/progmodes/compile.el (safe-expand-file-name): New function.
+       (compilation-find-file-1): Call 'safe-expand-file-name'.  (Bug#67930)
+
+2024-01-06  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix use of 'display-buffer-alist' for Info buffers
+
+       * lisp/info.el (info-pop-to-buffer): New function.
+       (info-other-window, info, Info-find-node, Info-revert-find-node)
+       (Info-next, Info-prev, Info-up, info-display-manual): Call
+       'info-pop-to-buffer'.  (Bug#68081)
+
+2024-01-06  Po Lu  <luangruo@yahoo.com>
+
+       Revert "Add new `swap` macro and use it"
+
+       typeof is an extension which does not exist in Standard C, so macros
+       using it are unsuitable for inclusion in Emacs.
+
+       This reverts commit 37889523278fe65733938fb11c3701898309961c.
+
+2024-01-06  Po Lu  <luangruo@yahoo.com>
+
+       Properly parse TTC tables with digital signatures
+
+       * src/sfnt.c (sfnt_read_ttc_header): Don't inadvertently
+       overwrite first two offsets while reading the digital signature.
+
+2024-01-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add new `swap` macro and use it
+
+       A `swap` macro prevents programming errors and is more concise.
+       It is a natural addition to our existing `min` and `max` macros.
+
+       * src/lisp.h (swap): New macro.
+       * lwlib/xlwmenu.c (draw_shadow_rectangle, draw_shadow_rhombus):
+       * src/androidterm.c (android_get_surrounding_text):
+       * src/buffer.c (Fmake_overlay, modify_overlay, Fmove_overlay):
+       * src/dispnew.c (swap_glyphs_in_rows, reverse_rows):
+       * src/editfns.c (Finsert_buffer_substring)
+       (Fcompare_buffer_substrings):
+       * src/eval.c (run_hook_wrapped_funcall):
+       * src/fns.c (extract_data_from_object):
+       * src/regex-emacs.c (forall_firstchar_1):
+       * src/textconv.c (textconv_query, get_extracted_text)
+       (get_surrounding_text):
+       * src/textprop.c (validate_interval_range)
+       (verify_interval_modification):
+       * src/w32uniscribe.c (OTF_INT16_VAL):
+       * src/xfaces.c (load_face_colors):
+       * src/xterm.c (SWAPCARD32): Prefer using above macro to open-coding.
+
+2024-01-05  Nicholas Vollmer  <iarchivedmywholelife@gmail.com>
+
+       Use special-mode in checkdoc status buffer
+
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-display-status-buffer): Use
+       `special-mode'.  (Bug#68268)
+
+2024-01-05  Jeremy Bryant  <jb@jeremybryant.net>
+
+       * lisp/mail/rmail.el (rmail-epa-decrypt): Fix typo (bug#68248).
+
+2024-01-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of derived modes and their parents
+
+       * doc/lispref/modes.texi (Derived Modes): Expand documentation of
+       functions that manipulate parent modes of a derived mode.
+       Document 'provided-mode-derived-p'.  Improve indexing.
+
+       * lisp/subr.el (derived-mode-all-parents)
+       (derived-mode-add-parents, provided-mode-derived-p)
+       (derived-mode-p): Doc fixes.
+
+2024-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/startup.el (startup--load-user-init-file): Fix last change
+
+       Use `condition-case-unless-debug` only in the branch when
+       `--debug-init` is not in use, otherwise it prevents `handler-bind`
+       from triggering the debugger.
+
+2024-01-05  Graham Marlow  <graham@mgmarlow.com>
+
+       Improve yaml-ts-mode fill-paragraph (bug#68226)
+
+       When using fill-paragraph on a block_scalar (the element within a
+       block_node) fill the paragraph such that the contents remain
+       within the block_node. This fixes the previous behavior that would
+       clobber a block_node.
+
+       * lisp/textmodes/yaml-ts-mode.el: Add yaml-ts-mode--fill-paragraph
+
+2024-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'handler-bind'
+
+2024-01-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Avoid `defconst` for vars which we modify
+
+       If we `setq` or let-bind a var, then presumably it's not a const.
+
+       * lisp/bookmark.el (bookmark-bmenu-buffer):
+       * lisp/char-fold.el (char-fold-table):
+       * lisp/pcmpl-linux.el (pcmpl-linux-fs-modules-path-format)
+       (pcmpl-linux-mtab-file):
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-log-buffer):
+       * lisp/emacs-lisp/check-declare.el (check-declare-warning-buffer):
+       * lisp/emacs-lisp/ert-x.el (ert-remote-temporary-file-directory):
+       * lisp/erc/erc.el (erc-default-port):
+       * lisp/net/tramp.el (tramp-unknown-id-string)
+       (tramp-unknown-id-integer):
+       * lisp/url/url-util.el (url-unreserved-chars):
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Improve `handler-bind` doc
+
+       * doc/lispref/control.texi (Handling Errors) <handler-bind>: Expand.
+       * doc/lispref/variables.texi (Variable Scoping): Mention static scoping.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (backtrace-on-redisplay-error): Use `handler-bind`
+
+       Reimplement `backtrace-on-redisplay-error` using `push_handler_bind`.
+       This moves the code from `signal_or_quit` to `xdisp.c` and
+       `debug-early.el`.
+
+       * lisp/emacs-lisp/debug-early.el (debug-early-backtrace):
+       Add `base` arg to strip "internal" frames.
+       (debug--early): New function, extracted from `debug-early`.
+       (debug-early, debug-early--handler): Use it.
+       (debug-early--muted): New function, extracted (translated) from
+       `signal_or_quit`; trim the buffer to a max of 10 backtraces.
+
+       * src/xdisp.c (funcall_with_backtraces): New function.
+       (dsafe_calln): Use it.
+       (syms_of_xdisp): Defsym `Qdebug_early__muted`.
+
+       * src/eval.c (redisplay_deep_handler): Delete var.
+       (init_eval, internal_condition_case_n): Don't set it any more.
+       (backtrace_yet): Delete var.
+       (signal_or_quit): Remove special case for 
`backtrace_on_redisplay_error`.
+       * src/keyboard.c (command_loop_1): Don't set `backtrace_yet` any more.
+       * src/lisp.h (backtrace_yet): Don't declare.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (signal_or_quit): Preserve error object identity
+
+       Make sure we build the (ERROR-SYMBOL . ERROR-DATA) object only once
+       when signaling an error, so that its `eq` identity can be used.
+       It also gets us a tiny bit closer to having real "error objects"
+       like in most other current programming languages.
+
+       * src/eval.c (maybe_call_debugger): Change arglist to receive the error
+       object instead of receiving the signal and the data separately.
+       (signal_or_quit): Build the error object right at the beginning so it
+       stays `eq` to itself.
+       Rename the `keyboard_quit` arg to `continuable` so say what it does
+       rather than what it's used for.
+       (signal_quit_p): Change arg to be the error object rather than just the
+       error-symbol.
+
+       * src/keyboard.c (cmd_error_internal, menu_item_eval_property_1):
+       Adjust calls to `signal_quit_p` accordingly.
+
+       * test/src/eval-tests.el (eval-tests--error-id): New test.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       eval.c: Add new var `lisp-eval-depth-reserve`
+
+       Rather than blindly increase `max-lisp-eval-depth` when entering the
+       debugger or running `signal-hook-function`, use this new "reserve"
+       to keep track of how much we have grown the stack for "debugger"
+       purposes so that for example recursive calls to `signal-hook-function`
+       can't eat up the whole C stack.
+
+       * src/eval.c (max_ensure_room): Rewrite.
+       (restore_stack_limits): Move before `max_ensure_room`.  Rewrite.
+       (call_debugger, signal_or_quit): Adjust calls accordingly.
+       Also grow `max-lisp-eval-depth` for `hander-bind` handlers.
+       (init_eval_once): Don't initialize `max_lisp_eval_depth` here.
+       (syms_of_eval): Initialize it here instead.
+       Add new var `lisp-eval-depth-reserve`.
+
+       * doc/lispref/eval.texi (Eval): Add `lisp-eval-depth-reserve`.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (macroexp--with-extended-form-stack): Use plain `let`
+
+       `macroexp--with-extended-form-stack` used manual push/pop so that upon
+       non-local exits the "deeper" value is kept, so the error handler gets
+       to know what was the deeper value, so as to be able to compute more
+       precise error locations.
+       Replace this with a `handler-bind` which catches that "deeper" value
+       more explicitly.
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--displaying-warnings):
+       Use `handler-bind` to catch the value of `byte-compile-form-stack`
+       at the time of the error.  Also consolidate the duplicated code.
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--with-extended-form-stack):
+       Use a plain dynbound let-rebinding.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Move batch backtrace code to `top_level_2`
+
+       Move ad-hoc code meant to ease debugging of bootstrap (and batch mode)
+       to `top_level_2` so it doesn't pollute `signal_or_quit`.
+
+       * src/lisp.h (pop_handler, push_handler_bind): Declare.
+       * src/keyboard.c (top_level_2): Setup an error handler to call
+       `debug-early` when noninteractive.
+       * src/eval.c (pop_handler): Not static any more.
+       (signal_or_quit): Remove special case for noninteractive use.
+       (push_handler_bind): New function, extracted from `Fhandler_bind_1`.
+       (Fhandler_bind_1): Use it.
+       (syms_of_eval): Declare `Qdebug_early__handler`.
+       * lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Weed out
+       frames below `debug-early`.
+       (debug-early--handler): New function.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       startup.el: Use `handler-bind` to implement `--debug-init`
+
+       This provides a more reliable fix for bug#65267 since we don't
+       touch `debug-on-error` nor `debug-ignore-errors` any more.
+
+       * lisp/startup.el (startup--debug): New function.
+       (startup--load-user-init-file): Use it and `handler-bind` instead of
+       let-binding `debug-on-error`.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       emacs-module-tests.el (mod-test-non-local-exit-signal-test): Repair test
+
+       That test relied on `debugger` and `debug-on-signal` in a way that
+       doesn't work with the new ERT code.
+
+       * test/src/emacs-module-tests.el (mod-test-non-local-exit-signal-test):
+       Use `handler-bind` rather than the debugger.
+
+2024-01-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Use handler-bind to repair bytecomp-tests
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--error-frame, bytecomp--byte-op-error-backtrace):
+       Make test pass again and simplify, using handler-bind instead
+       of the previous debugger hack.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix ert-tests.el for the new `handler-bind` code
+
+       Now that `ert.el` uses `handler-bind` instead of `debugger`, some
+       details of the behavior have changed.  More specifically,
+       three tests are now broken, but these basically tested the failure
+       of ERT's machinery to record errors when ERT was run within
+       a `condition-case`.
+       AFAICT, these tests do not check for a behavior that we want,
+       so rather than "fix" them, I deleted them (bug#67862).
+
+       * test/lisp/emacs-lisp/ert-tests.el (ert-test-error-debug)
+       (ert-test-fail-debug-with-condition-case): Delete.
+       (ert-test-should-failure-debugging): Don't use `ert-debug-on-error`.
+       (ert-test-with-demoted-errors): It now passes.  Bug#11218 is fixed!
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       ert.el: Use `handler-bind` to record backtraces
+
+       * lisp/emacs-lisp/ert.el (ert--should-signal-hook): Delete function.
+       (ert--expand-should-1): Don't bind `signal-hook-function`.
+       (ert--test-execution-info): Remove `next-debugger` slot.
+       (ert--run-test-debugger): Adjust to new calling convention.
+       Pass the `:backtrace-base` info to the debugger.
+       (ert--run-test-internal): Use `handler-bind` rather than let-binding
+       `debugger` and `debug-on-error`.
+
+       * lisp/emacs-lisp/ert-x.el (ert-remote-temporary-file-directory): Don't
+       use `defconst` if it's not meant to stay constant (e.g. we let-bind it
+       in tramp-tests.el).
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (eval-expression): Fix bug#67196
+
+       * lisp/simple.el (eval-expression--debug): New function.
+       (eval-expression): Use it together with `handler-bind` instead of
+       let-binding `debug-on-error`.
+
+2024-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       New special form `handler-bind`
+
+       AFAIK, this provides the same semantics as Common Lisp's `handler-bind`,
+       modulo the differences about how error objects and conditions are
+       represented.
+
+       * lisp/subr.el (handler-bind): New macro.
+
+       * src/eval.c (pop_handler): New function.
+       (Fhandler_Bind_1): New function.
+       (signal_or_quit): Handle new handlertypes `HANDLER` and 
`SKIP_CONDITIONS`.
+       (find_handler_clause): Simplify.
+       (syms_of_eval): Defsubr `Fhandler_bind_1`.
+
+       * doc/lispref/control.texi (Handling Errors): Add `handler-bind`.
+
+       * test/src/eval-tests.el (eval-tests--handler-bind): New test.
+
+       * lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-keywords):
+       Move 'handler-bind' from CL-only to generic Lisp.
+       (handler-bind): Remove indentation setting, it now lives in the macro
+       definition.
+
+2024-01-04  Antero Mejr  <antero@mailbox.org>
+
+       Add file completion for "git blame" to pcomplete
+
+       * lisp/pcmpl-git.el (pcomplete/git): Add "blame" to the tracked files
+       clause.  (Bug#68245)
+
+2024-01-04  Juri Linkov  <juri@linkov.net>
+
+       Support display-sort-function in completion-category-overrides 
(bug#68214)
+
+       * doc/lispref/minibuf.texi (Completion Variables):
+       Add 'display-sort-function' to the table of
+       'completion-category-overrides'.
+
+       * lisp/calendar/calendar.el (calendar-read-date): Add metadata
+       category 'calendar-month' for completing-read reading a month name.
+
+       * lisp/minibuffer.el (completion-category-defaults):
+       Add 'display-sort-function' with identity for the category 
'calendar-month'.
+       (completion-category-overrides): Add customization for completion 
sorting
+       with 'display-sort-function' and a choice like in 'completions-sort'.
+       (completion-metadata-override-get): New function.
+       (minibuffer-completion-help): Use 'completion-metadata-override-get'
+       instead of 'completion-metadata-get' to get sort-fun from
+       'display-sort-function'.
+
+2024-01-04  Morgan Willcock  <morgan@ice9.digital>
+
+       Fix last change in tempo.el
+
+       * lisp/tempo.el: Set marker type for tempo-region-start to
+       move when text is inserted at its position.  This prevents
+       the template from inserting text into the region.  (Bug#68185)
+
+2024-01-04  Morgan Willcock  <morgan@ice9.digital>
+
+       Ensure indent-region argument order in tempo.el is correct
+
+       * lisp/tempo.el (tempo-insert): Call 'indent-region' with the
+       stored region markers to ensure that the start and end arguments
+       are used in the correct order.  (Bug#68185)
+
+2024-01-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Document 'etags-regen-mode' in the Emacs user manual
+
+       * doc/emacs/maintaining.texi (Create Tags Table): Document
+       'etags-regen-mode'.
+
+2024-01-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove semantic patch for adjusting `XSAVE_*`
+
+       * admin/coccinelle/xsave.cocci: Delete file.  The corresponding macros
+       were removed in 4139c98eb5f 2018-06-14 "Remove Lisp_Misc_Save_Value".
+
+2024-01-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer build_unibyte_string where applicable
+
+       * src/fns.c (syms_of_fns):
+       * src/image.c (slurp_image): Prefer build_unibyte_string (str) to
+       make_unibyte_string (str, strlen (str)).
+       * admin/coccinelle/unibyte_string.cocci: Support string literals.
+
+2024-01-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer NILP (x) to EQ (x, Qnil)
+
+       * src/image.c (anim_prune_animation_cache):
+       Prefer NILP (x) to EQ (x, Qnil).
+       * admin/coccinelle/nilp.cocci: Semantic patch for above change.
+
+2024-01-04  Dmitry Gutov  <dmitry@gutov.dev>
+
+       New feature: etags-regen-mode
+
+       * lisp/progmodes/etags-regen.el: New file (bug#67687).
+
+       * etc/NEWS: Mention the addition.
+
+       * .dir-locals.el: Add this project's settings for
+       etags-regen-regexp-alist and etags-regen-ignores.
+
+2024-01-03  Po Lu  <luangruo@yahoo.com>
+
+       Don't magnify extent of shifts by variable glyph interpolation
+
+       * src/sfnt.c (sfnt_infer_deltas_2): Correctly index
+       x_coordinates and y_coordinates computing deltas for plain
+       shift.
+       (sfnt_vary_simple_glyph): Copy glyph contents to original_x and
+       original_y not the first time is create, but before each tuple
+       is applied.
+
+2024-01-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Don't include sheap.h in sysdep.c
+
+       The symbol we used from sheap.h (bss_sbrk_did_unexec) was removed with
+       the introduction of the portable dumper.
+
+       * src/sysdep.c: Don't include "sheap.h".
+
+2024-01-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete obsolete GC debugging code
+
+       This code was introduced in 2014 to catch a GC bug that, according to
+       Paul Eggert in 2019, "seems to have been fixed" (see 2b552f34892
+       2019-08-21 "Don’t debug fset by default").  It has been marked
+       obsolete since that time, and no one has mentioned it on our mailing
+       lists since.  Let's just get rid of it.
+
+       * src/alloc.c
+       (SUSPICIOUS_OBJECT_CHECKING) [ENABLE_CHECKING]: Don't define.
+       (suspicious_free_record, suspicious_objects, suspicious_object_index)
+       (suspicious_free_history, suspicious_free_history_index)
+       (note_suspicious_free) [SUSPICIOUS_OBJECT_CHECKING]: Delete.
+       (find_suspicious_object_in_range)
+       (detect_suspicious_free): Delete functions.
+       (cleanup_vector)
+       (allocate_vectorlike): Don't call above deleted functions.
+       (Fsuspicious_object): Delete DEFUN.
+       (syms_of_alloc) <Ssuspicious_object>: Delete defsubr.
+
+2024-01-03  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (vc-deduce-fileset): Handle log-view-mode derivatives specially
+
+       * lisp/vc/vc.el (vc-deduce-fileset):
+       Handle log-view-mode derivatives specially, that helps after
+       switching projects (bug#68174).
+
+2024-01-02  Richard Stallman  <rms@gnu.org>
+
+       Fix non-permenent decryption to show up temperarily.
+
+       In a decrypted mime part, replace CRLF with newline,
+
+       * lisp/mail/rmail.el (rmail-epa-decrypt-1): If NOT descrypting 
permanently,
+       put the decrypts into the view buffer.
+       (rmail-epa-decrypt, rmail-epa-decrypt-1):
+       In a decrypted mime part, replace CRLF with newline,
+
+2024-01-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Don't include sheap.h from alloc.c
+
+       The symbol we used from sheap.h (bss_sbrk_did_unexec) was removed with
+       the introduction of the portable dumper.
+
+       * src/alloc.c: Don't include sheap.h.
+
+2024-01-02  Po Lu  <luangruo@yahoo.com>
+
+       Improve rounding of projection vector versors
+
+       * src/sfnt.c (sfnt_short_frac_dot): New function.
+       (sfnt_validate_gs): Guarantee dot product of freedom and
+       projection vectors are properly rounded.  If the final product
+       is short of 1/16th of a vector, reset it to an entire vector.
+
+2024-01-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge from savannah/emacs-29
+
+       dc4e6b13296 ; Update copyright years in more files
+       64b37776318 ; Run set-copyright from admin.el
+       8e1c56ae467 ; Add 2024 to copyright years
+
+       # Conflicts:
+       #       doc/misc/modus-themes.org
+       #       doc/misc/texinfo.tex
+       #       etc/NEWS
+       #       etc/refcards/ru-refcard.tex
+       #       etc/themes/modus-operandi-theme.el
+       #       etc/themes/modus-themes.el
+       #       etc/themes/modus-vivendi-theme.el
+       #       lib/alloca.in.h
+       #       lib/binary-io.h
+       #       lib/c-ctype.h
+       #       lib/c-strcasecmp.c
+       #       lib/c-strncasecmp.c
+       #       lib/careadlinkat.c
+       #       lib/cloexec.c
+       #       lib/close-stream.c
+       #       lib/diffseq.h
+       #       lib/dup2.c
+       #       lib/filemode.h
+       #       lib/fpending.c
+       #       lib/fpending.h
+       #       lib/fsusage.c
+       #       lib/getgroups.c
+       #       lib/getloadavg.c
+       #       lib/gettext.h
+       #       lib/gettime.c
+       #       lib/gettimeofday.c
+       #       lib/group-member.c
+       #       lib/malloc.c
+       #       lib/md5-stream.c
+       #       lib/md5.c
+       #       lib/md5.h
+       #       lib/memmem.c
+       #       lib/memrchr.c
+       #       lib/nanosleep.c
+       #       lib/save-cwd.h
+       #       lib/sha1.c
+       #       lib/sig2str.c
+       #       lib/stdlib.in.h
+       #       lib/strtoimax.c
+       #       lib/strtol.c
+       #       lib/strtoll.c
+       #       lib/time_r.c
+       #       lib/xalloc-oversized.h
+       #       lisp/auth-source-pass.el
+       #       lisp/emacs-lisp/lisp-mnt.el
+       #       lisp/emacs-lisp/timer.el
+       #       lisp/info-look.el
+       #       lisp/jit-lock.el
+       #       lisp/loadhist.el
+       #       lisp/mail/rmail.el
+       #       lisp/net/ntlm.el
+       #       lisp/net/webjump.el
+       #       lisp/progmodes/asm-mode.el
+       #       lisp/progmodes/project.el
+       #       lisp/progmodes/sh-script.el
+       #       lisp/textmodes/flyspell.el
+       #       lisp/textmodes/reftex-toc.el
+       #       lisp/textmodes/reftex.el
+       #       lisp/textmodes/tex-mode.el
+       #       lisp/url/url-gw.el
+       #       m4/alloca.m4
+       #       m4/clock_time.m4
+       #       m4/d-type.m4
+       #       m4/dirent_h.m4
+       #       m4/dup2.m4
+       #       m4/euidaccess.m4
+       #       m4/fchmodat.m4
+       #       m4/filemode.m4
+       #       m4/fsusage.m4
+       #       m4/getgroups.m4
+       #       m4/getloadavg.m4
+       #       m4/getrandom.m4
+       #       m4/gettime.m4
+       #       m4/gettimeofday.m4
+       #       m4/gnulib-common.m4
+       #       m4/group-member.m4
+       #       m4/inttypes.m4
+       #       m4/malloc.m4
+       #       m4/manywarnings.m4
+       #       m4/mempcpy.m4
+       #       m4/memrchr.m4
+       #       m4/mkostemp.m4
+       #       m4/mktime.m4
+       #       m4/nproc.m4
+       #       m4/nstrftime.m4
+       #       m4/pathmax.m4
+       #       m4/pipe2.m4
+       #       m4/pselect.m4
+       #       m4/pthread_sigmask.m4
+       #       m4/readlink.m4
+       #       m4/realloc.m4
+       #       m4/sig2str.m4
+       #       m4/ssize_t.m4
+       #       m4/stat-time.m4
+       #       m4/stddef_h.m4
+       #       m4/stdint.m4
+       #       m4/stdio_h.m4
+       #       m4/stdlib_h.m4
+       #       m4/stpcpy.m4
+       #       m4/strnlen.m4
+       #       m4/strtoimax.m4
+       #       m4/strtoll.m4
+       #       m4/time_h.m4
+       #       m4/timegm.m4
+       #       m4/timer_time.m4
+       #       m4/timespec.m4
+       #       m4/unistd_h.m4
+       #       m4/warnings.m4
+       #       nt/configure.bat
+       #       nt/preprep.c
+       #       test/lisp/register-tests.el
+
+2024-01-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       3204825f560 Fix mangled Subject header field when forwarding (Bug#67360)
+       7591acfe38e Update to Org 9.6.15
+       240b4594f11 ; * etc/TODO: Add an item about 'Info-hide-note-references'.
+       01be4fe39d7 * doc/emacs/custom.texi (Modifier Keys): Fix markup (bug#...
+       55555a6a0d1 org-protocol: Minor copy-edits to Commentary
+       4696869d3d5 Improve syntax highlighting for python-ts-mode
+
+2024-01-01  João Távora  <joaotavora@gmail.com>
+
+       Eglot: filter by prefix in narrow-scope eglot-code-actions
+
+       Github-reference: https://github.com/joaotavora/eglot/issues/847
+
+       Servers like typescript-language-server, when asked for {"only" :
+       "source.organizeImports"}, return actions with the
+       "source.organizeImports.ts" kind.  Eglot rejected these actions, but
+       according to the spec:
+
+         Kinds are a hierarchical list of identifiers separated by `.` [...]
+         The set of kinds is open.
+
+       So I guess we can use string-prefix-p
+
+       * lisp/progmodes/eglot.el (eglot-code-actions): Use string-prefix-p.
+
+2024-01-01  Aaron Jensen  <aaronjensen@gmail.com>
+
+       Avoid race condition in parallel native-compilation
+
+       * lisp/emacs-lisp/comp.el (comp-delete-or-replace-file): Avoid
+       race condition by relying on 'rename-file' being an atomic
+       operation on Posix filesystems.  (Bug#68083)
+
+2024-01-01  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       SES manual clean-up any « ignore »'d text to be translated
+
+       Remove from the English version any ignore'd chunk of text that has
+       been contributed yet only in the French version, and let only the
+       comment indicating re-alignment is needed.
+
+2024-01-01  Kjetil Orbekk  <kj@orbekk.com>  (tiny change)
+
+       Fix vg-hg-annotate-time bug
+
+       * lisp/vc/vc-hg.el (vc-hg-annotate-time): Fix extraction of timestamp
+       from string.
+       * test/lisp/vc/vc-hg-tests.el (vc-hg-annotate-time): Test that the
+       correct timestamp is found.
+
+2024-01-01  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       SES manual: fix explanation why B1 remains displayed empty
+
+       * doc/lang/fr/misc/ses-fr.texi (Quick Tutorial): Fix explanation
+       why B1 remains empty
+
+       * doc/misc/ses.texi (Quick Tutorial):
+       * doc/lang/fr/misc/ses-fr.texi (Quick Tutorial): @samp{...} cell
+       references.
+
+2024-01-01  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       Typoes in SES manual.
+
+       Also @samp{...}-ify cell/row/column reference given as in-line examples.
+
+2024-01-01  Po Lu  <luangruo@yahoo.com>
+
+       Bring GX point interpolation further into standards compliance
+
+       * src/sfnt.c (sfnt_infer_deltas_2): New function; factor much of
+       sfnt_infer_deltas_1 into this function, then modify its
+       treatment of untouched points positioned at their reference
+       points to align with standard GX treatment.
+       (sfnt_infer_deltas_1): Remove all code not concerning anchor
+       point discovery.
+       (main): Adjust tests.
+
+2024-01-01  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       Translate SES manual to French
+
+2023-12-31  F. Jason Park  <jp@neverwas.me>
+
+       Use advertised PREFIX when formatting nicks in ERC
+
+       * lisp/erc/erc-speedbar.el (erc-speedbar-insert-user): Run
+       `erc-get-channel-membership-prefix' in associated buffer if possible.
+       * lisp/erc/erc.el (erc-get-channel-membership-prefix): Use known
+       prefix mappings when determining status chars.
+       * test/lisp/erc/erc-tests.el (erc--parsed-prefix): Use common helpers
+       for initializing buffers, and use a more realistic example for PREFIX
+       value.
+       (erc--update-channel-modes): Add current buffer to `erc-server-user'
+       object to maintain essential invariant, even though this doesn't
+       affect the test's outcome.
+       (erc-tests--equal-including-properties): Move to `erc-tests-common'
+       and rename `erc-tests-common-equal-with-props'.
+       (erc--merge-prop, erc--remove-from-prop-value-list,
+       erc--remove-from-prop-value-list/many): Use new name for
+       `erc-tests-common-equal-with-props'.
+       (erc-get-channel-membership-prefix): New test.
+       (erc--determine-speaker-message-format-args,
+       erc--determine-speaker-message-format-args/queries-as-channel,
+       erc--determine-speaker-message-format-args/queries): Use new name
+       for `erc-tests-common-equal-with-props'.
+       * test/lisp/erc/resources/erc-tests-common.el
+       (erc-tests-common-equal-with-props): New macro, originally
+       `erc-tests--equal-including-properties' from erc-tests.el.
+       (erc-tests-common-make-server-buf): Initialize tables and make NAME
+       argument optional.  (Bug#67677)
+
+2023-12-31  F. Jason Park  <jp@neverwas.me>
+
+       Fix regression in erc-button-add-button
+
+       * lisp/erc/erc-button.el (erc-button--nick): Abide by recommended
+       internal naming convention and use "cusr" instead of "cuser" for
+       referring to an `erc-channel-user' object.
+       (erc-button--fallback-cmem-function,
+       erc-button--get-user-from-spkr-prop): Use new, preferred name
+       `erc-channel-members' for `erc-channel-users' table.
+       (erc-button-add-nickname-buttons): Use "cmem" instead of "cuser" to
+       refer to values of the `erc-channel-members' table, which are cons
+       cells, not `erc-channel-user' objects.  Use updated slot name `cusr'
+       when initializing `erc-button--nick' object.
+       (erc-button-add-button): Honor wishes of
+       `erc-button--modify-nick-function' advice members when they set the
+       `nickname-face' slot of the passed-around `erc-button--nick' object to
+       nil to indicate a desire to forgo adding a face while still
+       buttonizing the inserted nick with `erc-data', etc.  (Bug#67767)
+
+2023-12-31  F. Jason Park  <jp@neverwas.me>
+
+       Make erc-update-channel-current-member stricter
+
+       * lisp/erc/erc.el (erc--update-cusr-status-if-changed): Remove unused
+       macro.
+       (erc-update-current-channel-member): Redo doc string and abide by its
+       original language to the letter by not honoring a value of t for the
+       five channel-membership status parameters, even though this may break
+       user code that accidentally passes t instead of `on'.  Avoid double
+       lookup for nick in `erc-server-users'.  Rename some variables as per
+       recommended conventions for `erc-channel-user' objects.  Stash
+       downcased nick for further reuse.  Don't bother factoring in `addp' to
+       return value because `cusr-changed-p' is always non-nil when `addp'
+       is.
+
+2023-12-31  F. Jason Park  <jp@neverwas.me>
+
+       Don't discard trimmed args in erc-cmd-MODE
+
+       * lisp/erc/erc.el (erc-cmd-MODE): Use matched non-whitespace portion
+       of input line instead of the original line.  Otherwise, when the user
+       types "/MODE #chan", the server sees "MODE  #chan", with twos spaces.
+       (erc--parse-nuh): Improve doc.
+
+2023-12-31  F. Jason Park  <jp@neverwas.me>
+
+       Use format-prompt in erc-select-read-args
+
+       * lisp/erc/erc-button.el (erc-button-cmd-KICK, erc-button-cmd-MSG):
+       Use `read-string' instead of `read-from-minibuffer'.
+       * lisp/erc/erc.el (erc-select-read-args): Use `format-prompt', which
+       isn't normally available in Emacs 27 without Compat.
+
+2023-12-31  F. Jason Park  <jp@neverwas.me>
+
+       Restore predicate for detecting date stamps in ERC
+
+       * etc/ERC-NEWS: Mention function `erc-stamp-inserting-date-stamp-p'.
+       * lisp/erc/erc-stamp.el (erc-stamp-inserting-date-stamp-p): New
+       function for third parties to detect whether the message being
+       inserted is a date stamp.  Date stamps as independent messages were
+       originally introduced as part of bug#60936.
+
+2023-12-31  F. Jason Park  <jp@neverwas.me>
+
+       Fix regression in erc-keep-place-indicator-mode
+
+       * lisp/erc/erc-goodies.el (erc-keep-place): Revert portion of
+       65735efdca0 "Improve multi-window erc-keep-place-indicator-mode" that
+       skipped modifying `window-prev-buffers' when the indicator's minor
+       mode was enabled.
+       * test/lisp/erc/erc-scenarios-keep-place-indicator.el: Modify test to
+       assert that point's place is preserved after switching away from a
+       buffer with the indicator enabled.
+       * test/lisp/erc/resources/keep-place/follow.eld: Update.
+       This feature was originally introduced by bug#59943.
+
+2023-12-31  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode.  Preserve space syntax-table props in open strings
+
+       This fixes bug#68111, allowing, e.g., backward-kill-word to
+       work properly.
+
+       * lisp/progmodes/cc-mode.el (c-clear-string-fences): On an open
+       string which isn't followed by another string, remove the
+       syntax-table properties just from template delimiters rather
+       than setting the syntax-table properties of all the string to
+       punctuation.
+
+2023-12-31  Alan Third  <alan@idiocy.org>
+
+       Revert "Get NS screen resolution from system"
+
+       This reverts commit f3dec3439fd5aee885a76622f384f6c7ca67d128.
+
+2023-12-31  Po Lu  <luangruo@yahoo.com>
+
+       Prevent overlapping sections of glyphs from being misaligned
+
+       * src/xdisp.c (gui_fix_overlapping_area): Offset all glyphs by
+       ROW->x.
+
+2023-12-31  Bill Wohler  <wohler@newt.com>
+
+       Delete unused macros (SF#494)
+
+       * lisp/mh-e/mh-acros.el (mh-do-in-gnu-emacs, mh-do-in-xemacs,
+       mh-funcall-if-exists, defun-mh, defmacro-mh, mh-make-local-hook,
+       mh-mark-active-p): Delete unused macros.
+
+2023-12-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Slightly clarify "Start Emacs maximized" in FAQ
+
+       * doc/misc/efaq.texi (Start Emacs maximized): Clarify why the early init
+       file is used.
+
+2023-12-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Document `wp` defgroup as obsolete instead of deprecated
+
+       This opens up for its removal at some point in the future.  It has
+       been deprecated for the better part of a decade by now.
+
+       * lisp/cus-edit.el (wp): Document group "wp" as obsolete.
+       * lisp/finder.el (finder-known-keywords): Document keyword "wp" as 
obsolete.
+
+2023-12-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add `text` to `finder-known-keywords`
+
+       `finder-known-keywords` is "supposed to correspond to top-level
+       customization groups".  However, the customize group "wp" is now
+       deprecated in favor of "text".
+
+       * lisp/finder.el (finder-known-keywords): Add new "text" keyword.
+       Deprecate the "wp" keyword.
+
+2023-12-30  Alan Third  <alan@idiocy.org>
+
+       Simplify Objective C autorelease pool handling
+
+       * src/emacs.c: Remove ns_pool.
+       (main): Replace ns_pool stuff with call to ns_init_pool.
+       (Fkill_emacs): The pools are drained automatically when the
+       application exits, so it's probably not worth draining the pool here.
+       (decode_env_path): No longer required as this is handled by
+       `outerpool' defined in nsterm.m.
+       * src/nsterm.h:
+       * src/nsterm.m (ns_init_pool): New function.
+
+2023-12-30  Alan Third  <alan@idiocy.org>
+
+       Get NS screen resolution from system
+
+       * src/nsterm.m (ns_initialize_display_info): Query the screen
+       deviceDescription for the resolution instead of hard-coding it.
+
+2023-12-30  Alan Third  <alan@idiocy.org>
+
+       Remove redundant pdmp file copy (bug#66022)
+
+       * nextstep/Makefile.in (${ns_applibexecdir}/Emacs.pdmp): The pdmp file
+       is not required in the app bundle for a non-self-contained install.
+
+2023-12-30  Ihor Radchenko  <yantar92@posteo.net>
+
+       find-buffer-visiting: Fix test breakage introduced in b7a737ef49
+
+       * lisp/files.el (find-buffer-visiting): Fix code branch checking for
+       buffers referring to the same file number.  We should check the found
+       buffer with the file number, not current.
+
+       Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#412
+
+2023-12-30  Sean Whitton  <spwhitton@spwhitton.name>
+
+       Document icomplete-in-buffer incompatible changes
+
+       * etc/NEWS: Document icomplete-in-buffer incompatible
+       changes (bug#67661).
+
+2023-12-30  Sean Whitton  <spwhitton@spwhitton.name>
+
+       * doc/emacs/buffers.texi (Icomplete): Document icomplete-in-buffer.
+
+2023-12-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       53031528725 Revert "Fix treesit-node-field-name and friends (bug#66674)"
+       fa0bb88302b ; * src/buffer.c (syms_of_buffer) <default-directory>: Do...
+       44517037aed ; Fix typo
+       ccf46acefd2 ; Fix last change.
+       c86b039dffc ; * etc/DEBUG: Improve advice for debugging native-compil...
+       9afba605bbc Explain status "r" in `epa-list-keys`
+       62714221968 ; * lisp/dired.el (dired--make-directory-clickable): Refo...
+       fcbb0044899 Fix mouse clicks on directory line in Dired
+       be8a7155b48 Fix 'split-root-window-right' and 'split-root-window-below'
+       eb19984c4db Mark icalendar.el as maintained by emacs-devel
+       03dc914fd37 ; Fix footnotes in ELisp Intro manual
+       ceacf753958 Fix usage of `setq-default' and offer more suggestions
+       2701da0eee5 Fix python-ts-mode triple quote syntax (bug#67262)
+       683c7c96871 Increment parser timestamp when narrowing changes (bug#67...
+       8ae42c825e1 ruby-ts-mode: Fix indentation for string_array closer
+       9cfa498e0ab treesit-major-mode-setup: Use 'treesit--syntax-propertize...
+       da2e440462b ruby-ts-mode: Fix an out-of-bounds error with heredoc at eob
+       6ea507296a7 Correctly refontify changed region in tree-sitter modes (...
+
+2023-12-30  Ihor Radchenko  <yantar92@posteo.net>
+
+       Improve performance let-binding `case-fold-search' (bug#66117)
+
+       * src/buffer.h: Remove case_fold_search_ buffer object slot.
+       * src/buffer.c (bset_case_fold_search): Remove - no longer needed.
+       (init_buffer_once): Remove removed buffer slot init.
+       (syms_of_buffer): Use DEFVAR_LISP to define `case-fold-search' and
+       declare it buffer-local.
+       * src/minibuf.c (syms_of_minibuf): Remove DEFSYM call for
+       `case-fold-search' symbol.  It now lives in `syms_of_buffer'.
+       * src/editfns.c (Fcompare_buffer_substrings):
+       (Fchar_equal):
+       * src/search.c (looking_at_1):
+       (string_match_1):
+       (search_command):
+       (Fre__describe_compiled): Adjust C queries to `case-fold-search' value
+       to use C globals instead of BVAR macro.
+       * doc/lispref/internals.texi (Buffer Internals): Do not list
+       `case_fold_search' slot.
+
+       See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#259
+
+       When used as buffer slot, let-binding `case-fold-search' would scale
+       with the number of live buffers and can be slow.  This change makes
+       let-binding much faster at the cost of slightly slower `set-buffer'.
+
+2023-12-30  Ihor Radchenko  <yantar92@posteo.net>
+
+       Improve performance of `find-buffer-visiting' (bug#66117)
+
+       * src/buffer.c (Fget_truename_buffer): Expose `get_truename_buffer' to
+       Elisp.
+       (Ffind_buffer): New subr searching for a live buffer with a given
+       value of buffer-local variable.
+       (syms_of_buffer): Register the new added subroutines.
+       * src/filelock.c (lock_file): Use the new `Fget_truename_buffer' name.
+       * src/lisp.h:
+       * test/manual/etags/c-src/emacs/src/lisp.h: Remove no-longer-necessary
+       extern declarations for `get_truename_buffer'.
+       * lisp/files.el (find-buffer-visiting): Refactor, using subroutines to
+       search for buffers instead of slow manual Elisp iterations.
+
+2023-12-30  Ihor Radchenko  <yantar92@posteo.net>
+
+       * lisp/textmodes/remember.el: Remove org-remember support.
+
+       org-remember has been removed from Org mode proper and then from
+       org-contrib 10 years ago in
+       https://git.sr.ht/~bzg/org-contrib/commit/be8736195e
+       (Bug#68076)
+
+2023-12-30  Daniel Martín  <dmartin@Daniels-MacBook-Pro.local>
+
+       Fix previous page and next page tooltips in doc-view.el
+
+       * lisp/doc-view.el (doc-view-tool-bar-map): Fix toolbar items to go to
+       next and previous pages in a document.  (Bug#68018)
+
+2023-12-30  Ihor Radchenko  <yantar92@posteo.net>
+
+       Add tests for `let' (bug#66117)
+
+       * test/src/eval-tests.el (eval-tests/default-value): New test.
+
+2023-12-30  Po Lu  <luangruo@yahoo.com>
+
+       Simplify code relating to UI thread synchronization
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (display):
+
+       * java/org/gnu/emacs/EmacsDialog.java (display):
+
+       * java/org/gnu/emacs/EmacsService.java (getEmacsView)
+       (getLocationOnScreen, getClipboardManager)
+       (requestDirectoryAccess): Replace manual synchronization within
+       Runnable objects by usage of FutureTask.
+       (syncRunnable): Accept FutureTask<V> in place of Runnables, and
+       obtain and return results from calls to its get method.
+
+2023-12-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Revert "Silence warning when requiring ruby-ts-mode"
+
+       This reverts commit bf81706988f6b1b9d6e8033c8227f0129e04ef03.
+
+       We deliberately don't silence these warnings, so that a user who loads
+       the mode without having the grammar installed sees the warning and
+       realizes the problem in time to fix it.
+
+2023-12-29  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of 'require-with-check'
+
+       * doc/lispref/loading.texi (Named Features): Document
+       'require-with-check'.
+
+       * etc/NEWS: Fix wording of entry about 'require-with-check'.
+
+2023-12-29  Sean Whitton  <spwhitton@spwhitton.name>
+
+       pcomplete--entries: In predicate, check file exists
+
+       * lisp/pcomplete.el (pcomplete--entries): In the predicate passed to
+       completion-table-with-predicate, when PREDICATE is nil, take ourselves
+       to be responsible for calling file-exists-p (bug#67661).
+
+2023-12-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/progmodes/eglot.el (toplevel): Fix usual last minute typo
+
+2023-12-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (require-with-check): New function (bug#67696)
+
+       * lisp/files.el (require-with-check): New function.
+       * lisp/progmodes/eglot.el: Use it (and prefer #' to quote function 
names).
+
+2023-12-29  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       Fix 13 years old bug#5852 !
+
+       Sometimes recalculating a cell does not change its value, however it
+       still have to be written to the data area when the reference list is
+       changed
+
+       * lisp/ses.el (ses-cell-set-formula): Fix bug#5852, at last !
+
+       * test/lisp/ses-tests.el
+       (ses-set-formula-write-cells-with-changed-references): Rename test
+       from ses-bug5852, do not expect failure, and update description.
+
+2023-12-29  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       Simplify test ses-bug5852
+
+       * test/lisp/ses-tests.el (ses-bug5852): Siumplify test to
+       demonstrate that the bug is not connected to yanking, but has to
+       do with ses-cell-set-formula.
+
+2023-12-29  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       Add test reproducting bug #5852
+
+2023-12-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Don't recommend using `cperl-hairy`
+
+       Enabling `cperl-hairy` makes cperl-mode break many Emacs conventions
+       and can be confusing to new users.  Let's not say that this is the
+       "recommended mode of use", instead leaving it up to the user.
+
+       * lisp/progmodes/cperl-mode.el (cperl-mode): Don't recommend using
+       `cperl-hairy'.
+
+2023-12-29  Po Lu  <luangruo@yahoo.com>
+
+       Obey USE_MY_METRICS in compound glyphs
+
+       * src/sfnt.c (struct sfnt_compound_glyph_context): New fields
+       holding the positions of both phantom points.
+       (sfnt_decompose_compound_glyph): New argument METRICS_RETURN;
+       return the metrics of components with USE_MY_METRICS within this
+       field.
+       (sfnt_decompose_glyph): New argument METRICS_RETURN, which
+       serves the same purpose.
+       (sfnt_build_glyph_outline): Apply glyph advance and origin
+       distortion to METRICS, and return the metrics as altered by
+       compound glyphs in there.
+       (sfnt_lookup_glyph_metrics): Trim away two unused parameters,
+       PIXEL_SIZE and HEAD, whose functionality has been superseeded by
+       sfnt_scale_metrics and the implicit scaling the interpreter
+       performs.
+       (sfnt_interpret_compound_glyph_2): Save phantom points within
+       fields provided to that end in CONTEXT.
+       (sfnt_interpret_compound_glyph_1): Save and source phantom
+       points for each glyph to and from the context.
+       (sfnt_test_get_metrics, main): Adjust tests correspondingly.
+
+       * src/sfnt.h: Update prototypes.
+
+       * src/sfntfont.c (sfntfont_get_metrics): Remove obsolete
+       parameters.
+       (sfntfont_get_glyph_outline): Don't change temp by the metrics
+       distortions, which is now the task of sfnt_decompose_glyph.
+
+2023-12-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix extraction of files with wildcards in names from zip archives
+
+       * lisp/arc-mode.el (archive-zip-extract): Quote wildcard
+       characters in file names as [C].  (Bug#67926)
+
+2023-12-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix rectangle commands when 'indent-tabs-mode' is non-nil
+
+       * lisp/rect.el (delete-rectangle, kill-rectangle): Temporarily
+       bind 'indent-tabs-mode' to nil.  (Bug#67925)
+
+2023-12-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'delete-rectangle' with multi-column characters
+
+       * lisp/rect.el (delete-rectangle-line): Support multi-column
+       characters, when STARTCOL is in the middle of such a character.
+       (Bug#67925)
+
+2023-12-28  F. Jason Park  <jp@neverwas.me>
+
+       Sideline implied invisible-intangible coupling in ERC
+
+       * etc/ERC-NEWS: Add entry explaining removal of automatic `intangible'
+       propertizing of t-valued `invisible' messages.
+       * lisp/erc/erc.el (erc--insert-invisible-as-intangible-p): New flag
+       variable, a temporary escape hatch to regain pre-5.6 behavior
+       involving the modification of certain `invisible' messages.
+       (erc--insert-line): Gate unfavorable behavior behind
+       `erc--insert-invisible-as-intangible-p' flag.  Add comment clarifying
+       deferred initialization of `insert-position', which was part of the
+       many changes introduced as part of bug#60936.
+
+2023-12-28  F. Jason Park  <jp@neverwas.me>
+
+       Move ERC test utilities to common file
+
+       * lisp/erc/erc-common.el (erc--define-catalog): Update name of
+       reference to convenience command now located in `erc-tests-common'.
+       * test/lisp/erc/erc-button-tests.el: Require common test-util library
+       `erc-tests-common', located under test/lisp/erc/resources.
+       * test/lisp/erc/erc-fill-tests.el: Require `erc-tests-common'.
+       (erc-fill-tests--wrap-populate): Use helper
+       `erc-tests-common-init-server-proc'.
+       (erc-fill-tests--save-p): Remove.  See replacement
+       `erc-tests-common-snapshot-save-p' in erc-tests-common.
+       (erc-fill-tests--graphic-dir): Add trailing slash.
+       (erc-fill-tests--compare): Move body to generalized utility
+       `erc-tests-common-snapshot-compare' in erc-tests-common.
+       * test/lisp/erc/erc-goodies-tests.el: Require `erc-tests-common'.
+       (erc--get-inserted-msg-beg/readonly,
+       erc--get-inserted-msg-end/readonly,
+       erc--get-inserted-msg-bounds/readonly): Move here from erc-tests.el.
+       * test/lisp/erc/erc-networks-tests.el: Load `erc-tests-common'.
+       (erc-networks-tests--create-live-proc): Defer to
+       `erc-tests-common-init-server-proc' and drop optional buffer param.
+       (erc-networks-tests--clean-bufs): Defer to
+       `erc-tests-common-kill-buffers'.
+       (erc-networks--rename-server-buffer--existing--live): Call
+       `erc-networks-tests--create-live-proc' in server buffer.
+       * test/lisp/erc/erc-scenarios-internal.el: Load `erc-tests-common'.
+       (erc-scenarios-internal--run-graphical-all): Use
+       `erc-tests-common-create-subprocess' to create process.
+       * test/lisp/erc/erc-scenarios-sasl.el
+       (erc-scenarios-sasl--plain-fail): Silence error message.
+       * test/lisp/erc/erc-stamp-tests.el: Require `erc-tests-common'.
+       (erc-stamp-tests--insert-right, erc-timestamp-intangible--left): Use
+       `erc-tests-common-init-server-proc'.
+       (erc-tests--assert-get-inserted-msg/stamp,
+       erc-stamp-tests--assert-get-inserted-msg/stamp): Move from
+       erc-tests.el, renaming to latter.
+       (erc--get-inserted-msg-beg/stamp,
+       erc--get-inserted-msg-beg/readonly/stamp,
+       erc--get-inserted-msg-end/stamp,
+       erc--get-inserted-msg-end/readonly/stamp,
+       erc--get-inserted-msg-bounds/stamp,
+       erc--get-inserted-msg-bounds/readonly/stamp): Move here from
+       erc-tests.el.
+       * test/lisp/erc/erc-tests.el: Require `erc-tests-common'.
+       (erc-with-server-buffer): Use renamed test-helper utility
+       `erc-tests-common-init-server-proc'.
+       (erc-tests--send-prep, erc-tests--set-fake-server-process): Move to
+       `erc-tests-common' library and rename to
+       `erc-tests-common-prep-for-insertion' and
+       `erc-tests-common-init-server-proc', respectively.
+       (erc-tests--with-process-input-spy): Move to `erc-tests-common' and
+       rename `erc-tests-common-with-process-input-spy'.
+       (erc-tests--get-inserted-msg-setup,
+       erc-tests--assert-get-inserted-msg,
+       erc-tests--assert-get-inserted-msg/basic,
+       erc-tests--assert-get-inserted-msg-readonly-with): Move to
+       `erc-tests-common' and rename with "common" prefix, using single
+       instead of double hyphen.
+       (erc-tests--assert-get-inserted-msg/stamp): Move to `erc-stamp-tests'
+       and rename with "stamp" prefix.
+       (erc--get-inserted-msg-beg/stamp,
+       erc--get-inserted-msg-beg/readonly/stamp,
+       erc--get-inserted-msg-end/stamp,
+       erc--get-inserted-msg-end/readonly/stamp,
+       erc--get-inserted-msg-bounds/stamp,
+       erc--get-inserted-msg-bounds/readonly/stamp): Move to
+       `erc-stamp-tests'.
+       (erc--get-inserted-msg-beg/readonly,
+       erc--get-inserted-msg-end/readonly,
+       erc--get-inserted-msg-bounds/readonly): Move to `erc-goodies-tests'.
+       (erc-tests--make-server-buf): Move to `erc-common-tests' and rename
+       with "common" prefix.
+       (erc-tests--make-client-buf): Remove unused function without supplying
+       replacement.
+       (erc-tests--string-to-propertized-parts,
+       erc-tests-pp-propertized-parts): Move to `erc-tests-common' and rename
+       with "common" prefix.
+       * test/lisp/erc/resources/erc-tests-common.el: New file containing
+       helper utilities and fixtures used by multiple files in test/lisp/erc.
+
+2023-12-28  F. Jason Park  <jp@neverwas.me>
+
+       Allow selecting graphical ERC tests manually
+
+       * test/lisp/erc/erc-fill-tests.el
+       (erc-fill-wrap--monospace, erc-fill-wrap--merge,
+       erc-fill-wrap-tests--merge-action,
+       erc-fill-wrap-tests--merge-action/indicator-pre,
+       erc-fill-wrap-tests--merge-action/indicator-post,
+       erc-fill-line-spacing, erc-fill-wrap-visual-keys--body,
+       erc-fill-wrap-visual-keys--prompt, erc-fill--left-hand-stamps): Tag as
+       :erc--graphcial.
+       * test/lisp/erc/erc-scenarios-internal.el
+       (erc-scenarios-internal--run-interactive-all): New test to assist ERC
+       contributors in -jN parallel runs.
+       * test/lisp/erc/erc-scenarios-scrolltobottom-relaxed.el
+       (erc-scenarios-scrolltobottom--relaxed): Tag as :erc--graphical.
+       * test/lisp/erc/erc-scenarios-scrolltobottom.el
+       (erc-scenarios-scrolltobottom--normal,
+       erc-scenarios-scrolltobottom--all): Tag as :erc--graphical.
+       * test/lisp/erc/erc-scenarios-status-sidebar.el
+       (erc-scenarios-status-sidebar--nickbar): Tag as :erc--graphical.
+       * test/lisp/erc/erc-tests.el (erc--channel-modes/graphic-p): Tag as
+       :erc--graphical.
+       * test/lisp/erc/resources/base/local-modules/first.eld: Timeouts.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common--graphical-p): New variable.
+       (erc-scenarios-common--make-bindings): Don't enable
+       `inhibit-interaction' when interactive.  Set
+       `erc-scenarios-common--graphical-p' flag when
+       `:erc--graphical' tag present and running interactively.
+       (erc-scenarios-common-with-cleanup): Account for variable
+       `erc-scenarios-common--graphical-p'.
+       (erc-scenarios-common-scrolltobottom--normal): Turn off
+       `erc-scrolltobottom-mode' when test finishes so as not to pollute when
+       running multiple interactive tests.
+
+2023-12-28  F. Jason Park  <jp@neverwas.me>
+
+       Replace erc--get-inserted-msg-bounds with functions
+
+       * lisp/erc/erc-fill.el (erc-fill--wrap-rejigger-region): Call
+       `erc--get-inserted-msg-end' instead of `erc--get-inserted-msg-bounds'
+       with `end' arg.
+       * lisp/erc/erc-truncate.el (erc-truncate-buffer-to-size): Call
+       `erc--get-inserted-msg-beg' with `point' instead of
+       `erc--get-inserted-msg-bounds' with `beg' arg.
+       * lisp/erc/erc.el (erc--get-inserted-msg-beg-at,
+       erc--get-inserted-msg-end-at): New macros.
+       (erc--get-inserted-msg-beg, erc--get-inserted-msg-end): New functions.
+       (erc--get-inserted-msg-bounds): Convert to function with different
+       signature, and refactor.  This was introduced for the yet unreleased
+       5.6 (Emacs 30) by bug#60936.
+       (erc--get-inserted-msg-prop): Use `erc--get-inserted-msg-beg' instead
+       of `erc--get-inserted-msg-bounds' with `beg' arg.
+       (erc--delete-inserted-message): Update call site of
+       `erc--get-inserted-msg-bounds' to match new signature.
+       (erc-cmd-CLEAR): Use `erc--get-inserted-msg-beg' instead of
+       `erc--get-inserted-msg-bounds' with `beg' arg.
+       * test/lisp/erc/erc-scenarios-match.el
+       (erc-scenarios-match--stamp-right-fools-invisible): Call
+       `erc--get-inserted-msg-end' instead of `erc--get-inserted-msg-bounds'.
+       * test/lisp/erc/erc-tests.el (erc-tests--get-inserted-msg-setup,
+       erc-tests--assert-get-inserted-msg,
+       erc-tests--assert-get-inserted-msg/basic,
+       erc-tests--assert-get-inserted-msg/stamp,
+       erc-tests--assert-get-inserted-msg-readonly-with): New helper
+       functions.
+       (erc--get-inserted-msg-beg/basic, erc--get-inserted-msg-beg/readonly,
+       erc--get-inserted-msg-beg/stamp,
+       erc--get-inserted-msg-beg/readonly/stamp,
+       erc--get-inserted-msg-end/basic, erc--get-inserted-msg-end/stamp,
+       erc--get-inserted-msg-end/readonly,
+       erc--get-inserted-msg-end/readonly/stamp,
+       erc--get-inserted-msg-bounds/readonly,
+       erc--get-inserted-msg-bounds/stamp,
+       erc--get-inserted-msg-bounds/readonly/stamp): New tests.
+       (erc--get-inserted-msg-bounds, erc--get-inserted-msg-bounds/basic):
+       Move `beg' and `end' cases to separate test variants and rename former
+       to latter.
+
+2023-12-28  F. Jason Park  <jp@neverwas.me>
+
+       Improve multi-window erc-keep-place-indicator-mode
+
+       * lisp/erc/erc-goodies.el (erc-keep-place-indicator-follow): Describe
+       condition causing an indicator update.
+       (erc--keep-place-indicator-on-window-configuration-change,
+       erc--keep-place-indicator-on-window-buffer-change): Rename former to
+       latter, add required WINDOW parameter, and don't move indicator if
+       buffer appears in multiple windows.  Also, don't bother checking
+       whether either buffer is a mini because the manual says window change
+       functions don't run for minibuffer replacements.
+       (erc--keep-place-indicator-setup): Hook on
+       `window-buffer-change-functions' instead of
+       `window-configuration-change-hook'.
+       (erc-keep-place-mode, erc-keep-place-disable): Remove member from
+       `window-buffer-change-functions' instead of
+       `window-configuration-change-hook'.
+       (erc-keep-place): Use `visible' FRAME arg of `get-buffer-window'.
+       Don't twiddle `window-prev-buffers' when
+       `erc-keep-place-indicator-mode' is non-nil.  This feature was
+       originally introduced by bug#59943.
+       * test/lisp/erc/erc-goodies-tests.el
+       (erc-goodies-tests--assert-kp-indicator-on,
+       erc-goodies-tests--assert-kp-indicator-off): Update hook name.
+       * test/lisp/erc/erc-scenarios-keep-place-indicator.el: New file.
+       * test/lisp/erc/resources/keep-place/follow.eld: New file.
+
+2023-12-27  Jim Porter  <jporterbugs@gmail.com>
+
+       Abbreviate the VC revision in vc-annotate's buffer name
+
+       * lisp/vc/vc-hooks.el (vc-use-short-revision): New variable.
+       (vc-short-revision): New function.
+
+       * lisp/vc/vc-annotate.el (vc-annotate-use-short-revision): New
+       option...
+       (vc-annotate): ... use it.
+
+       * lisp/vc/vc-git.el (vc-git--rev-parse): Consult
+       'vc-use-short-revision'.
+
+       * etc/NEWS: Announce this change (bug#67062).
+
+2023-12-27  João Távora  <joaotavora@gmail.com>
+
+       Eglot: experimental support for Eglot-only subprojects
+
+       * lisp/progmodes/eglot.el
+       (eglot-alternatives)
+       (eglot-server-programs): : Rework docstring.
+       (eglot--guess-contact): Pass project to eglot-server-programs function.
+       (project-root): Define for new experimental Eglot project type.
+
+       Github-reference: https://github.com/joaotavora/eglot/discussions/1337
+
+2023-12-27  João Távora  <joaotavora@gmail.com>
+
+       Eglot: bump to 1.16
+
+       * etc/EGLOT-NEWS: Update.
+
+       * lisp/progmodes/eglot.el (Version): Bump to 1.15
+       (Package-Requires): Bump jsonrpc depedency to 1.23
+
+2023-12-27  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix typo
+
+       * lisp/progmodes/eglot.el (eglot--guess-contact): Fix typo.
+
+2023-12-27  João Távora  <joaotavora@gmail.com>
+
+       Eglot: introduce eglot-events-buffer-config
+
+       * doc/misc/eglot.texi (Eglot Variables): Reword.
+       (Performance): Reword.
+
+       * lisp/progmodes/eglot.el (eglot-events-buffer-size): Obsolete.
+       (eglot-events-buffer-config): New customization variable.
+       (eglot--connect): Use eglot-events-buffer-config.
+
+2023-12-27  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: bump to 1.0.23
+
+       * lisp/jsonrpc.el (Version): Bump to 1.0.23
+
+2023-12-27  Yuan Fu  <casouri@gmail.com>
+
+       Revert e8df6c311fcf59bf23d31b9db2bb8fec9d78fbe7
+
+2023-12-27  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Fix Tramp error in project-find-file
+
+       * lisp/progmodes/project.el (project--read-file-cpd-relative):
+       Avoid new Tramp connections (bug#68041).
+
+2023-12-26  João Távora  <joaotavora@gmail.com>
+
+       Revert "Eglot: Make 'try-completion' less broken"
+
+       This reverts commit 4dcbf61c1518dc53061707aeff8887517e050003.
+
+       It's not correct, breaks tests.  I declare it impossible to make C-M-i
+       use of 'try-completion' behave sanely with LSP in its current state.
+       YMMV.  Use a completion tooltip, like Company.
+
+2023-12-26  João Távora  <joaotavora@gmail.com>
+
+       Eglot: Make 'try-completion' less broken
+
+       The 'try-completion' completion operation, used mostly in vanilla
+       'completion-at-point' invoked with C-M-i is close to impossible to get
+       right in LSP because of the arbitrary edits handled in
+       ':exit-function'.
+
+       When this operation is invoked on the table, returning the pattern
+       argument unchanged somehow (TM) makes a sole completion show the
+       *Completions* buffer, where selecting it will recover context
+       necessary for `:exit-function' and call that function.  It doesn't
+       break any other cases I know, and that's good enough for now.
+
+       https://github.com/joaotavora/eglot/issues/1339
+
+       * lisp/progmodes/eglot.el (eglot-completion-at-point): Return pattern
+       when 'try-completion' is invoked.
+
+2023-12-26  Po Lu  <luangruo@yahoo.com>
+
+       Consistently round glyph advances in the SFNT font backend
+
+       * src/sfnt.h (SFNT_ROUND_FIXED): New macro.
+
+       * src/sfntfont.c (sfntfont_get_glyph_outline): Don't apply
+       advance width distortion before the glyph is instructed or
+       decomposed.  Round advance width as measured between both
+       phantom points subsequent to instruction code execution.
+       (sfntfont_draw): Don't take the advance's ceiling when advancing
+       origin point.
+
+2023-12-26  João Távora  <joaotavora@gmail.com>
+
+       Eglot: partial fix for middle-of-symbol completions
+
+       * lisp/progmodes/eglot.el (eglot-completion-at-point): Fix
+       completion reversion in :exit-function.
+
+       In a rust-ts-mode buffer such as this main.rs file
+
+         fn main() {
+           let v: usize = 1;
+           v.c<cursor-here>1234.1234567890
+         }
+
+       the server wants to edit the line to read, after C-M-i and selecting
+       "count_ones"
+
+           v.count_ones<cursor-here>.1234567890
+
+       But it couldn't apply the edit to the correct initial state because
+       that state wasn't correctly restored.  This commit fixes that.
+
+       However, if the initial state is
+
+           v.count_on1234.1234567890
+
+       then completion still fails, because the 'try-completion' call in
+       eglot-completion-at-point will just return complete to "count_ones"
+       and Emacs doesn't consider this a completion "exit", so it'll
+       completely ignore the exit function.
+
+       I think 'try-completion' (and 'test-completion') simply can't be used
+       here (for one, they obey styles, and styles are off-limits in LSP),
+       but I'll leave that for another commit.
+
+       Github-reference: https://github.com/joaotavora/eglot/issues/1339
+
+2023-12-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add Python to `recentf-arrange-rules`
+
+       * lisp/recentf.el (recentf-arrange-rules): Add rule for Python.
+
+2023-12-25  Po Lu  <luangruo@yahoo.com>
+
+       Apply TTF advance width rounding to uninstructed glyphs
+
+       * src/sfnt.c (sfnt_scale_metrics):
+
+       * src/sfntfont.c (sfntfont_get_glyph_outline): Round advance and
+       floor lbearing scaling glyph metrics.
+       (sfntfont_measure_pcm): Don't round or truncate metrics which
+       have already been.
+
+2023-12-25  Po Lu  <luangruo@yahoo.com>
+
+       Optimize font edge filling loop
+
+       * src/sfnt.c (sfnt_fedge_sort): Delete function.
+       (sfnt_poly_edges_exact): Don't sort edges, iterate through each
+       instead.
+       (main): Adjust tests.
+
+2023-12-24  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       Fix ses-formula-record
+
+       * lisp/ses.el (ses-is-cell-sym-p): Tighten test with checking
+       argument is a local variable.
+       (ses-formula-record): Fix definition.
+       (ses-rename-cell): Loosen test on new-name, conversely to
+       'ses-is-cell-sym-p' tightening.
+
+2023-12-24  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       Fix test about need for explicit printing inserted lines
+
+       * lisp/ses.el (ses--blank-line-needs-printing-p): New
+       function. Does not consider that printer `nil' produces a non
+       empty string, as `ses-print-cell' removes nil printer by oring to
+       fallback.
+       (ses-insert-row): Replace the complex and erroneous test about
+       blank newline needing printing by a call to
+       'ses--blank-line-needs-printing-p'.
+
+2023-12-24  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       More doc on ses+ and argument order
+
+       * doc/misc/ses.texi (Standard formula functions): Indicate that
+       'ses+' reverses argument order.
+
+2023-12-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/eval.c (signal_or_quit): Fix naming inconsistency with docs
+
+       The var's docstring and etc/NEWS refer to "*Redisplay-trace*",
+       so better use that (which is also more in line with usual practice
+       of Emacs buffer names).
+
+2023-12-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       checkdoc: Avoid false positive for keybinding in docstring
+
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
+       Avoid false positive when a variable contains a keybinding (for
+       example, "C-g").  (Bug#68002)
+       * test/lisp/emacs-lisp/checkdoc-tests.el
+       (checkdoc-docstring-avoid-false-positive-ok): New test.
+
+2023-12-24  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make stty settings configurable in Tramp's make-process
+
+       * lisp/net/tramp-sh.el (tramp-pipe-stty-settings): New defcustom.
+       (tramp-sh-handle-make-process): Use it.  (Bug#62093)
+
+2023-12-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix toolbar for Log Edit mode
+
+       * lisp/vc/log-edit.el (log-edit-tool-bar-map): Fix buttons and
+       help messages.
+
+       * etc/images/README (Files): Fix whitespace.
+
+2023-12-24  Po Lu  <luangruo@yahoo.com>
+
+       Introduce a toolbar for Log Edit mode
+
+       * etc/NEWS: Announce new change.
+
+       * etc/images/README: List the sources of the new image files.
+
+       * etc/images/commit.xpm:
+       * etc/images/commit.pbm:
+       * etc/images/gen-changelog.xpm:
+       * etc/images/gen-changelog.pbm:
+       * etc/images/ins-changelog.xpm:
+       * etc/images/ins-changelog.pbm:
+       * etc/images/load-changelog.xpm:
+       * etc/images/load-changelog.pbm:
+       * etc/images/view-diff.xpm: New files.
+
+       * lisp/vc/log-edit.el (log-edit-menu): Insert a menu item for
+       "Generate ChangeLog".
+       (log-edit-tool-bar-map): New keymap.
+       (log-edit-mode): Install this keymap as the tool bar map.
+
+2023-12-23  Dmitry Gutov  <dmitry@gutov.dev>
+
+       jit-lock-force-redisplay: Make it work
+
+       * lisp/jit-lock.el (jit-lock-force-redisplay):
+       Make sure the buffer change is really performed (bug#66732).
+
+2023-12-23  F. Jason Park  <jp@neverwas.me>
+
+       Optionally continue on error in erc-auth-source-search
+
+       * doc/misc/erc.texi (auth-source): Add new "Troubleshooting"
+       subsection.
+       * lisp/erc/erc.el (erc-open): Initialize markers before determining
+       session parameters.  Otherwise, functions that rely on
+       `erc-inset-marker' being non-nil, like `erc-check-text-conversion',
+       may fail during auth-source lookups.
+       (erc-auth-source-search): When non-interactive, ask the user whether
+       to continue connecting anyway.  (Bug#67978)
+
+2023-12-23  F. Jason Park  <jp@neverwas.me>
+
+       Fix overlapping logs from erc-truncate-buffer-on-save
+
+       * lisp/erc/erc-button.el (erc-button--display-error-notice-with-keys):
+       Currently, internal "error notices" do not have timestamps.  However,
+       this causes alignment issues for non-`fill-wrap' users of left-sided
+       stamps.  The heuristic used by this change for detecting such stamps
+       is weak and prone to false negatives.
+       * lisp/erc/erc-log.el (erc-log-mode, erc-log-enable): Set explicit
+       depth for `erc--pre-clear-functions' to 50.
+       (erc-save-buffer-in-logs): Fix partial regression in which redundant
+       text would appear in logs that have undergone truncation via an
+       interactive call to this command when the deprecated option
+       `erc-truncate-on-save' is non-nil.
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Set
+       depth for `erc--pre-clear-functions' to 40.
+       (erc-stamp--reset-on-clear): Only add `erc-stamp--insert-date-hook'
+       when `erc-stamp--date-mode' is active.
+       * lisp/erc/erc.el (erc-cmd-CLEAR): Rework to honor but improve upon
+       the old behavior when called from lisp.  Do this by attempting to find
+       the beginning of the current message and excluding it from the
+       truncated portion of the buffer.  A NEWS entry describing this
+       behavior already exists for 5.6.
+       * test/lisp/erc/erc-scenarios-log.el
+       (erc-scenarios-log--save-buffer-in-logs/truncate-on-save): New test.
+       These changes originate from bug#60936.
+
+2023-12-23  F. Jason Park  <jp@neverwas.me>
+
+       Replace some uses of erc-error
+
+       * lisp/erc/erc-button.el
+       (erc-button--display-error-notice-with-keys-and-warn): Use
+       `erc--lwarn' so the warnings buffer is overridable for testing.
+       * lisp/erc/erc-sasl.el (erc-sasl-mode, erc-sasl-enable): Signal an
+       `error' instead of calling `erc-error', which continues execution.  In
+       this special case, the session cannot continue initializing, since
+       connection registration can't reasonably be expected to complete
+       successfully.
+       (erc-sasl--destroy): Don't run `erc-quit-hook', and issue a warning of
+       level `:error' to get users' attention instead of calling `ding'.
+       * lisp/erc/erc-speedbar.el
+       (erc-speedbar--emulate-sidebar-set-window-preserve-size): Don't set
+       window parameters.  Doing this basically made
+       `erc-speedbar-toggle-nicknames-window-lock' unusable.
+       (erc-speedbar--toggle-nicknames-sidebar): Manually unlock the window
+       after toggling.
+       (erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable): Don't
+       `ding' when called in a non-ERC buffer, and make sure to call
+       `erc-speedbar--ensure' from an ERC buffer.  Also, don't disable
+       minor-mode var when speedbar buffer doesn't exist because that doesn't
+       ensure it'll be created the next time around, and users may count on
+       the activation state remaining consistent.
+       (erc-speedbar-toggle-nicknames-window-lock): Make usable from lisp
+       with explicit numeric arg.
+       * lisp/erc/erc-status-sidebar.el (erc-bufbar-mode, erc-bufbar-enable):
+       Only create the side window from an erc-mode buffer to ensure the
+       ratio is preserved when burying the current buffer, e.g., with
+       `custom-buffer-done'.
+       * lisp/erc/erc.el (erc--warnings-buffer-name, erc--lwarn): New
+       function, an analog of `lwarn', that allows for overriding the
+       warnings buffer with the new variable `erc--warnings-buffer-name'.
+       (erc-cmd-SERVER): Add comment.
+       * test/lisp/erc/erc-scenarios-sasl.el
+       (erc-scenarios-sasl--plain-fail): Expect warning instead of error.
+       * test/lisp/erc/erc-scenarios-status-sidebar.el
+       (erc-scenarios-status-sidebar--bufbar): Refresh when interactive as
+       well.
+       * test/lisp/erc/resources/sasl/plain-failed.eld: Expect EOF instead of
+       "CAP END".  (Bug#63595)
+
+2023-12-23  F. Jason Park  <jp@neverwas.me>
+
+       Populate erc--msg-prop-overrides for CTCP replies
+
+       * lisp/erc/erc-backend.el (erc-server-PRIVMSG): Don't set string
+       intended for insertion to the undefined return value of
+       `erc-process-ctcp-reply' and `erc-process-ctcp-query'.  Rework control
+       flow slightly for clarity.
+       * lisp/erc/erc.el (erc-process-ctcp-reply): Bind
+       `erc--msg-prop-overrides' and populate with `erc--ctcp' and `erc--cmd'
+       "msg props" for the benefit of `erc-display-message' calls made by
+       the various CTCP reply handlers.  (Bug#67677)
+
+2023-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       a4751657389 * doc/man/emacsclient.1: Fix --tramp option.
+       1e5357d3d1f * doc/man/emacsclient.1: Add missing sections (bug#66598)
+       fba7b9db397 Add explanation for extra parentheses in ELisp Introduction
+       77232826821 Add sample code to the "let*" section in "forward-paragraph"
+       7a00ca92c19 Fix treesit test (bug#67117)
+       d220893216c Fix c++-ts-mode indentation (bug#67975)
+       d386a8aa43f Recommend customizing eglot for python-base-mode
+       bd0c7589715 Improve documentation of new native-compilation commands
+       1ad126c0f28 ; Fix typo
+       77678244b83 doc/lispintro: Don't mention `set` (bug#67734)
+       cb3684e9dfa Fix script for some characters
+       2922d683b78 ; * src/treesit.c (treesit_traverse_child_helper): Fix co...
+       7b315e8a5c9 Fix an issue when searching subtree backward (bug#67117)
+       03625c2fefa Fix passive mode for tnftp client in ange-ftp.el.
+       b6429b1c1c7 ; Improve documentation of ispell.el's dictionary database
+       75cc1593412 ; * etc/PROBLEMS: Update the "GnuPG hangs" entry.
+       67d9af1c074 Fix using disabled command without a docstring
+       f68f3500236 Improve documentation of text properties handling when ya...
+       06c399914fa Eglot: Add Uiua language server
+
+2023-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix alignment of columns in Dired display with ls-lisp
+
+       * lisp/dired.el (dired-align-file): Don't realign the first column
+       of file's data.  (Bug#67953)
+
+2023-12-23  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Respect mouse-face on SVG image glyphs (bug#67794)
+
+       * src/dispextern.h:
+       * src/image.c (image_spec_value): Export 'image_spec_value'.
+       * src/xdisp.c (draw_glyphs): Maybe update SVG image glyphs with
+       mouse face features before drawing.
+
+2023-12-23  Visuwesh  <visuweshm@gmail.com>
+
+       Make ffap correctly guess remote file names at point
+
+       * lisp/ffap.el (ffap-lax-url): Set it to nil so that remote file
+       names may be matched.
+       (ffap-fixup-email): New function.
+       (ffap-guesser): Specially handle email addresses now that
+       'ffap-lax-url' is nil, as user@host fails to be matched as an
+       email address with that setting.  (Bug#67688)
+
+       * etc/NEWS: Announce the new value of the defcustom.
+
+2023-12-23  Gerd Möllmann  <gerd@gnu.org>
+
+       Use new safe_calln on NS
+
+       * src/nsterm.m (ns_in_echo_area_1): Use safe_calln.
+       ([EmacsView draggingUpdated:]): Use safe_calln.
+
+2023-12-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Split safe_call between redisplay and non-redisplay versions
+
+       The `safe_call/eval` family of functions started its life in `xdisp.c`
+       for the needs of redisplay but quickly became popular outside of it.
+       This is not ideal because despite their name, they are somewhat
+       specific to the needs of redisplay.
+
+       So we split them into `safe_call/eval` (in `eval.c`) and 
`dsafe_call/eval`
+       (in `xdisp.c`).  We took this opportunity to slightly change their
+       calling convention to be friendly to the CALLN-style macros.
+       While at it, we introduce a new `calln` macro as well which does
+       all that `call[1-8]` used to do.
+
+       * src/eval.c (safe_eval_handler, safe_funcall, safe_eval): New 
functions,
+       Copied from `xdisp.c`.  Don't obey `inhibit_eval_during_redisplay` any 
more.
+       Adjust error message to not claim it happened during redisplay.
+
+       * src/lisp.h (calln): New macro.
+       (call1, call2, call3, call4, call5, call6, call7, call8): Turn them
+       into aliases of `calln`.
+       (safe_funcall): Declare.
+       (safe_calln): New macro.
+       (safe_call1, safe_call2): Redefine as compatibility macros.
+       (safe_call, safe_call1, safe_call2): Delete.
+       Replace all callers with calls to `safe_calln`.
+
+       * src/xdisp.c (dsafe_eval_handler): Rename from `safe_eval_handler`.
+       Adjust all users.
+       (dsafe__call): Rename from `safe_call` and change calling convention to
+       work with something like CALLMANY.  Adjust all users.
+       (safe_call, safe__call1, safe_call2): Delete functions.
+       (SAFE_CALLMANY, dsafe_calln): New macros.
+       (dsafe_call1, dsafe_eval): Rename from `safe_call1` and `safe_eval`,
+       and rewrite using them.  Adjust all users.
+       (clear_message, prepare_menu_bars, redisplay_window): Use `dsafe_calln`.
+       (run_window_scroll_functions): Don't let-bind `Qinhibit_quit`
+       since `safe_run_hooks_2` does it for us.
+
+2023-12-23  Po Lu  <luangruo@yahoo.com>
+
+       Respect glyph metrics modified by instruction code
+
+       * src/sfnt.c (sfnt_read_glyph): Clear advance and origin
+       distortion returning an empty glyph.
+       (sfnt_build_instructed_outline): New parameter *ADVANCE_WIDTH,
+       in which the glyph's advance width is saved.
+       (sfnt_interpret_compound_glyph_1): Refine commentary.
+       (sfnt_verbose, main): Adjust tests.
+
+       * src/sfnt.h: Update prototypes correspondingly.
+
+       * src/sfntfont.c (sfntfont_get_glyph_outline): If an instructed
+       outline is available, derive the advance and lbearing from the
+       measurements within.
+       (sfntfont_probe_widths): Call sfntfont_measure_pcm to establish
+       average widths.
+       (sfntfont_open): Do so after instruction code initialization
+       completes.
+       (sfntfont_measure_pcm): Revise commentary.
+
+2023-12-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Drop footer line warning for packages requiring Emacs 30.1
+
+       The reason for warning about a missing footer line (";;; foo.el ends
+       here") is that package.el up until version 27.1 would refuse to
+       install a package without it.  Emacs 27.1 or later will install such
+       packages, but will issue a warning, the purpose of which is to
+       encourage package authors not to break backwards-compatibility.
+
+       However, if the minimum required Emacs version for a package is 30.1,
+       we do not need to worry about compatibility with earlier versions of
+       Emacs -- the package author has already explicitly said that the
+       package will not work on earlier versions.  For such packages, there
+       is no need to warn about a missing footer line.
+
+       In the future, this warning could be removed, but it is premature to
+       do that now.  (See Bug#26490.)  Thus, for packages that does not
+       specify a minimum version of Emacs, we continue to issue the warning.
+       We will also continue to warn for packages requiring Emacs 27 to 29,
+       since those versions will themselves warn if the footer is missing.
+
+       * lisp/emacs-lisp/package.el (package-buffer-info): Don't warn if the
+       footer line is missing for packages requiring Emacs 30.1 or later.
+
+2023-12-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Introduce new function lm-package-requires
+
+       * lisp/emacs-lisp/package.el (package--prepare-dependencies): Move
+       from here...
+       * lisp/emacs-lisp/lisp-mnt.el (lm--prepare-package-dependencies):
+       ...to here.
+       (lm-package-requires): New function.
+       (package-buffer-info): Use above new function.
+       * test/lisp/emacs-lisp/lisp-mnt-tests.el
+       (lm--tests-lm-package-requires): New test.
+
+2023-12-23  João Távora  <joaotavora@gmail.com>
+
+       Eglot: declare eglot-lsp-context bound to non-nil
+
+       Otherwise, it'll be really hard to use it in the recommended fashion:
+
+         (defun my/project-find-function (dir)
+           (when-let ((match
+                       (and (bound-and-true-p eglot-lsp-context)
+                            (locate-dominating-file dir "some-marker-file"))))
+             `(transient . ,match)))
+
+         (add-hook 'project-find-functions #'my/project-find-function)
+
+       because 'bound-and-true-p' will never return t even when the hook is 
called
+       from eglot--current-project.
+
+       Github-reference: https://github.com/joaotavora/eglot/discussions/1336
+       Github-reference: https://github.com/joaotavora/eglot/discussions/1337
+
+       * lisp/progmodes/eglot.el (eglot-lsp-context): Declare normally.
+
+2023-12-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp's direct asynchronous processes use 'tramp-remote-path'
+
+       * doc/misc/tramp.texi (Remote processes): Remove item about
+       tramp-remote-path.
+
+       * etc/NEWS: Direct asynchronous processes use 'tramp-remote-path'.
+
+       * lisp/net/tramp-sh.el (tramp-get-remote-pipe-buf): New defun.
+       (tramp-set-remote-path): Use it.
+       (tramp-get-remote-path): Add ;;;###tramp-autoload cookie.
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       Use `tramp-remote-path' for setting PATH environment.
+
+       * test/lisp/net/tramp-tests.el (tramp-test35-exec-path-direct-async)
+       (tramp-test35-remote-path-direct-async): New tests.
+
+2023-12-22  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: clean up previous change
+
+       * lisp/jsonrpc.el (jsonrpc-connection): Rework slot names.
+       (jsonrpc-connection-receive): Rework.
+       (jsonrpc--call-deferred): Fix typo.
+       (jsonrpc--process-sentinel)
+       (jsonrpc--remove): Use new slot names.
+       (jsonrpc--continue): Rework.
+       (jsonrpc--async-request-1): Rework.
+       (jsonrpc--event): Remember to remove :jsonrpc-json from
+       foreign-message
+       (jsonrpc--connection-receive): Revamp.
+       (jsonrpc--connection-send)
+       (jsonrpc--connection-reply): Rework.
+       (jsonrpc--log-event): Revamp.
+       (jsonrpc-continuation-count): Use new slot name.
+
+2023-12-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove byte-compile-form-stack backstop
+
+       * lisp/emacs-lisp/cconv.el (cconv-closure-convert):
+       Eliminate a binding that probably isn't useful after all.
+
+2023-12-22  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/byte-opt.el (byte-compile-nilconstp): Extend list.
+
+2023-12-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Slight funcall_subr optimisation
+
+       * src/eval.c (funcall_subr): Help the compiler by reducing aliasing
+       problems, and compensate for a missed-optimisation bug in LLVM where
+       switches sometimes forget to use variable range information (reported
+       in https://github.com/llvm/llvm-project/issues/76085).
+
+2023-12-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Ensure proper mode of *Compile-Log* buffer (bug#67920)
+
+       Reported by OGAWA Hirofumi.
+
+       * lisp/emacs-lisp/bytecomp.el (displaying-byte-compile-warnings):
+       Move most of the innards to...
+       (bytecomp--displaying-warnings): ...this new function, for ease
+       of maintenance.
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
+       Wrap early warning about missing lexbind declaration in
+       `displaying-byte-compile-warnings` so that it doesn't cause the
+       creation of a compile-log buffer with the wrong mode.
+
+2023-12-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Encapsulate byte-compile-form-stack maintenance
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-toplevel-file-form)
+       (byte-compile-form):
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
+       Use `macroexp--with-extended-form-stack` instead of explicit
+       push and pop.
+
+2023-12-22  Po Lu  <luangruo@yahoo.com>
+
+       Properly instruct compound glyphs with compound components
+
+       * src/sfnt.c (sfnt_interpret_compound_glyph_2): Don't grow the
+       compound decomposition context for saving compound points into,
+       since the space for them already exists.
+
+2023-12-22  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: overhaul logging mechanics
+
+       * lisp/jsonrpc.el (jsonrpc-connection): Rework.
+       (initialize-instance :after jsonrpc-connection): New method.
+       (slot-missing jsonrpc-connection :events-buffer-scrollback-size oset):
+       New hack.
+       (jsonrpc-connection-receive): Rework.
+       (initialize-instance :after jsonrpc-process-connection): Rework
+       from non-after version.
+       (jsonrpc-connection-send)
+       (jsonrpc--call-deferred)
+       (jsonrpc--process-sentinel)
+       (jsonrpc--async-request-1, jsonrpc--debug, jsonrpc--log-event)
+       (jsonrpc--forwarding-buffer): Rework.
+       (jsonrpc--run-event-hook): New helper.
+       (jsonrpc-event-hook): New hook.
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): Fix project slot
+       initform.
+       (eglot--connect): Use new jsonrpc-connection initarg.
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Use
+       jsonrpc-event-hook.
+       (eglot-test-basic-completions): Fix test.
+
+2023-12-21  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: fix destructuring bug
+
+       * lisp/jsonrpc.el (jsonrpc--process-sentinel): Fix destructuring bug.
+       (Version): Bump to 1.0.22
+
+2023-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'no-ls-lisp-advice'
+
+2023-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Delete test
+
+       We don't use such advice any more.
+
+2023-12-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Maintain byte-compile-form-stack in cconv-convert (bug#67483)
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--with-extended-form-stack):
+       New.
+       * lisp/emacs-lisp/cconv.el (cconv-closure-convert, cconv-convert):
+       Push forms onto byte-compile-form-stack.
+
+2023-12-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Non-delayed warning for malformed function (bug#67483)
+
+       * lisp/emacs-lisp/cconv.el (cconv-convert): Use an immediate warning;
+       a delayed one made little sense as it's a matter of well-formedness.
+
+2023-12-21  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Function to load GDB history
+
+       * lisp/progmodes/gdb-mi.el (gud-gdb-load-history): New function to
+       load GDB history, code factored out of 'gdb'.
+       (gdb): Call it.  (Bug#67928)
+
+2023-12-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve and update documentation of registers
+
+       * lisp/register.el (register-use-preview)
+       (register--read-with-preview-function)
+       (register-preview-function, register-preview-default-1)
+       (register-preview-default, register--preview-function)
+       (register-preview-info, register-command-info)
+       (register-preview-forward-line, register-preview-next)
+       (register-preview-previous, set-register, register-type)
+       (register--type, register-preview, register-preview-1)
+       (register-preview-get-defaults, register-read-with-preview)
+       (register-read-with-preview-traditional)
+       (register-read-with-preview-fancy, register-preview-delay): Doc
+       fixes.
+
+       * doc/emacs/regs.texi (Registers): Describe the new preview modes.
+
+       * etc/NEWS: Move the registers entry to its correct place, and
+       document the modified behavior.
+
+       (Bug#66394)
+
+2023-12-21  Po Lu  <luangruo@yahoo.com>
+
+       Implement an undocumented TrueType "feature"
+
+       * src/sfnt.c (sfnt_move): Correct commentary.
+       (sfnt_interpret_control_value_program): Reset dual projection,
+       freedom and projection vectors, in addition to the reference
+       points, zone pointers and loop counter.
+
+2023-12-21  Po Lu  <luangruo@yahoo.com>
+
+       * src/sfnt.c (GETINFO): Implement undocumented selector bit 5.
+
+2023-12-21  Po Lu  <luangruo@yahoo.com>
+
+       Accept empty contours in glyphs
+
+       * src/sfnt.c (sfnt_decompose_glyph_1, sfnt_decompose_glyph_2):
+       Accept empty contours, for they are not invalid, just redundant.
+
+2023-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/register.el (register-read-with-preview-fancy): Fit in 80 columns
+
+2023-12-21  Po Lu  <luangruo@yahoo.com>
+
+       Correct defcustoms in register.el
+
+       * lisp/register.el (register-preview-default-keys)
+       (register-use-preview): Render :version tags strings.
+
+2023-12-21  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: deal with nested synchronous jsonrpc-request
+
+       See bug#67945
+
+       * lisp/jsonrpc.el (jsonrpc-connection): Add -sync-request-alist
+       (jsonrpc-connection-receive): Rework.
+       (jsonrpc-request): Rework.  Pass SYNC-REQUEST to
+       jsonrpc-async-request-1.
+       (jsonrpc--process-sentinel): Simplify.
+       (jsonrpc--schedule): New helper.
+       (jsonrpc--continue): New helper.
+       (jsonrpc--async-request-1): Rework.
+       (jsonrpc--process-sentinel): Also cancel deferred action timers.
+       (Version): Bump to 1.0.21
+
+2023-12-21  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: rework implementation of continuations
+
+       Preparatory work for fix of bug#67945
+
+       * lisp/jsonrpc.el (jsonrpc-connection): Change slots.
+       (jsonrpc--remove): New helper
+       (jsonrpc-forget-pending-continuations)
+       (jsonrpc-connection-receive)
+       (jsonrpc-request)
+       (jsonrpc--process-sentinel)
+       (jsonrpc--async-request-1)
+       (jsonrpc--async-request-1): Rework.
+       (jsonrpc-continuation-count): New convenience helper.
+
+       * lisp/progmodes/eglot.el (eglot--mode-line-format): Stop using
+       jsonrpc--request-continuations.
+
+2023-12-21  João Távora  <joaotavora@gmail.com>
+
+       trace.el: use cl-print
+
+       Any non-trivial EIEO object in particular is impossible to read in the
+       *trace-output* buffer without this.  Functions, hash-tables, etc now
+       print as they do in backtrace buffers.
+
+       * lisp/emacs-lisp/trace.el (cl-print): Require it
+       (trace-entry-message, trace-exit-message): Use cl-prin1-to-string
+
+2023-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge commit 'new-fix-for-bug-60819'
+
+2023-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/cedet/semantic/db.el (semanticdb-create-database): Remove 
obsolete arg
+
+       * lisp/org/org-src.el (org-src-font-lock-fontify-block): Fix point-min 
/= 1
+
+2023-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (bibtex-font-lock-keywords): Expose a lambda to the compiler
+
+       Also use #' to quote function names.
+
+       * lisp/textmodes/bibtex.el (bibtex-font-lock-keywords): Expose a
+       lambda to the compiler.
+
+2023-12-20  Matto Fransen  <mattofransen@gmail.com>  (tiny change)
+
+       Specific rcirc log file time stamp format
+
+       The time stamp format in the chat buffer may now
+       differ from the format in the log files.
+       * doc/misc/rcirc.texi: Document new variable
+       * lisp/net/rcirc.el (rcirc-log-time-format):
+       Custom variable for the format.  (bug#67597)
+
+2023-12-20  Thierry Volpiatto  <thievol@posteo.net>
+
+       Rename *basic symbols and words to traditional in register
+
+       * lisp/register.el (register-use-preview): Do it.
+       (register-read-with-preview-traditional): Renamed from
+       register-read-with-preview-basic.
+
+2023-12-20  Thierry Volpiatto  <thievol@posteo.net>
+
+       Fix condition in register-read-with-preview-fancy
+
+       Now with have :noconfirm no need to check for '(set modify) otherwise
+       we fail as well in kmacros when register-use-preview is t.
+       The conditions should not be hard coded in
+       register-read-with-preview-fancy but in the cl-defmethod
+       register-command-info for each command.
+
+       * lisp/register.el (register-read-with-preview-fancy): Remove now
+       unneeded condition.
+
+2023-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Fix issue with register commands in kmacro
+
+       Using post-command-hook in minibuffer-setup-hook instead of a timer
+       allow running exit-minibuffer without delay and ensure the serie of
+       commands used in a kmacro run synchronously.
+
+       * lisp/register.el (register-read-with-preview-fancy): Do it.
+
+2023-12-20  Thierry Volpiatto  <thievol@posteo.net>
+
+       Provide emacs-29 behavior for register-preview
+
+       It is now the default with a value of register-use-preview eq to
+       basic.
+       To change this one have now to customize register-use-preview to
+       another value.
+
+       * lisp/register.el (register-preview-delay): Remove obsolescence.
+       (register--read-with-preview-function): New.
+       (register-use-preview): New option basic, it is now the default.
+       (register-preview-default-1): New the register-preview-default used by
+       `register-read-with-preview-fancy`.
+       (register-preview-default): Restored (same as Emacs-29).
+       (register--preview-function): Generic fn that return the right
+       function for register--preview-function.
+       (register-preview): Restored (same behavior as Emacs-29).
+       (register-preview-1): Used by `register-read-with-preview-fancy'.
+       (register-read-with-preview-basic): The old
+       register-read-with-preview.
+       (register-read-with-preview-fancy): The new
+       register-read-with-preview.
+
+2023-12-20  Thierry Volpiatto  <thievol@posteo.net>
+
+       Don't confirm with RET even when overwriting in register commands
+
+       This happen when register-use-preview is nil or never.
+       This reproduce what we had previously in 29.1 but with filtering in
+       the preview and default registers are provided for the commands of
+       type 'set'.
+
+       This is implemented with cl-defmethod to keep the code as much as
+       possible configurable.
+
+       * lisp/register.el (register-preview-info): New slot.
+       (register-command-info): Add new methods for copy-to-register,
+       point-to-register, number-to-register,
+       window-configuration-to-register, frameset-to-register and
+       copy-rectangle-to-register.
+       (register-read-with-preview): Bind noconfirm.
+
+2023-12-20  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project--read-file-cpd-relative: Don't abbreviate at all
+
+       * lisp/progmodes/project.el (project--read-file-cpd-relative):
+       Don't abbreviate at all, only suffixes are shown anyway.
+       And expand-file-name is slightly faster.
+
+2023-12-20  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Fix project-find-file history (with project--read-file-cpd-relative)
+
+       * lisp/progmodes/project.el (project--transplant-file-name):
+       Don't abbreviate here (bug#67901, bug#63829).
+       (project--read-file-cpd-relative): Do it here instead.  The reader
+       functions should decide on the preferred format themselves.
+
+2023-12-19  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Add "back" button on top of the pre-rename vc-print-log buffer
+
+       * lisp/vc/vc.el (log-view-vc-prev-revision)
+       (log-view-vc-prev-fileset): New dynamic variables (bug#55871).
+       (vc-print-log-renamed-add-button): Extract from
+       'vc-print-log-setup-buttons'.  Bind the above variables to convey
+       the current revision and fileset to 'vc-print-log-internal'.
+       (vc-print-log-internal): Use it also here, to print a "back"
+       button above the log when 'log-view-vc-prev-fileset' is set.
+
+2023-12-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Calc: speed up math-read-preprocess-string (bug#67536)
+
+       `math-read-preprocess-string` is one of the bottlenecks of `calc-eval`
+       and was unnecessarily slow even with no substitutions made.
+       This affected org-mode in particular, where `calc-eval` is called
+       repeatedly to recalculate tables.
+
+       Reported by Raffael Stocker who also wrote the unit tests here.
+
+       * lisp/calc/calc-aent.el (math--read-preprocess-re-cache): New.
+       (math-read-preprocess-string):
+       Use math--read-preprocess-re-cache, first computing it if necessary.
+       * test/lisp/calc/calc-tests.el (calc-math-read-preprocess-string):
+       New test.
+
+2023-12-19  João Távora  <joaotavora@gmail.com>
+
+       Fido-mode: don't error if case-fold-search is globally nil
+
+       bug#67884
+
+       To prevent errors, the same case-fold-search setting used for
+       originally selecting the candidate should be used when scoring it.
+
+       * lisp/minibuffer.el (completion--flex-score): Fix
+
+2023-12-19  Po Lu  <luangruo@yahoo.com>
+
+       Improve efficiency of operations involving font interpreter scale
+
+       * src/sfnt.c (sfnt_mul_f26dot6_fixed): Correct rounding
+       constant.
+       (sfnt_make_interpreter, SSW, WCVTF, sfnt_compute_phantom_points)
+       (sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_1)
+       (sfnt_vary_interpreter, sfnt_check_ssw): Account for the
+       fractional bits in a f26dot6 when computing the interpreter
+       scale factor.
+
+2023-12-19  Po Lu  <luangruo@yahoo.com>
+
+       Properly sign-extend freedom and projection vector values
+
+       * src/sfnt.c (GPV, GFV): Cast versors to int32_t.
+
+2023-12-19  Po Lu  <luangruo@yahoo.com>
+
+       Further corrections to font scaling
+
+       * src/sfnt.c (sfnt_dot_fix_14): Correct typo in final division.
+       (sfnt_compute_phantom_points): New parameters S1 and S2, into
+       which unrounded phantom point coordinates are saved.
+       (sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2)
+       (sfnt_interpret_compound_glyph_1): Adjust correspondingly.
+
+       * src/sfntfont.c (sfntfont_get_glyph_outline): Delete redundant
+       branch.
+
+2023-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       debug.el: Straighten the code that find the "base" of the backtrace
+
+       Let the caller tell us clearly where is the base of the backtrace,
+       if it's not `debug`.  This is done by passing a new `:backtrace-base`
+       keyword argument to `debug`.
+
+       Then use this info systematically in all the places where we access
+       the real C-level backtrace, to try and avoid inconsistencies and brittle
+       code that tries to enumerate the expected frames we're in.
+
+       * src/eval.c (get_backtrace_starting_at): Add support for offsets in the
+       `base` argument.
+       (Fbacktrace_debug): Add optional `base` argument.
+
+       * lisp/emacs-lisp/debug.el (debug, debugger-frame, 
debugger-frame-clear):
+       Use `debugger--backtrace-base` when calling `backtrace-debug`.
+       (debugger-setup-buffer): Use `debugger--backtrace-base`
+       when calling `backtrace-get-frames`.
+       (debugger-frame-number): Drop `skip-base` arg, assume it's never nil.
+       Add sanity check.
+       (debugger--backtrace-base): Use the `:backtrace-base` info
+       in `debugger-args`.
+       (debugger-eval-expression): Adjust call to `debugger-frame-number`.
+       (debug--implement-debug-on-entry): Pass appropriate `:backtrace-base`.
+
+2023-12-18  Po Lu  <luangruo@yahoo.com>
+
+       Further fixes for problems uncovered by the previous fix
+
+       * src/sfnt.c (sfnt_deltap): Enable deltap instructions again,
+       since they now serve a purpose.
+       (sfnt_compute_phantom_points): Round phantom points to match the
+       behavior of other TrueType scalers.
+
+2023-12-18  Po Lu  <luangruo@yahoo.com>
+
+       * src/sfnt.c (sfnt_interpret_mdap): Correct MDAP opcode.
+
+2023-12-18  Po Lu  <luangruo@yahoo.com>
+
+       Fix typo in earlier changes
+
+       * src/sfnt.c (sfnt_poly_edges_exact): Don't overwrite the
+       remainder of an ascending edge with its covered height.
+       (main): Adjust tests.
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Add erc-track integration to erc-nicks
+
+       * lisp/erc/erc-button.el (erc-button--nick): Add `face-cache' slot.
+       (erc-button-add-nickname-buttons): Pass `erc-button--nick' object, if
+       created', as the boolean NICK-P parameter when calling
+       `erc-button-add-button'.  Keeping the latter function ignorant of
+       `erc-button--nick' is of course preferable, but some coordination is
+       now required to convey and use the "face cache".  We can introduce an
+       abstraction, like a local variable, if this becomes an issue.
+       (erc-button-add-button): Use `erc--merge-prop' instead of
+       `erc-button-add-face' to apply button faces.  Hold off on deprecating
+       the latter because it provides unique functionality for nesting faces.
+       Also, consult NICK-P if it's an `erc-button--nick' object for the
+       various overriding faces it knows about.
+       * lisp/erc/erc-nicks.el (erc-nicks-track-faces): New option.
+       (erc-nicks--get-face): Make generated face `:inherit' from
+       `erc-nicks-backing-face'.
+       (erc-nicks--highlight): Just return the generated face instead of
+       combining it with `erc-nicks-backing-face'.
+       (erc-nicks--highlight-button): Set the `face-cache' slot of the
+       `erc-button--nick' object when `track' is loaded and initialized.
+       (erc-nicks-mode, erc-nicks-enable, erc-nicks-disable): Add and remove
+       `track' integration.
+       (erc-nicks--reject-uninterned-faces): New function to remove faces
+       created by `nicks' from buttonized speakers and mentions.  Conform
+       to `erc-track--face-reject-function' interface.
+       (erc-nicks--ourps, erc-nicks--check-normals): New function and helper
+       for `erc-track--alt-normals-function' interface.
+       (erc-nicks--setup-track-integration): New function.
+       (erc-nicks--remember-face-for-track): New function to cache
+       nick faces owned by this module.
+       * lisp/erc/erc.el (erc--merge-prop): Add new optional parameter
+       `cache-fn', and when non-nil, call it, assigning the returned value to
+       that of the merged property.
+       * test/lisp/erc/erc-nicks-tests.el (erc-nicks-list-faces): Skip
+       the "Inherit: " button.  (Bug#67767)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Cache shortened channel names in erc-track
+
+       * lisp/erc/erc-track.el (erc-track--shortened-names): New variable to
+       stash both the latest inputs and most recent result of
+       `erc-track-shorten-function'.
+       (erc-track--shortened-names-current-hash,
+       erc-track--shortened-names-set, erc-track--shortened-names-get): New
+       pair of generalized-variable functions and helper variable for
+       accessing and mutating `erc-track--shorten-prefixes'.
+       (erc-modified-channels-display): Avoid redundant calls to
+       `erc-track-shorten-function'.  Mainly for use during batch processing.
+       * test/lisp/erc/erc-track-tests.el (erc-track--shortened-names): New
+       test.  (Bug#67767)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Promote "normal" faces in erc-track
+
+       * etc/ERC-NEWS: Add entry for new behavior involving the option
+       `erc-track-faces-normal-list'.
+       * lisp/erc/erc-button.el (erc-button-nick-default-face): New face to
+       serve as default for `erc-button-nickname-face'.
+       (erc-button-nickname-face): Change default value to
+       `erc-button-nick-default-face'.
+       * lisp/erc/erc-track.el (erc-track--massage-nick-button-faces): New
+       function to serve as Custom :set function for priority and "normal"
+       face-list options.
+       (erc-track-faces-normal-list): Fix Custom :type by loading
+       `erc-button' during validation so Customize chooses the correct UI
+       instead of a generic form field with "(mismatch)" printed alongside
+       the "STATE" button.
+       (erc-track-faces-priority-list, erc-track-faces-normal-list): Remove
+       values for "buttonized" `match' module faces that, if retained, would
+       need updating to feature `erc-button-nick-default-face' instead of
+       `erc-nick-default-face'.  However, as noted in the NEWS entry, this
+       ordering of button face atop match face is not possible.  Use :set
+       function to massage saved user values.
+       (erc-track-ignore-normal-contenders-p): New compatibility switch to
+       access pre-5.6 behavior, in which faces in
+       `erc-track-faces-normal-list' were only considered for promotion to
+       the mode line if the current face occupying that pole position wasn't
+       present.
+       (erc-track-mode, erc-track-enable, erc-track-disable): Add comments
+       regarding perceived futility of hooking on `erc-server-001-functions'
+       and likely unneeded hook removal.  Run common buffer-local setup and
+       teardown.
+       (erc-track--normal-faces): New local variable, a snapshot of
+       `erc-track-faces-normal-list'.
+       (erc-track--setup): New function to stash
+       `erc-track-faces-normal-list' on init.
+       (erc-track-select-mode-line-face): Offer alternate explanation of
+       certain particulars in doc string.
+       (erc-track--alt-normals-function): New function-valued variable to
+       allow other modules to intervene in deciding whether to pursue and
+       promote a "normal" contending face.
+       (erc-track--select-mode-line-face): New function similar to its public
+       namesake except that it considers other viable candidates among the
+       "normal" alternatives.
+       (erc-track-modified-channels): Only run face selection portion when
+       faces are actually found.  Use `erc-track--select-mode-line-face'
+       instead of `erc-track-select-mode-line-face'.
+       * test/lisp/erc/erc-track-tests.el
+       (erc-track-select-mode-line-face): New test.
+       (erc-track-tests--select-mode-line-face): New fixture function.
+       (erc-track--select-mode-line-face): New test.  (Bug#67767)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Forgo excess nick buttonizing on JOINs and QUITs
+
+       * etc/ERC-NEWS: Mention nick-button deduping.
+       * lisp/erc/erc-button.el (erc-button-highlight-nick-once): New
+       variable to specify commands and numerics for messages that ERC should
+       forgo redundant buttonizing atop, assuming the presence of a
+       "userhost".
+       (erc-button--fallback-cmem-function): Change default value to
+       `erc-button--get-user-from-spkr-prop'.
+       (erc-button--get-user-from-spkr-prop): New function to derive user
+       object from `erc--spkr' "msg prop".  The point is to allow
+       `erc-speaker-from-channel-member-function' to return a display name
+       that differs from the speaker's actual nick as recorded by its
+       `erc-server-user' object.
+       (erc-button--get-phantom-cmem): Add `count' parameter.
+       (erc-button-add-nickname-buttons): Stop after first turn if the
+       current command appears in `erc-button-highlight-nick-once'.  Pass
+       iteration count to `erc-button--fallback-cmem-function'.  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Rename erc-channel-users to erc-channel-members
+
+       * etc/ERC-NEWS: Mention name change.
+       * lisp/erc/erc-backend.el (erc-process-sentinel): Don't create an
+       empty `erc-channel-users' hash table in server buffers.  This is
+       arguably a bug fix as well as a minor breaking change.
+       * lisp/erc/erc-common.el (erc-get-channel-user,
+       erc-get-channel-member): Rename and alias former to latter.
+       * lisp/erc/erc.el (erc-channel-users, erc-channel-members): Rename
+       former to latter.  The old name invited much confusion because the
+       table's values are not mere `erc-channel-user' instances but cons
+       cells that include them and their corresponding server users.
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Consolidate status-prefix slots of erc-channel-user
+
+       * etc/ERC-NEWS: Mention change even though the API remains
+       undisturbed.
+       * lisp/erc/erc-common.el (erc-channel-user): "Encode" status prefix
+       slots `voice', `halfop', `op', `admin', and `owner' as single `status'
+       slot.  Add backward-compatible constructor.  Although the old layout
+       was overly sparse, since the vast majority of users have no membership
+       status at all, the point here is not to trade time for space but
+       rather to improve human readability of ERC buffer substrings
+       containing text props that reference `erc-channel-user' objects.
+       * lisp/erc/erc.el (erc--define-channel-user-status-compat-getter):
+       Helper macro for declaring compat-oriented "getters" for status-prefix
+       slots of `erc-channel-user'.
+       (erc-channel-user-voice, erc-channel-user-halfop, erc-channel-user-op,
+       erc-channel-user-admin, erc-channel-user-owner): Add compat getters.
+       These are not new functions.  They were previously defined by the
+       `erc-channel-user' `cl-defstruct' in erc-common.el.
+       (erc--update-cusr-status-if-changed): New helper macro to make
+       `erc-update-current-channel-member' more readable.
+       (erc-update-current-channel-member): Collapse some overly verbose
+       "unrolled" forms using helper macro and more compact expressions.
+       * test/lisp/erc/erc-tests.el (erc-channel-user): New test.
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Demote erc-fill-line-spacing to a normal variable
+
+       * etc/ERC-NEWS: Remove section from 5.6 announcing user option
+       `erc-fill-line-spacing'.
+       * lisp/erc/erc-fill.el (erc-fill-line-spacing): Change from an option
+       to a variable and note unfortunate UX hiccups.
+       (erc-fill-wrap-merge, erc-fill-wrap-merge-indicator, fill-wrap):
+       Remove mention of the option, now variable, `erc-fill-line-spacing'.
+       (Bug#60936)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Use templates for formatting chat messages in ERC
+
+       * doc/misc/erc.texi: Replace option `erc-format-nick-function' with
+       `erc-show-speaker-membership-status'.
+       * etc/ERC-NEWS: Mention shift to template-based speaker formatting.
+       Also mention in-buffer STATUSMSG support and various name changes and
+       new formatting-related options.
+       * lisp/erc/erc-backend.el (erc-format-privmessage): Remove forward
+       declaration.
+       (erc--determine-speaker-message-format-args): Add forward declaration.
+       (erc--statusmsg-target): New utility function for detecting whether
+       the current target is status-prefixed.
+       (erc-current-message-catalog): Move here from lisp/erc/erc.el.
+       (erc--message-speaker-catalog): New variable.
+       (erc--speaker-status-prefix-wanted-p): New variable specifically for
+       the function `erc-format-@nick' to signal it wants status-prefixes
+       prepended to the displayed nick.
+       (erc-server-PRIVMSG): Initialize `let'-bound value of
+       `erc--msg-prop-overrides' to a dummy `erc--tmp' property with a null
+       value that `erc-display-message' will "strip" before calling its
+       hooks.  Move away from the rather blunt symbol `msg' as a useful value
+       for `erc--msg'.  Instead, allow `erc-display-message' to assign the
+       most appropriate value based on context.  Also, bind the variable
+       `erc-current-message-catalog' to whatever the buffer's
+       `erc--message-speaker-catalog' happens to be.  Future internal modules
+       can set this to alternative catalogs as needed.  Additionally, detect
+       STATUSMSG prefixes on targets and inform the formatting logic of the
+       verdict.  Lastly, and most importantly, use the function
+       `erc--determine-speaker-message-format-args' instead of
+       `erc-format-privmessage' for message formatting.  Pass along the
+       returned "catalog key" and spec parameters to `erc-display-message'.
+       However, for NOTICEs, continue to render the string, as before, for
+       the two "echo notice" hooks.
+       * lisp/erc/erc-common.el (erc--ctcp-response): New "subsclass" of
+       `erc-response' for smuggling extra information to CTCP query handlers
+       in a mostly backwards-compatible way.  The same approach could be
+       taken with the "echo notice" hooks mentioned above.
+       * lisp/erc/erc-dcc.el (erc-dcc-chat-filter): Add `erc--spkr' and
+       `erc--speaker' properties even though these chat buffers are not
+       `erc-mode' buffers.
+       * lisp/erc/erc-fill.el (erc-fill--wrap-last-msg,
+       erc-fill--wrap-max-lull): Add doc strings.
+       (erc-fill--wrap-continued-message-p): Rework to look for `erc--spkr'-
+       `erc--msg' combinations as indicators of speaker continuity.
+       (erc-fill--wrap-rejigger-region): Remove reference to the no longer
+       relevant `erc-stamp-type'.  Instead, use the `erc--msg' property
+       combined with the `erc-timestamp' field to detect date stamps because
+       all are currently left-sided.
+       * lisp/erc/erc-stamp.el (erc-stamp--propertize-left-date-stamp): Don't
+       add superfluous `erc-stamp-type' property.
+       * lisp/erc/erc.el (erc--msg-props): Revise purpose and meaning of
+       `erc--msg' by removing possible value `msg', which was previously
+       meant to indicate that a message had a "speaker".  Instead, rely on
+       the separate `erc--spkr' property to convey this information, with
+       `erc--msg' now expressing a "type" or "role".
+       (erc--use-language-catalog-for-ctcp-action-p): New variable, a
+       compatibility switch to help transition from the `ACTION' entry of the
+       language catalog to the `ctcp-action' family of entries in the new
+       `-speaker' catalog.
+       (erc--ensure-spkr-prop): Update to include any passed-in environmental
+       overrides.
+       (erc--send-action-display): Restore pre-5.6 behavior when
+       compatibility flag enabled.  Otherwise, use new `-speaker' catalog for
+       formatting inserted message.
+       (erc--send-message-external): Overhaul to behave more faithfully in
+       mimicking a line submitted at the prompt of the current target buffer.
+       (erc--own-property-names): Remove `erc-stamp-type'.
+       (erc-ensure-target-buffer-on-privmsg): Add new choice variant for old
+       default behavior and change meaning of default to mean "except for
+       STATUSMSGs".  This option is newly revived for ERC 5.6.
+       (erc--message-speaker-statusmsg, erc--message-speaker-statusmsg-input,
+       erc--message-speaker-input, erc--message-speaker-input-chan-privmsg,
+       erc--message-speaker-input-chan-notice,
+       erc--message-speaker-input-query-privmsg,
+       erc--message-speaker-input-query-notice,
+       erc--message-speaker-chan-privmsg, erc--message-speaker-query-privmsg,
+       erc--message-speaker-chan-notice, erc--message-speaker-query-notice,
+       erc--message-speaker-ctcp-action,
+       erc--message-speaker-ctcp-action-input,
+       erc--message-speaker-ctcp-action-statusmsg,
+       erc--message-speaker-ctcp-action-statusmsg-input): New variables for
+       new `speaker' format-template catalog.
+       (erc--speakerize-nick): New helper function.
+       (erc--determine-speaker-message-format-args): New function to find the
+       appropriate format key from various contextual parameters.  Could
+       become the default of a function-valued variable for internal use.
+       (erc-show-speaker-membership-status): New option.
+       (erc-format-nick-function, erc-speaker-from-channel-member-function):
+       Declare former as an obsolete alias for the latter, and redefine
+       purpose slightly.
+       (erc-format-nick-function, erc-determine-speaker-from-user): Rename
+       former to latter and obsolete the old name.
+       (erc-format-nick, erc-determine-speaker-from-user): Rename former to
+       latter and obsolete old name.
+       (erc-format-@nick): Deprecate and adapt for use with new
+       template-based formatting paradigm.
+       (erc-format-my-nick): Move `erc-speaker' text prop toward head of
+       list, meaning it will end up beneath `font-lock-face' in the final
+       output.
+       (erc--format-speaker-input-message): New function to replace
+       `erc-format-my-nick' in-tree.
+       (erc-process-ctcp-query): Don't bind `erc--msg' to `msg'.  Instead,
+       rely on `erc-display-message' to set it to the current template key.
+       (erc-ctcp-query-ACTION): Prefer using formatting template, but attempt
+       to simulate pre-5.6 behavior when compatibility flag enabled.
+       (erc-display-msg): Use `erc--format-speaker-input-message' instead of
+       `erc-format-my-nick'.  Ignore `erc--msg-prop-overrides' with null
+       values.
+       (erc-current-message-catalog): Move to erc-backend.el.
+       * test/lisp/erc/erc-scenarios-base-statusmsg.el: New file.
+       * test/lisp/erc/erc-scenarios-stamp.el
+       (erc-scenarios-stamp--left/display-margin-mode): Expect format catalog
+       key instead of unhelpful `msg' as value of `erc--msg' prop.
+       * test/lisp/erc/erc-tests.el (erc-message): Render format template in
+       mock function and expect string in assertions.
+       (erc-tests--format-privmessage): New function, a helper for the
+       following test.
+       (erc-format-privmessage, erc--determine-speaker-message-format-args):
+       Rename former to latter and suppress deprecation warning.
+       (erc--determine-speaker-message-format-args/queries,
+       erc--determine-speaker-message-format-args/queries-as-channel): New
+       tests.
+       (erc-tests--format-my-nick): New helper function for the following
+       test.
+       (erc--format-speaker-input-message): New test.
+       * test/lisp/erc/resources/base/display-message/statusmsg.eld: New
+       file.  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Add erc--spkr text property to chat messages
+
+       * etc/ERC-NEWS: Mention combined face ordering for "/me" messages.
+       * lisp/erc/erc-backend.el (erc-server-PRIVMSG): Bind
+       `erc--msg-prop-overrides' for the extent of this function's execution,
+       which means a large amount of code will see this variable as being
+       non-nil.  However, no calls to `erc-display-message' or
+       `erc-display-msg' should occur other than the one handling the final
+       insertion.  Code needing to influence the current message's "msg
+       props" can push new pairs onto this value, which will override any
+       existing collisions.
+       * lisp/erc/erc-fill.el (erc-fill): Switch to `erc--spkr' as sentinel
+       property.
+       (erc-fill--wrap-continued-message-p): Look for `erc--spkr' property
+       instead of `erc-speaker'.
+       * lisp/erc/erc.el (erc--msg-props): Mention `erc--spkr' in doc.
+       (erc--send-action-perform-ctcp): Add `erc--spkr' property.  Fix bug in
+       which `erc-my-nick-face' appeared below `erc-input-face' in the
+       speaker portion.
+       (erc--ensure-spkr-prop): New helper function to propagate speaker
+       metadata.
+       (erc--ranked-properties): Add `erc--spkr', `erc--ctcp', and
+       `erc--ephemeral'.
+       (erc-display-message): Use default hash table size when initializing.
+       Remove unnecessary assignment of `msg' to `erc--msg' for PRIVMSG and
+       NOTICE commands.  Bind `string' below `erc--msg-props' so that
+       implementers of the function form of the `erc-format-message'
+       templating interface can read and write the current context's "msg
+       props".
+       (erc--own-property-names): Add all `erc--msg-props' props by
+       subsumation.
+       (erc--get-speaker-bounds): Use `erc--spkr' instead of `erc--msg' as a
+       sentinel to detect a chat message guaranteed to have an `erc--speaker'
+       text-property interval.
+       (erc-format-privmessage, erc-format-my-nick, erc-ctcp-query-ACTION):
+       Add `erc--spkr' to `erc--msg-prop-overrides' when available.
+       * test/lisp/erc/erc-fill-tests.el: (erc-fill-tests--insert-privmsg):
+       Bind `erc--msg-prop-overrides'.
+       (erc-fill-tests--compare): Require environment variable value to match
+       current test name exactly when saving snapshots.  Add `erc--msg-props'
+       individually to white list.
+       * test/lisp/erc/erc-tests.el (erc--order-text-properties-from-hash):
+       Include `erc--spkr'.  (Bug#60936)  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Skip erc-ignored-user-p when erc-ignore-list is empty
+
+       * lisp/erc/erc-backend.el (erc-server-PRIVMSG): Don't bother running
+       `erc-ignored-user-p' and `erc-ignored-reply-p' when their associated
+       options are null.  The option `erc-ignore-list' is buffer-local when
+       set, and `erc-ignored-user-p' looks for it in the server buffer.
+       Moreover, all functions that set it, like `erc-cmd-IGNORE' and
+       `erc-cmd-UNIGNORE', do so in the server buffer.  And the response
+       handler in question only runs in server buffers, so this shouldn't
+       break anything.  Also, remove stray call to reassign trailing response
+       contents.
+       * lisp/erc/erc-common.el (erc-get-server-user): Rearrange so
+       `erc-with-server-buffer' doesn't have to switch to the server buffer
+       because `erc-downcase' can run in channels as well.
+       * lisp/erc/erc.el (erc-ignored-user-p): Add comment.  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Make erc-get-user-mode-prefix more flexible
+
+       * etc/ERC-NEWS: Mention renaming of `erc-get-user-mode-prefix'.
+       * lisp/erc/erc-speedbar.el (erc-speedbar-insert-user): Use
+       `erc-get-channel-membership-prefix' so that nicks in the nickbar can
+       have prefixes beyond just those for "voice" and "op".
+       * lisp/erc/erc.el (erc-get-user-mode-prefix,
+       erc-get-channel-membership-prefix): Rename former to latter because
+       "user mode" suggests the function somehow involves user modes, but it
+       exclusively concerns channel modes.  Also, overload the only parameter
+       in order to avoid redundantly looking up `erc-channel-user' object
+       with every predicate call.  In the near future, ERC will likely need
+       to offer an alternate version of this function that returns multiple
+       prefixes instead of just one.
+       (erc-format-@nick): Actually use the `channel-data' parameter.
+       (erc-format-my-nick, erc--format-channel-status-prefix): Use new name
+       for function `erc-get-user-mode-prefix'.  (Bug#63595)  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Clarify warning for process-dependent input in ERC
+
+       * lisp/erc/erc.el (erc--check-prompt-input-for-running-process):
+       Resolve dissonance between content of ancient `user-error' message and
+       condition that triggered it by favoring the former because it's
+       supported by the underlying mechanism, which revolves around the
+       `process-not-needed' symbol property.
+       * test/lisp/erc/erc-tests.el (erc--check-prompt-input-functions):
+       Revise expected output for error assertion.  (Bug#66073, originally
+       from bug#54536, and included for discussion in bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Add erc-server-396 response handler
+
+       * lisp/erc/erc-backend.el (erc-server-396, erc-server-396-functions):
+       Define response handler for 396 numeric.  For now, always display the
+       message in the active buffer rather than bother with something like
+       `erc-once-with-server-event' to try and suss out when this is a
+       response to something client-initiated, like a /VHOST.  Do this
+       despite most users probably wanting the message to appear in the
+       server buffer alone when the response is server-initiated.  The
+       `labeled-response' extension will hopefully make dealing with such
+       matters less of a crapshoot.
+       * lisp/erc/erc.el (erc--parse-user-regexp-pedantic): Tweak slightly to
+       allow null groups and favor host.
+       (erc--parse-user-regexp-legacy, erc--parse-user-regexp): Remove the
+       first variable but preserve its value as that of the second.
+       (erc--parse-nuh): New function.  The behavior is nuanced and complex
+       and so not easily described in a doc string.
+       (erc-message-english-396): Define format template for 396 response.
+       * test/lisp/erc/erc-scenarios-misc-commands.el
+       (erc-scenarios-misc-commands--VHOST): New test.
+       * test/lisp/erc/erc-tests.el (erc-parse-user): Move "pedantic" section
+       to new test.
+       (erc--parse-nuh): New test.
+       * test/lisp/erc/resources/commands/vhost.eld: New test data file.
+       (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Make erc-input's refoldp slot conditionally available
+
+       * etc/ERC-NEWS: Fix entry regarding `erc-input-refoldp'.
+       * lisp/erc/erc-common.el (erc-input): Remove `refoldp' slot, which was
+       to be new in 5.6, in order to reduce churn in the extremely unlikely
+       event that third-party code uses the read-syntax of these objects or
+       ones subclassed from it for some other purpose, outside of
+       `erc-pre-send-functions'.
+       (erc--input-split) Add `refoldp' slot here instead.
+       * lisp/erc/erc.el (erc-pre-send-functions): Amend doc string to stress
+       that `refoldp' is not a real slot.
+       (erc--input-ensure-hook-context, erc-input-refoldp): New function, an
+       impostor accessor for the nonexistent `refoldp' slot of `erc-input',
+       and a helper function for asserting a valid context at runtime.
+       (erc--run-send-hooks): Don't copy over `refoldp' from the
+       `erc--input-lines' object to the working `erc-insert' object.  Check
+       the insertion context's `erc--input-split' object instead of the
+       hook's `erc-insert' object when deciding whether to resplit.
+       * test/lisp/erc/erc-tests.el: Adjust test environment to satisfy
+       assertion.  (Bug#62947)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Add utility for iterating over arrays in ERC
+
+       * lisp/erc/erc-common.el (erc--doarray): Add macro for mapping over
+       arrays.  ERC has the uncommon requirement of having to repeatedly
+       traverse strings that contain flags for advertised server features.
+       It doesn't make sense to translate these meanings into enums or
+       dynamically generate variables for each flag.  Hash tables and lists
+       require additional setup and aren't as compact to inspect.
+       * lisp/erc/erc-dcc.el (erc-dcc-handle-ctcp-send): Use `string-search'
+       instead of `seq-contains-p' even though performance doesn't matter
+       here.
+       * lisp/erc/erc.el (erc--channel-mode-types): Use `erc--doarray'
+       instead of `dolist'.
+       (erc--process-channel-modes): Use `erc--doarray' instead of `dolist',
+       and don't create a string from current char until needed.
+       (erc--parse-user-modes): Use `erc--doarray' instead of `dolist'.
+       * test/lisp/erc/erc-tests.el (erc--doarray): New test.  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Double hyphenate internal ERC 5.6 text props
+
+       * lisp/erc/erc-fill.el (erc-fill, erc-fill-static,
+       erc-fill--wrap-continued-message-p, erc-fill-wrap,
+       erc-fill--wrap-rejigger-region): Add second hyphen to "msg prop" text
+       properties.  Rename `erc-speaker' to `erc--speaker'.
+       * lisp/erc/erc-goodies.el (erc--command-indicator-display): Rename
+       `erc-msg' to `erc--msg'.
+       * lisp/erc/erc-stamp.el (erc-stamp--current-time, erc-add-timestamp,
+       erc-stamp-prefix-log-filter, erc-stamp--lr-date-on-pre-modify,
+       erc-munge-invisibility-spec, erc-stamp--add-csf-on-post-modify,
+       erc-stamp--on-clear-message, erc-echo-timestamp, erc--echo-ts-csf):
+       Rename "msg props" with second hyphen.
+       * lisp/erc/erc-track.el (erc-track--skipped-msgs,
+       erc-track-modified-channels): Rename "msg prop" text properties with
+       second hyphen.
+       * lisp/erc/erc.el (erc--msg-props): Update doc with double-hyphenated
+       "msg prop" names.
+       (erc--send-action-display erc--get-inserted-msg-bounds,
+       erc--traverse-inserted, erc-insert-line, erc-display-line,
+       erc--ranked-properties, erc-display-message, erc--get-speaker-bounds,
+       erc-process-ctcp-query, erc-display-msg): Update all "msg prop" names
+       to have two hyphens.
+       (erc--send-action-display, erc--own-property-names,
+       erc--get-speaker-bounds, erc-format-privmessage, erc-format-my-nick,
+       erc-ctcp-query-ACTION): Rename `erc-speaker' to `erc--speaker'.
+       * test/lisp/erc/erc-scenarios-display-message.el
+       (erc-scenarios-display-message--multibuf): Double hyphenate "msg prop"
+       text properties.
+       * test/lisp/erc/erc-scenarios-match.el
+       (erc-scenarios-match--hide-fools/stamp-both/fill-wrap,
+       erc-scenarios-match--hide-fools/stamp-both/fill-wrap/speak,
+       erc-scenarios-match--stamp-both-invisible-fill-static): Update "msg
+       prop" names.
+       * test/lisp/erc/erc-scenarios-stamp.el
+       (erc-scenarios-stamp--on-post-modify,
+       erc-scenarios-stamp--left/display-margin-mode,
+       erc-scenarios-stamp--legacy-date-stamps,
+       erc-scenarios-stamp--on-insert-modify,
+       erc-scenarios-stamp--date-mode/left-and-right): Add second hyphen to
+       all "msg props". Rename `erc-speaker' to `erc--speaker'.
+       * test/lisp/erc/erc-stamp-tests.el (erc-echo-timestamp): Rename "msg
+       prop".
+       * test/lisp/erc/erc-tests.el (erc--get-inserted-msg-bounds,
+       erc--delete-inserted-message, erc--order-text-properties-from-hash,
+       erc--route-insertion): Rename "msg props" with second hyphen.
+       (erc-format-privmessage): Rename `erc-speaker' to `erc--speaker'.
+       (Bug#60936)  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Sequester some special-variable declarations in ERC
+
+       * lisp/erc/erc-backend.el (erc-log-p): Remove declaration entirely.
+       (erc-server-reconnect): Move declaration for `erc-reuse-buffers' here.
+       (erc-process-sentinel-1): Move `erc-kill-server-buffer-on-quit'
+       declaration here.
+       (erc--conceal-prompt): Move `erc-prompt-hidden' declaration here.
+       (erc-server-INVITE): Move `erc-invitation' declaration here.
+       (erc-server-PART): Move `erc-kill-buffer-on-part' declaration here.
+       (erc-server-PRIVMSG): Move declarations for `erc-minibuffer-ignored',
+       `erc-receive-query-display', `erc-receive-query-display-defer',
+       `erc--cmem-from-nick-function', `erc-format-nick-function', and
+       `erc-format-query-as-channel-p' here.
+       (erc-server-401): Move `erc-whowas-on-nosuchnick' declaration here.
+       (erc-server-475): Move `erc--called-as-input-p' and
+       `erc-prompt-for-channel-key' declarations here.
+       * lisp/erc/erc-common.el (erc-log-p): Remove declaration for
+       `erc-log-p' and replace with actual definition.
+       (erc-log-aux): Move `erc-dbuf' declaration from top level into
+       function body.
+       * lisp/erc/erc-fill.el (erc-fill--wrap-continued-message-p): Note in
+       the doc string that this function produces side effects.
+       * lisp/erc/erc-networks.el (erc-determine-network,
+       erc-networks--copy-server-buffer-functions): Move some variable
+       declarations to function body.
+       (erc-settings, erc-get): Deprecate for now and explain why in doc
+       strings.  We could deprecate them unconditionally, but they never
+       provided usable code, and their names are short and valuable.
+       * lisp/erc/erc.el (tabbar--local-hlf, motif-version-string,
+       gtk-version-string): Prefer moving these single-serving declarations
+       to function bodies, if only to make closures from this library less
+       cluttered when debugging.  This should also help avoid stray
+       declarations.
+       (erc-hooks, erc-timer-hook): Revise doc strings.
+       (erc-log-p): Move definition to erc-common.el.
+       (erc-cmd-SV): Mimic `emacs-version' and stick with `featurep', here in
+       combination with special-variable declarations, instead of `boundp' or
+       similar.
+       (erc-header-line-uses-tabbar-p): Explain that this has nothing to do
+       with `tab-bar'.
+       (erc-update-mode-line-buffer): Only assign when bound.  This has been
+       verified to work with version 2.0 on EmacsWiki.
+       * test/lisp/erc/erc-scenarios-base-reconnect.el: Timeouts.
+       * test/lisp/erc/erc-scenarios-base-renick.el: Timeouts.
+       * test/lisp/erc/resources/join/network-id/foonet-again.eld: Timeouts.
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Define ERC message-formatting templates with defvar
+
+       * etc/ERC-NEWS: Mention convenience macro being preferred means of
+       defining message templates.  Mention renaming of `notify' formatting
+       templates.
+       * lisp/erc/erc-common.el (erc--define-catalog,
+       erc-define-message-format-catalog): New macro and internal variant to
+       replace `erc-define-catalog-entry'.  The internal variant allows us to
+       defer reindenting existing definitions until meaningfully edited.
+       * lisp/erc/erc-dcc.el (erc-message-english-dcc-chat-discarded,
+       erc-message-english-dcc-chat-ended,
+       erc-message-english-dcc-chat-no-request,
+       erc-message-english-dcc-chat-offered,
+       erc-message-english-dcc-chat-offer,
+       erc-message-english-dcc-chat-accept,
+       erc-message-english-dcc-chat-privmsg, erc-message-english-dcc-closed,
+       erc-message-english-dcc-command-undefined,
+       erc-message-english-dcc-ctcp-errmsg,
+       erc-message-english-dcc-ctcp-unknown,
+       erc-message-english-dcc-get-bytes-received,
+       erc-message-english-dcc-get-complete,
+       erc-message-english-dcc-get-failed,
+       erc-message-english-dcc-get-cmd-aborted,
+       erc-message-english-dcc-get-file-too-long,
+       erc-message-english-dcc-get-notfound,
+       erc-message-english-dcc-list-head, erc-message-english-dcc-list-line,
+       erc-message-english-dcc-list-item, erc-message-english-dcc-list-end,
+       erc-message-english-dcc-malformed,
+       erc-message-english-dcc-privileged-port,
+       erc-message-english-dcc-request-bogus,
+       erc-message-english-dcc-send-finished,
+       erc-message-english-dcc-send-offered,
+       erc-message-english-dcc-send-offer): Define at top level using
+       `defvar'.
+       * lisp/erc/erc-netsplit.el (erc-netsplit-mode, erc-netsplit-enable):
+       Don't call `erc-netsplit-install-message-catalogs'.
+       (erc-netsplit-install-message-catalogs): Deprecate function.
+       (erc-message-english-netsplit, erc-message-english-netjoin,
+       erc-message-english-netjoin-done, erc-message-english-netsplit-none,
+       erc-message-english-netsplit-wholeft): Define at top level using
+       `defvar'.
+       * lisp/erc/erc-notify.el (erc-notify-install-message-catalogs):
+       Deprecate, and rename all format templates with hyphens instead of
+       underscores.
+       (erc-notify-timer, erc-notify-JOIN, erc-notify-NICK, erc-notify-QUIT):
+       Use hyphenated template names.
+       (erc-cmd-NOTIFY): Use hyphenated template names.  Load the module when
+       necessary and emit a warning.  Otherwise, people who discover this
+       autoloaded command without being aware of the module's existence may
+       think it's "broken".
+       (pcomplete/erc-mode/NOTIFY): Replace top-level autoload with `require'
+       in function body.  Include `erc-notify-list' in list of completions,
+       which makes removal easier if you don't share any channels with a
+       person, and they're not in `erc-server-users'.  A better long-term
+       solution might be to WHOIS folks we're unsure about when they're
+       listed in a 303.
+       (erc-message-english-notify_current, erc-message-english-notify_list,
+       erc-message-english-notify_on, erc-message-english-notify_off): Define
+       at top level using `defvar'.  Replace nonstandard underscores with
+       hyphens.  Alias obsolete names.
+       * lisp/erc/erc-page.el (erc-message-english-CTCP-PAGE): Define at top
+       level using `defvar'.
+       * lisp/erc/erc-sasl.el (erc-message-english-s902,
+       erc-message-english-s904, erc-message-english-s905,
+       erc-message-english-s906, erc-message-english-s907,
+       erc-message-english-s908): Define at top level using `defvar'.
+       * lisp/erc/erc-sound.el (erc-message-english-CTCP-SOUND): Define using
+       `defvar'.
+       * lisp/erc/erc.el (erc--make-message-variable-name): New function to
+       replace `erc-make-message-variable-name' internally, where most uses
+       previously checked whether the returned variable was bound.  This
+       helper now does that conditionally, when asked.
+       (erc-make-message-variable-name): Defer to internal variant,
+       `erc--make-message-variable-name'.
+       (erc-define-catalog-entry, erc-define-catalog): Deprecate.
+       (erc-retrieve-catalog-entry): Refactor to favor
+       `default-toplevel-value' of `erc-current-message-catalog' before
+       falling back to `english'.  Not doing this was arguably a bug.
+       (erc-message-english-bad-ping-response,
+       erc-message-english-bad-syntax, erc-message-english-incorrect-args,
+       erc-message-english-cannot-find-file,
+       erc-message-english-cannot-read-file, erc-message-english-connect,
+       erc-message-english-country, erc-message-english-country-unknown,
+       erc-message-english-ctcp-empty, erc-message-english-ctcp-request,
+       erc-message-english-ctcp-request-to,
+       erc-message-english-ctcp-too-many, erc-message-english-flood-ctcp-off,
+       erc-message-english-flood-strict-mode,
+       erc-message-english-disconnected,
+       erc-message-english-disconnected-noreconnect,
+       erc-message-english-reconnecting,
+       erc-message-english-reconnect-canceled, erc-message-english-finished,
+       erc-message-english-terminated, erc-message-english-login,
+       erc-message-english-nick-in-use, erc-message-english-nick-too-long,
+       erc-message-english-no-default-channel,
+       erc-message-english-no-invitation, erc-message-english-no-target,
+       erc-message-english-ops, erc-message-english-ops-none,
+       erc-message-english-undefined-ctcp,
+       erc-message-english-user-mode-redundant-add,
+       erc-message-english-user-mode-redundant-drop,
+       erc-message-english-variable-not-bound, erc-message-english-ACTION,
+       erc-message-english-CTCP-CLIENTINFO, erc-message-english-CTCP-ECHO,
+       erc-message-english-CTCP-FINGER, erc-message-english-CTCP-PING,
+       erc-message-english-CTCP-TIME, erc-message-english-CTCP-UNKNOWN,
+       erc-message-english-CTCP-VERSION, erc-message-english-ERROR,
+       erc-message-english-INVITE, erc-message-english-JOIN,
+       erc-message-english-JOIN-you, erc-message-english-KICK,
+       erc-message-english-KICK-you, erc-message-english-KICK-by-you,
+       erc-message-english-MODE, erc-message-english-MODE-nick,
+       erc-message-english-NICK, erc-message-english-NICK-you,
+       erc-message-english-PART, erc-message-english-PING,
+       erc-message-english-PONG, erc-message-english-QUIT,
+       erc-message-english-TOPIC, erc-message-english-WALLOPS,
+       erc-message-english-s004, erc-message-english-s221,
+       erc-message-english-s252, erc-message-english-s253,
+       erc-message-english-s254, erc-message-english-s275,
+       erc-message-english-s301, erc-message-english-s303,
+       erc-message-english-s305, erc-message-english-s306,
+       erc-message-english-s307, erc-message-english-s311,
+       erc-message-english-s312, erc-message-english-s313,
+       erc-message-english-s314, erc-message-english-s317,
+       erc-message-english-s317-on-since, erc-message-english-s319,
+       erc-message-english-s320, erc-message-english-s321,
+       erc-message-english-s322, erc-message-english-s324,
+       erc-message-english-s328, erc-message-english-s329,
+       erc-message-english-s330, erc-message-english-s331,
+       erc-message-english-s332, erc-message-english-s333,
+       erc-message-english-s341, erc-message-english-s352,
+       erc-message-english-s353, erc-message-english-s367,
+       erc-message-english-s367-set-by, erc-message-english-s368,
+       erc-message-english-s379, erc-message-english-s391,
+       erc-message-english-s396, erc-message-english-s401,
+       erc-message-english-s402, erc-message-english-s403,
+       erc-message-english-s404, erc-message-english-s405,
+       erc-message-english-s406, erc-message-english-s412,
+       erc-message-english-s421, erc-message-english-s431,
+       erc-message-english-s432, erc-message-english-s442,
+       erc-message-english-s445, erc-message-english-s446,
+       erc-message-english-s451, erc-message-english-s461,
+       erc-message-english-s462, erc-message-english-s463,
+       erc-message-english-s464, erc-message-english-s465,
+       erc-message-english-s471, erc-message-english-s473,
+       erc-message-english-s474, erc-message-english-s475,
+       erc-message-english-s481, erc-message-english-s482,
+       erc-message-english-s483, erc-message-english-s484,
+       erc-message-english-s485, erc-message-english-s491,
+       erc-message-english-s501, erc-message-english-s502,
+       erc-message-english-s671): Define at top level using `defvar'.
+       * test/lisp/erc/erc-tests.el (erc-tests--string-to-propertized-parts,
+       erc-tests-pp-propertized-parts, erc--make-message-variable-name,
+       erc-retrieve-catalog-entry): New tests along with utility functions
+       and a convenience command for manipulating catalogs.  (Bug#67677)
+
+2023-12-18  F. Jason Park  <jp@neverwas.me>
+
+       Remove module from suggested lineup in ERC's manual
+
+       * doc/misc/erc.texi (Sample Configuration): Remove `irccontrols' from
+       `erc-modules' because it's already enabled by default.  Add
+       `erc-scrolltobottom-all'.
+
+2023-12-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2023-12-18  Po Lu  <luangruo@yahoo.com>
+
+       Enable the new font scaler
+
+       * src/sfnt.c (sfnt_curve_is_flat): Tighten threshold for flat
+       curves.
+       (sfnt_insert_raster_step): Rewrite loop for clarity.
+       (sfnt_poly_set_steps): New function; fill small spans with a
+       plain unexceptional loop rather than memset.
+       (sfnt_poly_steps): Call that function.
+       (sfnt_verbose, main): Adjust tests such that the scaler can be
+       selected at runtime.
+
+       * src/sfnt.h: Update prototypes.
+
+       * src/sfntfont.c (sfntfont_get_glyph_raster)
+       (syms_of_sfntfont) <sfnt_raster_glyphs_exactly>: New variable.
+
+2023-12-17  Po Lu  <luangruo@yahoo.com>
+
+       * src/sfnt.h (sfnt_coerce_fixed): New macro.
+
+2023-12-17  Po Lu  <luangruo@yahoo.com>
+
+       Introduce the rudiments of a new font rasterizer
+
+       * src/sfnt.c (xzalloc): New function.
+       (sfnt_poly_edges): Remove redundant statement.
+       (sfnt_add, sfnt_sub, sfnt_mul): Move macro definitions above the
+       new scaler.
+       (sfnt_build_outline_fedges, sfnt_insert_raster_step)
+       (sfnt_fedge_sort, sfnt_poly_edges_exact, sfnt_compute_fill)
+       (sfnt_poly_steps, sfnt_raster_steps, sfnt_raster_edges_exact)
+       (sfnt_raster_glyph_outline_exact): New functions, presently
+       disabled.
+       (sfnt_x_raster, main): Introduce new tests.
+
+2023-12-17  Philip Kaludercic  <philipk@posteo.net>
+
+       Add slashes to 'thing-at-point-email-regexp'
+
+       * lisp/thingatpt.el (thing-at-point-email-regexp): Allow for
+       a (thing-at-point 'email) query to match addresses with slashes, as
+       used by Sourcehut.  (Bug#67600)
+
+2023-12-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Silence warning in print.c
+
+       * src/print.c (print_bool_vector): Silence warning.
+
+2023-12-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Never send user email address in HTTP requests
+
+       It used to be possible to customize 'url-privacy-level' so that the
+       user's email address was sent along in HTTP requests.  Since
+       'url-privacy-level' is also a blocklist, rather than an allowlist,
+       this meant that a mere misconfiguration of Emacs risked exposing the
+       user's email address.  This is a serious privacy risk, and it is thus
+       better if we remove this dangerous feature altogether.
+
+       * lisp/url/url-http.el (url-http-create-request): Never send the
+       user email address.
+       * lisp/url/url-vars.el (url-personal-mail-address): Make obsolete.
+       * lisp/url/url-privacy.el (url-setup-privacy-info): Don't set
+       above obsolete variable.
+       * doc/misc/url.texi (Customization):
+       * lisp/url/url-vars.el (url-privacy-level): Update documentation
+       to reflect the above changes.
+
+2023-12-16  Jared Finder  <jared@finder.org>
+
+       Using remap for binding of log-edit-beginning-of-line.
+
+       * lisp/vc/log-edit.el (log-edit-mode-map): Change binding.
+
+2023-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'same-frame'
+
+2023-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (display-buffer): New `pop-up-frames` action alist entry
+
+       Allow overriding the `pop-up-frames` variable from 
`display-buffer-alist`
+       so as to provide a worthy replacement for the old `same-frame`
+       parameter of `special-display-*` (bug#67249).
+
+       * lisp/window.el (special-display-popup-frame): Declare obsolete;
+       that was apparently forgotten back when `special-display-*` variables
+       were declared obsolete.
+       Use the new `pop-up-frames` action alist entry instead of the variable.
+       (display-buffer): Document new alist entry.
+       (window--pop-up-frames): New function.
+       (display-buffer--maybe-pop-up-frame, display-buffer-in-previous-window)
+       (display-buffer-reuse-window, display-buffer-reuse-mode-window): Use it.
+
+       * doc/lispref/windows.texi (Choosing Window Options): Mention that
+       `pop-up-frames` is also an action alist entry.
+       (Buffer Display Action Alists): Add `pop-up-frames` entry.
+
+2023-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/subr.el (derived-mode-p): Disable warnings for old convention
+
+2023-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       bf4ccb0be07 ; * lisp/term.el (term--xterm-paste): Fix last change.
+       0d9e2e448d9 ; * doc/lispref/functions.texi (Function Documentation): ...
+       791cc5065da Fix shaping of Sinhala text
+       efcbf0b5abf Add use cases of (fn) documentation facility.
+       c3331cb3659 Fix pasting into terminal-mode on term.el
+       5be94e2bce5 Fix opening directory trees from Filesets menu
+       6b6e770a1f5 Eglot: Add ruff-lsp as an alternative Python server
+       ed8a8a5ba16 Fix symbol name in Multisession Variables examples
+       400ef15bdc3 js-ts-mode: Fix font-lock rules conflict
+       c165247c300 Add indentation rules for bracketless statements in js-ts...
+       7f1bd69cd19 Fix c-ts-mode bracketless indentation for BSD style (bug#...
+       e23068cb9a1 Add missing indent rules in c-ts-mode (bug#66152)
+       d2c4b926ac2 Fix treesit-default-defun-skipper (bug#66711)
+       9874561f39e Fix treesit-node-field-name and friends (bug#66674)
+       eace9e11226 python-ts-mode: Highlight default parameters
+       23c06c7c308 Update to Org 9.6.13
+
+2023-12-16  Visuwesh  <visuweshm@gmail.com>
+
+       Fix 'shr-put-image' with nil value for ALT
+
+       * lisp/net/shr.el (shr-put-image): Account for nil value for ALT.
+       (Bug#67764)
+
+2023-12-16  Visuwesh  <visuweshm@gmail.com>
+
+       Offer to show diff against auto-save in recover-file
+
+       * lisp/files.el (recover-file): Show diff against the selected auto
+       save file.  (Bug#52242)
+
+       * doc/emacs/files.texi (Recover): Document the new feature.
+
+       * etc/NEWS: Announce the new feature.
+
+2023-12-16  john muhl  <jm@pub.pink>
+
+       Fix comint-next/previous-prompt in lua-ts-mode
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-inferior-lua): Don't set
+       'comint-use-prompt-regexp'.  (Bug#67616)
+
+2023-12-16  nverno  <noah.v.peart@gmail.com>
+
+       Fix: add comint hook locally in lua-ts-inferior-lua
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-inferior-lua): Add
+       'comint-preoutput-filter-functions' hook locally.  (Bug#67616)
+
+2023-12-16  Dmitry Gutov  <dmitry@gutov.dev>
+
+       ruby-syntax-methods-before-regexp: Drop this whitelist
+
+       * lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re):
+       Match only based on keywords and operators.
+       (ruby-syntax-methods-before-regexp): Delete.
+       (ruby-syntax-propertize): Use the new heuristic based on spaces
+       instead of checking for method names before (bug#67569).
+
+       * test/lisp/progmodes/ruby-mode-tests.el
+       (ruby-regexp-not-division-when-only-space-before):
+       Use non-whitelisted method name.
+
+       * test/lisp/progmodes/ruby-mode-resources/ruby.rb:
+       Adjust two examples.
+
+2023-12-16  Po Lu  <luangruo@yahoo.com>
+
+       Provide for Num Lock and Scroll Lock on Android
+
+       * java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
+       Retain META_NUM_LOCK_ON and META_SCROLL_LOCK_ON while filtering
+       meta state.
+
+2023-12-16  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (vc-print-log-setup-buttons): Start "previous" history with specified 
revision
+
+       * lisp/vc/vc-git.el (vc-git-file-name-changes-switches): Remove
+       the comment above the option.  Seems unnecessary now.
+
+       * lisp/vc/vc.el (vc-print-log-setup-buttons): Start the "previous"
+       change history buffer with the specified revision, rather than
+       have the sentinel jump to it.  Apparently in some cases the
+       history of the old name can't be found.  In others, the log just
+       shows faster.  But note the caveat described in the second new
+       comment (bug#55871).
+
+2023-12-16  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Show buttons below vc-log even when REVISION is specified
+
+       E.g. in the vc-print-branch-log which specifies start revision.
+
+       * lisp/vc/vc.el (vc-print-log-internal): Remove outdated comment.
+       (vc-print-log-setup-buttons): Only special-case non-nil
+       IS-START-REVISION when LIMIT=1.  We often do need buttons for logs
+       that start with a particular revision, because those are still limited
+       by vc-log-show-limit.
+
+2023-12-15  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Support viewing VC change history across renames (Git, Hg)
+
+       * lisp/vc/vc.el (vc-print-log-setup-buttons):
+       When the log ends at a rename, add a button to jump to the
+       previous names.  Use the new backend action 'file-name-changes'.
+
+       * lisp/vc/vc-git.el (vc-git-print-log-follow): New option.
+       (vc-git-file-name-changes): Implementation (bug#55871, bug#39044).
+       (vc-git-print-log-follow): Update docstring.
+
+       * lisp/vc/log-view.el (log-view-find-revision)
+       (log-view-annotate-version): Pass the log's VC backend explicitly.
+
+       * lisp/vc/vc-hg.el (vc-hg-file-name-changes):
+       Add Hg implementation (bug#13004).
+
+       * etc/NEWS: Mention the changes.
+
+2023-12-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Support case-sensitive register names
+
+       * lisp/register.el (register-read-with-preview): Make register
+       names case-sensitive.  (Bug#66394)
+
+2023-12-15  João Távora  <joaotavora@gmail.com>
+
+       Eglot: use new jsonrpc-autoport-bootstrap
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): Delete slot
+       inferior-process.
+       (eglot--on-shutdown): Simplify.
+       (eglot--inferior-bootstrap): Delete.
+       (eglot--connect): Call jsonrpc-autoport-bootstrap.
+
+2023-12-15  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: add new jsonrpc-autoport-bootstrap helper
+
+       This will help Eglot and some other extensions connect to network
+       servers that are started with a call to a local program.
+
+       * lisp/jsonrpc.el (jsonrpc--process-sentinel): Also delete inferior.
+       (jsonrpc-process-connection): Add -autoport-inferior slot.
+       (initialize-instance jsonrpc-process-connection): Check
+       process-creating function arity.  Use jsonrpc-forwarding-buffer
+       (jsonrpc-autoport-bootstrap): New helper.
+       (Version): Bump to 1.0.20.
+
+2023-12-14  João Távora  <joaotavora@gmail.com>
+
+       Eglot: beware activation in fundamental-mode
+
+       In the specific situation of visiting a buffer via M-. with
+       eglot-extend-to-xref set to t, it was found that buffer was first
+       visited in fundamental mode, running after-change-major-mode-hook, and
+       then again in the proper major mode for the file.  The call to
+       eglot-current-server of the first visit returned non-nil which cause
+       two didOpen notifications to be issued for the same file.
+
+       Furthermore, in the first call, eglot--languageId to returned nil,
+       prompting an error from servers such as rust-analyzer.
+
+       See also: https://github.com/joaotavora/eglot/discussions/1330
+
+       * lisp/progmodes/eglot.el (eglot-current-server): Watch out for
+       fundamental-mode.
+
+2023-12-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2023-12-14  Po Lu  <luangruo@yahoo.com>
+
+       Respect Language & Input preferences under Android
+
+       * doc/emacs/android.texi (Android Environment):
+
+       * doc/emacs/cmdargs.texi (General Variables): Mention the manner
+       in which the default language environment is selected on
+       Android.
+
+       * lisp/startup.el (normal-top-level): If android and
+       initial-window-system, call android-locale-for-system-language
+       for the default locale name.
+
+       * lisp/term/android-win.el (android-locale-for-system-language):
+       New function.
+
+       * src/androidfns.c (syms_of_androidfns_for_pdumper): New
+       function.
+       (syms_of_androidfns) <Vandroid_os_language>: New variable.
+       Call syms_of_androidfns_for_pdumper both now and after
+       loading the dump image.
+
+2023-12-14  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: support some JSONesque non-JSONRPC protocols, like DAP
+
+       * lisp/jsonrpc.el (jsonrpc-convert-to-endpoint)
+       (jsonrpc-convert-from-endpoint): New generics.
+       (jsonrpc-connection-send): Call jsonrpc-convert-to-endpoint.
+       Rework logging.
+       (jsonrpc-connection-receive): Call jsonrpc-convert-from-endpoint.
+       Rework logging. jsonrpc--reply with METHOD.
+       (jsonrpc--log-event): Take subtype.
+       (Version): Bump to 1.0.19
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Adapt
+       to new protocol of jsonrpc--log-event.
+
+       * doc/lispref/text.texi (JSONRPC Overview): Rework.
+
+2023-12-14  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: rework fix for bug#60088
+
+       Try to decouple receiving text and processing messages in the event
+       loop.  This should allow for requests within requests in both Eglot
+       and the Dape extension (https://github.com/svaante/dape).
+
+       jsonrpc-connection-receive is now called from timers after the process
+       filter finished.  Because of this, a detail is that any serialization
+       errors are now thrown from timers instead of the synchronous process
+       filter, and there's no good way to test this in ert, so a test has
+       been deleted.
+
+       * lisp/jsonrpc.el (jsonrpc--process-filter): Rework.
+
+       * test/lisp/jsonrpc-tests.el (json-el-cant-serialize-this): Delete test.
+
+2023-12-14  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: better initforms in jsonrpc-connection
+
+       * lisp/jsonrpc.el (jsonrpc-connection): Better initforms
+
+2023-12-14  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: allow method identifiers to be simply strings
+
+       * lisp/jsonrpc.el (jsonrpc-connection-send): Support string methods.
+
+2023-12-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve tramp-compat-connection-local-p
+
+       * lisp/net/tramp-compat.el (tramp-compat-connection-local-p):
+       Make it compatible with Emacs 27.
+
+2023-12-13  Andrea Corallo  <acorallo@gnu.org>
+
+       * configure.ac: Fix '--without-all' if libgccjit installed (bug#67799)
+
+2023-12-12  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Provide option to forward Gnus messages with all (most) headers
+
+       Bug#67520
+
+       * lisp/gnus/gnus-msg.el (gnus-summary-mail-forward): Accept symbolic
+       prefix to let-bind message-forward-included-headers to nil, which will
+       include most original message headers in the forwarded copy.
+       (gnus-summary-post-forward): Corresponding arglist update.
+
+2023-12-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       New macro connection-local-p
+
+       * doc/lispref/variables.texi (Applying Connection Local Variables):
+       Add macro 'connection-local-p'.
+
+       * etc/NEWS: Add macro `connection-local-p'.
+
+       * lisp/files-x.el (connection-local-p): New macro.
+       (connection-local-value): Add debug declaration.
+
+       * lisp/net/tramp-compat.el (tramp-compat-connection-local-p): New macro.
+
+       * lisp/net/tramp-crypt.el (tramp-crypt-cleanup-connection):
+       Bind `tramp-crypt-enabled'.
+
+       * test/lisp/files-x-tests.el (files-x-test-connection-local-value):
+       * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
+       (tramp-test35-remote-path): Adapt tests.
+
+2023-12-11  Juri Linkov  <juri@linkov.net>
+
+       Fix typo in commit 3c093148958d56e0ed8e12a8e00ced1ef052259a
+
+       * lisp/minibuffer.el (minibuffer-completion-help):
+       Set t to LOCAL arg of add-hook for after-change-functions.
+
+2023-12-11  Po Lu  <luangruo@yahoo.com>
+
+       Introduce menus beneath new chapters in the Transient menu
+
+       * doc/misc/transient.texi (Usage)
+       (Modifying Existing Transients): Insert menus from which Texinfo
+       4.13 can infer Prev and Next nodes.
+
+2023-12-11  Po Lu  <luangruo@yahoo.com>
+
+       Correct implementation of UTP
+
+       * src/sfnt.c (sfnt_interpret_utp): Derive which flags to reset
+       from the freedom vector.
+
+2023-12-11  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project-any-command: Use 'project-aware'
+
+       * lisp/progmodes/project.el (project-any-command): Change the
+       symbol it's looking for to 'project-aware'.  Seems to convey the
+       semantics best.
+
+2023-12-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mark `;#@` as :safe for asm-comment-char
+
+       * lisp/progmodes/asm-mode.el (asm--safe-comment-char-p): New function
+       that returns true for characters #, @, and ;.
+       (asm-comment-char): Use new function as :safe predicate.
+
+2023-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       2773cf9e013 ; Fix typos
+       020aff95fa3 ; Fix typos in ChangeLog files
+       5e03a621efc ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristi...
+       f0734e1c0d1 Fix c-ts-mode indent heuristic (bug#67417)
+       08fc6bace20 Fix c-ts-mode indentation (bug#67357)
+       71bc2815ccd Add font-locking for hash-bang lines in typescript-ts-mode.
+       db8347c8c87 Add font-locking for hash-bang lines in js-ts-mode
+       91f2ade57bb ruby-mode: Better detect regexp vs division (bug#67569)
+
+2023-12-10  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/files-x.el (connection-local-value): Fix Dired crash.
+
+2023-12-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update publicsuffix.txt from upstream
+
+       * etc/publicsuffix.txt: Update from
+       https://publicsuffix.org/list/public_suffix_list.dat
+       dated 2023-12-06 20:17:45 UTC.
+
+2023-12-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       dired-listing-switches handles connection-local values if exist
+
+       * doc/emacs/dired.texi (Dired Enter):
+       * doc/misc/tramp.texi (Frequently Asked Questions):
+       * etc/NEWS: 'dired-listing-switches' handles connection-local
+       values if exist.
+
+       * doc/lispref/variables.texi (Applying Connection Local Variables):
+       Fix decription of connection-local-default-application.
+
+       * lisp/dired.el (dired-listing-switches): Adapt docstring.
+       (dired-internal-noselect, dired-mode):
+       * lisp/dired-x.el (dired-virtual):
+       * lisp/files.el (recover-file, recover-session):
+       * lisp/net/ange-ftp.el (ange-ftp-get-files): Use connection-local
+       value of `dired-listing-switches'.
+
+       * lisp/files-x.el (connection-local-value): Adapt docstring.
+
+       * lisp/man.el (Man-shell-file-name): Use `connection-local-value'.
+
+2023-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (dired): Remove `ls-lisp` advice
+
+       `ls-lisp` used to advise `dired` because `dired-insert-directory`
+       blindly used `insert-directory-program` (together with a shell)
+       in order to implement the "directory wildcard" expansion.
+
+       * lisp/dired.el (dired-insert-directory): Make the "directory wildcard"
+       code obey `files--use-insert-directory-program-p`, using
+       `file-expand-wildcards`.
+
+       * lisp/ls-lisp.el (ls-lisp--dired, ls-lisp-unload-function): Delete 
funs.
+       (dired): Don't advise any more.
+
+2023-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (insert-directory): Remove `ls-lisp` advice
+
+       Rather than have `ls-lisp` advise `insert-directory`, make
+       `insert-directory` call `ls-lisp.el` code directly when needed.
+
+       * lisp/files.el (files--use-insert-directory-program-p): New function.
+       (insert-directory): Use it to delegate to `ls-lisp--insert-directory`
+       when applicable.
+
+       * lisp/ls-lisp.el (ls-lisp--insert-directory): Remove `orig-fun` arg.
+       Don't test `ls-lisp-use-insert-directory-program` or check for a magic
+       file name handler; it is now the caller's responsibility.
+       (insert-directory): Don't add advice any more.
+
+       * lisp/dired.el (ls-lisp-use-insert-directory-program): Don't declare 
it.
+       (dired-insert-directory): Use `files--use-insert-directory-program-p` 
instead.
+       (dired-use-ls-dired): Adjust docstring to refer to
+       `insert-directory-program` rather than "ls".
+
+2023-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (dired-insert-directory): Obey `file-list` and `wildcard`
+
+       Commit 6f6639d6ed6c's support for wildcards in directories failed
+       to obey `file-list` and `wildcard` arguments.  Fix it.
+
+       * lisp/dired.el (dired-insert-directory): Expand directory wildcards
+       only if `file-list` is nil and `wildcard` is non-nil.
+       Also, refer back to `dir-wildcard` instead of recomputing it.
+       (dired-readin-insert): Pass a non-nil `wildcard` when wildcard
+       expansion might be needed to preserve former behavior.
+
+2023-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (file-expand-wildcards): Handle patterns ending in "/"
+
+       The bug was encountered via the ls-lisp advice on Dired but
+       it actually affects all uses of `file-expand-wildcards`,
+       so better fix it there.
+
+       * lisp/files.el (file-expand-wildcards): Fix bug#60819.
+       * lisp/ls-lisp.el (ls-lisp--dired): Undo commit b365a7cc32e2.
+       * test/lisp/files-tests.el (files-tests--expand-wildcards): New test.
+
+2023-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/files.el (file-expand-wildcards): Fix sorting of subdirs
+
+       E.g. (file-expand-wildcards "/u*/*m*")
+       returned ("/usr/games" "/u/dummy" "/u/monnier" "/u/omnibook-disk")
+       instead of ("/u/dummy" "/u/monnier" "/u/omnibook-disk" "/usr/games").
+
+2023-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Tweak doc of `analyze-text-conversion` vs `post-self-insert-hook`
+
+       * lisp/simple.el (analyze-text-conversion): Fix typo.
+
+       * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add comment about
+       `post-text-conversion-hook`.
+
+2023-12-09  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix desktop-save for dired buffers (bug#66697)
+
+       * lisp/dired.el (dired-desktop-save-p): Move all logic here.  Carry on
+       when 'desktop-files-not-to-save' is nil.
+       (dired-desktop-buffer-misc-data): Use it.
+
+2023-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       0f361cc985d ; Minor copyedits in description of ':box' face property
+       46fe7a17f53 Fix dragging mode line on text terminals with a mouse (bu...
+       12daf386f37 ; * doc/lispref/processes.texi (Network): Fix wording and...
+       037d858dc1a (rust-ts-mode): Set electric-indent-chars
+       dc9b733ab88 js-ts-mode: Highlight function parameters inside destruct...
+       4a72f13bdfb js-ts-mode: Highlight property shorthands in assignments
+       83ed9018ede (js--treesit-font-lock-settings): Highlight parameters in...
+       ad0f87bb4c3 (js--treesit-font-lock-settings): Remove some duplicates
+       71c5f3694fd ; Another fix of doc string of 'message-mail-user-agent' ...
+       04a39353bae ; * lisp/gnus/message.el (message-mail-user-agent): Doc f...
+       82ddcf37ec6 ; * doc/lispref/files.texi (Changing Files): Fix last cha...
+       89068516b3e Don't claim to signal an error when deleting a nonexistin...
+       4fd254e1830 * lisp/indent.el (indent-rigidly): Improve prompt (bug#67...
+       5f923ff1a6a ; Fix typos
+       a1f88963f5d rust-ts-mode--comment-docstring: Handle block doc comments
+       a547b0e2e83 rust-ts-mode--comment-docstring: Fix/improve the previous...
+
+2023-12-09  Vladimir Kazanov  <vekazanov@gmail.com>
+
+       Document ert-font-lock
+
+       * doc/misc/ert.texi: Expand the manual.
+
+       * etc/NEWS: Mention ert-font-lock.
+
+2023-12-09  Michael Albinus  <michael.albinus@gmx.de>
+
+       New macro connection-local-value
+
+       * doc/lispref/variables.texi (Applying Connection Local Variables):
+       Add macro 'connection-local-value'.
+
+       * etc/NEWS: Add macro 'connection-local-value'.
+
+       * lisp/files-x.el (connection-local-value): New macro.
+       (path-separator, null-device): Use it.
+
+       * test/lisp/files-x-tests.el
+       (files-x-test-connection-local-value): New test.
+
+2023-12-09  Philip Kaludercic  <philipk@posteo.net>
+
+       Remove old VC packages from 'package-alist' after installing
+
+       * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Wait for all
+       system operations to have been completed, before proceeding to remove
+       old package descriptors from 'package-alist'.  This avoids loosing a
+       package if an error occurs during upgrades.
+
+2023-12-09  john muhl  <jm@pub.pink>
+
+       Add font-lock tests for lua-ts-mode (bug#67605)
+
+       * test/lisp/progmodes/lua-ts-mode-tests.el (lua-ts-test-font-lock):
+       Add ert-font-lock tests.
+       (lua-ts-mode-test-indentation):
+       (lua-ts-test-indentation):
+       (lua-ts-mode-test-movement):
+       (lua-ts-test-movement): Rename for consistency.
+       * test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua: New
+       file.
+
+2023-12-09  Po Lu  <luangruo@yahoo.com>
+
+       Correct phantom point generation and MDAP
+
+       * src/sfnt.c (sfnt_interpret_mdrp): Cease applying cvt
+       cut in, as this is contrary to the specification.
+       (sfnt_interpret_simple_glyph): Correct typo.
+       (main): Revise tests.
+
+2023-12-08  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project-any-command: Change the method for passing project root
+
+       * lisp/progmodes/project.el (project-any-command): Change the
+       check which decides whether 'project-current-directory-override'
+       should be used.  Instead of looking in project-prefix-map, see
+       whether the command's name starts with 'project-', or the symbol
+       has the property 'project-command' (bug#67171).
+
+2023-12-08  João Távora  <joaotavora@gmail.com>
+
+       Eglot: unbreak <host>:<port> spec in C-u M-x eglot (bug#67682)
+
+       * lisp/progmodes/eglot.el (eglot--guess-contact): Fix.
+
+2023-12-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Ensure CID filenames are unique when browsing Gnus article HTML
+
+       Bug#67002
+
+       * lisp/gnus/gnus-art.el (gnus-article-browse-html-save-cid-content):
+       It's possible that multiple CID parts will have the same filename,
+       leading to temporary files clobbering one another during browsing.
+       This ensures that the temporary filenames are unique.
+
+2023-12-08  Thierry Volpiatto  <thievol@posteo.net>
+
+       Add more options to register-use-preview
+
+       This allow showing a basic preview buffer or no preview buffer at all.
+
+       * lisp/register.el (register-use-preview): Use choice with three
+         options.
+       (register-read-with-preview): Use a basic buffer without navigation,
+         highlighting etc... when register-use-preview is nil, and no buffer
+         at all when set to 'never.
+
+2023-12-08  Thierry Volpiatto  <thievol@posteo.net>
+
+       Allow inserting registers in minibuffer (bug#67702)
+
+       * lisp/register.el (register-read-with-preview): Bind
+       `enable-recursive-minibuffers`.
+
+2023-12-08  Thierry Volpiatto  <thievol@posteo.net>
+
+       Exit with no confirmation (RET) when register-use-preview
+
+       is non nil and .
+
+       This is done by exiting minibuffer when selected register is empty or
+       when just jumping or inserting.
+
+       * lisp/register.el (register-read-with-preview): Do it.
+
+2023-12-08  Po Lu  <luangruo@yahoo.com>
+
+       Display glyphs whose first contours commence at origin
+
+       * src/sfnt.c (sfnt_build_append): Don't disregard redundant
+       motion if outline is empty.  Problem encountered in the "M"
+       glyph within Source Code Pro VF Italic.
+
+2023-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/loadup.el: Check advice after `rmc.el`; turn error into warning
+
+       * lisp/mail/emacsbug.el (report-emacs-bug): Insert empty X-Debbugs-Cc
+
+2023-12-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp cleanup
+
+       * doc/misc/tramp.texi (Remote processes): Adapt index.
+
+       * lisp/net/tramp.el (tramp-skeleton-directory-files)
+       (tramp-skeleton-make-symbolic-link):
+       * lisp/net/tramp-cache.el (with-tramp-saved-file-property)
+       (with-tramp-saved-file-properties)
+       (with-tramp-saved-connection-property)
+       (with-tramp-saved-connection-properties): Use `setf' but `setq' in 
macro.
+
+       * lisp/net/tramp-compat.el (tramp-compat-funcall): Declare debug.
+
+       * lisp/net/tramp-crypt.el (tramp-crypt-file-name-p): Exclude lock files.
+       (tramp-crypt-file-name-handler-alist): Use `identity' for
+       `abbreviate-file-name'.
+       (tramp-crypt-add-directory, tramp-crypt-remove-directory):
+       Adapt docstrings.
+       (tramp-crypt-cleanup-connection): New defun.  Add it to
+       `tramp-cleanup-connection-hook'
+
+       * lisp/net/tramp-sh.el (tramp-sh-extra-args): Extend regexp.
+
+2023-12-07  Liu Hui  <liuhui1610@gmail.com>
+
+       Add option eshell-history-append
+
+       * lisp/eshell/em-hist.el (eshell-history-append): New option.
+       (eshell--save-history): New function.
+       (eshell-hist-initialize):
+       (eshell-save-some-history): Replace eshell-write-history with
+       eshell--save-history, which respects the new option.
+       * doc/misc/eshell.texi (History): Document the change.
+       * etc/NEWS: Announce the change.  (Bug#66700)
+
+2023-12-07  Po Lu  <luangruo@yahoo.com>
+
+       Set a default locale on Android
+
+       * doc/emacs/android.texi (Android Environment): Revise for
+       change.
+
+       * src/android.c (initEmacs): Set LANG to either en_US.utf8 or C,
+       subject to whether the system is newer than Android
+       5.0 (inclusive).
+
+2023-12-07  Po Lu  <luangruo@yahoo.com>
+
+       Prevent closing Emacs frames upon locale changes
+
+       * java/AndroidManifest.xml.in: Express that Emacs can respond
+       to locale and fontScale changes.
+
+2023-12-06  Yuan Fu  <casouri@gmail.com>
+
+       Tweak plus and minus svg icons
+
+       Shrink them a tiny bit so they look the same size as cross.
+
+       * etc/images/symbols/minus_16.svg:
+       * etc/images/symbols/plus_16.svg: Shrink a bit.
+
+2023-12-06  Juri Linkov  <juri@linkov.net>
+
+       * lisp/dired-aux.el (dired-do-open): New command (bug#18132).
+
+       * lisp/dired.el (dired-context-menu): Bind 'dired-do-open' to "Open".
+
+       * lisp/dired-aux.el (shell-command-guess-xdg): Use 
'shell-quote-argument'.
+
+2023-12-06  Po Lu  <luangruo@yahoo.com>
+
+       Cease preloading touch-screen.el outside X and Android
+
+       * lisp/calc/calc.el (touch-screen-display-keyboard):
+
+       * lisp/minibuffer.el (clear-minibuffer-message):
+
+       * lisp/term.el (touch-screen-display-keyboard): Declare
+       touch-screen-display-keyboard before binding or setting it.
+
+       * lisp/loadup.el: Don't autoload touch-screen.el outside X and
+       Android.
+
+       * lisp/touch-screen.el: Autoload functions called from commands
+       responding to touch screen events.
+
+2023-12-05  João Távora  <joaotavora@gmail.com>
+
+       ElDoc: make eldoc-display-in-echo-are useful from M-x eldoc
+
+       M-x eldoc is ElDoc's interactive entry point for on-demand
+       documentation for users that don't want the behind-the-scenes idle
+       timer behaviour.
+
+       However, eldoc-display-in-echo-area, a member of
+       eldoc-display-functions, refused to do anything because it thought it
+       didn't have permission to use the echo area, which isn't true
+       in interactive use cases.  Fix that.
+
+       See also: https://github.com/joaotavora/eglot/discussions/1328
+
+       * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Use
+       INTERACTIVE argument.  Rework comments.
+       (Version): Bump to 1.15.0
+
+2023-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/package.el (package-activate-all): Fix second-order 
warning
+
+2023-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (package-activate-all): Be more robust when quickstart fails
+
+       Quickstart can fail in all kinds of ways, for example if a package
+       was removed without updating the quickstart file.
+
+       * lisp/emacs-lisp/package.el (package-activate-all): Revert to the slow
+       path if the quickstart signals an error.
+       (package--activate-all): Fix compilation warning without an autoload.
+
+2023-12-05  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Update to Transient v0.5.2
+
+2023-12-04  Jens Schmidt  <jschmidt4gnu@vodafonemail.de>
+
+       Update handling of advices during preload
+
+       * lisp/emacs-lisp/comp-common.el
+       (native-comp-never-optimize-functions): Remove macroexpand and
+       rename-buffer from default value.
+       * lisp/emacs-lisp/comp.el (comp-call-optim-form-call): Document call
+       optimization for advised primitives.
+       * lisp/emacs-lisp/nadvice.el (advice-add): Remove references to TODOs
+       that were completed already earlier.
+       * lisp/loadup.el: Disallow advices during preload.  (Bug#67005)
+
+2023-12-04  Andrea Corallo  <acorallo@gnu.org>
+
+       comp: Fix mvar dependency chain (bug#67239)
+
+       * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Emit assume with
+       the original mvar as explicit rhs.
+       (comp-fwprop-insn): Add note.
+       * test/src/comp-tests.el (67239-1): Add new test.
+       * test/src/comp-resources/comp-test-funcs.el (comp-test-time)
+       (comp-test-67239-00-f, comp-test-67239-0-f, comp-test-67239-1-f):
+       Define.
+
+2023-12-04  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp.el (comp--native-compile): Better log.
+
+2023-12-04  Andrea Corallo  <acorallo@gnu.org>
+
+       comp: Rename some functions
+
+       * lisp/emacs-lisp/comp.el (comp--known-predicate-p)
+       (comp--pred-to-cstr, comp-edge, comp--edge-make)
+       (comp--block-preds, comp--gen-counter, comp-func)
+       (comp--equality-fun-p, comp--arithm-cmp-fun-p, comp--set-op-p)
+       (comp--assign-op-p, comp--call-op-p, comp--branch-op-p)
+       (comp--limple-insn-call-p, comp--type-hint-p)
+       (comp--func-unique-in-cu-p, comp--symbol-func-to-fun)
+       (comp--function-pure-p, comp--alloc-class-to-container)
+       (comp--add-const-to-relocs, comp--prettyformat-insn)
+       (comp--log-func, comp--log-edges, comp-emit-setimm)
+       (comp-emit-lambda-for-top-level, comp-add-cond-cstrs)
+       (comp-collect-calls, comp-compute-dominator-tree)
+       (comp-function-foldable-p, comp-function-call-maybe-fold)
+       (comp-func-in-unit, comp-call-optim-form-call)
+       (comp-dead-assignments-func, comp-tco)
+       (comp-remove-type-hints-func, comp-remove-type-hints)
+       (comp-compute-function-type, comp-finalize-relocs)
+       (comp-compile-ctxt-to-file): Rename and update.
+
+2023-12-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid infloop with wide images
+
+       * src/xdisp.c (produce_image_glyph): Avoid inflooping under
+       visual-line-mode when wide images are displayed.  (Bug#67533)
+
+2023-12-03  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp-run.el (bytecomp): Require it (bug#67590)
+
+2023-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/macroexp.el (macroexp-parse-body): Fix bug#67568
+
+       This fixes a regression introduced in commit f616edb4ccce.
+
+2023-12-03  Spencer Baugh  <sbaugh@catern.com>
+
+       Add historical option to completions-sort
+
+       Support sorting candidates in *Completions* by the order they show up
+       in the minibuffer history.
+
+       Also add minibuffer-sort-alphabetically and
+       minibuffer-sort-by-history, which are usable for both completions-sort
+       and display-sort-function.
+
+       * lisp/minibuffer.el (completions-sort): Document 'historical option.
+       (minibuffer-completion-help): Support 'historical option.
+       (minibuffer-sort-alphabetically)
+       (minibuffer-completion-base, minibuffer-sort-by-history): Add.
+       * etc/NEWS: Announce it.
+
+2023-12-03  Spencer Baugh  <sbaugh@catern.com>
+
+       Deselect the selected completion candidate when typing
+
+       minibuffer-choose-completion-or-exit submits the selected completion
+       candidate, if any, ignoring the contents of the minibuffer.  But a
+       user might select a completion candidate and then want to type
+       something else in the minibuffer and submit what they typed.
+
+       Now typing will automatically deselect the selected completion
+       candidate so that minibuffer-choose-completion-or-exit will not choose
+       it.
+
+       minibuffer-choose-completion has the same behavior as before, and is
+       not affected by the deselection.
+
+       * lisp/minibuffer.el (completion-auto-deselect, completions--deselect)
+       (completions--after-change): Add.
+       (minibuffer-completion-help): Add completions--after-change hook.
+       (minibuffer-next-completion): Bind completion-auto-deselect to nil to
+       avoid immediately deselecting the completion.
+       (minibuffer-choose-completion-or-exit): Bind
+       choose-completion-deselect-if-after so deselection takes effect.
+       (display-completion-list): Guarantee a newline at the beginning of
+       *Completions* to avoid ambiguity about candidate selection.
+       * lisp/simple.el (choose-completion-deselect-if-after): Add.
+       (choose-completion): Check choose-completion-deselect-if-after.
+       * etc/NEWS: Announce.
+
+2023-12-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve 'window-text-pixel-size' when buffer includes images
+
+       * src/xdisp.c (window_text_pixel_size): Fix computation of Y when
+       IGNORE_LINE_AT_END is non-nil and there's a 'display' property at
+       TO.  Improve movement to beginning of screen line at start.  Fix
+       computation of Y when lines are truncated and a line begins with a
+       'display' property at TO.
+       (produce_image_glyph): Don't crop image glyph when word-wrap is in
+       effect.  (Bug#67533)
+
+2023-12-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Fix to "Simplify gnus-group-search-forward"
+
+       This updates commit 7304cc8a9ca8a7d19baaa24f0a72c7ad9a6a9716.
+
+2023-12-03  Vladimir Kazanov  <vekazanov@gmail.com>
+
+       Add ert-font-lock
+
+       Add ert-font-lock as well as unit tests and testing resources.
+       * lisp/emacs-lisp/ert-font-lock.el: New library.
+       * test/lisp/emacs-lisp/ert-font-lock-resources/broken.js:
+       * test/lisp/emacs-lisp/ert-font-lock-resources/correct.js:
+       * test/lisp/emacs-lisp/ert-font-lock-tests.el: Unit tests.
+       (Bug#67460)
+
+2023-12-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Ensure that directory is expanded in package-vc-checkout"
+
+       This reverts commit bf0b0c9c73d4793beb11e6125496d0e72d4dd67a.
+       It is only needed in Emacs 29.
+
+2023-12-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       5f882f4ee97 ; Fix doc string punctuation in ruby-ts-mode.el.
+       546a68925c9 Fix 'Info-goto-node-web' when NODE is given in various forms
+       7ff943044e9 Fix setting cursor when the window's op line has 'line-pr...
+       7f0bef47ddd Drop extra parenthesis in example code in Emacs Lisp Intr...
+       fbaf113bf38 rust-ts-mode: appropriately fontify doc strings
+       bd62bdbc680 Fix example code in Emacs Lisp Introduction manual
+       c7e459132a9 Fix example in Emacs Lisp Intro manual
+       a6e9c26c8f4 ; * doc/emacs/files.texi (Save Commands): Fix last change.
+       f6a06ed6c5d Elisp manual: Mention 'write-region' for saving the buffer
+       4774a3abb4b Document, that PROCESS of signal-process can be a string
+       ab126284081 Fix typescript-ts-mode indentation for switch statements
+
+2023-12-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       cd477bf07d8 Fix behavior of 'split-root-window-*' with 'C-u'
+       2e5d47f578a ; * doc/lispintro/emacs-lisp-intro.texi (copy-to-buffer):...
+       c46700deb0a Add more text to clarify the behavior of 'with-current-bu...
+       687c416ce9b Fix example in Emacs user manual
+       835902179cd ; Fix recent change in 'c-ts-mode'
+       169a5ff7524 ; Fix typo in Gnus manual (bug#67469).
+       30841c71a5d Mention Titankey in Tramp, which has passed the tests
+       dab7cc241f4 Fix c-ts-mode indentation after if/else (bug#67417)
+       f8d9dc26c78 Fix indentation for else clause in c-ts-mode (bug#67417)
+       bf0b0c9c73d Ensure that directory is expanded in package-vc-checkout
+       e551dd72f79 * etc/PROBLEMS: Add entry about pinentry with gpgsm.  (Bu...
+
+2023-12-02  john muhl  <jm@pub.pink>
+
+       Improve font-locking in lua-ts-mode (bug#67554)
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Move property
+       highlighting to level 4.
+       (lua-ts--keywords): Remove `true', `false' and `nil' from
+       keywords.
+       (lua-ts--font-lock-settings): Highlight assignments, functions
+       and labels in more places. Distinguish comment delimiters.
+       (lua-ts--comment-font-lock): New function.
+
+2023-12-02  Eshel Yaron  <me@eshelyaron.com>
+
+       Facilitate using Completion Preview with the mouse (bug#67479)
+
+       Allow users to accept the completion suggestion by clicking on it, and
+       to cycle between completion suggestions by scrolling (with a mouse
+       wheel or a trackpad) over the preview.
+
+       Also display a message by default when cycling to inform the user
+       about the index of the current suggestion out of the available total.
+
+       * lisp/completion-preview.el (completion-preview-highlight): New face.
+       (completion-preview-message-format): New user option.
+       (completion-preview--mouse-map): New keymap.
+       (completion-preview--try-table, completion-preview--show)
+       (completion-preview-next-candidate): Apply 'keymap' and 'mouse-face'
+       properties to completion preview string.
+       (completion-preview--internal-commands): Add 'mwheel-scroll'.  This
+       prevents incidental scrolls outside of the preview from dismissing the
+       preview when you actually want to cycle it.
+       (completion-preview--active-p): New function.  Use it as a
+       'completion-predicate' symbol property for commands that should only
+       be used when the preview is shown to otherwise exclude these commands
+       from M-x completion candidates.
+
+2023-12-02  Thierry Volpiatto  <thievol@posteo.net>
+
+       Merge branch 'register_preview'
+
+2023-12-02  Thierry Volpiatto  <thievol@posteo.net>
+
+       Delete register-tests.el now no more needed
+
+       * register-tests.el: Deleted file.
+
+2023-12-02  Thierry Volpiatto  <thievol@posteo.net>
+
+       Update register manual
+
+       doc/emacs/regs.texi: Do it.
+
+2023-12-02  Thierry Volpiatto  <thievol@posteo.net>
+
+       Fix register-preview-default
+
+       We need to print the string representation (one char) of an eventual
+       key description e.g. "^X" instead of "C-x".
+       However the key description is still displayed in a display property.
+
+       * lisp/register.el (register-preview-default): Use `string' to print 
register.
+
+2023-12-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/lisp/net/tramp-tests.el (tramp-test31-signal-process): Extend.
+
+2023-12-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix mode-line-inactive face
+
+       * src/xfaces.c (Finternal_set_lisp_face_attribute): Fix validation
+       of the :style attribute of :box.  Previously, nil for :style was not
+       accepted, which causes 'mode-line-inactive' face to be rejected.
+       (Bug#67567)
+
+2023-12-01  Juri Linkov  <juri@linkov.net>
+
+       * lisp/simple.el (minibuffer-default-add-shell-commands): Require 
'dired-aux'.
+
+       This is necessary for 'shell-command-guess' after removing autoload 
cookie
+       since declare-function doesn't autoload it.
+
+2023-11-30  Juri Linkov  <juri@linkov.net>
+
+       * lisp/simple.el: Add declare-function for shell-command-guess.
+
+       * lisp/dired-aux.el (shell-command-guess): Remove unneeded autoload 
cookie.
+
+2023-11-30  Juri Linkov  <juri@linkov.net>
+
+       * lisp/dired-aux.el (shell-command-guess-open): New defcustom 
(bug#18132).
+
+       (shell-command-guess-open): New function.
+       (shell-command-guess-functions): Add 'shell-command-guess-open' to 
choice.
+
+2023-11-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix validation of :box face attribute
+
+       * src/xfaces.c (Finternal_set_lisp_face_attribute): Fix the logic
+       of validating the :box attribute.  The previous code would always
+       allow invalid attributes of :box as long as the invalid attribute
+       was the last in the list.  (Bug#67404)
+
+2023-11-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp.el (tramp-signal-process): PROCESS can also be a 
string.
+
+       * test/lisp/net/tramp-tests.el (tramp-test31-signal-process): Extend.
+
+2023-11-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp.el (tramp-local-host-regexp): Extend.
+
+2023-11-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Move malformed-function warning from byte-opt to cconv (bug#67483)
+
+       We shouldn't be warning inside the optimiser in the first place.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
+       Remove byte-compile-form-stack manipulation.
+       (byte-optimize-form-code-walker): Move malformed function warning
+       from here...
+       * lisp/emacs-lisp/cconv.el: ...to here.
+
+2023-11-30  Thierry Volpiatto  <thievol@posteo.net>
+
+       Make register-preview-delay obsolete
+
+       * etc/NEWS: Update.
+       * lisp/register.el (register-preview-delay): Make it obsolete.
+
+2023-11-29  Ulrich Müller  <ulm@gentoo.org>
+
+       Update Calc units table
+
+       * lisp/calc/calc-units.el (math-standard-units): Update to 2018
+       CODATA adjustment. Use exact value for V0. Update some spellings,
+       e.g. "Planck constant" instead of "Planck's constant".
+
+2023-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/eieio-core.el (eieio-set-defaults): Silence errors
+
+       See bug#66938
+
+2023-11-29  Thierry Volpiatto  <thievol@posteo.net>
+
+       Improve register-preview (Fix bug#66394)
+
+       A minibuffer is used now instead of read-key.
+       Registers in preview buffer are now filtered according to type of
+       registers the current command requires.
+       Navigation with C-n/p or up/down is now provided and update
+       minibuffer.
+       Current register is highlighted in preview buffer.
+
+       * lisp/register.el: (register-preview-default-keys)
+       (register-use-preview): New user variables.
+       (register-preview-info): New structure to store various info for
+        preview.
+       (register-command-info): New generic.
+       (register-preview-forward-line): New, provide navigation in preview
+       buffer.
+       (register-preview-next, register-preview-previous): New, navigation.
+       (register-type): New, returns register type.
+       (register--type): Generic fn, new, returns register type according
+       to value.
+       (register-of-type-alist): New, filter register-alist according to
+       type.
+       (register-preview): Signature changed, use TYPES now.
+       (register-preview-get-defaults): New generic, compute defauts
+       according to action.
+       (register-read-with-preview): Now use read-from-minibuffer and
+       minibuffer-setup-hook.
+
+       * lisp/emacs-lisp/cl-generic.el: Add a call to
+       'cl--generic-prefill-dispatchers' to fix a build error.
+
+2023-11-29  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Various improvements to font-lock-settings for elixir-ts-mode
+
+       Changes and made from conversations from the Elixir slack channel,
+       the github issue
+       https://github.com/wkirschbaum/elixir-ts-mode/issues/35 and bug#67246.
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--font-lock-settings): Update features.
+       (elixir-ts-mode): Update treesit-font-lock-feature-list.
+       (elixir-ts-font-comment-doc-identifier-face): Rename to
+       elixir-ts-comment-doc-identifier.
+       (elixir-ts-font-comment-doc-attribute-face): Rename to
+       elixir-ts-comment-doc-attribute.
+       (elixir-ts-font-sigil-name-face): Rename to elixir-ts-sigil-name.
+       (elixir-ts-atom-key-face)
+       (elixir-ts-keyword-key-face)
+       (elixir-ts-attribute-face): Add new custom face.
+
+2023-11-29  Po Lu  <luangruo@yahoo.com>
+
+       Clean up some redundant or otherwise suspect code
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
+       Don't check if URI is non-NULL, for instanceof checks this
+       also.
+
+       * java/org/gnu/emacs/EmacsSafThread.java (accessDocument1):
+       Don't check !writable twice.
+
+       * java/org/gnu/emacs/EmacsService.java (documentIdFromName):
+       Designate this function as public, since it is called
+       through JNI.
+
+2023-11-29  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: prevent while-no-input messing with jsonrpc-request
+
+       'jsonrpc-request' already has its "interrupt on user input" mechanism
+       base on 'sit-for'.  If called from a situation that uses
+       while-no-input to do basically the same, that mechanism may become
+       confused, so it's important to prevent that interfence.
+
+       This was confirmed to be a problem when using the Corfu completion
+       front-end.
+
+       See also
+       
https://github.com/joaotavora/eglot/discussions/1127#discussioncomment-7277567
+
+       Many thanks to JD Smith <jdtsmith@gmail.com> for helping me debug this
+       and pointing in the right direction.
+
+       * lisp/jsonrpc.el (Version): Bump to 1.0.18
+       (jsonrpc-request): Bind throw-on-input to nil
+
+2023-11-29  João Távora  <joaotavora@gmail.com>
+
+       Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLOS (bug#67480)
+
+       EIEIO is an innacurate emulation of CLOS in many aspects and one of
+       them in accessor definition.  Before this commit
+
+       commit 6c47931a1ad4de4af3f147b9604169c2441100fe
+       Author: Brandon <brandon.irizarry@gmail.com>
+       Date:   Sat Nov 4 17:11:32 2023 -0400
+
+           Make EIEIO ':accessor' behave like ':reader' when reading 
(bug#66938)
+
+       An :initform-less, non-:initarg'ed slot with be read using an
+       :accessor which would just return nil.  This is EIEIO specific of
+       course, but it made for (my) sloppy programming in jsonrpc.el and
+       eglot.el.
+
+       Tightening up the rules a bit meant these things broke and now I'm
+       fixing them.
+
+       * lisp/jsonrpc.el (jsonrpc-connection): Add a bunch of :initform nil
+       (jsonrpc-process-connection): Add a bunch of :initform nil
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): Add a bunch of :initform 
nil
+
+2023-11-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/dired.el (dired-context-menu): Add menu item "Open With" 
(bug#63911).
+
+       Populate the menu item "Open With" with commands returned
+       by 'shell-command-guess' on the current file name.
+
+2023-11-27  Juri Linkov  <juri@linkov.net>
+
+       New user option 'shell-command-guess-functions' (bug#18132)
+
+       * lisp/dired-aux.el (dired-minibuffer-default-add-shell-commands):
+       Remove function since now mailcap commands are available
+       by shell-command-guess-mailcap for shell-command-guess
+       used by dired-guess-shell-command.
+       (dired-read-shell-command): Don't set minibuffer-default-add-function
+       to dired-minibuffer-default-add-shell-commands.
+       (dired-guess-shell-command): Replace dired-guess-default
+       with shell-command-guess.
+       (shell-command-guess-functions): New defcustom.
+       (shell-command-guess, shell-command-guess-dired)
+       (shell-command-guess-mailcap, shell-command-guess-xdg):
+       New functions.
+
+       * lisp/simple.el (minibuffer-default-add-shell-commands):
+       Use 'shell-command-guess' instead of requiring 'mailcap'
+       with 'mailcap-file-default-commands'.  Remove 'interactive'.
+
+2023-11-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/dired.el (dired-insert-set-properties): Fix 
'isearch-open-invisible'.
+
+       Set overlay property 'isearch-open-invisible' to 'delete-overlay'
+       for 'dired-filename-display-length' (bug#67161).
+
+2023-11-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/project.el (project-prompt-project-name): Add 
'reverse'.
+
+       Reverse ret that should restore order for 'C-x p p M-n M-n ...' 
(bug#67310).
+
+2023-11-27  Alan Mackenzie  <acm@muc.de>
+
+       Compiler optimizer: push forms onto byte-compile-form-stack
+
+       This fixes bug#67483.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form): Push and
+       pop FORM onto/off byte-compile-form-stack so that warning
+       messages get a position near to the erroneous source.
+
+2023-11-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/vc/vc.el (vc-deduce-backend-nonvc-modes): Use defcustom 
(bug#67171).
+
+       (vc-deduce-backend): Check for t value of vc-deduce-backend-nonvc-modes.
+
+2023-11-26  F. Jason Park  <jp@neverwas.me>
+
+       Restore prompt correctly when reconnecting in ERC
+
+       * lisp/erc/erc.el (erc--initialize-markers): Commit 0d6c8d41ab7 "Use
+       overlay instead of text prop to hide ERC's prompt" introduced a bug
+       that caused the prompt to remain hidden upon reconnecting because the
+       stashed overlay would get clobbered by ERC's major-mode setup.
+       Binding its old value while unhiding fixes the issue.
+       * test/lisp/erc/erc-tests.el (erc-hide-prompt): Don't permanently set
+       the default value of `erc-hide-prompt'.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common--join-network-id): Add assertions for prompt
+       hiding and unhiding on reconnect.  (Bug#51082)
+
+2023-11-26  João Távora  <joaotavora@gmail.com>
+
+       Font-lock shorthands with arbitrary punctuation (bug#67390)
+
+       * lisp/emacs-lisp/shorthands.el
+       (shorthands--mismatch-from-end): Rework and document.  Works like
+       CL's mismatch now.
+       (shorthands-font-lock-shorthands): Allow arbitrary punctuation
+       as separator for font-locking logic.
+
+2023-11-26  João Távora  <joaotavora@gmail.com>
+
+       Add autoload cookie to autoload-compute-prefixes (bug#67325)
+
+       * lisp/emacs-lisp/loaddefs-gen.el (autoload-compute-prefixes): Add
+       autoload cookie.
+
+2023-11-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (ruby-ts-mode): Extend treesit-thing-settings more
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
+       Add 'while', 'until' and 'for'.
+
+2023-11-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (ruby-ts-mode): Also add 'self' and 'super' to things
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
+       (ruby-ts-mode): Also add 'self' and 'super'.
+
+2023-11-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (ruby-ts-mode): Extend treesit-thing-settings (bug#67036)
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add to
+       'treesit-thing-settings': 'singleton_class', 'else' and 'then'.
+       The latter two help with navigation across elseif's a little, but
+       not quite perfectly.
+
+2023-11-26  Brandon  <brandon.irizarry@gmail.com>  (tiny change)
+
+       Make EIEIO ':accessor' behave like ':reader' when reading (bug#66938)
+
+       Clones of instances of subclasses of 'eieio-instance-inheritor' didn't
+       delegate to their ':parent-instance' field when reading object fields
+       using ':accessor'.
+
+       * lisp/emacs-lisp/eieio.el (defclass): Remove 'slot-boundp' check for
+       :accessor's getter
+       * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
+       (eieio-test-use-accessor-function-with-cloned-object): New test.
+
+2023-11-26  Alan Mackenzie  <acm@muc.de>
+
+       .elc format: Record lambdas' doc strings lazily, not inline
+
+       Also refactor the pertinent part of bytecomp.el.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-output-file-form):
+       Use byte-compile-output-docform for all forms, not just those
+       with doc strings.
+       (byte-compile--output-docform-recurse): New function extracted
+       from byte-compile-output-docform.  This function recurses on
+       functions contained in the constants vector.
+       (byte-compile-output-docform): Extract parameter DOCINDEX from
+       the INFO list.  Add parameter CVECINDEX, the index of the
+       constants vector in FORM.
+       (byte-compile-file-form-defmumble): Several detailed
+       refactorings.  Call byte-compile-output-docform with the new
+       interface.
+       (byte-compile-output-as-comment): On exit, leave point after
+       the inserted text.  No longer assume that the output is being
+       inserted at the end of the buffer.
+
+2023-11-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'dired--get-ellipsis-length'
+
+       * lisp/dired.el (dired--get-ellipsis-length): Handle glyphs with
+       faces.  (Bug#67161)
+
+2023-11-26  Eshel Yaron  <me@eshelyaron.com>
+
+       Unbind 'C-M-i' in Text mode
+
+       Remove the binding of 'C-M-i' to 'ispell-complete-word' in Text mode.
+       Define a new 'ispell-completion-at-point' function and add that to
+       'completion-at-point-functions' in Text mode, such that
+       'completion-at-point' provides the same word completions as
+       'ispell-complete-word' does OOTB.
+
+       * lisp/textmodes/ispell.el (ispell-completion-at-point): New function.
+       * lisp/textmodes/text-mode.el (text-mode): Add it to 'c-a-p-functions'.
+       (text-mode-map): Remove 'C-M-i' binding.
+       (text-mode-meta-tab-ispell-complete-word): New user option.
+       * etc/NEWS: Announce it.
+       * doc/emacs/fixit.texi (Spelling)
+       * doc/emacs/text.texi (Text Mode)
+       * doc/lispref/modes.texi (Basic Major Modes)
+       (Example Major Modes): Update.
+       * lisp/mail/sendmail.el (mail-abbrevs-loaded)
+       * lisp/nxml/nxml-mode.el (nxml-mode-map): Remove superfluous binding.
+
+2023-11-26  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Simplify gnus-group-search-forward
+
+       Bug#67445
+
+       * lisp/gnus/gnus-group.el (gnus-group-search-forward): The
+       special-case check for backwards-and-bobp is odd and unnecessary, just
+       perform an equivalent search from point depending on direction.
+
+2023-11-26  Po Lu  <luangruo@yahoo.com>
+
+       * src/pdumper.c (dump_vectorlike): Avert compiler warning.
+
+2023-11-26  F. Jason Park  <jp@neverwas.me>
+
+       Simplify option erc-fill-wrap-merge-indicator
+
+       * lisp/erc/erc-fill.el (erc-fill-function): Add hyperlink to
+       `erc-fill-wrap-mode' in doc string.
+       (erc-fill-wrap-merge-indicator-face): New face.  The rationale for
+       adding this is that hard-coding `erc-fill-wrap-merge-indicator' to use
+       specific non-ERC faces forces folks to customize the option by
+       specifying a value manually, which may not be easy for new users,
+       seeing as its :type is relatively complex.
+       (erc-fill-wrap-merge-indicator): Add new preset without leading
+       space, for narrow windows, and replace `shadow' with
+       `erc-fill-wrap-merge-indicator-face' everywhere.
+       (erc-fill-wrap-mode): Add configuration hint to doc string for related
+       options when facing narrow windows.
+       (erc-fill--wrap-insert-merged-post, erc-fill--wrap-insert-merged-pre):
+       Fix sloppy thinko in which "-pre" and "-post" stash variables for
+       precomputed values were swapped.  Also accommodate :type string
+       variant for option `erc-fill-wrap-merge-indicator'.
+       (erc-fill--wrap-rejigger-region): Clear pre-computed merge-indicator
+       value.  (Bug#60936)
+
+2023-11-25  Mattias Engdegård  <mattiase@acm.org>
+
+       Refactor pseudovector printing
+
+       * src/print.c (print_vectorlike): Split into...
+       (print_bignum, print_bool_vector, print_vectorlike_unreadable):
+       ...these functions.  Exhaustive switch on pseudovector type.
+       Remove unused return value.
+       (print_object): Use new functions and simplify.
+
+2023-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex-emacs.c (forall_firstchar): Fix regression bug#67226
+
+       All zero-width operations need to be taken into account when reaching
+       `succeed` in `mutually_exclusive_one`!
+
+       * src/regex-emacs.c (forall_firstchar_1): Call `f` for all zero-width
+       matching operators.
+       (analyze_first_fastmap, analyze_first_null, mutually_exclusive_one):
+       Adjust accordingly.
+
+2023-11-25  Aymeric Agon-Rambosson  <aymeric.agon@yandex.com>  (tiny change)
+
+       Repair `tab-first-completion` (bug#67158)
+
+
+       * lisp/indent.el (indent-for-tab-command): Use `syntax-class` to fix
+       longstanding thinko introduced back in 2020 in commit 64c851166442.
+       Rework the check for `syn` because TAB always completed when
+       `tab-first-completion` had value `word-or-paren` or 
`word-or-paren-or-punct`.
+
+2023-11-25  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (project-prompt-project-name): Simplify a bit
+
+       * lisp/progmodes/project.el (project-prompt-project-name):
+       Fold the inner 'let' into 'when-let'.
+
+2023-11-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       77ab00207d6 ; * admin/authors.el (authors-aliases): Add Noah Peart.
+       6f843f03dc2 typescript-ts-mode: Add missing 'operator' to treesit-fon...
+       0676a029310 Extend D-Bus doc and test
+       df094dd4bc1 Do not unregister a D-Bus service which is a unique name
+       e6ad97a3338 Fix byte-compilation warnings about 'sqlite-rollback'
+
+2023-11-25  Rahguzar  <rahguzar@zohomail.eu>
+
+       Don't insert subscript on a newline
+
+       * lisp/net/shr.el (shr-tag-sub): Don't insert subscript on a
+       newline.  (Bug#66676)
+
+2023-11-25  Rahguzar  <rahguzar@zohomail.eu>
+
+       Optionally turn on visual-line-mode + outline support
+
+       * lisp/net/eww.el (eww-render): Turn on 'visual-line-mode'
+       in absence of filling.
+       (eww-mode): Set 'outline-regexp' and 'outline-level'.
+       (Bug#66676)
+
+2023-11-25  Rahguzar  <rahguzar@zohomail.eu>
+
+       Outline support for shr rendered documents
+
+       * lisp/net/shr.el
+       (shr-heading): Propertize heading with level.
+       (shr-outline-search):  An 'outline-search-function' that finds
+       headings using text property search.
+       (shr-outline-level): Outline level for 'shr-outline-search'.
+       (Bug#66676)
+
+2023-11-25  Rahguzar  <rahguzar@zohomail.eu>
+
+       Allow displaying images inline
+
+       * lisp/net/shr.el
+       (shr-max-inline-image-size): New custom variable.
+       (shr--inline-image-p): New helper function to decide if an
+       image should be inserted inline.
+       (shr-insert, shr-put-image, shr-tag-img): Use
+       'shr-max-inline-image-size' to insert some images inline.
+       (Bug#66676)
+
+2023-11-25  Rahguzar  <rahguzar@zohomail.eu>
+
+       Make some aspects of shr rendering customizable
+
+       * lisp/net/shr.el (shr-fill-text, shr-sup-raise-factor)
+       (shr-sub-raise-factor, shr-image-ascent): New custom variables.
+       (shr-fill-lines): Only fill if 'shr-fill-text' is non-nil.
+       (shr-put-image): Use 'shr-image-ascent' as value of :ascent.
+       (shr-rescale-image, shr-make-placeholder-image): Use
+       'shr-image-ascent'.
+       (shr-tag-sup, shr-tag-sub): Use 'shr-sup/sub-raise-factor'.
+       (Bug#66676)
+
+2023-11-25  Ulrich Müller  <ulm@gentoo.org>
+
+       Don't enable pinentry loopback mode for gpgsm
+
+       * lisp/epg.el (epg--start): Passphrase entry through the
+       minibuffer is currently not supported with gpgsm, therefore don't
+       pass "--pinentry-mode loopback" as an argument when the protocol
+       is CMS.  (Bug#67012)
+       * doc/misc/epa.texi (GnuPG Pinentry): Document it.
+
+2023-11-25  Liu Hui  <liuhui1610@gmail.com>
+
+       Add option `dired-filename-display-length'
+
+       * lisp/dired.el (dired-filename-display-length): New option.
+       (dired-insert-set-properties): Set invisible property for long
+       filenames.
+       (dired--get-ellipsis-length, dired--get-filename-display-length)
+       (dired-filename-update-invisibility-spec): New functions.
+       (dired-mode): Add filename invisibility spec.
+       (dired-make-directory-clickable)
+       (dired-kill-when-opening-new-dired-buffer)
+       (dired-hide-details-preserved-columns): Add missing :group.
+       * lisp/wdired.el (wdired-change-to-wdired-mode)
+       (wdired-change-to-dired-mode): Update filename invisibility spec.
+       * etc/NEWS: Announce the change.  (Bug#67161)
+
+2023-11-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix merging italic and underline faces with other fonts
+
+       * lisp/faces.el (italic, underline): Leave the 'slant'
+       resp. 'underline' attributes even when they are not supported by
+       the default font.  (Bug#67269)
+
+2023-11-25  nverno  <noah.v.peart@gmail.com>
+
+       Fix test name with erts-run-test with Point-Char
+
+       * lisp/progmodes/erts-mode.el (erts-run-test): Fix finding
+       the test name when Point-Char is defined,  (Bug#67235)
+
+2023-11-25  Po Lu  <luangruo@yahoo.com>
+
+       Dismiss Android Back key events that are canceled
+
+       * java/org/gnu/emacs/EmacsWindow.java (onKeyDown): Disregard
+       KEYCODE_BACK events.
+       (onKeyUp): If the event is KEYCODE_BACK, deliver the disregarded
+       key press event, unless FLAG_CANCELED is set.
+
+2023-11-25  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Use the project--list as history when prompting for a project
+
+       The project--list is already ordered such that the most recently used
+       projects are at the front.  Now we use it as the minibuffer history
+       when prompting for a project.
+
+       To avoid savehist from picking up project--list as a minibuffer
+       history variable and overriding our own persistence mechanism, we
+       don't pass project--list directly as a history variable, but instead
+       pass project--dir-history or project--name-history, dynamically-bound
+       to an appropriate value.  project--dir-history and
+       project--name-history won't be persisted since they're always unbound
+       at the top level; but if they are persisted anyway somehow, it won't
+       affect us.
+
+       If we later find a way to rely on savehist for persistence instead of
+       having our own mechanism, we can change the in-memory format of
+       project--list to be just a list of directories, and our explicit calls
+       to project--add-dir can be replaced by let-binding
+       history-delete-duplicates=t, history-length=t.
+
+       * lisp/progmodes/project.el (project--remember-dir): Add.
+       (project-remember-project): Use project--remember-dir.
+       (project--name-history, project-prompt-project-name)
+       (project--dir-history, project-prompt-project-dir): Pass a
+       preprocessed project--list as HIST to completing-read.  (bug#67310)
+       (project-switch-project): Call project--remember-dir.
+
+2023-11-24  F. Jason Park  <jp@neverwas.me>
+           Stefan Kangas  <stefankangas@gmail.com>
+
+       Optionally allow substitution patterns in erc-prompt
+
+       * etc/ERC-NEWS: Add entry for `erc-prompt-format'.
+       * lisp/erc/erc-compat.el (erc-compat--defer-format-spec-in-buffer):
+       New macro to wrap `format-spec' specification values in functions that
+       run in the current buffer and fall back to the empty string.
+       * lisp/erc/erc.el (erc-prompt): Add predefined Custom choice for
+       function type in `erc-prompt-format'.
+       (erc--prompt-format-face-example): New "pre-propertized" value for
+       option `erc-prompt-format'.
+       (erc-prompt-format): New companion option for `erc-prompt' choice
+       `erc-prompt-format'.  New function of the same name to perform format
+       substitutions and serve as a Custom choice value for `erc-prompt'.
+       Based on work and ideas originally proposed by Stefan Kangas.
+       (erc--away-indicator, erc-away-status-indicator,
+       erc--format-away-indicator): New formatting function and helper
+       variables for displaying short away status.
+       (erc--user-modes-indicator): New variable.
+       (erc--format-user-modes): New function.
+       (erc--format-channel-status-prefix): New function.
+       (erc--format-modes): New function.
+       * test/lisp/erc/erc-scenarios-prompt-format.el: New file.  (Bug#51082)
+
+2023-11-24  F. Jason Park  <jp@neverwas.me>
+
+       Add merged-message indicator option for erc-fill-wrap
+
+       * lisp/erc/erc-fill.el (erc-fill): Use `when-let' instead of
+       `when-let*'.
+       (erc-fill-wrap-merge): Mention companion options in doc string.
+       (erc-fill-wrap-merge-indicator): New option to display a
+       distinguishing "indicator" in the form of a one-character string
+       between messages from the same speaker.
+       (erc-fill-wrap-mode, erc-fill-wrap-disable): Mention
+       `erc-fill-wrap-merge-indicator' in doc string and kill related local
+       variables.
+       (erc-fill--wrap-merge-indicator-pre,
+       erc-fill--wrap-merge-indicator-post): New internal variables for
+       caching merge indicator.
+       (erc-fill--wrap-insert-merged-post, erc-fill--wrap-insert-merged-pre):
+       New functions for adding merge indicators either before or after a
+       message.
+       (erc-fill-wrap): Add logic for deferring to merge-indicator helpers
+       when needed.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-wrap-tests--merge-action,
+       erc-fill-wrap--merge-action): Move body of latter test into former, a
+       new fixture function.
+       (erc-fill-wrap--merge-action/indicator-pre,
+       erc-fill-wrap--merge-action/indicator-post): New tests.
+       * 
test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-post-01.eld:
+       New test data file.
+       * 
test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-pre-01.eld:
+       New test data file.  (Bug#60936)
+
+2023-11-24  F. Jason Park  <jp@neverwas.me>
+
+       Optionally align prompt to prefix in erc-fill-wrap
+
+       * lisp/erc/erc-fill.el (erc-fill-wrap-align-prompt): New option for
+       aligning prompt with leading portion of messages at the common "static
+       center" pivot-column barrier, so it appears "dedented" along with all
+       speaker name tags.  Tests for this functionality appear in the
+       subsequent patch of this same change set.
+       (erc-fill-wrap-use-pixels): Demote from user option to normal variable
+       because it has no practical use other than for testing.  Don't rename
+       as internal variable to spare the improbable user of ERC on HEAD who's
+       already customized this.
+       (erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
+       Take care to disable prompt-in-left-margin behavior when option
+       `erc-fill-wrap-align-prompt' is non-nil.
+       (erc-fill--wrap-measure): Improve doc string and always attempt to
+       leverage `buffer-text-pixel-size', even when the variable
+       `erc-fill-wrap-use-pixels' is nil.
+       (erc-fill--wrap-indent-prompt): New function to massage prompt
+       `line-prefix' after updates, such as changes to away status.
+       (Bug#51082)
+
+2023-11-24  F. Jason Park  <jp@neverwas.me>
+
+       Use overlay instead of text prop to hide ERC's prompt
+
+       * lisp/erc/erc-backend.el (erc--hidden-prompt-overlay):
+       New variable, a buffer-local handle for the prompt overlay.
+       (erc--reveal-prompt): Delete overlay instead of text prop.
+       (erc--conceal-prompt): Add overlay instead of text prop.
+       (erc--unhide-prompt): Run `erc--refresh-prompt-hook' after revealing.
+       (erc--hide-prompt): Run `erc--refresh-prompt-hook' after hiding.
+       * lisp/erc/erc-stamp.el (erc-stamp--adjust-margin): Attempt a more
+       accurate estimate of the prompt's width in columns when initially
+       setting left-margin.
+       (erc-stamp--skip-left-margin-prompt-p): New variable to inhibit normal
+       behavior of displaying prompt in left margin.
+       (erc-stamp--display-margin-mode): Allow opting out of
+       prompt-in-left-margin behavior.
+       (erc--reveal-prompt): Delete unneeded method implementation.
+       (erc--conceal-prompt): Put overlay in margin.
+       * test/lisp/erc/erc-tests.el (erc-hide-prompt): Use
+       `get-char-property' instead of `get-text-property' in order to
+       accommodate overlay-based prompt hiding.  (Bug#51082)
+
+2023-11-24  F. Jason Park  <jp@neverwas.me>
+
+       Don't inherit properties when refreshing ERC's prompt
+
+       * lisp/erc/erc.el (erc--merge-prop-behind-p): New variable to be
+       dynamically bound around rare calls to `erc--merge-props' when the
+       latter should append to the end of existing list-valued text
+       properties.
+       (erc--inhibit-prompt-display-property-p): New variable to be non-nil
+       in buffers where an active module needs to reserve all uses of the
+       `display' text property in the prompt region for itself.
+       (erc--prompt-properties): Collect all common prompt properties in one
+       place for code reuse and maintenance purposes.
+       (erc--refresh-prompt-continue, erc--refresh-prompt-continue-request):
+       New function and state variable for custom `erc-prompt' functions to
+       indicate to ERC that they need the prompt to be refreshed in all
+       buffers and not just the current one.
+       (erc--refresh-prompt): Merge `erc-prompt-face' behind any applied by a
+       customized `erc-prompt' function value.  Crucially, don't inherit
+       properties at the beginning of the prompt because doing so may clobber
+       any added by a custom `erc-prompt' function.  Instead, apply known
+       properties from `erc-display-prompt' manually.  Integrate
+       `erc--refresh-prompt-continue' logic.
+       (erc--merge-prop): Recognize flag to activate `append' behavior in
+       which new prop values are appended to the tail of existing ones rather
+       than consed in front.  This functionality could be extended to
+       arbitrary splices as well.
+       (erc-display-prompt): Use common text properties defined elsewhere.
+       * test/lisp/erc/erc-tests.el (erc--merge-prop): Add assertion for
+       `erc--merge-prop-behind-p' non-nil behavior.  (Bug#51082)
+
+2023-11-24  F. Jason Park  <jp@neverwas.me>
+
+       Fix speedbar help-echo in erc-nickbar-mode
+
+       * lisp/erc/erc-speedbar.el (erc-speedbar-buttons): "Spoof"
+       `dframe-help-echo-function' in channel buffers to get around the fact
+       that we're not using the real speedbar frame.
+       (erc-speedbar--fmt-sentinel): New variable.
+       (erc-speedbar-expand-channel): Use cached channel-mode string for mode
+       item.  Use button chars to mark mode and topic items and move verbose
+       labels into mouse-hover text.  Also set face for mode and topic.
+       (erc-speedbar-item-info): Look for `speedbar-token' as a fallback even
+       when the primary pattern doesn't match.  If the value's contents are
+       structured like a `format' function call, use them.
+       (erc-speedbar--emulate-sidebar): Add comment about speedbar setting
+       everything globally in older Emacsen.  (Bug#63595)
+
+2023-11-24  F. Jason Park  <jp@neverwas.me>
+
+       Cache UI string for channel modes in ERC
+
+       * etc/ERC-NEWS: Add entry for more expansive "%m" in header line.
+       * lisp/erc/erc-common.el (erc--channel-mode-types): New slot
+       `shortargs' for caching truncated mode args.
+       * lisp/erc/erc.el (erc--mode-line-chanmodes-arg-len): New internal
+       variable for adjusting the truncation length of channel-mode arguments
+       as they appear in the header line.
+       (erc--mode-line-mode-string): New variable for caching the relevant
+       "modestring", if any, in ERC buffers.
+       (erc--process-channel-modes): Don't associate args with group 4/D,
+       which are all nullary modes.  This fixes a bug in which arguments were
+       associated with the wrong letters.  Also, set cached mode string for
+       channel.
+       (erc--user-modes): Simplify slightly by removing likely useless
+       variant for overloaded arg AS-TYPE.  This function is new in ERC 5.6.
+       (erc--channel-modes):  New function.  A higher-level getter for
+       current channel mode representation to complement `erc--user-modes'.
+       (erc--parse-user-modes): Set `erc--mode-line-mode-string in server
+       buffers.
+       (erc--handle-channel-mode): Change model to associate modes of type A
+       with a running plus/minus tally of state changes since joining the
+       channel.
+       (erc-update-mode-line-buffer): Use cached verbose representation of
+       channel or user modes instead of calling `erc-format-channel-modes'.
+       * test/lisp/erc/erc-tests.el (erc--update-channel-modes): Update to
+       reflect new running tally associations for type A modes.
+       (erc--channel-modes): New test.
+       (erc--user-modes): Update to reflect parameter simplification.
+       (Bug#67220)
+
+2023-11-24  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Fontify int unsigned Foo;
+
+       This fixes bug#59953.  Foo now gets fontified when unsigned
+       comes after int.
+
+       * lisp/progmodes/cc-engine.el (c-forward-type): Refactor nested
+       `if' forms into a cond form.  Loop around matches for
+       c-opt-type-component-key, advancing over them.
+
+2023-11-24  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Add second anchor point to class-open and class-close
+
+       This fixes the second (last) part of bug#66911.  The new second
+       anchor points allow the indentation of braces in template
+       classes to be anchored on the keyword 'class' rather than the
+       `template' at the beginning of the statement.
+
+       * lisp/progmodes/cc-engine.el (c-add-class-syntax): Add &rest
+       args parameter for additional anchor points.  Pass these to
+       c-add-syntax.
+       (c-guess-continued-construct): CASE B.1: Note return value from
+       c-looking-at-decl-block and pass this to c-add-syntax for a
+       class-open construct.
+       (c-guess-basic-syntax): CASE 4: Duplicate anchor position for
+       class-open.
+       (c-guess-basic-syntax): CASE 5A.2: Note return value of
+       c-looking-at-decl-block and pass it as extra argument to
+       c-add-syntax for a class-open construct.
+       (c-guess-basic-syntax): CASE 5G: Call c-looking-at-decl-block
+       to determine the second anchor point for a class-close, and
+       pass it to c-add-class-syntax.
+
+       * doc/misc/cc-mode.texi (Class Symbols): Document the anchor
+       points for class-open and class-close.
+
+2023-11-24  Po Lu  <luangruo@yahoo.com>
+
+       Prevent touch screen translation from entering invalid state
+
+       * lisp/subr.el (touch-screen-events-received): New variable.
+       (read--potential-mouse-event): If a touch screen event's been
+       registered thus far, continue as though xterm-mouse-mode is
+       enabled.
+
+       * lisp/touch-screen.el (touch-screen-handle-touch): Set that
+       variable.  If t-s-c-t already exists but the new touch point was
+       assigned the same number by the system, replace the current tool
+       with it rather than installing it as the anciliary tool.
+
+2023-11-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge from savannah/emacs-29
+
+       1978b603bc3 Make python-ts-mode's syntax-highlighting more standardized
+       99658346d1e ; Improve documentation of desktop.el in user manual
+       f7dc0202127 Fix "Text is read-only" on backspacing initial Calc input
+       662d54775d5 Add a doc string to simple.el (bug#67355)
+       5a5e36d2aad ; Improve function documentation tips
+       86016d8ecdb Mention "visual line" in user manual
+       4bb65ed77a8 ; * doc/lispref/minibuf.texi (Programmed Completion): Imp...
+       dfb3dcb404c Allow listing Emoji from a read-only buffer
+
+       # Conflicts:
+       #       lisp/calc/calc.el
+       #       lisp/international/emoji.el
+
+2023-11-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge from savannah/emacs-29
+
+       9af03e0e189 typescript-ts-mode: Support indentation for conditionals ...
+
+2023-11-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge from savannah/emacs-29
+
+       d72a4ed65ce Fix 'with-sqlite-transaction' when BODY fails
+       a7b3c923733 ; * doc/emacs/cmdargs.texi (Initial Options): Fix last ch...
+       fd76a80864d ; Mention that -x and --script ignore file-locals
+       e0469ddb9d4 ; * doc/emacs/search.texi (Special Isearch): More accurat...
+       e521669fb3f Fix wording in ELisp Intro manual
+       da946ca6924 Add missing python-ts-mode keyword (bug#67015)
+       0128495afde Fix string-pixel-width with global setting of display-lin...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-11-23  Juri Linkov  <juri@linkov.net>
+
+       Support dired-movement-style in dired-next-dirline and 
dired-prev-dirline
+
+       * lisp/dired.el (dired-movement-style): Mention dired-next-dirline
+       and dired-prev-dirline in the docstring (bug#67303).
+       (dired-next-line): Refactor most code to dired--move-to-next-line.
+       (dired--move-to-next-line): New function with code from dired-next-line.
+       (dired--trivial-next-dirline): Rename from dired-next-dirline.
+       (dired-next-dirline): New function body that uses dired-movement-style,
+       dired--move-to-next-line and dired--trivial-next-dirline.
+       (dired-prev-dirline): Mention dired-movement-style in the docstring.
+
+2023-11-23  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Remove spurious "nil" from Gnus mode line
+
+       Bug#67322
+
+       * lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Handle a
+       nil return value from `gnus-emacs-version'.
+
+2023-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Adjust affected callers of derived-mode-p` to use the new convention
+
+       * lisp/align.el (align-rules-list): Prefer `derived-mode-p` over
+       `provided-mode-derived-p`.
+       (align--rule-should-run):
+       * lisp/window.el (display-buffer-reuse-mode-window):
+       * lisp/whitespace.el (whitespace-enable-predicate):
+       * lisp/transient.el (transient--do-suffix-p):
+       * lisp/so-long.el (so-long--set-auto-mode):
+       * lisp/simple.el (command-completion-with-modes-p):
+       * lisp/progmodes/tcl.el (tcl-current-word):
+       * lisp/progmodes/idlwave.el (idlwave-fix-keywords):
+       * lisp/progmodes/gdb-mi.el (gdb, gdb-locals-mode-map)
+       (gdb-registers-mode-map, gdb-function-buffer-p):
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-style-setter)
+       (c-ts-mode-set-style):
+       * lisp/progmodes/bug-reference.el 
(bug-reference--try-setup-gnus-article):
+       * lisp/help-fns.el (help-fns--list-local-commands):
+       * lisp/emulation/viper.el (viper-mode)
+       (viper-this-major-mode-requires-vi-state):
+       * lisp/emacs-lisp/easy-mmode.el (easy-mmode--globalized-predicate-p):
+       * lisp/dired.el (dired-hide-details-mode, dired-click-to-select-mode):
+       * lisp/calendar/todo-mode.el (todo-reset-nondiary-marker)
+       (todo-reset-done-string, todo-reset-comment-string):
+       * lisp/vc/vc.el (vc-deduce-backend): Use new calling convention for
+       `derived-mode-p` and `provided-mode-derived-p`.
+
+2023-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (derived-mode-p): Take MODES as a single argument
+
+       Looking at uses of `derived-mode-p` and `provide-mode-derived-p`,
+       I can't find a single use case where it wouldn't be preferable for
+       it to take a single argument instead of `&rest`: all the calls are
+       either passing a single argument anyway, or passing a fixed list of 
modes.
+       The use of `&rest` just makes the code less efficient and sometimes
+       more clunky (because of the need for `apply`).
+       So let's change that (while preserving backward compatibility, of 
course).
+
+       * doc/lispref/modes.texi (Derived Modes): Adjust accordingly.
+
+       * lisp/subr.el (provided-mode-derived-p, derived-mode-p): Take the
+       `modes` as a single argument.
+
+2023-11-23  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Handle noise clauses, template arglists in any order
+
+       This fixes the first part of bug#66911.
+
+       * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Skip
+       back over template arglists and noise clauses in any order, no
+       longer assuming the noise clauses are before the template
+       arglist in the buffer.  When scanning forward, take noise
+       clauses into account.  Refactor a collection of nested `if'
+       forms as a cond form.
+
+2023-11-23  Po Lu  <luangruo@yahoo.com>
+
+       Prevent tab bar from vanishing on Android
+
+       * src/androidfns.c (android_change_tab_bar_height): Amend with
+       code absent when the function was first transcribed.
+
+       * src/haikufns.c (haiku_change_tab_bar_height):
+
+       * src/nsfns.m (ns_change_tab_bar_height):
+
+       * src/pgtkfns.c (pgtk_change_tab_bar_height):
+
+       * src/w32fns.c (w32_change_tab_bar_height):
+
+       * src/xfns.c (x_change_tab_bar_height): Revise commentary.
+
+2023-11-22  Andrea Corallo  <acorallo@gnu.org>
+
+       (package-quickstart-refresh): Generate marginally more efficient code
+
+       * lisp/emacs-lisp/package.el (package-quickstart-refresh): Include
+       only one copy of the file names.
+
+2023-11-22  Andrea Corallo  <acorallo@gnu.org>
+
+       * Update 'native-comp-never-optimize-functions' version
+
+       * lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions):
+       Update version.
+
+2023-11-22  Andrea Corallo  <acorallo@gnu.org>
+
+       * configure.ac: Fix non posix (bash only) eq operator
+
+2023-11-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Unify ".""  and ".." handling in tramp-*-file-name-all-completions
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
+       * lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
+       Remove special handling of "." an "..".
+
+       * lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
+       Handle ".""  and "..".
+
+2023-11-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix CRLF handling in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-send-command-and-read): Use 'space'
+       instead of 'blank' in rx expression, in order to handle also CR
+       and alike.  Reported by Dominique Quatravaux
+       <dominique@quatravaux.org>.
+
+2023-11-22  Po Lu  <luangruo@yahoo.com>
+
+       Update touch-screen.el
+
+       * lisp/touch-screen.el (touch-screen-handle-aux-point-update):
+       Wrap exceptionally wide form.
+       (touch-screen-handle-touch): Guarantee that only tools from the
+       same frame as the current tool will be considered ancillary
+       tools.  Further guarantee that normal gesture translation can
+       resume even if a touchscreen-end event is omitted or overlooked.
+
+2023-11-22  Po Lu  <luangruo@yahoo.com>
+
+       Insert NEWS entry for native compilation changes
+
+       * etc/NEWS (Installation Changes in 30.1): Mention that native
+       compilation has been enabled by default.
+
+2023-11-22  Po Lu  <luangruo@yahoo.com>
+
+       Disable native compilation in build machine Android binaries
+
+       * configure.ac (XCONFIGURE): Set with_native_compilation to no.
+
+2023-11-21  Andrea Corallo  <acorallo@gnu.org>
+
+       * Enable native compiler by default when libgccjit is available
+
+       * configure.ac: Enable native compiler by default when libgccjit 
available.
+       (with_native_compilation): Change default to 'default'.
+       (libgccjit_not_found_err, libgccjit_dev_not_found_err)
+       (libgccjit_broken_err): Renamed.
+       (libgccjit_not_found, libgccjit_dev_not_found, libgccjit_broken):
+       New functions.
+
+2023-11-21  Po Lu  <luangruo@yahoo.com>
+
+       Save more information into Android font names
+
+       * src/sfntfont.c (sfntfont_open): Besides just the font file
+       name, also store the interpreter state, UPEM, charset and
+       instance number in FONT_FULLNAME_INDEX.
+
+2023-11-20  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Add Gnus mode line logo in SVG format
+
+       Bug#67174
+
+       * etc/images/gnus/gnus-pointer.svg: New Gnus mode line logo in SVG 
format.
+       * lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Use it.
+
+2023-11-20  Juri Linkov  <juri@linkov.net>
+
+       Improve invisibility handling in isearch-lazy-highlight (bug#40808)
+
+       * lisp/isearch.el (isearch-lazy-highlight-invisible): New variable.
+       (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search)
+       (isearch-lazy-highlight-match, isearch-lazy-highlight-buffer-update): 
Use it.
+
+       * lisp/replace.el (replace-highlight): Let-bind isearch-invisible
+       to search-invisible.
+
+       * test/lisp/isearch-tests.el (isearch--test-invisible): New test.
+
+2023-11-20  Andrea Corallo  <acorallo@gnu.org>
+
+       * etc/TODO (Native compiler improvements): Add 'Diagnostic' section.
+
+       * etc/TODO (Native compiler improvements): Move old entry here.
+
+       * etc/TODO (Native compiler improvements): Add section.
+
+2023-11-20  Andrea Corallo  <acorallo@gnu.org>
+
+       * Add 'eval' to 'native-comp-never-optimize-functions' (bug#67141)
+
+       * lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions):
+       Add 'eval'.
+
+2023-11-20  Jim Porter  <jporterbugs@gmail.com>
+
+       Forward completion text properties in 'completion-table-with-quoting'
+
+       This fixes an issue with 'pcomplete-here-using-help', which passes
+       annotation strings along as text properties.  Previously, those got
+       clobbered when the completions got requoted (bug#67112).
+
+       * lisp/minibuffer.el (completion--twq-all): Apply text properties from
+       the first character of the unquoted completion to the quoted
+       completion.
+
+2023-11-19  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Recognize shebang lines that pass '-S/--split-string' to 'env'
+
+       * etc/NEWS: announce the change.
+
+       * lisp/files.el (auto-mode-interpreter-regexp): Add optional '-S'
+       switch to the ignored group capturing the env invocation.
+       Allow multiple spaces between #!, interpreter and first argument:
+       empirically, Linux's 'execve' accepts that.  (Bug#66902)
+
+       * test/lisp/files-tests.el (files-tests--check-shebang): New helper to
+       generate a temporary file with a given interpreter line, and assert
+       that the mode picked by 'set-auto-mode' is derived from an expected
+       mode.  Write the 'should' form so that failure reports include useful
+       context; for example:
+
+           (ert-test-failed
+            ((should
+              (equal (list shebang actual-mode) (list shebang expected-mode)))
+             :form
+             (equal ("#!/usr/bin/env -S make -f" fundamental-mode)
+                    ("#!/usr/bin/env -S make -f" makefile-mode))
+             :value nil :explanation
+             (list-elt 1 (different-atoms fundamental-mode makefile-mode))))
+
+       * test/lisp/files-tests.el (files-tests-auto-mode-interpreter): New
+       test; exercise some aspects of 'interpreter-mode-alist'.
+
+2023-11-19  Po Lu  <luangruo@yahoo.com>
+
+       Properly avoid displaying the OSK for calls to read-key-sequence
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up): If prompt
+       is set, throw the input event rather than execute its command.
+
+2023-11-19  Po Lu  <luangruo@yahoo.com>
+
+       Reorganize documentation relating to touch screens
+
+       Chiefly, elevate it from an appendix to a node in the User Input
+       chapter.  I have been approached time and again with questions
+       from people who have not searched the appendices for such
+       documentation.
+
+       * doc/emacs/emacs.texi: Move Other Input below Commands in the
+       menu.
+
+       * doc/emacs/input.texi (Other Input Devices): Rename to Other
+       Input.  All callers changed.
+       (Touchscreens, On-Screen Keyboards): Revise and reword
+       documentation.  Homogenize nomenclature for on screen keyboards,
+       preferring "virtual keyboards" after it has been mentioned once
+       by the other name.
+
+2023-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (update_search_regs): Install better fix for bug#67124
+
+       The recent fix for the bug in `replace-match-maybe-edit`
+       was basically a refinement of a previously installed workaround,
+       whereas the bug was really in `update_search_regs`.
+
+       * src/search.c (update_search_regs): Improve handling of `start` 
positions.
+       * lisp/replace.el (replace-match-maybe-edit): Remove workaround.
+       * test/src/search-tests.el (search-test--replace-match-update-data): 
New test.
+
+2023-11-18  F. Jason Park  <jp@neverwas.me>
+
+       Favor ISUPPORT params for MODE processing in ERC
+
+       * etc/ERC-NEWS: Mention shift toward CHANMODES ISUPPORT parameter for
+       dictating MODE parsing behavior.
+       * lisp/erc/erc-backend.el (erc--init-channel-modes, erc--update-modes,
+       erc-set-modes, erc-update-modes): Forward declarations, the last two
+       being removals.
+       (erc-server-MODE, erc-server-221): Use `erc--update-modes' instead of
+       `erc-update-modes'.
+       (erc-server-324): Use `erc--init-channel-modes' instead of
+       `erc-set-modes'.
+       * lisp/erc/erc-common.el (erc--channel-mode-types): New struct for
+       stashing processed \"CHANMODES\" data for the current server.
+       * lisp/erc/erc.el (erc-channel-modes): Fix doc string.
+       (erc-set-initial-user-mode): Display a local notice when requesting
+       redundant user MODE operations.
+       (erc-set-modes, erc-parse-modes, erc-update-modes): Deprecate for
+       reasons explained in associated ERC-NEWS entry.
+       (erc--update-membership-prefix): New function, a helper for specifying
+       arguments to the rather unruly `erc-update-current-channel-member'.
+       (erc--channel-modes): New variable to record channel-mode state in a
+       hash table.
+       (erc--channel-mode-types): New variable and getter to stash
+       and retrieve server-local instance of the struct of the same name.
+       (erc--process-channel-modes): New function to parse channel-mode
+       changes, dispatch handlers for unary modes, and update the local
+       variables `erc-channel-modes' and `erc--channel-modes'.
+       (erc--user-modes): New local variable for remembering user modes per
+       server.  New function of the same name, a "getter" for the variable.
+       (erc--parse-user-modes): New function to parse user modes only.
+       (erc--update-user-modes): New function to update and sort
+       `erc--user-modes'.
+       (erc--update-channel-modes): New function to replace much of
+       `erc-update-modes', currently a thin wrapper around
+       `erc--process-channel-modes' to ensure it updates status prefixes.
+       (erc--update-modes): New function to call appropriate mode-updating
+       function for the current buffer.
+       (erc--init-channel-modes): New function to update channel mode letters
+       without status prefixes.
+       (erc--handle-channel-mode): New generic function, a placeholder for an
+       eventual API to handle specific "unary" mode letters, meaning those
+       that specify a single parameter for setting or unsetting.
+       (erc-update-channel-limit): Update doc string and answer question
+       posed by ancient comment.
+       (erc-message-english-user-mode-redundant-add,
+       erc-message-english-user-mode-redundant-drop): New English catalog
+       messages.
+       * test/lisp/erc/erc-scenarios-base-chan-modes.el: New file.
+       * test/lisp/erc/erc-tests.el (erc-parse-modes,
+       erc--update-channel-modes, erc--update-user-modes, erc--user-modes,
+       erc--parse-user-modes): New tests.
+       * test/lisp/erc/resources/base/modes/chan-changed.eld: New test data
+       file.  (Bug#67220)
+
+2023-11-18  F. Jason Park  <jp@neverwas.me>
+
+       Use caching variant of erc-parse-prefix internally
+
+       * lisp/erc/erc-common.el (erc--parsed-prefix): New struct to help with
+       tasks that depends on the advertised "PREFIX" parameter.
+       * lisp/erc/erc.el (erc-parse-prefix): Rework slightly for readability.
+       (erc--parsed-prefix): New variable and function of the same name for
+       caching the reversed result of `erc-parse-prefix' locally per server.
+       (erc-channel-receive-names): Use value stored in `erc--parsed-prefix'.
+       * test/lisp/erc/erc-tests.el (erc-with-server-buffer): Only activate
+       spy around actual test case forms.
+       (erc--parse-prefix): New test.  (Bug#67220)
+
+2023-11-18  F. Jason Park  <jp@neverwas.me>
+
+       Simplify ISUPPORT-derived data wrangling in ERC
+
+       * lisp/erc/erc-backend.el (erc--get-isupport-entry): Check server
+       buffer for `erc-server-parameters' when (re)initializing value.  This
+       function was previously unreliable from a target buffer on cache
+       misses.
+       (erc--with-isupport-data): New macro for accessing and caching data
+       derived from an ISUPPORT parameter.  Late-arriving params break the
+       cache.
+       (erc-server-005): Rewrite pattern as `rx' form, factoring out bol/eol.
+       * lisp/erc/erc-common.el (erc--isupport-data): New struct to be
+       subclassed for storing cached ISUPPORT-derived data.
+       * test/lisp/erc/erc-scenarios-display-message.el: Remove stray
+       `require'.  (Bug#67220)
+
+2023-11-18  F. Jason Park  <jp@neverwas.me>
+
+       Add test for erc-cmd-SQUERY
+
+       * lisp/erc/erc-backend.el (erc-message): Revise doc string.
+       * test/lisp/erc/erc-scenarios-base-misc-regressions.el (erc-cmd-MOTD):
+       Move test to another file specifically for slash commands.
+       * test/lisp/erc/erc-scenarios-misc-commands.el: New file.
+       * test/lisp/erc/resources/commands/motd.eld: "New" file, moved here
+       reusing the same Git blob from now deleted subdir base/commands.
+       * test/lisp/erc/resources/commands/squery.eld: New file.  (Bug#67209)
+
+2023-11-18  Osmo Karppinen  <osmkarp@gmail.com>  (tiny change)
+
+       Fix command-line parsing for erc-cmd-SQUERY
+
+       * lisp/erc/erc.el (erc-cmd-SQUERY): Set symbol property
+       `do-not-parse-args' to t so additional command-line arguments aren't
+       parsed but rather included as part of the function's lone (raw) LINE
+       parameter.  (Bug#67209)
+
+2023-11-18  Michael Albinus  <michael.albinus@gmx.de>
+
+       Minor Tramp optimization
+
+       * lisp/net/tramp.el (tramp-skeleton-file-truename)
+       (tramp-skeleton-write-region, tramp-handle-file-truename):
+       * lisp/net/tramp-integration.el (tramp-eshell-directory-change)
+       (tramp-recentf-exclude-predicate):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
+       Use `tramp-tramp-file-p' instead of `file-remote-p'.
+
+2023-11-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       d9e43f2197f Document changes in 'edmacro-parse-keys'
+       3327f36ad95 Add 2 SQLite extensions to allow-list.
+       8d2012024de * test/lisp/net/tramp-tests.el (tramp--test-timeout-handl...
+
+2023-11-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       232a57a3e32 ; * doc/lispref/debugging.texi (Debugging): Add cross-ref...
+       c65ddf26a33 ; doc/lispref/debugging.texi: Add reference to Profiler d...
+       6f884d3aed9 Add 5 docstrings to abbrev.el (bug#67153)
+       b4d990bd637 ; Clarify wording about arguments in doc strings
+       c20ae7a30fb ; Improve cross-references in description of 'pcase'
+       42181b65df1 ; * src/editfns.c (Fline_beginning_position): Doc fix.
+       5f3309f6b0f ; Improve indexing in ELisp manual
+       4e406bb4208 Fix CBZ file detection in doc-view-mode
+
+2023-11-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       5a1808da5f3 ; * doc/misc/eglot.texi (Eglot Commands): Fix typos (bug#...
+
+2023-11-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       32a32853ce9 Typofix in the doc/lispref/modes.texi
+       f98637b51b5 ; Fix 'add-face-text-property' shortdoc
+       3fff22eb20c Fix spell-checking email message with citations
+
+2023-11-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       5612fd21a05 Add two doc strings to cl-extra.el
+
+2023-11-18  Rudi Schlatte  <rudi@constantly.at>
+
+       Add key translations 'C-x 8 a e' and 'C-x 8 A E'.
+
+       * lisp/international/iso-transl.el (iso-transl-char-map): Add
+       new entries for ae and AE.  (Bug#67225)
+
+2023-11-18  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Add elixir-ts-mode-hook to elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode-hook):
+       Make hook available to customize.  (Bug#67207)
+
+2023-11-18  Po Lu  <luangruo@yahoo.com>
+
+       Document Battery Optimization challenges on Android
+
+       * etc/PROBLEMS (Runtime problems specific to Android): Mention
+       battery optimization, the way it impacts background execution,
+       and how it might be disabled.
+
+2023-11-18  Rahguzar  <rahguzar@zohomail.eu>
+
+       Add input methods for Urdu, Pashto and Sindhi (bug#66470)
+
+       * lisp/leim/quail/pakistan.el ("urdu-keyboard")
+       ("urdu-phonetic-keyboard", "urdu-custom", "sindhi-keyboard")
+       ("pashto-keyboard"): New input methods.
+       (pakistan--define-quail-rules, pakistan--make-setter)
+       (pakistan--regenerate-translations, pakistan--set-prefixes)
+       (pakistan--define-numeral-translations)
+       (pakistan--set-numeral-translations):
+       Internal helper functions.
+       (pakistan-urdu-input): New customization group.
+       (pakistan-urdu-prefixes, pakistan-urdu-translations)
+       (pakistan-urdu-diacritics-and-other-symbols)
+       (pakistan-urdu-poetic-symbols, pakistan-urdu-religious-symbols)
+       (pakistan-extra-balochi-brahui-translations)
+       (pakistan-extra-pashto-translations)
+       (pakistan-extra-sindhi-translations)
+       (pakistan-extra-saraiki-hindko-translations)
+       (pakistan-urdu-use-roman-digits): New custom variables.
+       (pakistan): New package.
+
+2023-11-18  Visuwesh  <visuweshm@gmail.com>
+
+       Do interactive tagging for dired commands
+
+       * lisp/dired-aux.el (dired-diff, dired-backup-diff)
+       (dired-compare-directories, dired-do-chmod, dired-do-chgrp)
+       (dired-do-chown, dired-do-touch, dired-do-print, dired-clean-directory)
+       (dired-do-async-shell-command, dired-do-shell-command, dired-kill-line)
+       (dired-do-kill-lines, dired-do-compress-to, dired-do-compress)
+       (dired-do-byte-compile, dired-do-load, dired-do-redisplay)
+       (dired-reset-subdir-switches, dired-create-directory)
+       (dired-create-empty-file, dired-do-copy, dired-do-symlink)
+       (dired-do-relsymlink, dired-do-hardlink, dired-do-rename)
+       (dired-do-rename-regexp, dired-do-copy-regexp, dired-do-hardlink-regexp)
+       (dired-do-symlink-regexp, dired-do-relsymlink-regexp, dired-upcase)
+       (dired-downcase, dired-maybe-insert-subdir, dired-insert-subdir)
+       (dired-kill-tree, dired-prev-subdir, dired-mark-subdir-files)
+       (dired-kill-subdir, dired-tree-up, dired-tree-down, dired-hide-subdir)
+       (dired-hide-all, dired-isearch-filenames, 
dired-isearch-filenames-regexp)
+       (dired-do-isearch, dired-do-isearch-regexp, dired-do-search)
+       (dired-do-query-replace-regexp, dired-do-find-regexp)
+       (dired-do-find-regexp-and-replace, dired-show-file-type)
+       (dired-vc-next-action):
+       * lisp/dired-x.el (dired-mark-extension, dired-mark-suffix)
+       (dired-flag-extension, dired-clean-patch, dired-clean-tex)
+       (dired-very-clean-tex, dired-mark-omitted, dired-omit-expunge)
+       (dired-mark-unmarked-files, dired-do-find-marked-files, dired-vm)
+       (dired-rmail, dired-do-run-mail, dired-mark-sexp,
+       dired-x-bind-find-file):
+       * lisp/dired.el (dired-mouse-drag, dired-undo, dired-toggle-read-only)
+       (dired-next-line, dired-previous-line, dired-next-dirline)
+       (dired-prev-dirline, dired-up-directory, dired-get-file-for-visit)
+       (dired-find-file, dired-find-alternate-file, dired-mouse-find-file)
+       (dired-mouse-find-file-other-window, dired-mouse-find-file-other-frame)
+       (dired-view-file, dired-find-file-other-window, dired-display-file)
+       (dired-copy-filename-as-kill, dired-next-subdir)
+       (dired-build-subdir-alist, dired-goto-file, dired-do-flagged-delete)
+       (dired-do-delete, dired-next-marked-file, dired-prev-marked-file)
+       (dired-mark, dired-unmark, dired-flag-file-deletion)
+       (dired-unmark-backward, dired-toggle-marks, dired-mark-files-regexp)
+       (dired-number-of-marked-files, dired-mark-files-containing-regexp)
+       (dired-flag-files-regexp, dired-mark-symlinks, dired-mark-directories)
+       (dired-mark-executables, dired-flag-auto-save-files)
+       (dired-flag-garbage-files, dired-flag-backup-files, dired-change-marks)
+       (dired-unmark-all-marks, dired-unmark-all-files)
+       (dired-sort-toggle-or-edit, dired-mark-for-click)
+       (dired-enable-click-to-select-mode): Tag commands as applicable only
+       for dired-mode.
+
+2023-11-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid loading cl-lib as result of invoking 'load-library'
+
+       * lisp/emacs-lisp/find-func.el (find-function--any-subform-p):
+       Don't use 'cl-destructuring-bind'.
+       (find-library--from-load-history): Don't use 'cl-loop'.
+       * lisp/thingatpt.el (thing-at-point): Don't use 'cl-loop'.  This
+       avoids loading cl-lib whenever thingatpt.el is loaded, for
+       example, as result of "M-x load-library".
+
+2023-11-18  Po Lu  <luangruo@yahoo.com>
+
+       Offer to grant storage permissions if absent
+
+       * java/org/gnu/emacs/EmacsService.java (externalStorageAvailable)
+       (requestStorageAccess23, requestStorageAccess30)
+       (requestStorageAccess): New functions.
+
+       * lisp/startup.el (fancy-startup-tail, normal-splash-screen):
+       Call android-win functions for inserting the new storage
+       permission notice.
+
+       * lisp/term/android-win.el
+       (android-display-storage-permission-popup)
+       (android-after-splash-screen): New functions.
+
+       * src/android.c (android_init_emacs_service): Link to new Java
+       functions.
+       (android_external_storage_available_p)
+       (android_request_storage_access): New functions.
+
+       * src/android.h: Update prototypes.
+
+       * src/androidfns.c (Fandroid_external_storage_available_p)
+       (Fandroid_request_storage_access): New functions.
+       (syms_of_androidfns): Register new subrs.
+
+2023-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add 
`null`
+
+2023-11-17  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Return t from completion-emacs22-try-completion only for completions
+
+       The emacs22 completion style ignores the text after point when
+       computing completions.  However, it still needs to take into account
+       the entire string it's given, to avoid returning incorrect values.
+
+       Previously, completion-emacs22-try-completion would return t if the
+       text before point was an exact completion.  But this is effectively
+       saying that the entire input string was an exact completion, which may
+       not be correct.  This would cause completing-read with REQUIRE-MATCH=t
+       to return a non-completion.
+
+       Now, completion-emacs22-try-completion only returns t if the entire
+       input string is an exact completion.
+
+       * lisp/minibuffer.el (completion-emacs22-try-completion): Return t
+       only if the entire input string is an exact completion.  (Bug#67210)
+
+2023-11-17  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make Tramp aware of completion-regexp-list
+
+       * lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
+       New defmacro.
+       (tramp-completion-handle-file-name-all-completions):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
+       * lisp/net/tramp-crypt.el 
(tramp-crypt-handle-file-name-all-completions):
+       * lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
+       * lisp/net/tramp-sudoedit.el
+       (tramp-sudoedit-handle-file-name-all-completions): Use it.
+
+2023-11-17  Po Lu  <luangruo@yahoo.com>
+
+       Correct initial scale calculation when pinching nonselected window
+
+       * lisp/touch-screen.el (touch-screen-pinch): Retrieve present
+       scale within the window pinched.
+       (touch-screen-handle-point-update): Expunge inefficacious code
+       meant to disregard events sent during gesture navigation.
+
+2023-11-17  Po Lu  <luangruo@yahoo.com>
+
+       Correct generation of touchscreen-pinch events
+
+       * lisp/touch-screen.el (touch-screen-pinch): Check that posn-x-y
+       is available before scrolling to it.
+       (touch-screen-handle-aux-point-update): Don't provide posns for
+       windows besides the window where the touch sequence started in
+       touchscreen-pinch events.
+
+2023-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * etc/NEWS: Mention incompatible change in `pp` (bug#67180)
+
+       Merge branch 'derived-mode-add-parents'
+
+2023-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (merge-ordered-lists): Dot a few more `i`s
+
+       Suggested by Mattias Engdegård.
+
+       * lisp/subr.el (merge-ordered-lists): Don't mutate the arg.
+
+       * test/lisp/subr-tests.el (subr-tests--merge-ordered-lists): Make the
+       test a bit more precise.
+
+2023-11-16  Po Lu  <luangruo@yahoo.com>
+
+       Disable generation of mouse-1 events after ancillary tool presses
+
+       * lisp/touch-screen.el (touch-screen-handle-scroll): Correct
+       typo in comment.
+       (touch-screen-handle-point-update): Attempt to detect scroll
+       gestures and the like also when what is ancillary-tool.
+       (touch-screen-handle-point-up): Don't needlessly compute
+       relative xy when transforming aux tool into current tool.
+       (touch-screen-handle-touch): Set what field to ancillary-tool
+       rather than clear it when initializing the ancillary tool,
+       indicating to t-s-h-p-u that it must not generate mouse up
+       events.
+
+2023-11-16  Po Lu  <luangruo@yahoo.com>
+
+       Don't pan horizontally when a pinch gesture represents a shrink
+
+       * lisp/touch-screen.el (touch-screen-pinch): Don't pan left if
+       the event represents a shrink.
+
+2023-11-16  Andrea Corallo  <acorallo@gnu.org>
+
+       Clean-up some native-comp advice special handling.
+
+       * lisp/emacs-lisp/nadvice.el (advice--add-function): Clean-up
+       nativecomp special handling.
+       * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.
+
+2023-11-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix scrolling when continuation line starts with a display string
+
+       * src/xdisp.c (start_display): Compute continuation_lines_width
+       for starting display in strings and images as well.  (Bug#67201)
+
+2023-11-16  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/nadvice.el (advice--add-function): Move func decl.
+
+2023-11-16  Juri Linkov  <juri@linkov.net>
+
+       * lisp/mail/emacsbug.el (submit-emacs-patch): Use 
pop-to-buffer-same-window.
+
+       This allows customization with 'display-buffer-alist' (bug#65387).
+
+2023-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       todo-mode.el: Don't let-bind `buffer-read-only`
+
+       Prefer let-binding `inhibit-read-only` so the code can freely change
+       `buffer-read-only`.  While at it, prefer #' to quote function names.
+
+       * lisp/calendar/todo-mode.el (todo-rename-category)
+       (todo-delete-category, todo-delete-item)
+       (todo-edit-item--diary-inclusion, todo-edit-category-diary-inclusion)
+       (todo-edit-category-diary-nonmarking, todo-archive-done-item)
+       (todo-unarchive-items, todo-display-categories)
+       (todo-update-categories-display, todo-filter-items-1)
+       (todo-reset-nondiary-marker, todo-reset-done-separator-string)
+       (todo-reset-done-string, todo-reset-comment-string):
+       Bind `inhibit-read-only` instead of `buffer-read-only`.
+       (todo-mode, todo-archive-mode, todo-edit-mode, todo-categories-mode)
+       (todo-filtered-items-mode): Let `define-derived-mode` take care of
+       adding the keymap to the docstring.
+       (todo-mode, todo-archive-mode, todo-categories-mode)
+       (todo-filtered-items-mode): Let `define-derived-mode` set
+       `mode-class`.
+
+2023-11-16  Po Lu  <luangruo@yahoo.com>
+
+       Pan during touch screen pinch gestures
+
+       * doc/lispref/commands.texi (Touchscreen Events): Document new
+       ratio-diff parameter to touchscreen-pinch events.
+
+       * lisp/completion-preview.el (completion-preview-commands):
+       Account text-conversion events preview commands as well.
+
+       * lisp/touch-screen.el (touch-screen-aux-tool): Introduce two
+       new elements.
+       (touch-screen-pinch): Scroll window in accord with event deltas.
+       (touch-screen-handle-aux-point-update): Supply the ratio
+       difference in generated events.
+       (touch-screen-handle-touch): Create a vector with those two new
+       elements.
+
+2023-11-15  Juri Linkov  <juri@linkov.net>
+
+       * lisp/simple.el (minibuffer-default-add-completions): Improve 
(bug#64656).
+
+       Return nil for some popular completions with undefined order that 
include
+       obarray.  Extend the docstring to explain how to disable this feature.
+
+2023-11-15  Juri Linkov  <juri@linkov.net>
+
+       Enable completion-in-region-mode in minibuffer-complete-history/defaults
+
+       * lisp/minibuffer.el (minibuffer-complete-history)
+       (minibuffer-complete-defaults): Let-bind 
completion-in-region-mode-predicate
+       to lambda that checks if the "*Completions*" buffer window is visible.
+       This enables completion-in-region-mode that supports arrows
+       with minibuffer-visible-completions.
+
+2023-11-15  Juri Linkov  <juri@linkov.net>
+
+       * lisp/minibuffer.el (minibuffer-completion-help): Fix base-suffix for 
region.
+
+       When used with completion-in-region where 
completion-in-region-mode-predicate
+       is non-nil, start base-suffix from point (bug#62700).
+
+2023-11-15  Eshel Yaron  <me@eshelyaron.com>
+
+       Add Completion Preview mode
+
+       This adds a new minor mode, 'completion-preview-mode', that displays
+       in-buffer completion suggestions with an inline "preview" overlay.
+       (Bug#66948)
+
+       * lisp/completion-preview.el: New file.
+       * doc/emacs/programs.texi (Symbol Completion): Document it.
+       * etc/NEWS: Announce it.
+
+2023-11-15  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Don't infinite loop in map-y-or-n-p if at the end of kmacro
+
+       Previously, if map-y-or-n-p got -1 from read-event (indicating no
+       input due to the end of a keyboard macro), it would just infinite
+       loop.
+
+       Now it behaves like other commands which use read-event/read-char/etc,
+       and just errors when we try to look up -1 in our keymap and find
+       nothing.
+
+       Also, just for the sake of users, print a slightly prettier message
+       when this happens.
+
+       * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't loop if we reach
+       the end of a keyboard macro.  (Bug#67046)
+
+2023-11-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'tex-compile-commands'
+
+       * lisp/textmodes/tex-mode.el (tex-compile-commands): Respect
+       'tex-start-options' better.  (Bug#67030)
+
+2023-11-15  Spencer Baugh  <sbaugh@catern.com>
+
+       Signal file-locked on lock conflict with noninteractive=t
+
+       Previously we would signal a generic error on lock conflict when
+       noninteractive=t.  That meant that non-interactively handling a lock
+       conflict would require catching all errors and checking the string in
+       DATA.
+
+       Now we just signal file-locked instead, which matches the interactive
+       behavior when the user says "q" at the prompt.
+
+       Also, when noninteractive, we signal before we write the prompt about
+       the lock conflict.  That prompt usually gets in the way of
+       noninteractively handling and suppress lock conflict errors.  The
+       signal data contains all the necessary information, we don't need to
+       write a separate message for noninteractive.
+
+       * lisp/userlock.el (ask-user-about-lock): Signal file-locked on
+       noninteractive lock conflict.  (bug#66993)
+
+2023-11-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix query-replace at EOB
+
+       * lisp/replace.el (replace-match-maybe-edit): Avoid clobbering
+       match-data with outdated buffer position.  (Bug#67124)
+
+2023-11-15  Po Lu  <luangruo@yahoo.com>
+
+       Register ``pinch to zoom'' touch screen gestures
+
+       * doc/emacs/input.texi (Touchscreens): Address pinch gestures.
+
+       * doc/lispref/commands.texi (Touchscreen Events): Address touch
+       screen pinch events and the process by which they are produced.
+
+       * java/org/gnu/emacs/EmacsWindow.java (figureChange)
+       <ACTION_POINTER_DOWN>: Supply pointer index to getX and getY,
+       correcting a mistake where the first touch point's coordinate
+       was saved here in lieu of the pointer that was pressed's.
+
+       * lisp/touch-screen.el (touch-screen-current-tool): Revise doc
+       string.
+       (touch-screen-aux-tool): New variable.
+       (touch-screen-scroll-point-to-y, touch-screen-pinch): New
+       functions.
+       (global-map): Bind [touchscreen-pinch] to touch-screen-pinch.
+       (touch-screen-handle-point-update): Revise doc string; set new
+       tenth field of t-s-c-t to POINT relative to its window, without
+       regard to whether an event has been sent.
+       (touch-screen-distance, touch-screen-centrum): New functions.
+       (touch-screen-handle-aux-point-update): New function; generate
+       and send touchscreen-pinch if need be.
+       (touch-screen-handle-point-up): If an ancillary tool exists,
+       transfer the information there into touch-screen-current-tool
+       and clear t-s-a-t.
+       (touch-screen-handle-touch): Call t-s-a-p-u as is proper; set
+       t-s-a-t if a touchscreen-down event arrives and t-s-c-t is set.
+
+       * src/androidterm.c (handle_one_android_event): Properly save
+       the event's X and Y when a new touch point is registered.
+
+2023-11-15  nverno  <noah.v.peart@gmail.com>
+
+       Fix font-lock for string escapes in lua-ts-mode
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts--font-lock-settings):
+       Apply font-lock to the entire string containing an escape
+       sequence. (Bug#67135)
+
+2023-11-15  john muhl  <jm@pub.pink>
+
+       Fix flymake integration in lua-ts-mode (Bug#67152)
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-flymake-luacheck): Use
+       'flymake-diag-region' to mark highlighted region.
+
+2023-11-15  João Távora  <joaotavora@gmail.com>
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Fix previous commit.
+
+2023-11-14  Juri Linkov  <juri@linkov.net>
+
+       * lisp/vc/vc.el (vc-deduce-backend-nonvc-modes): New variable 
(bug#67145).
+
+       (vc-deduce-backend): Use it.
+
+2023-11-14  Po Lu  <luangruo@yahoo.com>
+
+       Properly merge EXTRA_EMAIL content with mailto URIs
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
+       EXTRA_EMAIL is an array rather than a string, so insert
+       its first element into an empty mailto URI.
+
+2023-11-14  João Távora  <joaotavora@gmail.com>
+
+       Eglot: Send standard :language-id for typescript-language-server
+
+       bug#67150
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Update
+       language-id for languages handled by typescript-language-server.
+
+2023-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (wisent-python-lex-beginning-of-line): Fix compiler warning
+
+       * lisp/cedet/semantic/wisent/python.el
+       (wisent-python-lex-beginning-of-line): Comment out unused test.
+
+2023-11-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix variable aliasing bytecode miscompilation (bug#67116)
+
+       The compiler didn't cancel aliasing if the aliased variable was
+       modified in a variable binding in the same `let` that created
+       the alias.  For example,
+
+        (let ((x A))
+          (let ((y x)
+                (z (setq x B)))
+            y))
+
+       would incorrectly substitute y->x in the body form despite x being
+       already modified at that point, which normally should have cancelled
+       the aliasing.
+
+       Bug reported by Alan Mackenzie.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize--aliased-vars):
+       Now an alist that also contains the aliases; update the doc string.
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form):
+       Detect aliasing early for `let`-bound variables as well.
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
+       Add test cases.
+
+2023-11-13  João Távora  <joaotavora@gmail.com>
+
+       Fix hanful-insert-character (bug#66970)
+
+       * lisp/leim/quail/hangul.el (hangul-insert-character): Rework.
+
+2023-11-13  Juri Linkov  <juri@linkov.net>
+
+       * lisp/vc/vc-hooks.el (vc-display-status): New value 'no-backend' 
(bug#66464).
+
+       * lisp/vc/vc-hooks.el (vc-default-mode-line-string): Use it.
+       * lisp/vc/vc-git.el (vc-git-mode-line-string): Use it.
+       * lisp/vc/vc-hg.el (vc-hg-mode-line-string): Use it.
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Revive erc-command-indicator as new module
+
+       * doc/misc/erc.texi: Add entry for `command-indicator' to Modules
+       chapter.
+       * etc/ERC-NEWS: Mention new module `command-indicator'.
+       * lisp/erc/erc-goodies.el (erc-noncommands-list): Replace the
+       nonexistent `erc-cmd-SMV' with function `erc-cmd-SAY'.
+       (erc-noncommands-mode, erc-noncommands-enable,
+       erc-noncommands-disable): Deprecate this module because it's a no-op.
+       (erc-command-indicator-face, erc-command-indicator): Migrate from main
+       library.
+       (erc-command-indicator-mode, erc-command-indicator-enable,
+       erc-command-indicator-disable): New module to take the spiritual place
+       of `noncommands'.
+       (erc-command-indicator): Move function here from main library, along
+       with option namesake mentioned above.
+       (erc-command-indicator-toggle-hidden): New command to toggle echoed
+       command-line visibility.
+       (erc--command-indicator-permit-insertion): New function.
+       (erc--command-indicator-display): New function, a slightly revised
+       version of the old `erc-display-command' from the main library.  Its
+       only call site was removed back in d1036d288de "backport: erc
+       bugfixes".  However, references were left behind to associated assets,
+       like `erc-command-indicator', etc.  The function was later commented
+       out in 0c599ee2e2c "* lisp/erc/erc.el: Use `run-hook-with-args` for
+       `erc-pre-send-functions`", and then removed by a63ed6f78a6 "Remove
+       duplicate ERC prompt on reconnect".
+       * lisp/erc/erc-match.el (erc-match-toggle-hidden-fools): Use new
+       non-module-specific name for `erc-match--toggle-hidden'.
+       (erc-match--toggle-hidden): Move to main library for shared use by
+       other modules.
+       * lisp/erc/erc.el (erc-hide-prompt): Leave note explaining updated
+       role.
+       (erc-command-indicator): Move option and function of same name to
+       erc-goodies.
+       (erc-command-indicator-face): Move to erc-goodies.
+       (erc-modules): Remove module `noncommands' from standard value and
+       Custom set.  Add `command-indicator' to set.
+       (erc--toggle-hidden): "New" function, a rebranded version of the
+       utility `erc-match--toggle-hidden' from erc-match.
+       (erc--send-input-lines): Accommodate modules wanting alternate
+       insertion functions.
+       (erc-load-irc-script-lines): Account for `erc-command-indicator' no
+       longer being defined in this library.
+       * test/lisp/erc/erc-scenarios-base-send-message.el
+       (erc-scenarios-base-send-message--command-indicator): New test.
+       * test/lisp/erc/erc-tests.el (erc-tests--modules): Remove
+       deprecated module `noncommands' from manifest.  (Bug#67031)
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Simplify default text props for ERC input
+
+       * lisp/erc/erc.el (erc--msg-props): Reformat doc string to improve
+       readability.
+       (erc-send-current-line): Don't bind `erc--msg-prop-overrides' because
+       doing so affects all scoped calls to `erc-display-message' made by
+       slash commands, etc. and makes handling overly complex and error
+       prone.
+       (erc-display-msg): Set `erc-msg' property to `msg' instead of `self'
+       because the only legitimate use of this function is for inserting
+       "echoed" prompt input.  (Bug#60936 and Bug#67031)
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Allow opting out of empty message padding in ERC
+
+       * lisp/erc/erc.el (erc--allow-empty-outgoing-lines-p): New internal
+       variable.
+       (erc-send-input-line, erc--run-send-hooks): Don't pad output when
+       `erc--allow-empty-outgoing-lines-p' is non-nil.  (Bug#67031)
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Make nested input handling more robust in ERC
+
+       * lisp/erc/erc.el (erc--send-action-function): New function-valued
+       variable for locally advising `erc-send-action' so that built-in
+       modules can elect to handle insertion and sending themselves.
+       (erc-send-action): Defer to `erc--send-action-function'.
+       (erc--send-action-perform-ctcp): Isolate the message-sending business
+       for CTCP ACTIONs that used to reside in `erc-send-action'.
+       (erc--send-action-display): Isolate the message-insertion business
+       formerly residing in `erc-send-action' for more granular use.  Fix a
+       minor bug involving inserted representations of CTCP ACTIONs not
+       having `erc-my-nick-face' applied to the speaker.
+       (erc--send-action): Perform the same displaying and sending of CTCP
+       ACTION messages formerly handled by `erc-send-action', but display
+       messages before sending them.
+       (erc--current-line-input-split): New variable bound to the post-review
+       `erc--input-split' object for the extent of display processing.  This
+       mainly benefits slash-command handlers and the utility functions they
+       employ, such as `erc-send-message'.
+       (erc-cmd-SAY): Defer to `erc--send-message'.
+       (erc--send-message-nested-function): New function-valued variable
+       supporting an internal interface for influencing how
+       `erc-send-message' inserts and sends prompt input.  Some handlers for
+       slash commands, like /SV, use `erc-send-message' to perform their own
+       insertion and sending, which is normally the domain of
+       `erc-send-current-line'.  When this happens, modules can't easily
+       leverage the normal hook-based API to do things like suppress
+       insertion but allow sending or vice-versa.  This variable provides an
+       internal seam for modules to exert such influence.
+       (erc-send-message): Behave specially when called by the default
+       interactive client via `erc-send-current-line' and friends.
+       (erc--send-message-external): New function to house the former body of
+       `erc-send-message', for third-party code needing to apply the
+       traditional behavior.
+       (erc--send-message-nested): New function for turning arbitrary text,
+       such as replacement prompt input, into outgoing message text by doing
+       things like ensuring "send" hooks run and invariants for prompt
+       markers are preserved.
+       (erc--make-input-split): New helper function for creating a standard
+       `erc--input-split' object from a string.  This is arguably less
+       confusing than adding another constructor to the struct definition.
+       (erc-send-current-line): Bind `erc--current-line-input-split' when
+       dispatching prompt-input handlers.  Use helper `erc--make-input-split'
+       to initialize working `erc--input-split' state object.
+       (erc--run-send-hooks): Honor existing `refoldp' slot from
+       `erc--input-split' object.
+       (erc--send-input-lines): Convert to generic function to allow modules
+       control over fundamental insertion and sending operations, which is
+       necessary for next-generation features, like multiline messages.
+       (erc-modes): Don't output non-modules.  That is, only list actual
+       modules created via `define-erc-module', and `quote' members of the
+       resulting list.
+       * test/lisp/erc/erc-scenarios-base-send-message.el: New test file.
+       * test/lisp/erc/resources/base/send-message/noncommands.eld: New data
+       file.  (Bug#67031)
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Always run erc-server-send-queue via timer
+
+       * lisp/erc/erc-backend.el (erc--server-send, erc-server-send): Convert
+       the latter into a wrapper that calls the former, a "new" internal
+       generic function, so that built-in modules can do things like prepend
+       tags to outgoing messages and send messages over other transports or
+       proxy protocols.  Extend the `no-penalty' parameter to mean ERC will
+       schedule an imminent send via a timer.  And always run the function
+       `erc-server-send-queue' on a timer.  (Bug#67031)
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Make ERC's error-notice formatting more consistent
+
+       * lisp/erc/erc-backend.el (erc--server-propagate-failed-connection):
+       Include leading three-asterisk notice prefix when reporting process
+       exit status, and set the `erc-msg' text property to `notice-error'.
+       (erc-schedule-reconnect): Include leading notice prefix when inserting
+       `reconnecting' message.
+       * lisp/erc/erc.el (erc-process-input-line, erc-cmd-PART,
+       erc-cmd-TOPIC): Display `no-target' messages as "error notices".
+       (erc-message-english-disconnected,
+       erc-message-english-disconnected-noreconnect): Hard-code standard
+       value of `erc-notice-prefix' into message text for consistency during
+       formatting and insertion.
+       * test/lisp/erc/erc-tests.el (erc--refresh-prompt): Expect notice
+       prefix before `no-target' message.  (Bug#67031)
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Offer alternate pool-creation strategies in erc-nicks
+
+       * lisp/erc/erc-nicks.el (erc-nicks-bg-color): Expand doc string.
+       (erc-nicks-colors): Add new choices `font-lock' and `ansi-color'.
+       (erc-nicks--adjust-contrast): Add assertion to prevent dependency bug
+       from resurfacing when hacking on module activation code.
+       (erc-nicks--create-pool-function): New function-valued variable to
+       specify a pool creation strategy.  Note in doc string that this could
+       form the basis for a possible user option should the need arise.
+       (erc-nicks--create-coerced-pool): New function for filtering
+       user-provided `erc-nicks-color' values.
+       (erc-nicks--create-pool, erc-nicks--create-culled-pool): Rename former
+       to latter.
+       (erc-nicks--init-pool): Call `erc-nicks--create-pool-function' to
+       actually create pool.  Account for new `erc-nicks-colors' values.
+       (erc-nicks-enable, erc-nicks-mode): Set `erc-nicks--fg-rgb' before
+       `erc-nicks--init-pool' to prevent type error in filters that depend on
+       that variable being initialized.  This is a bug fix.
+       (erc-nicks-refresh): Provide helpful user error instead of letting
+       `arith-error' propagate due to an empty pool.
+       (erc-nicks--colors-from-faces): New helper function.
+       * test/lisp/erc/erc-nicks-tests.el (erc-nicks--create-pool,
+       erc-nicks--create-culled-pool): Rename test from former to latter and
+       update function invocations to reflect that.
+       (erc-nicks--create-coerced-pool): New test.  (Bug#63569)
+
+2023-11-13  F. Jason Park  <jp@neverwas.me>
+
+       Don't use func-arity to trigger API warning in url-irc
+
+       * lisp/url/url-irc.el (url-irc): Use more robust `condition-case'
+       pattern instead, which will still fail when met with various edge
+       cases.  The old way was only useful for non-variadic lambda lists
+       consisting entirely of named positional parameters.  (Bug#56514)
+
+2023-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Subject: (derived-mode-add-parents): Add documentation and one more test
+
+       * doc/lispref/modes.texi (Derived Modes): Document new derived-modes 
API.
+       * test/lisp/subr-tests.el (subt-tests--merge-ordered-lists): New test.
+
+2023-11-12  Xiaoyue Chen  <xchen@vvvu.org>  (tiny change)
+
+       Pass only the local parts of Eshell's $PATH to 'tramp-remote-path'
+
+       * lisp/eshell/esh-proc.el (eshell-gather-process-output): Get the
+       local part of the $PATH (bug#67126).
+
+2023-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (derived-mode-all-parents): Fix handling of cycles
+
+       * lisp/subr.el (derived-mode-all-parents): Fix the handling of cycles
+       so that it doesn't fill the cache with incorrect results.
+       (merge-ordered-lists): Improve docstring.
+       (provided-mode-derived-p): Swap the loops since `modes` is usually
+       shorter than `ps`.
+
+       * test/lisp/subr-tests.el (subr-tests--parent-mode): Simplify.
+       (subr-tests--mode-A, subr-tests--mode-B, subr-tests--mode-C): New funs.
+       (subt-tests--derived-mode-add-parents): New test.
+
+2023-11-12  Stephen Berman  <stephen.berman@gmx.net>
+
+       Add support in todo-mode.el for ISO date format
+
+       * lisp/calendar/todo-mode.el (todo--date-pattern-groups): New defconst.
+       (todo-date-pattern): Use it to extend pattern matching of
+       `calendar-date-display-form' to support the ISO date format in
+       todo item date headers (bug#66395, bug#55284).
+       (todo-edit-item--header): Make it work with ISO date strings.
+
+2023-11-12  Jim Porter  <jporterbugs@gmail.com>
+
+       Hook 'bug-reference-mode' up to 'thing-at-point'
+
+       * lisp/progmodes/bug-reference.el (bug-reference--url-at-point): New
+       function.
+       (bug-reference-mode, bug-reference-prog-mode): Factor initialization
+       code out to...
+       (bug-reference--init): ... here.
+
+       * test/lisp/progmodes/bug-reference-tests.el (test-thing-at-point):
+       New test.
+
+       * etc/NEWS: Announce this change (bug#66752).
+
+2023-11-12  Po Lu  <luangruo@yahoo.com>
+
+       Adjust dump file location under Android
+
+       * java/org/gnu/emacs/EmacsApplication.java (EmacsApplication)
+       <apkFileName>: New field.
+       (getApkFile): Move from EmacsService.java.
+       (findDumpFile): If the dump file is older than the APK, delete
+       it irrespective of whether the checksums agree.
+       (onCreate): Initialize apkFileName.
+
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Use
+       EmacsApplication.apkFileName.
+
+       * src/android.c (android_on_low_memory): Correct arguments to
+       Fclear_image_cache.
+
+       * src/image.c (Fclear_image_cache): Check that animation_cache
+       is always a cons.
+
+2023-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Move EIEIO's C3 linearization code to `subr.el`
+
+       The code was used to linearize the EIEIO class hierarchy, since
+       it results in saner results than things like BFS or DFS.
+       By moving it to `subr.el` we get to benefit from that same
+       advantage both in `cl--class-allparents` and
+       in `derived-mode-all-parents`.
+
+       * lisp/subr.el (merge-ordered-lists): New function.
+       (derived-mode-all-parents): Use it to improve parent ordering.
+
+       * lisp/emacs-lisp/eieio-core.el (eieio--c3-candidate)
+       (eieio--c3-merge-lists): Delete functions, replaced by
+       `merge-ordered-lists`.
+       (eieio--class-precedence-c3): Use `merge-ordered-lists`.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--class-allparents):
+       Use `merge-ordered-lists` to improve parent ordering.
+       * lisp/emacs-lisp/cl-macs.el (cl--struct-all-parents): Delete function.
+       (cl--pcase-mutually-exclusive-p): Use `cl--class-allparents` instead.
+
+2023-11-11  João Távora  <joaotavora@gmail.com>
+
+       Fix test failures in test/lisp/minibuffer-tests.el
+
+       bug#48841, bug#47711
+
+       In some instances the test code needed to be updated to make different
+       assumptions about implementation details.
+
+       In others, like the ones about the completions-first-difference face,
+       minor parts of the actual user-visible behaviour were broken.
+
+       * test/lisp/minibuffer-tests.el (completion-test1): Robustify test.
+       (completion--pcm-score): Don't assume completion-score is stored
+       in string as a property.
+
+       * lisp/minibuffer.el (completion--hilit-from-re): Take new parameter.
+       (completion-pcm--hilit-commonality): Use it.
+
+2023-11-11  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ce0ebb91f25 Improve documentation of read syntax and printed represen...
+       81f84b00a5d ; * doc/lispref/modes.texi (Other Font Lock Variables): A...
+       434592b0746 ; * lisp/dired.el (dired-use-ls-dired): Doc fix (bug#67053).
+       fe000236cf2 Improve documentation of signaling errors in batch mode
+       103ca678ac1 Fix treesit-simple-indent-presets docstring (bug#67007)
+       b7871cefe7b Prevent an infinite loop in todo-mode (bug#66994)
+       fa8cc4c9ee2 Fix cmake-ts-mode indentation (Bug#66845)
+       5bdc61bc0ef Update to Org 9.6.11
+       18e2de1bec9 ; * lisp/bindings.el (right-word, left-word): Doc fix.
+       4f0fc3bfda3 ; Document core input events problems with XInput2
+
+2023-11-11  Po Lu  <luangruo@yahoo.com>
+
+       Enable canceling tap gestures
+
+       * doc/lispref/commands.texi (Touchscreen Events): Relate new
+       THRESHOLD argument to touch-screen-track-tap.
+
+       * lisp/button.el (push-button):
+
+       * lisp/wid-edit.el (widget-button--check-and-call-button):
+       Provide a threshold to enable canceling button presses.
+
+       * lisp/touch-screen.el (touch-screen-track-tap): Enable
+       canceling tap gestures and resuming touch sequence translation
+       if the touch point exceeds a set threshold.
+
+2023-11-11  Jim Porter  <jporterbugs@gmail.com>
+
+       Add some more Eshell history tests
+
+       * test/lisp/eshell/em-hist-tests.el (em-hist-test/check-history-file):
+       New function.  Use it throughout this file.
+       (em-hist-test/history-append): Rename to...
+       (em-hist-test/write-history/append): ... this.
+       (em-hist-test/history-read): Rename to...
+       (em-hist-test/write-history/overwrite): ... this.
+       (em-hist-test/write-history/append-multiple-eshells)
+       (em-hist-test/write-history/overwrite-multiple-shells): New tests.
+       (em-hist-test/write-history/read-only): Check the resulting history.
+
+2023-11-11  Liu Hui  <liuhui1610@gmail.com>
+
+       Improve read/append behavior of eshell history command
+
+       * lisp/eshell/em-hist.el (eshell-hist--new-items): New variable.
+       (eshell-hist-initialize): Initialize 'eshell-hist--new-items' to 0.
+       (eshell/history): Change the behavior of 'history -a' to "append new
+       history in current buffer to history file".  Clarify the help text of
+       'history -r'.
+       (eshell-add-input-to-history): Increase counter of new history items.
+       (eshell-read-history): Respect 'eshell-hist-ignoredups' option.
+       (eshell-write-history): If the optional argument APPEND is non-nil,
+       appending new history items rather than the whole history.
+
+       * test/lisp/eshell/em-hist-tests.el (em-hist-test/history-append)
+       (em-hist-test/history-read): New tests (bug#66768).
+
+2023-11-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix mode-line after switching from WDired back to Dired
+
+       * lisp/wdired.el (wdired-change-to-dired-mode): Call
+       'dired-sort-set-mode-line' to set the mode name in the mode line,
+       so as to restore the display before switching to WDired.
+       (Bug#67028)
+
+2023-11-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Add some headers to message-ignored-bounced-headers
+
+       * lisp/gnus/message.el (message-ignored-bounced-headers): These are
+       headers that a) are derived from the exact text of the message and
+       thus are now invalid and b) either will be automatically regenerated
+       when the message is sent or shouldn't be present on the message copy
+       at all.
+
+2023-11-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Use BASE_EQ instead of EQ for some uninterned symbols
+
+       * src/editfns.c (labeled_restrictions_pop, Fwiden):
+       * src/eval.c (lexbound_p, Fbacktrace__locals):
+       * src/fileio.c (Finsert_file_contents):
+       * src/fns.c (Fyes_or_no_p):
+       * src/keyboard.c (command_loop_1):
+       Use BASE_EQ for comparing with Qoutermost_restriction,
+       Qinternal_interpreter_environment and Qunbound as uninterned
+       symbols won't be EQ to a symbol-with-pos.
+
+2023-11-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/gitlab-ci.yml (.native-comp-template): Adapt "changes".
+
+2023-11-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Don't expand file names for non-existing remote connections
+
+       * lisp/saveplace.el (save-place-abbreviate-file-names) [:set]:
+       * lisp/bookmark.el (bookmark--remove-fringe-mark): Don't expand
+       file names for non-existing remote connections.  (Bug#66982)
+
+2023-11-10  Po Lu  <luangruo@yahoo.com>
+
+       Clear image caches in reaction to system VM warnings
+
+       * java/org/gnu/emacs/EmacsNative.java (onLowMemory):
+
+       * java/org/gnu/emacs/EmacsService.java (onLowMemory): New
+       function.
+
+       * src/android.c (android_on_low_memory, onLowMemory): New
+       functions called when a VM caution is registered.  Clear
+       the image cache and run garbage collection.
+
+2023-11-10  Yuan Fu  <casouri@gmail.com>
+
+       Mark treesit--things-around obsolete
+
+       * lisp/treesit.el (treesit--things-around): Mark obsolete.
+
+2023-11-10  Yuan Fu  <casouri@gmail.com>
+
+       Replace treesit--things-around with new functions (bug#66989)
+
+       * lisp/treesit.el (treesit-forward-sexp):
+       Replace things-around with thing-at.
+       (treesit--navigate-thing): Replace things-around with
+       thing-prev/next/at.  Also this should fix the problem described in
+       bug#66989.
+       (treesit-thing-at-point): Replace things-around with thing-at.
+
+2023-11-10  Yuan Fu  <casouri@gmail.com>
+
+       Add treesit thing-at-point functions
+
+       * lisp/treesit.el (treesit--thing-sibling):
+       (treesit--thing-prev):
+       (treesit--thing-next):
+       (treesit--thing-at): New functions.
+
+2023-11-10  Yuan Fu  <casouri@gmail.com>
+
+       Add treesit-node-enclosed-p
+
+       * doc/lispref/parsing.texi (Accessing Node Information):
+       Add manual entry.
+       * lisp/treesit.el (treesit-node-enclosed-p): New function.
+       (treesit): Add shortdoc entry.
+       * test/src/treesit-tests.el (treesit-node-api): Add tests.
+
+2023-11-10  Yuan Fu  <casouri@gmail.com>
+
+       Add shortdoc for treesit-node-get
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       Clean-up warnings for non native builds (this time for real)
+
+       * lisp/emacs-lisp/comp.el (comp-native-version-dir)
+       (comp-subr-arities-h, native-comp-eln-load-path)
+       (native-comp-enable-subr-trampolines): Remove warning.
+       (comp--compile-ctxt-to-file, comp--init-ctxt, comp--release-ctxt)
+       (comp-el-to-eln-filename)
+       (comp-el-to-eln-rel-filename, native-elisp-load): Declare.
+       * lisp/emacs-lisp/comp-run.el (comp--no-native-compile)
+       (comp-deferred-pending-h, comp-installed-trampolines-h)
+       (native-comp-enable-subr-trampolines): Remove warning.
+       (comp--install-trampoline, comp-el-to-eln-filename)
+       (native-elisp-load): Declare.
+       * lisp/emacs-lisp/comp-common.el: Update.
+
+2023-11-09  Juri Linkov  <juri@linkov.net>
+
+       * lisp/minibuffer.el (minibuffer-choose-completion-or-exit): Improve.
+
+       Use minibuffer-complete-and-exit instead of exit-minibuffer
+       since this is what it's used in the completion minibuffer.
+
+2023-11-09  Juri Linkov  <juri@linkov.net>
+
+       Improve 'next-line-completion' and add more tests
+
+       * lisp/simple.el (next-line-completion): Improve (bug#59486).
+       Better handle the case when completion-auto-wrap is nil.
+
+       * test/lisp/minibuffer-tests.el (completion-auto-wrap-test)
+       (completions-header-format-test)
+       (completions-affixation-navigation-test): Add calls to
+       'next-line-completion' and 'previous-line-completion'.
+       (completions-group-navigation-test): New test.
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       Clean-up warnings for non native builds
+
+       * lisp/emacs-lisp/comp-common.el (native-comp-enable-subr-trampolines)
+       (comp-installed-trampolines-h, comp-subr-arities-h)
+       (native-comp-eln-load-path, comp-native-version-dir)
+       (comp-deferred-pending-h, comp--no-native-compile): Silence
+       warning.
+       (comp-el-to-eln-rel-filename, native-elisp-load)
+       (comp--release-ctxt, comp--init-ctxt)
+       (comp--compile-ctxt-to-file, comp-el-to-eln-filename)
+       (comp--install-trampoline): Declare function.
+       * lisp/emacs-lisp/comp.el : Update.
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       comp: Don't load.el comp when C-h f
+
+       * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers)
+       (comp-function-type-spec): Move here.
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       comp: Add comp-common.el
+
+       * lisp/emacs-lisp/comp-common.el: New file.
+       (comp-common): New group.
+       (native-comp-verbose, native-comp-never-optimize-functions)
+       (native-comp-async-env-modifier-form, comp-limple-calls)
+       (comp-limple-sets, comp-limple-assignments)
+       (comp-limple-branches, comp-limple-ops)
+       (comp-limple-lock-keywords, comp-log-buffer-name, comp-log)
+       (native-comp-limple-mode, comp-log-to-buffer)
+       (comp-ensure-native-compiler, comp-trampoline-filename)
+       (comp-eln-load-path-eff): Move here
+       * lisp/emacs-lisp/comp-run.el (comp-common): Require.
+       * lisp/emacs-lisp/comp.el (comp-common): Require.
+       * admin/MAINTAINERS: Add comp-common.el
+       * lisp/Makefile.in (COMPILE_FIRST): Likewise.
+       * src/Makefile.in (elnlisp): Likewise.
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       Don't load comp when installing an existing trampoline
+
+               * lisp/emacs-lisp/nadvice.el (advice--add-function): Update.
+               (comp-subr-trampoline-install): Update src file.
+               * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Autoload.
+               * lisp/emacs-lisp/comp-run.el (comp-log-buffer-name)
+               (native--compile-async, comp-warn-primitives)
+               (comp-trampoline-filename, comp-eln-load-path-eff)
+               (comp-trampoline-search, comp-trampoline-compile): Move here.
+               * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): 
Update
+               src file.
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       comp: don't require 'warnings' in comp-run
+
+       * lisp/emacs-lisp/comp-run.el (warnings): Don't require.
+       (warning-suppress-types): Wave warning.
+       * lisp/emacs-lisp/warnings.el (warning-suppress-types): Autoload it.
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       comp: make comp-run don't require cl-lib at runtime
+
+       * lisp/emacs-lisp/comp-run.el (cl-lib): Require it only at compile
+       time.
+       (native-compile-async-skip-p): Use 'seq-some'.
+       (native--compile-async): Don't use 'cl-substitute'.
+
+2023-11-09  Andrea Corallo  <acorallo@gnu.org>
+
+       comp: split code in comp-run.el
+
+       * lisp/emacs-lisp/comp-run.el : New file.
+       (comp-run)
+       (native-comp-jit-compilation-deny-list)
+       (native-comp-async-jobs-number)
+       (native-comp-async-report-warnings-errors)
+       (native-comp-always-compile)
+       (native-comp-async-cu-done-functions)
+       (native-comp-async-all-done-hook)
+       (native-comp-async-env-modifier-form)
+       (native-comp-async-query-on-exit, native-comp-verbose)
+       (comp-log-buffer-name, comp-async-buffer-name, comp-no-spawn)
+       (comp-async-compilations, native-comp-limple-mode)
+       (comp-ensure-native-compiler, native-compile-async-skip-p)
+       (comp-files-queue, comp-async-compilations, comp-async-runnings)
+       (comp-num-cpus, comp-effective-async-max-jobs)
+       (comp-last-scanned-async-output)
+       (comp-accept-and-process-async-output, comp-valid-source-re)
+       (comp-run-async-workers, native--compile-async)
+       (native-compile-async): Move these definitions here.
+       * lisp/Makefile.in (COMPILE_FIRST): Update.
+       * src/Makefile.in (elnlisp): Likewise.
+       * admin/MAINTAINERS: Likewise.
+
+2023-11-09  Eshel Yaron  <me@eshelyaron.com>
+
+       Promptly disable 'completion-in-region-mode' (bug#67001)
+
+       Avoid keeping 'completion-in-region-mode' on when exiting
+       'completion--in-region-1' if the *Completions* buffer isn't shown.
+       Otherwise, the bindings from 'completion-in-region-mode-map' linger,
+       notable shadowing other bindings for TAB.
+
+       * lisp/minibuffer.el (completion--in-region-1): Disable
+       'completion-in-region-mode' if the *Completions* buffer isn't visible.
+
+2023-11-09  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/elisp-mode.el (elisp--local-variables): Remove `debug'.
+
+       Remove symbol `debug' from the condition-case handler of `error'
+       that was added in commit f931cebce76d911dfc61274e0a8c1de3627b9179
+       since it interferes on completing in an incomplete elisp form 
(bug#66979).
+
+2023-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Use `derived-mode-add-parents` in remaining uses of 
`derived-mode-parent`
+
+       Until now multiple inheritance wasn't really used, but some ad-hoc
+       code went a bit beyond the normal uses of the mode hierarchy.
+       Use the new multiple inheritance code to replace that ad-hoc code,
+       thereby eliminating basically all remaining direct uses of the
+       `derived-mode-parent` property.
+
+       CEDET had its own notion of mode hierrchy using `derived-mode-parent`
+       as well as its own `mode-local-parent` property set via
+       `define-child-mode`.
+       `derived-mode-add-parents` lets us reimplement `define-child-mode`
+       such that CEDET can now use the normal API functions.
+
+       * lisp/locate.el (locate-mode): Use `derived-mode-add-parents`.
+
+       * lisp/cedet/mode-local.el (get-mode-local-parent): Declare obsolete.
+       (mode-local-equivalent-mode-p, mode-local-use-bindings-p): Make them
+       obsolete aliases.
+       (mode-local--set-parent): Rewrite to use `derived-mode-add-parents`.
+       Declare as obsolete.
+       (mode-local-map-mode-buffers): Use `derived-mode-p`.
+       (mode-local-symbol, mode-local--activate-bindings)
+       (mode-local--deactivate-bindings, mode-local-describe-bindings-2):
+       Use `derived-mode-all-parents`.
+
+       * lisp/cedet/srecode/table.el (srecode-get-mode-table):
+       * lisp/cedet/srecode/find.el (srecode-table, 
srecode-load-tables-for-mode)
+       (srecode-all-template-hash): Use `derived-mode-all-parents`.
+
+       * lisp/cedet/srecode/map.el (srecode-map-entries-for-mode):
+       * lisp/cedet/semantic/db.el (semanticdb-equivalent-mode):
+       Use `provided-mode-derived-p` now that it obeys `define-child-mode`.
+
+2023-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       subr.el: Add multiple inheritance to `derived-mode-p`
+
+       Add the ability for a major mode to declare "extra parents" in
+       addition to the one from which it inherits.
+
+       * lisp/subr.el (derived-mode-add-parents): New function.
+       (derived-mode-all-parents): Adjust accordingly.
+
+2023-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Use new `derived-mode-all/set-parents` functions.
+
+       Try and avoid using the `derived-mode-parent` property directly
+       and use the new API functions instead.
+
+       * lisp/emacs-lisp/derived.el (define-derived-mode):
+       Use `derived-mode-set-parent`.
+
+       * lisp/loadhist.el (unload--set-major-mode):
+       * lisp/info-look.el (info-lookup-select-mode):
+       * lisp/ibuf-ext.el (ibuffer-list-buffer-modes):
+       * lisp/files.el (dir-locals--get-sort-score):
+       * lisp/emacs-lisp/cl-generic.el (cl--generic-derived-specializers):
+       Use `derived-mode-all-parents`.
+
+2023-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (derived-mode-all-parents): Speed up with a cache
+
+       Most uses of the mode hierarchy don't really need to construct the
+       list, they just need to iterate over it.  With single inheritance
+       we could do it just by jumping up from a mode to its parent,
+       but to support the upcoming multiple inheritance we'd need a more
+       complex and costly iterator.
+       Luckily, the inheritance graph is mostly static so we can cache
+       the list of all parents, making `derived-mode-all-parents` cheap
+       enough to be the basis of iteration and keeping the API very simple.
+
+       * lisp/subr.el (derived-mode-all-parents): Cache the result.
+       (derived-mode--flush): New function.
+       (derived-mode-set-parent): Use it.
+
+2023-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       subr.el: Provide a functional API around `derived-mode-parent`
+
+       The `derived-mode-parent` property should be an implementation detail,
+       so we can change it more easily.  To that end, add functions to set and
+       query it.
+
+       * lisp/subr.el (derived-mode-all-parents): New function.
+       (provided-mode-derived-p): Use it.
+       (derived-mode-set-parent): New function.
+
+2023-11-09  Po Lu  <luangruo@yahoo.com>
+
+       Guarantee files are auto-saved when Emacs is terminated by Android
+
+       * java/org/gnu/emacs/EmacsNative.java (shutDownEmacs):
+
+       * java/org/gnu/emacs/EmacsService.java (onDestroy): New
+       function.  When invoked, call shut_down_emacs and await its
+       completion.
+
+       * src/android.c (android_shut_down_emacs, shutDownEmacs): New
+       functions.
+
+2023-11-08  Alan Mackenzie  <acm@muc.de>
+
+       With `native-compile', compile lambdas in a defun or lambda too
+
+       This fixes bug#64646.  Also refactor two functions to reduce
+       code duplication.
+
+       * lisp/emacs-lisp/comp.el (comp-spill-lap-function/symbol)
+       (comp-spill-lap-function/list): Add all functions found by the
+       byte compiler (including lambdas) to the native compiler's
+       context, thus making them be native compiled.  Refactor to use
+       comp-intern-func-in-ctxt.  Make comp-spill-lap-function/list
+       also compile closures.
+
+       * test/src/comp-resources/comp-test-funcs.el
+       (comp-tests-lambda-return-f2): New function
+
+       * test/src/comp-tests.el (comp-test-lambda-return2)
+       (comp-tests-free-fun-f2): New functions to test that internal
+       lambdas get native compiled.
+
+2023-11-08  Philip Kaludercic  <philipk@posteo.net>
+
+       Simplify 'project-remember-projects-under'
+
+       * lisp/progmodes/project.el (project-remember-projects-under): Instead
+       of traversing the directories manually, re-use
+       `directory-files-recursively' to reduce complexity.  (Bug#66649)
+
+2023-11-08  Juri Linkov  <juri@linkov.net>
+
+       * lisp/minibuffer.el (minibuffer-choose-completion-or-exit): New 
command.
+
+       (minibuffer-visible-completions-map): Bind it to "RET".
+       https://lists.gnu.org/archive/html/emacs-devel/2023-11/msg00246.html
+
+2023-11-08  Po Lu  <luangruo@yahoo.com>
+
+       Don't leave point amid text conversion edits if auto-fill transpires
+
+       * lisp/simple.el (analyze-text-conversion): Save point in
+       old-point after auto-fill completes, so that point-moved is not
+       set if point remains intact subsequent to the execution of both
+       hooks.
+
+2023-11-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: Demote errors to warnings in eglot-ensure
+
+       Github-reference: https://github.com/joaotavora/eglot/discussions/1318
+
+       * doc/misc/eglot.texi (Quick Start): Reword.
+       (Starting Eglot): Reword.
+
+       * lisp/progmodes/eglot.el (eglot-ensure): Demote errors to warnings.
+
+2023-11-06  Juri Linkov  <juri@linkov.net>
+
+       * lisp/simple.el (next-line-completion): Improve (bug#59486).
+
+       Handle the case when lines with completion candidates are
+       interspersed with lines that contain group headings.
+
+2023-11-06  João Távora  <joaotavora@gmail.com>
+
+       Allow completion frontends to fontify candidates just-in-time
+
+       bug#48841, bug#47711
+
+       The variable may be bound by the frontend to a non-nil around
+       completion-producing calls like completion-all-completions.  See
+       completion-lazy-hilit docstring for more info.
+
+       * lisp/icomplete.el (icomplete-minibuffer-setup): Set 
completion-lazy-hilit.
+       (icomplete--render-vertical): Call completion-lazy-hilit.
+       (icomplete-completions): Call completion-lazy-hilit.
+
+       * lisp/minibuffer.el (completion-lazy-hilit): New variable.
+       (completion-lazy-hilit): New function.
+       (completion-lazy-hilit-fn): New variable.
+       (completion-pcm--regexp)
+       (completion--flex-score-last-md): New helper variables.
+       (completion--flex-score-1): New helper.
+       (completion-pcm--hilit-commonality): Use completion-lazy-hilit.
+       (completion--flex-adjust-metadata): Rework sorting code.
+
+       * etc/NEWS: Mention completion-lazy-hilit
+
+2023-11-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Silence warning when requiring ruby-ts-mode
+
+       * lisp/progmodes/ruby-ts-mode.el: Silence warning when requiring
+       file without a treesitter grammar.
+
+2023-11-06  Juri Linkov  <juri@linkov.net>
+
+       * lisp/vc/vc-git.el (vc-git-revision-table): Reverse the table 
(bug#64656).
+
+2023-11-06  Po Lu  <luangruo@yahoo.com>
+
+       Emulate secondary selections on Android
+
+       * doc/lispref/frames.texi (Other Selections): Revise
+       documentation to match.
+
+       * lisp/term/android-win.el (android-secondary-selection): New
+       variable.
+       (android-primary-selection, android-get-clipboard-1)
+       (android-get-primary, gui-backend-get-selection)
+       (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
+       (gui-backend-set-selection): Update doc strings and code as is
+       proper.
+
+2023-11-06  Jeremy Bryant  <jb@jeremybryant.net>
+
+       * lisp/emacs-lisp/cl-extra.el (cl-remprop): Update names to match 
docstring
+
+2023-11-05  Juri Linkov  <juri@linkov.net>
+
+       New option to use arrows in the minibuffer to select completions 
(bug#59486)
+
+       * lisp/minibuffer.el (minibuffer-visible-completions): New defcustom.
+       (minibuffer-visible-completions-bind): New function.
+       (minibuffer-visible-completions-map): New defvar-keymap.
+       (minibuffer-mode): Set buffer-local minibuffer-completion-auto-choose
+       to nil for minibuffer-visible-completions.
+       (completing-read-default, completion-in-region-mode):
+       Use minibuffer-visible-completions to compose keymap
+       with minibuffer-visible-completions-map.
+       (minibuffer-next-completion): Add new arg VERTICAL,
+       and use next-line-completion.
+       (minibuffer-next-line-completion)
+       (minibuffer-previous-line-completion): New commands.
+
+2023-11-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Declare calc-eval-error in calc.el
+
+       * lisp/calc/calc.el (calc-eval-error): Declare.  (Bug#58801)
+
+2023-11-05  Stephen Gildea  <stepheng+emacs@gildea.com>
+
+       Further improve test coverage of time-stamp-pattern parsing
+
+       * test/lisp/time-stamp-tests.el (time-stamp-custom-pattern): Use test
+       strings that are easier to mis-parse, for a more exacting test.
+
+       * (fz-make+zone, fz-make-zone): Declare pure.
+
+2023-11-05  Po Lu  <luangruo@yahoo.com>
+
+       Implement more Android text editing controls
+
+       * lisp/term/android-win.el (android-deactivate-mark-command):
+       New command.
+       (select-all, start-selecting-text, stop-selecting-text): Arrange
+       for commands manipulating the region to be executed when these
+       keys are registered.
+
+       * src/android.c (android_get_keysym_name): Return the keysym
+       name of each of the new keysyms introduced.
+
+       * src/androidterm.c (performContextMenuAction): Save special
+       keysyms into key events for the selectAll, startSelectingText
+       and stopSelectingText actions.
+
+2023-11-05  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Add project-any-command and project-prefix-or-any-command
+
+       * lisp/progmodes/project.el (project-any-command): New command.
+       (project-prefix-map): Bind it to 'o'.
+       (project-switch-commands): Add entry for it here too.
+       (project-prefix-or-any-command): New command (bug#63648).
+       (project-switch-commands): Update the custom type to mention
+       'project-prefix-or-any-command' as well.
+       * etc/NEWS: Document the change.
+
+2023-11-04  F. Jason Park  <jp@neverwas.me>
+
+       Align date stamps to whole days in ERC
+
+       * lisp/erc/erc-stamp.el (erc-stamp--current-time): Ditch overriding
+       precedence of the `erc--ts' property in `:around' method because the
+       variable `erc-stamp--current-time' fills that role well enough.
+       (erc-stamp--current-datestamp-left): Remove unused variable.
+       (erc-stamp--insert-date-stamp-as-phony-message): Assume
+       `erc-timestamp-last-inserted-left' has already been assigned the
+       updated rendered stamp for the current time.
+       (erc-stamp--lr-date-on-pre-modify): Use the variable
+       `erc-stamp--current-time' instead of the `erc-ts' property to convey
+       an overriding time value for `erc-add-timestamp'.  Set
+       `erc-timestamp-last-inserted-left' instead of fiddling with another
+       temporary variable to hack around these ill-fitting interfaces.  Use
+       day-aligned time value for the `erc-ts' property assigned to date
+       stamps.
+       (erc-stamp--date-mode): New internal minor mode.
+       (erc-insert-timestamp-left-and-right): Defer to `erc-stamp--date-mode'
+       for setting up date-stamp specific hooks.
+       (erc-stamp--time-as-day): New function to "round" a date stamp to
+       start of local day.
+       (erc-stamp--setup): Defer to `erc-stamp--date-mode' for date-stamp
+       specific teardown.  (Bug#60936)
+       * test/lisp/erc/erc-fill-tests.el
+       (erc-fill-tests--current-time-value): Change default value to nil.
+       (erc-stamp--current-time): New method for test cases.
+       (erc-fill-tests--insert-privmsg): Use realistic value for `unparsed'
+       slot.
+       (erc-fill-tests--wrap-populate): Bind
+       `erc-fill-tests--current-time-value' to 0.  Don't mock the function
+       `erc-stamp--current-time' because doing so inhibits normal polymorphic
+       dispatch, which test cases rely on for delivering correct timestamp
+       values in varied contexts.
+
+2023-11-04  F. Jason Park  <jp@neverwas.me>
+
+       Decouple disparate escape-hatch concerns in erc-stamp
+
+       * lisp/erc/erc-stamp.el (erc-stamp--allow-unmanaged): Improve doc
+       string.
+       (erc-stamp--permanent-cursor-sensor-functions): New variable to take
+       over the formerly provided `cursor-sensor-functions' aspect of the
+       flag `erc-stamp--allow-unmanaged'.
+       (erc-add-timestamp): Use
+       `erc-stamp--permanent-cursor-sensor-functions' instead of
+       `erc-stamp--allow-unmanaged' in guard condition.
+       (erc-munge-invisibility-spec): Use dedicated compatibility flag
+       `erc-stamp--permanent-cursor-sensor-functions' and forgo unnecessary
+       setup when it's non-nil.  (Bug#60936)
+
+2023-11-04  F. Jason Park  <jp@neverwas.me>
+
+       Preserve user markers when inserting ERC date stamps
+
+       * lisp/erc/erc-stamp.el
+       (erc-stamp--insert-date-stamp-as-phony-message): Ensure existing
+       user markers aren't displaced by date-stamp insertion.
+       * lisp/erc/erc.el (erc--insert-line-function): New function-valued
+       variable for overriding `insert'.
+       (erc-insert-line): Call `erc--insert-line-function', when non-nil, to
+       insert line specially.
+       * test/lisp/erc/erc-scenarios-stamp.el
+       (erc-scenarios-stamp--on-insert-modify): New assertion helper
+       function.
+       (erc-scenarios-stamp--date-mode/left-and-right): New test.
+       (Bug#60936)
+
+2023-11-04  F. Jason Park  <jp@neverwas.me>
+
+       Don't over-truncate erc-timestamp-format-left
+
+       * lisp/erc/erc-stamp.el (erc-timestamp-format-left): Fix typo in doc
+       string and mention that changing the value mid-session requires
+       cycling the minor mode.
+       (erc-echo-timestamp-format): Add Custom :tag for choices.
+       (erc-stamp--date-format-end): Revise doc string.
+       (erc-stamp--format-date-stamp): Fix bug involving erroneous truncation
+       parameter for `substring' when `erc-timestamp-format-left' doesn't end
+       in a newline.  Thanks to Emanuel Berg for catching this.
+       (erc-stamp-prepend-date-stamps-p) Revise doc string.
+       (erc-insert-timestamp-left-and-right): Add comment regarding
+       compatibility concession.  (Bug#60936)
+
+2023-11-04  F. Jason Park  <jp@neverwas.me>
+
+       Really fix off-by-one in erc--get-inserted-msg-bounds
+
+       * lisp/erc/erc.el (erc--get-inserted-msg-bounds): Account for
+       `previous-single-property-change' returning a position adjacent to
+       that with an actual changed value.  The prior attempt at addressing
+       this was insufficient.
+       * test/lisp/erc/erc-tests.el (erc--get-inserted-msg-bounds): New test.
+
+2023-11-04  Stefan Kangas  <stefankangas@gmail.com>
+           David Hedlund  <public@beloved.name>
+
+       Make FAQ on starting Emacs maximized portable
+
+       * doc/misc/efaq.texi (Start Emacs Maximized): Rename node from
+       "Fullscreen mode on MS-Windows".  Make advice portable to other
+       platforms, and remove MS-Windows specific hacks.
+       Ref: https://lists.gnu.org/r/emacs-devel/2023-10/msg00733.html
+
+2023-11-04  Jens Schmidt  <jschmidt4gnu@vodafonemail.de>
+
+       Add tests for saving to write-protected files
+
+       * test/lisp/files-tests.el (files-tests--with-yes-or-no-p): Add macro.
+       (files-tests-save-buffer-read-only-file): Add test for writing to
+       write-protected files with `save-buffer'.  (Bug#66546)
+
+2023-11-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix bytecomp-tests--dest-mountpoint test failure
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--dest-mountpoint): Add lexical cookie.
+
+       Bug reported and fix suggested by Jens Schmidt
+       (https://lists.gnu.org/archive/html/emacs-devel/2023-10/msg00719.html)
+
+2023-11-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       196def4fa64 Fix description of 'Package-Requires' library header
+       c1778432790 ; * doc/misc/tramp.texi (FUSE setup): Fix typo.
+       a64336cbb9c * lisp/emacs-lisp/cl-lib.el (cl--defalias): Improve&fix d...
+       da8b85b577d Add two docstrings in cl-lib.el
+
+2023-11-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       d5e5ea4e36b Fix guessing commands for zstandard archives in Dired
+       90db29aff86 Fix eglot.texi (JSONRPC objects in Elisp) example
+       5ef48ad6a37 ; Fix one author's name.
+       c4e9a6159a3 * doc/man/emacsclient.1: Fix --tramp option.
+       6dca3a8eab2 Improve `nsm-protocol-check--3des-cipher` docstring
+
+2023-11-04  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Don't need text properties when sending a mail
+
+       * lisp/mail/smtpmail.el (smtpmail-send-data): Don't get text
+       properties when sending mail data.  (Bug#66880)
+
+2023-11-04  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix desktop-save on remote dired (bug#66697)
+
+       Do not gather "misc data" for dired buffer not meant to be
+       desktop saved.
+
+       lisp/dired.el (dired-desktop-save-p): New function to test if
+       `dired-directory' should be desktop saved.
+       (dired-desktop-buffer-misc-data): Use it.
+
+2023-11-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Remove unnecessary assertion added 2 days ago
+
+       * src/xdisp.c (get_glyph_face_and_encoding): Remove unnecessary
+       assertion.  It triggers, for no good reason, when running the
+       recipe of bug#66922 and typing C-p in the *Warnings* buffer after
+       the recipe finishes, because the glyph passed to this function is
+       a STRETCH_GLYPH, not a CHAR_GLYPH.
+
+2023-11-03  Stephen Gildea  <stepheng+emacs@gildea.com>
+
+       MH-E testing: find locally-installed GNU Mailutils libraries
+
+       * test/lisp/mh-e/test-all-mh-variants.sh: LD_LIBRARY_PATH is sometimes
+       necessary.  This reverts part of commit f1fcd321ff of 24 Nov 2021.
+
+2023-11-03  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--direct-supertype): Remove unused.
+
+2023-11-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Suggest alternative reason for ERT test duplication error
+
+       * lisp/emacs-lisp/ert.el (ert-set-test):
+       Amend error message; maybe the redefinition was caused by a file
+       loaded twice (bug#66782).
+
+       Suggested by Xiyue Deng.
+
+2023-11-03  Po Lu  <luangruo@yahoo.com>
+
+       Round underline position and thickness
+
+       * src/sfntfont.c (sfntfont_open): Round underline thickness
+       instead of truncating it, as is proper according to several
+       inquiries.
+
+2023-11-03  Po Lu  <luangruo@yahoo.com>
+
+       Avoid moving point while analyzing text conversion
+
+       * lisp/simple.el (analyze-text-conversion): If neither calling
+       p-s-i-h nor calling p-t-c-h yields a change to point, return it
+       to its location before analyze-text-conversion was called.
+
+       * src/keyboard.c (kbd_buffer_get_event): See that text
+       conversion events are uniformly delivered prior to keyboard
+       events arriving in unison.
+
+2023-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/oclosure.el (oclosure--lambda): Burp in dynbind mode
+
+       The "fixes" bug#66867.
+
+2023-11-03  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Remove 'M-.' binding from js-mode and js-ts-mode
+
+       * lisp/progmodes/js.el (js-mode-map, js-ts-mode-map): Remove.
+       The global binding must be a lot more useful for most users
+       (https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg01295.html).
+
+2023-11-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt doc for man.el
+
+       * etc/NEWS: Rephrase 'Man-support-remote-systems' entry.
+       Fix typos.
+
+       * lisp/man.el (Man-header-file-path, man): Adapt docstrings.
+
+2023-11-02  Po Lu  <luangruo@yahoo.com>
+
+       Properly compute overhangs for overstruck text
+
+       * src/xdisp.c (get_glyph_face_and_encoding): Account for
+       non-character glyphs by not attempting to translate them to
+       characters.
+       (gui_get_glyph_overhangs, gui_produce_glyphs): If the face is
+       overstruck, increase the right side bearing by 1 pixel.
+
+2023-11-02  F. Jason Park  <jp@neverwas.me>
+
+       Preserve point when inserting date stamps in ERC
+
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-disable): Move
+       remaining local teardown business to `erc-stamp--setup' and use
+       `erc-buffer-do' instead of `erc-with-all-buffers-of-server' to
+       emphasize that all ERC buffers are affected.
+       (erc-stamp--insert-date-stamp-as-phony-message): Move `erc--msg-props'
+       binding to `erc-stamp--lr-date-on-pre-modify'.
+       (erc-stamp--lr-date-on-pre-modify): Bind `erc--msg-props' here so that
+       the related guard condition in `erc-add-timestamp' is satisfied and
+       `erc-insert-timestamp-function' runs.  This fixes a regression new in
+       ERC 5.6 and introduced by c68dc778 "Manage some text props for ERC
+       insertion-hook members".  Also, `save-excursion' when narrowing to
+       prevent point from being dislodged after submitting input at the
+       prompt.
+       (erc-insert-timestamp-left-and-right): Don't initialize date stamps
+       when `erc-timestamp-format-left' is nil or consists only of newlines,
+       and enable fallback behavior in such cases on behalf of users without
+       informing them.  Allow global hook members to run first so that those
+       owned by `scrolltobottom' and similar can see the unadulterated input.
+       Fix wrong hook name.
+       (erc-stamp--setup): Fix wrong hook name.  Kill all local vars here
+       instead of sharing this duty with the minor-mode toggle.  (Bug#60936)
+
+2023-11-01  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (project-switch-project): Fix the previous change
+
+       * lisp/progmodes/project.el (project-switch-project):
+       Clear the buffer-local value in the right buffer (bug#66317).
+
+2023-11-01  Juri Linkov  <juri@linkov.net>
+
+       New commands previous-line-completion and next-line-completion 
(bug#59486)
+
+       * lisp/simple.el (completion-list-mode-map): Bind [up] to
+       'previous-line-completion', and [down] to 'next-line-completion'.
+       (completion-auto-wrap): Mention `next-line-completion' and
+       `previous-line-completion' in the docstring.
+       (previous-line-completion, next-line-completion): New commands.
+
+2023-11-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Run `man' also on remote systems
+
+       This implements bug#66758
+
+       * doc/emacs/programs.texi (Man Page):
+       Describe Man-support-remote-systems.
+
+       * etc/NEWS: Mention user option 'Man-support-remote-systems'.
+       Fix typos.
+
+       * lisp/dired.el (Man-support-remote-systems): Declare.
+       (dired-do-man): Use it.  Use also `file-local-name'.
+
+       * lisp/man.el (Man-support-remote-systems): New defcustom.
+       (Man-xref-normal-file): Handle remote files.
+       (Man-default-directory, Man-shell-file-name)
+       (Man-header-file-path): New defuns.
+       (Man-init-defvars): Use octal numbers.
+       (Man-support-local-filenames): Handle remote files.
+       (Man-completion-table): Use `Man-default-directory' and `process-file'.
+       (man): Adapt docstring.
+       (Man-start-calling): Use `Man-default-directory'.
+       (Man-getpage-in-background): Use `Man-default-directory',
+       `Man-shell-file-name', `start-file-process' and `process-file'.  Adapt
+       buffer name.
+       (Man-update-manpage): Use `Man-shell-file-name' and `process-file'.
+       (Man-view-header-file): Use `Man-header-file-path'.
+
+2023-11-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Non-recursive marking of buffer-local variables
+
+       * src/alloc.c (mark_localized_symbol): Inline into...
+       (process_mark_stack): ...this code and do don't use recursion.
+
+2023-11-01  Jeremy Bryant  <jb@jeremybryant.net>
+
+       Add two docstrings in cl-macs.el
+
+       * lisp/emacs-lisp/cl-macs.el (cl--simple-exprs-p)
+       (cl--const-expr-p): Add docstrings
+
+2023-11-01  Po Lu  <luangruo@yahoo.com>
+
+       Prevent errors when generating events above menu bar windows
+
+       * src/keyboard.c (make_lispy_position): Pass false to w_f_c,
+       for the subsequent code is not prepared to encounter menu bar
+       windows.
+
+2023-11-01  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Only override the current project buffer-locally
+
+       * lisp/progmodes/project.el (project-switch-project): Only
+       override the current project buffer-locally.  This is mostly for
+       the the mode-line indicator (https://debbugs.gnu.org/66317#53).
+
+2023-11-01  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Catch 'permission-denied' during project lookup
+
+       * lisp/progmodes/project.el (project--find-in-directory):
+       Catch 'permission-denied' (bug#66317).
+
+       Co-Authored-By: Spencer Baugh <sbaugh@catern.com>
+
+2023-11-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Respect `browse-url-default-scheme` on Android
+
+       * lisp/net/browse-url.el (browse-url-default-android-browser):
+       Respect 'browse-url-default-scheme'.
+
+2023-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/emacs-lisp/comp-cstr.el: Fix bootstrap
+
+       * lisp/emacs-lisp/comp-cstr.el: Remove redundant require of `cl-macs`
+       and add missing require of `cl-extra`.
+
+       * lisp/emacs-lisp/cl-generic.el: Improve warning message.
+       * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove redundant arg.
+
+2023-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/comp.el: Remove redundant requires
+
+2023-10-31  Po Lu  <luangruo@yahoo.com>
+
+       Don't round underline metrics
+
+       * src/sfntfont.c (sfntfont_open): Don't round underline position
+       or thickness, much as the other font drivers don't either.
+
+2023-10-31  Po Lu  <luangruo@yahoo.com>
+
+       Extract underline positions from PostScript metrics tables
+
+       * src/sfntfont.c (struct sfnt_font_desc): Introduce fields where
+       the font's underline position is recorded.
+       (sfnt_enum_font_1): Compute the underline position with
+       information in the post table whenever it exists.
+       (sfntfont_open): Scale the recorded position and save it into
+       the font object.
+
+2023-10-31  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/project.el (project-menu-entry): Add 
'bound-and-true-p'.
+
+       This is needed for compatibility with older versions (bug#66317).
+
+2023-10-31  Juri Linkov  <juri@linkov.net>
+
+       Fix project-mode-line-format breaking buffer-file-coding-system 
(bug#66825)
+
+       * lisp/progmodes/project.el (project-mode-line-format):
+       Let-bind 'last-coding-system-used' to prevent changing
+       'buffer-file-coding-system' in 'basic-save-buffer'.
+
+2023-10-30  Po Lu  <luangruo@yahoo.com>
+
+       Ascertain font spacing from post table if present
+
+       * src/sfnt.c (sfnt_table_names): Introduce name of post table.
+       (sfnt_read_post_table): New function.
+       (main): New tests.
+
+       * src/sfnt.h (struct sfnt_post_table): New struct.
+
+       * src/sfntfont.c (sfnt_enum_font_1): Read post table, and set
+       spacing from its is_fixed_pitch value.
+       (sfntfont_list_1): Compare spacing between both fonts if
+       supplied in the font spec.
+       (sfntfont_open): Set FONT_FILE_INDEX as well as
+       FONT_FULLNAME_INDEX.
+
+2023-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       comp-cstr.el: The type hierarchy is a DAG, not a tree
+
+       Adjust the type operations to account for the fact that types can have
+       several parents.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy):
+       Use `cl--class-allparents`.  Add FIXME.
+       (comp--direct-supertype): Declare obsolete.
+       (comp--direct-supertypes): New function.
+       (comp--normalize-typeset0): Rewrite to use `comp--direct-supertypes`;
+       adjust to account for the DAG structure; use `cl-set-difference`.
+       (comp--direct-subtypes): Rewrite.
+       (comp--intersection): New function.
+       (comp-supertypes): Rewrite and change return type.
+       (comp-subtype-p): Simplify.
+       (comp-union-typesets): Use `comp-supertypes` instead of iterating over
+       `comp-cstr-ctxt-typeof-types`.
+       * lisp/emacs-lisp/comp.el (comp--native-compile): Don't catch
+       errors if we're debugging.
+       * test/lisp/emacs-lisp/comp-cstr-tests.el: Adjust tests.
+
+       * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix mishap when we
+       evaluate (cl-defstruct cl-structure-object ..) during the compilation
+       of `cl-preloaded.el`.
+       * lisp/emacs-lisp/cl-preloaded.el: Add corresponding assertion.
+
+2023-10-30  Jim Porter  <jporterbugs@gmail.com>
+
+       Exclude Git submodules from 'project-files'
+
+       * lisp/progmodes/project.el (project--vc-list-files): Exclude Git
+       submodules (bug#66806).
+       (project-search, project-query-replace-regexp): Remove now-unneeded
+       workaround.
+
+2023-10-30  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Teach ffap to look for relative file names under project-root
+
+       Now file-name-at-point-functions, which runs
+       ffap-guess-file-name-at-point, will pick up on a file name at point if
+       that file name is a relative file name which exists when looked up
+       from the root of the project.
+
+       For example, in test/lisp/progmodes/eglot-tests.el there is the string
+       lisp/progmodes/eglot.el; if you put point on that and C-x C-f,
+       lisp/progmodes/eglot.el under the root of the Emacs repo will now be
+       part of future history.
+
+       * lisp/ffap.el (ffap-alist): Add entry for ffap-in-project.
+       (ffap-in-project): Add. (bug#66668)
+
+2023-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Use OClosure to drop `advice--buffer-local-function-sample` hack
+
+       * lisp/emacs-lisp/nadvice.el (advice--forward): New OClosure, to
+       replace `advice--buffer-local-function-sample`.
+       (advice--set-buffer-local, advice--buffer-local): Adjust accordingly.
+
+2023-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Require `cl-lib` rather than directly some of its subfiles
+
+       * test/src/filelock-tests.el:
+       * lisp/net/tramp-sh.el: Require `cl-lib` rather than `cl-seq` or 
`cl-macs`.
+
+2023-10-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Eliminate some nested repetitions in regexps
+
+       Nested repetitions such as (A*)* potentially take exponential time but
+       can usually be rewritten in a faster and more readable way without
+       much trouble.  These were all found by Relint.
+
+       * lisp/obsolete/terminal.el (te-parse-program-and-args):
+       * lisp/org/org.el (org-make-tags-matcher):
+       Apply the transform (A+B*)+ -> A(A|B)*
+
+       * lisp/textmodes/fill.el (adaptive-fill-regexp):
+       Apply the transform A*(B+A*)* -> (A|B)*
+
+       * lisp/progmodes/idlw-shell.el (idlwave-shell-filter):
+       Find the last newline or CR in a more direct way.
+
+       * lisp/progmodes/vhdl-mode.el (vhdl-port-copy, vhdl-subprog-copy):
+       Trim trailing whitespace from a string in a more direct way.
+       All-whitespace strings are left unchanged as before.
+
+2023-10-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix broken gdb-control-commands-regexp (bug#66363)
+
+       * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp):
+       Remove, integrate into...
+       (gdb-control-commands-regexp): ...this.  Translate into rx.
+       Remove useless submatches which broke earlier attempts at using other
+       submatches.  Rewrite tail expression to avoid superlinear nested
+       repetition, eliminating a Relint complaint.
+       * lisp/progmodes/gdb-mi.el (gdb-send): Simplify use of the regexp
+       above, and use the correct submatch this time.  Remove unnecessary and
+       incorrect second regexp matching.
+
+2023-10-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make nnrss suggest HTTPS instead of HTTP
+
+       * lisp/gnus/nnrss.el (nnrss-check-group): Suggest HTTPS instead of
+       HTTP when prompting for URL.
+
+2023-10-29  Spencer Baugh  <sbaugh@catern.com>
+
+       Add 'server-eval-args-left' to server.el
+
+       Passing arbitrary arguments to functions through
+       "emacsclient --eval" sometimes requires complicated escaping
+       to avoid them being parsed as Lisp (as seen in
+       emacsclient-mail.desktop before this change).
+
+       The new variable 'server-eval-args-left' allows access to the
+       arguments before they are parsed as Lisp.  By removing
+       arguments from the variable before they're parsed, a snippet
+       of Lisp can consume arguments, as in emacsclient-mail.desktop.
+
+       org-protocol might be able to use this as well, which might allow it
+       to drop its current advice on server-visit-files.
+
+       * etc/emacsclient-mail.desktop: Use 'server-eval-args-left'.
+       * lisp/server.el (server-eval-args-left): New variable.
+       (server-process-filter, server-execute): Make '-eval' arguments
+       available through 'server-eval-args-left'.
+       * lisp/startup.el (argv): Mention 'server-eval-args-left' in
+       docstring.
+       * etc/NEWS: Announce 'server-eval-args-left'.
+       * doc/emacs/misc.texi (emacsclient Options): Document
+       'server-eval-args-left'.  (Bug#65902)
+
+2023-10-29  Spencer Baugh  <sbaugh@catern.com>
+
+       Add 'case-symbols-as-words' to configure symbol case behavior
+
+       In some programming languages and styles, a symbol (or every
+       symbol in a sequence of symbols) might be capitalized, but the
+       individual words making up the symbol should never be capitalized.
+
+       For example, in OCaml, type names Look_like_this and variable names
+       look_like_this, but it is basically never correct for something to
+       Look_Like_This.  And one might have "aa_bb cc_dd ee_ff" or "Aa_bb
+       Cc_dd Ee_ff", but never "Aa_Bb Cc_Dd Ee_Ff".
+
+       To support this, the new variable 'case-symbols-as-words' causes
+       symbol constituents to be treated as part of words only for case
+       operations.
+
+       * src/casefiddle.c (case_ch_is_word): New function.
+       (case_character_impl, case_character): Use 'case_ch_is_word'.
+       (syms_of_casefiddle): Define 'case-symbols-as-words'.
+       * src/search.c (Freplace_match): Use 'case-symbols-as-words'
+       when calculating case pattern.
+       * test/src/casefiddle-tests.el (casefiddle-tests--check-syms)
+       (casefiddle-case-symbols-as-words): Test 'case-symbols-as-words'.
+       * etc/NEWS: Announce 'case-symbols-as-words'.
+       * doc/lispref/strings.texi (Case Conversion): Document
+       'case-symbols-as-words'.
+       (Bug#66614)
+
+2023-10-29  Spencer Baugh  <sbaugh@catern.com>
+
+       Remove the header line after disabling 'which-function-mode'
+
+       Previously, the header line would stay around even when after
+       disabling 'which-function-mode', although it may be empty.  Now
+       the 'which-function-mode' element is properly removed from
+       'header-line-format', so the header line will disappear if
+       there's nothing else in 'header-line-format'.
+
+       Also, previously, when we ran (which-function-mode), we would
+       enable
+       'which-function-mode' for all buffers even if they didn't support
+       imenu.  We didn't run the normal logic in 'which-func-ff-hook' to
+       disable 'which-func-mode' if imenu wasn't present.  Now we do run
+       that logic, by just calling 'which-func-ff-hook'.  This is
+       especially important when the header line is enabled, because
+       otherwise there's a very noticeable header line added to every
+       buffer, including e.g. *Help* and *Buffer List*.
+
+       Also, we now check that 'header-line-format' is a list before trying
+       to add to it; this makes us work properly when enabling and
+       disabling 'which-function-mode' for modes which set
+       'header-line-format' to a string or symbol, such as eww.
+
+       * lisp/progmodes/which-func.el (which-func-try-to-enable): Re-add
+       'which-func-format' to the header line.
+       (which-func--header-line-remove): New function.
+       (which-func--disable): Call 'which-func--header-line-remove'.
+       (which-function-mode): Call 'which-func-ff-hook' and
+       'which-func--header-line-remove'. (bug#66283)
+       * test/lisp/progmodes/which-func-tests.el: New test.
+
+2023-10-29  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Set non-text mouse cursor on menu bar
+
+       * src/xdisp.c (note_mouse_highlight): Set non-text mouse cursor on
+       menu bar.
+
+2023-10-29  Po Lu  <luangruo@yahoo.com>
+
+       Avert a crash and file descriptor leak in yank-media
+
+       * java/org/gnu/emacs/EmacsNative.java (close): New declaration.
+
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (getClipboardData): Catch SecurityException and guarantee file
+       descriptors are closed even if exceptions arise.
+
+       * src/android.c (dup): Export another function.
+
+2023-10-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer seq-filter in hanja-util.el
+
+       Benchmarking shows seq-filter to be ~30% faster on this machine.
+
+       * lisp/language/hanja-util.el (hanja-filter): Make into obsolete alias
+       for 'seq-filter'.  Update single caller.
+
+2023-10-29  Morgan Smith  <Morgan.J.Smith@outlook.com>
+
+       Speed up Eshell smart display module
+
+       em-smart was forcibly re-displaying the screen upwards of 500 times
+       per screen of output.  This caused the Eshell to feel quite slow when
+       the module was in use.  By using fewer hooks and never explicitly
+       calling 'redisplay' (which was unnecessary) the performance issues go
+       away (bug#57367).
+
+       lisp/eshell/em-smart.el:
+
+       (em-smart-unload-hook, eshell-smart-unload-hook): Remove
+       'eshell-smart-scroll' instead of the now deleted
+       'eshell-refresh-windows'.
+
+       (eshell-smart-displayed, eshell-currently-handling-window)
+       (eshell-refresh-windows): Delete.
+
+       (eshell-smart-scroll-window): Rename to 'eshell-smart-scroll-windows'
+       and add a bunch of logic originally from 'eshell-refresh-windows'.
+
+       (eshell-smart-initialize): Don't add a hook onto
+       'window-scroll-functions'.  Replace 'eshell-refresh-windows' with
+       'eshell-smart-scroll-windows'.
+
+       (eshell-smart-display-setup): Don't refresh windows.
+
+       (eshell-smart-redisplay): Rename to 'eshell-smart-scroll'.  Delete
+       'eobp' case.
+
+2023-10-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer seq-filter in rcirc.el
+
+       Benchmarking shows seq-filter to be ~30% faster on this machine.
+
+       * lisp/net/rcirc.el (rcirc-condition-filter): Make into an
+       obsolete alias for 'seq-filter'.  Update single caller.
+
+2023-10-28  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Add easy customization for dir-locals files (Bug#66702)
+
+       * lisp/cus-edit.el (custom--editable-field-p): New utility function.
+       (custom-dirlocals-widget, custom-dirlocals-file-widget)
+       (custom-dirlocals-commands, custom-dirlocals-tool-bar-map): New
+       variables.
+       (custom-dirlocals-map, custom-dirlocals-field-map): New keymaps.
+       (Custom-dirlocals-menu): New menu.
+       (custom-dirlocals-key, custom-dynamic-cons, custom-dirlocals): New
+       widgets.
+       (custom-dirlocals-maybe-update-cons, custom-dirlocals-symbol-action)
+       (custom-dirlocals-change-file, custom-dirlocals--set-widget-vars)
+       (custom-dirlocals-get-options, custom-dirlocals-validate): New
+       functions.
+       (custom-dirlocals-with-buffer): New macro.
+       (Custom-dirlocals-revert-buffer, Custom-dirlocals-save)
+       (customize-dirlocals): New commands.
+
+       * doc/emacs/custom.texi (Directory Variables): Document
+       customize-dirlocals.
+
+       * etc/NEWS: Announce.
+
+2023-10-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       aa253c533d2 ; Fix broken links to gmane.org
+       cc3e436c822 Change news.gmane.org to news.gmane.io
+       297fe945c57 Fix minor defcustom issues in Gnus (Bug#66715)
+       3beb5f5e240 ; * doc/misc/gnus.texi: Fix unmatched quote in gnus doc. ...
+       85d08d5788e Minor connection-local variables fixes
+       79d8328ca4a Make Dired honor `insert-directory-program´ with globs
+       43127294e13 Fix typo in url-privacy-level :type
+       380f8574ef5 * lisp/vc/log-view.el (log-view-mode-menu): Quote derived...
+
+2023-10-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       5f60913208f Fix State button for customize-icon (Bug#66635)
+       27c71979ff1 ; Another Texinfo fix
+       889a550ca08 ; Fix Texinfo warnings
+       893c344b4e4 Fix the use of adaptive-fill-regexp in treesit indent preset
+       1098c114b74 Fix treesit-install-language-grammar (bug#66673)
+       491ee428c08 Fix treesit-explore-mode (bug#66431)
+       ee043a2703d tsx-ts-mode--font-lock-compatibility-bb1f97b: Re-fix the ...
+
+2023-10-28  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/dnd.el (dnd-protocol-alist): Update :version.
+
+2023-10-28  Po Lu  <luangruo@yahoo.com>
+
+       Render default DND file name handlers more precise
+
+       * lisp/dnd.el (dnd-protocol-alist): Redefine file name handlers
+       to match solely the local or remote URIs they understand.
+       (dnd-handle-multiple-urls): Prevent calling the same handler
+       multiple times for a single URI.
+
+       * lisp/gnus/mml.el (mml-dnd-protocol-alist): Apply an anologous
+       adjustment here.  Delete now redundant redefinition of
+       dnd-open-file.
+       (mml-dnd-attach-file): Inquire whether to apply the default
+       disposition and such only once even if more than one file is
+       dropped.
+
+       * test/lisp/dnd-tests.el (dnd-tests-receive-multiple-urls)
+       (dnd-tests-default-file-name-handlers): New tests.
+
+2023-10-28  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Support for menu bar in window_from_coordinates
+
+       * src/window.h:
+       * src/window.c (window_from_coordinates): In the no toolkit
+       build, add support for the menu bar window.  Add a new
+       'menu_bar_p' argument so the function's signature has changed.
+       All callers changed.
+
+       * src/androidterm.c (handle_one_android_event):
+       * src/haikuterm.c (haiku_read_socket):
+       * src/keyboard.c (make_lispy_position):
+       * src/nsterm.m ([EmacsView mouseDown:]):
+       * src/pgtkterm.c (button_event):
+       * src/w32term.c (w32_read_socket):
+       * src/xdisp.c (note_mouse_highlight):
+       * src/xterm.c (handle_one_xevent): Set menu_bar_p to true.
+
+2023-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (auth-source-backend): Don't pass obsolete "name" arg
+
+       * lisp/auth-source.el (auth-source-backends-parser-file)
+       (auth-source-backends-parser-macos-keychain)
+       (auth-source-backends-parser-secrets): Remove unused "name" argument
+       to `auth-source-backend` constructor.
+
+2023-10-28  Po Lu  <luangruo@yahoo.com>
+
+       Minor adjustments to Android drag and drop and content URIs
+
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
+       <dndXPosition, dndYPosition>: New fields initialized to -1.
+       (onDragEvent): Remember the position of the previous event to
+       avoid sending duplicates.
+
+       * src/androidvfs.c (EMACS_PATH_MAX): New define.
+       (android_saf_tree_rename, android_saf_tree_opendir)
+       (android_name_file, android_fstatat, android_faccessat)
+       (android_fchmodat, android_readlinkat): Use EMACS_PATH_MAX where
+       SAF file names might be encountered.
+
+2023-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (c-initialize-cc-mode): Be slightly more explicit
+
+       * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Don't depend on
+       the fact that `post-text-conversion-hook` is "local only".
+
+2023-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (provided-mode-derived-p): Fix alias case
+
+       The new handling of aliases in `provided-mode-derived-p`
+       introduced in Emacs-28.1 caused a regression where
+       (provided-mode-derived-p MODE MODE) returns nil if MODE is an alias.
+       Rework the loop so we consider an alias as a kind of parent.
+
+       * lisp/subr.el (provided-mode-derived-p): Step over aliases separately.
+
+       * test/lisp/subr-tests.el (subr-tests--derived-mode-1)
+       (subr-tests--derived-mode-2): Move out of `provided-mode-derived-p`
+       and give them properly namespaced names.
+       (provided-mode-derived-p): Add more tests for aliases.
+
+2023-10-27  F. Jason Park  <jp@neverwas.me>
+
+       Tidy up ERC's internal text-property API
+
+       * lisp/erc/erc-fill.el (erc-fill--spaced-commands): Remove unused
+       internal variable originally intended for ERC 5.6.
+       (erc-fill): Check for `erc-msg' being `msg', which carries the same
+       meaning as `erc-cmd' being `PRIVMSG' or `NOTICE', except that inserted
+       outgoing messages now no longer normally have an `erc-cmd' property.
+       (erc-fill-wrap-mode, erc-fill-wrap-disable): Kill
+       `erc-fill--wrap-last-msg'.
+       (erc-fill--wrap-max-lull): Convert from buffer-local to normal
+       variable.
+       (erc-fill--wrap-continued-message-p): Rework slightly to guard against
+       resetting the "last speaker" marker when the `erc-ephemeral' text
+       property is present.  This tells insert- and send-related hook members
+       to pretend the current message doesn't exist when performing stateful
+       operations.  That is, modules should expect the message being inserted
+       to possibly disappear or be replaced.  Also, look for `erc-msg' being
+       `msg' instead of `erc-cmd' being `PRIVMSG', and fix bug involving only
+       checking `erc-ctcp' in the current message.
+       * lisp/erc/erc-stamp.el (erc-add-timestamp): Don't insert timestamps
+       when the `erc-ephemeral' text property is present.
+       * lisp/erc/erc.el (erc--msg-props): Add doc string explaining the
+       purpose of this variable and the various text properties most commonly
+       present in its value.
+       (erc--msg-prop-overrides): Add doc string.
+       (erc-send-action): Don't set `erc-cmd' prop on outgoing CTCP ACTIONs.
+       (erc-display-message): Reverse overrides to prefer items toward the
+       front of the alist.
+       (erc-process-ctcp-query): Include existing overrides from environs.
+       (erc-send-current-line): Include existing overrides from environs.
+       (erc-display-msg): Fix doc string and reverse overrides.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--insert-privmsg):
+       Remove stray comment.
+       (erc-fill-tests--save-p): Set value from environment variable.
+       (erc-fill-tests--compare): Limit writing snapshots to one test at a
+       time.
+       (erc-fill-wrap--merge-action): Fix expected output for non-action
+       messages that follow action messages.  These were previously merged
+       but escaped detection.
+       * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
+       (Bug#60936)
+
+2023-10-27  F. Jason Park  <jp@neverwas.me>
+
+       Use marker for max pos in erc--traverse-inserted
+
+       * lisp/erc/erc-stamp.el (erc-stamp--propertize-left-date-stamp): Run
+       `erc-stamp--insert-date-hook' separately here instead of via
+       `erc-insert-modify-hook'.
+       (erc-stamp--insert-date-stamp-as-phony-message): Don't include value
+       of `erc-stamp--insert-date-hook' in let-bound `erc-insert-modify-hook'
+       because its members can run twice if buffer-local.  Remove
+       `erc-send-modify-hook' because it only runs via `erc-display-msg'.
+       Shadow "pre" and "done" hooks because they don't expect to run in a
+       narrowed buffer.  Call getter for `erc-stamp--current-time'.
+       (erc-stamp--lr-date-on-pre-modify,
+       erc-insert-timestamp-left-and-right): Use function form of
+       `erc-stamp--current-time' for determining current time stamp.
+       * lisp/erc/erc.el (erc--get-inserted-msg-bounds): Fix off-by-one like
+       thinko.
+       (erc--traverse-inserted): Create temporary marker when END is a buffer
+       position so that insertions and deletions are accounted for in
+       the terminating condition.
+       (erc--delete-inserted-message): New function.
+       * test/lisp/erc/erc-tests.el (erc--delete-inserted-message): New test.
+       (erc--update-modules/unknown): Improve readability slightly.
+       * test/lisp/erc/resources/erc-d/erc-d-t.el (erc-d-t-make-expecter):
+       Indicate assertion flavor in error message.  (Bug#60936)
+
+2023-10-27  F. Jason Park  <jp@neverwas.me>
+
+       Ignore date stamps completely in erc-track
+
+       * etc/ERC-NEWS: Mention that date stamps no longer optionally affect
+       the mode line.  Also mention but discourage new variable
+       'erc-stamp-prepend-date-stamps-p'.
+       * lisp/erc/erc-stamp.el (erc-stamp-prepend-date-stamps-p): New
+       variable, an escape hatch to allow date stamps to once again be
+       prepended to messages.
+       (erc-insert-timestamp-left-and-right): Don't insert stamps as
+       independent messages when legacy support flag
+       `erc-stamp-prepend-date-stamps-p' is non-nil.
+       * lisp/erc/erc-track.el (erc-track--skipped-msgs): New internal
+       variable.
+       (erc-track-modified-channels): In previous versions, a date stamp
+       attached to a message for an IRC command in `erc-track-exclude-types'
+       would have no effect on the mode line.  That they were able to
+       otherwise was probably a bug.  Regardless, this distinction was lost
+       for the worse after date stamps became independent messages with
+       c68dc7786fc "Manage some text props for ERC insertion-hook members".
+       To sidestep this regression, the `track' module will ignore date
+       stamps completely from now on.  Thanks to Corwin Brust for spotting
+       this.
+       * test/lisp/erc/erc-scenarios-stamp.el
+       (erc-scenarios-stamp--left/display-margin-mode): Remove redundant
+       binding.
+       (erc-scenarios-stamp--legacy-date-stamps): New test.  (Bug#60936)
+
+2023-10-27  F. Jason Park  <jp@neverwas.me>
+
+       Be slightly more aggressive with erc-scrolltobottom-all
+
+       * lisp/erc/erc-goodies.el (erc--scrolltobottom-on-post-command):
+       Redo obsolete doc string.
+       (erc--scrolltobottom-at-prompt-minibuffer-active,
+       erc--scrolltobottom-on-win-conf-change): Rename former to latter to
+       better reflect actual role.  Remove conditional guard so it always
+       runs.
+       (erc--scrolltobottom-setup): Set `scroll-step' locally when a user
+       hasn't customized `scroll-conservatively'.  Update
+       `window-configuration-change-hook' member name.  (Bug#64855)
+
+2023-10-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix compilation error in profiler.c
+
+       * src/profiler.c (memory): Declare outside of the
+       PROFILER_CPU_SUPPORT conditional.  (Bug#66774)
+
+2023-10-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       5f60913208f Fix State button for customize-icon (Bug#66635)
+       27c71979ff1 ; Another Texinfo fix
+       889a550ca08 ; Fix Texinfo warnings
+       893c344b4e4 Fix the use of adaptive-fill-regexp in treesit indent preset
+       1098c114b74 Fix treesit-install-language-grammar (bug#66673)
+       491ee428c08 Fix treesit-explore-mode (bug#66431)
+       ee043a2703d tsx-ts-mode--font-lock-compatibility-bb1f97b: Re-fix the ...
+
+2023-10-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp.el (tramp-read-id-output): Identifiers can contain "-".
+
+2023-10-27  Ihor Radchenko  <yantar92@posteo.net>
+
+       * src/pdumper.c (dump_buffer): Print message when aborting (bug#66743)
+
+       When the buffer contains overlays, it cannot be dumped.  Print a
+       clear message describing the reason, instead of just aborting.
+
+2023-10-27  Po Lu  <luangruo@yahoo.com>
+
+       Substitute eassert for assert throughout Android code
+
+       * src/android.c (android_init_emacs_service)
+       (android_init_emacs_pixmap, android_init_graphics_point)
+       (android_init_emacs_drawable, android_init_emacs_window)
+       (android_init_emacs_cursor, android_destroy_handle)
+       (android_create_window, android_init_android_rect_class)
+       (android_init_emacs_gc_class, android_begin_query):
+
+       * src/androidselect.c (android_init_emacs_clipboard)
+       (android_init_emacs_desktop_notification):
+
+       * src/androidterm.c (getExtractedText)
+       (android_get_surrounding_text_internal):
+
+       * src/androidvfs.c (android_vfs_init): Replace assert with
+       eassert.
+
+2023-10-27  Po Lu  <luangruo@yahoo.com>
+
+       Mention additional return values for framep et al
+
+       * doc/lispref/frames.texi (Frames, Multiple Terminals): Don't
+       omit mentions of Android or Haiku.
+
+2023-10-27  Po Lu  <luangruo@yahoo.com>
+
+       Correct order of arguments to dnd-handle-multiple-urls
+
+       * lisp/term/android-win.el (android-handle-dnd-event): Pass
+       new-uri-list before action.
+
+2023-10-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix `browse-url-default-scheme` custom :type
+
+       * lisp/net/browse-url.el (browse-url-default-scheme): Fix custom
+       :type.
+
+2023-10-26  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove highlighting trailing whitespace from cperl-mode
+
+       * lisp/progmodes/cperl-mode.el (cperl-invalid-face): Make
+       obsolete in favor of 'show-trailing-whitespace'.
+       (cperl-init-faces): No longer highlight trailing whitespace
+       separately.
+       (cperl-praise, cperl-tips-faces): Update documentation for above
+       change.
+
+2023-10-26  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove link to Perl info documentation
+
+       * lisp/info-look.el: Remove link to Perl info documentation.  It is no
+       longer distributed with Perl, nor is it available from CPAN.
+
+2023-10-26  Michael Albinus  <michael.albinus@gmx.de>
+
+       * doc/misc/tramp.texi (Traces and Profiles): Fix indentation.
+
+2023-10-26  João Távora  <joaotavora@gmail.com>
+
+       Flymake: protect against problematic invalid diagnostics
+
+       If a backend reports a diagnostic which is out of bounds, it still
+       lives in flymake--state and will still be cleaned up in the next run
+       of flymake--publish-diagnostics.  But if flymake--highlight-line
+       doesn't give it an overlay (which it didn't until now), things will
+       break afterwards.
+
+       See bug#66759 and https://github.com/joaotavora/eglot/discussions/1311
+
+       * lisp/progmodes/flymake.el (flymake--highlight-line): Set
+       flymake--diag-overlay earlier.
+       (Version): Bump to 1.3.7.
+
+2023-10-26  Po Lu  <luangruo@yahoo.com>
+
+       Properly respond to drops observing the Motif protocol
+
+       * lisp/pgtk-dnd.el (pgtk-dnd-handle-file-name):
+
+       * lisp/x-dnd.el (x-dnd-handle-file-name): Correct order of
+       arguments to d-h-m-u.
+
+2023-10-26  Po Lu  <luangruo@yahoo.com>
+
+       Correct typos in the manuals
+
+       * doc/misc/tramp.texi (Traces and Profiles): Don't mimic
+       @enumerate with @indentedblock, which is absent from Texinfo
+       4.13.
+
+       * doc/misc/use-package.texi (Global keybindings): Remove stray
+       comma after @xref.
+
+2023-10-26  Po Lu  <luangruo@yahoo.com>
+
+       Enable DND handlers to receive more than one URI at a time
+
+       * doc/lispref/frames.texi (Drag and Drop): Illustrate the effect
+       of the dnd-multiple-handler property and how convergent handlers
+       are reconciled.
+
+       * etc/NEWS (Lisp Changes in Emacs 30.1): Announce this change.
+
+       * lisp/dnd.el (dnd-protocol-alist): Bring doc string up to date.
+       (dnd-handle-one-url): Obsolete this function.
+       (dnd-handle-multiple-urls): New function.
+
+       * lisp/pgtk-dnd.el (pgtk-dnd-handle-uri-list)
+       (pgtk-dnd-handle-file-name):
+
+       * lisp/term/android-win.el (android-handle-dnd-event):
+
+       * lisp/term/haiku-win.el (haiku-drag-and-drop):
+
+       * lisp/term/ns-win.el (ns-drag-n-drop):
+
+       * lisp/term/w32-win.el (w32-handle-dropped-file):
+
+       * lisp/x-dnd.el (x-dnd-handle-uri-list, x-dnd-handle-file-name):
+       Reimplement in terms of `dnd-handle-multiple-uris'.
+
+       * lisp/term/pgtk-win.el (pgtk-drag-n-drop)
+       (pgtk-drag-n-drop-other-frame, pgtk-drag-n-drop-as-text): Efface
+       detritus that remained after the removal of the old PGTK drag
+       and drop implementation.
+
+       * test/lisp/dnd-tests.el (ert-x, dnd-tests-list-1)
+       (dnd-tests-list-2, dnd-tests-list-3, dnd-tests-list-4)
+       (dnd-tests-local-file-function, dnd-tests-remote-file-function)
+       (dnd-tests-http-scheme-function, dnd-tests-browse-url-handler)
+       (dnd-tests-receive-multiple-urls): New tests.
+
+2023-10-26  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Make commands and options for Perl info pages obsolete.
+
+       The Perl documentation in info format is no longer distributed with 
Perl,
+       nor is it available from CPAN.   Point to cperl-perldoc instead.
+
+       * lisp/progmodes/cperl-mode.el (cperl-info-page): Make obsolete.
+       (cperl-tips): Remove outdated instructions to get Perl info
+       sources from the docstring.
+       (cperl-praise): Remove advertising the info interface in the
+       docstring.
+       (cperl-mode-map): Replace bindings to `cperl-info-on-command' and
+       `cperl-info-on-current-command' by `cperl-perldoc'.
+       (cperl-menu): Remove menu entries pointing to the Perl info page.
+       (cperl-mode): Remove explanation of the Perl info commands from
+       the docstring.
+       (cperl-info-on-command, cperl-info-on-current-command),
+       (cperl-imenu-info-imenu-search, cperl-imenu-on-info): Declare the
+       commands obsolete.
+
+       * etc/NEWS: Describe the obsoletion of Perl info commands.
+
+2023-10-26  Po Lu  <luangruo@yahoo.com>
+
+       Revise selection documentation
+
+       * doc/lispref/frames.texi (Window System Selections):
+       (X Selections):
+
+       * lisp/select.el (selection-coding-system): Correct
+       misunderstandings about the nature of selection-coding-system
+       under X.
+
+2023-10-26  Po Lu  <luangruo@yahoo.com>
+
+       Mollify byte compiler in builds without SQLite
+
+       * lisp/sqlite-mode.el (sqlite-open): New declare-function.
+
+2023-10-26  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Simplify sigil font-lock match for elixir-ts-mode
+
+       There is no need to match on specific sigils, except for regex.
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--font-lock-settings): Update sigil match (bug#64275).
+
+2023-10-26  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Tweak the DOI URL and the description
+
+       * lisp/emacs-lisp/smie.el: Use a friendlier (HTTPS) DOI URL.  And
+       fix the year in the description.
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Support HTTPS links in newsticker extra elements
+
+       * lisp/net/newst-reader.el (newsticker--do-print-extra-element):
+       Support HTTPS links.
+
+2023-10-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       * doc/misc/tramp.texi (Traces and Profiles): Fix indentation.
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Support HTTPS in ido-file-internal
+
+       * lisp/ido.el (ido-file-internal): Support HTTPS.
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Support HTTPS URLs in newsticker-add-url
+
+       * lisp/net/newst-backend.el (newsticker-add-url): Support HTTPS.
+
+2023-10-25  john muhl  <jm@pub.pink>
+
+       Improve imenu support in lua-ts-mode
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Include require
+       statements and remove anonymous entries.
+       (lua-ts--named-function-p, lua-ts--require-name-function)
+       (lua-ts--require-p): New functions.
+       * lisp/speedbar.el (speedbar-supported-extension-expressions):
+       Add Lua to the list of supported file types.  (Bug#66465)
+
+2023-10-25  Spencer Baugh  <sbaugh@catern.com>
+
+       Add toggle-window-dedicated command and mode-line-window-dedicated
+
+       It's sometimes useful to interactively make certain windows dedicated.
+       This allows a level of interactive control over which window
+       display-buffer uses.
+
+       Additionally, when a window is dedicated (even without this new
+       command) it can affect display-buffer behavior in ways which may be
+       unexpected for users.  Let's display the window dedicated status in
+       the mode-line to help indicate what's going on.
+
+       * doc/emacs/windows.texi (Displaying Buffers): Add information about
+       dedicated windows and toggle-window-dedicated.
+       * doc/emacs/screen.texi (Mode Line): Add information about the window
+       dedicated indicator.
+       * etc/NEWS: Announce mode-line-window-dedicated and
+       toggle-window-dedicated.
+       * lisp/window.el (toggle-window-dedicated): Add.  (bug#64619)
+       (window-prefix-map): Add C-x w d binding.
+       * lisp/bindings.el (mode-line-window-control): Add.
+       (mode-line-window-dedicated): Add.
+       (standard-mode-line-format): Insert mode-line-window-dedicated.
+
+2023-10-25  dalanicolai  <dalanicolai@gmail.com>
+
+       Fix 'locate-dominating-file' when FILE is not a directory.
+
+       * lisp/files.el (locate-dominating-file): Handle FILE that is not
+       a directory.  (Bug#66542)
+
+2023-10-25  Jens Schmidt  <jschmidt4gnu@vodafonemail.de>
+
+       Better handle errors when writing r-o files without backup
+
+       * lisp/files.el (basic-save-buffer-2): Restore file permissions when
+       writing read-only files without backup fails.  (Bug#66546)
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add HTTPS to mh-access-types
+
+       * lisp/mh-e/mh-mime.el (mh-access-types): Add HTTPS.
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Respect browse-url-default-scheme on Haiku
+
+       * lisp/net/browse-url.el (browse-url-default-haiku-browser): Respect
+       'browse-url-default-scheme', which currently defaults to "http".
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer HTTPS in `M-x webjump´
+
+       * lisp/net/webjump.el (webjump-url-fix): Prefer HTTPS to HTTP.
+       (webjump-sites): Document the above change.
+       (webjump-sample-sites): Change some links to HTTP only.
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Silence makeinfo 7.1 warnings in Tramp manual
+
+       * doc/misc/tramp.texi: Fix makinfo warning "@indent is useless inside
+       of a paragraph".
+
+2023-10-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Reduce code duplication in webjump
+
+       * lisp/net/webjump.el (webjump): Simplify.
+
+2023-10-25  Mattias Engdegård  <mattiase@acm.org>
+
+       LLDB support: cope with inserted text being write-protected
+
+       * lisp/progmodes/gud.el (gud-lldb-marker-filter):
+       Force deletion of the part of the buffer being moved back into
+       filtering again (bug#66738).
+
+2023-10-25  Po Lu  <luangruo@yahoo.com>
+
+       Documentation copy-edits
+
+       * doc/emacs/input.texi (Touchscreens):
+
+       * doc/lispref/frames.texi (Other Selections): Insubstantial
+       copy-edits and improvements to word choice.
+
+2023-10-25  Po Lu  <luangruo@yahoo.com>
+
+       Correct computation of intermediate axis coordinates
+
+       * src/sfnt.c (sfnt_compute_tuple_scale, sfnt_vary_simple_glyph)
+       (sfnt_vary_compound_glyph): Correct typos involving
+       intermediate_end (or something of the like) being set to
+       intermediate_start.
+
+2023-10-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer HTTPS to HTTP in ffap
+
+       * lisp/ffap.el (ffap-fixup-machine): Prefer HTTPS to HTTP for things
+       looking like URIs (for example www.example.org).
+
+2023-10-24  Jim Porter  <jporterbugs@gmail.com>
+
+       Add a new Eshell special reference type for markers
+
+       * lisp/eshell/esh-arg.el (eshell-get-marker, eshell-insert-marker)
+       (eshell-complete-marker-ref): New functions...
+       (eshell-special-ref-alist): ... Add them to the new "marker" entry.
+
+       * test/lisp/eshell/esh-arg-tests.el
+       (esh-arg-test/special-reference/marker)
+       (esh-arg-test/special-reference/nested)
+       (esh-arg-test/special-reference/lisp-form):
+       * test/lisp/eshell/em-cmpl-tests.el
+       (em-cmpl-test/special-ref-completion/type)
+       (em-cmpl-test/special-ref-completion/marker): New tests.
+
+       * doc/misc/eshell.texi (Arguments): Document the new special ref type.
+
+       * etc/NEWS: Announce this change (bug#66458).
+
+2023-10-24  Jim Porter  <jporterbugs@gmail.com>
+
+       Add 'eshell-special-ref-alist' to allow extending Eshell special refs
+
+       * lisp/eshell/esh-cmd.el (eshell--region-p, eshell-with-temp-command):
+       Move to...
+       * lisp/eshell/esh-util.el (eshell--region-p)
+       (eshell-with-temp-command): ... here.
+
+       * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Fix edge
+       case when 'end' is at beginning of (possibly-narrowed) buffer.
+
+       * lisp/eshell/esh-arg.el (eshell-special-ref-alist) New variable...
+       (eshell-special-ref-default): ... New option...
+       (eshell--special-ref-function): ... New function...
+       (eshell-parse-special-reference): ... use them.
+       (eshell-insert-special-reference): New function.
+       (eshell-complete-special-reference): Reimplement to use a nested call
+       to Pcomplete.
+       (eshell-complete-buffer-ref): New function.
+
+       * lisp/eshell/esh-proc.el (eshell-proc-initialize): Add "process"
+       special ref type here.
+       (eshell-complete-process-ref): New function.
+
+       * doc/misc/eshell.texi (Bugs and ideas): Remove now-implemented idea.
+
+2023-10-24  Jim Porter  <jporterbugs@gmail.com>
+
+       Support arbitrary Eshell arguments inside special references
+
+       * lisp/eshell/esh-arg.el (eshell-current-argument-plain): New variable.
+       (eshell-parse-special-reference): Use 'eshell-parse-arguments'.
+       (eshell-get-buffer): New function.
+       (eshell-insert-buffer-name): Properly quote the buffer name.
+
+       * lisp/eshell/esh-proc.el (eshell-read-process-name): Move to "Special
+       references" section.
+       (eshell-insert-process): Properly quote the process name.
+
+       * lisp/eshell/em-extpipe.el (eshell-parse-external-pipeline):
+       * lisp/eshell/esh-io.el (eshell-parse-redirection): Don't do anything
+       when 'eshell-argument-plain' is non-nil.
+
+       * test/lisp/eshell/esh-arg-tests.el
+       (esh-arg-test/special-reference/quoted)
+       (esh-arg-test/special-reference/var-expansion): New tests.
+       (esh-arg-test/special-reference/special): Rename to...
+       (esh-arg-test/special-reference/special-characters): ... this.
+
+       * test/lisp/eshell/em-extpipe-tests.el (em-extpipe-tests--deftest):
+       Properly quote the buffer name.
+       (em-extpipe-test-4, em-extpipe-test-7): Use 'eshell-get-buffer'.
+
+2023-10-24  Andrea Corallo  <acorallo@gnu.org>
+
+       Make eln files re-dumpable (bug#45103)
+
+       * lisp/loadup.el (load--bin-dest-dir, load--eln-dest-dir): New
+       variable.
+       (load--fixup-all-elns): New function.
+       * src/pdumper.c (Fdump_emacs_portable): Update to call
+       'load--fixup-all-elns'.
+       * src/print.c (print_vectorlike): Improve CU printing.
+
+2023-10-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make NSM warn if DH key exchange has less than 2048 bit primes
+
+       The previous default was to warn when servers supported only 1024 bit
+       primes in Diffie-Hellman key exchanges.  This highly conservative
+       number was based on the observation that, in November 2018, no less
+       than 12.7% of servers still only supported 1024 bit primes (less than
+       0.1% supported only 768 and 512 bits).
+
+       Five years later, in October 2023, only 3.7 % of servers remain with
+       only 1024 bit support.  SSL Labs summarizes: "At this time, 2048 bits
+       is the minimum expected strength."  Therefore, it is reasonable to
+       start warning users about this in Emacs 30.1, at which time even fewer
+       servers with such poor capabilities will remain.
+
+       Note that key exchanges based on 1024 bit prime number were considered
+       broken for security purposes already in 2015 (see Logjam below).
+
+       For more information:
+       https://www.ssllabs.com/ssl-pulse/
+       https://en.wikipedia.org/wiki/Logjam_(computer_security)
+
+       * lisp/net/nsm.el (nsm-protocol-check--dhe-prime-kx): Bump expected
+       minimum number of prime bits to 2048.
+
+2023-10-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Warn about 3DES when network-security-level is medium
+
+       * lisp/net/nsm.el (network-security-protocol-checks): Bump
+       deprecated and insecure '3des-cipher' to 'medium'.
+       * doc/emacs/misc.texi (Network Security): Document the above change.
+       Ref: https://nvd.nist.gov/vuln/detail/CVE-2016-2183
+
+2023-10-24  Po Lu  <luangruo@yahoo.com>
+
+       Introduce an option which controls touch screen hscroll
+
+       * doc/emacs/input.texi (Touchscreens): Document this new
+       function and revise this node for clarity and pithiness.
+
+       * lisp/touch-screen.el (touch-screen): New custom group.
+       (touch-screen-display-keyboard, touch-screen-delay)
+       (touch-screen-precision-scroll, touch-screen-word-select)
+       (touch-screen-extend-selection, touch-screen-preview-select):
+       Move such options to that group.
+       (touch-screen-enable-hscroll): New user option.
+       (touch-screen-handle-scroll): If it is disabled, maintain the
+       hscroll accumulators but refrain from scrolling the window.
+
+2023-10-24  Ulrich Müller  <ulm@gentoo.org>
+
+       * Makefile.in (sanity-check): Add the -Q option.  (Bug#66721)
+
+2023-10-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Better LLDB frame information (bug#66604)
+
+       Instead of modifying `frame-format` to be entirely machine-readable,
+       keep the original human-readable format and append a second,
+       machine-readable line that we remove after parsing.
+
+       * lisp/progmodes/gud.el
+       (gud-lldb-marker-filter): Parse the new line format and filter it out.
+       * lisp/progmodes/gud.el
+       (gud-lldb-def-python-completion-function): Rename to...
+       (gud--lldb-python-init-string): ...this and add modification
+       of `frame-format`, which seems easiest done from Python.
+       (gud-lldb-frame-format): Remove.
+       (gud-lldb-initialize): Update, remove no longer needed parts.
+
+2023-10-24  Po Lu  <luangruo@yahoo.com>
+
+       Correct documentation of selection-coding-system
+
+       * doc/lispref/frames.texi (Window System Selections): Don't
+       assert that selection-coding-system functions everywhere or that
+       its default value is always utf-16le-dos.
+       (Drag and Drop): Fix a typo.
+
+2023-10-24  Po Lu  <luangruo@yahoo.com>
+
+       * doc/lispref/frames.texi (Drag and Drop): Fix typo.
+
+2023-10-24  Po Lu  <luangruo@yahoo.com>
+
+       Rewrite all sections of the drag-and-drop documentation
+
+       * doc/lispref/frames.texi (Other Selections): Correct
+       punctuation in one paragraph.
+       (Drag and Drop): Rewrite last two sections for clarity.
+
+2023-10-24  Po Lu  <luangruo@yahoo.com>
+
+       Rewrite first two sections of the drag-and-drop documentation
+
+       * doc/lispref/frames.texi (Accessing Selections): Refine
+       wording.
+       (Drag and Drop): Rewrite for clarity and enter into detail upon
+       various function arguments.
+
+2023-10-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer HTTPS to HTTP in thing-at-point
+
+       * lisp/thingatpt.el (thing-at-point-url-at-point): Prefer HTTPS to
+       HTTP.
+
+2023-10-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove gmane.org support from nnweb
+
+       * lisp/gnus/nnweb.el (nnweb-type, nnweb-type-definition): Remove gmane.
+       (nnweb-gmane-create-mapping, nnweb-gmane-wash-article)
+       (nnweb-gmane-search, nnweb-gmane-identity): Make obsolete.
+       (nnweb-definition, nnweb-init): Raise user-error when 'nnweb-type' is
+       'gmane'.
+       * doc/misc/gnus.texi (Registry Article Refer Method): Update
+       example to not use gmane.org.
+       Ref: https://gmane.io/
+
+2023-10-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer HTTPS to HTTP for Google Groups
+
+       * lisp/gnus/nnweb.el (nnweb-type-definition): Prefer HTTPS to HTTP
+       when accessing Google Groups.
+
+2023-10-23  Dmitry Gutov  <dmitry@gutov.dev>
+
+       xref-backend-references: Avoid finding duplicates
+
+       * lisp/progmodes/xref.el (xref-backend-references):
+       Cull subdirectories of other elements (bug#66683).
+
+2023-10-23  Mattias Engdegård  <mattiase@acm.org>
+
+       More robust control sequence handling in LLDB output (bug#66604)
+
+       * lisp/progmodes/gud.el (gud-lldb-marker-filter):
+       Slightly more elaborate interpretation of CHA and ED sequences
+       in LLDB output, allowing edits to previously emitted characters
+       on the same line.
+
+2023-10-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Modernise text about using dynamic variables
+
+       * doc/lispref/variables.texi (Dynamic Binding Tips):
+       Give more useful advice.
+
+2023-10-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Elaborate Elisp dialect selection in manual
+
+       * doc/lispref/variables.texi (Using Lexical Binding): Rename to...
+       (Selecting Lisp Dialect): ...this.  All references updated.
+       Add concrete examples of -*- lines.
+       Move text about special variables from here...
+       (Dynamic Binding): ...to here.
+
+2023-10-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Describe lexical binding before dynamic
+
+       * doc/lispref/variables.texi (Variable Scoping)
+       (Lexical Binding, Dynamic Binding):
+       Alter the presentation order from the point of view that lexical
+       binding is the standard discipline (if not always the default) and
+       dynamic binding an alternative, which corresponds better to Elisp
+       today.  Modernise parts of the text.
+       * doc/lispref/elisp.texi (Top): Update menu.
+
+2023-10-23  Mattias Engdegård  <mattiase@acm.org>
+
+       Improved `eval` documentation
+
+       Prompted by Michael Heerdegen.
+
+       * src/eval.c (Feval):
+       * doc/lispref/eval.texi (Eval):
+       Be more precise about the LEXICAL argument.
+
+2023-10-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix failing ERC test
+
+       * test/lisp/erc/erc-tests.el (erc--update-modules/unknown): Fix
+       test failing due to grave/curve quote.
+
+2023-10-23  Po Lu  <luangruo@yahoo.com>
+
+       Rewrite Yank Media node in the Emacs Lisp manual
+
+       * doc/lispref/frames.texi (Other Selections): Introduce a
+       reference to Accessing Selections, then rewrite for clarity and
+       to stop mentioning MIME types by name, for selection data types
+       are not confined to those.
+
+2023-10-23  john muhl  <jm@pub.pink>
+
+       Various improvements to lua-ts-mode (Bug#66159)
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Improve movement.
+       (lua-ts--simple-indent-rules): Improve indentation rules.
+       (lua-ts-mode-map): Add key bindings and menus.
+       (lua-ts-mode-hook): Make hook available in Customize.
+       (lua-ts-inferior-history, lua-ts-inferior--write-history): Add option
+       to read/write an input history file.
+       (lua-ts-inferior-lua, lua-ts-send-buffer, lua-ts-send-file)
+       (lua-ts-send-region, lua-ts-inferior-prompt)
+       (lua-ts-inferior-prompt-continue): Support for sending buffer,
+       file or region to the inferior process.
+       (lua-ts-show-process-buffer, lua-ts-hide-process-buffer)
+       (lua-ts-kill-process): New functions.
+       (lua-ts-inferior-prompt-regexp): Remove option.
+       * test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
+       * test/lisp/progmodes/lua-ts-mode-resources/movement.erts: Add
+       tests.
+
+2023-10-23  Po Lu  <luangruo@yahoo.com>
+
+       Correctly register Num Lock keys under Haiku
+
+       * src/haiku_support.cc (DispatchMessage): If B_NUM_LOCK is set,
+       invert B_SHIFT_KEY; should it be subsequently set, omit mapping
+       from raw_char.
+
+2023-10-23  Gerd Möllmann  <gerd@gnu.org>
+
+       Fix LLDB prompt in Gud when attached
+
+       * lisp/progmodes/gud.el (gud-lldb-marker-filter): Fix the prompt by
+       replacing multiple spaces with one.
+
+2023-10-23  Po Lu  <luangruo@yahoo.com>
+
+       Further improve documentation concerning selections
+
+       * doc/lispref/frames.texi (Window System Selections): Replace
+       incomplete attempts to address selection data types in this node
+       with references to Accessing Selections.
+       (Accessing Selections, X Selections): Revise for clarity and
+       pithiness.
+
+2023-10-23  Antero Mejr  <antero@mailbox.org>
+           Visuwesh  <visuweshm@gmail.com>
+
+       Add completion for 'doas' to pcomplete
+
+       * lisp/pcmpl-unix.el (pcomplete/doas): New function.
+       * etc/NEWS: Announce.  (Bug#66551)
+
+2023-10-22  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Allow specifying the dir locals file to edit (Bug#66663)
+
+       * lisp/files-x.el (modify-dir-local-variable): Take a 5th optional
+       argument, the filename of the dir locals file to modify.
+       (read-dir-locals-file): New function.
+       (add-dir-local-variable, delete-dir-local-variable)
+       (copy-file-locals-to-dir-locals): Optionally read the filename to
+       modify, and pass it to modify-dir-local-variable.
+       * etc/NEWS: Announce the change.
+       * doc/emacs/custom.texi (Directory Variables): Document the new
+       functionality.
+
+2023-10-22  Petteri Hintsanen  <petterih@iki.fi>
+
+       * lisp/tab-bar.el: Fix the close button with auto-width (bug#66678).
+
+       (tab-bar-auto-width): Take into account the length of 
tab-bar-close-button
+       more than one character: " x".
+
+2023-10-22  Po Lu  <luangruo@yahoo.com>
+
+       Further improve selection-related documentation
+
+       * doc/lispref/frames.texi (Other Selections): Expand
+       documentation regarding Haiku selections, and some
+       non-substantive copy edits elsewhere.  Introduce more indexing.
+
+2023-10-22  Po Lu  <luangruo@yahoo.com>
+
+       Revise documentation concerning selections outside X
+
+       * doc/lispref/frames.texi (Accessing Selections, X Selections):
+       Correct markup, averting the recognition of X followed by a
+       sentence stop as an acronym.
+       (Other Selections): Relate the nature of the MS-Windows
+       selection emulation, how it functions, and its deficiencies.
+       Clarify paragraphs concerning PGTK and Nextstep.
+
+       * doc/misc/efaq.texi (Emacs in a Linux console):
+
+       * doc/misc/use-package.texi (Conditional loading): Correct
+       markup, averting the recognition of X followed by a sentence
+       stop as an acronym.
+
+2023-10-22  Po Lu  <luangruo@yahoo.com>
+
+       Enumerate default UVS glyphs
+
+       * src/sfnt.c (sfnt_compare_unicode_value_range)
+       (sfnt_is_character_default): New functions.
+       (sfnt_test_uvs): Print and verify the default UVS table.
+
+       * src/sfnt.h: Update prototypes.
+
+       * src/sfntfont.c (sfntfont_get_variation_glyphs): Index the cmap
+       with the default glyph, and insert it within VARIATIONS if
+       character is present within a selector record's default UVS
+       table.
+
+2023-10-21  Yuan Fu  <casouri@gmail.com>
+
+       Documentation for treesit-font-lock-rules change
+
+       * doc/lispref/modes.texi (Parser-based Font Lock): Update manual.
+       * lisp/treesit.el (treesit-font-lock-rules): Update docstring.
+
+2023-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/cedet/semantic/imenu.el: Don't load `advice`
+
+       We don't use it any more here.  Also move the `;;; Code:` where it 
belongs.
+
+2023-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/treesit.el: Don't require `cl-seq` directly
+
+2023-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       so-long.el: Don't load `advice` during compilation
+
+       * lisp/so-long.el: Prefer #' to quote function names.
+       (global-so-long-mode): Remove redundant `:group` arg.
+       (<toplevel>): Don't load needlessly the obsolete `advice` library
+       during compilation.
+
+2023-10-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Move lexical-binding warning from checkdoc to byte-compiler
+
+       This warning is much more appropriate for the compiler, since lexical
+       binding affects what it can reason and warn about, than for checkdoc
+       as the warning has no bearing to documentation at all.
+       The move also improves the reach of the warning.
+
+       * etc/NEWS: Update.
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-lexical-binding-flag)
+       (checkdoc-file-comments-engine): Move warning from here....
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-file): ...to here.
+       * test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el:
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--unescaped-char-literals)
+       (bytecomp-tests-function-put, bytecomp-tests--not-writable-directory)
+       (bytecomp-tests--target-file-no-directory):
+       Update tests.
+       (bytecomp-tests--log-from-compilation)
+       (bytecomp-tests--lexical-binding-cookie): New test.
+
+2023-10-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b99d12c30c3 ; Fix argument name for function `copy-file'
+
+2023-10-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ab9d6482e3b ; Update ChangeLog.4 and etc/AUTHORS.
+       d9e1605122b Correctly register focus events concomitant with alpha ch...
+       194e219825c * doc/man/emacsclient.1: Add missing options.
+
+2023-10-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Move and edit text about lexical environment representation
+
+       It's only relevant for the second argument to `eval`; the actual
+       internal representation is an implementation matter and usually
+       different from what was described here.
+
+       * doc/lispref/variables.texi (Lexical Binding): Move the relevant
+       part of the description of the internal representation of
+       lexical environments from here...
+       * doc/lispref/eval.texi (Eval): ...to here, where it belongs.
+
+2023-10-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix mouse clicks on links under 'global-display-line-numbers-mode'
+
+       * src/indent.c (line_number_display_width): No longer static.
+       * src/lisp.h (line_number_display_width): Add prototype.
+       * src/keyboard.c (save_line_number_display_width)
+       (line_number_mode_hscroll): New functions.
+       (make_lispy_event): Call 'save_line_number_display_width' and
+       'line_number_mode_hscroll' to avoid interpreting up-event as drag
+       event when redisplay scrolls the text horizontally between the
+       down- and up-event to account for the changed width of the
+       line-number display.  (Bug#66655)
+
+2023-10-21  Lassi Kortela  <lassi@lassi.io>
+
+       Recognize backslash in `dns-mode` quoted values
+
+       * lisp/textmodes/dns-mode.el (dns-mode-syntax-table): Recognize
+       backslash as an escape character.  (Bug#66660)
+
+2023-10-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Don't use obsolete `sleep-for` argument
+
+       * lisp/net/sieve-manage.el (sieve-manage-wait-for-answer):
+       * lisp/org/ob-lua.el (org-babel-lua-evaluate-session):
+       * lisp/org/ob-python.el (org-babel-python-initiate-session-by-key):
+       (org-babel-python-evaluate-session): Don't use obsolete 'sleep-for'
+       argument.
+
+2023-10-21  john muhl  <jm@pub.pink>
+
+       Support lua-ts-mode in align.el
+
+       * lisp/align.el (align-rules-list): Add lua-ts-mode.  (Bug#66466)
+       * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Indent region
+       before aligning.
+       * test/lisp/align-tests.el (align-lua):
+       * test/lisp/align-resources/lua-ts-mode.erts: Add tests.
+
+2023-10-21  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix eglot-report-progress :type
+
+       * lisp/progmodes/eglot.el (eglot-report-progress): Change :type to
+       choice, to allow 'messages' as a value.  (Bug#66556)
+
+2023-10-21  Po Lu  <luangruo@yahoo.com>
+
+       Facilitate opening multiple files through DND under Android
+
+       * java/org/gnu/emacs/EmacsWindow.java (onDragEvent): Agglomerate
+       each provided content URI into a text/uri list.
+
+2023-10-21  Huan Nguyen  <goafanxx@gmail.com>
+
+       New keyword :default-language in treesit-font-lock-rules function.
+
+       * lisp/treesit.el (treesit-font-lock-rules): Keyword :default-language
+       LANGUAGE will be chosen for every :feature.  Using :language will
+       override the :default-language for the next :feature.
+
+2023-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (buffer-match-p): Replace `&optional` with `&rest` (bug#65797)
+
+       * lisp/subr.el (buffer-match-p--past-warnings): New var.
+       (buffer-match-p): Use it.  Replace `&optional arg` with `&rest args`.
+       (match-buffers): Replace `&optional arg` with `&rest args`.
+
+       * lisp/window.el (display-buffer-alist): Fix out of date docstring.
+
+       * doc/lispref/buffers.texi (Buffer List): Document new calling 
convention.
+
+2023-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (sleep-for): Make the `millisec` argument obsolete
+
+       * lisp/subr.el (sleep-for): Set new advertized calling convention.
+       * src/dispnew.c (Fsleep_for): Adjust docstring.
+       * doc/lispref/commands.texi (Waiting): Adjust doc.
+
+2023-10-21  F. Jason Park  <jp@neverwas.me>
+
+       Prefer erc-target to erc-default-target
+
+       * etc/ERC-NEWS: Mention `erc-target' and new `erc-server-buffer-p'
+       alias.
+       * lisp/erc/erc-backend.el (erc-process-sentinel): Set `joined-p' slot
+       of `erc--target-channel' object to nil when applicable.
+       (erc-server-JOIN): Mark `erc--target-channel' object as being joined.
+       * lisp/erc/erc-common.el (erc--target-channel): Add `joined-p' slot.
+       Use hyphenated name so accessor function's name ends in "joined-p"
+       rather than "joinedp".  Note that this will always be nil when
+       disconnected.
+       (erc--target): Relocate here from erc.el.
+       (erc-target): New public API function to return the current buffer's
+       target as a string, even in channels that have been unjoined.
+       * lisp/erc/erc-networks.el (erc--default-target): Remove forward
+       declaration.
+       (erc-networks--id-reload): Use `erc-target' instead of
+       `erc--default-target' as predicate for visiting target buffers.
+       * lisp/erc/erc.el (erc-remove-channel-users): Set channel "joinedness"
+       to nil in `erc--target-channel' object, when applicable.
+       (erc--target): Move to erc-common.
+       (erc--default-target): Remove, replaced by new function `erc-target'.
+       (erc-query-buffer-p): Use `erc-target'.
+       (erc-after-connect): Revise doc string.
+       (erc-connection-established): Revise doc string and move
+       `erc-unhide-query-prompt' business before hook.
+       (erc--current-buffer-joined-p): Remove comment and use new `joined-p'
+       slot of `erc--target-channel' for determining "joinedness" of channel.
+       (erc-kill-buffer-function): Use `erc--target-channel-p' for detecting
+       whether the buffer is a channel buffer.
+       * test/lisp/erc/erc-networks-tests.el
+       (erc-networks--shrink-ids-and-buffer-names--hook-collapse-target):
+       Remove comment.
+       * test/lisp/erc/erc-scenarios-base-reuse-buffers.el
+       (erc-scenarios-common--base-reuse-buffers-channel-buffers):
+       Clarify assertion.
+       * test/lisp/erc/erc-tests.el (erc-with-all-buffers-of-server):
+       Replace `erc-default-recipients' with `erc--target'.
+       (erc--target-from-string): Update expected shape of
+       `erc--target-channel' struct with new `joined-p' slot.
+       (erc-message): Set `erc--target' in buffer "#chan".  (Bug#66578)
+
+2023-10-21  F. Jason Park  <jp@neverwas.me>
+
+       Rename erc-server-buffer-p
+
+       * lisp/erc/erc-log.el (erc-log-all-but-server-buffers): Use
+       `erc--server-buffer-p' instead of `erc-server-buffer-p'.  This
+       replacement is presumed to be relatively "safe" because this function
+       is unused in the code base and only appears in the doc string for the
+       option `erc-enable-logging'.
+       * lisp/erc/erc-match.el (erc-match-message): Leave comment proposing
+       that `erc--server-buffer-p' should be preferred to
+       `erc-server-buffer-p'.  Use preferred alias for `erc-server-buffer-p'.
+       * lisp/erc/erc-notify.el (erc-cmd-NOTIFY): Use preferred alias for
+       `erc-server-buffer-p', and leave FIXME comment.
+       * lisp/erc/erc-speedbar.el (erc-speedbar-buttons): Use
+       `erc--server-buffer-p' instead of `erc-server-buffer-p'.  The logic
+       here seems simple enough to justify a change, however the absence of
+       related bug reports is perhaps an argument against this.
+       * lisp/erc/erc-track.el (erc-track-modified-channels): Use preferred
+       alias for `erc-server-buffer-p' and leave comment noting possible bug.
+       * lisp/erc/erc.el (erc-once-with-server-event): Use
+       `erc--server-buffer-p' instead of `erc-server-buffer-p'.  This change
+       seems justified because the function sets local hooks that would
+       otherwise be ignored outside of a server buffer.
+       (erc-server-buffer-p, erc-server-or-unjoined-channel-buffer-p): Make
+       the former an obsolete alias for the latter.
+       (erc--server-buffer-p): New function to replace `erc-server-buffer-p'
+       internally in new code.  Unlike its predecessor, it returns nil in
+       parted and kicked channels.
+       (erc-open-server-buffer-p): Use `erc--server-buffer-p' instead of
+       `erc-server-buffer-p'.  Given the name and the doc string, breaking
+       the odd misuse of this function in parted buffers seems justified
+       because this is clearly a bug fix.  Also, all uses in-tree conform to
+       the intended behavior as documented.  And a cursory grep of all "erc-"
+       prefixed packages on MELPA reveals zero instances of this function.
+       Nor is it used in erbot.
+       (erc-get-buffer): Mention behavior in doc string regarding parted and
+       kicked-from channels.
+       (erc-cmd-GQUIT): Fix wrong-number-of-arguments bug in timer function.
+       (erc-default-target): Mention behavior regarding unjoined channels.
+       (erc-kill-query-buffers): Don't use `erc-server-buffer-p'.  This
+       replacement may break third-party code expecting to leave parted
+       channels behind, but it seems sane when considering only the lone
+       internal use in `erc-cmd-QUIT'.
+       (Bug#66578)
+
+2023-10-20  F. Jason Park  <jp@neverwas.me>
+
+       Respect user markers in erc-insert-timestamp-left
+
+       * lisp/erc/erc-stamp.el (erc-insert-timestamp-left): Convert to normal
+       function, a mere wrapper that defers to existing generic variants, in
+       order to dissuade users from adding their own methods, which could
+       complicate troubleshooting, etc.
+       (erc--insert-timestamp-left): Rename both methods using internal
+       double-hyphen convention.  In `erc-stamp--display-margin-mode'
+       implementation, don't displace third-party markers.
+       * test/lisp/erc/erc-scenarios-stamp.el: New file.  (Bug#60936)
+
+2023-10-20  F. Jason Park  <jp@neverwas.me>
+
+       Fix right-sided stamps commingling with erc-prompt
+
+       * lisp/erc/erc-stamp.el (erc-insert-timestamp-left-and-right): Fix bug
+       that saw the prompt being inserted after messages but just inside the
+       narrowed operating portion of the buffer, which meant remaining
+       modification hooks would see it upon visiting.  Thanks to Corwin Brust
+       for catching this.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-wrap--monospace): Use
+       custom `erc-prompt' function to guarantee invariants asserted by
+       `erc--assert-input-bounds' are preserved throughout.  (Bug#60936)
+
+2023-10-20  F. Jason Park  <jp@neverwas.me>
+
+       Restore missing metadata props in erc-display-line
+
+       * etc/ERC-NEWS: Designate `erc-display-message' as the favored means
+       of inserting messages.
+       * lisp/erc/erc-fill.el (erc-fill-wrap): Skip any `unknown' `erc-msg'.
+       * lisp/erc/erc-stamp.el (erc-stamp--current-time): Use an existing
+       `erc-ts' text property, when present, for the current message time.
+       * lisp/erc/erc.el (erc-display-line-1, erc-insert-line): Update doc
+       string and declare the former an obsolete alias for the latter,
+       `erc-insert-line'.  Have `erc-log' label say `erc-display-message'
+       even though this function is actually `erc-insert-line'.
+       (erc-display-line): Convert to a thin wrapper around
+       `erc-display-message', and move its existing body to a new internal
+       function, `erc--route-insertion'.
+       (erc--route-insertion): Adopt former body of `erc-display-line', now a
+       convenience wrapper around `erc-display-message'.  Copy
+       `erc--msg-props' hash table when inserting a message in multiple
+       buffers.  At present, only `erc-server-QUIT' uses this facility, so
+       such a move shouldn't impact performance in any measurable way.  Also,
+       improve readability with at most one recursive call for the
+       fall-through case.
+       (erc--compose-text-properties, erc--merge-text-properties-p): Rename
+       former to latter to avoid confusion with `composition' property.
+       (erc-display-message): Update doc string.  Attempt to adapt a non-nil
+       TYPE parameter for use as the value of the `erc-msg' text property
+       before resorting to a value of `unknown'.  But only do this when
+       PARSED is nil, and MSG is a string.  Call `erc--route-insertion'
+       instead of `erc-display-line'.  Use new name for
+       `erc--compose-text-properties'.
+       (erc-put-text-property): Update name of variable
+       `erc--compose-text-properties'.
+       * test/lisp/erc/erc-networks-tests.el (erc-networks--set-name): Mock
+       `erc--route-insertion' instead of `erc-display-line'.
+       * test/lisp/erc/erc-scenarios-display-message.el: New file.
+       * test/lisp/erc/erc-tests.el (erc--route-insertion): New test.
+       * test/lisp/erc/resources/base/display-message/multibuf.eld: New test
+       data.
+       (Bug#60936)
+
+2023-10-20  F. Jason Park  <jp@neverwas.me>
+
+       Warn about top-level erc-update-modules calls
+
+       * doc/misc/erc.texi (Modules): Describe unfavorable practices enacted
+       by third-party modules, like running `erc-update-modules' on load.
+       * lisp/erc/erc.el (erc-modules): Clarify comment in `custom-set'
+       function.
+       (erc--warn-about-aberrant-modules): Tweak warning message.
+       (erc--requiring-module-mode-p): New internal variable.
+       (erc--find-mode): Guard against recursive `erc-update-module'
+       invocations.  (Bug#57955)
+
+2023-10-20  F. Jason Park  <jp@neverwas.me>
+
+       * lisp/erc/erc-backend.el (define-erc-response-handler) Edebug spec.
+
+2023-10-20  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project--switch-project-command: Retouch
+
+       * lisp/progmodes/project.el (project--switch-project-command):
+       Remove outdated comment and clear the echo area at the end.
+
+2023-10-20  Po Lu  <luangruo@yahoo.com>
+
+       Repair detection of empty mailto URLs
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
+       Additonally regard mailto:// as an empty URL, since Android does
+       interpret them as such.
+
+2023-10-20  Gerd Möllmann  <gerd.moellmann@gmail.com>
+
+       Fix Gud LLDB completion for function names
+
+       LLDB completion candidates can contain parentheses.
+
+       * lisp/progmodes/gud.el (gud-lldb-fetch-completions): Use unique
+       completion list delimiters. Add timeout to accept-process-input.
+       (gud-lldb-def-python-completion-function): Use new completion
+       list delimiters.
+       (lldb): Add hint about completions to doc string.
+       (gud-lldb-marker-filter): Don't use eval.
+
+2023-10-20  Po Lu  <luangruo@yahoo.com>
+
+       Treat empty mailto URIs properly under Android
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): If an
+       empty mailto: URI is supplied, ascertain if EXTRA_EMAIL is set,
+       then derive a mailto URI from that if so.
+
+2023-10-20  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Improve behavior with project-switch-use-entire-map=t
+
+       * lisp/progmodes/project.el (project--keymap-prompt): New function.
+       (project--switch-project-command): Use it when
+       project-switch-use-entire-map is non-nil.  Also check that CHOICE
+       is not a number (bug#63648).  And print incorrect inputs too.
+
+2023-10-19  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/project.el (project--other-place-prefix): New function.
+
+       (project-other-window-command, project-other-frame-command)
+       (project-other-tab-command): Use it in Emacs versions not less than 30
+       where other-*-prefix commands are available.
+       This fixes the cases such as 'C-u C-x 5 p p f TAB' from bug#65558.
+
+2023-10-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp version
+
+       * lisp/net/trampver.el (customize-package-emacs-version-alist):
+       Adapt Tramp version integrated in Emacs 29.2.
+
+2023-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cl--typeof-types): Complete last change
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
+       Add `integer-or-marker` in the hierarchy as well.
+
+2023-10-19  Ulf Jasper  <ulf.jasper@web.de>
+
+       * admin/MAINTAINERS: Remove Ulf Jasper as maintainer of icalendar.el
+
+2023-10-19  Gerd Möllmann  <gerd.moellmann@gmail.com>
+
+       Fix last change in gud.el
+
+       * lisp/progmodes/gud.el (gud-lldb-initialize): Fix duplicated
+       output.
+
+2023-10-19  Andrea Corallo  <acorallo@gnu.org>
+
+       Add two missing 'number-or-marker' entries to the cl machinery 
(bug#66615)
+
+       Assuming 'number-or-marker' is a type (as present multiple times in
+       cl--typeof-types) adding some missing entries for coherency.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add
+       'number-or-marker' as supertype of 'number' in the 'float' branch.
+
+       * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add
+       'number-or-marker'.
+
+       * test/lisp/emacs-lisp/comp-cstr-tests.el 
(comp-cstr-typespec-tests-alist):
+       Update test.
+
+       * test/src/comp-tests.el (comp-tests-type-spec-tests): Update two 
testes.
+
+2023-10-19  Andrea Corallo  <acorallo@gnu.org>
+
+       Improve cstr typeset normalization
+
+       * test/lisp/emacs-lisp/comp-cstr-tests.el
+       (comp-cstr-typespec-tests-alist): Add four tests.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--sym-lessp)
+       (comp--direct-supertype, comp--normalize-typeset0): New functions.
+       (comp-normalize-typeset): Rework to make use of
+       'comp--normalize-typeset0'.
+       (comp--direct-subtypes): New function.
+
+2023-10-19  Gerd Möllmann  <gerd.moellmann@gmail.com>
+
+       Gud support for column numbers
+
+       Allow gud-last-frame to be of the form (FILE LINE COLUMN).
+
+       * lisp/progmodes/gud.el (gud-display-frame): Support column numbers.
+       (gud-display-line): New optional parameter for column number.  Move
+       point to that column, if set.
+       (gud-lldb-marker-filter): Set column number.
+
+2023-10-19  Gerd Möllmann  <gerd.moellmann@gmail.com>
+
+       Don't rely on LLDB output format
+
+       Let Gud define its own frame format that is easily parseable,
+       and also contains the full source file path.
+
+       * lisp/progmodes/gud.el (gud-lldb-stop): New function.
+       (gud-lldb-marker-filter): Support new frame-format.
+       (gud-lldb-frame-format): variable for frame-format.
+       (gud-lldb-initialize): Set frame-format.
+
+2023-10-19  Po Lu  <luangruo@yahoo.com>
+
+       Relay body and attachments within Android e-mails to message-mailto
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Infer
+       e-mail body and subject from its parameters and convey this
+       information to message-mailto.
+
+       * lisp/gnus/message.el (message-mailto): New arguments SUBJECT,
+       BODY and FILE-ATTACHMENTS.
+       (message-mailto-1): Insert these arguments as appropriate.
+
+2023-10-19  Gerd Möllmann  <gerd.moellmann@gmail.com>
+
+       Gud LLDB fix for large completion count (bug#66625)
+
+       * lisp/progmodes/gud.el (gud-lldb-max-completions): New defcustom.
+       (gud-lldb-def-python-completion-function): New argument.
+       (gud-lldb-fetch-completions): Pass max count to gud_complete.
+       (gud-lldb-initialize): Change text displayed at the end.
+
+2023-10-18  Gerd Möllmann  <gerd.moellmann@gmail.com>
+
+       Gud LLDB completions (bug#66604)
+
+       * etc/emacs_lldb.py: Remove xcomplete.
+       * lisp/progmodes/gud.el: Implement lldb command completions.
+       * src/.lldbinit: Remove settings done in Gud.
+
+2023-10-18  F. Jason Park  <jp@neverwas.me>
+
+       Improve SOCKS error handling and support version 4a
+
+       * doc/misc/url.texi: Mention version 4a in SOCKS portion of "Gateways
+       in general" node.
+       * etc/NEWS: Mention version 4a support in new `socks' section.
+       * lisp/net/socks.el (socks-server): Add new Custom choice `4a' for
+       version field.  This change does not further overload the field in
+       terms of expected type because `socks-send-command' and `socks-filter'
+       already accommodate the symbol `http'.
+       (socks--errors-4): Add new constant containing error messages for
+       version 4.  The semantics are faithful to the de facto spec, but the
+       exact wording is slightly adapted.
+       (socks-filter): Allow for a null "type" field on error with version 5.
+       Previously, certain errors would not propagate because a wrong-type
+       signal would get in the way.
+       (socks-send-command): Massage existing version 4 protocol parsing to
+       accommodate 4a, and add error handling for version 4.  Use variable
+       `socks-username' for v4 variable-length ID field instead of calling
+       `user-full-name', which has potential privacy implications.
+       * test/lisp/net/socks-tests.el (socks-tests-v4-basic): Don't mock
+       `user-full-name' because `socks-send-command' no longer calls it to
+       determine the ID.
+       (socks-tests-v4a-basic, socks-tests-v4a-error): Add a couple tests for
+       SOCKS version 4a.  (Bug#53941)
+
+2023-10-18  F. Jason Park  <jp@neverwas.me>
+
+       Don't hard code server ports in SOCKS tests
+
+       * test/lisp/net/socks-tests.el (socks-tests-canned-server-create,
+       socks-tests-filter-response-parsing-v4): Fix bug in process filter to
+       prevent prepared outgoing responses from being implicitly encoded as
+       UTF-8.  Fix similar mistake in v4 filter test.
+       (socks-tests-v4-basic, socks-tests-v5-auth-user-pass,
+       socks-tests-v5-auth-user-pass-blank, socks-tests-v5-auth-none): Allow
+       system to choose port instead of hard-coding it.
+       (socks-tests-perform-hello-world-http-request): Add optional `method'
+       parameter to specify a gateway method.
+       (socks-tests-v5-auth-none): Move body to helper function of the same
+       name.
+       (socks-override-functions): New test ensuring top-level advice around
+       `open-networks-stream' still supported.  (Bug#53941)
+
+2023-10-18  João Távora  <joaotavora@gmail.com>
+
+       Eglot: respect completion sort order dictated by the server
+
+       Don't use flex style to do any completion sorting.
+
+       Previously, it was thought that the 'flex' completion style was only
+       kicking in to do (approximate) fontification of the completions
+       returned by the server, but it was found that it was also doing some
+       its own sorting in certain situation of non-empty matching patterns.
+
+       Replaced it with a new eglot--dumb-flex style which does only
+       fontification.
+
+       Github-reference: https://github.com/joaotavora/eglot/discussions/1306
+
+       * lisp/progmodes/eglot.el (eglot-completion-at-point): Rework.
+       (eglot--dumb-flex, eglot--dumb-allc): New helpers.
+       (completion-category-defaults): Rework Eglot-specific category.
+       (completion-styles-alist): Add Eglot-specific style.
+
+       * etc/EGLOT-NEWS: Mention change.
+
+2023-10-18  Po Lu  <luangruo@yahoo.com>
+
+       Correctly bisect format 12 and 8 cmap tables
+
+       * src/sfnt.c (sfnt_bsearch_above): Cease returning the last
+       element if it is ordered below the key itself.
+       (sfnt_lookup_glyph_8, sfnt_lookup_glyph_12): Verify whether the
+       group returned is NULL.
+
+2023-10-18  Po Lu  <luangruo@yahoo.com>
+
+       Mollify compiler under Android builds without mmap
+
+       * src/sfntfont.c (sfnt_close_tables, sfnt_open_tables)
+       [!HAVE_MMAP]: Do not declare rc for munmap or mmap.
+
+2023-10-17  Gerd Möllmann  <gerd.moellmann@gmail.com>
+
+       Gud lldb support (bug#66575)
+
+       * lisp/progmodes/gud.el (lldb): New command.
+       * etc/NEWS: Mention M-x lldb.
+       * src/.lldbinit: Show no souece lines on stop.
+       * doc/emacs/building.texi: Mention LLDB.
+
+2023-10-17  Gerd Möllmann  <gerd@gnu.org>
+
+       Modify LLDB command xcomplete to return a Lisp list
+
+       * etc/emacs_lldb.py (xcomplete): Return a Lisp list. Add a comment
+       explaining the return value.
+
+2023-10-17  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix tramp-revert-buffer-with-sudo
+
+       * lisp/net/tramp-cmds.el (tramp-revert-buffer-with-sudo):
+       Use `buffer-file-name' instead of `buffer-name'.  (Bug#66571)
+
+2023-10-17  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Use project-name in the project-kill-buffers prompt
+
+       This is mildly prettier (bug#66518).
+
+       * lisp/progmodes/project.el (project-kill-buffers): Use project-name.
+
+2023-10-16  Juri Linkov  <juri@linkov.net>
+
+       Refactor 'vc-default-mode-line-string' (bug#66464)
+
+       * lisp/vc/vc-hooks.el (vc-mode-line-state): New function with code 
moved from
+       'vc-default-mode-line-string'.
+       (vc-default-mode-line-string): Use 'vc-mode-line-state'.
+
+       * lisp/vc/vc-git.el (vc-git-mode-line-string): Use
+       'vc-mode-line-state' instead of hacking the string returned from
+       'vc-default-mode-line-string'.
+
+       * lisp/vc/vc-hg.el (vc-hg-mode-line-string): Use
+       'vc-mode-line-state' instead of duplicating code from
+       'vc-default-mode-line-string'.
+
+2023-10-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix "C-0 C-x C-s" with write-protected files
+
+       * lisp/files.el (basic-save-buffer-2): Call 'set-file-modes' to
+       try to make the file writable, even if
+       'set-file-extended-attributes' succeeded.  (Bug#66546)
+
+2023-10-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       07c45f20fd3 Fix test in files-tests
+       5d3f3288d22 ; * doc/emacs/search.texi (Regexp Backslash): Improve ind...
+       9525315c117 Add missing :version to two defcustoms
+       9044d4d94bb Fix a defcustom :type in eldoc.el
+       8141d73ea7f Document 'M-x align' in the Emacs manual
+
+2023-10-16  Po Lu  <luangruo@yahoo.com>
+
+       Properly initialize argment list supplied to android_init_emacs
+
+       * src/android.c (initEmacs): NULL-terminate c_argv.
+
+2023-10-16  Po Lu  <luangruo@yahoo.com>
+
+       Revert "Update etc/rgb.txt from X.Org upstream"
+
+       This reverts commit 11f10dc0d0b4b1d6af828102421eac9f79e0fcba.
+
+       * etc/rgb.txt: Restore X11R6.6 version, where non-portable color
+       names are absent.
+
+2023-10-15  Sam Steingold  <sds@gnu.org>
+
+       Fixup for "no file modes on windows and dos"
+
+       * lisp/ls-lisp.el (ls-lisp-format): Keep the first group of
+       permissions even when `modes' is not in `ls-lisp-verbosity'.
+
+2023-10-15  Alan Mackenzie  <acm@muc.de>
+
+       c-indent-new-comment-line: don't test for a macro in a comment
+
+       This fixes bug#9860.
+
+       * lisp/progmodes/cc-cmds.el (c-indent-new-comment-line): Test for
+       a comment/string before testing for a macro, thus preventing a
+       "macro" being spuriously recognized in a comment.  This allows
+       auto-fill-mode to work on a line beginning with # in a comment.
+
+2023-10-15  Po Lu  <luangruo@yahoo.com>
+
+       Correctly receive files through Android DND
+
+       * java/org/gnu/emacs/EmacsService.java (getUsefulContentResolver)
+       (getContentResolverContext): New functions which return a
+       content resolver from an EmacsActivity, if at all possible.
+       (openContentUri, checkContentUri): Probe or open URIs through
+       such content resolvers.  Probe URIs by opening them if merely
+       testing permissions fails, for DND URIs do not make
+       checkCallingUriPermission return true.
+
+       * java/org/gnu/emacs/EmacsWindow.java (onDragEvent): Address
+       potential crash.
+
+       * src/androidvfs.c (android_check_content_access): Circumvent
+       JNI dynamic method dispatch.
+       (android_authority_name): Guarantee NAME is never a directory.
+
+2023-10-15  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix searching for tags in compressed files
+
+       * lisp/progmodes/etags.el (etags--ensure-file): New function.
+       (etags--all-files): Make sure files in TAGS can be visited, even if
+       the files are compressed.  (Bug#2807)
+       (etags--xref-find-definitions): Report to xref a file that we are sure
+       it exists.  (Bug#44494)
+
+2023-10-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update publicsuffix.txt from upstream
+
+       * etc/publicsuffix.txt: Update from
+       https://publicsuffix.org/list/public_suffix_list.dat
+       dated 2023-10-01 03:58:26 UTC.
+
+2023-10-14  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update etc/rgb.txt from X.Org upstream
+
+       The upstream version contains the following changes:
+
+         2023-07-10  rgb: Make color entries uniform
+         2014-07-06  Add aliases for colors that differ between X11 and CSS
+         2014-07-06  Add missing colors from CSS Color Module Level 4
+         2008-06-04  Nuke CVS version tags
+         2003-11-14  R6.6 is the Xorg base-line
+
+       * etc/rgb.txt: Sync with the version in X.Org upstream
+       https://cgit.freedesktop.org/xorg/app/rgb/tree/rgb.txt
+       commit 0d2caecebf0e2a10994c22960921f366dd98d19a.  (Bug#66538)
+
+2023-10-14  Alan Mackenzie  <acm@muc.de>
+
+       Fix an infinite loop in c-beginning-of-defun-1
+
+       This fixes bug#61436.
+
+       The loop manifested itself in c-get-fallback-scan-pos as the
+       position returned wasn't at a {, so the search back in
+       c-beginning-of-defun-1 with a defun-prompt-regexp found the
+       same BOL and moved forward to after the match, repeat.
+
+       * lisp/progmodes/cc-defs.el (c-beginning-of-defun-1): Accept a
+       position found by beginning-of-defun (which uses
+       defun-prompt-regexp) only when the \\s( following it is a {.
+       Repeat the backward search when this isn't the case.
+
+2023-10-14  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Fix vc-hg-log-edit-toggle-amend
+
+       * lisp/vc/log-edit.el (log-edit--toggle-amend): Handle the case
+       when the VCS returns log entry that doesn't end with a newline
+       (bug#66423).
+
+2023-10-14  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (vc-default-checkin-patch): Try to be compatible with BSD 'patch'
+
+       * lisp/vc/vc.el (vc-default-checkin-patch):
+       Try to be compatible with BSD 'patch' (bug#66211).
+
+2023-10-14  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (vc-root-diff): Don't compute and pass on WORKING-REVISION
+
+       * lisp/vc/vc.el (vc-root-diff): Don't compute and pass on
+       WORKING-REVISION (bug#66364).  It was unused.
+
+2023-10-14  Spencer Baugh  <sbaugh@catern.com>
+
+       Optimize vc-hg-state for directories
+
+       Directories are never tracked in hg, so it's pointless to run
+       vc-hg-state on them.  And, in fact, our implementation previously
+       would list all the files contained in the directory and then parse
+       that in Emacs, which is very slow in large repos.
+
+       Let's just use the knowledge that directories aren't tracked in hg,
+       and skip running hg entirely.
+
+       * lisp/vc/vc-hg.el (vc-hg-state): Return nil for
+       directories.  (Bug#66364)
+
+2023-10-14  Harald Jörg  <haj@posteo.de>
+
+       ;cperl-mode.el: Do not mistake a left-shift operator for a here-doc.
+
+       * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Empty
+       unquoted delimiters for here-documents are now forbidden
+       (Bug#65834).
+
+       * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-65834):
+       New test.
+
+       * test/lisp/progmodes/cperl-mode-resources/cperl-bug-65834.pl: new
+       resource with source code from the bug report.
+
+2023-10-14  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix indentation and fontification in shell-script (Bug#26217)
+
+       * lisp/progmodes/sh-script.el (sh-smie--sh-keyword-p): Treat "do" as
+       special, like we treat "in".
+       (sh-smie--sh-keyword-in-p): Change signature.  Take the token to
+       decide correctly if it's a keyword.
+       (sh-font-lock-keywords-var-1): Add do.
+
+       * test/lisp/progmodes/sh-script-resources/sh-indents.erts: New test.
+       * test/lisp/progmodes/sh-script-tests.el
+       (sh-script-test-do-fontification): New test.
+
+2023-10-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Simplify and describe docstrings-wide check
+
+       * lisp/emacs-lisp/bytecomp.el
+       (byte-compile--wide-docstring-substitution-len): Remove.
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--docstring-line-width):
+       Add back explanatory comments lost in a previous change.
+
+2023-10-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       06a87738114 ; * lisp/calendar/time-date.el (days-to-time): Doc fix.
+       0ea2d6d9e82 Document that time-to-days and days-to-time use different...
+
+2023-10-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Make the docstrings-wide check 70x faster
+
+       Instead of performing a number of expensive transformations on the
+       original doc string and then use a dynamically-created regexp to find
+       wide lines, step through the lines in the unmodified string and only
+       perform the transformations on lines that exceed the limit.
+       This is sound because the transformations are contractive.
+
+       The new check will usually not cons nor perform any regexp matching.
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--docstring-line-width): New.
+       (byte-compile--wide-docstring-p): Cheaper implementation.
+
+2023-10-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Sort byte compiler warnings in alphabetic order
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types):
+       Rearrange.  Add a few missing ones.
+
+2023-10-14  Jens Schmidt  <jschmidt4gnu@vodafonemail.de>
+
+       Fix beginning-of-defun not jumping to BOF
+
+       In batch mode or when font-lock and some other niceties are switched
+       off, function `syntax-ppss' can modify match data held by function
+       `beginning-of-defun-raw'.  In that case, `beginning-of-defun' can jump
+       to some seemingly arbitrary position, and not the actual BOF.
+
+       * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Save match data
+       around a call to `syntax-ppss'. (Bug#66218)
+
+2023-10-14  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix saving faces with attributes that need filtering
+
+       * lisp/cus-edit.el (custom-face-save): The :shown-value property for
+       the custom-face widget is supposed to be a value suitable for the
+       customization widget.  (Bug#66391)
+
+2023-10-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       dc8b336d025 * lisp/files.el (file-name-non-special): Handle quoted ti...
+
+2023-10-14  Po Lu  <luangruo@yahoo.com>
+
+       Implement multi-window drag-and-drop under Android
+
+       * java/org/gnu/emacs/EmacsNative.java (sendDndDrag, sendDndUri)
+       (sendDndText): Declare new event-sending functions.
+
+       * java/org/gnu/emacs/EmacsView.java (onDragEvent): New function.
+
+       * java/org/gnu/emacs/EmacsWindow.java (onDragEvent): New
+       function; respond to each drag and drop event, request
+       permissions if necessary and transfer dropped data to Lisp.
+
+       * lisp/dnd.el (dnd-unescape-file-uris): New variable.
+       (dnd-get-local-file-name): If that variable is nil, refrain from
+       unescaping URLs provided.
+
+       * lisp/term/android-win.el (android-handle-dnd-event): New
+       function.
+       (special-event-map): Bind drag-n-drop-event.
+
+       * src/android.c (sendDndDrag, sendDndUri, sendDndText): New
+       functions.
+
+       * src/androidgui.h (enum android_event_type): New event types
+       ANDROID_DND_DRAG_EVENT, ANDROID_DND_URI_EVENT,
+       ANDROID_DND_TEXT_EVENT.
+       (struct android_dnd_event): New structure.
+       (union android_event) <dnd>: New field.
+
+       * src/androidterm.c (handle_one_android_event)
+       <ANDROID_DND_..._EVENT>: Generate drag-n-drop events for each
+       of these types.
+       (syms_of_androidterm) <Quri, Qtext>: New defsyms.
+
+2023-10-14  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Have gnus-summary-limit-to-age operate on calendar days
+
+       Reported and patched by Łukasz Stelmach <stlman@poczta.fm>.
+
+       * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-age): Rather than
+       24-hour blocks. Also use `read-number', and drop the confusing option
+       to reverse younger/older both with the prefix argument and with a
+       negative number.
+
+2023-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (sit-for): Remove support for old calling convention
+
+       * lisp/subr.el (sit-for): Remove support for old calling convention
+
+       * doc/lispref/functions.texi (Obsolete Functions): Adjust wording now
+       that we don't support `sit-for`s old convention any more.
+       * doc/lispref/commands.texi (Waiting): Remove mention of old calling
+       convention for `sit-for`.
+
+2023-10-14  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Add new user option to etc/NEWS
+
+       * etc/NEWS: Announce new user option `cperl-fontify-trailer'.
+
+2023-10-14  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Optionally treat trailing text as comment
+
+       * lisp/progmodes/cperl-mode.el (cperl-fontify-trailer): New
+       customization variable.  With a value of 'comment, cperl-mode
+       treats trailing text after after __END__ and __DATA__ as comment,
+       like perl-mode does (Bug#66161).
+       (cperl-find-pods-heres): Treat trailing text after __END__ and
+       __DATA__ according to the customization variable
+       `cperl-fontify-trailer'.
+
+       * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-66161):
+       New test, verifying the changed behavior if the custom variable is
+       set to 'comment.
+
+       * test/lisp/progmodes/cperl-mode-resources/cperl-bug-66161.pl: New
+       resource file, source code from the corresponding bug report.
+
+2023-10-13  Mauro Aranda  <maurooaranda@gmail.com>
+
+       More defcustom fixes in ERC (Bug#66520)
+
+       * lisp/erc/erc-fill.el (erc-fill-variable-maximum-indentation): Change
+       :type to choice, to allow nil.
+       * lisp/erc/erc-goodies.el (erc-keep-place-indicator-style): Fix
+       copy-pasta.
+       * lisp/erc/erc-networks.el (erc-networks-alist): Don't advertise that
+       MATCHER can be a function since it doesn't look like that's ever been
+       the case, reaching as far back as erc-networks.el's introduction to
+       the old CVS repo, in 2006.  (Bug#66520)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Add command to refill buffer in erc-fill-wrap-mode
+
+       * lisp/erc/erc-fill.el (erc-fill-function, erc-fill-wrap-mode):
+       Mention new command `erc-fill-wrap-refill-buffer' in doc string.
+       (erc-fill--wrap-rejigger-last-message): New internal variable.
+       (erc-fill--wrap-rejigger-region, erc-fill-wrap-refill-buffer): New
+       command and helper function for fixing alignment issues that arise,
+       for example, from adjusting pixel-display widths of buffer text during
+       a session.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--simulate-refill):
+       New function for approximating `erc-fill-wrap-refill-buffer'.
+       (erc-fill-wrap--merge): Assert refilling is idempotent.  (Bug#60936)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Treat previous/next-line specially in erc-fill-wrap
+
+       * lisp/erc/erc-fill.el (erc-fill-wrap-visual-keys): Mention option
+       `erc-fill-wrap-force-screen-line-movement' in doc string.
+       (erc-fill-wrap-force-screen-line-movement): New option to suppress
+       logical-line movement with `previous-line' and `next-line' when
+       `erc-fill-wrap-mode' is enabled.
+       (erc-fill--wrap-move): Accept trailing args.
+       (erc-fill--wrap-previous-line, erc-fill--wrap-next-line): Use
+       `erc-fill--wrap-move', like all the other `fill-wrap' commands.
+       (Bug#60936)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Swap hook positions of erc-fill and erc-match-message
+
+       * etc/ERC-NEWS: Fix new order of reserved modify-hook members.
+       * lisp/erc/erc-fill.el: Increase depth of `erc-fill' in both modify
+       hooks from 40 to 60.
+       * lisp/erc/erc-match.el (erc-match-mode, erc-match-enable,
+       erc-match-disable): Use general module setup function
+       `erc-match--setup' for buffer-local modifications instead of calling
+       `erc-match--modify-invisibility-spec' directly.  Add and remove new
+       post-modify hook `erc-match--on-insert-post'.
+       (erc-hide-fools): Use `erc--msg-props' for communicating to
+       post-processing step for applying invisible props instead of doing so
+       immediately.
+       (erc-match--on-insert-post): New function to apply module-specific
+       `invisible' props.  Will likely be replaced by a general service to do
+       the same, perhaps provided by a future "erc-ignore"-like module.
+       (erc-match--modify-invisibility-spec, erc-match--setup): Rename former
+       to latter and only operate on current buffer.
+       * test/lisp/erc/erc-scenarios-match.el
+       (erc-scenarios-match--stamp-left-fools-invisible,
+       erc-scenarios-match--stamp-right-fools-invisible,
+       erc-scenarios-match--stamp-right-invisible-fill-wrap,
+       erc-scenarios-match--stamp-both-invisible-fill-static): Update
+       expected order of ERC-owned `invisible' prop members `match-fools' and
+       `timestamp'.
+       * test/lisp/erc/erc-tests.el (erc--essential-hook-ordering): Swap
+       expected order of `erc-fill' and `erc-add-timestamp' in both hooks.
+       (Bug#64301)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Manage some text props for ERC insertion-hook members
+
+       * etc/ERC-NEWS: Mention that ERC only adds the text property
+       `cursor-sensor-functions' when `erc-echo-timestamps' is enabled.  Also
+       mention that date stamps are now inserted as separate messages.
+       * lisp/erc/erc-fill.el (erc-fill): Look for text prop `erc-cmd'
+       instead of `erc-command' and use helper utility to do so.
+       (erc-fill-static): Skip date stamps because this fill style leaves
+       them flush left.
+       (erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
+       Don't hook on the soon-to-be-removed function interface
+       `erc-stamp--insert-date-function' because date stamps are now separate
+       messages.
+       (erc-fill--wrap-continued-message-p): Restore accidentally discarded
+       doc string.  Derive context about current message from text props at
+       `point-min', and use updated property names and utility functions.
+       Abort when previous message is now hidden.
+       (erc-fill--wrap-stamp-insert-prefixed-date): Remove unused function,
+       originally meant to be new in ERC 5.6, and move logic for date-stamp
+       measuring portion directly to `erc-fill-wrap' itself.
+       (erc-fill--wrap-measure): New helper function.
+       (erc-fill-wrap): Use helper `erc-fill--wrap-measure' and incorporate
+       date-stamp detection and width measuring from removed helper.  Don't
+       dedent first word for messages of unknown origin, such as those
+       inserted by `erc-display-line' alone without prior preparation from
+       `erc-display-message'.
+       * lisp/erc/erc-goodies.el (erc-readonly-mode, erc-readonly-enable):
+       Set hook depth explicitly to 70.
+       * lisp/erc/erc-stamp.el (erc-timestamp-format-left): Mention that a
+       trailing newline is implicit if not provided and that users who don't
+       want date stamps should use `erc-timestamp-format-right' instead.
+       (erc-stamp-mode, erc-stamp-enable): Call `erc-stamp--setup' instead
+       of `erc-munge-invisibility-spec', and bump hook depth for
+       `erc-add-timestamp' to 70.
+       (erc-stamp--current-time): Use `erc-ts' instead of `erc-timestamp'
+       text property in doc string.
+       (erc-stamp--skip): New internal variable.
+       (erc-stamp--allow-unmanaged): New variable for legacy code to force
+       `erc-add-timestamps' to run when `erc--msg-props' is nil.
+       (erc-add-timestamp): Always run when `erc-stamp--allow-unmanaged' is
+       non-nil unless `erc-stamp--skip' is as well because the latter takes
+       precedence.  Don't add `erc-ts' text prop directly unless
+       `erc-stamp--allow-unmanaged is non-nil.  Instead, use the new
+       `erc--msg-props' facility to defer until after modification hooks.
+       Likewise, don't add `cursor-senor-functions' directly either unless
+       the same compatibility flag is enabled.  Instead, expect the latter to
+       be handled by a post-modify hook conditioned on the option
+       `erc-echo-timestamps'.
+       (erc-timestamp-last-inserted-left): Mention that the final trailing
+       newline specified in the format string no longer appears in the
+       recorded value.
+       (erc-stamp-prefix-log-filter): Use updated name for timestamp
+       property as well as helper utility for accessing it.
+       (erc-stamp--inherited-props): Add doc string.
+       (erc-insert-timestamp-right): Fix bug involving object cycle where
+       the time-stamp string would appear in its own `display' property.
+       (erc-stamp--insert-date-function, erc-stamp--insert-date-hook): Remove
+       unused internal function-valued interface variable and replace with
+       the latter, a normal hook.
+       (erc-stamp--date-format-end, erc-stamp--propertize-left-date-stamp):
+       New function and auxiliary variable to apply date stamp properties at
+       the post-modify stage.  Add text property `erc-stamp-type' to inserted
+       date stamps to help folks distinguish between them and other
+       left-sided stamps.
+       (erc-stamp--current-datestamp-left,
+       erc-stamp--format-date-stamp,
+       erc-stamp--insert-date-stamp-as-phony-message,
+       erc-stamp--lr-date-on-pre-modify): New functions and state variable to
+       help ERC treat date stamps as separate messages while working within
+       the established mechanism for processing inserted messages.  Shadow
+       `erc-stamp--invisible-property' when calling `erc-format-timestamp' in
+       order to prevent date stamps from inheriting other `invisible' props.
+       These date stamps are special in that they have no business being
+       hidden along with the current message.
+       (erc-insert-timestamp-left-and-right): On initial run in any buffer,
+       remember whether the date stamp needed newline massaging on insertion.
+       Move all business for inserting date stamps to post-modify hooks, but
+       run them forcibly if this is the very first date stamp in the current
+       buffer.  Also mention some specifics related to relevant text props in
+       the doc string.
+       (erc-format-timestamp): Don't add `invisible' prop to stamp unless
+       `erc-stamp--invisible-property' is non-nil.
+       (erc-stamp--csf-props-updated-p): New local variable.
+       (erc-munge-invisibility-spec): Restore `cursor-sensor-functions' text
+       property for existing messages when a user enables the option
+       mid-session.  Add and remove hooks for use with automatic timestamp
+       echoing.
+       (erc-stamp--add-csf-on-post-modify): New function to add
+       `cursor-sensor-functions' property on post-modify hooks.
+       (erc-stamp--setup): Perform some additional teardown.
+       (erc-stamp--on-clear-message): Look for text property `erc-ts' instead
+       of `erc-timestamp'.
+       (erc-echo-timestamp, erc--echo-ts-csf): Use utility to find time-stamp
+       text prop in current message.
+       (erc-stamp--update-saved-position, erc-stamp--reset-on-clear): Use
+       hook `erc-stamp--insert-date-hook' instead of excised function-valued
+       variable interface `erc-stamp--insert-date-function'.
+       * lisp/erc/erc-truncate.el (erc-truncate-buffer-to-size): Use internal
+       utility to find beginning of message.
+       * lisp/erc/erc.el (erc--msg-props, erc--msg-props-overrides): New
+       internal variables for initializing and conveying metadata-oriented
+       text properties among insert and send hooks.
+       (erc-insert-modify-hook): Mention reserved depth ranges for built-in
+       members in doc string.
+       (erc-send-action):  Use convenience variable to modifying text props
+       instead of awkwardly overriding `erc-insert-pre-hook'.
+       (erc--check-msg-prop, erc--get-inserted-msg-bounds,
+       erc--get-inserted-msg-prop, erc--with-inserted-msg,
+       erc--traverse-inserted): New utility functions and macros to help
+       modules find metadata and message-delimiting text props.
+       (erc-display-line-1): Ensure the first character of every message in
+       an ERC buffer has the `erc-msg' property, as well as any other props
+       in `erc--msg-props', when populated.
+       (erc--hide-message): Don't bother offsetting start of first message in
+       a buffer.
+       (erc--ranked-properties, erc--order-text-properties-from-hash): New
+       variable and function to convert `erc--msg-props' into a plist
+       suitable for `add-text-properties'.
+       (erc-display-message): Make doc string more informative.  Bind and
+       initialize `erc--msg-props' for use by all hooks.  Respect
+       `erc--msg-prop-overrides' when non-nil.  Don't add `erc-command'
+       property.  Instead, ensure `erc--msg-props' contains an `erc-cmd' item
+       when the parameter PARSED is non-nil.
+       (erc--own-property-names): Add `erc-stamp-type'.
+       (erc--get-speaker-bounds): Use helper to find message start.
+       (erc-process-ctcp-query, erc-send-current-line): Use convenience
+       variable to leverage framework for manipulating message metadata
+       instead of overriding `erc-insert-pre-hook'.
+       (erc-display-msg): Bind `erc--msg-props' for use by all send-related
+       hooks.  Add text props from table after `erc-send-post-hook'.
+       (erc-restore-text-properties): Improve doc string.
+       (erc--get-eq-comparable-cmd): Use `if-let' instead of `if-let*'.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--insert-privmsg):
+       Make phony message more realistic.
+       (erc-fill-tests--wrap-populate): Shorten overlong line.
+       (erc-fill-tests--wrap-check-prefixes): Make test utility more vigilant
+       in asserting no gaps exist in `line-prefix' property interval.
+       (erc-fill-tests--compare): Compare text props on text-prop values that
+       are themselves strings.
+       * test/lisp/erc/erc-scenarios-log.el (erc-scenarios-log--clear-stamp):
+       Ensure `erc-stamp' is loaded.
+       * test/lisp/erc/erc-scenarios-match.el
+       (erc-scenarios-match--stamp-left-current-nick,
+       erc-scenarios-match--invisible-stamp): Use `default-value' for
+       `erc-insert-modify-hook' in ordering assertion.
+       (erc-scenarios-match--find-bol, erc-scenarios-match--find-eol): Remove
+       unused assertion helper functions.
+       (erc-scenarios-match--stamp-right-fools-invisible): Remove misplaced
+       ERT tag from function and use utility to find message bounds.
+       (erc-scenarios-match--stamp-right-fools-invisible): Use real utility
+       from main library to find message end.
+       (erc-scenarios-match--fill-wrap-stamp-dedented-p): New assertion
+       utility function.
+       (erc-scenarios-match--hide-fools/stamp-both/fill-wrap) New test.
+       (erc-scenarios-match--hide-fools/stamp-both/fill-wrap/speak): New
+       test.
+       (erc-scenarios-match--stamp-both-invisible-fill-static): Expect
+       `erc-cmd' at beginning of inserted message's filled line, even if the
+       line starts with white space.  Also, add new function parameter
+       `assert-ds', a callback to run when visiting the second date stamp,
+       which is followed by a hidden message.  In the test of the same name,
+       expect the date stamp's invisibility interval to begin at the newline
+       after the previous message and to not contain any existing
+       invisibility props, namely, those belonging to the subsequent hidden
+       "fools" message.  Also use shortened "metadata" text prop names.
+       (erc-scenarios-match--stamp-both-invisible-fill-static--nooffset):
+       Expect the date stamp's invisibility interval to match its field's
+       instead of starting and ending sooner.
+       * test/lisp/erc/erc-stamp-tests.el: Put well-known metadata prop at
+       the start of the message.
+       * test/lisp/erc/erc-tests.el (erc--refresh-prompt): Prevent modules
+       from mutating hooks.
+       (erc--order-text-properties-from-hash, erc--check-msg-prop): New
+       tests.
+       * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update
+       test data.
+       * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update
+       test data.
+       * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld:
+       Update.
+       * test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld:
+       Update.
+       * test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld:
+       Update.
+       * test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld:
+       Update.
+       * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: Update.
+       * test/lisp/erc/resources/match/fools/fill-wrap.eld: New file.
+       (Bug#60936)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Easily excise list-valued text prop members in ERC
+
+       * lisp/erc/erc.el (erc--remove-from-prop-value-list): New function for
+       removing `invisible' and `face' prop members cleanly.
+       * test/lisp/erc/erc-tests.el (erc--remove-from-prop-value-list,
+       erc--remove-from-prop-value-list/many): New tests.  (Bug#60936)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Deprecate option erc-remove-parsed-property
+
+       * etc/ERC-NEWS: Add entry for `erc-remove-parsed-property'.
+       * lisp/erc/erc.el (erc-remove-parsed-property): Deprecate option
+       because the potential for inadvertent self harm outweighs the
+       potential benefits.  Additionally, replicating this functionality via
+       hooks is trivial.
+       (erc-display-line-1): Remove quasi-deprecated `tags' property because
+       the preferred format for `erc-response.tags' has changed, and ERC has
+       never supported IRCv3 tags.
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Use erc-display-message instead of erc-make-notice
+
+       * lisp/erc/erc-backend.el (erc-server-JOIN): Let `erc-display-message'
+       handle formatting instead of baking out a string.  The text ultimately
+       inserted remains unchanged, but forwarding the original `format-spec'
+       arguments now has the side effect of influencing text properties, which
+       conveys richer meaning for modules to act upon when doing things like
+       deciding whether to hide a given message.
+       * lisp/erc/erc.el (erc-cmd-IGNORE, erc-cmd-UNIGNORE,
+       erc--unignore-user, erc-cmd-IDLE, erc-cmd-BANLIST, erc-cmd-MASSUNBAN):
+       Use `erc-display-message' with `notice' for the TYPE parameter instead
+       of composing `erc-make-notice' and `erc-display-line'.
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Allow spoofing process marker in erc-display-line-1
+
+       * lisp/erc/erc.el (erc--insert-marker): New internal variable for
+       overriding `erc-insert-marker' when displaying messages at a
+       non-default location in the buffer.
+       (erc-display-line-1): Favor `erc--insert-marker' over
+       `erc-insert-marker' when non-nil.
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Sort and dedupe when loading modules in erc-open
+
+       * doc/misc/erc.texi: Add new subheading "Module Loading" under the
+       "Modules" chapter.
+       * lisp/erc/erc.el (erc--sort-modules): New utility function to sort
+       and dedupe modules.
+       (erc-modules): In `custom-set' function, factor out collation into
+       separate utility `erc--sort-modules'.
+       (erc-update-modules): Call `erc--update-modules' with an argument, the
+       current value of `erc-modules'.
+       (erc--aberrant-modules): New variable, a list of symbols whose modules
+       ERC suspects of being incorrectly defined.
+       (erc--warn-about-aberrant-modules): New function to print an error
+       message and emit a warning prior to connecting when
+       `erc--aberrant-modules' is non-nil.
+       (erc--find-mode): Make heuristic more robust by always checking for a
+       mode activation command rather than just a state variable.  This fixes
+       a compatibility bug, new in 5.6, affecting third-party modules that
+       autoload module definitions instead of their corresponding
+       mode-activation commands.
+       (erc--update-modules): Add new positional argument `modules'.
+       (erc--setup-buffer-hook): Add new default member,
+       `erc--warn-about-aberrant-modules'.
+       (erc-open): Pass sorted `erc-modules' to `erc--update-modules'.
+       * test/lisp/erc/erc-tests.el (erc--sort-modules): New test.
+       (erc-tests--update-modules): New fixture.
+       (erc--update-modules): Remove and rework as three separate tests
+       dedicated to specific contexts.  The existing one had poor coverage
+       and was difficult, if not impossible, to follow.
+       (erc--update-modules/unknown, erc--update-modules/local,
+       erc--update-modules/realistic): New tests.  (Bug#57955)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Honor nil values in erc--restore-initialize-priors
+
+       * lisp/erc/erc.el (erc--restore-initialize-priors): Don't produce
+       invalid "empty" `setq' form when parameter VARS contains defaults that
+       initialize to nil.  This function is mainly used by local modules,
+       which were first made usable in ERC 5.5 (bug#57955).
+       * test/lisp/erc/erc-tests.el (erc--restore-initialize-priors): Fix
+       expected expansion, which is now slightly leaner.  (Bug#60936)
+
+2023-10-13  F. Jason Park  <jp@neverwas.me>
+
+       Skip post-minibuffer restore in erc-scrolltobottom-all
+
+       * etc/ERC-NEWS: Remove mention of `erc-scrolltobottom-relaxed' in
+       entry for module `scrolltobottom'.
+       * lisp/erc/erc-goodies.el (erc-input-line-position): Fix mention of
+       abandoned option `erc-scrolltobottom-relaxed'.
+       (erc-scrolltobottom-all): Subsume option `erc-scrolltobottom-relaxed'
+       by recognizing a third value state, `relaxed'.  A separate option
+       would make more sense if other options also depended on
+       `erc-scrolltobottom-all'.
+       (erc-scrolltobottom-relaxed): Remove redundant option, which was to be
+       new in ERC 5.6.
+       (erc-scrolltobottom-enable, erc-scrolltobottom-mode): Warn if user
+       attempts to enable `erc-scrolltobottom-all' on Emacs 27, which is not
+       supported.
+       (erc--scrolltobottom-relaxed-commands,
+       erc--scrolltobottom-post-force-commands,
+       erc--scrolltobottom-relaxed-skip-commands): Remove unused variables.
+       (erc--scrolltobottom-on-pre-command,
+       erc--scrolltobottom-on-pre-command-relaxed,
+       erc--scrolltobottom-on-post-command-relaxed): Remove unused functions.
+       (erc--scrolltobottom-on-post-command): Remove conditional branch for
+       dealing with a non-nil `erc--scrolltobottom-window-info'.
+       (erc--scrolltobottom-setup): Convert from generic to normal function
+       and remove setup and teardown for unused hooks.  Set variable
+       `read-minibuffer-restore-windows' locally when option
+       `erc-scrolltobottom-all' is non-nil.
+       (erc--scrolltobottom-on-pre-insert): Replace reference to subsumed
+       option `erc-scrolltobottom-relaxed' with new value `relaxed' for
+       existing option `erc-scrolltobottom-all'.
+       * test/lisp/erc/erc-scenarios-scrolltobottom-relaxed.el
+       (erc-scenarios-scrolltobottom--relaxed): Replace option
+       `erc-scrolltobottom-relaxed' with new value `relaxed' for
+       `erc-scrolltobottom-all'.  (Bug#64855)
+
+2023-10-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix `ls-lisp-verbosity` custom type
+
+       * lisp/ls-lisp.el (ls-lisp-verbosity): Include `modes` in the type
+       and doc string.
+
+2023-10-13  Alan Mackenzie  <acm@muc.de>
+
+       Fix c-in-knr-argdecl to avoid false recognition of K&R
+
+       In the OP's test case, the type of a declaration was a macro
+       with parentheses, which confused c-in-knr-argdecl.
+
+       * lisp/progmodes/cc-engine.el (c-in-knr-argdecl): Amend this
+       function to return nil if a "parameter declaration" can't be
+       parsed as a declaration.
+
+2023-10-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       c8ea14e7825 Handle quoted tilde in Tramp
+       30239759ee4 ; Set maintainer for elint.el to emacs-devel
+       eedd9db6190 Update to Org 9.6.10
+
+       # Conflicts:
+       #       lisp/net/tramp-gvfs.el
+
+2023-10-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       53292c5d818 Fix treesit-query-validate for string input (bug#66400)
+       81a0c1ed2e4 ; Improve documentation of VC commands
+       0590e3e69a9 Recommend `M-x man` in woman.el docs
+       809da7fc9a1 ; * doc/lispref/processes.texi (Process Buffers): More ac...
+       8f23a02a9ea Fix updating process-mark position in 'set-process-buffer'
+
+2023-10-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Add convenience wrapper for regexp disassembly
+
+       * lisp/emacs-lisp/disass.el (re-disassemble): New.
+       * etc/NEWS: Describe the new function instead of the internal
+       `re--describe-compiled`.
+
+2023-10-13  Mattias Engdegård  <mattiase@acm.org>
+
+       verilog-mode.el: remove impossible cond clause
+
+       * lisp/progmodes/verilog-mode.el (verilog-set-auto-endcomments):
+       Remove can't-happen clause.
+
+2023-10-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Separate `docstrings-wide` warning identifier
+
+       This allows the docstring line width warning to be disabled without
+       also disabling the one checking for curly quotes etc.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
+       (byte-compile-warnings, byte-compile-docstring-style-warn):
+       Add `docstrings-wide`.
+       * etc/NEWS: Annonuce.
+
+2023-10-13  Po Lu  <luangruo@yahoo.com>
+
+       Clarify java/INSTALL
+
+       * java/INSTALL: Correct erroneous include exports and also
+       introduce those omitted within patches to external libraries.
+       (bug#66507)
+
+2023-10-13  Po Lu  <luangruo@yahoo.com>
+
+       Try harder to generate tombstones upon emacs_abort
+
+       * src/android.c (HAS_BUILTIN_TRAP): New macro definition.
+       (emacs_abort) [HAS_BUILTIN_TRAP]: Call __builtin_trap to abort,
+       in place of dereferencing NULL.
+
+       * src/androidterm.c (android_draw_fringe_bitmap): Correct
+       comment transplanted from X code.
+
+2023-10-13  Jim Porter  <jporterbugs@gmail.com>
+
+       Reset the Eshell prompt when signaling with no foreground process
+
+       This fixes a small regression from commit eef32d13da5.
+
+       * lisp/eshell/esh-proc.el (eshell-reset): Declare here.
+       (eshell-reset-after-proc): Move implementation to...
+       (eshell--reset-after-signal): ... here...
+       (eshell-interrupt-process, eshell-kill-process eshell-quit-process)
+       (eshell-stop-process, eshell-continue-process): ... and call it.
+
+2023-10-12  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix a defcustom :type
+
+       * lisp/progmodes/ruby-mode.el (ruby-insert-encoding-magic-comment):
+       Allow always-utf8.  (Bug#66498)
+
+2023-10-12  Po Lu  <luangruo@yahoo.com>
+
+       Enable highlighting Gud execution lines without hl-line-mode
+
+       * doc/emacs/building.texi (Debugger Operation): Mention two new
+       options and the relationship between Gud and HL Line Mode.
+
+       * etc/NEWS (Editing Changes in Emacs 30.1): Mention the new
+       option.
+
+       * lisp/progmodes/gud.el (gud-highlight-current-line-overlay):
+       New variable.
+       (gud-sentinel) <signal, exit>: Delete that overlay if set.
+       (gud-highlight-current-line, gud-highlight-current-line-face):
+       New user options.
+       (gud-display-line): Create and move an overlay without employing
+       hl-line-mode, if so enjoined by the user.
+
+2023-10-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       New filenotify tests
+
+       * src/inotify.c (Finotify_watch_list, Finotify_allocated_p):
+       Fix argument list.
+
+       * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
+       Use `skip-when'.
+       (file-notify-test12-unmount, file-notify-test12-unmount-remote):
+       New tests.
+
+2023-10-12  Po Lu  <luangruo@yahoo.com>
+
+       Respond to JNI errors around drawing operations
+
+       * src/android.c (android_fill_polygon, android_draw_rectangle)
+       (android_draw_point, android_draw_line, android_lock_bitmap):
+       Check or clear errors around potential JNI errors; the penalty
+       incurred to performance is not as significant as was expected.
+
+2023-10-11  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix behavior of Eshell prompt when yanking output into it
+
+       * lisp/eshell/esh-util.el (eshell--unmark-string-as-output): New
+       function...
+
+       * lisp/eshell/esh-mode.el (eshell-mode): ... use it.
+
+       * test/lisp/eshell/eshell-tests.el (eshell-test/yank-output): New test
+       (bug#66469).
+
+2023-10-11  Alan Mackenzie  <acm@muc.de>
+
+       Document cl-print.el in cl.texi.
+
+       * doc/misc/cl.texi: (Printing): New chapter which documents
+       cl-print.el.
+
+       * NEWS (cl-print): Add "+++" markings to all the subitems,
+       which have now been documented.
+
+2023-10-11  Alan Mackenzie  <acm@muc.de>
+
+       In cl-prin1, enable raw printing for a byte-compiled function
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-compiled): document the
+       new option `raw'.
+       (cl-print-object/compiled-function): when cl-print-compiled is
+       `raw', just print the function using `prin1'.  Apply a button
+       to this output which, when activated disassembles the function.
+
+       * etc/NEWS (cl-print): Add an entry for this new feature.
+
+2023-10-11  Po Lu  <luangruo@yahoo.com>
+
+       Remedy typo in android.texi
+
+       * doc/emacs/android.texi (Android Fonts): Replace @xref with
+       @pxref.
+
+2023-10-11  Po Lu  <luangruo@yahoo.com>
+
+       Update Android keysym list
+
+       * src/keyboard.c (lispy_function_keys): Introduce entries for
+       scroll lock, num lock, and input method keys.
+
+2023-10-11  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/project.el (project-mode-line-face): New variable.
+
+       (project-mode-line-format): Use it (bug#66317).
+
+2023-10-11  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix erc-server-prevent-duplicates :type
+
+       * lisp/erc/erc-backend.el (erc-server-prevent-duplicates): Change
+       :type to allow a variable-length list of strings.  (Bug#66456)
+
+2023-10-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Revert commits dafa6d6badd6 and 72c45fa9109a
+
+       These were there to work around deficiencies in how Eshell produces
+       completions for 'pcomplete-argument' (Eshell passed various non-string
+       objects to Pcomplete, which broke things).  Now, Eshell always returns
+       a stringified form of the argument, with the original value stored via
+       the text property 'pcomplete-arg-value'.
+
+       * lisp/pcomplete.el (pcomplete-arg): Revert changes back to a simpler
+       form.
+
+2023-10-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       File notifications report unmount events (bug#66381)
+
+       * doc/lispref/os.texi (File Notifications): Unmounting a watched
+       filesystem is reported now.
+
+       * etc/NEWS: File notifications report unmount events now.
+       Fix typos.
+
+       * lisp/filenotify.el (file-notify--callback-inotify)
+       (file-notify--add-watch-inotify): Handle `unmount'.
+       (file-notify--callback-kqueue, file-notify--add-watch-kqueue):
+       Handle `revoke'.
+       (file-notify--callback-gfilenotify): Handle `unmounted'.
+       (file-notify-callback): Handle `unmount' and `unmounted'.
+       (file-notify--add-watch-inotify):
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
+       Handle `unmounted'.
+
+       * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
+       Handle `unmount' and `unmounted'.
+
+       * src/gfilenotify.c (dir_monitor_callback): Handle Qunmounted.
+
+       * src/inotify.c (symbol_to_inotifymask): Handle IN_IGNORED and
+       IN_UNMOUNT.
+
+       * src/kqueue.c (kqueue_callback, Fkqueue_add_watch):
+       Handle NOTE_REVOKE.
+       (Fkqueue_add_watch): Adapt docstring.
+       (syms_of_kqueue): Declare `revoke.
+
+2023-10-10  Ulrich Müller  <ulm@gentoo.org>
+
+       Update astronomical length units in Calc
+
+       * lisp/calc/calc-units.el (math-standard-units): Update the
+       astronomical unit and the parsec, using their definitions by the
+       International Astronomical Union.
+
+2023-10-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Correct temperature names in Calc
+
+       * doc/misc/calc.texi (The Units Table, Predefined Units):
+       * lisp/calc/calc-units.el (math-standard-units):
+       It's just Kelvin, not degree Kelvin.
+
+2023-10-10  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/calc/calc-units.el (math-standard-units): Document.
+
+       Some guesswork, but at least it helps someone trying to make sense of
+       it next time.
+
+2023-10-10  Po Lu  <luangruo@yahoo.com>
+
+       * doc/emacs/android.texi (Android Software): Fix typo.
+
+2023-10-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of 'project-mode-line'
+
+       * etc/NEWS:
+       * doc/emacs/maintaining.texi (Projects):
+       * lisp/progmodes/project.el (project-mode-line): Improve the
+       documentation of 'project-mode-line'.  (Bug#66317)
+
+2023-10-10  Po Lu  <luangruo@yahoo.com>
+
+       Revise Android documentation
+
+       * doc/emacs/android.texi (Android Environment, Android Windowing)
+       (Android Fonts, Android Troubleshooting, Android Software):
+       Correct typos and improve wording.
+
+2023-10-10  Po Lu  <luangruo@yahoo.com>
+
+       Improve documentation of inhibit-double-buffering
+
+       * doc/lispref/frames.texi (Management Parameters): Reword joke
+       and mention the precise circumstances where
+       inhibit-double-double-buffering is useful.
+
+2023-10-10  Po Lu  <luangruo@yahoo.com>
+
+       Implement frame restacking under Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (invalidateFocus1):
+       Synchronize with window.children for iteration through it.
+
+       * java/org/gnu/emacs/EmacsService.java (queryTree): Synchronize
+       with windowList for iteration through it.
+
+       * java/org/gnu/emacs/EmacsView.java (moveChildToBack): Correct
+       formatting mistake.
+       (moveAbove, moveBelow): New functions.
+
+       * java/org/gnu/emacs/EmacsWindow.java (destroyHandle, reparentTo)
+       (raise, lower): Remedy synchronization blunders.
+       (reconfigure): New function.
+
+       * src/android.c (android_init_emacs_window): Link with
+       `reconfigure'.
+       (android_reconfigure_wm_window): New wrapper function.
+
+       * src/androidfns.c (android_frame_restack): New function.
+       (Fandroid_frame_restack): Properly implement this function and
+       expunge outdated comment.
+
+       * src/androidgui.h (enum android_stack_mode)
+       (enum android_window_changes): New enumerators.
+
+2023-10-09  Juri Linkov  <juri@linkov.net>
+
+       New option 'project-mode-line' to show project name on mode line 
(bug#66317)
+
+       * lisp/bindings.el (standard-mode-line-format):
+       Add '(project-mode-line project-mode-line-format)'.
+
+       * lisp/progmodes/project.el (project-mode-line): New user option.
+       (project-menu-entry, project-mode-line-map): New variables.
+       (project-mode-line-format): New variable.
+       (project-mode-line-format): New function.
+
+2023-10-09  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/xref.el: Show the number of matches on mode-line 
(bug#66332)
+
+       (xref-num-matches-found, xref-num-matches-face, xref-mode-line-matches):
+       New variables.
+       (xref--show-xref-buffer): Set xref-num-matches-found to the length of 
xrefs,
+       and buffer-local mode-line-process to xref-mode-line-matches.
+
+2023-10-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't allow Services entries in pop-up menus on macOS (bug#66420)
+
+       * src/nsmenu.m ([EmacsMenu runMenuAt:forFrame:keymaps:]):
+       Prevent the system from adding context menu plug-ins
+       (Services entries or sub-menu) to all our pop-up menus.
+
+2023-10-09  Philip Kaludercic  <philipk@posteo.net>
+
+       Improve formatting of bindings in 'help-quick'
+
+       * lisp/help.el (help-quick): Prevent format's padding from extending
+       text properties beyond the initial string containing the key binding.
+
+2023-10-09  Philip Kaludercic  <philipk@posteo.net>
+
+       Use text-mode as default value for 'rcirc-multiline-major-mode'
+
+       * lisp/net/rcirc.el (rcirc-multiline-major-mode): Update default value.
+
+2023-10-09  Po Lu  <luangruo@yahoo.com>
+
+       Update default font substitution list
+
+       * src/sfntfont-android.c (init_sfntfont_android): Account for
+       Android 4.x not distributing Noto Serif.
+
+2023-10-08  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Make package-vc-install-from-checkout NAME argument optional
+
+       * lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout):
+       Allow nil NAME; update documentation.  (Bug#66393)
+
+2023-10-08  Philip Kaludercic  <philipk@posteo.net>
+
+       Do not scrape :ignored-files for dependencies
+
+       * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): If a file
+       matches the ignored packages in :ignored-files, do not install any
+       dependencies it lists.
+
+2023-10-08  Philip Kaludercic  <philipk@posteo.net>
+
+       Rename 'vc-switch-backend' to 'vc-change-backend'
+
+       * etc/NEWS: Mention the change
+       * lisp/vc/vc.el (vc-switch-backend): Rename and unobsolete.
+       (vc-transfer-file): Use new name.  (bug#50344)
+
+2023-10-08  Po Lu  <luangruo@yahoo.com>
+
+       Port arc to Android
+
+       * lisp/arc-mode.el (archive-zip-extract): Default to -q and -p
+       when the Android system unzip is being employed.
+
+2023-10-08  Po Lu  <luangruo@yahoo.com>
+
+       Introduce a tool bar for dictionary mode
+
+       * lisp/doc-view.el (doc-view-minor-mode-menu): Correct typo in
+       edit mode menu.
+
+       * lisp/net/dictionary.el (dictionary-mode-menu): New menu.
+       (dictionary-tool-bar-map): New variable; derive menu bar entries
+       from the dictionary-mode-menu.
+       (dictionary-mode): Set the tool bar map to
+       dictionary-tool-bar-map.
+
+2023-10-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       a74e51cfd15 Fix a defcustom :type
+       c27b90d04bf Fix 'ido--ffap-find-file'
+       1594d5f17ad Fix setting the pipe capacity for subprocesses
+       aad8b5d78f3 Handle LANG on macOS differently (bug#65908)
+
+       # Conflicts:
+       #       src/process.c
+
+2023-10-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       e9b88f61ccc Fix a defcustom :type
+       3216cd96952 Fix pulse-flag :type
+       2065ab5562e Fix defcustoms in timeclock.el
+       bdd30132496 ; * lisp/image-mode.el (image-mode-to-text, image-mode-as...
+       5c2d9ae48ed ; * lisp/image-mode.el: Fix typos in doc strings (bug#663...
+       fa0d3f45aeb ; Improve wording of last change
+       3ef259e28a8 Improve documentation of `ns-use-proxy-icon`
+       712505a82b9 Document assigning libraries to packages in make-tarball.txt
+       6bdc5cfe384 Doc fix; more consistently refer to "text terminals"
+       d210d761b19 ; Fix doc strings of overlay-arrow variables
+       4fd00ff1f7e Fix defcustoms in type-break.el (Bug#66210)
+       47770b0eca4 Fix term-scroll-to-bottom-on-output :type
+       f8bdc8dff0b ; Normalize GNU ELPA :core package statements
+       63ec6d998d4 ; * doc/emacs/custom.texi (Early Init File): Improve inde...
+       a4185f87bd0 ; Silence macOS 14 warning
+       d9d6e14a698 ; * lisp/vc/vc.el (vc-next-action): Improve commentary.
+       d558f38fe5c ; * lisp/emacs-lisp/let-alist.el (let-alist): Fix quoting...
+       71feee79309 Doc fix in let-alist for keys with nil value
+       72cc9cf2cde ; Fix typos
+
+2023-10-07  Po Lu  <luangruo@yahoo.com>
+
+       Revise font family translation lists under Android
+
+       * doc/emacs/android.texi (Android Environment): Revise paragraph
+       illustrating the startup notification.
+       (Android Fonts): Mention font family replacement.
+
+       * src/sfntfont-android.c (init_sfntfont_android): Translate
+       DejaVu Serif to either Droid Serif or Noto Serif.
+
+2023-10-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Revert slurp_image extraction for svg_load
+
+       * src/image.c (svg_load): Inline slurp_image code again, as it didn't
+       build in its current form.
+       Reported by Andreas Schwab <schwab@linux-m68k.org>.
+
+2023-10-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Extract function slurp_image from image loading
+
+       * src/image.c (slurp_image): New function...
+       (xbm_load, xpm_load, pbm_load, webp_load, svg_load): ...extracted from
+       here.
+
+2023-10-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Set buffers-menu-max-size to 15 unconditionally
+
+       * lisp/menu-bar.el (buffers-menu-max-size): Set the default value to
+       15 unconditionally.  (Bug#64398)
+
+2023-10-05  Jens Schmidt  <jschmidt4gnu@vodafonemail.de>
+
+       Silence macro expansion during completion at point
+
+       * lisp/emacs-lisp/macroexp.el (macroexp-inhibit-compiler-macros): Add
+       variable.
+       (macroexp--compiler-macro): Inspect that new variable and, if it is
+       non-nil, return the input form unchanged.
+       * lisp/progmodes/elisp-mode.el (elisp--local-variables): Silence
+       messages.  Avoid compiler macros.  (Bug#58148)
+
+2023-10-05  Robert Pluim  <rpluim@gmail.com>
+
+       Use key-translate instead of keyboard-translate
+
+       As a consequence of the discussions in Bug#65735, move to using the
+       new key-translate function instead of the deprecated
+       keyboard-translate.
+
+       For future maintainers: ?\C-? or ?\177 do not mean "DEL" with
+       key-translate, you have to use "DEL".
+
+       * lisp/simple.el (normal-erase-is-backspace-mode): Use key-translate.
+       * lisp/term/bobcat.el (terminal-init-bobcat): Use key-translate.
+
+2023-10-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Omit the `omake` compilation-mode rule by default
+
+       It keeps interfering with other rules, slowing everything down a
+       little bit and makes it harder to add or change other rules.  The rule
+       is still there and can easily be re-enabled by those who need it.
+
+       * etc/NEWS: Announce.
+       * lisp/progmodes/compile.el (compilation-error-regexp-alist):
+       Exclude `omake`.
+       * test/lisp/progmodes/compile-tests.el
+       (compile-tests--test-regexps-data):
+       Actually test the `cucumber` rule. Remove the `omake` test case.
+       (compile-test-error-regexps):
+       Test `omake` here.  Test other rules without `omake` included.
+
+2023-10-05  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Make newly-created smerge-diff-buffers read-only
+
+       Buffers name *vc-diff* are usually created by vc, which makes them
+       read-only.  If we create such a buffer, let's make it read-only too.
+       If the buffer already exists, though, don't change that since the user
+       might have deliberately made it writable.
+
+       * lisp/vc/smerge-mode.el (smerge-diff): Make newly-created
+       smerge-diff-buffers read-only. (bug#64071)
+
+2023-10-05  Eli Zaretskii  <eliz@gnu.org>
+
+       ' Improve wording of compilation-error messages
+
+       * lisp/progmodes/compile.el (compilation-next-error): Improve
+       wording of user-error text.  (Bug#65713)
+
+2023-10-05  Paul W. Rankin  <hello@paulwrankin.com>
+
+       Improve find-sibling-rules option type
+
+       * lisp/files.el (find-sibling-rules): More helpful rules.
+
+2023-10-05  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Nontext mouse cursor as default on {tab|tool}-bar
+
+       * src/xdisp.c (note_mouse_highlight): Always set the mouse cursor to
+       nontext when entering tab-bar and tool-bar.  (Bug#66243)
+
+2023-10-05  Po Lu  <luangruo@yahoo.com>
+
+       Introduce an input method callback required by Android 34
+
+       * java/org/gnu/emacs/EmacsInputConnection.java (replaceText):
+       New function.
+
+       * java/org/gnu/emacs/EmacsNative.java (replaceText): Declare
+       native function.
+
+       * src/androidgui.h (enum android_ime_operation): New operation
+       ANDROID_IME_REPLACE_TEXT.
+
+       * src/androidterm.c (android_handle_ime_event): Decode text when
+       encountering an ANDROID_IME_REPLACE_TEXT operation.  Return if
+       decoding overflowed rather than presenting Qnil to textconv
+       functions.
+       (replaceText): New JNI function.
+
+       * src/frame.h (enum text_conversion_operation): New operation
+       TEXTCONV_REPLACE_TEXT.
+
+       * src/textconv.c (really_commit_text): Move point to start if
+       the composing region is set.
+       (really_replace_text): New function.
+       (handle_pending_conversion_events_1) <TEXTCONV_REPLACE_TEXT>:
+       New case.
+       (replace_text): New function.
+
+       * src/textconv.h: Update prototypes.
+
+2023-10-05  Po Lu  <luangruo@yahoo.com>
+
+       Port Emacs to Android 34
+
+       * configure.ac: Detect and require Android 34 headers.
+
+       * doc/emacs/android.texi (Android Environment): Mention new
+       permissions mandated by Android 34.
+
+       * java/AndroidManifest.xml.in: Introduce new permissions and
+       foreground service types prerequisite for background execution under
+       Android 34.
+
+       * java/INSTALL: Update installation documentation.
+
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7FontEntity)
+       (Sdk7FontObject):
+
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Silence deprecation
+       warnings.
+
+       * src/android.c: Update documentation.
+
+2023-10-04  Po Lu  <luangruo@yahoo.com>
+
+       Correct local reference leaks
+
+       * src/android.c (android_build_string): Accept a list of local
+       references to destroy upon an allocation failure, facilitating
+       the proper deallocation of local references in such situations.
+       (android_browse_url): Revise for new calling convention.
+
+       * src/android.h (android_build_string): Update declaration
+       correspondingly.
+
+       * src/androidmenu.c (android_menu_show, android_dialog_show):
+       Revise for new calling convention.
+
+       * src/androidselect.c (android_notifications_notify_1): Supply
+       each successive local reference to android_build_string as
+       notification text is being encoded.
+
+       * src/androidvfs.c (android_saf_exception_check): Introduce
+       absent va_end.
+
+2023-10-03  Juri Linkov  <juri@linkov.net>
+
+       * lisp/menu-bar.el (menu-bar-project-menu): Improve menu items.
+
+       Remove ellipsis from menu items that don't read arguments from the 
minibuffer.
+
+2023-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex.c: Fix recent regression with mutually_exclusive_p
+
+       The new analysis code ended up increasing the scope of an optimization
+       a bit too far.  Reign it in.
+
+       * src/regex-emacs.c (struct mutexcl_data): Add `unconstrained` field.
+       (mutually_exclusive_one): Use and set it.
+       (mutually_exclusive_p): Initialize it.
+
+       * test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization):
+       Add test.
+
+2023-10-03  Alan Mackenzie  <acm@muc.de>
+
+       Correct the `cond' forms in cl-print-string-with-limit
+
+       In this function, calling with limit bound to t will cause an
+       error in any of the cond forms which set print-length, etc.
+       Correct them!
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-string-with-limit):
+       Amend the doc string.  In the cond forms in the bindings for
+       print-length, etc., test the value t first.  Amend those for
+       print-length and print-level also to test for a zero value of
+       limit.
+
+2023-10-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Ensure, that Tramp uses GNU style emulation when calling ls-lisp
+
+       * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Reorganize.
+
+       * lisp/net/tramp.el (ls-lisp-dirs-first, ls-lisp-emulation)
+       (ls-lisp-ignore-case, ls-lisp-verbosity): Declare.
+       (tramp-handle-insert-directory): Bind `ls-lisp-*' options.  Call
+       `ls-lisp-set-options'.
+
+2023-10-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Support Eshell iterative evaluation in the background
+
+       This really just generalizes Eshell's previous support for iterative
+       evaluation of a single current command to a list of multiple commands,
+       of which at most one can be in the foreground (bug#66066).
+
+       * lisp/eshell/esh-cmd.el (eshell-last-async-procs)
+       (eshell-current-command): Make obsolete in favor of...
+       (eshell-foreground-command): ... this
+       (eshell-background-commands): New variable.
+       (eshell-interactive-process-p): Make obsolete.
+       (eshell-head-process, eshell-tail-process): Use
+       'eshell-foreground-command'.
+       (eshell-cmd-initialize): Initialize new variables.
+       (eshell-add-command, eshell-remove-command)
+       (eshell-commands-for-process): New functions.
+       (eshell-parse-command): Make 'eshell-do-subjob' the outermost call.
+       (eshell-do-subjob): Call 'eshell-resume-eval' to split this command
+       off from its parent forms.
+       (eshell-eval-command): Use 'eshell-add-command'.
+       (eshell-resume-command): Use 'eshell-commands-for-process'.
+       (eshell-resume-eval): Take a COMMAND argument.  Return
+       ':eshell-background' form for deferred background commands.
+       (eshell-do-eval): Remove check for 'eshell-current-subjob-p'.  This is
+       handled differently now.
+
+       * lisp/eshell/eshell.el (eshell-command): Wait for all processes to
+       exit when running synchronously.
+
+       * lisp/eshell/esh-mode.el (eshell-intercept-commands)
+       (eshell-watch-for-password-prompt):
+       * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments):
+       * lisp/eshell/em-smart.el (eshell-smart-display-move): Use
+       'eshell-foreground-command'.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/background/simple-command)
+       (esh-cmd-test/background/subcommand): New tests.
+       (esh-cmd-test/throw): Use 'eshell-foreground-command'.
+
+       * test/lisp/eshell/eshell-tests.el (eshell-test/queue-input): Use
+       'eshell-foreground-command'.
+
+       * test/lisp/eshell/em-script-tests.el
+       (em-script-test/source-script/background): Make the test script more
+       complex.
+
+       * test/lisp/eshell/eshell-tests.el
+       (eshell-test/eshell-command/pipeline-wait): New test.
+
+       * doc/misc/eshell.texi (Bugs and ideas): Remove implemented feature.
+
+2023-10-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Don't print subjob messages when running an Eshell script in the 
background
+
+       * lisp/eshell/esh-proc.el (eshell-subjob-messages): New variable...
+       (eshell-record-process-object)
+       (eshell-remove-process-entry): ... check it.
+
+       * lisp/eshell/em-script.el (eshell-source-file): Set
+       'eshell-subjob-messages' to nil.
+
+       * lisp/eshell/esh-cmd.el (eshell-do-subjob): Set
+       'eshell-subjob-messages' to t.
+
+       * test/lisp/eshell/em-script-tests.el
+       (em-script-test/source-script/background): New test.
+
+2023-10-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2023-10-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidvfs.c (android_afs_open, android_asset_fstat):
+       Return proper mtime within file descriptors incorporating asset
+       data and within android_asset_fstat.
+
+       * src/xterm.c (handle_one_xevent)
+       <KeyPress, XI_KeyPress>: Verify presence of a quit keysym
+       prior to registering it.
+
+2023-10-03  F. Jason Park  <jp@neverwas.me>
+
+       Inhibit slash commands in erc--input-review-functions
+
+       * lisp/erc/erc.el (erc--input-review-functions): Add new review
+       function `erc--inhibit-slash-cmd-insertion'.
+       (erc--check-prompt-input-functions): Move
+       `erc--check-prompt-input-for-multiline-command' above
+       `erc--check-prompt-input-for-multiline-blanks'.
+       (erc--inhibit-slash-cmd-insertion): New "review" function to suppress
+       insertion of prompt input for slash commands.  Doesn't affect "meta"
+       slash commands like /SAY.
+       (erc--send-input-lines): Don't bother checking whether message is a
+       command.  Instead, trust verdict handed down by message-prep and
+       review functions.  This opens the door to optional insertion for
+       debugging purposes or when echoing command lines in a shell-like
+       fashion.
+       * test/lisp/erc/erc-tests.el (erc-send-whitespace-lines): clean up
+       portion dealing with trimming slash commands.  (Bug#66073)
+
+2023-10-03  F. Jason Park  <jp@neverwas.me>
+
+       Improve erc-warn-about-blank-lines behavior
+
+       * etc/ERC-NEWS: Mention more detailed feedback when option
+       `erc-warn-about-blank-lines' is non-nil.
+       * lisp/erc/erc-common.el (erc--input-split): Add `abortp' slot to
+       allow a premature exit while validating prompt input.
+       * lisp/erc/erc.el (erc-warn-about-blank-lines): Clarify meaning of
+       "blank lines" in doc string, and mention interaction with
+       companion option `erc-send-whitespace-lines'.
+       (erc-inhibit-multiline-input): Fix inaccurate description in doc
+       string.
+       (erc--input-review-functions): Move
+       `erc--discard-trailing-multiline-nulls' to end of list, after
+       `erc--run-input-validation-checks' so that the latter doesn't have to
+       resplit the original input string in order to issue feedback.
+       (erc--blank-in-multiline-input-p): Remove unused internal function
+       originally slated to be part of ERC 5.6.
+       (erc--check-prompt-input-for-something): New trivial validation
+       function to check if the input is empty.
+       (erc--count-blank-lines): New function that tallies up the number of
+       blank and whitespace-only lines in the current input.  One downside of
+       this design is that this function's conclusions aren't shared with
+       `erc--discard-trailing-multiline-nulls', which must decide on its own
+       how many lines to strip.
+       (erc--check-prompt-explanation): New variable.
+       (erc--check-prompt-input-for-multiline-blanks): Rework significantly
+       to provide more informative messages and more sensible behavior for
+       common cases with respect to relevant option values.
+       (erc--check-prompt-input-functions): Add new validation function
+       `erc--check-prompt-for-something'.
+       (erc--run-input-validation-checks): Set `abortp' slot of
+       `erc--input-split' when hooks return a non-string, rather than
+       generate an unhelpful fallback message.  Also print a message when
+       the variable `erc--check-prompt-explanation' is non-nil.
+       (erc-send-current-line): When the `abortp' slot of the current
+       `erc--input-split' object is non-nil, forgo normal input processing.
+       This fixes a regression in 5.6-git, which previously emitted an error
+       message when it should have just exited the command.
+       (erc--discard-trailing-multiline-nulls): Always run, regardless of
+       `erc-send-whitespace-lines', and leave a blank line behind when
+       stripping a message consisting of only blank lines.
+       (erc--run-send-hooks): Always run hooks and surrounding logic rather
+       than only when hooks are populated.
+       * test/lisp/erc/erc-tests.el (erc--refresh-prompt): Add assertion and
+       use default value for `erc--input-review-functions'.
+       (erc-ring-previous-command): Use default value for
+       `erc--input-review-functions' and ensure `erc-current-nick' does not
+       error.
+       (erc--blank-in-multiline-input-p): Remove obsolete test.
+       (erc--check-prompt-input-functions): Update expected message.
+       (erc--discard-trailing-multiline-nulls, erc--count-blank-lines): New
+       tests.
+       (erc-tests--check-prompt-input--expect,
+       erc-tests--check-prompt-input-messages): New helper variables.
+       (erc--check-prompt-input-for-multiline-blanks,
+       erc--check-prompt-input-for-multiline-blanks/explanations): New tests.
+       (erc-send-whitespace-lines): Expect hook-processing logic to pad empty
+       lines instead of deferring to `erc-send-input-line-function'.
+       (Bug#66073)
+
+2023-10-03  F. Jason Park  <jp@neverwas.me>
+
+       Prefer ticks/hz pairs for some ERC timestamps on 29+
+
+       * lisp/erc/erc-compat.el (erc-compat--current-lisp-time): New macro to
+       prefer ticks/hz pairs on newer Emacs versions because stamps of this
+       form are easier to compare at a glance when used as values for text
+       properties.
+       * lisp/erc/erc-stamp.el (erc-stamp--current-time): Use compat macro.
+       (Bug#60936)
+
+2023-10-03  F. Jason Park  <jp@neverwas.me>
+
+       Exempt text-scale-mode from erc-scrolltobottom-all
+
+       * lisp/erc/erc-goodies.el (erc--scrolltobottom-post-ignore-commands):
+       New variable, a list of commands that should not trigger a re-scroll.
+       (erc--scrolltobottom-on-post-command): Don't `recenter' when the
+       current command appears in `erc--scrolltobottom-post-ignore-commands'.
+       This fixes a bug that prevented managed recentering when disabling
+       `text-scale-mode'.  Thanks to Corwin Brust for reporting this.  Note
+       that this doesn't address any fill-related alignment issues involving
+       `text-scale-mode'.  Nor does it address likely problems involving the
+       erroneous restoration of point after the insertion of invisible lines.
+       (erc-keep-place-enable, erc-keep-place-mode): Adjust hook depth to
+       fall within reserved interval.
+       (erc-keep-place-indicator-enable, erc-keep-place-indicator-mode,
+       erc--keep-place-indicator-on-global-module): Lower hook depth to fall
+       within reserved interval.  Note that this hook has a buffer-local
+       value, so all members run after their global counterparts.
+       (Bug#66073)
+
+2023-10-03  F. Jason Park  <jp@neverwas.me>
+
+       Fix wrong "User" column count in erc-ibuffer
+
+       (ibuffer-make-column-erc-members): Show tally of all server users for
+       non-target buffers, and show correct count for targets.  Thanks to
+       Mattias Engdegård for reporting this.
+       (erc-ibuffer-limit-map): Use "new" `define-ibuffer-filter'
+       API.  (Bug#66191)
+
+2023-10-03  F. Jason Park  <jp@neverwas.me>
+
+       Remove newline from erc-fill regexp
+
+       * lisp/erc/erc-fill.el (erc-fill): Remove newline from character
+       alternative in pattern for skipping past blank and whitespace-only
+       lines.  It seems that as of e61a0398 "regex.c: Consolidate the two
+       analysis functions", Emacs no longer sees a newline-dollar sequence as
+       matching an empty line.  Also lose `save-match-data', which doesn't
+       appear to serve any purpose here.
+
+2023-10-02  Po Lu  <luangruo@yahoo.com>
+
+       Properly translate touch screen events into mouse drag ones
+
+       * doc/lispref/commands.texi (Drag Events): Correct misleading
+       example form and reword subsequent elaboration.
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up)
+       <mouse-drag>: Set posns representing drag start and terminus to
+       mouse position lists, in lieu of pairs between windows and posns
+       employed previously.
+
+2023-10-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/AndroidManifest.xml.in: Exclude non-files from opening in
+       Emacs.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Avert
+       crash should scheme be NULL.
+
+2023-10-01  James Thomas  <jimjoe@gmx.net>
+
+       Exclude current buffer from eww-switch-to-buffer
+
+       * lisp/net/eww.el (eww-switch-to-buffer): Exclude current buffer from
+       the completion list to avoid an extra cycling keystroke.  (Bug#65914)
+
+2023-10-01  Visuwesh  <visuweshm@gmail.com>
+
+       Fix doc-view conversion indicator for svg images
+
+       * lisp/doc-view.el (doc-view-pdf->png-converter-mupdf): Show the
+       correct pdf->svg indicator when producing svg images.  (Bug#62713)
+
+2023-10-01  Ivan Sokolov  <ivan-p-sokolov@ya.ru>
+
+       Sort package-selected-packages on save
+
+2023-10-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Some tramp-tests.el fixes
+
+       * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
+       Improve check.
+       (tramp--test-check-files): Don't err out when "printenv" doesn't
+       exist on remote side.
+       (tramp-test47-read-password): Remove :unstable tag.
+       (tramp-test47-read-otp-password): Rename.
+
+2023-10-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve handling of "--dired" in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-bsd-unames): New defconst.
+       (tramp-sh-handle-file-ownership-preserved-p)
+       (tramp-open-connection-setup-interactive-shell)
+       (tramp-get-ls-command): Use it.
+       (tramp-sh-handle-insert-directory): Improve handling of "--dired".
+
+2023-10-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/input.texi (On-Screen Keyboards): Revise
+       documentation to reflect changes.
+
+       * src/keyboard.c (lispy_function_keys) <KEYCODE_DPAD_CENTER>:
+       Define select key absent out of negligence.
+
+       * src/xterm.c (syms_of_xterm) <x-quit-keysym>: Default to nil.
+       (bug#66040)
+
+2023-10-01  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix indentation in perl-mode (Bug#35925)
+
+       * lisp/progmodes/perl-mode.el (perl--format-regexp): New defconst.
+       (perl--end-of-format-p): New function.
+       (perl-continuation-line-p): Use it.
+       (perl-calculate-indent): Use it.  Make the lines of the formlist stay
+       at column 0.
+
+       * test/lisp/progmodes/cperl-mode-resources/cperl-bug-35925.pl: New
+       test file.
+
+       * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-35925): New
+       test.
+
+2023-10-01  john muhl  <jm@pub.pink>
+
+       Various fixes to lua-ts-mode font-locking
+
+       * lisp/progmodes/lua-ts-mode.el (lua-ts--font-lock-settings):
+       Identify functions and assignments in more places.  Use constant
+       face for goto/labels.  (Bug#66162)
+
+2023-10-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Bump buffers-menu-max-size to 15 on graphical displays
+
+       * lisp/menu-bar.el (buffers-menu-max-size): Bump default to 15 on
+       graphical displays.  (Bug#64398)
+
+2023-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge etc/NEWS from origin/emacs-29
+
+2023-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       4776d90c31b Add new Tramp test
+       ca5b48fd76d Fix tmm-mid-prompt :type (Bug#66179)
+       7447d3df94e Fix tree-sitter indentation conflict with multiple languages
+       bee18e52737 Fix bug#66093 in Tramp
+       7d5fee0feaa Support regeneration of ja-dic.el under '--with-small-ja-...
+
+       Conflicts:
+               make-dist
+
+2023-09-30  Alan Mackenzie  <acm@muc.de>
+
+       Complete yesterday's commit for cl-print.el
+
+       I.e. commit the needed change to the test suite.
+
+       * test/lisp/emacs-lisp/cl-print-tests.el
+       (cl-print-tests-ellipsis-string): Bind cl-print-string-length.
+       Only bind print-length and print-level where they are
+       specifically needed.
+
+2023-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * configure.ac (open_memstream): New checked function
+
+2023-09-30  Po Lu  <luangruo@yahoo.com>
+
+       Eschew non-portable constructs in configure.ac
+
+       * configure.ac (gl_gcc_warnings): Delete `test -o' and simplify
+       long test condition correspondingly.
+
+2023-09-30  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidmenu.c (android_menu_show): Properly encode pane
+       names before deriving Java strings from them.
+
+       * src/sfntfont.c (sfnt_parse_style, sfntfont_list_1): Intern
+       adstyles.
+
+2023-09-30  Po Lu  <luangruo@yahoo.com>
+
+       Fix last change
+
+       * src/search.c (Fre__describe_compiled): Correct typos and
+       pointer signedness missmatch.
+
+2023-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex.c: Remove the old analyzes functions
+
+       After testing and checking that the changes brought by the new
+       consolidated analysis function (which are all cases of improved
+       optimizations) are indeed safe, remove the old code.
+
+       * src/regex-emacs.c (analyze_first_old): Delete function.
+       (analyze_first): Don't call it any more.
+       (skip_noops): Delete function.
+       (mutually_exclusive_aux): Delete function.
+       (mutually_exclusive_p): Don't call it any more.
+
+2023-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex.c: Consolidate the two analysis functions
+
+       We currently have two functions that analyze the bytecode
+       to try and apply optimizations: `analyze_first` and 
`mutually_exclusive_p`.
+       Extract the common code between them into a new function 
`forall_firstchar`,
+       and then rewrite the old ones on top of that one.
+
+       Along the way, we get slightly better analyses that reverts
+       the recent de-optimizations but without re-introducing the
+       corresponding bugs.
+
+       * src/regex-emacs.c (forall_firstchar_1, forall_firstchar): New 
functions.
+       (analyze_first_old): Rename from `analyze_first`.
+       (struct anafirst_data): New struct.
+       (analyze_first_fastmap, analyze_first_null): New functions.
+       (analyze_first): Rewrite to use `forall_firstchar` with those two 
functions.
+       Take a `bufp` rather than a `multibyte` arg.
+       (regex_compile, re_compile_fastmap): Adjust calls accordingly.
+       (struct mutexcl_data): New struct.
+       (mutually_exclusive_one): New function.
+       (mutually_exclusive_p): Rewrite to use `forall_firstchar` with that 
function.
+
+2023-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex.c: Various cosmetic changes
+
+       * src/regex-emacs.c (extract_address): New function.
+       (skip_noops, mutually_exclusive_aux, re_match_2_internal): Use it.
+       (regex_compile): Fix oversight in last commit.
+       (analyze_first): Return a bool rather than an int.
+       (re_compile_fastmap): Simplify accordingly.
+       (re_match_2_internal): Share the common code between the fail and
+       success exit paths.
+
+2023-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/regex-emacs.c (STORE_NUMBER): Make it a plain function
+
+2023-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       search.c (re--describe-compiled): New function (bug#66261)
+
+       This provides a fairly primitive but handy way to see what
+       a regexp compiles to without having to enable REGEX_EMACS_DEBUG
+       and wade through tons of stderr output.
+
+       * doc/lispref/searching.texi (Regexp Problems): Mention
+       `re--describe-compiled`.
+
+       * src/regex-emacs.c (debug_putchar, print_fastmap)
+       (print_partial_compiled_pattern, print_compiled_pattern): Add `dest`
+       argument, and compile also when `ENABLE_CHECKING` is set.
+       (DEBUG_PRINT_COMPILED_PATTERN, print_double_string, regex_compile):
+       Adjust to additional argument.
+
+       * src/regex-emacs.h (print_compiled_pattern): Declare.
+
+       * src/search.c (Fre__describe_compiled): New function.
+       (syms_of_search): Defsubr it.
+
+2023-09-29  Alan Mackenzie  <acm@muc.de>
+
+       Stop truncating strings too much in cl-print-string-with-limit
+
+       This fixes bug#65680, by introducing a new variable limiting
+       the length of a printed string, rather than abusing
+       print-length for that purpose.
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-string-length): New
+       variable.
+       (cl-print-object <string>, cl-print--string-props): Use
+       cl-print-string-length rather than print-length here.
+       (cl-print-string-with-limit): bind cl-print-string-length based
+       on argument `limit'.  Decrement it by a quarter at each trial
+       iteration of printing.
+
+2023-09-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Small clean-up of byte-compile-docstring-style-warn
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-style-warn):
+       Make the code slightly cheaper.  It's still dominated by the
+       huge cost of `byte-compile--wide-docstring-p`, though.
+
+2023-09-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Include `all` in `byte-compile-warnings` defcustom type
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-warnings):
+       Let "All" mean `all`, not `t`.
+
+2023-09-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Detect developer builds in git worktrees as well
+
+       * configure.ac (gcc-warnings): Don't require .git to be a directory.
+       If you wondered why you didn't get any warnings, this may have been
+       the reason.
+
+2023-09-29  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Fix bug in whitespace scanning functions
+
+       c-forward-sws and c-backward-sws were scanning over spaces and
+       linefeeds marked with the string-fence syntax-table text
+       property.  Fix this by (i) removing the WS text properties
+       c-in-sws and c-is-sws from characters when setting the
+       string-fence on them; (ii) checking the syntax of "space"
+       characters when scanning over them.
+
+       * lisp/progmodes/cc-defs.el (c-skip-ws-chars-forward)
+       c-skip-ws-chars-backward, c-put-string-fence): New macros.
+
+       * lisp/progmodes/cc-awk.el
+       (c-awk-set-string-regexp-syntax-table-properties): Use
+       c-put-string-fence.
+
+       * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1):
+       Correct the determination of macro-start.
+       (c-forward-sws, c-backward-sws): Replace skip-chars-forward by
+       c-skip-ws-chars-forward and skip-chars-backward by
+       c-skip-ws-chars-backward.
+       (c-unmark-<>-around-region, c-after-change-unmark-ml-strings)
+       (c-propertize-ml-string-opener): Use c-put-string-fence.
+
+       * lisp/progmodes/cc-mode.el (c-put-syn-tab): Use
+       c-put-string-fence when appropriate.
+
+2023-09-28  Stefan Kangas  <stefankangas@gmail.com>
+
+       Simplify alist lookups in align-region
+
+       * lisp/align.el (align-region): Simplify alist lookup caching.
+
+2023-09-28  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-line.el: Move Touch screen support section to the better 
place.
+
+2023-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex.c (mutually_exclusive_aux) <wordbound>: Remove optimization
+
+       Another case that was too optimistic.  Better use \> or \< rather
+       than \b if you want your regexp to be handled efficiently.
+
+       * src/regex-emacs.c (mutually_exclusive_aux) <wordbound>: Cancel 
optimization.
+       * test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization):
+       New test.
+
+2023-09-28  Juri Linkov  <juri@linkov.net>
+
+       Unquote #'project-uniquify-dirname-transform in 
uniquify-dirname-transform.
+
+       * lisp/uniquify.el (uniquify-dirname-transform): Use , on #'.
+
+2023-09-28  Sam Steingold  <sds@gnu.org>
+
+       There are no file modes on windows and dos
+
+       * lisp/ls-lisp.el (ls-lisp-verbosity): Add `modes` on GNU & Unix
+         (ls-lisp-format): When `modes` is not in `ls-lisp-verbosity',
+          keep just the 1st character of `drwxrwxrwx`.
+
+2023-09-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Windowing): Document
+       `android-keyboard-bell-duration'.
+
+       * java/org/gnu/emacs/EmacsService.java (ringBell): New argument
+       DURATION.
+
+       * src/android.c (android_init_emacs_service): Adjust
+       correspondingly.
+       (android_bell): Provide the duration of the vibration.
+
+       * src/androidfns.c (syms_of_androidfns)
+       <android_keyboard_bell_duration>: New variable.
+
+2023-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/calendar/todo-mode.el: Let-bind `inhibit-read-only`
+
+       rather than `buffer-read-only`.  Applied throughout the file.
+       (todo-date-pattern, todo-edit-item--header, 
todo-convert-legacy-date-time)
+       (todo-read-date): Remove redundant "" arg to `mapconcat`.
+
+2023-09-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/vc/diff-mode.el (diff-apply-buffer): New command (bug#66113).
+
+       (diff-mode-map): Bind 'diff-apply-buffer' to 'C-c C-m a'.
+
+2023-09-27  Juri Linkov  <juri@linkov.net>
+
+       New commands to show replacements as diffs (bug#65854)
+
+       * lisp/dired-aux.el (dired-do-replace-regexp-as-diff): New command.
+
+       * lisp/misearch.el (multi-file-diff-unsaved): New user option.
+       (multi-file-replace-as-diff): New function.
+       (multi-file-replace-regexp-as-diff): New command.
+       (replace-regexp-as-diff): New command.
+       (multi-file-diff-no-select): New function.
+
+2023-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/regex-emacs.c (analyze_first): Fix incorrect optimization
+
+       The optimization was incorrect in a particular corner case.
+       In this fix I just disable it conservatively for more cases because
+       it's not obvious how to fix it while preserving the "good" cases.
+
+       We may find a better fix by using an approach like the one
+       in `mutually_exhaustive_aux`, but for now this is good enough,
+       especially since \{..\} repetitions are not used very frequently.
+
+       * test/src/regex-resources/PTESTS: New test.
+
+2023-09-27  Alan Mackenzie  <acm@muc.de>
+
+       Revert "Don't use ellipses while cl-printing strings."
+
+       This reverts commit 761f8901fffdb155cbcc7f3b5a2329161c2c1826.
+
+2023-09-27  Yuan Fu  <casouri@gmail.com>
+
+       Don't call font-lock-mode in treesit-major-mode-setup (bug#66223)
+
+       * lisp/treesit.el (treesit-major-mode-setup): Remove.
+
+2023-09-27  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Fix treesit-langauge-at-point for elixir-ts-mode.
+
+       The treesit-language-at-point function is only suppose to query the
+       host language.
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--indent-rules): Add missing rules.
+       (elixir-ts--treesit-language-at-point): Update function to only query
+       the host language.
+       * test/lisp/progmodes/elixir-ts-mode-resources/indent.erts: Add test
+       for inline docs.
+
+2023-09-27  Yuan Fu  <casouri@gmail.com>
+
+       Extract feature list of java-ts-mode to a variable
+
+       * lisp/progmodes/java-ts-mode.el:
+       (java-ts-mode--feature-list): New variable.
+       (java-ts-mode): Extract out.
+
+2023-09-26  Jim Porter  <jporterbugs@gmail.com>
+
+       Use 'unwind-protect' in more places in Eshell
+
+       This lets us simplify the logic for how we reset
+       'eshell-current-command' and 'eshell-last-async-procs', as well as
+       improving correctness of Eshell command forms in a few esoteric
+       scenarios.  Additionally, this helps set the stage for better support
+       of background commands in Eshell (bug#66164).
+
+       * lisp/eshell/esh-cmd.el (eshell-cmd-initialize): Remove addition to
+       'eshell-post-command-hook'; this is handled in 'eshell-resume-command'
+       and 'eshell-resume-eval' now.
+       (eshell-resume-command): Handle resetting the prompt as needed.
+       (eshell-resume-eval): Use 'unwind-protect' to ensure that we set
+       'eshell-last-async-procs' and 'eshell-current-comment' at the right
+       times.
+       (eshell-parse-command, eshell-trap-errors, eshell-manipulate): Use
+       'unwind-protect'.
+       (eshell-do-eval): Allow 'eshell-defer' to pass through
+       'unwind-protect' forms without actually calling the unwinding forms
+       (yet).
+
+       * lisp/eshell/esh-proc.el (eshell-kill-process-function)
+       (eshell-reset-after-proc): Make obsolete.  The behavior is now handled
+       in 'eshell-resume-command'.
+       (eshell-gather-process-output, eshell-sentinel)
+       (eshell-interrupt-process, eshell-kill-process, eshell-quit-process)
+       (eshell-stop-process, eshell-continue-process): Run 'eshell-kill-hook'
+       directly.
+
+       * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/throw): New test.
+
+2023-09-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex.c (mutually_exclusive_p): Fix initial value of `loop_beg`
+
+       * src/regex-emacs.c (mutually_exclusive_p): Don't pretend that pattern
+       position 0 has been checked already.
+
+       * test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization):
+       Add a corresponding regression test plus some other related tests
+       I had around.
+
+2023-09-26  Mattias Engdegård  <mattiase@acm.org>
+
+       vc-annotate.el: make a new face if it didn't exist
+
+       * lisp/vc/vc-annotate.el (vc-annotate-lines): Check whether a symbol
+       is a face, not just its existence.  Previously we would sometimes end
+       up using non-faces resulting in complaints from the display system.
+
+2023-09-26  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Fix ediff-toggle-multiframe cond clauses
+
+       * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Remove duplicate
+       cond clause.  Fix parentheses so that trailing 'message' is
+       contained in fallback clause.  Fix indentation.
+
+2023-09-26  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Address defcustom :type warnings
+
+       * lisp/calendar/diary-lib.el (diary-display-function):
+       * lisp/calendar/icalendar.el (icalendar-export-alarms):
+       * lisp/emacs-lisp/elint.el (elint-ignored-warnings):
+       * lisp/mail/sendmail.el (send-mail-function):
+       * lisp/net/gnutls.el (gnutls-verify-error):
+       * lisp/gnus/mm-decode.el (mm-text-html-renderer):
+       * lisp/gnus/message.el (message-send-mail-function): Fix misplaced
+       defcustom :tags (bug#66196).
+       (message-tool-bar): Remove duplicate, overwritten, and nonexistent
+       defcustom :type gmm-tool-bar-list-item.
+       * lisp/progmodes/idlwave.el (idlwave-begin-line-comment): Strip
+       excessive defcustom :type quoting.
+       * lisp/progmodes/ps-mode.el (ps-mode-paper-size): Consolidate paper
+       sizes with same dimensions into a single defcustom menu entry.
+       * lisp/textmodes/glyphless-mode.el (glyphless-mode-types): Remove
+       duplicate defcustom :type choice.
+
+2023-09-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidterm.c (android_draw_fringe_bitmap): Sync with
+       xterm.c.
+
+2023-09-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidterm.c (android_clip_to_row)
+       (android_draw_fringe_bitmap, android_draw_hollow_cursor)
+       (android_draw_bar_cursor): Sync with xterm.c.
+
+       * src/xterm.c (x_draw_fringe_bitmap): Delete unused variables.
+
+2023-09-26  Po Lu  <luangruo@yahoo.com>
+
+       Properly clip overlaid fringe bitmaps
+
+       * src/xterm.c (x_draw_fringe_bitmap): Save clip rectangle from
+       x_clip_to_row, and draw only the intersection between it and the
+       fringe bitmap, for if the bitmap is overlaid, the clip mask will
+       override the clip rectangle.
+       (x_clip_to_row): New argument *RECT_RETURN.  All callers
+       changed.
+
+2023-09-25  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Fix a couple of doc-view user options
+
+       * lisp/doc-view.el (doc-view-pdf->png-converter-function): Fix
+       placement and formatting of function-item :doc strings.
+       (doc-view-odf->pdf-converter-program): Ditto.  Tweak initialization
+       logic to ensure initial value is non-nil and matches :type.  Mention
+       preferred executable soffice first.
+       (doc-view-mode-p): Assume doc-view-odf->pdf-converter-program is
+       always non-nil.
+
+2023-09-25  Mattias Engdegård  <mattiase@acm.org>
+
+       Use heuristic to speed up allocation of small vectors (bug#65491)
+
+       Instead of scanning vector_free_lists from the appropriate size until
+       we find a nonempty bucket, start at the last bucket where we last put
+       something in.  This may favour splitting larger vectors than necessary
+       but in general saves a lot of time in the allocation of small vectors.
+
+       Original patch by Ihor Radchenko.
+
+       * src/alloc.c (last_inserted_vector_free_idx): New variable.
+       (setup_on_free_list): Set it.
+       (allocate_vector_from_block): Use it.
+       (sweep_vectors): Reset it.
+
+2023-09-25  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove useless half of vector_free_lists array (bug#65491)
+
+       The latter half of vector_free_lists was never used in any meaningful
+       way but it did require traversal during allocation and GC.  Reduce it
+       to sizes we actually allocate, with a bucket for bigger ones.
+
+       * src/alloc.c (VECTOR_MAX_FREE_LIST_INDEX): Rename to...
+       (VECTOR_FREE_LIST_ARRAY_SIZE): ... this and adjust its value.
+       (vector_free_lists): Use new, smaller size.
+       (setup_on_free_list, allocate_vector_from_block):
+       Adapt to new vector_free_lists size.
+       (pseudovector_nbytes): New function extracted from...
+       (vectorlike_nbytes): ...here.
+
+2023-09-25  Mattias Engdegård  <mattiase@acm.org>
+
+       macroexp-parse-body: correct parsing of empty body (bug#66136)
+
+       * lisp/emacs-lisp/macroexp.el (macroexp-parse-body):
+       Return an empty body even when there are declarations present.
+       Previously, the last declaration was considered part of the body,
+       which is only correct if the input consists of a single string.
+
+       Reported by Jens Schmidt.
+
+2023-09-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/faces.el (read-face-name): Expose all lambdas to the compiler
+
+2023-09-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make insert-directory-program a defcustom; use "gls" on *BSD
+
+       * lisp/files.el (insert-directory-program): Change into defcustom.
+       Default to "gls" on *BSD and macOS.  (Bug#64791)
+
+2023-09-25  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/os.texi (Desktop Notifications): Revise
+       documentation for android-notifications-notify to reflect
+       changes.
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
+       Convert notification importance to a legacy priority between
+       Android 7.1 and 4.1.
+
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): Remove
+       immutable bitmap constructor, as the underlying Android API
+       functions are erroneously implemented.
+
+       * src/android.c (android_init_emacs_pixmap): Cease searching for
+       deleted constructor.
+       (android_create_pixmap_from_bitmap_data): Create a pixmap, then
+       fill it with the contents of the bitmap, in lieu of employing
+       the aforementioned constructor.
+
+       * src/androidselect.c (Fandroid_notifications_notify): Revise
+       doc string.
+
+2023-09-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Move bind-key.el from lisp/use-package directory
+
+       * lisp/use-package/bind-key.el: Move file from here...
+       * lisp/bind-key.el: ...to here.  (Bug#62751)
+
+2023-09-24  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (getClipboardData): Correct typo in comment.
+
+       * src/androidvfs.c (android_authority_open)
+       (android_saf_delete_document): Circumvent JNI dynamic method
+       dispatch.
+
+2023-09-24  João Távora  <joaotavora@gmail.com>
+
+       Flymake: unbreak tests
+
+       Flymake's normal behaviour implies catching the errors of misbehaving
+       backends.  This behavior is tested by Flymake's automated tests, built
+       on top of ERT, which means that debug-on-error is always t in the
+       bodies of said tests (I don't know the rationale for this, but it's
+       been like this for some time)
+
+       Flymake used to shun usage of 'condition-case-unless-debug' because of
+       this.  But since that macro is pretty useful, I started using it
+       again, and as a consequence, tests started breaking.
+
+       The solution is to:
+
+       1. stop requiring the deprecated legacy backend 'flymake-proc' (which
+       by design, always errors, except in rare circumstances).
+
+       2. deliberately set debug-on-error to nil around the "dummy backends""
+       test.
+
+       * lisp/progmodes/flymake.el (flymake-proc): Don't require it by
+       default.
+
+       * test/lisp/progmodes/flymake-tests.el:
+       (dummy-backends): Make robust to ert's debug-on-error setting.
+
+2023-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Use delete-region in Gnus message yanking
+
+       See Bug#66106
+
+       * lisp/gnus/gnus-msg.el (gnus-summary-reply): Not erase-buffer. The
+       intention was to narrow the buffer to the headers, and then delete
+       just those headers. But erase-buffer doesn't respect narrowing, so
+       use (delete-region (point-min) (point-max)) instead.
+
+2023-09-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       476933b2356 ; * lisp/simple.el (shell-command-to-string): Fix quotation.
+       e27ec0e4144 Improve remote-file-name-inhibit-cache :type
+
+2023-09-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       c966e7ec381 * lisp/net/tramp.el (tramp-skeleton-write-region): Fix mi...
+       a2953ea3003 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       5cba5ee8905 Fix tree-sitter range update function
+       41333cb2d5f ; * etc/NEWS: Fix typos.
+       a3a9ed40d89 ; * CONTRIBUTE: Clarify "mark" wrt NEWS entries.  (Bug#66...
+       0a6a9ac6f14 ; * etc/NEWS: Fix last change.
+       5611274bbda Announce handling 'org-protocol' URI scheme in NEWS
+
+       # Conflicts:
+       #       lisp/treesit.el
+
+2023-09-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       6bc3800000c Ensure ucs-names is consistent with Unicode names
+       93134bb9c2f Make key-translate actually work
+       85f49a9bc8b Update to Org 9.6.9
+       2826c26537c Add leim subdirectories to emacs package
+
+2023-09-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       71a1f0fdc9e Add more missing builtin package declarations
+       94705f83005 ; Fix last change in shell-command-to-string
+
+2023-09-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       94bef169e2e Document shell-command-to-string security considerations
+       b74d9e8bad9 Fix shell-indirect-setup-hook :type (Bug#66051)
+       f549d4330f3 Remove column quoting from sqlite-mode
+       cf7efabe3ff Add indentation rules for type_arguments
+
+2023-09-23  Po Lu  <luangruo@yahoo.com>
+
+       Enlarge dumped_data
+
+       * src/w32heap.c (DUMPED_HEAP_SIZE): Increase to 24 MiB, the bare
+       minimum necessary to build a 32-bit Emacs.
+
+2023-09-23  Po Lu  <luangruo@yahoo.com>
+
+       Correct comparisons between size_t and ssize_t
+
+       * src/sfnt.c (sfnt_read_table_directory, sfnt_read_cmap_format_0)
+       (sfnt_read_cmap_format_2, sfnt_read_cmap_format_4)
+       (sfnt_read_cmap_format_6, sfnt_read_cmap_format_8)
+       (sfnt_read_cmap_format_12, sfnt_read_cmap_format_14)
+       (sfnt_read_cmap_table_1, sfnt_read_cmap_table)
+       (sfnt_read_head_table, sfnt_read_hhea_table, sfnt_read_maxp_table)
+       (sfnt_read_glyf_table, sfnt_read_hmtx_table, sfnt_read_name_table)
+       (sfnt_read_meta_table, sfnt_read_ttc_header)
+       (sfnt_read_default_uvs_table, sfnt_read_nondefault_uvs_table)
+       (sfnt_read_fvar_table, sfnt_read_gvar_table, sfnt_read_avar_table)
+       (sfnt_read_cvar_table, sfnt_read_OS_2_table):
+
+       * src/sfntfont.c (sfnt_enum_font): Revise code written with only
+       signed `long' in mind to properly compare size_t values with
+       ssize_t.
+
+2023-09-23  Po Lu  <luangruo@yahoo.com>
+
+       Properly apply XY offsets to compound component glyphs
+
+       * src/sfnt.c (sfnt_decompose_compound_glyph): Avoid overwriting
+       X and Y if defer_offsets is false.
+
+2023-09-23  Po Lu  <luangruo@yahoo.com>
+
+       Display background dialogs using the correct style
+
+       * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Wrap
+       CONTEXT within EmacsStyle such that dialogs are displayed in the
+       same style used by activities.
+
+2023-09-22  Philip Kaludercic  <philipk@posteo.net>
+
+       File-expand DIRECTORY argument to vc-clone
+
+       * lisp/vc/vc.el (vc-clone): Expand directory to avoid issues when
+       invoking the subprocess.  (Bug#66115)
+
+2023-09-22  Po Lu  <luangruo@yahoo.com>
+
+       Enable opening mailto URLs under Android
+
+       * doc/emacs/android.texi (Android Startup): Mention how mailto
+       URLs are treated by the emacsclient wrapper.
+
+       * java/AndroidManifest.xml.in: Register `mailto' scheme filters
+       for EmacsOpenActivity.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (startEmacsClient):
+       Extract code that starts Emacs when it isn't already running,
+       and take a list of arguments rather than a single file name.
+       (onCreate): If the scheme is `mailto', escape the URI and call
+       `message-mailto'.
+
+2023-09-21  João Távora  <joaotavora@gmail.com>
+
+       Flymake: new 'short' option for flymake-show-diagnostics-at-end-of-line
+
+       bug#66041
+
+       * lisp/progmodes/flymake.el (Version): Bump to 1.3.6
+       (flymake-eol-information-face): New face.
+       (flymake-show-diagnostics-at-end-of-line): Support new value short.
+       (flymake--eol-overlay-summary): Rework.
+       (flymake--highlight-line):
+
+2023-09-21  Philip Kaludercic  <philipk@posteo.net>
+
+       package-tests.el: Add test Bug#65475
+
+       * test/lisp/emacs-lisp/package-tests.el (with-package-test): Bind
+       package-selected-packages.
+       (package-test-bug65475): Add test.
+
+2023-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/regex-emacs.c (mutually_exclusive_aux) [ENABLE_CHECKING]: Fix if
+
+2023-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       regex-emacs.c (mutually_exclusive_aux): Rework again
+
+       Rework the way we handle loops.  This new code does not really work
+       better than the previous one, but it has the advantage of being "fail
+       safe" and also that we can dynamically check if our assumptions about
+       the shape of the bytecode are satisfied or not.
+
+       * src/regex-emacs.c (mutually_exclusive_aux): Replace `done_beg` and
+       `done_end` with `loop_beg` and `loop_end`.
+       (mutually_exclusive_p): Adjust accordingly.
+       (analyze_first): Fix incorrect assertion.
+
+2023-09-21  João Távora  <joaotavora@gmail.com>
+
+       Flymake: fix bug in end-of-line overlay updates
+
+       * lisp/progmodes/flymake.el (flymake--update-eol-overlays): Rename
+       from flymake--eol-overlay-update and fix.
+       (flymake--handle-report): Call flymake--update-eol-overlays.
+
+2023-09-21  Gerd Möllmann  <gerd@gnu.org>
+
+       macOS: only cp emacs.pdmp when installing (bug#66022)
+
+       * Makefile.in (install-arch-dep): install emacs.pdmp here for
+       self-contained build
+       * nextstep/Makefile.in (${ns_applibexecdir}/Emacs.pdmp): Don't cp
+       emacs.pdmp if self-contained build.
+
+2023-09-21  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_query_tree, android_get_geometry)
+       (android_translate_coordinates, android_wc_lookup_string)
+       (android_get_keysym_name, android_browse_url)
+       (android_query_battery):
+
+       * src/androidmenu.c (android_dismiss_menu, android_menu_show):
+       Circumvent JNI dynamic method dispatch overhead.
+
+2023-09-21  João Távora  <joaotavora@gmail.com>
+
+       Flymake: fix eol overlay flicker due to untimely overlay deletion
+
+       This commit helps in ensuring that `flymake--eol-overlay-update' is
+       only called once per cycle.
+
+       * lisp/progmodes/flymake.el (flymake--delete-overlay): Don't
+       delete eol overlay here.
+       (flymake--eol-overlay-summary): Rework again.
+       (flymake--eol-overlay-update): Delete eol overlay here.
+       (flymake-start): Make sure to set all backends reported-p to nil.
+
+2023-09-21  João Távora  <joaotavora@gmail.com>
+
+       Flymake: more fixes to the end-of-line overlays
+
+       bug#66041
+
+       * lisp/progmodes/flymake.el (flymake--eol-overlay-summary): Rework.
+       (flymake--eol-overlay-update): Rework.
+       (flymake--highlight-line): Simplify.
+
+2023-09-21  João Távora  <joaotavora@gmail.com>
+
+       Flymake: do use condition-case-unless-debug
+
+       The reasons previously highlighted in the FIXME either don't apply
+       anymore or don't outweigh the advantages of using this macro.
+
+       * lisp/progmodes/flymake.el (flymake--run-backend): Do use
+       condition-case-unless-debug.
+
+2023-09-21  João Távora  <joaotavora@gmail.com>
+
+       Flymake: more fixes to flymake--highlight-line
+
+       Make it robust to diagonstics with invalid bounds.
+
+       * lisp/progmodes/flymake.el (flymake--highlight-line): Robustify.
+
+2023-09-20  João Távora  <joaotavora@gmail.com>
+
+       Flymake: Fix bug in flymake-diagnostics
+
+       * lisp/progmodes/flymake.el (flymake-diagnostics): Fix bug.
+
+2023-09-20  Jim Porter  <jporterbugs@gmail.com>
+
+       Flymake: use 'compilation-info' as basis for "note" faces
+
+       bug#66041
+
+       * lisp/progmodes/flymake.el (flymake-note-echo)
+       (flymake-note-echo-at-eol): Inherit from 'compilation-info'.
+
+2023-09-20  Alan Mackenzie  <acm@muc.de>
+
+       Insert symbol `debug' into two condition-case handlers
+
+       This fixes bug#65622.  Also correct a mismatch between a
+       function to which advice is added, and that from which it is
+       removed.
+
+       * lisp/emacs-lisp/macroexp.el (internal-macroexpand-for-load):
+       Add a `debug' to the condition-case handler for `error', so
+       that a useful backtrace will be produced on a macro expansion
+       error.
+
+       * lisp/progmodes/elisp-mode.el (elisp--local-variables): Add
+       `debug' to a condition-case handler, as above.  In the
+       advice-remove call, give the same function, macroexpand-1, as
+       in the corresponding advice-add call.
+
+2023-09-20  João Távora  <joaotavora@gmail.com>
+
+       Flymake: fix many problems with the end-of-line overlays
+
+       bug#66041
+
+       * lisp/progmodes/flymake.el (flymake-diagnostics): Rewrite.
+       (flymake--really-all-overlays): Rename from flymake--overlays.
+       (flymake--delete-overlay): Complexify.
+       (flymake--highlight-line): Rework.
+       (flymake--handle-report): Update eol overlays
+       (flymake-mode): use flymake--really-all-overlays.
+       (flymake-after-change-function): Simplify.
+       (flymake-goto-next-error): Don't use flymake--overlays.
+
+2023-09-20  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp.el (comp-compute-dominator-tree): Simplify.
+
+2023-09-20  João Távora  <joaotavora@gmail.com>
+
+       Eglot: better consider diagnostics at point on code action requests
+
+       * lisp/progmodes/eglot.el (eglot--code-action-bounds): Rename from
+       eglot--code-action-bounds.  Rework to consider diagnostics.
+       (eglot-code-actions): Use new eglot--code-action-bounds.
+       (eglot--code-action): Use new eglot--code-action-bounds.
+
+       * etc/EGLOT-NEWS: mention change.
+
+       GitHub-reference: https://github.com/joaotavora/eglot/discussions/1295
+
+2023-09-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Re-enable -Wswitch when building with Clang
+
+       * configure.ac (WERROR_CFLAGS): Remove -Wno-switch, inserted a decade
+       ago but doesn't seem to be needed now.  Please tell me if you
+       observe otherwise.
+
+2023-09-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Reorder type tests for efficiency
+
+       * src/fns.c (Flength, Fdelete, Fnreverse):
+       Test types in descending order of frequency, roughly.
+
+2023-09-20  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/alloc.c: (cleanup_vector) Dispatch on pseudovector type
+
+       Enable the compiler to generate a jump table instead of a chain of
+       conditional branches.
+
+2023-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix off-by-1 typo in vadd_to_log
+
+       * src/xdisp.c (vadd_to_log): Fix off-by-1 typo that I introduced
+       in commit fbee6265a72a4129d2efbf15a622b13e8b4aae9f
+       dated Thu Aug 13 13:48:28 2015 -0700.
+       Problem and fix reported by Robert Pluim (Bug#66098#11).
+
+2023-09-19  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el (tab-bar-auto-width): Don't check if width changes.
+
+       Remove the condition '(< curr-width prev-width)' that was intended to 
check
+       if the width stopped to change.  But actually it's not only unneeded,
+       but causes a bug: when the name contains a combining character, then
+       the width doesn't change, and the name truncation stops too early.
+
+2023-09-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about duplicated :tag strings in defcustom choices
+
+       It is bad user experience when two menu items have identical labels.
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--check-cus-type): Add check.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test-defcustom-type): Add test case.
+
+2023-09-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't use pointer arithmetic for pointer tagging (bug#65491)
+
+       This makes for safer code when tagging null pointers in particular,
+       since pointer arithmetic on NULL is undefined and therefore can be
+       assumed, by the compiler, not to occur.
+
+       * src/lisp.h (untagged_ptr): Remove.
+       (TAG_PTR): Cast to uintptr_t instead of untagged_ptr.
+
+2023-09-19  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Update modus-themes to their version 4.3.0
+
+       * doc/misc/modus-themes.org
+       (Option for reloading the theme on custom change)
+       (Option for disabling other themes while loading Modus)
+       (Option for completion framework aesthetics)
+       (Option for org-mode block styles, Get a single color from the palette)
+       (Add padding to mode line, Note on SHR fonts)
+       (Note on goto-address-mode faces): Use correct markup for 'nil'.
+       (Custom Org todo keyword and priority faces): Reword statements and
+       update the value of sample configuration blocks.
+       (Use more spacious margins or padding in Emacs frames): Mention the
+       'spacious-padding' package on GNU ELPA.
+       (Full support for packages or face groups): Document newly supported
+       packages and remove those that are no longer covered explicitly.
+       (Indirectly covered packages): Note that css-mode is covered
+       indirectly.
+       (Acknowledgements): Expand list of people who have helped with the
+       project.
+
+       * etc/themes/modus-operandi-deuteranopia-theme.el (unless): Add
+       theme-autoload cookie and relevant metadata.
+       (modus-operandi-deuteranopia): Expand or tweak the palette, where
+       necessary.
+
+       * etc/themes/modus-operandi-theme.el (unless): Add theme-autoload
+       cookie and relevant metadata.
+       (modus-operandi): Expand or tweak the palette, where necessary.
+       * etc/themes/modus-operandi-tinted-theme.el (unless): Add
+       theme-autoload cookie and relevant metadata.
+       (modus-operandi-tinted): Expand or tweak the palette, where necessary.
+
+       * etc/themes/modus-operandi-tritanopia-theme.el (unless): Add
+       theme-autoload cookie and relevant metadata.
+       (modus-operandi-tritanopia): Expand or tweak the palette, where
+       necessary.
+
+       * etc/themes/modus-vivendi-deuteranopia-theme.el (unless): Add
+       theme-autoload cookie and relevant metadata.
+       (modus-vivendi-deuteranopia): Expand or tweak the palette, where
+       necessary.
+
+       * etc/themes/modus-vivendi-theme.el (unless): Add theme-autoload
+       cookie and relevant metadata.
+       (modus-vivendi): Expand or tweak the palette, where necessary.
+
+       * etc/themes/modus-vivendi-tinted-theme.el (unless): Add
+       theme-autoload cookie and relevant metadata.
+       (modus-vivendi-tinted): Expand or tweak the palette, where necessary.
+
+       * etc/themes/modus-vivendi-tritanopia-theme.el (unless): Add
+       theme-autoload cookie and relevant metadata.
+       (modus-vivendi-tritanopia): Expand or tweak the palette, where
+       necessary.
+
+       * etc/themes/modus-themes.el (modus-themes-preset-overrides-faint)
+       (modus-themes-preset-overrides-intense)
+       (modus-themes-preset-overrides-warmer): Make minor tweaks.
+       (modus-themes--annotate-theme, modus-themes--select-prompt)
+       (modus-themes--toggle-theme-p, modus-themes-toggle)
+       (modus-themes--list-colors-prompt, modus-themes--heading)
+       (modus-themes-faces): Refine internal functions.
+
+       The detailed release notes are available here:
+       <https://protesilaos.com/codelog/2023-09-19-modus-themes-4-3-0/>.
+
+2023-09-19  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_exception_check_1)
+       (android_exception_check_2, android_exception_check_3)
+       (android_exception_check_4): Permit each object to be NULL.
+       (android_browse_url): Release VALUE if an exception transpires.
+
+2023-09-19  Alan Mackenzie  <acm@muc.de>
+
+       Don't use ellipses while cl-printing strings.
+
+       This fixes bug#65680.  The former use of print-length as a
+       bound on the length of the printed string was erroneous,
+       causing error messages preceding backtracees to get
+       unnecessarily truncated to 50 characters.
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-object <string>):
+       Remove the substitution of ellipses for long strings.
+
+       * test/lisp/emacs-lisp/cl-print-tests.el
+       (cl-print-tests-ellipsis-string): Remove this test.
+
+2023-09-19  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/emacs-lisp/comp.el (comp-final1): Clean-up unused form.
+
+       * lisp/emacs-lisp/comp.el (comp-op-to-fun): Use `string-replace'.
+
+2023-09-19  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit--update-ranges-local
+
+       * lisp/treesit.el (treesit--update-ranges-local): Don't forget to set
+       local parser's range when creating it.
+
+2023-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve XUNTAG comment
+
+       * src/lisp.h (XUNTAG): Shorten (and I hope clarify) new comment.
+
+2023-09-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't use pointer arithmetic for untagging Lisp values (bug#65491)
+
+       * src/lisp.h (XUNTAG):
+       Instead of casting a Lisp value to char * and subtracting the tag,
+       cast it to a suitable integral type and work on that.
+
+       This should result in identical or at least equivalent code, except
+       that it avoids potential problems arising from the restrictions on
+       pointer arithmetic in C.  In particular, a null pointer can be neither
+       an operand in nor the result of pointer arithmetic.
+
+       C compilers know this and would, prior to this change, optimise
+
+         XUNTAG(obj, Lisp_Int0, mytype) != NULL
+
+       to 1.  This means, for example, that make_pointer_integer and
+       XFIXNUMPTR could not be entrusted with null pointers, and
+       next_vector in alloc.c was unsafe to use.
+
+2023-09-18  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix another race condition when waiting for Eshell processes
+
+       When checking if the other processes in our pipeline are "alive", we
+       also need to check whether their sentinels are finished.  Otherwise,
+       we might proceed with command evaluation while one of the other
+       processes is still cleaning up.
+
+       * lisp/eshell/esh-proc.el (eshell-process-active-p): New function...
+       (eshell-wait-for-process)
+       * lisp/eshell/esh-cmd.el (eshell-resume-command): ... use it.
+
+2023-09-18  Andrea Corallo  <acorallo@gnu.org>
+
+       * Fix comp-function-type-spec for non symbol input (bug#66021)
+
+       * lisp/emacs-lisp/comp.el (comp-function-type-spec): Make it robust
+       against closures (bug#66021).
+
+2023-09-18  Po Lu  <luangruo@yahoo.com>
+
+       Correct build on systems without PAGE_MASK
+
+       * exec/exec.c (write_load_command) <PAGE_MASK, PAGE_SIZE>:
+       Uniformly define even if !HAVE_GETPAGESIZE.
+
+2023-09-18  Po Lu  <luangruo@yahoo.com>
+
+       Correct crash in child processes under armeabi Android
+
+       * exec/trace.c (process_system_call) <READLINKAT_SYSCALL>:
+       Examine tracee->waiting_for_syscall and avoid rewriting user
+       arguments if a system call is presently being executed by the
+       kernel.  Reported by Romário Rios <romariorios@protonmail.com>.
+
+2023-09-18  Danny Freeman  <danny@dfreeman.email>
+
+       Offset ranges before applying embedded tree-sitter parser
+
+       This feature would allow treesitter major modes to easily specify
+       offsets when using embeded parsers.  A potential use case for this is
+       javascript template strings, when we want to apply a different parser
+       to the string's contents, but do not want to include the template
+       string's delimiters.
+
+       * lisp/treesit.el
+       (treesit-query-range): Accept an optional offest arg, apply the offset
+       to all returned ranges.
+       (treesit-range-rules): Accept an optional :offset keyword arg to adjust
+       ranges an embded parser is applied to.
+       (treesit-update-ranges): Forward optional :offset setting from
+       `treesit-range-rules' to `treesit-query-rang'.
+       * test/src/treesit-tests.el
+       (treesit-range-offset): Tests the new offset functionality.
+
+2023-09-18  Jim Porter  <jporterbugs@gmail.com>
+
+       Use 'eshell-with-temp-command' (indirectly) to parse Eshell script files
+
+       * lisp/eshell/esh-cmd.el (eshell--region-p): New function.
+       (eshell-with-temp-command, eshell-parse-command): Support
+       '(:file . FILENAME)' to use the contents of FILENAME.
+
+       * lisp/eshell/em-script.el (eshell-source-file): Call
+       'eshell-parse-command' and use backticks.
+
+2023-09-18  Po Lu  <luangruo@yahoo.com>
+
+       Optimize damage region tracking under Android
+
+       * java/org/gnu/emacs/EmacsDrawLine.java (perform):
+
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Call
+       damageRect with integer coordinates in lieu of consing a new
+       Rect.
+
+       * java/org/gnu/emacs/EmacsDrawable.java (damageRect) <IIII>:
+       Declare a new variant of damageRect, accepting four integers
+       designating the extents of the damage rectangle.
+
+       * java/org/gnu/emacs/EmacsPixmap.java (damageRect) <IIII>: New
+       stub.
+
+       * java/org/gnu/emacs/EmacsView.java (damageRect) <IIII>:
+       Implement this overloaded variant of damageRect.
+
+       * java/org/gnu/emacs/EmacsWindow.java (damageRect): Ditto.
+
+       * src/android.c (android_init_emacs_drawable)
+       (android_init_emacs_window): Move search for `damageRect' to
+       android_init_emacs_window.
+       (android_damage_window): Call IIII variant of `damageRect' to
+       avoid consing a new rectangle.  Ameliorate dynamic method
+       dispatch overhead.
+
+2023-09-18  F. Jason Park  <jp@neverwas.me>
+
+       Spoof channel users in erc-button--phantom-users-mode
+
+       * lisp/erc/erc-backend.el (erc--cmem-from-nick-function): Update
+       forward declaration.
+       (erc-server-PRIVMSG): Use new name for `erc--user-from-nick-function',
+       now `erc--cmem-from-nick-function'.
+       * lisp/erc/erc-button.el (erc-button--phantom-users,
+       erc-button--phantom-cmems): Rename former to latter.
+       (erc-button--fallback-user-function,
+       erc-button--fallback-cmem-function): Rename former to latter.
+       (erc--phantom-channel-user, erc--phantom-server-user): New superficial
+       `cl-struct' definitions "subclassing" `erc-channel-user' and
+       `erc-server-user'.  Note that these symbols lack an `erc-button'
+       prefix.
+       (erc-button--add-phantom-speaker): Look for channel member instead of
+       server user, creating one if necessary.  Return a made-up
+       `erc-channel-user' along with a fake `erc-server-user'.
+       (erc-button--get-phantom-user, erc-button--get-phantom-cmem): Rename
+       former to latter.
+       (erc-button--phantom-users-mode, erc-button--phantom-users-enable,
+       erc-button--phantom-users-disable): Use updated "cmem" names for
+       function-valued interface variables and their implementing functions.
+       Remove obsolete comment.
+       (erc-button-add-nickname-buttons): Attempt to query fallback function
+       for channel member instead of server user.
+       * lisp/erc/erc.el (erc--user-from-nick-function,
+       erc--cmem-from-nick-function): Rename former to latter.
+       (erc--examine-nick, erc--cmem-get-existing): Rename former to
+       latter.  (Bug#60933)
+
+2023-09-18  F. Jason Park  <jp@neverwas.me>
+
+       Run erc--scrolltobottom-on-pre-insert unconditionally
+
+       * lisp/erc/erc-goodies.el (erc--scrolltobottom-all): Pass `no-force'
+       argument to `set-window-start'.
+       (erc--scrolltobottom-on-pre-insert): Convert from generic to normal
+       function and drop `erc-input' method completely.  A non-nil `insertp'
+       slot means a message is marked for insertion in the read-only portion
+       of the buffer, above the prompt.  But conditionally restoring window
+       parameters based on that flag is insufficient because the window still
+       needs adjusting whenever input is typed, regardless of whether it's
+       erased or "inserted."  (Bug#64855)
+
+2023-09-18  F. Jason Park  <jp@neverwas.me>
+
+       Simplify erc--fill-module-docstring
+
+       * lisp/erc/erc-common.el (erc--fill-module-docstring): Don't run hooks
+       for major mode when filling.  Prefer `lisp-data-mode' to
+       `emacs-lisp-mode'.
+
+2023-09-18  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix running background commands via 'eshell-command'
+
+       This regressed (I believe) due to 2ec41c174f9.
+
+       * lisp/eshell/esh-cmd.el (eshell-resume-eval): Check for non-nil
+       'retval' instead of for a process list (nil is also a technically a
+       process list!).
+
+       * test/lisp/eshell/eshell-tests.el
+       (eshell-test/eshell-command/background-pipeline): Remove unnecessary
+       'copy-tree'.
+       (eshell-test/eshell-command/output-buffer/sync)
+       (eshell-test/eshell-command/output-buffer/async): New tests.
+
+2023-09-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete commented out code from cperl-mode.el
+
+       * lisp/progmodes/cperl-mode.el: Delete some commented out code.
+
+2023-09-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Rename describe-map-tree to help--describe-map-tree
+
+       This function should have been made internal in the first place.
+       * lisp/help.el (help--describe-map-tree): Rename from
+       'describe-map-tree'.  Keep old name as an obsolete alias, and update
+       all callers.
+
+2023-09-17  Mattias Engdegård  <mattiase@acm.org>
+
+       Expanded defcustom type byte-compilation warnings (bug#65852)
+
+       Warn about more kinds of mistakes in :type arguments of `defcustom`
+       and `define-widget`.  These include:
+
+       - misplaced keyword args, as in (const red :tag "A reddish hue")
+       - missing subordinate types, as in (repeat :tag "List of names")
+         or (choice list string)
+       - duplicated values, as in (choice (const yes) (const yes))
+       - misplaced `other` member, as in
+         (choice (const red) (other nil) (const blue))
+       - various type name mistakes, as in (vector bool functionp)
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile--defcustom-type-quoted)
+       (byte-compile-nogroup-warn): Remove.
+       (byte-compile-normal-call): Remove call to the above.
+       (bytecomp--cus-warn, bytecomp--check-cus-type)
+       (bytecomp--custom-declare): New.
+
+2023-09-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Improve org-babel-execute:eshell docstring
+
+       * lisp/org/ob-eshell.el (org-babel-execute:eshell): Improve docstring.
+
+2023-09-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make obsolete flymake proc less prominent in manual
+
+       * doc/misc/flymake.texi: Don't mention obsolete legacy support on the
+       first page.  It is still documented in a separate chapter.
+
+2023-09-17  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make "toolbox" and "flatpak" multi-hop completion capable in Tramp
+
+       * lisp/net/tramp-container.el (tramp-skeleton-completion-function):
+       Bind `tramp-verbose' to 0.
+       (tramp-toolbox--completion-function)
+       (tramp-flatpak--completion-function): Use METHOD as argument.
+       Use `tramp-skeleton-completion-function'.
+       (tramp-completion-multi-hop-methods): Add "toolbox" and "flatpak".
+
+2023-09-17  Christophe Troestler  <Christophe.Troestler@umons.ac.be>
+
+       Add prettify-symbols configuration to 'rust-ts-mode'
+
+       * lisp/progmodes/rust-ts-mode.el
+       (rust-ts-mode-prettify-symbols-alist): New variable.
+       (rust-ts-mode--prettify-symbols-compose-p): New function.
+       (rust-ts-mode): Use it.
+
+2023-09-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Support Unicode version 15.1
+
+       * admin/unidata/BidiBrackets.txt:
+       * admin/unidata/BidiMirroring.txt:
+       * admin/unidata/Blocks.txt:
+       * admin/unidata/IdnaMappingTable.txt:
+       * admin/unidata/NormalizationTest.txt:
+       * admin/unidata/PropertyValueAliases.txt:
+       * admin/unidata/ScriptExtensions.txt:
+       * admin/unidata/Scripts.txt:
+       * admin/unidata/SpecialCasing.txt:
+       * admin/unidata/UnicodeData.txt:
+       * admin/unidata/confusables.txt:
+       * admin/unidata/copyright.html:
+       * test/manual/BidiCharacterTest.txt:
+       * admin/unidata/emoji-data.txt:
+       * admin/unidata/emoji-sequences.txt:
+       * admin/unidata/emoji-test.txt:
+       * admin/unidata/emoji-variation-sequences.txt:
+       * admin/unidata/emoji-zwj-sequences.txt: Update from Unicode data
+       files.
+       * admin/notes/unicode: Update instructions.
+       * lisp/international/characters.el: Update 'char-width-table'
+       data.
+       * etc/NEWS: Announce support for Unicode 15.1.
+
+2023-09-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       bcf287bd114 typescript-ts-mode.el: Minor touches
+       67c82710764 Improve namespacing situation WRT to recent change in typ...
+       33ff4fed03d Make move-end-of-line in minibuffer consistent (bug#65980)
+
+2023-09-17  Po Lu  <luangruo@yahoo.com>
+
+       Speed up Android context menu generation
+
+       * src/androidmenu.c (android_menu_show, android_dialog_show):
+       Circumvent JNI dynamic method dispatch overhead.
+
+2023-09-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp messages
+
+       * lisp/net/tramp-message.el (tramp-debug-message): Publish the
+       name of the debug file name.
+
+2023-09-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make "kubernetes" multi-hop completion capable in Tramp
+
+       * lisp/net/tramp-container.el (tramp-skeleton-completion-function):
+       New defmacro.
+       (tramp-container--completion-function): Use it.
+       (tramp-kubernetes--completion-function): Use METHOD as argument.
+       Use `tramp-skeleton-completion-function'.
+       (tramp-skeleton-kubernetes-vector): New defmacro.
+       (tramp-kubernetes--current-context)
+       (tramp-kubernetes--current-context-data): Use it.
+       (tramp-completion-multi-hop-methods): Add "kubernetes".
+
+2023-09-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tramp-otp-password-prompt-regexp
+
+       * lisp/net/tramp.el (tramp-otp-password-prompt-regexp):
+       Use `tramp-compat-password-colon-equivalents'.
+
+2023-09-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Revert "Mark two tests as expensive"
+
+       This reverts commit 1d952078c0c45fc095795294351a4a2ee7e6c253.
+
+2023-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Don't use pointer arithmetic for untagging Lisp values"
+
+       This reverts commit 056c99a34c143e1b5162366db07a143ac2b10631.
+       It broke compilation of 32-bit build --with-wide-int.
+
+2023-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "* src/lisp.h (XUNTAG): Work on 32-bit --with-wide-int builds"
+
+       This reverts commit c0788f0c476f094a91f7b20f41d0fe50b5b19f9d.
+       Let's finish discussing this before rushing to push.
+
+2023-09-16  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/lisp.h (XUNTAG): Work on 32-bit --with-wide-int builds
+
+       This eliminates a compiler warning for that configuration
+       (see bug#65491).
+
+2023-09-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't use pointer arithmetic for untagging Lisp values
+
+       * src/lisp.h (XUNTAG):
+       Instead of casting a Lisp value to char * and subtracting the tag,
+       cast it to a suitable integral type and work on that.
+
+       This should result in identical or at least equivalent code, except
+       that it avoids potential problems arising from the restrictions on
+       pointer arithmetic in C.  In particular, a null pointer can be neither
+       an operand in nor the result of pointer arithmetic.
+
+       C compilers know this and would, prior to this change, optimise
+
+         XUNTAG(obj, Lisp_Int0, mytype) != NULL
+
+       to 1.  This means, for example, that make_pointer_integer and
+       XFIXNUMPTR could not be entrusted with null pointers, and
+       next_vector in alloc.c was unsafe to use.
+
+2023-09-16  Mattias Engdegård  <mattiase@acm.org>
+
+       More accurate static vector block size assertion
+
+       * src/alloc.c: The size of a vector block is bound by the number of
+       words, not bytes, represented by the pseudovector header RESTSIZE
+       field, because that limits how big a PVEC_FREE object can be.
+
+2023-09-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add missing builtin package declarations
+
+       * lisp/finder.el (finder--builtins-alist): Add new package
+       directories 'leim' and 'obsolete' as part of the 'emacs' package.
+       Add new package directory 'use-package' as part of the
+       'use-package' package.
+       * lisp/net/eudc-capf.el:
+       * lisp/net/eudcb-ecomplete.el:
+       * lisp/net/eudcb-macos-contacts.el:
+       * lisp/net/eudcb-mailabbrev.el: Declare library as part of the
+       'eudc' package.
+       * lisp/mail/ietf-drums-date.el: Declare library as part of the
+       'ietf-drums' package.
+       * lisp/image/image-dired-dired.el:
+       * lisp/image/image-dired-external.el:
+       * lisp/image/image-dired-tags.el:
+       * lisp/image/image-dired-util.el: Declare library as part of the
+       'image-dired' package.
+       * lisp/emacs-lisp/oclosure.el:
+       * lisp/keymap.el:
+       * lisp/progmodes/c-ts-common.el: Declare library as part of the
+       'emacs' package.  (Bug#62751)
+
+2023-09-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       755ae813a6a ; Declare some treesit.c functions in typescript-ts-mode.el.
+       89fa204b706 Fix loss of encrypted data in plstore.el
+       d9a1175a611 Close SQL database when corresponding 'sqlite-mode' buffe...
+       cbd8fac283a Fix Unicode normalization of characters
+       825be05b379 Support one-time passwords in Tramp
+       f880b94e649 Fix the 'C' and 'c' categories of characters
+       58fd212d8a2 Fix Emoji zooming commands
+       8970cdd009a ; Fix last change.
+       ba924be4522 ; * etc/DEBUG: Improve the redisplay section.
+       e110312ad95 ; * doc/lispref/minibuf.texi (Text from Minibuffer): Ment...
+       65f4810003b tsx-ts-mode--font-lock-compatibility-bb1f97b: Improve
+       6fe11b88ed0 Avoid using --display in emacsclient to reuse frames on PGTK
+       2fc7463c0e5 ; * INSTALL: Don't advertise -O3.  (Bug#65988)
+       29055412f2d ; Fix doc string of 'lsh'
+       738d8543337 Support emacsclient on Windows with server on GNU or Unix...
+       f0a89fa1d0e ; * lisp/saveplace.el (save-place-ignore-files-regexp): F...
+       c9cb8ee0fc0 Fix defcustom in saveplace.el (Bug#65977)
+       5ec8be1d589 ; * lisp/subr.el (string-suffix-p, string-prefix-p): Doc ...
+       809305e6d8f Fix 'window-text-pixel-size' when there are several image...
+       ea14b0dcc20 : Doc fix.
+       01e8a0c6cbf Doc fix for prettify-symbols-unprettify-at-point
+       0065621d0d3 (report_overlay_modification): Fix bug#65929
+       6cc6455e931 Fix SVG colors (bug#56182)
+       9396d73942e * doc/emacs/text.texi (Outline Minor Mode): Add a note ab...
+       a65d1a5a167 Improve documentation of 'list-abbrevs'
+       5dcc4b7eab1 Tweak s-p-f for js-ts-mode
+       1fb2fb501f3 typescript-ts-mode, tsx-ts-mode: Fix syntax properties fo...
+       946b395e7e1 * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Provide (bug...
+       33ee3e588fd Fix regression of treesit_cursor_helper_1
+       d11d81dfcc6 ; Fix doc typos (Bug#65868)
+       6554ec22465 Update docs for passing of Thien-Thi Nguyen
+       5ab2792d5c1 Update defvar usage tips example in manual
+       35d88c657e1 Document using Flymake together with Eglot
+       3f04efe9e7d ; * src/font.h (struct font): Comment about use of averag...
+       459b5f6b6d1 ; * admin/authors.el (authors-aliases): Update.
+       0c029ae8bcb ; tweak etc/TODO item
+
+       # Conflicts:
+       #       admin/authors.el
+       #       lisp/subr.el
+
+2023-09-16  StrawberryTea  <look@strawberrytea.xyz>  (tiny change)
+
+       bug#65007: Allow displaying program IO in the GDB buffer
+
+       * lisp/progmodes/gdb-mi.el (gdb-split-io-flag): Don't create
+       IO buffer if `gdb-split-io-flag' is nil.
+       (gdb-split-io-flag): New user option.
+
+2023-09-16  Jens Schmidt  <jschmidt4gnu@vodafonemail.de>
+
+       Declare more functions as shift-translatable motion commands
+
+       * lisp/comint.el (comint-next-prompt, comint-previous-prompt): Declare
+       as shift-translatable motion commands.
+       * lisp/textmodes/sgml-mode.el (sgml-skip-tag-backward)
+       (sgml-skip-tag-forward): Declare as shift-translatable motion
+       commands.  (Bug#65876)
+
+2023-09-16  bug-gnu-emacs@gnu.org  <bug-gnu-emacs@gnu.org>
+
+       bug#65673: Add lua-ts-mode
+
+       * lisp/progmodes/lua-ts-mode.el:
+       * test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
+       * test/lisp/progmodes/lua-ts-mode-tests.el: New files.
+       * etc/NEWS: Mention the new mode.
+       * lisp/progmodes/eglot.el (eglot-server-programs):
+       * lisp/progmodes/hideshow.el (hs-special-modes-alist):
+       Support 'lua-ts-mode'.
+       * admin/notes/tree-sitter/build-module/batch.sh:
+       * admin/notes/tree-sitter/build-module/build.sh: Add Lua.
+       * test/infra/Dockerfile.emba:
+       * test/infra/test-jobs.yml: Include lua-ts-mode tests.
+
+2023-09-16  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Avoid errors when a restricted-sexp widget is empty
+
+       * lisp/wid-edit.el (restricted-sexp): Don't try to read
+       an empty string when converting the current value to the
+       external format.  (Bug#63838)
+
+       * test/lisp/wid-edit-tests.el (widget-test-restricted-sexp-empty-val):
+       New test.
+
+2023-09-16  Earl Hyatt  <okamsn@protonmail.com>
+
+       Make using Edmacro easier for long sequences of keys
+
+       * lisp/edmacro.el (edmacro-set-macro-to-region-lines)
+       (edmacro-reverse-key-order): New command and user option to
+       make working with longer lists of keys, such as from
+       'kmacro-edit-lossage', easier.
+       (edit-kbd-macro): Move regexps used to identify parts of
+       buffer to internal variables.
+       (edmacro--macro-lines-regexp, edmacro-mode-font-lock-keywords):
+       Allow noting whether the most recent line of keys is displayed
+       first.
+       (edmacro-mode-map): Bind the new command to 'C-c C-r'.
+       (edmacro-mode): Describe the new command in the mode
+       documentation string.
+
+       * doc/emacs/kmacro.texi (Edit Keyboard Macro): Mention
+       'edmacro-insert-key' and the newly added
+       'edmacro-set-macro-to-region-lines' and
+       'edmacro-reverse-key-line-order'.
+
+       * etc/NEWS (Edmacro): Add section describing the new features.
+
+       (Bug#65605)
+
+2023-09-16  Andreas Schwab  <schwab@linux-m68k.org>
+
+       Update pdumper hashes
+
+       * src/pdumper.c (dump_vectorlike_generic, dump_vectorlike)
+       (dump_buffer): Update hash.
+
+2023-09-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (display): Return
+       false if the list of menu buttons is empty, lest Android cease
+       displaying menus on the assumption that Emacs is defective.
+
+       * java/org/gnu/emacs/EmacsView.java (popupMenu): Likewise.
+
+       * src/fns.c (sort_list): Render sentence motion commands
+       functional within commentary
+
+       * src/sfntfont.c (sfntfont_list_family): Sort and deduplicate
+       the returned family list and make it a list of symbols.
+       (syms_of_sfntfont) <Qstring_lessp>: New defsym.
+
+2023-09-15  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix documented Eshell behavior of ignoring leading nils in commands
+
+       * lisp/eshell/esh-var.el (eshell-handle-local-variables): Simplify,
+       and move leading-nil handling to...
+       * lisp/eshell/esh-cmd.el (eshell-named-command): ... here.
+
+       * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/skip-leading-nils):
+       * test/lisp/eshell/esh-var-tests.el
+       (esh-var-test/local-variables/skip-nil): New tests.
+
+       * doc/misc/eshell.texi (Expansion): Document this behavior.
+
+2023-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (mutually_exclusive_p): Fix the regression from commit 6fad73d7cc53
+
+       Commit 6fad73d7cc53 throws away some useful optimization because
+       it misfired in some cases (as seen in bug#657260).  Here we try to
+       recover those useful optimizations with a slightly more careful
+       algorithm.
+
+       * src/regex-emacs.c (mutually_exclusive_aux): Rename from
+       `mutually_exclusive_p`.  Add two new args.  Improve the
+       case where we need to recurse.
+       (mutually_exclusive_p): New function defined on top of it.
+
+       * test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization):
+       Re-enable the test.
+
+2023-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/regex-emacs.c (mutually_exclusive_p): Refactor
+
+       Minor refactoring to avoid swapping p1/p2.
+
+       * src/regex-emacs.c (mutually_exclusive_exactn)
+       (mutually_exclusive_charset): New functions, extracted from
+       `mutually_exclusive_p`.
+       (mutually_exclusive_p): Use them.
+
+2023-09-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mark two tests as expensive
+
+       * test/lisp/calendar/todo-mode-tests.el
+       (todo-test-add-and-delete-file):
+       * test/lisp/simple-tests.el (simple-tests-shell-command-39067):
+       Mark tests taking more than 10 seconds to run on a MacBook Pro from
+       2015 as expensive.
+
+2023-09-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix describing packages where maintainer lacks email
+
+       * lisp/emacs-lisp/package.el (describe-package-1): Fix describing
+       packages with one maintainer without an email address.  (Bug#65987)
+
+2023-09-15  Yuan Fu  <casouri@gmail.com>
+
+       Add dot SVG icons
+
+       The advantage of SVG dots over Unicode dots is that their size is
+       fixed.  With Unicode dots, the size varies with the font.
+
+       Dot icons can be useful for status indicator: green dot for online,
+       red dot for offline, etc.
+
+       * etc/images/symbols/dot_large_16.pbm:
+       * etc/images/symbols/dot_large_16.svg:
+       * etc/images/symbols/dot_medium_16.pbm:
+       * etc/images/symbols/dot_medium_16.svg:
+       * etc/images/symbols/dot_small_16.pbm:
+       * etc/images/symbols/dot_small_16.svg: New file.
+
+2023-09-15  Yuan Fu  <casouri@gmail.com>
+
+       Allow treesit-font-lock-recompute-features to be language-specific
+
+       * lisp/treesit.el:
+       (treesit-font-lock-recompute-features): Add LANGUAGE parameter.
+
+2023-09-15  Po Lu  <luangruo@yahoo.com>
+
+       Correct bug#65919
+
+       * src/process.c (child_signal_notify): Expunge call to
+       non-reentrant function from signal handler.
+
+       * src/xfns.c (setup_xi_event_mask): Cease selecting for
+       XI_FocusIn and XI_FocusOut under X toolkit builds.
+
+       * src/xterm.c (xi_handle_interaction, xi_handle_focus_change)
+       (xi_handle_focus_change): Make conditional on GTK 3 or no
+       toolkit builds.
+       (xi_handle_delete_frame, x_free_frame_resources): Adjust
+       correspondingly.
+       (handle_one_xevent) <EnterNotify, LeaveNotify>: Examine
+       EnterNotify and LeaveNotify events for focus changes
+       irrespective of whether XI2 is enabled under the X toolkit and
+       GTK 2.x.
+
+2023-09-15  Jim Porter  <jporterbugs@gmail.com>
+
+       Collapse 'if' forms in Eshell iterative evaluation
+
+       * lisp/eshell/esh-cmd.el (eshell-do-eval): After evaluating 'if'
+       conditional, replace the form with the THEN or ELSE body.
+
+2023-09-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp test on NetBSD
+
+       * test/lisp/net/tramp-tests.el (tramp--test-netbsd-p): New defun.
+       (tramp--test-check-files): Use it.
+
+2023-09-14  Po Lu  <luangruo@yahoo.com>
+
+       Avert a crash in the Android last resort font driver
+
+       * java/org/gnu/emacs/EmacsFontDriver.java (FONT_INVALID_CODE):
+       New constant.
+       (hasChar, encodeChar): Accept a jint character code rather than
+       a jchar.
+
+       * java/org/gnu/emacs/EmacsSdk23FontDriver.java (hasChar)
+       (encodeChar): Return 0 or FONT_INVALID_CODE if the character is
+       not representable in a Java char.
+
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java (hasChar): Ditto.
+
+       * src/androidfont.c (android_init_font_driver): Adjust signature
+       to match.
+
+2023-09-14  Yuan Fu  <casouri@gmail.com>
+
+       Refactor treesit-font-lock-fontify-region
+
+       * lisp/treesit.el (treesit-font-lock-fontify-region): Extract out
+       treesit--font-lock-fontify-region-1.
+
+2023-09-14  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-font-lock-fontify-region wrt local parsers
+
+       * lisp/treesit.el (treesit--update-ranges-local): Minor change.
+       (treesit-font-lock-fontify-region): Don't try to fontify if node is
+       nil.  Don't use alist-get to get the root node for a language: there
+       might be multiple root nodes (from multiple local parsers) for the
+       same language.
+       (treesit-major-mode-setup): Remove existing local parsers when major
+       mode is activated.
+
+2023-09-14  Po Lu  <luangruo@yahoo.com>
+
+       Improve the Android last resort font driver
+
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7Typeface):
+       Rename fileName to familyName and cease attempting to infer a
+       style from it.
+       (EmacsSdk7FontDriver): Employ preset typefaces rather than
+       enumerating each typeface within the system fonts directory.
+       (draw): Circumvent kerning difficulties by advancing past each
+       character individually.
+
+2023-09-14  Jim Porter  <jporterbugs@gmail.com>
+
+       Improve process instrumentation in Eshell
+
+       * lisp/eshell/esh-proc.el (eshell-insertion-filter): Add more logging,
+       and try to bulletproof the implementation.
+       (eshell-sentinel): Add more logging.
+
+2023-09-14  Yuan Fu  <casouri@gmail.com>
+
+       Improve docstring for treesit-language-at
+
+       * lisp/treesit.el (treesit-language-at-point-function)
+       (treesit-language-at): Several people has confused over this, make it
+       extra clear than treesit-language-at requires
+       treesit-language-at-point-function to work.
+
+2023-09-14  Yuan Fu  <casouri@gmail.com>
+
+       Add tree-sitter performance note
+
+2023-09-14  Yuan Fu  <casouri@gmail.com>
+
+       Update tree-sitter traversing functions' docstrings
+
+       * src/treesit.c (Ftreesit_search_subtree)
+       (Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree): Update docstring.
+
+2023-09-13  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix last Ibuffer change and improve feedback messages
+
+       * lisp/ibuf-macs.el (define-ibuffer-op): Emit grammatically
+       correct message on finishing operation, and don't operate when
+       there are no marked buffer lines and point is not on a buffer
+       line.  (bug#64230, Message #21)
+
+       * lisp/ibuffer.el (ibuffer-map-lines): Take acting on only one
+       buffer line and using non-nil 'ibuffer-expert' into account.
+
+2023-09-13  Jim Porter  <jporterbugs@gmail.com>
+
+       When waiting for processes in Eshell, wait until all the I/O is complete
+
+       This should fix bug#59103, bug#65590, and bug#65601.
+
+       * lisp/eshell/esh-proc.el (eshell-sentinel): Set ':eshell-handles' to
+       nil when finished with I/O.
+       (eshell-wait-for-process): Wait until ':eshell-handles' is nil.
+
+2023-09-13  Alan Third  <alan@idiocy.org>
+
+       Fix build error on older macOS versions
+
+       * src/nsterm.m (ns_scroll_run): Use srcRect instead of destRect.
+
+2023-09-13  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix defcustom :type in replace.el (Bug#65920)
+
+       * lisp/replace.el (list-matching-lines-face)
+       (list-matching-lines-buffer-name-face): Allow a nil value.
+
+2023-09-13  Damien Cassou  <damien@cassou.me>
+
+       Shorten docstrings generated by cl-defstruct
+
+       * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Split the first line of
+       generated docstrings if either the struct name or a field name is very
+       long.  This reduces the likelihood of "docstring wider than 80
+       characters" errors.  (Bug#65790)
+
+2023-09-13  Damien Cassou  <damien@cassou.me>
+
+       Shorten docstrings generated by cl-defsubst
+
+       * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Split the first line of
+       the docstring into 2 lines if the function name is very long.
+       Additionally, remove the word "inlining" in the generated docstring as
+       it is not very useful and increases the likelihood of "docstring wider
+       than 80 characters" errors.  (Bug#65790)
+
+2023-09-13  Damien Cassou  <damien@cassou.me>
+
+       bytecomp-tests.el: Add new helper function
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp--without-warning-test): Add helper function.
+       (bytecomp-warn--ignore): Use the helper.
+
+2023-09-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix problem with long file names in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-ls-file-attributes): New defconst.
+       (tramp-do-file-attributes-with-ls): Use it.  (Bug#65324)
+
+2023-09-13  Po Lu  <luangruo@yahoo.com>
+
+       Reorganize Android permissions documentation
+
+       * doc/emacs/android.texi (Android Environment): Illustrate the
+       behavior of modern Android versions first.  Reported by Stefan
+       Kangas <stefankangas@gmail.com>.
+
+2023-09-13  Po Lu  <luangruo@yahoo.com>
+
+       Exclude ``regular'' from font adstyle
+
+       * src/sfntfont.c (sfnt_parse_style): Disregard tokens matching
+       Regular entirely.
+
+2023-09-13  Po Lu  <luangruo@yahoo.com>
+
+       Request additional permissions on Android
+
+       * doc/emacs/android.texi (Android Environment): List two
+       additional permissions within the summary of permissions granted
+       by default.
+
+       * java/AndroidManifest.xml.in: Request READ_CALENDAR and
+       WRITE_CALENDAR.
+
+2023-09-13  Po Lu  <luangruo@yahoo.com>
+
+       Facilitate opening content:// files without a linked file name
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java
+       (checkReadableOrCopy): If FILE is NULL, return a matching
+       content URI if possible, else generate a file name with the URI
+       as a reference.
+       (onCreate): Catch SecurityException around calls to
+       openFileDescriptor.
+
+2023-09-12  Yuan Fu  <casouri@gmail.com>
+
+       Avoid unnecessary tree-sitter reparse when setting the same range
+
+       * src/treesit.h (Lisp_TS_Parser)
+       * src/treesit.c (make_treesit_parser): Remove has_range field, add
+       last_set_ranges field.
+       (Ftreesit_parser_set_included_ranges): Return early if the new range
+       is the same as the old one.
+       (Ftreesit_parser_included_ranges): Change has_range to
+       last_set_ranges.
+
+2023-09-12  Yuan Fu  <casouri@gmail.com>
+
+       Make sure undefined tree-sitter thing doesn't raise an error
+
+       A previous change should've achived this, but that wasn't enough.
+       This one actually achieves the intended effect, namely,
+       treesit-node-match-p doesn't raise an error if IGNORE-MISSING is
+       non-nil, and traverse functions don't raise error by default.
+
+       * src/treesit.c (treesit_traverse_validate_predicate): Remove
+       ignore_missing parameter, return error symbol.
+       (Ftreesit_node_match_p)
+       (Ftreesit_search_subtree)
+       (Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree): Check returned error symbol.
+       (syms_of_treesit): New symbol.
+
+2023-09-12  Jim Porter  <jporterbugs@gmail.com>
+
+       Ensure that Eshell doesn't consider a process complete until stderr is 
done
+
+       This will hopefully help resolve some timing issues with subprocesses
+       in Eshell.  There's now much less chance of output going missing when
+       using redirects.
+
+       * lisp/eshell/esh-proc.el (eshell-gather-process-output): Set
+       ':eshell-stderr-live'...
+       (eshell-sentinel): ... use it.
+
+2023-09-12  Jim Porter  <jporterbugs@gmail.com>
+
+       Be more careful about when to print abnormal exit status in Eshell
+
+       * lisp/eshell/esh-proc.el (eshell-sentinel): Only output abnormal
+       status when stderr is interactive.
+
+       * test/lisp/eshell/esh-proc-tests.el
+       (esh-proc-test/kill-process/redirect-message): New test.
+
+2023-09-12  Jim Porter  <jporterbugs@gmail.com>
+
+       Don't do anything in 'eshell-sentinel' if the process status is "run"
+
+       This doesn't change anything right now, but it will prevent future
+       issues when we add the ability to resume suspended processes in
+       Eshell.
+
+       * lisp/eshell/esh-proc.el (eshell-sentinel): Check for "run" status
+       earlier.
+
+2023-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/alloc.c (garbage_collect): Run `post-gc-hook` later (bug#65700)
+
+2023-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Address "Useless clause following default cond clause" warnings
+
+       * lisp/gnus/message.el (message-position-point): Fix paren typo.
+
+       * lisp/org/org.el: Remove dead-code.
+
+2023-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (read-char-from-minibuffer): Allow use of `quoted-insert` (bug#65805)
+
+       * lisp/subr.el (read-char-from-minibuffer-map): No need to remap
+       `self-insert-command` any more.
+       (read-char-from-minibuffer): Use `post-command-hook` to exit as soon as
+       a char is provided.
+
+2023-09-12  Alan Mackenzie  <acm@muc.de>
+
+       Correct the XEmacs version of c-put-char-properties
+
+       * lisp/progmodes/cc-defs.el (c-put-char-properties): Use the
+       put-text-property interface rather than make-extent for XEmacs
+       as well as Emacs.
+
+2023-09-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2023-09-12  Po Lu  <luangruo@yahoo.com>
+
+       Extract font foundry metadata from the OS/2 table
+
+       * src/sfnt.c (sfnt_table_names): Append an entry for OS/2
+       tables.
+       (sfnt_read_OS_2_table): New function.
+       (main): Introduce a new test for the OS/2 table reader.
+
+       * src/sfnt.h (sfnt_read_OS_2_table): New declaration.
+
+       * src/sfntfont.c (sfnt_decode_foundry_name): Delete function.
+       (sfnt_enum_font_1): Read the font's OS/2 table and extract the
+       foundry name from there.  Use `misc' if absent.
+       (sfntfont_desc_to_entity, sfntfont_open): Cease interning
+       desc->designer, as that is now a symbol.
+       (syms_of_sfntfont) <Qmisc>: New defsym Qmisc.  (bug#65865)
+
+2023-09-12  Łukasz Stelmach  <stlman@poczta.fm>
+
+       Fix tracing for advanced scoring in gnus-logic.el
+
+       * lisp/gnus/gnus-logic.el (gnus-score-advanced): Move the tracing code
+       outside conditional so it's executed for both branches.  (Bug#59458)
+
+2023-09-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Match recent version of GNU global in CEDET
+
+       * lisp/cedet/cedet-global.el (cedet-gnu-global-version-check):
+       Match recent version of GNU global.  (Bug#62581)
+
+2023-09-11  Alan Third  <alan@idiocy.org>
+
+       Remove check for appdefined events on the queue (bug#65843)
+
+       It seems this was likely a bug in macOS 10.10.1. I have no way to find
+       out when it was fixed, but hopefully before 10.10.5, the most recent
+       release of that version.
+
+       * src/nsterm.m (ns_send_appdefined): Remove check for whether previous
+       appdefined events have been lost.
+
+2023-09-11  Alan Third  <alan@idiocy.org>
+
+       Fix crash on child frame creation (bug#65817)
+
+       * src/nsterm.m ([EmacsView initFrameFromEmacs:]): Reorder the way the
+       frame and layers are created.
+       ([EmacsView makeBackingLayer]): Change to the newly renamed method
+       below.
+       ([EmacsLayer initWithColorSpace:doubleBuffered:]):
+       ([EmacsLayer initWithDoubleBuffered:]): Rename the method and remove
+       the colorspace argument as it's no longer able to be set on initial
+       creation.
+       * src/nsterm.h: Use new method prototype.
+
+2023-09-11  Alan Third  <alan@idiocy.org>
+
+       Simplify the EmacsLayer double buffering code (bug#63187)
+
+2023-09-11  Stephen Berman  <stephen.berman@gmx.net>
+
+       Avoid confusing message in Ibuffer (bug#64230)
+
+       * lisp/ibuffer.el (ibuffer-map-lines): With `ibuffer-auto-mode'
+       enabled, Ibuffer counts the automatically popped up (and hence not
+       user-marked) buffer "*Ibuffer confirmation*".  Since Ibuffer
+       reports how many user-marked buffers were acted upon, and in this
+       case the reported count would be too high by one, decrement the
+       count to avoid the confusing message.
+
+2023-09-11  Gerd Möllmann  <gerd@gnu.org>
+
+       Eglot support for objc-mode
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add objc-mode to
+       the list containing c-mode.
+
+2023-09-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       New command tramp-revert-buffer-with-sudo
+
+       * doc/misc/tramp.texi (Ad-hoc multi-hops):
+       Document tramp-file-name-with-method and tramp-revert-buffer-with-sudo.
+
+       * etc/NEWS: New command tramp-revert-buffer-with-sudo.
+
+       * lisp/net/tramp-cmds.el (dired-advertise, dired-unadvertise): Declare.
+       (tramp-dired-buffer-p, tramp-remote-process-p): Rename.
+       (tramp-file-name-with-method): New defcustom.
+       (tramp-file-name-with-sudo, tramp-revert-buffer-with-sudo): New defuns.
+
+2023-09-11  Po Lu  <luangruo@yahoo.com>
+
+       Provide an option to disable font instruction code execution
+
+       * etc/PROBLEMS: Mention instruction code woes and illustrate how
+       to circumvent them.
+
+       * src/sfntfont.c (sfntfont_setup_interpreter): Respect
+       Vsfnt_uninstructable_family_regexp.
+       (syms_of_sfntfont) <Vsfnt_uninstructable_family_regexp>: New
+       option.
+
+2023-09-11  Po Lu  <luangruo@yahoo.com>
+
+       Expunge another instance of ``allows to''
+
+       * etc/NEWS (Tramp) <tramp-cleanup-some-buffers>: Reword and
+       rephrase to avoid ``allows to''.
+
+2023-09-11  Po Lu  <luangruo@yahoo.com>
+
+       Respect vertical centering preferences under Android
+
+       * src/sfntfont.c (sfntfont_open): Match XLFD name against
+       Vvertical_centering_font_regexp; if they agree, set
+       font->vertical_centering.  Also set a suitable full name.
+
+2023-09-11  Po Lu  <luangruo@yahoo.com>
+
+       Properly set text conversion style within ERC buffers
+
+       * lisp/erc/erc.el (erc-mode): Register
+       `erc-check-text-conversion' as a local post command hook.
+       (set-text-conversion-style): New function.  Detect if point is
+       within the input prompt, then enable or disable text conversion
+       correspondingly.
+
+2023-09-11  F. Jason Park  <jp@neverwas.me>
+
+       Consider all windows in erc-scrolltobottom-mode
+
+       * etc/ERC-NEWS: Add entry for option `erc-scrolltobottom-all', and
+       mention explicit hook-depth intervals reserved by ERC.
+       * lisp/erc/erc-backend.el (erc--hide-prompt): Change hook depth on
+       `pre-command-hook' from 91 to 80.
+       * lisp/erc/erc-goodies.el (erc-input-line-position): Mention secondary
+       role when new option `erc-scroll-to-bottom-relaxed' is non-nil.
+       (erc-scrolltobottom-all): New option that decides whether module
+       `scrolltobottom' affects all windows or just the selected one, as it
+       always has.
+       (erc-scrolltobottom-relaxed): New option to leave the prompt
+       stationary instead of forcing it to the bottom of the window.
+       (erc-scrolltobottom-mode, erc-scrolltobottom-enable,
+       erc-scrolltobottom-disable): Use `erc--scrolltobottom-setup' instead
+       of `erc-add-scroll-to-bottom' for adding and removing local hooks and
+       instead of ranging over buffers when removing them.  Also add and
+       remove new hook members when `erc-scrolltobottom-all' is non-nil.
+       (erc--scrolltobottom-relaxed-commands,
+       erc--scrolltobottom-window-info,
+       erc--scrolltobottom-post-force-commands,
+       erc--scrolltobottom-relaxed-skip-commands): New internal variables.
+       (erc--scrolltobottom-on-pre-command
+       erc--scrolltobottom-on-post-command): New functions resembling
+       `erc-possibly-scroll-to-bottom' that try to avoid scrolling repeatedly
+       for no reason.
+       (erc--scrolltobottom-on-pre-command-relaxed,
+       erc--scrolltobottom-on-post-command-relaxed): New commands to help
+       implement `erc-scroll-to-bottom-relaxed'.
+       (erc--scrolltobottom-at-prompt-minibuffer-active): New function to
+       scroll to bottom on window configuration changes when using the
+       minibuffer.
+       (erc--scrolltobottom-all): New function to scroll all windows
+       displaying the current buffer.
+       (erc-add-scroll-to-bottom): Deprecate this function because it is now
+       unused in the default client and trivial to implement otherwise.
+       (erc--scrolltobottom-setup): New generic function to perform teardown
+       as well as setup depending on the state of the module's mode variable.
+       Also add an implementation specifically for `erc-scrolltobottom-all'
+       that locally modifies different sets of hooks depending on
+       `erc-scrolltobottom-relaxed'.
+       (erc--scrolltobottom-on-pre-insert): New generic function that
+       remembers the last `window-start' and maybe the current screen line
+       before inserting a message, in order to restore it afterward.
+       (erc--scrolltobottom-confirm): New function, a replacement for
+       `erc-scroll-to-bottom' that returns non-nil when it's actually
+       recentered the window.  For now, used only when
+       `erc-scrolltobottom-all' is enabled.
+       (erc-move-to-prompt-setup): Add `erc-move-to-prompt' to
+       `pre-command-hook' at a depth of 70 in the current buffer.
+       (erc-keep-place-mode, erc-keep-place-enable): Change hook depth from 0
+       to 85.
+       (erc--keep-place-indicator-setup): Add overlay arrow `after-string' in
+       non-graphical settings in case users have time stamps or other content
+       occupying the left margin.
+       (erc-keep-place-indicator-mode, erc-keep-place-indicator-enable):
+       Change hook depth from 90 to 85 locally so as not to conflict with a
+       value of t, for append.
+       (erc--keep-place-indicator-on-global-module): Change hook depth from
+       90 to 85 locally.
+       * test/lisp/erc/erc-scenarios-scrolltobottom-relaxed.el: New file.
+       * test/lisp/erc/erc-scenarios-scrolltobottom.el: New file.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common--term-size, erc-scenarios-common--run-in-term,
+       erc-scenarios-common-interactive-debug-term-p,
+       erc-scenarios-common-with-noninteractive-in-term): New test macro and
+       supporting helper function and variables to facilitate running
+       scenario-based tests in an inferior Emacs, in term-mode.
+       (erc-scenarios-common--at-win-end-p,
+       erc-scenarios-common--above-win-end-p,
+       erc-scenarios-common--prompt-past-win-end-p,
+       erc-scenarios-common--recenter-top-bottom-around,
+       erc-scenarios-common--recenter-top-bottom,
+       erc-scenarios-scrolltobottom--normal): New test fixture and assertion
+       helper functions.
+       * test/lisp/erc/resources/scrolltobottom/help.eld: New file.
+       (Bug#64855)
+
+2023-09-11  F. Jason Park  <jp@neverwas.me>
+
+       Add optional timezone param to erc-echo-timestamp
+
+       * etc/ERC-NEWS: Move `erc-echo-timestamp' from misc section
+       to own entry, and mention option `erc-echo-timestamp-zone'.
+       * lisp/erc/erc-stamp.el (erc-echo-timestamps): Mention that some
+       finagling is required if enabling this option after activating the
+       module.
+       (erc-echo-timestamp-format): Add additional Custom choice constants
+       and make the existing default one of them.
+       (erc-echo-timestamp-zone): New option to specify timezone for option
+       `erc-echo-timestamps' and function `erc-echo-timestamp'.
+       (erc-stamp-mode, erc-stamp-enable, erc-stamp-disable): Call
+       `erc-stamp--setup' instead of `erc-munge-invisibility-spec'.
+       (erc-stamp--current-time): Use `current-time' instead of
+       `erc-current-time'.
+       (erc-add-timestamp): Improve readability slightly, and change
+       `fboundp' to `functionp' to avoid signaling an error when the
+       variable's value is not a symbol.
+       (erc-munge-invisibility-spec): Perform teardown when boolean flag
+       options, like `erc-timestamp-intangible' and `erc-echo-timestamps' are
+       nil.
+       (erc-stamp--setup): Call `erc-munge-invisibility-spec', possibly
+       binding timestamp options to nil to force a tear down).
+       (erc-stamp--last-stamp, erc-stamp--on-clear-message): New function and
+       helper state variable to tell Emacs not to clear the current timestamp
+       message when navigating within the same IRC message.
+       (erc-echo-timestamp): Add optional `zone' parameter, to be passed
+       directly to `format-time-string', when non-interactive, and massaged
+       sensibly otherwise.  Set the local variable `erc-stamp--last-stamp'.
+       * test/lisp/erc/erc-stamp-tests.el (erc-echo-timestamp): New test.
+       (Bug#60936)
+
+2023-09-11  F. Jason Park  <jp@neverwas.me>
+
+       Allow login to contain NUH delimiters in erc-parse-user
+
+       * lisp/erc/erc.el (erc--parse-user-regexp-legacy,
+       erc--parse-user-regexp-pedantic): New constants.  The first is the
+       original pattern that matches across line endings.  The second
+       disallows multiline strings and interprets excess delimiting
+       characters as part of the middle, "user" component as per RFC1459.
+       The latter distinction is largely academic because most servers reject
+       such logins anyway, but bridges to other protocols and future
+       extensions may need to exploit this for novel uses.
+       (erc--parse-user-regexp): New variable, currently set to
+       `erc--parse-user-regexp-legacy'.
+       (erc-parse-user): Keep original pattern as default, but do so
+       indirectly via `erc--parse-user-regexp'.
+       * test/lisp/erc/erc-tests.el (erc-parse-user): New test.
+
+2023-09-11  Stefan Kangas  <stefankangas@gmail.com>
+
+       New defgroup pixel-scroll-precision
+
+       * lisp/pixel-scroll.el (pixel-scroll-precision): New defgroup.
+       (pixel-scroll-precision-use-momentum)
+       (pixel-scroll-precision-momentum-tick)
+       (pixel-scroll-precision-momentum-seconds)
+       (pixel-scroll-precision-momentum-min-velocity)
+       (pixel-scroll-precision-initial-velocity-factor)
+       (pixel-scroll-precision-large-scroll-height)
+       (pixel-scroll-precision-interpolation-total-time)
+       (pixel-scroll-precision-interpolation-factor)
+       (pixel-scroll-precision-interpolation-between-scroll)
+       (pixel-scroll-precision-interpolate-page)
+       (pixel-scroll-precision-interpolate-mice): Move to above new
+       defgroup.  (Bug#57970)
+       * lisp/mouse.el (mouse): Remove stale comment.
+
+2023-09-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Wait for all processes in a pipeline before resuming an Eshell command
+
+       Previously, we only waited until the tail process was finished, but
+       now, we wait for all of them.  This is more consistent with other
+       shells, and prevents some cases of a process's output coming *after*
+       we continued past its pipeline.
+
+       * lisp/eshell/esh-cmd.el (eshell-resume-command): Simplify
+       conditionals, and check that all the foreground processes are dead
+       before resuming Eshell command.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/pipeline-wait/multi-proc): New test.
+
+2023-09-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Collect all processes in an Eshell pipeline, not just the head and tail
+
+       This has the extra benefit that Eshell now only considers a pipeline
+       to be done when *all* of its processes are done (previously, it
+       checked only the last one in the pipeline).
+
+       * lisp/eshell/esh-util.el (eshell-process-pair-p)
+       (eshell-make-process-pair): Rename to...
+       (eshell-process-list-p, eshell-make-process-list): ... these, and
+       handle lists of processes.  Update callers.
+
+       * lisp/eshell/esh-cmd.el (eshell-head-process): Use 'car'.
+       (eshell-tail-process): Get the last element of the list.
+       (eshell-do-pipelines): Return a list of all processes in the pipeline.
+       (eshell-do-pipelines-synchronously): Return the result of the first
+       command (usually t or nil).
+       (eshell-execute-pipeline): Simplify.
+       (eshell-do-eval): Pass all processes to 'eshell/wait'.
+
+2023-09-10  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix order of `other' choice in defcustom :type
+
+       * lisp/font-lock.el (font-lock-verbose)
+       * lisp/image-mode.el (image-auto-resize)
+       * lisp/gnus/message.el (message-openpgp-header): Arrange for 'other'
+       to be the last choice.  (Bug#65852)
+
+2023-09-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Doc fix; explain what it means if comint-pager is nil
+
+       * lisp/comint.el (comint-pager): Doc fix; explain the meaning of the
+       default nil value.
+
+2023-09-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Replace PVEC_FONT as pseudo-vector subtype upper bound
+
+       * src/lisp.h (enum pvec_type): Add PVEC_TAG_MAX.
+       * src/alloc.c (allocate_pseudovector): Use PVEC_TAG_MAX instead of
+       PVEC_FONT.
+
+2023-09-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix file name completion in `shell'
+
+       * lisp/shell.el (shell-completion-vars): Fix setting of
+       `pcomplete-remote-file-ignore'.  (Bug#65705)
+
+2023-09-10  shynur  <one.last.kiss@outlook.com>
+
+       `dired-next-line' movement style (bug#65621)
+
+       Point will skips empty lines and optionally goto the other
+       end when encountering a boundary.
+       * lisp/dired.el (dired-movement-style): Control whether to
+       skip empty lines and whether to cycle through non-empty
+       lines.
+       * lisp/dired.el (dired-next-line): Add a new movement style
+       controlled by `dired-movement-style'.
+       * etc/NEWS (dired-movement-style):
+
+2023-09-10  Felix Dietrich  <felix.dietrich@sperrhaken.name>
+
+       Make ‘mailcap-viewer-passes-test’ return t for viewers without tests
+
+       * lisp/net/mailcap.el (mailcap-viewer-passes-test):
+       Make ‘mailcap-viewer-passes-test’ follow its docstring and return t
+       for viewers without a test.  (Bug#65224)
+       * test/lisp/net/mailcap-tests.el
+       (mailcap-viewer-passes-test-w/o-test-returns-t): New test.
+
+2023-09-10  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfntfont.c (sfntfont_probe_widths): Prevent widths of
+       glyphs representing control characters from affecting the
+       average width.
+
+2023-09-10  Po Lu  <luangruo@yahoo.com>
+
+       Correct many instances of ``allows to''
+
+       Refer to:
+       lists.gnu.org/archive/html/emacs-devel/2016-01/msg01598.html
+
+       * doc/emacs/frames.texi (Tab Bars):
+
+       * doc/emacs/maintaining.texi (Tag Syntax):
+
+       * doc/lispref/compile.texi (Native Compilation):
+
+       * doc/lispref/control.texi (Destructuring with pcase Patterns):
+
+       * doc/lispref/display.texi (Overlay Properties, Glyphless Chars):
+
+       * doc/lispref/frames.texi (Size Parameters, Layout Parameters)
+       (Child Frames):
+
+       * doc/lispref/minibuf.texi (Minibuffer Windows):
+
+       * doc/lispref/processes.texi (Asynchronous Processes):
+
+       * doc/lispref/windows.texi (Precedence of Action Functions)
+       (Mouse Window Auto-selection):
+
+       * doc/misc/autotype.texi (Autoinserting):
+
+       * doc/misc/efaq.texi (New in Emacs 28):
+
+       * doc/misc/idlwave.texi (Examining Variables):
+
+       * doc/misc/ses.texi (Quick Tutorial, Standard formula functions):
+
+       * doc/misc/tramp.texi (External methods, FUSE-based methods):
+
+       * lisp/comint.el (comint-insert-previous-argument-from-end):
+
+       * lisp/emacs-lisp/rmc.el (read-multiple-choice):
+
+       * lisp/gnus/gnus-util.el:
+
+       * lisp/mail/rmailsum.el (rmail-summary-progressively-narrow):
+
+       * lisp/mouse.el (mouse-drag-track):
+
+       * lisp/net/tramp-sudoedit.el:
+
+       * lisp/obsolete/landmark.el:
+
+       * lisp/org/org.el (org-startup-truncated, org-file-apps):
+
+       * lisp/pixel-scroll.el (pixel-scroll-precision-mode):
+
+       * lisp/progmodes/cperl-mode.el (cperl-praise):
+
+       * lisp/simple.el (yank-from-kill-ring, kill-visual-line):
+
+       * lisp/window.el (delete-window-choose-selected):
+
+       * src/ChangeLog.11:
+
+       * src/xdisp.c (syms_of_xdisp):
+
+       * src/xterm.c (handle_one_xevent): The construct ``allows to
+       <infinitive>'' is not English inasmuch as no direct object to
+       ``allows'' is provided.  Correct and rephrase each instance of such a
+       construct within our documentation and commentary.
+
+2023-09-09  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-node-at wrt local parsers
+
+       * lisp/treesit.el (treesit-node-at): Don't compute language at point
+       first.  Because treesit-language-at uses treesit-node-at with a
+       language argument. Only call treesit-language-at when PARSER-OR-LANG
+       is nil.
+
+2023-09-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Add byte-compiler warning about useless trailing cond clauses
+
+       Warn about clauses after the default clause, as in
+
+           (cond ((= x 0) (say "none"))
+                 (t (say "some"))
+                 (say "goodbye"))
+
+       because they are very much an indicator of a mistake (such as
+       misplaced brackets), and since they are deleted by the optimiser, any
+       other warnings there are lost and the user wouldn't know that
+       something is wrong otherwise.
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Add warning.
+       * etc/NEWS: Announce.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings): Add test case.
+
+2023-09-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't cache warnings between bytecode compilation tests
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--with-fresh-warnings): New macro.
+       (test-byte-comp-compile-and-load, bytecomp--with-warning-test):
+       Use it.
+
+2023-09-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b8a8106fa1a ; Add missing space in the manual
+       5b906b62157 Fix defcustom :type of ielm-indirect-setup-hook
+       82af484ec15 ; Two updates of etc/TODO
+       0ab2823f518 ; Describe in PROBLEMS 2 problems with keyboard input
+       4e7112ab211 ; Fix inaccuracy in ELisp reference manual
+       34bbb6c8d21 Document NonGNU ELPA in FAQ
+       2af092741e5 Fix remote path setting in Eshell
+       4613575d97f ; * lisp/completion.el (dynamic-completion-mode): Fix las...
+       2f0f33fbf9d Update docs for (co-)maintainer changes
+       b068fcd4a31 * doc/lispref/strings.texi (Text Comparison): Fix typo (b...
+       2e2a5f8118c Adapt Tramp manual
+       d32f00a35bc Improve docstring of message-sendmail-envelope-from
+       1a668cda8bc Unbreak builds with CHECK_STRUCTS.
+       77b6e9bb17b Improve documentation of EPG
+       d3382f94714 ; * lisp/completion.el (dynamic-completion-mode): Doc fix.
+       1458daf3164 Avoid crashes on macOS with context menus
+
+       # Conflicts:
+       #       src/pdumper.c
+
+2023-09-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       bc56da92d8d ; Fix error in 'tex-recenter-output-buffer'
+       d17c5adc057 Fix regexp for recognizing PBM images
+       9e9f61866e7 Improve wording in ELisp manual
+       7427efa033b Fix typo (Bug#65764)
+       59c66244080 ; * lisp/ido.el (ido-completion-buffer): Fix :type (bug#6...
+       4ec4b18c2a0 Fix libgccjit build on Haiku
+       80bdcf8f351 (regexp-tests-backtrack-optimization): Mark it as failing
+       8a9e653cc82 ; Add regression test for bug#65726
+       6fad73d7cc5 * src/regex-emacs.c (mutually_exclusive_p): Fix inf-loop ...
+       1d3d4196073 ; * lisp/files.el (save-some-buffers-functions): Doc fix ...
+       42b14c6e5bb Bump seq version to 2.24
+       ff5190a174f Add note on ELPA to admin/notes/bug-triage
+       f1e4cbe72aa ; * etc/PROBLEMS: Minor wording fix.
+       fd5593c7f25 * etc/PROBLEMS: Mention bug#65432 and its remedy.
+       dd896ea1e62 Ignore errors when checking for object initializers (bug#...
+       3550f44c17c ; Fix typos
+       5b246b9b817 * CONTRIBUTE: Document making ChangeLogs with Magit.
+       0bd46619413 Doc fixes for obsolete functions and variables
+       524c0c34f24 ; * lisp/ffap.el (ffap-rfs-regexp): Fix :type (bug#65698).
+       f48dccc4675 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       71a85e22668 A revision to the Widget manual
+       dbbcf4a6599 Fix fontification of " in edit-kbd-macro
+
+       # Conflicts:
+       #       test/src/regex-emacs-tests.el
+
+2023-09-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android-asset.h (android_asset_read_internal): Return an
+       error indication if an exception arises while reading.
+       (AAsset_getBuffer): Free BUFFER using the C library free
+       function.
+
+2023-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Fix bug#65833
+
+       For some reason the intervals case failed to push the var to
+       `loop-for-bindings` before pushing to `loop-for-sets`.
+       AFAICT this was the only place where we made that mistake.
+
+2023-09-09  Po Lu  <luangruo@yahoo.com>
+
+       Micro-optimize sfnt_interpret_trap
+
+       * src/sfnt.c (AVOID) [TEST]: Define to its standard value in
+       lisp.h.
+       (sfnt_interpret_trap): Label AVOID.
+
+2023-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/tempo.el (tempo-insert): Use `pcase` and `dolist`
+
+       * lisp/tempo.el (tempo-find-match-string): Simplify
+
+2023-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/tempo.el: Remove left over uses of the dynbind dialect
+
+       * lisp/tempo.el (tempo-define-template): Use a real closure.
+       (tempo-insert, tempo-build-collection): Use lexical scoping.
+
+2023-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (tempo-user-elements): Make it a proper hook
+
+       * lisp/tempo.el (tempo-user-element-functions): Rename from
+       `tempo-user-elements`.
+       (tempo-user-elements): Preserve as obsolete alias.
+       (tempo-is-user-element): Use `run-hook-with-args-until-success`.
+
+2023-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/tempo.el: Remove redundant `:group`s and use #'
+
+2023-09-08  Yuan Fu  <casouri@gmail.com>
+
+       Extract c-ts-mode--feature-list out
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--feature-list): New variable.
+
+2023-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/pcomplete.el (pcomplete-completions-at-point): Add hack for 
bug#65089
+
+       Improve our guess for `end` and `buftext` when point is not at the end
+       of the current "thing to complete".
+
+2023-09-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mark two flyspell functions as internal
+
+       * lisp/textmodes/flyspell.el: Minor doc fix.
+       (flyspell--mode-on, flyspell--mode-off): Rename from
+       'flyspell-mode-on' and 'flyspell-mode-off'.  The old names are
+       preserved as obsolete aliases.
+
+2023-09-08  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid errors in EWW when EWW is killed
+
+       * lisp/net/eww.el (eww-render): Don't signal errors if the page
+       being rendered was closed.  (Bug#65678)
+
+2023-09-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix typos
+
+       * src/android.c (android_set_task_name):
+
+       * src/sfnt.c (main): Test if fd < 0, not fd < 1.
+
+2023-09-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Perl script in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions):
+       Fix Perl script.  (Bug#65744)
+
+2023-09-08  Po Lu  <luangruo@yahoo.com>
+
+       Properly detect content files in Doc View
+
+       * lisp/doc-view.el (doc-view-mode): Detect if file name starts
+       with /content or /assets, and don't regard it as available to
+       subprocesses in that case.
+
+2023-09-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix typos in last change
+
+       * src/font.c (font_dynamic_unparse_xlfd): Remove unused variable.
+       (Ffont_xlfd_name): Initialize name.
+
+2023-09-08  Po Lu  <luangruo@yahoo.com>
+
+       Permit XLFD names to exceed 255 characters
+
+       * doc/lispref/display.texi (Low-Level Font)
+       <font-xlfd-name>: Document new argument `long-xlfds'.
+
+       * etc/NEWS: Mention removal of XLFD length restrictions.
+
+       * src/font.c (font_build_object): Dynamically allocate XLFD,
+       permitting them to surpass 255 characters in length.
+       (font_parse_xlfd_1): Cease rejecting XLFDs more than 255
+       characters in length.
+       (font_dynamic_unparse_xlfd): New function.  Like
+       font_unparse_xlfd, but allocate the XLFD dynamically.
+       (font_delete_unmatched): Dynamically allocate XLFD if necessary.
+       (Ffont_xlfd_name): New arg LONG_XLFDs.  If t, return a
+       dynamically allocated XLFD.  All callers changed.
+
+       * src/font.h: Update prototypes.
+
+       * src/fontset.c (Fnew_fontset): Dynamically allocate XLFD when
+       establishing fontset name.
+
+2023-09-08  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-thing-definition
+
+       * lisp/treesit.el (treesit-thing-definition): Don't modify
+       treesit-thing-settings itself.
+
+2023-09-08  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-thing-settings for c++-ts-mode (bug#65810)
+
+       * lisp/progmodes/c-ts-mode.el:
+       (c-ts-mode--thing-settings): New varaible.
+       (c-ts-base-mode): Use c-ts-mode--thing-settings.
+
+2023-09-08  Yuan Fu  <casouri@gmail.com>
+
+       Add Ftreesit_parser_tag
+
+       * lisp/treesit.el (treesit-parser-tag): Add.
+       * src/treesit.c (Ftreesit_parser_tag): Add.
+
+2023-09-08  Yuan Fu  <casouri@gmail.com>
+
+       Change treesit-local-parsers-in to treesit-local-parsers-on
+
+       To improve consistency. We already have treesit-node-at and
+       treesit-node-on.
+
+       * doc/lispref/parsing.texi (Multiple Languages): Update manual.
+       * lisp/treesit.el (treesit-local-parsers-on): Change to in.
+       (treesit-font-lock-fontify-region): Change to in.
+
+2023-09-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Error when trying to make nil or t obsolete
+
+       * lisp/emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
+       Signal error if the symbol to make obsolete is nil or t.  (Bug#62248)
+       (byte-run--constant-obsolete-warning): New function.
+       * test/lisp/emacs-lisp/byte-run-tests.el: New file.
+
+2023-09-07  Stefan Kangas  <stefankangas@gmail.com>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Add note regarding `seq` on GNU ELPA
+
+       * lisp/emacs-lisp/seq.el: Add note regarding seq on GNU ELPA.
+
+2023-09-07  Lämppi Lütti  <lamppilutti@protonmail.com>  (tiny change)
+
+       Fix detection of vtable start and end
+
+       * lisp/emacs-lisp/vtable.el (vtable-beginning-of-table)
+       (vtable-end-of-table): Fix detection of vtable limits.  (Bug#58712)
+
+2023-09-07  Mattias Engdegård  <mattiase@acm.org>
+
+       Translate backslash-saturated regexp to rx
+
+       * lisp/minibuffer.el (minibuffer--regexp-propertize):
+       The original regexp had 83 backslashes in 147 characters which may be
+       some kind of record.  This transformation cuts it down to 6, and the
+       generated regexp string is about 14 % shorter.
+
+2023-09-07  Mattias Engdegård  <mattiase@acm.org>
+
+       * admin/unidata/emoji-zwj.awk: More efficient code generation
+
+       Hoist the `eval-when-compile` to encompass the entire list, since
+       backquote forms aren't automatically evaluated at compile time.
+       This results in a single constant list in the generated code, and
+       much less actual code.
+
+2023-09-07  john muhl  <jm@pub.pink>
+
+       Fix java-ts-mode tests (bug#65738)
+
+       * admin/notes/tree-sitter/build-module/batch.sh (languages):
+       Add Java.
+       * lisp/progmodes/java-ts-mode.el (java-ts-mode): Pass a list
+       to 'treesit-thing-settings'.
+
+2023-09-07  martin rudalics  <rudalics@gmx.at>
+
+       New minor mode 'minibuffer-regexp-mode'
+
+       This mode is for editing regexps in minibuffer, it highlights
+       parens via `show-paren-mode' and `blink-matching-paren' in a
+       user-friendly way, avoids reporting false paren mismatches,
+       and makes sexp navigation more intuitive.
+       * lisp/minibuffer.el (minibuffer-regexp-mode)
+       (minibuffer--regexp-primed, minibuffer--regexp-prompt-regexp):
+       New variables.
+       (minibuffer--regexp-propertize, minibuffer--regexp-primed)
+       (minibuffer--regexp-before-change)
+       (minibuffer--regexp-after-change)
+       (minibuffer--regexp-post-self-insert, minibuffer--regexp-setup)
+       (minibuffer--regexp-exit, minibuffer-regexp-mode): New functions.
+       (minibuffer-regexp-prompts): New option.
+
+       * doc/lispref/minibuf.texi (Minibuffer Misc): Document the new
+       mode and its option.
+
+       * etc/NEWS: Announce the new mode.
+
+       Bug#50766
+
+2023-09-07  Po Lu  <luangruo@yahoo.com>
+
+       Tag NEWS
+
+       * etc/NEWS: Tag Android as documented, given that all pertinent
+       documentation has been written.
+
+2023-09-07  Po Lu  <luangruo@yahoo.com>
+
+       Port Proced to Android
+
+       * configure.ac (HAVE_PROCFS): Define if opsys is `android'.
+
+       * src/android.c (android_set_task_name): New function.
+       (android_run_select_thread, android_run_debug_thread): Set the
+       name of the LWP for debugging purposes.
+
+       * src/process.c (create_process): Set F_SETPIPE_SZ on Android in
+       addition to GNU/Linux.
+
+       * src/sysdep.c (procfs_ttyname, system_process_attributes)
+       [__ANDROID__]: Enable procfs_ttyname on Android systems.
+
+2023-09-07  Po Lu  <luangruo@yahoo.com>
+
+       Remedy bug#63395
+
+       * src/gtkutil.c (xg_update_frame_menubar): Avoid scaling the
+       requisiton height twice.  (bug#63395)
+
+2023-09-07  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix perl-mode indentation after a hanging paren
+
+       * lisp/progmodes/perl-mode.el (perl-hanging-paren-p): Allow
+       comments.  (Bug#34245)
+       * test/lisp/progmodes/perl-mode-tests.el (perl-test-bug-34245): New
+       test.
+
+2023-09-06  Dmitry Gutov  <dmitry@gutov.dev>
+
+       * lisp/progmodes/project.el: Bump version to 0.10.0.
+
+2023-09-06  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (project-try-vc): When found non-VC project root, still search for the 
backend
+
+       * lisp/progmodes/project.el (project-try-vc): When finding a
+       non-VC project root, still try to search for the containing
+       responsible VC backend, if any (bug#65704).
+
+2023-09-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove compat code from flyspell
+
+       * lisp/textmodes/flyspell.el: Delete redundant autoloads.
+
+2023-09-06  Mattias Engdegård  <mattiase@acm.org>
+
+       indian.el: fix sorting predicate
+
+       * lisp/leim/quail/indian.el
+       (quail-tamil-itrans-compute-syllable-table): Add missing comparison.
+       Patch from Visuwesh; bug found by an experimental tool.
+
+2023-09-06  Theodor Thornhill  <theo@thornhill.no>
+
+       Use *p in interactive form in transpose-chars
+
+       * lisp/simple.el (transpose-chars): Use '*p' instead of '*P' like the
+       other transpose-* functions.  (Bug#60157)
+
+2023-09-06  Yuan Fu  <casouri@gmail.com>
+
+       Support local parser in treesit-node-at/on
+
+       * lisp/treesit.el (treesit-node-at)
+       (treesit-node-on): Support local parser.
+
+2023-09-06  Yuan Fu  <casouri@gmail.com>
+
+       Fix c-ts-mode BSD style indentation
+
+       * lisp/progmodes/c-ts-mode.el:
+       (c-ts-mode--indent-styles): Add else_clause.
+
+2023-09-06  Yuan Fu  <casouri@gmail.com>
+
+       Support tree-sitter local parsers
+
+       * doc/lispref/parsing.texi (Multiple Languages): Update manual.
+       * lisp/treesit.el (treesit-range-settings): Add LOCAL-P to range
+       setting.
+       (treesit-range-rules): Support :local keyword.
+       (treesit-local-parsers-at)
+       (treesit-local-parsers-in)
+       (treesit--update-ranges-local): New functions.
+       (treesit-update-ranges)
+       (treesit-font-lock-fontify-region)
+       (treesit--indent-1): Support local parsers and prioritize it over
+       global parsers.
+
+2023-09-06  Yuan Fu  <casouri@gmail.com>
+
+       Allow filter by tag in treesit-parser-list
+
+       * doc/lispref/parsing.texi: Update manual.
+       * src/treesit.c (Ftreesit_parser_create): Disallow using t for tag.
+       (Ftreesit_parser_list): Add LANGUAGE and TAG parameter.
+
+2023-09-06  Yuan Fu  <casouri@gmail.com>
+
+       Use tagged parser in c-ts-mode
+
+       Now that we have tags for parsers, use that instead of the
+       load-name-override hack.
+
+       * lisp/progmodes/c-ts-mode.el:
+       (c-ts-mode--emacs-c-range-query): Change parser to C.
+       (c-ts-mode--emacs-set-ranges): Use the tagged parser.
+       (c-ts-mode): Create the tagged parser.
+
+2023-09-06  Yuan Fu  <casouri@gmail.com>
+
+       Add tag to tree-sitter parsers
+
+       * doc/lispref/parsing.texi (Using Parser): Update manual.
+       * lisp/treesit.el (treesit-buffer-root-node)
+       * src/treesit.c (make_treesit_parser)
+       * src/treesit.c (Ftreesit_parser_create): Add TAG parameter.
+       (treesit_resolve_node): Create a parser with nil tag.
+       * src/treesit.h (Lisp_TS_Parser): Add TAG field.
+
+2023-09-06  Po Lu  <luangruo@yahoo.com>
+
+       Properly run emacsclient under Android if DISPLAY is set
+
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): Make
+       dimensions final, since they are never changed after the
+       constructor.
+
+       * lib-src/emacsclient.c (decode_options): If --display is not
+       provided, always set display to `android' even if DISPLAY is
+       provided.
+
+       * lisp/net/browse-url.el (browse-url): Cease setting DISPLAY
+       under Android.
+
+       * src/callproc.c (getenv_internal, make_environment_block):
+       Don't afford DISPLAY special treatment under Android.
+
+2023-09-05  Justin Burkett  <justin@burkett.cc>
+
+       Fix popup with no space
+
+       Fixes #317
+
+2023-09-05  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Correctly handle common prefixes in substring completion
+
+       Substring completion would previously not complete the longest common
+       substring if that substring was a prefix of all the completion
+       alternatives.  Now it does.  An explanation of this bug
+
+       Substring completion is implemented by passing the `prefix' symbol as
+       part of the pattern passed to completion-pcm--merge-completions.  This
+       symbol is supposed to cause completion-pcm--merge-completions to
+       "grow" a completion of a common substring only from the "right" of the
+       symbol (a common suffix), not from the "left" of the symbol (a common
+       prefix).  Yes, this is the opposite of what the name `prefix' would
+       imply.
+
+       When processing a symbolic element of the pattern,
+       completion-pcm--merge-completions first finds the common prefix of all
+       the completions in that part of the pattern (using try-completion).
+       Then for `prefix' and other elements which want to complete a common
+       suffix, the common prefix is removed from each element and then the
+       common suffix is calculated with completion--common-suffix.
+
+       If the common prefix covers the entirety of all the alternatives
+       (i.e. when "unique" is true in the code), it's also a common suffix.
+       In that case, the common suffix calculation (if it runs) is basically
+       a no-op which will produce an empty string, since we removed the
+       common prefix before running it.
+
+       Before this change, `prefix' elements would unconditionally discard
+       the common prefix, which produced the wrong result in the case that
+       common prefix == common suffix.  For example:
+
+         (completion-pcm--merge-completions '("ab" "ab") '(prefix "b"))
+         -> ("b")
+
+       Now we detect this situation and include the common prefix in this
+       case for `prefix' elements.  Then we get:
+
+         (completion-pcm--merge-completions '("ab" "ab") '(prefix "b"))
+         -> ("b" "a")
+
+       which is correct.
+
+       * lisp/minibuffer.el (completion-pcm--merge-completions): Don't ignore
+       a common suffix in a `prefix' pattern element when it's also a common
+       prefix.
+       * test/lisp/minibuffer-tests.el (completion-substring-test-5): Add a
+       test.
+
+2023-09-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make `dns-mode` fontify quoted values correctly
+
+       * lisp/textmodes/dns-mode.el (dns-mode-syntax-table): Fontify
+       quoted values correctly.  (Bug#62214)
+       Suggested by Trent W. Buck <trentbuck@gmail.com>.
+
+2023-09-05  Daniel Martín  <mardani29@yahoo.es>
+
+       Improve completion of treesit-check-indent command
+
+       * lisp/treesit.el (treesit--read-major-mode): Helper function to
+       provide completion for most major modes.
+       (treesit-check-indent): Use the new interactive spec and improve the
+       docstring.  (Bug#60001)
+
+2023-09-05  João Távora  <joaotavora@gmail.com>
+
+       Flymake: speed up mode-line display with simple cache
+
+       When scrolling heavily (perhaps holding down C-n), the function
+       'flymake-mode-line-counter' showed very prominently in the memory and
+       CPU profiles.
+
+       Using a cache here was trivial, if not particularly pretty.  The
+       function all but disappears from the profiles afterwards.
+
+       * lisp/progmodes/flymake.el (flymake--mode-line-counter-cache):
+       New variable.
+       (flymake--publish-diagnostics): Flush cache aggressively.
+       (flymake-mode-line-error-counter): Adjust.
+       (flymake--mode-line-counter-1): New helper from earlier
+       flymake--mode-line-counter.
+       (flymake--mode-line-counter): Use cache.
+
+2023-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-lib.el (cl-old-struct-compat-mode): Mark as 
obsolete
+
+       * lisp/emacs-lisp/cl-preloaded.el: Emit a message before enabling
+       `cl-old-struct-compat-mode`.
+
+       See bug#63282.
+
+2023-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/pp.el (pp-28): Fix typo
+
+       Reported by Mattias Engdegård <mattias.engdegard@gmail.com>.
+
+2023-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs
+
+2023-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/edebug.el (edebug-list-form): Don't gate so eagerly
+
+       The `edebug-gate` is fairly heavy handed, so don't activate it
+       just because we seem to have found what looks like a valid form.
+
+2023-09-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Display directory when `dired-omit-mode` is first enabled
+
+       * lisp/dired-x.el (dired-omit-expunge): Display the directory name
+       when 'dired-omit-mode' is first enabled.  (Bug#64705)
+
+2023-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc/lispref/functions.texi (Advising Named Functions): Clarify " no 
advice"
+
+2023-09-05  Po Lu  <luangruo@yahoo.com>
+
+       Minor adjustments to Android port stubs
+
+       * src/androidfns.c (Fx_display_backing_store): Return
+       `when-mapped' in place of `always', since the former better
+       reflects Android port behavior.
+       (syms_of_androidfns) <always>: Delete defsym.
+       <when-mapped>: New defsym.
+
+       * src/term.c (Fsuspend_tty, Fresume_tty): Properly signal errors
+       on Android rather than quietly disregarding calls.
+
+2023-09-05  Jim Porter  <jporterbugs@gmail.com>
+
+       Inherit 'sieve-mode' faces from 'font-lock'
+
+       These Sieve faces were already a close mapping onto the Font Lock
+       ones, so this should usually look the same to users with the default
+       theme.  However, this makes it easier to theme these faces (just
+       define the usual 'font-lock-*-face' colors you want) and also fixes a
+       few edge cases (bug#62370).
+
+       * lisp/net/sieve-mode.el (sieve-control-commands)
+       (sieve-action-commands, sieve-test-commands, sieve-tagged-arguments):
+       Inherit from 'font-lock' faces.
+
+2023-09-05  Po Lu  <luangruo@yahoo.com>
+
+       Avoid virtual function dispatch overhead
+
+       * src/androidvfs.c (android_saf_move_document): Circumvent JNI
+       dynamic function dispatch on call to final method.
+
+2023-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (cl-flet): Remove `&name` for (SYM EXP) 
case
+
+       The new/current Edebug spec gives the name `SYM@cl-flet@NN` to the
+       expression building that function rather than to the body of that
+       function as would be expected, leading to misleading code coverage.
+
+       This basically reverts 999de2a5ea36, cc0f546825e0, and 18c85306ac21 :-(
+
+2023-09-04  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Add 'appt-notification' face (Bug#61661)
+
+       * lisp/calendar/appt.el (appt-notification): Declare the new face.
+       (appt-check): Implement the new face.
+       * etc/NEWS: Announce the new face.
+
+2023-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/tab-bar.el (cl--set-substring): Remove left-over autoload
+
+       And remove left-over `require` of `seq` while at it.
+
+2023-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Move `setf substring` to cl-lib since it relies on it (bug#60102)
+
+       * lisp/emacs-lisp/cl-lib.el (substring): Move gv-expander here...
+       * lisp/emacs-lisp/gv.el (substring): ...from here.
+
+2023-09-04  João Távora  <joaotavora@gmail.com>
+           Filippo Argiolas  <filippo.argiolas@gmail.com>
+
+       Eglot: add new chapter about Elisp extensions to Eglot manual
+
+       bug#65418
+
+
+       * doc/misc/eglot.texi (Extending Eglot): New chapter.
+
+2023-09-04  João Távora  <joaotavora@gmail.com>
+           Filippo Argiolas  <filippo.argiolas@gmail.com>
+
+       Eglot: reorganize Elisp API section, export new functions
+
+       bug#65418
+
+
+       * lisp/progmodes/eglot.el (Obsolete aliases): New section, move
+       all obsolete aliases here.
+       (eglot-uri-to-path)
+       (eglot-path-to-uri)
+       (eglot-range-region)
+       (eglot-server-capable)
+       (eglot-server-capable-or-lose): New functions and backward compability
+       aliases.
+
+2023-09-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Revert use of seq-count in shr-count
+
+       * lisp/net/shr.el (shr-count): Prefer handwritten code to using
+       'seq-count', as it's more performant.
+       Problem reported by Mattias Engdegård <mattiase@acm.org>.
+
+2023-09-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use seq-count in three functions
+
+       * lisp/net/shr.el (shr-count):
+       * lisp/progmodes/idlwave.el (idlwave-count-memq): Use seq-count.
+       (idlwave-count-eq): Use seq-count.  Make obsolete, as it is unused.
+
+2023-09-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use new ERT `skip-when` macro in tests
+
+       * test/lisp/autorevert-tests.el
+       (auto-revert-test02-auto-revert-deleted-file):
+       * test/lisp/emacs-lisp/benchmark-tests.el (benchmark-tests):
+       * test/lisp/emacs-lisp/find-func-tests.el
+       (find-func-tests--library-completion):
+       * test/lisp/eshell/esh-proc-tests.el
+       (esh-proc-test/kill-pipeline):
+       * test/lisp/filenotify-tests.el (file-notify-test11-symlinks):
+       * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
+       * test/lisp/international/ucs-normalize-tests.el
+       (ucs-normalize-part1):
+       * test/lisp/net/network-stream-tests.el (echo-server-nowait)
+       (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait)
+       (open-network-stream-tls-wait, open-network-stream-tls-nowait)
+       (open-network-stream-tls, open-network-stream-tls-nocert)
+       (open-gnutls-stream-new-api-nowait)
+       (open-gnutls-stream-old-api-nowait):
+       * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-10483)
+       (cperl-test-hyperactive-electric-else):
+       * test/lisp/progmodes/elisp-mode-tests.el
+       (eval-last-sexp-print-format-sym-echo)
+       (eval-last-sexp-print-format-small-int-echo)
+       (eval-last-sexp-print-format-large-int-echo)
+       (eval-defun-prints-edebug-when-instrumented):
+       * test/lisp/progmodes/python-tests.el (python-ffap-module-path-1):
+       * test/lisp/shadowfile-tests.el (shadow-test00-clusters)
+       (shadow-test01-sites, shadow-test02-files)
+       (shadow-test03-expand-cluster-in-file-name)
+       (shadow-test04-contract-file-name, shadow-test05-file-match)
+       (shadow-test06-literal-groups, shadow-test07-regexp-groups)
+       (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
+       * test/lisp/simple-tests.el
+       (eval-expression-print-format-sym-echo)
+       (eval-expression-print-format-small-int-echo)
+       (eval-expression-print-format-large-int-echo):
+       * test/lisp/term-tests.el (term-simple-lines)
+       (term-carriage-return, term-line-wrap, term-colors)
+       (term-colors-bold-is-bright, term-cursor-movement)
+       (term-scrolling-region, term-set-directory)
+       (term-line-wrapping-then-motion, term-to-margin):
+       * test/lisp/thread-tests.el
+       (thread-tests-list-threads-error-when-not-configured):
+       * test/lisp/vc/vc-tests.el (backend):
+       * test/manual/scroll-tests.el (scroll-tests-scroll-margin-0)
+       (scroll-tests-scroll-margin-negative)
+       (scroll-tests-scroll-margin-max)
+       (scroll-tests-scroll-margin-over-max)
+       (scroll-tests-scroll-margin-whole-window):
+       * test/misc/test-custom-libs.el (test-custom-libs):
+       * test/src/emacs-module-tests.el (module/async-pipe):
+       * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
+       * test/src/filelock-tests.el (filelock-tests-lock-spoiled)
+       (filelock-tests-file-locked-p-spoiled)
+       (filelock-tests-unlock-spoiled)
+       (filelock-tests-kill-buffer-spoiled)
+       (filelock-tests-detect-external-change):
+       * test/src/image-tests.el
+       (image-tests-image-size/error-on-nongraphical-display)
+       (image-tests-image-mask-p/error-on-nongraphical-display)
+       (image-tests-image-metadata/error-on-nongraphical-display):
+       * test/src/process-tests.el (make-process/mix-stderr)
+       (process-tests/fd-setsize-no-crash/make-network-process)
+       (process-tests/fd-setsize-no-crash/make-serial-process):
+       Use ERT `skip-when` macro in tests.
+
+2023-09-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add `skip-when` macro to `ert-deftest`
+
+       This can help avoid some awkward test skip conditions.
+
+       For example, this triple negation:
+           (skip-unless (not noninteractive))
+
+       Can be written as the simpler:
+           (skip-when noninteractive)
+
+       * lisp/emacs-lisp/ert.el (ert-deftest): Add new 'skip-when' macro.
+       (ert--skip-when): New internal function.
+       * doc/misc/ert.texi (Tests and Their Environment): Document above
+       new macro.
+       * test/lisp/emacs-lisp/ert-tests.el (ert-test-skip-when): New test.
+
+2023-09-04  Alan Mackenzie  <acm@muc.de>
+
+       * etc/NEWS (static-if): Clarify the entry.
+
+2023-09-04  Alan Mackenzie  <acm@muc.de>
+
+       Correct the handling of symbols with position in equal
+
+       * src/fns.c (internal_equal): Only regard symbols with position
+       as their symbols when symbols-with-pos-enabled is non-nil.
+
+       * doc/lispref/symbols.texi (Symbols with Position): Expand the
+       description of symbols with position, in particular the way
+       they work with eq and equal.
+
+       * doc/lispref/objects.texi (Equality Predicates): Describe how
+       eq and equal handle symbols with position.
+
+       * test/src/fns-tests.el (fns-tests-equal-symbols-with-position):
+       New tests for symbols with position.
+
+2023-09-04  Gene Goykhman  <gene@indigo1.com>
+
+       Announce user option tramp-completion-multi-hop-methods
+
+       * doc/misc/tramp.texi (Ad-hoc multi-hops):
+       Add tramp-completion-multi-hop-methods.
+
+       * etc/NEWS: New user option tramp-completion-multi-hop-methods.
+
+2023-09-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2023-09-04  Po Lu  <luangruo@yahoo.com>
+
+       Correct deadlock in Android port
+
+       * java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
+       Delete extraneous whitespace.
+       (updateExtractedText): Encase synchronous IM manager operation
+       in deadlock prevention mechanism.
+
+2023-09-04  João Távora  <joaotavora@gmail.com>
+
+       Revert "Eglot: reorganize Elisp API section, export new functions"
+
+       This reverts commit 726499305b50ff75979a9067d411b27adf7d495e.
+
+       One of the co-authors doesn't yet have a FSF copyright assignment.
+
+2023-09-04  João Távora  <joaotavora@gmail.com>
+
+       Revert "Eglot: add new chapter about Elisp extensions to Eglot manual"
+
+       This reverts commit 2a66334bada5173f351e452f40d4289b5e06f04c.
+
+       One of the co-authors doesn't yet have a FSF copyright assignment.
+
+2023-09-04  João Távora  <joaotavora@gmail.com>
+           Filippo Argiolas  <filippo.argiolas@gmail.com>
+
+       Eglot: add new chapter about Elisp extensions to Eglot manual
+
+       bug#65418
+
+
+       * doc/misc/eglot.texi (Extending Eglot): New chapter.
+
+2023-09-04  João Távora  <joaotavora@gmail.com>
+           Filippo Argiolas  <filippo.argiolas@gmail.com>
+
+       Eglot: reorganize Elisp API section, export new functions
+
+       bug#65418
+
+
+       * lisp/progmodes/eglot.el (Obsolete aliases): New section, move
+       all obsolete aliases here.
+       (eglot-uri-to-path)
+       (eglot-path-to-uri)
+       (eglot-range-region)
+       (eglot-server-capable)
+       (eglot-server-capable-or-lose): New functions and backward compability
+       aliases.
+
+2023-09-03  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Make emoji commands compatible with repeat and repeat-complex-command
+
+       * lisp/international/emoji.el (emoji-search): Read user input
+       inside 'interactive'.
+       * (emoji-insert-glyph): Determine glyph inside 'interactive',
+       using 'emoji--recent' when not invoked from one of its transient
+       prefixes but using 'recent' or 'recent-complex-command'.
+
+2023-09-03  Philipp Stephani  <phst@google.com>
+
+       Fix Edebug specification for 'cl-define-compiler-macro'.
+
+       * lisp/emacs-lisp/cl-macs.el (cl-define-compiler-macro): Give the
+       instrumented name a suffix to make it unique.  Otherwise it will clash
+       with the name of the main function.
+
+2023-09-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       checkdoc: Don't warn for () in cl-defmacro args
+
+       Seen with, for example:
+
+           (cl-defmacro foo (bar () &body baz) ...)
+
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
+       Improve support for `cl-defmacro' by ignoring "nil" in parameter list.
+
+2023-09-03  Alan Mackenzie  <acm@muc.de>
+
+       New documentation for static-if.
+
+       * doc/lispref/control.texi (Conditional Compilation): New
+       section documenting static-if.
+
+2023-09-03  Alan Mackenzie  <acm@muc.de>
+
+       New conditional compilation macro static-if.
+
+       * etc/NEWS: Record the new macro.
+
+       * lisp/subr.el (static-if): New macro.
+
+2023-09-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsService.java (browseUrl): Confer
+       rights to write the URI indefinitely.
+
+2023-09-03  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix defcustoms in filesets.el (Bug#65708)
+
+       * lisp/filesets.el (filesets-browse-dir-function)
+       (filesets-open-file-function filesets-save-buffer-function)
+       (filesets-commands filesets-external-viewers): Don't override default
+       value for the function widget with an invalid default value.
+       Remove redundant ":" in tag.
+       Fix default values for choice and list widgets.
+
+2023-09-03  Jim Blandy  <jimb@red-bean.com>
+
+       Fix indentation in `syntax-ppss'
+
+       * lisp/emacs-lisp/syntax.el: Fix indentation in
+       `syntax-ppss'.  (Bug#58665)
+
+2023-09-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       * lisp/vc/vc-git.el (vc-git-annotate-switches): Add useful tip.
+
+2023-09-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Replace completion--some with seq-some
+
+       This is safe, as 'seq' is preloaded before 'minibuffer'.
+       * lisp/loadup.el ("minibuffer"): Document 'seq' dependency.
+       * lisp/minibuffer.el (completion--some): Remove.  Replace all uses
+       with 'seq-some'.
+
+2023-09-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Move `wholenump` alias definition
+
+       * src/data.c (syms_of_data): From here...
+       * lisp/subr.el (wholenump): ...to here, with the other aliases.
+
+2023-09-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Prefer reusing seq-remove in reftex
+
+       * lisp/textmodes/reftex.el (reftex-remove-symbols-from-list): Make
+       obsolete in favor of 'seq-remove'.  Update single caller.
+
+2023-09-03  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Don't native compile lock files
+
+       * lisp/emacs-lisp/package.el (package--delete-directory):
+       Exclude lock files in regex.  (Bug#65666)
+
+2023-09-03  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Log org export errors to package-vc doc buffer
+
+       * lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
+       Wrap the org-export logic in condition-case, allowing package
+       installation to continue while preserving error messages.  (Bug#65649)
+
+2023-09-03  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Include package name in package-vc documentation log buffer name
+
+       * lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
+       Modify buffer name generation.  (Bug#65649)
+
+2023-09-03  Po Lu  <luangruo@yahoo.com>
+
+       Move Android port internals documentation to admin/notes
+
+       * admin/notes/java: New file.  Move most of its contents from
+       README, and introduce a section on compatibility.
+
+       * java/README: Move internals to admin/notes/java.
+
+2023-09-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Replace ps-remove-duplicates with seq-uniq
+
+       * lisp/ps-print.el (ps-remove-duplicates): Make obsolete in favor of
+       seq-uniq.  Update all callers.
+
+2023-09-03  Damien Cassou  <damien@cassou.me>
+
+       project.el: Fix bug in project-ignores method for VC-aware backend
+
+       The variable `backend' was always nil preventing the 25-line long
+       `when' block from doing anything.  This bug was introduced in commit
+       785fa801596ad7bb9f838cac865f00de29e253d1 "New user option:
+       project-vc-extra-root-markers". (Bug#65704)
+
+       * lisp/progmodes/project.el (project-ignores): Make sure the variable
+       is initialized, so that backend-specific code is used if any.
+
+2023-09-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Apply Eshell tilde expansion before glob expansion
+
+       By treating 'eshell-current-modifiers' as a hook, we can simplify much
+       of the code working with it and ensure that we call modifiers in a
+       more-correct order.
+
+       * lisp/eshell/em-dirs.el (eshell-expand-user-reference-1)
+       (eshell-expand-user-reference): Simplify.  We now only get a single
+       argument.
+       (eshell-parse-user-reference):
+       * lisp/eshell/em-glob.el (eshell-add-glob-modifier):
+       * lisp/eshell/em-pred.el (eshell-parse-arg-modifier): Use 'add-hook'.
+
+2023-09-03  Davide Masserut  <dm@mssdvd.com>
+
+       Display the exit code if the last command failed in Eshell
+
+       * lisp/eshell/esh-io.el (eshell-last-command-status): Make
+       buffer-local.
+
+       * lisp/eshell/em-prompt.el (eshell-prompt-function): Insert the exit
+       code if last command failed.
+
+       * test/lisp/eshell/em-prompt-tests.el (em-prompt-test/after-failure):
+       New test.
+       (em-prompt-test/next-previous-prompt-1)
+       (em-prompt-test/forward-backward-matching-input-1): Add a failing
+       command to tests.
+
+       * doc/misc/eshell.texi (Invocation): Document change.
+
+       * etc/NEWS: Announce change (bug#65604).
+
+2023-09-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Provide our own implementation of paragraph navigation in Eshell
+
+       This lets us finally obsolete 'eshell-prompt-regexp', making it
+       simpler for users to customize their prompts.
+
+       * lisp/eshell/em-prompt.el (eshell-prompt-function): Update docstring.
+       (eshell-prompt-regexp): Make obsolete.
+       (eshell-prompt-initialize): Remove 'eshell-prompt-regexp' code.
+       (eshell-prompt-mode-map): Remap paragraph navigation commands to...
+       (eshell-forward-paragraph, eshell-backward-paragraph): ... these new
+       commands.
+
+2023-09-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Be more precise about navigating forward/backward through Eshell prompts
+
+       * lisp/eshell/em-prompt.el (eshell-next-prompt): Make N optional.
+       When navigating, first move to the end of the prompt.  This makes the
+       subsequent navigation more predictable.
+       (eshell-previous-prompt): Mane N optional.
+
+       * test/lisp/eshell/em-prompt-tests.el
+       (em-prompt-test--with-multiline): Move to "Code" section.
+       (em-prompt-test/next-previous-prompt-with): Rename to...
+       (em-prompt-test/next-previous-prompt-1): ... this, and add additional
+       test cases.  Update callers.
+       (em-prompt-test/forward-backward-matching-input-with): Rename to...
+       (em-prompt-test/forward-backward-matching-input-1): ... this, and
+       improve existing test cases.
+
+2023-09-02  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix and extend applying substitution in widget-choose
+
+       * lisp/wid-edit.el (widget-choose): Iterate only over proper lists
+       when applying substitution (bug#64046, Message #53).  With simple
+       item definitions, apply substitution only to the item text, not to
+       its value (bug#64046, Message #86).  Apply substitution also to
+       the widget title (bug#64046, Message #92).
+
+2023-09-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update selected packages when deleting last package
+
+       * lisp/emacs-lisp/package.el (package--save-selected-packages): Allow
+       setting 'package-selected-packages' to a nil value.  (bug#65475)
+
+2023-09-02  Alan Mackenzie  <acm@muc.de>
+
+       Output better error messages on certain edebug spec errors
+
+       This fixes bug#65620.  The error thrown up to now was "Void
+       function edebug-after".  This has been replaced by "Invalid
+       call to `edebug-before'.  Is the edebug spec for `foo'
+       correct?".
+
+       * lisp/emacs-lisp/edebug.el (edebug-b/a-error): New function
+       which throws the new friendlier error message.
+       (edebug-before, edebug-after): Replace the defalias's to nil
+       with actual functions which just call edebug-b/a-error.
+
+       * doc/lispref/edebug.texi (Specification List): In the entry
+       for `sexp', warn against mistakenly using `form' for an
+
+2023-09-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make ediff-m-empty-t-f obsolete in favor of make-temp-file
+
+       * lisp/vc/ediff-util.el (ediff-make-empty-tmp-file): Make obsolete
+       in favor of 'make-temp-file'.  Update callers.
+
+2023-09-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make emerge-m-t-f obsolete in favor of make-temp-file
+
+       * lisp/vc/emerge.el (emerge-make-temp-file): Make obsolete in favor of
+       'make-temp-file'.  Update all callers.
+
+2023-09-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tramp-get-completion-methods
+
+       * lisp/net/tramp.el (tramp-get-completion-methods): Make MULTI-HOP
+       optional.
+
+2023-09-02  João Távora  <joaotavora@gmail.com>
+
+       Eglot: slightly simplify eglot--propose-changes-as-diff
+
+       bug#60338
+
+       * lisp/progmodes/eglot.el (eglot--propose-changes-as-diff):
+       Simplify slightly.
+
+2023-09-02  LdBeth  <andpuke@foxmail.com>
+
+       Remove newsticker--lists-intersect-p
+
+       * lisp/net/newst-backend.el (newsticker--lists-intersect-p): Remove.
+       * lisp/net/newst-plainview.el (newsticker-w3m-show-inline-images)
+       (newsticker-next-new-item, newsticker-previous-new-item)
+       (newsticker-next-item, newsticker-next-item-same-feed)
+       (newsticker-previous-item, newsticker-next-item-available-p)
+       (newsticker-previous-item-available-p): Replace corresponding calls by
+       `invisible-p'.  (Bug#60328)
+
+2023-09-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       dbbcf4a6599 Fix fontification of " in edit-kbd-macro
+       2137fdfd550 * lisp/emacs-lisp/gv.el (buffer-local-value): Unobsolete ...
+       e660ee88e3d ; Remove incorrect example from ELisp Reference manual
+       c32fd92d67e Add documentation to plstore.el
+       57760f585e2 * lisp/help.el (substitute-quotes): Improve docstring.
+       60dcea7658a Fix two defcustom :types
+       890a4c209ab Fix `image-auto-resize-on-window-resize' custom :type
+       369f2eea100 Add "terraform-ls" LSP server to Eglot
+       5cbe96d17f6 ; Improve documentation of 'char-table-range'
+       a219ee8c314 Fix minor bugs in vc-git and vc-hg on Windows uncovered b...
+       3f7598806eb Add syntax-propertize-function to js-ts-mode
+       18b292140ee ; * src/treesit.c: Add ts function boilerplate
+       ec4d29c4494 Improve performance of treesit_cursor_helper_1
+
+       # Conflicts:
+       #       lisp/vc/vc-git.el
+       #       src/treesit.c
+
+2023-09-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       648a5e33e80 Update to Org 9.6.8-3-g21171d
+       458442fe78c Escape percent character in treesit--inspect-name (bug#65...
+       bc0426ce8ed Don't add an extraneous slash in remote PATH list in Eshell
+       34f7a47c9ce Fix Tramp on MS Windows
+       ea5fd6c96bc * Fix native disassemble on Windows platforms (bug#65455)
+       91d2d8439bb * Handle missing eln file when trying to disassble (bug#6...
+       e7ac50a1539 * lisp/emacs-lisp/comp.el (comp--native-compile): Fix OUT...
+       45cf3a0cede Update to Transient v0.4.3
+       31d3808fb9d Adapt Eshell manual
+       0c50af054f9 Fix applying patches with Git on MS-Windows
+
+       # Conflicts:
+       #       doc/misc/transient.texi
+       #       test/lisp/eshell/esh-util-tests.el
+
+2023-09-02  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-thing-definition
+
+       * lisp/treesit.el (treesit-thing-definition): Add LANGUAGE parameter.
+       (treesit-major-mode-setup): Update treesit-thing-definition.  Don't
+       enable tree-sitter sexp transpose if sexp isn't defined.
+
+2023-09-02  Yuan Fu  <casouri@gmail.com>
+
+       Don't signal error when calling treesit-node-match-p in treesit.el
+
+       Specifically, don't signal error when the thing isn't defined.
+
+       * lisp/treesit.el (treesit-node-top-level)
+       (treesit-forward-sentence)
+       (treesit--things-around): Add IGNORE-MISSING argument.
+
+2023-09-02  Yuan Fu  <casouri@gmail.com>
+
+       Rename PRED to THING in tree-sitter navigation functions
+
+       The primary way to use these functions should be to supply a thing
+       symbol. Change the parameter name to THING to reflect that.
+
+       * lisp/treesit.el (treesit-beginning-of-thing)
+       (treesit-end-of-thing)
+       (treesit--things-around)
+       (treesit--navigate-thing)
+       (treesit-thing-at-point): Change parameter.
+
+2023-09-02  Yuan Fu  <casouri@gmail.com>
+
+       Add an optional arg to Ftreesit_node_match_p
+
+       * src/treesit.c (treesit_traverse_child_helper): Fix typo.
+       (treesit_traverse_get_predicate): Add ignore_missing.
+
+       (Ftreesit_search_subtree)
+       (Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree): Update docstring.
+       (Ftreesit_node_match_p): Add ignore_missing.
+
+2023-09-02  Yuan Fu  <casouri@gmail.com>
+
+       Obsolete treesit-block/sexp/sentence/text-type-regexp
+
+       And replace them with treesit-thing-settings.
+
+       * doc/lispref/positions.texi (List Motion): Remove mention of
+       treesit-sexp/sentence-type-regexp.
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-base-mode)
+       * lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode)
+       * lisp/progmodes/java-ts-mode.el (java-ts-mode)
+       * lisp/progmodes/js.el (js-ts-mode)
+       * lisp/progmodes/json-ts-mode.el (json-ts-mode)
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode)
+       * lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode)
+       (tsx-ts-mode)
+       * lisp/progmodes/heex-ts-mode.el (heex-ts-mode)
+       * lisp/progmodes/sh-script.el (bash-ts-mode)
+       * lisp/progmodes/prog-mode.el (prog-fill-reindent-defun)
+       * lisp/textmodes/html-ts-mode.el (html-ts-mode): Replace
+       treesit-sexp/sentence/text-type-regexp with treesit-thing-settings.
+
+       * lisp/treesit.el (treesit-sexp-type-regexp)
+       (treesit-sentence-type-regexp): Mark obsolete.
+       (treesit-block-type-regexp): Remove.
+
+       * lisp/treesit.el (treesit-forward-sexp)
+       (treesit-transpose-sexps)
+       (treesit-beginning-of-defun)
+       (treesit-end-of-defun)
+       (treesit-forward-sentence)
+       (treesit-defun-at-point): Make use of treesit-thing-settings.
+
+       (treesit-thing-definition)
+       (treesit-thing-defined-p): New functions.
+
+       (treesit-major-mode-setup): Replace
+       treesit-sexp/sentence-type-regexp with treesit-thing-settings.
+
+2023-09-02  Po Lu  <luangruo@yahoo.com>
+
+       Open org-protocol:// links on Android
+
+       * doc/emacs/android.texi (Android Startup): Revise to reflect
+       changes in the set of files registered for Emacsclient and
+       mention org-protocol support.
+
+       * java/AndroidManifest.xml.in: Open all files, not just a
+       particular subset of image and data files.  Register an
+       org-protocol scheme handler.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Provide
+       URI to Emacs verbatim if its scheme is `org-protocol'.
+
+2023-09-02  Dmitry Gutov  <dmitry@gutov.dev>
+
+       xref.el: Ensure that the return value is the buffer
+
+       * lisp/progmodes/xref.el (xref--show-xrefs, xref--show-defs):
+       Ensure the return value of the funcall is returned (bug#65631).
+
+2023-09-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up) <held>:
+       Treat `held' as `drag' as well.
+
+       * src/android.c (android_is_special_directory): Return bool
+       rather than a pointer to the remainder of the file name, given
+       that said pointer is never used.
+
+       * src/android.h (android_is_special_directory): Modify
+       correspondingly.
+
+2023-09-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete references to gnuserv
+
+       * doc/misc/mh-e.texi (Incorporating Mail):
+       * doc/misc/octave-mode.texi (Concept Index):
+       * lisp/net/browse-url.el (browse-url-w3-gnudoit): Delete
+       references to gnuserv; these days we use emacsclient.
+
+2023-09-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make url-gateway-broken-resolution obsolete
+
+       * lisp/url/url-gw.el (url-gateway-broken-resolution)
+       (url-gateway-nslookup-program, url-gateway-nslookup-host): Make 
obsolete.
+       * doc/misc/url.texi (Broken hostname resolution): Delete commented
+       out section.
+
+2023-09-01  Eshel Yaron  <me@eshelyaron.com>
+           João Távora  <joaotavora@gmail.com>
+
+       Eglot: rework description and type of eglot-confirm-server-edits
+
+
+       * lisp/progmodes/eglot.el (eglot-confirm-server-edits): Improve
+       type description.
+
+2023-09-01  João Távora  <joaotavora@gmail.com>
+
+       Eglot: handle unsaved buffers in new eglot--propose-changes-as-diff
+
+       * lisp/progmodes/eglot.el (eglot--confirm-server-edits): Add docstring.
+       (eglot--propose-changes-as-diff): Rework.  Handle unsaved buffers.
+       (eglot--apply-workspace-edit): Rework.
+
+2023-09-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make checkdoc warn if not using lexical-binding
+
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
+       Warn if there is no lexical-binding cookie.  (Bug#59920)
+       (checkdoc-lexical-binding-flag): New user option.
+
+2023-09-01  Ihor Radchenko  <yantar92@posteo.net>
+
+       Make emacsclient handle org-protocol:// links
+
+       Org mode provides a way to quickly capture bookmarks, notes, and links
+       using emacsclient:
+
+           emacsclient "org-protocol://store-link?url=URL&title=TITLE"
+
+       * etc/emacsclient.desktop: Make Emacs the default application for
+       org-protocol.  (Bug#65469)
+
+2023-09-01  Eshel Yaron  <me@eshelyaron.com>
+
+       Fix regexp in help-do-arg-highlight
+
+       * lisp/help-fns.el (help-do-arg-highlight): Fix regexp.  (Bug#65580)
+
+       Avoid highlighting (parts of) the function name as arguments in the
+       output of 'describe-function' when the function has an argument with
+       the same name.  To achieve this, refine the regular expression that
+       'help-do-arg-highlight' uses such that it doesn't match anything in
+       the function name.
+
+2023-09-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp.el (tramp-completion-multi-hop-methods):
+
+       Add ;;;###tramp-autoload cookie.
+
+2023-09-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix tramp-completion-multi-hop-methods handling
+
+       * lisp/net/tramp-container.el (tramp-completion-multi-hop-methods):
+       Add methods properly.
+
+       * lisp/net/tramp.el (tramp-completion-multi-hop-methods): Fix :type.
+
+2023-09-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix VC mode-line indication for registerd but ignored files
+
+       * lisp/vc/vc-hooks.el (vc-ignored-state): New face.
+       (vc-default-mode-line-string): Add special indication and tooltip
+       for files that are registered, but also ignored.  See
+       https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00006.html
+       for the details of the use case.
+
+       * doc/emacs/maintaining.texi (VC Mode Line): Mention the
+       additional meaning of '!' in the VC status mode-line display.
+
+2023-09-01  Juri Linkov  <juri@linkov.net>
+
+       Fix height of new SVG icons on tab-bar and tab-line (bug#62562)
+
+       * lisp/tab-bar.el (tab-bar--load-buttons): Add ':height (1.0 . em)'
+       to icons tab-bar-new, tab-bar-menu-bar.
+       (tab-bar-history-mode): Add ':height (1.0 . em)'
+       to icons tab-bar-back, tab-bar-forward.
+
+       * lisp/tab-line.el (tab-line-new, tab-line-left, tab-line-right):
+       Add ':height (1.0 . em)' to these icons.
+
+2023-09-01  Po Lu  <luangruo@yahoo.com>
+
+       Display the OSK after touch screen drag-to-select
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up) <drag>:
+       New case.  Activate the on screen keyboard should the window
+       where the first touch screen event landed have selected a
+       writable buffer in which the region is active.
+
+2023-09-01  Jim Porter  <jporterbugs@gmail.com>
+
+       Add debug instrumentation for Eshell process management
+
+       * lisp/eshell/esh-util.el (eshell-debug-command)
+       * lisp/eshell/em-basic.el (eshell/eshell-debug)
+       (pcomplete/eshell-mode/eshell-debug): Add 'process' type.
+
+       * lisp/eshell/esh-proc.el (eshell-gather-process-output)
+       (eshell-interactive-process-filter, eshell-insertion-filter)
+       (eshell-sentinel): Call 'eshell-debug-command'.
+
+       * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell): Add
+       'process' to 'eshell-debug-command'
+       (eshell-get-debug-logs): New function...
+       (eshell-match-command-output, eshell-command-result-equal): ... use
+       it.
+
+       * doc/misc/eshell.texi (Built-ins): Mention "process" debug type.
+
+2023-09-01  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix handling of Eshell debug modes
+
+       Previously, these were enabled/disabled at byte-compilation time, but
+       we want to control them at runtime.
+
+       * lisp/eshell/esh-cmd.el (eshell-eval-command): Call
+       'eshell-debug-command-start'.
+       (eshell-manipulate): Check 'eshell-debug-command' at runtime.  Update
+       callers.
+       (eshell-debug-command): Move to "esh-util.el".
+       (eshell/eshell-debug, pcomplate/eshell-mode/eshell-debug): Move to
+       "em-basic.el".
+       (eshell-debug-show-parsed-args): Update implementation.
+
+       * lisp/eshell/esh-util.el (eshell-debug-command): Move from
+       "esh-cmd.el" and convert to a list.
+       (eshell-debug-command-buffer): New variable.
+       (eshell-condition-case): Check 'eshell-handle-errors' at runtime.
+       (eshell-debug-command-start): New function.
+       (eshell-debug-command): Move from "esh-cmd.el" and convert to a macro.
+
+       * lisp/eshell/em-basic.el (eshell/eshell-debug)
+       (pcomplete/eshell-mode/eshell-debug): Move from "esh-cmd.el" and
+       reimplement.
+
+       * lisp/eshell/eshell.el (eshell-command): Pass the original input to
+       'eshell-eval-command'.
+
+       * doc/misc/eshell.texi (Built-ins): Update documentation for
+       'eshell-debug'.
+
+2023-09-01  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Don't push to Xref history when search ends with error
+
+       * lisp/progmodes/xref.el (xref--push-markers):
+       Add new arguments (bug#65631).
+       (xref--show-xrefs, xref--show-defs): Use them.
+
+2023-09-01  Po Lu  <luangruo@yahoo.com>
+
+       Minor copy-edits
+
+       * doc/emacs/android.texi (Android Document Providers): Fix typo.
+
+       * doc/emacs/haiku.texi (Haiku Basics): Likewise.
+
+2023-09-01  Po Lu  <luangruo@yahoo.com>
+
+       Properly describe minor mode lighters while mode-line-compact
+
+       * lisp/help.el (describe-minor-mode-from-indicator): New arg
+       EVENT.  If set to a mouse event and mode-line-compact, search
+       for a suitable lighter within the entire posn object.
+
+       * lisp/bindings.el (mode-line-minor-mode-help): Supply EVENT.
+       (bug#65664)
+
+2023-09-01  João Távora  <joaotavora@gmail.com>
+           Philip Kaludercic  <philipk@posteo.net>
+
+       Eglot: revamp confirmation model for server-proposed edits
+
+       bug#60338
+
+       The variable 'eglot-confirm-server-edits' replaces the obsolete
+       'eglot-confirm-server-initiated-edits' and brings about a new
+       confirmation model, making it possible to have only certain commands
+       require user confirmation.  This was achieved careful usage of the
+       'this-command' and 'last-command' variables.
+
+       There are now two types of confirmation: the usual
+       minibuffer summary and a temporary 'diff-mode' buffer to display the
+       proposed changes, so the user can apply them one by one.
+
+       Thanks to Philip Kaludercic for the diff-mode idea and implementation.
+
+
+       * doc/misc/eglot.texi (Eglot Variables): Describe
+       'eglot-confirm-server-edits'.
+
+       * etc/EGLOT-NEWS (latest): Mention change.
+
+       * lisp/progmodes/eglot.el (diff-mode): Require it.
+       (eglot-confirm-server-initiated-edits): Obsolete it.
+       (eglot-confirm-server-edits): New variable.
+       (eglot-handle-request workspace/applyEdit): Use 'last-command'
+       (eglot-execute t t): Use 'this-command'.
+       (eglot--apply-workspace-edit): Rework.
+       (eglot-rename): Use 'this-command'.
+
+2023-08-31  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
+           João Távora  <joaotavora@gmail.com>
+
+       Handle directory values of scopeUri in  workspace/configuration
+
+       Even though scopeUri is specified to be of documentUri type, some
+       servers (notably pyright) insist on passing the pathname of a
+       directory there.  In pyright's case this is frequently useless, as the
+       directory is the project directory.  Nevertheless we can be lenient to
+       those servers by detecting whether the value is a directory and doing
+       the right thing.
+
+       Note that we do not (yet) support per-file configuration storage.
+
+       * lisp/progmodes/eglot.el (eglot--workspace-configuration-plist):
+       Rework.
+
+       GitHub-reference: https://github.com/joaotavora/eglot/pull/1281
+
+2023-08-31  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt last change
+
+       * lisp/net/tramp-container.el (tramp-completion-multi-hop-methods):
+       Add "docker" and "podman".
+
+       * lisp/net/tramp.el (tramp-completion-multi-hop-methods):
+       Adapt docstring.  Use nil as initial value.
+
+2023-08-31  Gene Goykhman  <gene@indigo1.com>
+
+       Allow enabling multi-hop container completion selectively by method
+
+       * lisp/net/tramp-container.el: Check if METHOD is a member of
+       `tramp-container-multi-hop-methods' before attempting completion.
+
+       * lisp/net/tramp.el: Add custom variable
+       `tramp-container-multi-hop-methods'.
+
+2023-08-31  Po Lu  <luangruo@yahoo.com>
+
+       Copy-edits to haiku.texi
+
+       * doc/emacs/haiku.texi (Haiku, Haiku Basics, Haiku Fonts):
+       Refine to avoid excessively wordy and repetitive constructs.
+
+2023-08-31  Diancheng Wang  <diancheng@gmail.com>
+
+       Enable gdb-mi to set breakpoints when threads of debuggee are running
+
+       * lisp/progmodes/gdb-mi.el (gdb): Call 'gud-def' with 5th arg
+       non-nil for those commands that can be invoked asynchronously.
+       (gdb-starting): Set 'gud-async-running' non-nil for async commands.
+       * lisp/progmodes/gud.el (gud-async-running): New defvar.
+       (gud-menu-map): Enable some commands only if 'gud-async-running' is
+       non-nil.
+       (gud-def): Accept another optional argument ASYNC-OK.  (Bug#65612)
+
+2023-08-31  Liu Hui  <liuhui1610@gmail.com>
+
+       strokes: Support running a function when no stroke matches
+
+       * lisp/strokes.el (strokes-no-match-function): New variable.
+       (strokes-no-match-default): New function.
+       (strokes-execute-stroke): Run `strokes-no-match-function' when no
+       stroke matches.  (Bug#65449)
+
+2023-08-31  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Fix choice in electric-pair-skip-whitespace-chars
+
+       * lisp/elec-pair.el (electric-pair-skip-whitespace-chars): Use repeat
+       instead of list in custom :type.  (Bug#65625)
+
+2023-08-31  Po Lu  <luangruo@yahoo.com>
+
+       Delete unused fields
+
+       * src/haiku_support.cc (class EmacsWindow)
+       <x_before_zoom, y_before_zoom>: Delete fields.
+
+2023-08-31  Po Lu  <luangruo@yahoo.com>
+
+       Include installation date within asset files
+
+       * src/android.c (setEmacsParams): Set `emacs_installation_time'
+       to the mtime of the class path file, which happens to be the
+       time of Emacs's installation.
+       (emacs_installation_time): New variable.
+
+       * src/android.h (emacs_installation_time): Export new variable.
+
+       * src/androidvfs.c (android_afs_stat): If
+       emacs_installation_time is a valid timespec, set st_mtime to it.
+
+2023-08-31  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Add one more mouse-set-point call to functions xref-find-*-at-mouse
+
+       * lisp/progmodes/xref.el (xref-find-definitions-at-mouse)
+       (xref-find-references-at-mouse): Call mouse-set-point to ensure
+       that the search is initiated at the same place where
+       xref-backend-identifier-at-point was called (bug#65578).
+
+2023-08-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make browse-url-button support more SSL URIs
+
+       * lisp/net/browse-url.el (browse-url-button-regexp): Add support for
+       gophers:// and ftps:// URIs.  (Bug#65627)
+
+2023-08-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Clean up some safe-local-variable predicates
+
+       * lisp/progmodes/project.el: Add comments with a reminder to simplify
+       'safe-local-variable' predicates when Emacs 28 support is dropped.
+       (project-vc-ignores): Mark only a list of strings as safe-local.
+       * lisp/textmodes/reftex-vars.el (reftex-guess-label-type): Use
+       booleanp for 'safe-local-variable' predicate.  (Bug#65608)
+
+2023-08-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix revert-buffer when some decoding is involved
+
+       * src/fileio.c (Finsert_file_contents): Fix the amount of text
+       read from the file when reverting.  (Bug#65609)
+
+2023-08-30  Po Lu  <luangruo@yahoo.com>
+
+       Facilitate typing `C-SPC' on Android
+
+       * doc/emacs/android.texi (Android Windowing): Mention C-SPC
+       interception and how it may be disabled.
+
+       * java/org/gnu/emacs/EmacsNative.java (shouldForwardCtrlSpace):
+       New function.
+
+       * java/org/gnu/emacs/EmacsView.java (onKeyPreIme): New function.
+       If the provided key code is SPC and the event's modifier key
+       mask contains ControlMask, relay it directly to onKeyDown.
+
+       * java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Export
+       and make static.
+
+       * src/android.c (shouldForwardCtrlSpace): New function.
+
+       * src/androidfns.c (syms_of_androidfns)
+       <android_intercept_control_space>: New defvar.
+
+2023-08-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add quotes around `C-x C-f` in the *scratch* buffer
+
+       * lisp/startup.el (initial-scratch-message): Add quotes around the
+       'find-file' keybinding.
+
+2023-08-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make Emacs 21 compat alias obsolete
+
+       * lisp/loadhist.el (loadhist-hook-functions): Make Emacs 21
+       compatibility alias obsolete.
+
+2023-08-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make Makefile browser obsolete
+
+       * lisp/progmodes/make-mode.el:
+       (makefile-mode): Don't document Makefile browser mode.
+       (makefile-browser-toggle-state-for-line):
+       (makefile-browser-buffer-name, makefile-browser-leftmost-column)
+       (makefile-browser-cursor-column, makefile-browser-selected-mark)
+       (makefile-browser-unselected-mark)
+       (makefile-browser-auto-advance-after-selection-p)
+       (makefile-browser-hook, makefile-browser-map)
+       (makefile-browser-client, makefile-browser-selection-vector)
+       (makefile-browser-format-target-line)
+       (makefile-browser-format-macro-line, makefile-browser-fill)
+       (makefile-browser-next-line, makefile-browser-previous-line)
+       (makefile-browser-quit, makefile-browser-toggle)
+       (makefile-browser-insert-continuation)
+       (makefile-browser-insert-selection)
+       (makefile-browser-insert-selection-and-quit)
+       (makefile-browser-send-this-line-item)
+       (makefile-browser-start-interaction, makefile-browse)
+       (makefile-switch-to-browser, makefile-browser-on-macro-line-p)
+       (makefile-browser-this-line-target-name)
+       (makefile-browser-this-line-macro-name)
+       (makefile-browser-get-state-for-line)
+       (makefile-browser-set-state-for-line)
+       (makefile-browser-toggle-state-for-line): Make obsolete.  (Bug#58848)
+       (makefile-mode-menu): Remove Makefile browser from menu.
+       * etc/NEWS: Announce its obsoletion.
+
+2023-08-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix tramp-accept-process-output
+
+       * lisp/net/tramp.el (tramp-accept-process-output):
+       Use `with-tramp-suspended-timers' also for the other processes.
+
+2023-08-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt some changes of last Tramp commit
+
+       * lisp/net/tramp-container.el (tramp-container--completion-function):
+       Use METHOD as argument, instead of PROGRAM.  Determine program
+       from METHOD entry in `tramp-methods'.  Bind `non-essential' to
+       nil.  Use a file property as cache.
+       (tramp-container--completion-function): Use adapted arguments when
+       setting for "docker" and "podman".
+
+       * lisp/net/tramp.el (tramp--last-hop-directory): Adapt docstring.
+       Move down.
+       (tramp-set-completion-function): Revert default case to
+       `file-exists-p', the workaround isn't needed anymore.
+       (tramp-get-completion-methods): Rename argument to MULTI-HOP.
+       (tramp-completion-remote-containers): Add :version.
+       (tramp-multi-hop-p): Bind `tramp-verbose' to nil.
+
+2023-08-29  Eshel Yaron  <me@eshelyaron.com>
+
+       Rename 'package-vc-allow-side-effects' to better fit its use
+
+       * lisp/emacs-lisp/package-vc.el (package-vc-allow-side-effects):
+       Rename to 'package-vc-allow-build-commands'.
+       (package-vc--unpack-1): Use new name.
+       * doc/emacs/package.texi (Fetching Package Sources): Use new name.
+       * etc/NEWS: Adapt accordingly.  (Bug#65386)
+
+2023-08-29  Gene Goykhman  <gene@indigo1.com>
+
+       Provide completion candidates for remote containers over a multi-hop
+
+       * lisp/net/tramp-container.el (tramp-container--completion-function):
+       Set default directory to last hop.
+       (tramp-set-completion-function): Don't use executable-find for
+       container program since it might not be running locally.
+
+       * lisp/net/tramp.el (tramp--last-hop-directory): Add new variable.
+       (tramp-completion-handle-file-name-all-completions): Use container
+       host directory to execute container program on remote host.
+       (tramp-set-completion-function): FIXME: for now, don't constrain
+       allowable completion methods to only those present on the local system.
+       (tramp-completion-remote-containers): Add customize option to
+       provide completion candidates for containers running on remote hosts.
+
+2023-08-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (xfree, sfnt_make_interpreter)
+       (stack_overflow_test_args, stack_underflow_test_args)
+       (dup_test_args, clear_test_args, raw_test_args, fdef_test_args)
+       (fdef_1_test_args, endf_test_args, rs_test_args, debug_test_args)
+       (eif_test_args, sds_test_args, round_test_args, sangw_test_args)
+       (aa_test_args, scantype_test_args): Include alloca.h.  Minor
+       fixes for standards conformance.
+
+2023-08-29  Po Lu  <luangruo@yahoo.com>
+
+       Avoid Unicode quotes within transient.texi
+
+       * doc/misc/transient.texi (Top, Introduction)
+       (Aborting and Resuming Transients, Common Suffix Commands)
+       (Enabling and Disabling Suffixes, Modifying Existing Transients)
+       (Defining Transients, Binding Suffix and Infix Commands)
+       (Suffix Specifications, Defining Suffix and Infix Commands)
+       (Transient State, Group Classes, Suffix Value Methods)
+       (Prefix Slots, Comparison With Other Packages, FAQ): Replace
+       Unicode quote characters with grave quotes.
+
+2023-08-29  Po Lu  <luangruo@yahoo.com>
+
+       Reintroduce menus beneath chapters in the Transient manual
+
+       * doc/misc/transient.texi (Introduction)
+       (Modifying Existing Transients, Predicate Slots): Return the
+       menus to their proper location, so Texinfo 4.13 can infer up
+       pointers for nodes within.
+
+2023-08-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Skip hanging EasyPG tests on GnuPG 2.4
+
+       * test/lisp/epg-tests.el (epg-roundtrip-1, epg-roundtrip-2):
+       Skip tests on GnuPG 2.4.  (Bug#63256)
+
+2023-08-28  Stefan Kangas  <stefankangas@gmail.com>
+
+       Split up tests in bovine/gcc-tests.el
+
+       * test/lisp/cedet/semantic/bovine/gcc-tests.el
+       (semantic-gcc-test): New macro.
+       (semantic-gcc-test/1, semantic-gcc-test/2, semantic-gcc-test/3)
+       (semantic-gcc-test/4, semantic-gcc-test/5, semantic-gcc-test/6)
+       (semantic-gcc-test/7, semantic-gcc-test/8, semantic-gcc-test/9)
+       (semantic-gcc-test-output-parser/fail): New tests.
+
+2023-08-28  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make Emacs 21 compat alias obsolete
+
+       * lisp/jit-lock.el (jit-lock-defer-contextually): Make Emacs 21 compat
+       alias obsolete.
+
+2023-08-28  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Add tab-bar-tab-name-format-functions (bug#65554)
+
+       (tab-bar-tab-name-format-truncated)
+       (tab-bar-tab-name-format-hints)
+       (tab-bar-tab-name-format-close-button)
+       (tab-bar-tab-name-format-face): New functions.
+       (tab-bar-tab-name-format-functions): New defcustom.
+       (tab-bar-tab-name-format-default): Rewrite to use
+       'tab-bar-tab-name-format-functions'.
+
+2023-08-28  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Show full tab names on tooltips (bug#65554).
+
+       (tab-bar--format-tab): Use tab names for :help strings.
+       It's useful to see original tab names when the tab-bar displays names
+       truncated by tab-bar-auto-width, etc.
+       (tab-bar-format-menu-bar): Fix string case for consistency with other 
items.
+
+2023-08-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsActivity.java (attachWindow, onDestroy)
+       (onWindowFocusChanged, onContextMenuClosed):
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (onMenuItemClick):
+
+       * java/org/gnu/emacs/EmacsDialog.java (onClick, display1, onDismiss):
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (checkReadableOrCopy)
+       (onDestroy, onWindowFocusChanged, onPause):
+
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (registerWindow, removeWindowConsumer, detachWindow)
+       (noticeIconified, noticeDeiconified): Remove superfluous
+       debugging code now that the Android port is stable.
+
+       * java/org/gnu/emacs/EmacsView.java (onLayout): Detect if the
+       IME is hidden while a toplevel window is focused, and clear
+       isCurrentlyTextEditor in that case.
+       (onApplyWindowInsets): New function.
+       (raise, lower, popupMenu, onCreateInputConnection): Delete
+       aforementioned debugging code.
+
+2023-08-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use ensure-list in many more places
+
+       * lisp/align.el (align-region):
+       * lisp/auth-source-pass.el (auth-source-pass--build-result-many):
+       * lisp/auth-source.el (auth-source-ensure-strings):
+       * lisp/calendar/appt.el (appt-disp-window):
+       * lisp/cedet/mode-local.el (mode-local-map-mode-buffers):
+       * lisp/cus-edit.el (custom-prompt-variable)
+       (custom-variable-menu-create):
+       * lisp/dired-x.el (dired-mark-extension, dired-mark-suffix):
+       * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info):
+       * lisp/emacs-lisp/eieio.el (object-add-to-list):
+       * lisp/emulation/cua-base.el (cua--M/H-key):
+       * lisp/epg.el (epg--list-keys-1):
+       * lisp/faces.el (read-face-name):
+       * lisp/format.el (format-decode):
+       * lisp/gnus/gnus-score.el (gnus-home-score-file)
+       (gnus-all-score-files):
+       * lisp/gnus/gnus-uu.el (gnus-uu-grab-articles):
+       * lisp/gnus/message.el (message-make-forward-subject):
+       * lisp/gnus/nnmairix.el (nnmairix-create-search-group):
+       * lisp/gnus/spam.el (spam-copy-or-move-routine):
+       * lisp/help-fns.el (describe-face):
+       * lisp/ibuf-macs.el (define-ibuffer-filter):
+       * lisp/international/mule-cmds.el (select-safe-coding-system):
+       * lisp/net/imap.el (imap-send-command):
+       * lisp/printing.el (pr-menu-get-item):
+       * lisp/speedbar.el (speedbar-add-supported-extension)
+       (speedbar-add-ignored-directory-regexp):
+       * lisp/textmodes/rst.el (rst-forward-line-looking-at):
+       * lisp/vc/ediff-util.el (ediff-other-buffer):
+       * lisp/vc/diff.el (diff-no-select):
+       * lisp/vc/vc-dir.el (vc-dir-mark-state-files):
+       * lisp/wid-edit.el (widget-prompt-value):
+       * lisp/windmove.el (windmove-default-keybindings)
+       (windmove-display-default-keybindings)
+       (windmove-delete-default-keybindings)
+       (windmove-swap-states-default-keybindings):
+       * lisp/window.el (display-buffer-reuse-mode-window):
+       * lisp/woman.el (woman-expand-directory-path): Prefer ensure-list.
+
+2023-08-27  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix a race condition in Eshell's external process management
+
+       If a process is busy writing output when 'eshell-sentinel' is called,
+       it might take a bit of time to finish up.  Don't call
+       'eshell-kill-process-function' until we're really finished
+       (bug#59103).
+
+       * lisp/eshell/esh-proc.el (eshell-sentinel): Call
+       'eshell-kill-process-function' in 'finish-io'.
+
+2023-08-27  Juri Linkov  <juri@linkov.net>
+
+       Use new SVG icons in tab-bar and tab-line (bug#62562)
+
+       * lisp/tab-bar.el (tab-bar--load-buttons):
+       Add "symbols/plus_16.svg" to tab-bar-new.
+       Add "symbols/cross_16.svg" to tab-bar-close.
+       Add "symbols/menu_16.svg" to tab-bar-menu-bar.
+       (tab-bar-tab-name-format-default): Use 'add-face-text-property'.
+       (tab-bar-history-mode):
+       Add "symbols/chevron_left_16.svg" to tab-bar-back.
+       Add "symbols/chevron_right_16.svg" to tab-bar-forward.
+
+       * lisp/tab-line.el (tab-line-new): New icon with "symbols/plus_16.svg".
+       (tab-line-new-button): Use it with nil rear-nonsticky.
+       (tab-line-close): New icon with "symbols/cross_16.svg".
+       (tab-line-close-button): Use it with nil rear-nonsticky.
+       (tab-line-left): New icon with "symbols/chevron_left_16.svg".
+       (tab-line-left-button): Use it with nil rear-nonsticky.
+       (tab-line-right): New icon with "symbols/chevron_right_16.svg".
+       (tab-line-right-button): Use it with nil rear-nonsticky.
+       (tab-line-tab-name-format-default): Use 'add-face-text-property'.
+       (tab-line-auto-hscroll): Append the face in 'add-face-text-property'.
+
+2023-08-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix manual image tests on macOS
+
+       * test/manual/image-tests.el (ert): Require.
+       (image-tests--images): Fix typo.
+       (image-tests-load-image/svg-too-big)
+       (image-tests-load-image/svg-invalid): Skip test unless built with
+       SVG support.
+       (image-tests-image-metadata/gif)
+       (image-tests-image-metadata/webp): Disable tests on macOS.
+
+2023-08-27  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Update to Transient v0.4.3
+
+2023-08-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Some minor Tramp changes
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
+       Fix error message.
+
+       * lisp/net/tramp-cache.el (tramp-dump-connection-properties):
+       Remove `tramp-null-hop'.
+
+       * lisp/net/tramp-message.el (tramp-message, tramp-backtrace)
+       (tramp-error): Handle VEC being nil.
+
+       * lisp/net/tramp.el (tramp-null-hop): Add ;;;###tramp-autoload cookie.
+       Use pseudo method "local".
+       (tramp-file-name-unify): IF VEC is nil, set it to `tramp-null-hop'.
+       (tramp-set-completion-function): Support also functions with
+       METHOD as argument.
+       (tramp-get-completion-methods): Add argument HOP.
+       (tramp-completion-handle-file-name-all-completions): Use it.
+       (tramp-call-process-region): Set VEC if nil.
+
+2023-08-27  Po Lu  <luangruo@yahoo.com>
+
+       Correct display of stretch glyphs within hscrolled windows
+
+       * src/haikuterm.c
+       (haiku_draw_glyphless_glyph_string_foreground): Make char2b
+       static, stifling a GCC warning.
+       (haiku_draw_stretch_glyph_string): Use computed X if s->x is
+       outside the confines of the text area.
+
+2023-08-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsView.java (onLayout): Provide for
+       occasions where the saved measured dimensions differ from that
+       saved by the view.
+
+2023-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (elisp--local-variables): Fix recent regression
+
+       While at it, make it work when completing code within 
`eval-when-compile`
+       and friends, where it failed in sometimes spectacular ways.
+
+       * lisp/progmodes/elisp-mode.el (elisp--local-macroenv): New var.
+       (elisp--local-variables): Use it.  Also, advice `macroexpand-1` since
+       `macroexpand-all` doesn't use `macroexpand` any more.
+       (prin1-char): Remove redundant "" arg.
+       (elisp--eval-defun-1): Align the `eval` call to what's used in
+       `custom-initialize-set`.
+
+2023-08-26  Stefan Kangas  <stefankangas@gmail.com>
+
+       Clean up image error reporting somewhat
+
+       * src/image.c (image_not_found_error, image_invalid_data_error):
+       New functions.  All uses of image_error with "Invalid image data ..."
+       and "Cannot find image file ..." changed to use them.
+       (image_create_x_image_and_pixmap_1): Remove redundant Qnil arguments.
+
+2023-08-26  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make `M-x align` rule count more precise
+
+       * lisp/align.el (align--should-run-rule): Factor out new function...
+       (align-region): ...from here.  Avoid counting inactive rules towards
+       the total.
+
+2023-08-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       39d2285bdc9 ; * doc/emacs/sending.texi (Mail Aliases): Add some usefu...
+       f3fa436bc0f ; Fix doc string of 'current-idle-time'
+       02532bb5821 Fix custom :type of dired-mouse-drag-files
+       fc5de406be3 ; Improve SMTPmail documentation about OAuth2
+       1aaeaf22cef Account for string names in active file
+       48604565847 Fix 'makefile-browser-client' variable initialization
+
+2023-08-26  Po Lu  <luangruo@yahoo.com>
+
+       Revise last change to copy-directory
+
+       * lisp/files.el (copy-directory): Instead of demoting errors
+       from set-file-times, refrain from setting them if newname is
+       located within /contents.
+
+2023-08-26  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Make ispell localwords safe local variable
+
+       * lisp/textmodes/ispell.el (ispell-buffer-session-localwords):
+       Make safe local variable to so that checkdoc can ignore words in a
+       project in batch mode.
+
+2023-08-26  Daniel Martín  <mardani29@yahoo.es>
+
+       Do not raise a different frame when closing a frame
+
+       * src/frame.h: Declare an NS-only function to make a frame the
+       key window.
+       * src/nsfns.m (ns_make_frame_key_window): Implement it.
+       * src/frame.c (delete_frame): Call ns_make_frame_key_window
+       instead of Fraise_frame.  (Bug#61525)
+
+2023-08-26  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Improve type of custom-theme-directory (Bug#65401)
+
+       * lisp/custom.el (custom-theme-directory): Make it of type directory.
+
+2023-08-26  Thierry Volpiatto  <thievol@posteo.net>
+
+       Improve 'describe-theme' (bug#65468)
+
+       * lisp/cus-theme.el (describe-theme-from-file): New function.
+
+2023-08-26  Po Lu  <luangruo@yahoo.com>
+
+       Demote errors from utimensat copying directories
+
+       * lisp/files.el (copy-directory): Wrap set-file-times within
+       with-demoted-errors.
+
+       * src/fileio.c (Fcopy_file): Adjust commentary.
+
+2023-08-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use float not double in webp_load alpha conversion
+
+       * src/image.c (webp_load): Pacify gcc -Wdouble-promotion
+       by using (1 - a), where the 1 is converted to 1.0f, rather
+       than (1.0 - a), which mistakenly converts a to double.
+       Also, reindent to use GNU style.
+
+2023-08-26  Po Lu  <luangruo@yahoo.com>
+
+       Disable XkbLC_ControlFallback
+
+       * src/xterm.c (handle_one_xevent) <XI_KeyPress>: Fix typos within
+       the commentary.
+       (x_term_init) [HAVE_XKB]: Disable the ControlFallback library
+       control, lest Xlib map function keys with ControlMask set to
+       ASCII keysyms within inactive groups.
+
+2023-08-25  F. Jason Park  <jp@neverwas.me>
+
+       Prevent unwanted recursion in erc-nickbar-disable
+
+       * lisp/erc/erc-speedbar.el (erc-status-sidebar-mode--unhook): Remove
+       forward declaration.
+       (erc-speedbar--toggle-nicknames-sidebar): Inline
+       `erc-speedbar-close-nicknames-window'.  Don't call
+       `erc-speedbar-browser' and thus avoid adding excess timers.
+       (erc-speedbar--ensure): Inline `speedbar-enable-update' to avoid
+       unneeded call to `speedbar-set-timer', and ensure it only runs in
+       `speedbar-buffer'.
+       (erc-speedbar--shutting-down-p): New flag variable to avoid recursive
+       calls to `dframe-close-frame' and friends.
+       (erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable): Move
+       logic formerly performed by `speedbar-disable-update' to
+       `erc-speedbar--toggle-nicknames-sidebar'.  When disabling, guard
+       against recursive calls to `dframe-close-frame' and friends.
+       (erc-speedbar--get-timers): New utility function, also for use in
+       testing.
+       (erc-speedbar--dframe-controlled): Bind
+       `erc-speedbar--shutting-down-p' flag non-nil around call to
+       `erc-nickbar-mode'.  Remove excess timer left behind due to
+       incompatible behavior from `dframe-close-frame'.  Let caller kill
+       buffer.
+       (erc-speedbar-close-nicknames-window): Remove unused command, new in
+       ERC 5.6 and Emacs 30.
+       * test/lisp/erc/erc-scenarios-status-sidebar.el
+       (erc-speedbar-close-nicknames-window): Remove forward declaration.
+       (erc-speedbar--get-timers): Add forward declaration.
+       (erc-scenarios-status-sidebar--nickbar): Fix faulty expectations of
+       desired behavior when disabling module.  Ensure timers canceled.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common--make-bindings): Shadow `timer-idle-list' to
+       avoid polluting global test environment with stray timers.
+       (Bug#63595)
+
+2023-08-25  F. Jason Park  <jp@neverwas.me>
+
+       Warn about implicit logging in erc-truncate-mode
+
+       * etc/ERC-NEWS: Add entry explaining that `erc-truncate-mode' no
+       longer quasi-activates `erc-log-mode' under certain conditions.
+       * lisp/erc/erc-log.el
+       (erc-log--call-when-logging-enabled-sans-module): Add helper for use
+       by the `truncate' module during initialization.
+       * lisp/erc/erc-truncate.el (erc-truncate-mode, erc-truncate-enable,
+       erc-truncate-disable): Warn on `erc-connect-pre-hook' when conditions
+       exist that would have seen logging transparently activated in older
+       ERC versions.
+       (erc-truncate--warn-about-logging): New function to warn about
+       implicit logging on pre-connect.
+       (erc-truncate-buffer-to-size): Clarify some comments and revise doc
+       string.
+       * test/lisp/erc/erc-scenarios-log.el (erc-scenarios-log--truncate):
+       Disable `erc-truncate-mode' even though `erc-modules' is shadowed so
+       that `erc-insert-done-hook' and friends are not contaminated.
+       `(Bug#60936)
+
+2023-08-25  F. Jason Park  <jp@neverwas.me>
+
+       Ignore erc-response objects in error-notice helper
+
+       * lisp/erc/erc-button.el (erc-button--display-error-notice-with-keys):
+       Remove `parsed' `erc-response' positional parameter, and don't pass it
+       to `erc-display-message' because the latter adds text properties
+       derived from such an object.  These properties can confuse other code
+       operating on an inserted error-notice message into thinking it
+       originated from the server.
+       * lisp/erc/erc-common.el (erc--with-dependent-type-match): Make macro
+       more readable.
+       * lisp/erc/erc-networks.el (erc-networks--set-name,
+       erc-networks--ensure-announced, erc-networks-on-MOTD-end): Remove
+       `erc-response' objects from inserted error-notices.
+       * test/lisp/erc/erc-button-tests.el
+       (erc-button--display-error-notice-with-keys): Add assertions for
+       overloaded first parameter.
+       * test/lisp/erc/erc-tests.el (erc--with-dependent-type-match): Update
+       expected expansion.
+
+2023-08-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Assume that font-lock is preloaded
+
+       * lisp/org/ox-beamer.el (org-mode): Assume that font-lock is
+       preloaded, which it has been since Emacs 22.1.
+       * lisp/textmodes/reftex.el (reftex-use-fonts): Make function obsolete
+       in favor of variable.  Update all callers.
+
+2023-08-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix alpha blending for WebP images
+
+       * src/image.c (webp_load): Fix WebP transparency by doing manual alpha
+       blending instead of naive masking.  (Bug#59242)
+
+2023-08-25  Po Lu  <luangruo@yahoo.com>
+
+       Attempt to fix bug#65068
+
+       * src/xterm.c (handle_one_xevent) <KeyPress>: Prevent calls to
+       XkbTranslateKeysym with a modified keysym if overflow happens.
+       <XI_KeyPress>: Expound upon the different forms of key event
+       lookup and the chaotic code beneath within the commentary.
+       Discontinue separating keycode lookup from key translation.
+       Supply the effective group within the modifier mask provided
+       to both XKB translation functions.  (bug#65068)
+
+2023-08-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Don't try to set variable removed in Emacs 21
+
+       * lisp/eshell/em-ls.el (eshell-ls--insert-directory): Don't set
+       'font-lock-buffers', which was removed in Emacs 21.
+
+2023-08-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Modernize sql-postgres-options docstring
+
+       * lisp/progmodes/sql.el (sql-postgres-options): Don't refer to ancient
+       versions of PostgreSQL released in 1999 and 2001, respectively.
+
+2023-08-24  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project.el: Fixup two recent defcustoms
+
+       * lisp/progmodes/project.el (project-file-history-behavior):
+       Adjust positions inside 'const' forms.
+       (project-key-prompt-style): Correct the :type form (bug#64799).
+
+2023-08-24  Po Lu  <luangruo@yahoo.com>
+
+       Properly parse format 4 cmap tables
+
+       * src/sfnt.c (sfnt_read_cmap_format_4): Read range_shift field
+       propery.  Prior to this, it would be inadvertently treated as an
+       entry within the segment end code array, which only functioned
+       by happenstance.
+       (sfnt_lookup_glyph_4): Remove workaround grounded upon an
+       erroneous interpretation of the bug fixed by the aformentioned
+       change.
+
+       * src/sfnt.h (struct sfnt_cmap_format_4): Introduce previously
+       absent `range_shift' field.
+
+2023-08-24  Jim Porter  <jporterbugs@gmail.com>
+
+       When waiting for a process in Eshell, consult its status
+
+       This should be functionally the same as the previous implementation in
+       most cases (which consulted its membership in 'eshell-process-list'),
+       but is more flexible.  It's now possible to wait for processes that
+       aren't in 'eshell-process-list'.
+
+       Additionally, use 'process-live-p' instead of examining
+       'process-status' in a few places.  This is simpler, and a bit more
+       correct too for certain types of processes (though it likely doesn't
+       matter in practice).
+
+       * lisp/eshell/esh-io.el (eshell-close-target)
+       (eshell-output-object-to-target)
+       * lisp/eshell/esh-proc.el (eshell-process-interact): Use
+       'process-live-p'.
+       (eshell-wait-for-process): Use 'process-live-p' and remove reference
+       to 'eshell-process-list'.
+
+2023-08-24  Po Lu  <luangruo@yahoo.com>
+
+       Stifle a compiler warning under GCC 13
+
+       * src/haiku_support.cc (MessageReceived): Shun snprintf, as GCC
+       produces false positives cautioning against truncation.
+
+2023-08-24  Po Lu  <luangruo@yahoo.com>
+
+       Correct invalid Texinfo markup
+
+       * doc/lispref/processes.texi (Sentinels): Place . after @xref.
+
+2023-08-24  Po Lu  <luangruo@yahoo.com>
+
+       Install rcs2log within Emacs packages for Android
+
+       * doc/emacs/android.texi (Android Environment): Mention the
+       `rcs2log' program name variable.  Also refine the wording of the
+       paragraph describing bundled programs a bit.
+
+       * doc/lispref/processes.texi (Subprocess Creation): Mention
+       `rcs2log' and `rcs2log-program-name'.  Correct typos and
+       spelling mistakes within the variable index.
+
+       * etc/NEWS: Amend the announcement of *-program-name to also
+       cite rcs2log.
+
+       * java/Makefile.in (install_temp): Copy rcs2log to
+       lib/*/librcs2log.so after minor revisions to change the
+       interpreter name.
+
+       * lisp/vc/vc-rcs.el (vc-rcs-rcs2log-program): Ground the program
+       name upon `rcs2log-program-name'.
+
+       * src/callproc.c (syms_of_callproc) <Vrcs2log_program_name>: New
+       defvar.  Define to `librcs2log.so' under Android, `rcs2log'
+       elsewhere.
+
+2023-08-24  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix behavior of 'eshell-hist-ignoredups' when set to 'erase'
+
+       * lisp/eshell/em-hist.el (eshell-add-input-to-history): Refactor to
+       use 'pcase' and correct the logic for the 'erase' case.
+
+       * test/lisp/eshell/em-hist-tests.el: Require our test helpers.
+       (eshell-write-readonly-history): Rename to...
+       (em-hist-test/write-readonly-history): ... this.
+       (em-hist-test/add-to-history/allow-dups)
+       (em-hist-test/add-to-history/no-consecutive-dups)
+       (em-hist-test/add-to-history/erase-dups): New tests (bug#63360).
+
+2023-08-24  Po Lu  <luangruo@yahoo.com>
+
+       Properly detect medium fonts
+
+       * src/sfntfont.c (sfnt_decode_family_style): Refer to the
+       preferred family and subfamily if present.
+
+2023-08-24  Jim Porter  <jporterbugs@gmail.com>
+           Morgan Smith  <Morgan.J.Smith@outlook.com>
+
+       Support 'comint-pager' in Eshell
+
+       * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add "PAGER".
+       (eshell-var-initialize): Make 'comint-pager' buffer-local and bind it
+       in subcommands so that we can temporarily set it as necessary.
+
+       * test/lisp/eshell/esh-var-tests.el (esh-var-test/pager-var/default)
+       (esh-var-test/pager-var/set, esh-var-test/pager-var/unset)
+       (esh-var-test/pager-var/set-locally): New tests.
+
+       * doc/misc/eshell.texi (Variables): Document this (bug#63778).
+
+2023-08-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Adjust documentation for defadvice obsoletion
+
+       * doc/lispref/functions.texi (Porting Old Advice): Unequivocally say
+       that 'defadvice' is obsolete.
+       * doc/emacs/trouble.texi (Coding Standards): Refer to 'advice-add'
+       instead of the now-obsolete 'defadvice'.  (Bug#64757)
+       * doc/misc/ses.texi (Uses of advice-add in SES): Rename node from
+       "Uses of defadvice in SES".  Remove 'undo-more' entry, since that
+       advice was deleted in 2007.
+
+2023-08-23  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Remove some macros in image-dired (Bug#65403)
+
+       * lisp/image/image-dired.el (image-dired--movement-command)
+       (image-dired--movement-command-line): Change macros to functions.
+       (image-dired--update-after-move): New function for book-keeping
+       after a move in image-dired.
+       (image-dired-scroll): Use it.
+
+2023-08-23  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project-key-prompt-style: New option.
+
+       * lisp/progmodes/project.el (project-file-history-behavior):
+       Add :group and :version tags.
+       (project-key-prompt-style): New option (bug#64799).
+
+       * etc/NEWS: Mention it.
+
+2023-08-23  Gerd Möllmann  <gerd@gnu.org>
+
+       Revert "; Reverse debug spec of cl-flet (bug#65344)"
+
+       This reverts commit cc0f546825e0db9ff78f82c62615686aa480a133.
+
+2023-08-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp cleanup
+
+       * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory):
+       Adapt docstring.
+
+2023-08-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/ange-ftp.el (ange-ftp-file-remote-p): Handle CONNECTED 
properly.
+
+       * lisp/files.el (file-remote-p): Simplify.
+
+2023-08-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Enable remote file name completion in eshell depending on command 
(bug#65356)
+
+       * lisp/eshell/em-cmpl.el (eshell-cmpl-remote-file-ignore):
+       New user option.
+       (eshell-cmpl-initialize): Use it.
+       (eshell-external-command-p): New defun.
+       (eshell-complete-parse-arguments):
+       Set `pcomplete-remote-file-ignore' depending on the command.
+
+2023-08-23  Po Lu  <luangruo@yahoo.com>
+
+       Repair displaying compound glyph components with anchor points
+
+       * src/sfnt.c (sfnt_interpret_compound_glyph_1): Move
+       initialization of x and y out of conditional.
+
+2023-08-23  Roland Winkler  <winkler@gnu.org>
+
+       Fix bibtex-font-lock-url-regexp
+
+       Fix bibtex-font-lock-url-regexp to allow line breaks
+       between the field name and the field string.
+
+2023-08-23  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Use current file name for more "other project" future history
+
+       In the previous commit we added support for using the current buffer's
+       file name as future history for project-find-file even when switching
+       to another project with project-switch-project.  Make this work for
+       project-find-dir and project-or-external-find-file too.
+
+       * lisp/progmodes/project.el (project--find-default-from): Add.
+       (project-find-file, project-or-external-find-file): Use
+       project--find-default-from with buffer-file-name.
+       (project-find-dir): Use project--find-default-from with
+       default-directory.
+
+2023-08-23  Spencer Baugh  <sbaugh@janestreet.com>
+           Dmitry Gutov  <dmitry@gutov.dev>
+
+       Support adjusting file-name-history to the current project
+
+       This adds project-file-history-behavior which has the effect described 
in
+       its docstring.  Implementing a sort of sharing of file-name-history
+       between projects.
+
+       * lisp/progmodes/project.el (project-file-history-behavior):
+       New option.  (bug#63829)
+       (project--transplant-file-name): Add.
+       (project--read-file-cpd-relative): Move history manipulations to
+       project--read-file-name.
+       (project--read-file-name): New function.  Refer to
+       project-file-history-behavior.
+       (project-find-file-in, project-find-dir): Use it.
+       (project-or-external-find-file): Bind the new option to t, to avoid
+       touching the external file names.
+
+       * etc/NEWS: Announce the new option.
+
+2023-08-23  Po Lu  <luangruo@yahoo.com>
+
+       Make org-mouse compatible with touch screen event emulation
+
+       * lisp/org/org-mouse.el (org-mouse-down-mouse): Characterize as
+       an `ignored-mouse-command'.
+
+2023-08-23  Po Lu  <luangruo@yahoo.com>
+
+       Fix compatibility problems with several fonts
+
+       * src/sfnt.c (sfnt_lookup_glyph_8): Perform binary search
+       instead of combing through each group if the table is large.
+       (sfnt_read_simple_glyph): Avoid losing if the last byte of a
+       vector is identical to the last byte of the glyph data.
+       (sfnt_read_gvar_table): Don't overwrite gvar table data while
+       reading shared coordinates.
+
+2023-08-23  Spencer Baugh  <sbaugh@catern.com>
+
+       Expand project file names before storing them
+
+       Before, whatever project-root returned, we stored as the root
+       directory of the project in project-list and project-list-file.  This
+       could lead to duplicate entries or bad behavior if projects were
+       accessed by different file names, e.g. both /home/user/src/emacs and
+       ~/src/emacs.
+
+       Now project-list-file contains only expanded paths and project--list
+       contains only abbreviated paths.  We abbreviate filenames before
+       setting project--list, and expand filenames before writing to
+       project-list-file.  We only do this for local files, though, to avoid
+       making remote connections; the situation will still be bad for remote
+       projects, but at least this is an improvement.
+
+       * lisp/progmodes/project.el (project--write-project-list): Call
+       expand-file-name.
+       (project--read-project-list, project-remember-project)
+       (project--remove-from-project-list): Call abbreviate-file-name.
+
+2023-08-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Add a bit of logging for gnus-search search engine results
+
+       Help users figure out the cause of unexpected "no search results"
+       situations.
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Illustrate more font problems
+
+       * etc/PROBLEMS (Runtime problems specific to Android): Mention
+       problems with three other fonts users have inquired into.
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Avoid crashes rescaling fonts with long names
+
+       * src/font.c (font_rescale_ratio): Check NAME is not nil before
+       matching it against a regexp.
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Optimize format 12 cmap table lookup
+
+       * src/sfnt.c (sfnt_compare_char): New function.
+       (sfnt_lookup_glyph_12): Detect ``large'' cmap tables of format
+       12 and perform a binary search.  Such tables are frequently
+       provided by CJK fonts.
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Take precautions against NULL returns from getPrimaryClip
+
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java (getClipboardData):
+       Return null if the clip data is not set.  Also delete superfluous
+       debugging code.  (bug#65445)
+       (getClipboard): Don't dereference NULL clip data.
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Avoid errors in posn-col-row if fonts disappear from an X server
+
+       * lisp/window.el (window-font-width, window-font-height): Resort
+       to frame-char-width/height should the font returned by font-info
+       be unavailable.
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       * etc/DEBUG: Mention android_exception_check specifics.  (bug#65445)
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Correct invalid Texinfo markup
+
+       * doc/emacs/files.texi (Visiting): Don't enclose an entire form
+       within @var, use @code for the whole form and @var for
+       individual variables within instead.
+
+       * doc/lispref/commands.texi (Key Sequence Input): @xref must be
+       followed by either , or ..
+
+       * doc/lispref/processes.texi (Filter Functions): Introduce
+       punctuation absent from the last sentence of a paragraph.
+
+2023-08-22  Jim Porter  <jporterbugs@gmail.com>
+
+       Merge from origin/emacs-29
+
+       b72f23a532b ; Fix 'desktop-restore-reuses-frames' customize values
+
+2023-08-22  Jim Porter  <jporterbugs@gmail.com>
+
+       Merge from origin/emacs-29
+
+       3296031ad74 ; Another improvement for documentation of pixelwise scro...
+       baeb2d71ae7 Support defun navigation for DEFUN in c-ts-mode (bug#64442)
+       781ddd7e7d8 Fix touchpad scrolling on MS-Windows
+       c125bd060e2 Fix order in which package-vc dependencies are resolved
+       500ced133ad Fix building of VC package manuals with relative org link...
+       456ecabe9e8 Fix the documentation of 'cl-flet'
+       f6ebd1ef0d0 ; * src/treesit.c (Ftreesit_node_parent): Improve comment...
+       fac0e2d5334 Avoid false "wrong passphrase" messages in EPA
+       8f683b51d8b Fix jsx font-lock in older tree-sitter-js grammars
+       d9af79ae39d Fix cloning 'face-remapping-alist' for indirect buffers
+       636fb267c46 Improve documentation of case transfer in replacement com...
+       7856d51436b Fix horizontal scrolling of images with C-f
+       8cf5659ec2f ; Fix defcustom in completion.el
+       a8c8a4e3680 ; * src/fns.c (Fcopy_sequence): Doc fix.  (Bug#64960)
+       205d87cdca0 Fix unpacking ZIP archives on MS-Windows
+       3712e8bc385 ; Fix typos in lisp/keymap.el doc strings (bug#65329).
+       21b2ecee661 Fix command example in Eshell manual
+       26949819df0 ; lisp/progmodes/csharp-mode.el (treesit-query-capture): ...
+       221ed70b90a ; Improve documentation of 'define-alternatives'
+       32280205e27 Add user options mentioned in the Eshell manual to the va...
+       cf3145a486b * Add missing alias to `native-comp-enable-subr-trampolin...
+       922b6490286 * Add missing alias to `native-comp-enable-subr-trampolin...
+       6962823c83c ; * etc/PROBLEMS: Fix typo and clarify wording.
+
+       # Conflicts:
+       #       doc/misc/eshell.texi
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Improve Android adaptive icon
+
+       * java/res/drawable/emacs_background.xml: Delete trailing whitespace
+       and modify gradient offset to match emacs.svg.
+
+       * java/res/drawable/emacs_foreground.xml: Delete trailing
+       whitespace and remove redundant path.
+
+2023-08-22  Po Lu  <luangruo@yahoo.com>
+
+       Repair desktop notification on Android 31
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
+       Provide FLAG_IMMUTABLE under Android S and later, not just
+       versions of Android after S.  (bug#65433)
+
+2023-08-21  Jim Porter  <jporterbugs@gmail.com>
+
+       Use generics to define Eshell output targets
+
+       This is more flexible than before, since third-party code can add new
+       output target types without advising these functions.  It also
+       resolves an issue where redirecting to a symbol that has a value in
+       its function slot doesn't work.
+
+       * lisp/eshell/esh-io.el (eshell-virtual-target): New struct.
+       (eshell-get-target, eshell-output-object-to-target): Reimplement via
+       'cl-defgeneric'.
+       (eshell-close-target): Reimplement via 'cl-defgeneric' and simplify
+       'process' method.
+
+2023-08-21  Jim Porter  <jporterbugs@gmail.com>
+
+       Allow splicing Eshell globs in-place
+
+       This means that Eshell globs can now expand the same way as if the
+       user had typed each matching file individually.
+
+       * lisp/eshell/em-glob.el (eshell-glob-splice-results): New option.
+       (eshell-no-command-globbing, eshell-add-glob-modifier): Handle spliced
+       globs.
+       (eshell-extended-glob): Always return a list when splicing.
+
+       * lisp/eshell/em-pred.el (eshell-parse-arg-modifier): Ensure
+       'eshell-splice-args' is always at the end of the list of modifiers if
+       present.
+
+       * test/lisp/eshell/em-glob-tests.el
+       (em-glob-test/expand/splice-results)
+       (em-glob-test/expand/no-splice-results)
+       (em-glob-test/expand/explicitly-splice-results)
+       (em-glob-test/expand/explicitly-listify-results): New tests.
+       (em-glob-test/no-matches): Check result when
+       'eshell-glob-splice-results' is nil/non-nil.
+
+       * doc/misc/eshell.texi (Arguments): Expand explanation about argument
+       flattening.
+       (Globbing): Document splicing behavior of globs.
+
+       * etc/NEWS: Announce this change.
+
+2023-08-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't describe lexbound uncompiled function as 'closures'
+
+       * lisp/help-fns.el (help-fns-function-description-header):
+       Describe lexbound uncompiled functions as functions.
+       Whether they technically close over any lexical variables isn't of
+       interest here.
+
+2023-08-21  Po Lu  <luangruo@yahoo.com>
+
+       Properly enumerate GX fonts of the same family with divergent styles
+
+       * doc/emacs/android.texi (Android Fonts): Revise explanation of
+       GX font replacement during font enumeration.
+
+       * src/sfntfont.c (sfnt_replace_fonts_p): If PREV and DESC are of
+       the same family and both are GX fonts, restrict actions taken to
+       removing duplicate styles from PREV.  Reported by a user who
+       tried to install GX versions of Cascadia Mono, which are
+       distributed as two files providing the bold and italic variation
+       axes respectively.
+
+2023-08-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Explicitly disallow named-let in code using dynamic binding
+
+       There is no point in permitting named-let to be used in dynbound code;
+       our code transforms are simply not valid in that context, and it's not
+       worth the trouble to make it work (to the extent that it is at all
+       possible). (Bug#59576)
+
+       * lisp/emacs-lisp/subr-x.el (named-let):
+       Error if used with dynamic binding.
+       * doc/lispref/variables.texi (Local Variables): Amend manual.
+
+2023-08-21  Gerd Möllmann  <gerd@gnu.org>
+
+       Fix debug spec of cl-flet (bug#65344)
+
+       * lisp/emacs-lisp/cl-macs.el (cl-flet): Fix debug spec.
+       (cl-defun): Allow only symbols as function names in debug spec.
+       * test/lisp/emacs-lisp/cl-macs-tests.el (cl-flet/edebug): New test
+       case.
+
+2023-08-21  Po Lu  <luangruo@yahoo.com>
+
+       Make the Emacs icon ``adaptive''
+
+       * java/AndroidManifest.xml.in (EmacsApplication): Set icon to
+       @mipmap/emacs_icon.
+
+       * java/org/gnu/emacs/EmacsService.java (onStartCommand): Pick a
+       better name for the persistent notification channel.
+
+       * java/res/drawable/emacs_background.xml:
+
+       * java/res/drawable/emacs_foreground.xml:
+
+       * java/res/mipmap/emacs_icon.png:
+
+       * java/res/mipmap-v26/emacs_icon.xml: New files, comprising an
+       ``adaptive icon'' required by some Android launchers.
+
+2023-08-21  Po Lu  <luangruo@yahoo.com>
+
+       Enable providing icons for Android desktop notifications
+
+       * doc/lispref/os.texi (Desktop Notifications)
+       <android-notifications-notify>: Mention the :icon parameter.
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java
+       (EmacsDesktopNotification) <icon>: New field.
+       (<init>): New argument ICON.  Set this.icon to its value.
+       (display1): Use provided icon and always supply a pending intent
+       to open Emacs once the notification is clicked.
+
+       * java/res/layout/sdk8_notifications_view.xml
+       (sdk8_notifications_title, sdk8_notifications_content): Set
+       foreground color to #000000.
+
+       * src/androidselect.c (android_init_emacs_desktop_notification):
+       Update signature of <init>.
+       (android_locate_icon): New function.
+       (android_notifications_notify_1): New arg ICON.
+       (Fandroid_notifications_notify): New parameter icon.
+       (syms_of_androidselect): <QCicon>: New symbol.
+
+2023-08-20  Andrea Corallo  <acorallo@gnu.org>
+
+       * Introduce `help-display-function-type' customizable var (bug#65288).
+
+               * lisp/help-fns.el (help-display-function-type): New
+               customizable var.
+               (help-fns--signature): Make use of.
+
+2023-08-20  Jens Schmidt  <jschmidt4gnu@vodafonemail.de>
+
+       * lisp/isearch.el (isearch-resume): Add isearch-push-state (bug#65379).
+
+2023-08-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete some Emacs 19/21 compat code
+
+       * lisp/erc/erc-goodies.el (erc-occur):
+       * lisp/net/newst-plainview.el (newsticker--buffer-redraw): Delete
+       Emacs 21 compat code.
+       * lisp/progmodes/sql.el (sql-accumulate-and-indent): Delete Emacs
+       19 compat code.
+
+2023-08-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       * lisp/term.el (term--update-term-menu): Simplify.
+
+2023-08-20  Po Lu  <luangruo@yahoo.com>
+
+       Repair desktop notification display on Android 2.3 and 2.2
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
+       Create a pending intent and set it as the contentIntent when
+       building a notification by hand.
+
+2023-08-20  Po Lu  <luangruo@yahoo.com>
+
+       Support desktop notifications on Android
+
+       * doc/emacs/android.texi (Android Environment): Correct list of
+       permissions granted by default.
+
+       * doc/lispref/os.texi (Desktop Notifications): Document the new
+       function `android-notifications-notify' and its limitations.
+
+       * java/AndroidManifest.xml.in: Request notification permissions.
+
+       * java/org/gnu/emacs/EmacsDesktopNotification.java: New file.
+
+       * java/res/layout/sdk8_notifications_view.xml: New file holding
+       substitute notification widget definitions for Android versions
+       prior to 3.0.
+
+       * java/res/values/strings.xml: Remove inadvertently introduced
+       tag attribute.
+
+       * lisp/org/org-clock.el (haiku-notifications-notify): Correct
+       file name in function declaration.
+       (android-notifications-notify): New declaration.
+       (org-show-notification): Use `android-notifications-notify'.
+
+       * src/androidselect.c (android_init_emacs_desktop_notification)
+       (android_notifications_notify_1, Fandroid_notifications_notify):
+       New functions.
+       (init_androidselect, syms_of_androidselect): Initialize new
+       class and define new subr.
+
+2023-08-20  Lin Sun  <sunlin7@hotmail.com>
+
+       Allow fetching URL at point without switching to it
+
+       * lisp/net/eww.el (eww-open-in-new-buffer):  Stay on current
+       buffer when invoked with prefix argument.  (Bug#65346)
+
+2023-08-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       New user option pcomplete-remote-file-ignore
+
+       * etc/NEWS: Mention pcomplete-remote-file-ignore.
+
+       * lisp/pcomplete.el (pcomplete-remote-file-ignore):
+       New user option.
+       (pcomplete--entries): Use it.
+
+       * lisp/shell.el (shell-completion-vars):
+       Set 'pcomplete-remote-file-ignore'.
+
+2023-08-20  Po Lu  <luangruo@yahoo.com>
+
+       Fix libselinux object leaks
+
+       * src/fileio.c (Fcopy_file, Fset_file_selinux_context): Call
+       freecon prior to signaling file errors.
+
+2023-08-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_decompose_compound_glyph): New argument
+       GET_METRICS.  Call this function to retrieve glyph metrics used
+       to compute phantom points when a component glyph's anchor point
+       is one.
+       (sfnt_decompose_glyph, sfnt_build_glyph_outline): Plumb
+       GET_METRICS these two functions.
+       (sfnt_interpret_shc): Don't shift the provided reference point.
+       (sfnt_transform_f26dot6): Eschew looping through X and Y if no
+       offsets are provided.
+       (sfnt_interpret_compound_glyph_2): Discontinue initializing
+       phantom points here.
+       (sfnt_interpret_compound_glyph_1): Do not incorporate phantom
+       points into the ultimately produced glyph outline.  Correctly
+       provide for phantom childanchor points.
+       (sfnt_test_get_metrics, main): Update tests.
+
+       * src/sfnt.h: Update prototypes.
+
+       * src/sfntfont.c (struct sfntfont_get_glyph_outline_dcontext):
+       New fields `hmtx', `hhea' and `maxp'.
+       (sfntfont_get_metrics): New function.
+       (sfntfont_get_glyph_outline): Provide new tables and the new
+       callback function.
+
+2023-08-19  Ken Brown  <kbrown@cornell.edu>
+
+       Skip hanging tests on Cygwin (bug#65325)
+
+       * test/lisp/server-tests.el (server-tests/can-create-frames-p):
+       Define to be nil on Cygwin unless Emacs has at least one of the
+       features gfilenotify, dbus, or threads.  This causes three tests
+       to be skipped.
+
+       * test/src/keyboard-tests.el (keyboard-unread-command-events):
+       Skip on Cygwin unless Emacs has at least one of the features
+       gfilenotify, dbus, or threads.
+
+2023-08-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Extend T
+
+       * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
+       Add `file-directory-p'.
+       (tramp-completion-handle-file-directory-p): New defun.
+
+2023-08-19  dalu  <mou.tong@outlook.com>  (tiny change)
+
+       Add "lexical" LSP server for Elixir to Eglot
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add lexical.
+       It does not support MS-Windows currently.  (Bug#65359)
+
+2023-08-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Simplify dictionary-close even more
+
+       * lisp/net/dictionary.el (dictionary-close): Simplify.
+       Suggested by Philip Kaludercic <philipk@posteo.net>.
+
+2023-08-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove Emacs 24 compat code from reftex
+
+       * lisp/textmodes/reftex-index.el (reftex-display-index):
+       * lisp/textmodes/reftex-toc.el (reftex-toc): Assume that we have
+       'cursor-intangible-mode', which was added in Emacs 25.
+
+2023-08-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove XEmacs compat code from reftex
+
+       * lisp/textmodes/reftex-toc.el (reftex-toc, reftex-toc-dframe-p)
+       (reftex-toc-revert, reftex-toc-toggle-dedicated-frame): Delete
+       XEmacs compat code.
+       * lisp/textmodes/reftex.el (reftex-window-height): Make into
+       obsolete function alias of 'window-height'.  Update all callers.
+       (reftex-create-customize-menu): Assume recent version of cus-edit.el.
+
+2023-08-19  Philip Kaludercic  <philipk@posteo.net>
+
+       Add command to start Emacs with specific packages
+
+       * lisp/emacs-lisp/package.el (package--dependencies): Extend function
+       to handle and return package descriptors.
+       (package-isolate): Add new command.
+       * etc/NEWS: Announce new command.
+
+2023-08-19  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Specialize default-get for alist widgets (Bug#63290)
+
+       * lisp/wid-edit.el (widget-list-default-get)
+       (widget-alist-default-get): New functions.
+       (list, alist): Use it.
+       * test/lisp/cus-edit-tests.el (cus-edit-test-bug63290-option)
+       (cus-edit-test-bug63290-option-2): New test options.
+       (cus-edit-test-bug63290): New test.
+       * test/lisp/wid-edit-tests.el (widget-test-alist-default-value-1)
+       (widget-test-alist-default-value-2)
+       (widget-test-alist-default-value-3)
+       (widget-test-alist-default-value-4): New tests.
+
+2023-08-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt test in minibuffer-tests.el
+
+       * test/lisp/minibuffer-tests.el 
(test-completion-all-sorted-completions):
+       Simplify function declaration.
+
+2023-08-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp test
+
+       * test/lisp/net/tramp-archive-tests.el
+       (tramp-archive-test44-user-group-ids): Extend test.
+
+2023-08-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Simplify use of Tramp messages
+
+       * doc/misc/tramp.texi (Traces and Profiles): Don't require a
+       minimum `tramp-verbose' level when `tramp-debug-command-messages'
+       is non-nil.
+
+       * lisp/net/tramp-message.el (tramp-debug-command-messages):
+       Adapt docstring.
+       (tramp-message, with-tramp-debug-message): Don't require a minimum
+       `tramp-verbose' level when `tramp-debug-command-messages' is non-nil.
+
+2023-08-19  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix behavior of client frames when 'find-alternate-file' is used
+
+       * lisp/files.el (find-alternate-file-dont-kill-client): New var.
+       (find-alternate-file): Bind it to a special value when invoking
+       kill-buffer-hook.
+       * lisp/server.el (server-delete-client): If NOFRAME is
+       'dont-kill-client', don't kill the client and its terminals.
+       (server-buffer-done): Pass 'find-alternate-file-dont-kill-client'
+       to 'server-delete-client'.  (Bug#65277)
+
+2023-08-19  Po Lu  <luangruo@yahoo.com>
+
+       Make some file I/O operations more robust on Android
+
+       * src/android.h (android_readlinkat): New prototype.
+       * src/androidvfs.c (struct android_vops): New function pointer
+       `readlink'.
+       (unix_vfs_ops, android_unix_readlink, afs_vfs_ops)
+       (android_afs_readlink, content_vfs_ops, android_content_mkdir)
+       (android_content_chmod, authority_vfs_ops)
+       (android_authority_readlink, saf_root_vfs_ops)
+       (android_saf_root_readlink, saf_tree_vfs_ops)
+       (android_saf_tree_readlink, saf_file_vfs_ops, saf_new_vfs_ops)
+       (android_saf_new_readlink, root_vfs_ops): Implement new
+       `readlink' vops for each vnode type.
+       (android_readlinkat): New function.
+
+       * src/fileio.c (Fcopy_file): Be more flexible about SELinux
+       errors under Android.
+       (emacs_readlinkat): Use `android_readlink' when built as
+       libemacs.so.
+
+2023-08-19  Po Lu  <luangruo@yahoo.com>
+
+       Disable text conversion inside read-char-exclusive
+
+       * src/lread.c (read_filtered_event): Disable text conversion if
+       merely ascii_required.  (bug#65370)
+
+2023-08-19  Po Lu  <luangruo@yahoo.com>
+
+       Disable text conversion within read-char-from-minibuffer
+
+       * lisp/subr.el (read-char-from-minibuffer): Disable text
+       conversion.  (bug#65370)
+       (y-or-n-p): Remove redundant binding of
+       `override-text-conversion-style', given that read-key already
+       disables text conversion.
+
+       * src/textconv.c (Fset_text_conversion_style): Always reset text
+       conversion for the selected frame in addition to any displaying
+       current_buffer.
+
+2023-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (Fmake_local_variable): Fix bug#65209
+
+       * src/data.c (Fmake_local_variable): Don't delegate to `Fset` since
+       they have to obey `let_shadows_buffer_binding_p` whereas we don't.
+
+       * test/src/data-tests.el (data-tests--bug65209): New var.
+       (data-tests-make-local-bug65209): New test.
+
+2023-08-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Show duration of compilation when it stops (bug#65251)
+
+       Patch by Helmut Eller, lightly edited.
+
+       * lisp/progmodes/compile.el (compilation--start-time): New variable.
+       (compilation-start): Set it.
+       (compilation-handle-exit): Display duration.
+
+2023-08-18  Po Lu  <luangruo@yahoo.com>
+
+       Don't disable terminfo on non-GUI Android builds
+
+       * configure.ac (TERMINFO, LIBS_TERMCAP): Clear only if
+       REALLY_ANDROID.  (bug#65340)
+
+2023-08-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix invocation with --debug-init and changes to debug-ignored-errors
+
+       * src/eval.c (syms_of_eval) <debug-ignored-errors>: Mention in the
+       doc string the caveat with removing errors from the standard value
+       while invoking Emacs with --debug-init.
+
+       * lisp/startup.el (startup--load-user-init-file): If the user's
+       init files add to the value of 'debug-ignored-errors', make sure
+       the additions are preserved after restoring the value we reset
+       during loading the init file, if Emacs was invoked with
+       "--debug-init".  (Bug#65267)
+
+2023-08-17  Robert Pluim  <rpluim@gmail.com>
+
+       Escape braces in regexp in make-info-dir
+
+       This fixes a build failure on Alpine Linux.
+
+       * build-aux/make-info-dir (detexinfo): Escape the braces, since some
+       awk variants (such as BusyBox's) don't like regexp interval
+       specifications that aren't numbers.  Bug#65323
+
+2023-08-17  Po Lu  <luangruo@yahoo.com>
+
+       Introduce support for Desktop Notifications on Haiku
+
+       * doc/lispref/os.texi (Desktop Notifications): Document Haiku
+       desktop notifications.
+
+       * etc/NEWS: Announce this change.
+
+       * lisp/org/org-clock.el (haiku-notifications-notify): New
+       declaration.
+       (org-show-notification): Employ that function.
+
+       * src/haiku_io.c (haiku_len) <NOTIFICATION_CLICK_EVENT>: Return
+       the length for this type of event.
+
+       * src/haiku_select.cc (my_team_id, be_display_notification): New
+       functions.
+
+       * src/haiku_support.cc (my_team_id, ArgvReceived): New
+       functions.
+
+       * src/haiku_support.h (enum haiku_event_type): New event type
+       NOTIFICATION_CLICK_EVENT.
+       (struct haiku_notification_click_event): New structure.
+
+       * src/haikuselect.c (haiku_notifications_notify_1)
+       (Fhaiku_notifications_notify): New functions.
+       (syms_of_haikuselect): Register new defsubr.
+
+       * src/haikuterm.c (haiku_read_socket):
+       * src/haikuselect.h:
+       * src/termhooks.h: Add new events for notification clicks on
+       Haiku.
+
+2023-08-17  Po Lu  <luangruo@yahoo.com>
+
+       Fix earlier change in subr.el
+
+       * lisp/subr.el (event-start, event-end): Don't take the car of
+       EVENT if it's not an event with parameters.
+
+2023-08-17  Spencer Baugh  <sbaugh@janestreet.com>
+
+       (project-find-file): Allow current file name "other project"'s future 
history
+
+       * lisp/progmodes/project.el (project-find-file):
+       Allow using the relative file name of the current buffer in "other
+       project" as well (bug#63829).
+
+2023-08-17  Dmitry Gutov  <dmitry@gutov.dev>
+
+       * src/fileio.c (Ffile_name_concat): Improve docstring.
+
+2023-08-17  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (emacs_cv_tputs_lib): Only circumvent termcap if
+       Android windowing support is enabled.  (bug#65340)
+
+       * etc/PROBLEMS: Fix typo in section recouting problems with the
+       Anonymous Pro font.
+
+       * lisp/subr.el (event-start, event-end): Return the mouse
+       position list tied to touchscreen-begin and end events.
+       Reported by Stefan Monnier <monnier@iro.umontreal.ca>.
+
+       * lisp/version.el (emacs-build-system, emacs-build-time)
+       (emacs-repository-get-version, emacs-repository-get-branch):
+       Bypass Android specific code on non-GUI builds running on
+       Android.  (bug#65340)
+
+       * lisp/wid-edit.el (widget-event-point): Remove now redundant
+       code.
+
+2023-08-17  Po Lu  <luangruo@yahoo.com>
+
+       Fix potential NULL pointer dereference
+
+       * java/org/gnu/emacs/EmacsDialog.java (display): Initialize
+       rc.thing to false.
+
+2023-08-16  Mattias Engdegård  <mattiase@acm.org>
+
+       tibetan.el: compute constants at compile time, optimise regexps
+
+       * lisp/language/tibetan.el (tibetan-subjoined-transcription-alist)
+       (tibetan-regexp, tibetan-precomposed-regexp)
+       (tibetan-precomposition-rule-regexp):
+       Evaluate at compile time.  Use regexp-opt.
+
+2023-08-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Speed up dictionary--count-mode-buffers
+
+       * lisp/net/dictionary.el (dictionary--count-mode-buffers): Make
+       faster.  Patch by Visuwesh <visuweshm@gmail.com>.
+
+2023-08-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add test for `calculator-exp`
+
+       * test/lisp/calculator-tests.el (calculator-expt): New test.
+
+2023-08-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make `term-mode` non-interactive
+
+       * lisp/term.el (term-mode): Mark as non-interactive.
+
+2023-08-16  Gregory Heytings  <gregory@heytings.org>
+
+       Improve 'emake --quieter'
+
+       * admin/emake: Improve the output when the --quieter option is
+       used.
+
+2023-08-16  Jim Porter  <jporterbugs@gmail.com>
+
+       Show how to call an Elisp function of the same name as an Eshell 
built-in
+
+       * doc/misc/eshell.texi (Built-ins): Expand documentation.
+
+2023-08-16  Jim Porter  <jporterbugs@gmail.com>
+
+       Add 'compile' builtin command for Eshell
+
+       * lisp/eshell/em-unix.el (eshell-compile, eshell/compile): New
+       functions.
+       (eshell/make, eshell-grep): Use 'eshell-compile'.
+       (eshell/glimpse): It's no longer necessary to let-bind 'null-device';
+       'eshell-grep' no longer calls 'grep' (the Lisp function), which needed
+       'null-device' to be nil for this case.
+
+       * test/lisp/eshell/em-unix-tests.el: New file.
+
+       * doc/misc/eshell.texi (Built-ins): Document the 'compile' builtin.
+
+       * etc/NEWS: Announce this change (bug#65273).
+
+2023-08-16  Gregory Heytings  <gregory@heytings.org>
+
+       Various improvements to 'emake'
+
+       * admin/emake: Highlight the result of 'check-maybe' in red.
+       Reindent a few lines.  Add a line in the filters.  Clarify the
+       documentation.
+
+2023-08-16  Gregory Heytings  <gregory@heytings.org>
+
+       Add a target to byte-compile all tests without running them
+
+       * test/Makefile.in: Add a check-byte-compile target.
+       * Makefile.in: Add the check-byte-compile target to CHECK_TARGETS.
+
+2023-08-16  Gregory Heytings  <gregory@heytings.org>
+
+       Simplify 'with-restriction' and 'without-restriction'
+
+       * lisp/subr.el (with-restriction, without-restriction): Merge the
+       bodies of the 'internal--with-restriction' and
+       'internal--without-restriction' function into the macros.  The
+       result is more efficient than a funcall.
+       (internal--with-restriction, internal--without-restriction):
+       Remove.
+       Suggested by Mattias Engdegård.
+
+2023-08-16  Gregory Heytings  <gregory@heytings.org>
+
+       Simplify 'without-restriction'
+
+       This simplification is symmetrical to 01fb898420.
+
+       * src/editfns.c: (Finternal__labeled_widen): Add a call to
+       'Fwiden', and rename from 'internal--unlabel-restriction'.
+       (unwind_labeled_narrow_to_region): Use the renamed function, and
+       remove the call to 'Fwiden'.
+       (syms_of_editfns): Rename the symbol.
+
+       * lisp/subr.el (internal--without-restriction): Use the renamed
+       function.
+
+2023-08-16  Gregory Heytings  <gregory@heytings.org>
+
+       Fix combine-change-call
+
+       * lisp/subr.el (combine-change-calls-1): Rewrite and document
+       the part which creates the undo-list element.  Fixes bug#60467
+       and bug#64989.
+
+2023-08-16  Mattias Engdegård  <mattiase@acm.org>
+
+       ob-tangle.el: fix unintended range in regexp
+
+       * lisp/org/ob-tangle.el (org-babel-interpret-file-mode):
+       Repair parts of regexp that should only match +, - and =.
+       * lisp/files.el (file-modes-symbolic-to-number):
+       Fix the same error in a doc string; this seems to be where
+       the mistake originated.
+
+2023-08-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix Info parser regexp mistake
+
+       * lisp/info.el (Info-split-parameter-string):
+       The `\sX` syntax construct isn't valid inside character alternatives;
+       follow the obvious intention.
+
+2023-08-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Remedy wrong-looking \(:?...\) regexp constructs
+
+       When we see \(:?...\) in a regexp it very much looks like a typo
+       for a \(?:...\) construct and often is, so do something about
+       all of these (one of which being another mistake).
+       Doing so silences an optional relint check.
+
+       * lisp/comint.el (comint-replace-by-expanded-history-before-point):
+       * lisp/term.el (term-replace-by-expanded-history-before-point):
+       Move :? out from capturing group where it does not need to be,
+       to avoid confusion.
+       * lisp/emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation):
+       A capturing group isn't needed here; turn it into simple bracketing.
+       * lisp/progmodes/sql.el (sql--completion-table):
+       Change :? into ?: which was clearly meant here.
+
+2023-08-16  Po Lu  <luangruo@yahoo.com>
+
+       * etc/PROBLEMS: Document a problem with the Anonymous Pro font.
+
+2023-08-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Fix slow "C-h f" in Emacs built without native compilation"
+
+       This reverts commit 545f95d1a3213318389ecadc7cfff3f48b555b03.
+       It is no longer needed, as comp.el and comp-cstr.el are now
+       byte-compiled even if native-compilation is not built-in.
+
+2023-08-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac: Test for getpwent using gl_CHECK_FUNCS_ANDROID.
+       (bug#65319)
+
+       * etc/MACHINES (Android): Mention that a non-GUI build is also
+       possible on Android.
+
+       * lisp/loadup.el: Provide for regular builds on Android.
+       (bug#65339)
+
+       * lisp/wid-edit.el (widget-event-start): Remove function, since
+       event-start now does the same thing.
+       (widget-button--check-and-call-button, widget-button-click):
+       Adjust correspondingly.  Reported by Stefan Monnier
+       <monnier@iro.umontreal.ca>.
+
+       * src/sysdep.c (close_output_streams): Apply workarounds for the
+       file descriptor sanitizer on all builds where __ANDROID__ is
+       defined, not just Android port builds.  (bug#65340)
+
+2023-08-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix infloop error in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-find-file-exists-command): Do not
+       call `tramp-get-ls-command'.  (Bug#65321)
+
+2023-08-16  Andrea Corallo  <acorallo@gnu.org>
+
+       * lisp/Makefile.in (compile-targets): Always byte compile native comp.
+
+2023-08-16  Po Lu  <luangruo@yahoo.com>
+
+       Improve java/DEBUG
+
+       * etc/DEBUG: Significantly reword and expand section.
+       (bug#65268)
+
+2023-08-16  Po Lu  <luangruo@yahoo.com>
+
+       Remove get_boot_time from msdos.c
+
+       * src/msdos.c (get_boot_time): That all of the actual locking in
+       filelock.c is under #ifndef MSDOS escaped my notice.  Remove
+       this unused function.
+
+2023-08-16  Po Lu  <luangruo@yahoo.com>
+
+       Fix display of compound glyphs that employ simple transforms
+
+       * src/sfnt.c (sfnt_transform_coordinates): Always compute an
+       affine transform matrix except if no scale is provided at all.
+       Unconditionally apply x_off and y_off.
+       (sfnt_decompose_compound_glyph): Delete arguments OF_X and
+       OFF_Y.  Apply component offsets after writing simple glyph
+       contours.
+       (sfnt_decompose_glyph): Modify for new calling convention.
+       (sfnt_transform_f26dot6): Modify analogously to
+       sfnt_decompose_compound_glyph.  Also correct anchor offset
+       computation to scale the unscaled component anchor coordinates
+       by the interpreter scale.
+       (sfnt_interpret_compound_glyph_1): Also modify for new calling
+       convention.
+       * src/sfnt.h (struct sfnt_compound_glyph_component): <u>: Make
+       scale fields signed.
+
+2023-08-16  Bob Rogers  <rogers@rgrjr.com>
+
+       Don't use the too-new command 'git get-url'
+
+       * lisp/vc/vc-git.el (vc-git-repository-url):
+       Don't use the too-new command 'git get-url' (bug#65315).
+
+2023-08-16  F. Jason Park  <jp@neverwas.me>
+
+       Add line-wise movement commands for erc-fill-wrap
+
+       * lisp/erc/erc-fill.el (erc-fill-line-spacing): Revise doc string.
+       (erc-fill--wrap-escape-hidden-speaker): New helper function to move
+       point to beginning of visible text.
+       (erc-fill--wrap-beginning-of-line): Factor out adjustment for hidden
+       speakers.
+       (erc-fill--wrap-previous-line, erc-fill--wrap-next-line): Add commands
+       for moving to previous and next line in a manner consistent with the
+       value of `erc-fill--wrap-visual-keys'.
+       (erc-fill-wrap-mode-map): Add remap bindings for `next-line' and
+       `previous-line'.
+       (erc-fill-wrap-mode): Revise doc string.
+       (erc-fill-wrap-nudge): Fix vertical anchoring so that point's line
+       remains steadier throughout the adjustment.  (Bug#60936)
+
+2023-08-16  F. Jason Park  <jp@neverwas.me>
+
+       Deprecate erc-button-nickname-callback-function
+
+       * lisp/erc/erc-button.el (erc-button-nickname-callback-function):
+       Deprecate this function-valued variable, first introduced in ERC 5.6
+       and Emacs 30, to dissuade consumers of the old `erc-button-alist'
+       nickname interface from meddling with the on-click callback of
+       buttonized nicks.  If necessary, third parties can instead add their
+       own propertizing logic in something like `erc-insert-modify-hook'.
+       Also change default callback to a wrapper that discards all but the
+       first arg.  This effectively declares that `erc-data' values for
+       nicknames may contain more than one element in the near future.
+       (erc-button--perform-nick-popup): New default nick-button callback
+       function wrapping `erc-nick-popup' in order to adapt it to the
+       `erc-button-nickname-callback-function' interface.  (Bug#60933)
+
+2023-08-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify get_boot_sec
+
+       * src/filelock.c (get_boot_sec):
+       Simplify by removing a special case for MS-DOS.
+       * src/msdos.c (get_boot_time): New dummy that always fails.
+
+2023-08-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-08-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix typo in pcomplete/sha512sum alias
+
+       * lisp/pcmpl-unix.el (pcomplete/sha512sum): Rename from
+       'pcomplete/sha521sum'.
+
+2023-08-15  kobarity  <kobarity@gmail.com>
+
+       Fix test in python-tests.el added by bug #62092
+
+       * test/lisp/progmodes/python-tests.el
+       (python-info-dedenter-opening-block-positions-6): Fix indentation.
+       (python-info-dedenter-opening-block-positions-7): Add calling
+       `should'.  Add RESTORE-POINT argument when calling
+       `python-tests-look-at'.
+
+2023-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/help-fns.el: Revert commit c12838c73ef161850a081f9ccea6e375b7c2f93b
+
+       * lisp/help-fns.el (help-fns--describe-function-or-command-prompt):
+       Don't allow specifying a non-existing function.
+
+2023-08-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Some Tramp optimizations
+
+       * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions):
+       Extend.  It shall return also some basic file attributes.
+       (tramp-bundle-read-file-names): Simplify data to be transferred.
+       (tramp-sh-handle-file-name-all-completions): Read additional attributes.
+       (tramp-sh-handle-expand-file-name): Check also "doas".
+       (tramp-bundle-read-file-names): Handle changed data layout.
+       (tramp-find-file-exists-command): Set "file-exists-p" file property.
+
+2023-08-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix test in files-tests.el
+
+       * test/lisp/files-tests.el
+       (files-tests-file-name-non-special-unhandled-file-name-directory):
+       Fix test.
+
+2023-08-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2023-08-15  Po Lu  <luangruo@yahoo.com>
+
+       Don't use // substitution in `ndk_resolve_import_module'
+
+       * m4/ndk-build.m4 (ndk_resolve_import_module): Stop testing if
+       ndk_commands is empty; just eval it.  (bug#65292)
+
+2023-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/pp.el (pp-fill): Fix bug#65159
+
+       * doc/lispref/commands.texi (Adjusting Point): Document the adjustment
+
+2023-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-generic.el: Fix docstring for methods with `cl-call-next-method`
+
+       * lisp/emacs-lisp/cl-generic.el (cl--generic-method-info):
+       Fix docstring extraction for "curried" methods (bug#65270).
+
+2023-08-15  Po Lu  <luangruo@yahoo.com>
+
+       Micro-optimize GXAXIS
+
+       * src/sfnt.c (GXAXIS): Check for the availability of naxis slot
+       elements in a single operation.
+
+2023-08-14  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add native WebP support on macOS (Bug#59242)
+
+       * src/image.c (syms_of_image)
+       [HAVE_NATIVE_IMAGE_API && HAVE_NS && NS_IMPL_COCOA]:
+       Add webp as an image type.
+       * src/nsimage.m (ns_can_use_native_image_api)
+       [NS_IMPL_COCOA && !HAVE_WEBP]: Add webp to list of possible image
+       types in the native image support lookup.
+
+2023-08-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix slow "C-h f" in Emacs built without native compilation
+
+       * lisp/help-fns.el (help-fns--signature): Don't try calling
+       'comp-function-type-spec' if Emacs was built without native
+       compilation.  (Bug#65250)
+
+2023-08-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Actually check the result of `equal` comparisons in tests
+
+       * test/lisp/calc/calc-tests.el (calc-bit-ops):
+       * test/lisp/files-tests.el
+       (files-tests-file-name-non-special-substitute-in-file-name)
+       (files-tests-file-name-non-special-temporary-file-directory)
+       (files-tests-file-name-non-special-unhandled-file-name-directory):
+       Add missing `should` assertions.
+
+2023-08-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Ignore ert-deftest body value
+
+       * lisp/emacs-lisp/ert.el (ert-deftest):
+       Since the return value of the body isn't going to be used, ignore
+       it explicitly so that the compiler can warn if we try to return
+       something anyway.  In particular, this exposes some comparisons
+       whose result weren't actually checked.
+
+2023-08-14  Po Lu  <luangruo@yahoo.com>
+
+       Correct touch screen event translation
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up)
+       <mouse-drag>: Provide for situations where both the old and new
+       posns land on a special area of the window by comparing their
+       nominal row, column, and area.
+
+2023-08-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Revert "* lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit): 
Inhibit interaction"
+
+       This reverts commit bb9133f09dafb069cafe2bea72452bd34b3d6dd2,
+       because it inadvertently made many tests fail.
+
+2023-08-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       fdab7aaadac ; * lisp/net/tramp.el (tramp-skeleton-write-region): Fix ...
+       3eff53b4564 Update to Org 9.6.7-13-g99cc96
+
+2023-08-14  Po Lu  <luangruo@yahoo.com>
+
+       Improve efficiency of checking for access to authority documents
+
+       * java/org/gnu/emacs/EmacsService.java (checkContentUri): Take a
+       string instead of a byte array.  Then, use
+       checkCallingUriPermission, in lieu of opening the file.
+       * src/android.c (android_check_content_access): Delete unused
+       function.
+       (android_init_emacs_service): Adjust for changes to
+       checkContentUri's signature.
+       * src/androidvfs.c (android_get_content_name): Return the file
+       name in a new buffer.
+       (android_check_content_access): Adjust correspondingly.
+       (android_authority_name): Verify NAME is a valid JNI string.
+
+2023-08-14  Po Lu  <luangruo@yahoo.com>
+
+       Remove workarounds for lib/boot-time.o failures
+
+       * configure.ac (UTMP_H_DEFINES_BOOT_TIME):
+       * src/conf_post.h [__ANDROID__]: Delete workarounds, now that
+       Gnulib has been corrected.
+
+2023-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * etc/NEWS (cl-print-ellipsis): Mention `backtrace-ellipsis`
+
+       * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit): Inhibit 
interaction
+
+2023-08-13  LdBeth  <andpuke@foxmail.com>
+
+       Fix auth-source-macos-keychain (bug#64977)
+
+       * lisp/auth-source.el (auth-source-macos-keychain-search)
+       (auth-source-macos-keychain-search-items): Fix handling of user
+       and port.
+
+       * test/lisp/auth-source-tests.el (test-macos-keychain-search): New test.
+
+2023-08-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       c42970d7758 Handle last-coding-system-used in Tramp for all backends
+       ffafe38d030 Add 2 Welsh characters to iso-transl.el
+
+2023-08-13  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove dead code in `eshell/diff`
+
+       * lisp/eshell/em-unix.el (eshell/diff): Adjust for diff-mode; do not
+       set 'compilation-finish-functions', as it is never used.  (Bug#65245)
+       (eshell-diff-quit): Make into an obsolete function alias for 'ignore';
+       the command has been a no-op for close to two decades.
+       (eshell-diff-window-config): Make obsolete.
+
+2023-08-13  Po Lu  <luangruo@yahoo.com>
+
+       Describe how to read Logcat output in etc/DEBUG
+
+       * etc/DEBUG (Debugging Emacs on Android): Describe the
+       three kinds of crash messages Android prints to logcat,
+       and how they are read.  (bug#65268)
+
+2023-08-13  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete XEmacs compat code from supercite.el
+
+       * lisp/mail/supercite.el (sc-ask): Delete compatibility code;
+       'button-release-event-p' is only defined in XEmacs.
+
+2023-08-13  Mattias Engdegård  <mattiase@acm.org>
+
+       `equal` is not error-free
+
+       * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
+       (side-effect-and-error-free-fns)
+       (byte-compile-side-effect-and-error-free-ops)
+       (byte-compile-side-effect-free-ops):
+       Demote `equal` and `equal-including-properties` from error-free to
+       merely side-effect-free since they may in fact signal error on
+       circularity.
+
+2023-08-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid unexpected implicit completion in find-func.el
+
+       * lisp/emacs-lisp/find-func.el (find-function-read): Don't allow
+       implicit completion, which could produce unexpected results.
+       Patch by Jens Schmidt <jschmidt4gnu@vodafonemail.de>.  (Bug#65058)
+
+2023-08-13  Po Lu  <luangruo@yahoo.com>
+
+       Temporary fixes for the Android build
+
+       * configure.ac:
+       * src/conf_post.h [__ANDROID__]: Define substitutes for functions
+       used by Gnulib that are occasionally absent.
+
+2023-08-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS build
+
+       * msdos/sed1v2.inp (TIMER_TIME_LIB): Define to empty string.
+
+2023-08-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS build
+
+       * msdos/sedlibmk.inp (OMIT_GNULIB_MODULE_boot-time): Define to
+       true.
+       * src/filelock.c (get_boot_sec) [MSDOS]: Return 0; this
+       information is probably unavailable.  It is also irrelevant as
+       MS-DOS is a single-process operating system.
+
+2023-08-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve boot-time gathering
+
+       Simplify Emacs proper by using Gnulib’s boot-time module
+       instead of doing it all by hand.  This should port Emacs
+       better to obscurish hosts, as Bruno Haible has merged the
+       best of Emacs’s and Gnulib’s boot-time gathering.
+       * lib/boot-time-aux.h, lib/boot-time.c, lib/boot-time.h:
+       * lib/readutmp.h, m4/readutmp.m4: New files, copied from Gnulib.
+       * admin/merge-gnulib (GNULIB_MODULES): Add boot-time.
+       * configure.ac: Do not check for utmp.h;
+       the boot-time module now does this.
+       (BOOT_TIME_FILE): Remove; no longer used.
+       * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+       * src/filelock.c [__FreeBSD__]: Do not include <sys/sysctl.h>.
+       [HAVE_UTMP_H]: Do not include utmp.h.
+       Include boot-time instead: boot-time does the work now.
+       (BOOT_TIME) [HAVE_ANDROID && !ANDROID_STUBIFY]: Don’t undef.
+       (WTMP_FILE): Don’t define.
+       (boot_time, boot_time_initialized, get_boot_time_1, get_boot_time):
+       Remove.
+       (get_boot_sec): New function that simply calls Gnulib get_boot_time.
+       (lock_file_1, current_lock_owner): Use get_boot_sec instead
+       of get_boot_time.
+
+2023-08-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix bootstrap-clean in the cross directory on USG
+
+       * cross/Makefile.in (FIND_DELETE): New variable.
+       (CLEAN_SUBDIRS): Avoid including src if not already present.
+       (clean, bootstrap-clean, etc): Use FIND_DELETE.
+
+2023-08-13  Po Lu  <luangruo@yahoo.com>
+
+       Employ careadlinkat in getProcName
+
+       * src/android.c (android_proc_name): Delete args BUFFER and
+       SIZE.  Return buffer allocated by careadlinkat.
+       (NATIVE_NAME): Adjust correspondingly.
+
+2023-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid stpncpy
+
+       It’s not worth the porting hassle, and as the glibc manual says,
+       “this function is generally a poor choice for processing strings”.
+       * admin/merge-gnulib (GNULIB_MODULES): Remove stpncpy.
+       * exec/configure.ac: Do not check for stpncpy.
+       * exec/exec.c (rpl_stpncpy, stpncpy): Remove this replacement.
+       (exec_0): Properly clear buffer1.  Use memcpy instead of
+       stpncpy to add the trailing name.  This code is clearly
+       still suboptimal but efficiency is not that important here
+       and I tried to minimize the change.
+       * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+
+2023-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to recent Gnulib changes
+
+       The Gnulib regex module now pulls in some wide-char stuff
+       that I think Emacs doesn’t need.
+       * admin/merge-gnulib (AVOIDED_MODULES): Add iswblank, iswctype,
+       iswdigit, iswxdigit, wctype.
+
+2023-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (cl--labels-convert): Remove outdated fixme
+
+       This was fixed in commit 44d7fd3805.
+
+2023-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       842dbf500e0 * Fix `batch-byte+native-compile' target directory.
+       8dbd5aa1eef Avoid crashes in 'display_count_lines' when current buffe...
+       47b4f4cf783 ; * doc/emacs/mini.texi (Completion Commands): Fix a typo...
+       78999d52136 Update csharp tree-sitter support due to upstream changes
+       556cb01b48e Substitute command keys in 'ielm-header' at use time
+       99367078e50 ; * etc/PROBLEMS: Add entry about XIM problems (bug#65205).
+       03e897c08fa Fix rare crashes in redisplay due to problems with fontsets
+       b1ba06a1e4b Fix a typo in 'leuven-dark-theme.el'
+       e80a9dcabb9 ; * admin/git-bisect-start: Update failing commits
+       9091f42784b ; * admin/git-bisect-start: Update failing commits
+       344ac529ca9 ; * etc/PROBLEMS: Fix typo.
+       bccf848b26c Adapt Tramp test
+       71bc060e403 Properly expand the JSX indentation rules in 'js-ts-mode'
+       889cfb42ed9 * Add `emacs-lisp-native-compile' to easy-menu.
+       4535aafa8a3 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Si...
+       173af0cad51 * Introduce `emacs-lisp-native-compile'.
+       063d7d89d7a Fix the -x switch in non-X builds
+       5a7fb0b39b7 Document that `set-mouse-color' does not work everywhere
+       d06fc72496f ; * doc/emacs/dired.texi (Misc Dired Features): Fix last ...
+       97b8ac376b5 Fix the effects and documentation of 'dired-free-space'
+       75c72e59f69 ; Fix typo
+       6d11b7b3007 Fix cross-reference to eldoc in eglot manual
+       913e50aba6c Add native-compilation to Emacs Lisp mode menu
+       b93107c20b2 Fix emacs-lisp-native-compile-and-load eln target directo...
+
+2023-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       4767f5eaeed Better fix for bug#65156
+       dd1d8414b33 Fix insert-file-contents with pipes and /dev/stdin
+       50649a6d1a2 ; * etc/PROBLEMS: Fix wording.
+       f0dda682ffb ; * etc/NEWS.28: Add deletion of levents.el.
+       f4acae842c0 Fix bug#65042
+       e1874c4e8bf * configure.ac (HAVE_TREE_SITTER): Set NEED_DYNLIB=yes (b...
+       ef8838c3a5f * etc/NEWS: Mention tramp-show-ad-hoc-proxies.
+       495bee253fc * test/lisp/net/tramp-tests.el (tramp-test42-utf8): Skip ...
+       de1effd73b4 ; Fix last change
+       7c7966862bc * test/lisp/net/tramp-tests.el (tramp-test10-write-region...
+       16205e8db65 ; Improve help-echo in package.el
+       a95e7006989 ; Filter packages available for upgrade via menu bar
+       adff72dd1d2 Fix reverting Rmail buffers
+
+2023-08-12  Mattias Engdegård  <mattiase@acm.org>
+
+       rx: Better translation of char-matching patterns
+
+       Translate or-patterns that (even partially) match single characters
+       into character alternatives which are more efficient in matching,
+       sometimes algorithmically so.  Example:
+
+         (or "%" (in "a-z") space)
+
+       was previously translated to
+
+         "%\\|[a-z]\\|[[:space:]]"
+
+       but now becomes
+
+         "[%a-z[:space:]]"
+
+       Single-char patterns include `nonl` and `anychar`, which now can also
+       be used in set operations (union, complement and intersection), and
+       character classes.  For example, `(or nonl "\n")` is now equivalent to
+       `anychar`.
+
+       * lisp/emacs-lisp/rx.el (rx--expand-def): Remove, split into...
+       (rx--expand-def-form, rx--expand-def-symbol): ...these.
+       (rx--translate-compat-symbol-entry)
+       (rx--translate-compat-form-entry): New functions for handling the
+       legacy extension mechanism.
+       (rx--normalise-or-arg): Renamed to...
+       (rx--normalise-char-pattern): ...this, and rewrite.
+       (rx--all-string-or-args): Remove, split into...
+       (rx--all-string-branches-p, rx--collect-or-strings): ...these.
+       (rx--char-alt-union, rx--intersection-intervals)
+       (rx--reduce-to-char-alt, rx--optimise-or-args)
+       (rx--translate-char-alt, rx--human-readable): New.
+       (rx--translate-or, rx--translate-not, rx--translate-intersection):
+       Rewrite.
+       (rx--charset-p, rx--intervals-to-alt, rx--charset-intervals)
+       (rx--charset-union, rx--charset-intersection, rx--charset-all)
+       (rx--translate-union): Remove.
+       (rx--generate-alt): Decide whether to generate a negated character
+       alternative.
+       (rx--complement-intervals, rx--intersect-intervals)
+       (rx--union-intervals): Rename to...
+       (rx--interval-set-complement, rx--interval-set-intersection)
+       (rx--interval-set-union): ...these.
+       (rx--translate-symbol, rx--translate-form): Refactor extension
+       processing.  Handle synthetic `rx--char-alt` form.
+       * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-char-any-raw-byte)
+       (rx-any, rx-charset-or): Adapt to changes and extend.
+       * test/lisp/emacs-lisp/rx-tests.el (rx--complement-intervals)
+       (rx--union-intervals, rx--intersect-intervals): Rename to...
+       (rx--interval-set-complement, rx--interval-set-union)
+       (rx--interval-set-intersection): ...these.
+
+2023-08-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Improve dictionary-mode documentation
+
+       * lisp/net/dictionary.el (dictionary-mode): Improve docstring
+
+2023-08-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Convert dictionary-mode to define-derived-mode
+
+       * lisp/net/dictionary.el (dictionary-instances): Delete.
+       (dictionary-mode): Use define-derived-mode.
+       (dictionary--count-mode-buffers): New function.
+       (dictionary-close): Use above new function.
+
+2023-08-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove dictionary-color-support compat code
+
+       * lisp/net/dictionary.el (dictionary-color-support): Make obsolete
+       in favor of 'display-color-p'.  Update single caller.
+
+2023-08-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove compat code for XEmacs' itimer.el
+
+       * lisp/progmodes/idlwave.el (idlwave-update-routine-info)
+       (idlwave-start-load-rinfo-timer):
+       * lisp/type-break.el (type-break-cancel-function-timers)
+       (type-break-run-at-time): Remove XEmacs compat code.
+
+2023-08-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make dired-move-to-filename-regexp obsolete
+
+       * lisp/dired.el (dired-move-to-filename-regexp): Make Emacs 21
+       compatibility alias obsolete.
+
+2023-08-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       Remove superfluous check from vc-hooks.el
+
+       * lisp/vc/vc-hooks.el (vc-registered): Don't check whether
+       `file-name-handler-alist' is bound, the check is superfluous.
+
+2023-08-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Stop `use-package-report` from displaying an empty buffer
+
+       * lisp/use-package/use-package-core.el (use-package-report): Signal
+       user-error if there are no statistics to display, instead of showing
+       an empty buffer.
+
+2023-08-12  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'insert-file-contents' with non-regular files
+
+       * src/fileio.c (Finsert_file_contents): Fix the doc string.  Erase
+       only the accessible portion of the buffer, not the entire buffer.
+       (Bug#65156)
+
+2023-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update lists of non-UTF files
+
+       * .gitattributes: Don't diff text files with encodings
+       incompatible with UTF-8.  Add some new binary file extensions,
+       like '.webp'.  etc/e/eterm-direct and java/emacs.keystore
+       are also binary.
+       * admin/notes/unicode: Update similarly.
+
+2023-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (cl--labels-convert): Fix bug#65017
+
+       This fixes what I consider to be the core of the bug, by handling
+       `cl--labels-convert-cache` more carefully (i.e. being more careful how
+       we look up its value and by flushing it ASAP).
+
+2023-08-12  Po Lu  <luangruo@yahoo.com>
+
+       Improve precision pixel scrolling
+
+       * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down-page)
+       (pixel-scroll-precision-scroll-up-page): Use
+       pos-visible-in-window-p to opt between the next line or to the
+       window start rather than computing the next position by hand.
+       (pixel-scroll-precision-mode): Disable
+       make-cursor-line-fully-visible.  (bug#65214)
+       * src/image.c (jpeg_load_body): Fix crash if libjpeg detects an
+       error before ximg is initialized.
+       * src/xdisp.c (display_and_set_cursor): Don't display cursor in
+       vscrolled-away row.
+
+2023-08-12  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/indent-aux.el (kill-ring-deindent-mode): Add autoload cookie.
+
+2023-08-12  Po Lu  <luangruo@yahoo.com>
+
+       Make kill-ring-deindent-mode autoloaded
+
+       * lisp/indent-aux.el
+       (kill-ring-deindent-buffer-substring-function)
+       (kill-ring-deindent-mode, indent-aux):
+       * lisp/simple.el (kill-ring-deindent-buffer-substring-function)
+       (kill-ring-deindent-mode): Move kill-ring-deindent-mode to
+       indent-aux.el.
+
+2023-08-12  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Unbreak project-find-file's future history when cpd is not root
+
+       * lisp/progmodes/project.el (project-find-file): Pass in
+       buffer-file-name as absolute name (bug#63829).
+       (project--read-file-cpd-relative): Make it relative to the
+       appropriate common parent dir.
+
+2023-08-12  Dmitry Gutov  <dmitry@gutov.dev>
+
+       xref-find-references-and-replace: Use identifier-at-point in prompt
+
+       * lisp/progmodes/xref.el (xref-find-references-and-replace):
+       Use identifier-at-point in prompt as defined by backend (bug#63939).
+
+2023-08-12  Dmitry Gutov  <dmitry@gutov.dev>
+
+       (project--keymap-prompt): Use help-key-binding face
+
+       * lisp/progmodes/project.el (project--keymap-prompt): Use
+       help-key-binding face and adjust the prompt to fit (bug#64799).
+
+2023-08-11  Po Lu  <luangruo@yahoo.com>
+
+       Improve kill-ring-deindent-mode
+
+       * etc/NEWS:
+       * lisp/simple.el (kill-ring-deindent-buffer-substring-function):
+       (kill-ring-deindent-mode): Deindent by the column number at BEG
+       in lieu of the indentation at BEG.
+
+2023-08-11  Po Lu  <luangruo@yahoo.com>
+
+       New global minor mode `kill-ring-deindent-mode'
+
+       * etc/NEWS: Announce the new minor mode.
+
+       * lisp/simple.el (kill-ring-deindent-buffer-substring-function):
+       New function.
+       (kill-ring-deindent-mode): New minor mode, for trimming excess
+       indentation from saved text.
+
+2023-08-11  Po Lu  <luangruo@yahoo.com>
+
+       Minor adjustments to Android port
+
+       * java/org/gnu/emacs/EmacsService.java (readDirectoryEntry):
+       Also refrain from returning NULL or file names containing
+       non-representable NULL bytes.
+       * src/callproc.c (get_current_directory): Clean up by employing
+       android_is_special_directory.
+
+2023-08-11  Po Lu  <luangruo@yahoo.com>
+
+       Repair mailutils configury
+
+       * configure.ac (with_mailutils): When processing defaults,
+       set to yes-unless-android if with_features.
+       (HAVE_MAILUTILS): Later, disable Mailutils if yes-on-android
+       and with_android is set.  This is the minimal Emacs build
+       for the build machine.  (bug#65190)
+
+2023-08-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Return separators from 'eshell-split-commands' directly when requested
+
+       This eliminates the need for using a dynamically-bound variable to
+       hold the list of separators.
+
+       * lisp/eshell/esh-cmd.el (eshell--sep-terms): Remove.
+       (eshell-split-commands): New function, adapted from
+       'eshell-separate-commands'.
+       (eshell-separate-commands): Make obsolete, and call
+       'eshell-split-commands'.
+       (eshell-parse-command, eshell-parse-pipeline): Use
+       'eshell-split-commands'.
+
+       * lisp/eshell/esh-arg.el (eshell-parse-delimiter): Update comment.
+
+2023-08-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Simplify command parsing in Eshell
+
+       * lisp/eshell/esh-cmd.el (eshell-parse-command): Do all modifications
+       to each command in a single pass.
+       (eshell-parse-pipeline): Remove unncessary reversing of parsed
+       results.
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Uniformly verify sfnt_read_table_directory doesn't return TTC header
+
+       * src/sfntfont.c (sfnt_enum_font, sfntfont_read_cmap)
+       (sfnt_open_tables): Check for -1 return value from
+       sfnt_read_table_directory.
+
+2023-08-10  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Scroll up and down in image-dired
+
+       * lisp/image/image-dired.el (image-dired-scroll):
+       Function to manage scroll in image-dired.
+       (image-dired-scroll-up, image-dired-scroll-down): Scroll up and down
+       command in image-dired.
+       (image-dired-thumbnail-mode-map): Use them.  (Bug#65052)
+
+2023-08-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Streamline definition of BOOT_TIME_FILE on MS-Windows
+
+       * nt/inc/ms-w32.h: Don't define BOOT_TIME_FILE here...
+       * configure.ac: ...define it here instead, as for the other
+       systems.
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Also fix calendar-scroll-left
+
+       * lisp/calendar/cal-move.el (calendar-scroll-left): Use
+       `calendar-event-buffer' instead of assuming that EVENT's
+       posn-window is always a window.
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Repair several minor breakages
+
+       * lisp/calendar/calendar.el (calendar-event-buffer): New
+       function.
+       (calendar-cursor-to-date, calendar-other-month):
+
+       * lisp/calendar/holidays.el (calendar-list-holidays)
+       (calendar-mark-holidays):
+
+       * lisp/calendar/lunar.el (calendar-lunar-phases): Use that
+       function to derive event windows, in case these commands are
+       being called from the menu bar.
+
+       * lisp/doc-view.el (doc-view-tool-bar-map): Fix typo in help
+       text.
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS, Haiku, USG, etc builds
+
+       * configure.ac (emacs_cv_boot_time_file): Only compute this on
+       GNU/Linux, the sole system with systemd.
+       * nt/inc/ms-w32.h (BOOT_TIME_FILE): Remove now redundant #undef.
+       * src/filelock.c (get_boot_time): Eschew BOOT_TIME_FILE if not
+       defined.
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Further improve android.texi
+
+       * doc/emacs/android.texi (Android Environment): Improve
+       sectioning by replacing subsections with simple entries in the
+       concept index.
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash when reading TTC font for glyph mapping table selection
+
+       * src/sfnt.c (sfnt_read_cmap_table): Seek to the table directory
+       if DESC->offset is provided.
+       * src/sfntfont.c (sfntfont_read_cmap): Accurately verify cmap
+       subtable header size.  (bug#65185)
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Make node-less sections subsections in android.texi
+
+       * doc/emacs/android.texi (Android Environment): Change node-less
+       sections into subsections.
+
+2023-08-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix pinch gestures after toolkit menu
+
+       * src/xmenu.c (leave_toolkit_menu): Restore gesture event
+       mask.  (bug#65129)
+
+2023-08-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to random-seed move
+
+       For some time, GNU/Linux systems have put their random-seed file
+       somewhere other than where src/filelock.c looks for it.
+       Catch up to this by having 'configure' scout for it.
+       * configure.ac (BOOT_TIME_FILE):
+       Define this at configure-time.
+       * nt/inc/ms-w32.h (BOOT_TIME_FILE): Override 'configure'.
+       * src/filelock.c (BOOT_TIME_FILE): Remove default definition,
+       since 'configure' defaults it now.
+
+2023-08-09  Po Lu  <luangruo@yahoo.com>
+
+       Don't signal when I-search occurs within a kbd macro
+
+       * lisp/isearch.el (isearch-mode): Check last-event-frame is not
+       `macro' before providing it to `device-class'.  (bug#65175)
+
+2023-08-09  Alan Mackenzie  <acm@muc.de>
+
+       Remove harmful and redundant bindings from the byte compiler.
+
+       This fixes bug#65017.  Binding symbols-with-pos-enabled in two
+       macro handling functions was harmful; one of these caused
+       cl--labels-convert to fail.  Binding print-symbols-bare in many
+       places in the byte compiler was redundant.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel)
+       (byte-compile-initial-macro-environment)
+       (byte-compile-output-file-form, byte-compile-output-docform)
+       (byte-compile-preprocess): Remove bindings of
+       print-symbols-bare.
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--compiler-macro)
+       (internal-macroexpand-for-load): Remove bindings of
+       symbols-with-pos-enabled.
+       (internal-macroexpand-for-load): Remove binding of
+       print-symbols-bare.
+
+2023-08-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Faster NSString to Lisp string conversion
+
+       Since we know that the value from [NSString UTF8String] is valid
+       UTF-8, using make_string is wastefully slow.
+
+       * src/nsfns.m (count_utf8_chars): New function, at least twice as fast
+       as parse_str_as_multibyte used by make_string for this purpose.
+       ([NSString lispString]): Use count_utf8_chars.  We now always make a
+       multibyte string because there is no reason not to.
+
+2023-08-09  Eric S. Raymond  <esr@thyrsus.com>
+
+       Remove a DEFSYM that no longer needs to be in the C core.
+
+       * src/fileio.c (syms_of_fileio): Remove Qmove_file_to_trash.
+
+2023-08-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix crashes runninging android-emacs with bad LD_LIBRARY_PATH
+
+       * doc/emacs/input.texi (Touchscreens, On-Screen Keyboards): Fix
+       section titles.
+
+       * src/android-emacs.c (main): If EMACS_LD_LIBRARY_PATH is set,
+       make it LD_LIBRARY_PATH.
+
+       * src/android.c (JNICALL): Set LD_LIBRARY_PATH as well as
+       EMACS_LD_LIBRARY_PATH.
+
+2023-08-09  Po Lu  <luangruo@yahoo.com>
+
+       Improve Emacsbug output
+
+       * lisp/mail/emacsbug.el (report-emacs-bug--os-description):
+       Handle `android'.
+       (emacs-build-description): Don't print the Android build
+       fingerprint here.
+
+2023-08-09  Eric S. Raymond  <esr@thyrsus.com>
+
+       Add a string check to delete-file-internal.
+
+       * src/fileio.c (delete-file-internal): Argument should be a string.
+
+2023-08-09  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/ldefs-boot.el: Restore no-byte-compile cookie.
+
+       * doc/misc/calc.texi (Musical Notes): Fix build with Texinfo 4.13.
+
+2023-08-09  Po Lu  <luangruo@yahoo.com>
+
+       Run Git hooks within xcu4
+
+       * build-aux/git-hooks/pre-commit (LC_ALL):
+       * build-aux/git-hooks/prepare-commit-msg (SHA1): Run using xcu4
+       tools.
+
+2023-08-09  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add calling convention to face-attr-construct
+
+       * lisp/faces.el (face-attr-construct): Add
+       advertised-calling-convention declaration.
+
+2023-08-09  Po Lu  <luangruo@yahoo.com>
+
+       Don't depend on Automake to generate exec/aclocal.m4
+
+       * autogen.sh (do_git): Generate exec/aclocal.m4 by hand.
+       (bug#65160)
+
+2023-08-09  Eric S. Raymond  <esr@thyrsus.com>
+
+       Fix all my attributions to be correct and consistent...
+
+       ...in case people are trying to track me down for questions.
+
+       .mailmap, ChangeLog.1, admin/notes/copyright, doc/emacs/ChangeLog.1,
+       doc/emacs/ack.texi, doc/lispref/ChangeLog.1, doc/misc/gnus.texi,
+       etc/ChangeLog.1, lib-src/ChangeLog.1, lisp/ChangeLog.13,
+       lisp/ChangeLog.14, lisp/ChangeLog.15, lisp/ChangeLog.17,
+       lisp/ChangeLog.3, lisp/ChangeLog.4, lisp/ChangeLog.5,
+       lisp/ChangeLog.6, lisp/ChangeLog.7, lisp/emacs-lisp/lisp-mnt.el,
+       lisp/finder.el, lisp/loadhist.el, lisp/play/cookie1.el,
+       lisp/progmodes/asm-mode.el, lisp/progmodes/gud.el,
+       lisp/progmodes/make-mode.el, lisp/term/AT386.el, src/ChangeLog.3
+
+2023-08-08  Alan Third  <alan@idiocy.org>
+
+       Fix percentage sizes in SVG display (bug#64908)
+
+       * src/image.c (svg_css_length_to_pixels): Make percent units always
+       return zero and handle font size based units better.
+       (svg_load_image): Don't rely on the width and height values from the
+       SVG actually having any useful data, even if they're explicitly set.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make news-path variable obsolete
+
+       * lisp/gnus/nnspool.el (news-path): Make obsolete.
+       (nnspool-spool-directory): Don't use above obsolete variable.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make ffap compat aliases obsolete
+
+       * lisp/ffap.el (ffap-newsgroup-regexp, ffap-newsgroup-heads)
+       (ffap-newsgroup-p): Make compatibility aliases obsolete.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make lm-verify footer checking more strict
+
+       * lisp/emacs-lisp/lisp-mnt.el (lm-verify): Make file footer regexp
+       more strict to match requirement in old versions of package.el (now
+       only a warning).
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Open Pipfile and flake8 config files in conf-mode
+
+       * lisp/progmodes/python.el (auto-mode-alist): Open Pipfile and flake8
+       configuration files in conf-mode.
+
+2023-08-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Check keyword args of make-pipe-process (bug#65030)
+
+       * lisp/emacs-lisp/bytecomp.el (make-pipe-process): Add check.
+
+2023-08-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Better error for missing or bad :name arg in make-process etc
+
+       Improve on the famously bad error message given when the :name keyword
+       parameter is missing or of the wrong type in calls to make-process,
+       make-pipe-process and make-network-process (bug#65030).
+
+       * src/process.c (get_required_string_keyword_param): New function.
+       (Fmake_process, Fmake_pipe_process, Fmake_network_process): Use it.
+
+2023-08-08  Helmut Eller  <eller.helmut@gmail.com>
+
+       Check keyword args of make-process
+
+       The functions make-process and make-network-process have many
+       keyword args and it's easy to misspell some of them.
+
+       Use a compiler macro to warn about some possible mistakes.
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--check-keyword-args): New
+         helper.
+         (make-process, make-network-process): Define a compiler macro that
+         performs some checks but doesn't anything else.
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el: Add some tests.
+
+       * test/lisp/emacs-lisp/bytecomp-resources/:
+         (warn-make-process-missing-keyword-arg.el,
+          warn-make-process-missing-keyword-value.el,
+          warn-make-process-repeated-keyword-arg.el,
+          warn-make-process-unknown-keyword-arg.el): New test files
+
+2023-08-08  Ulrich Müller  <ulm@gentoo.org>
+
+       Disable json and tree-sitter with --without-all
+
+       * configure.ac (OPTION_DEFAULT_IFAVAILABLE): Disable the option if
+       --without-all was specified.  (Bug#65142)
+
+2023-08-08  David Ponce  <da_vid@orange.fr>
+
+       * lisp/tooltip.el (tooltip-cancel-delayed-tip): Fix missing argument.
+
+       This resurrects tooltips, see bug#65147.
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Repair test failures stemming from Android merge
+
+       * lisp/kmacro.el (kmacro-step-edit-query)
+       (kmacro-step-edit-pre-command): Use `dummy-event' instead of
+       [nil] to continue a kbd macro; this is because nil now has a
+       function key map.
+       * src/androidfns.c (Fx_hide_tip): Allow calling this as a stub.
+       * src/fileio.c (Finsert_file_contents): In adherence to the
+       documentation, forbid supplying a BEG offset even for seekable
+       files, i.e. /dev/urandom on Linux kernel based systems.
+
+2023-08-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Teach byte-compiler about Aristotelian identity
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-equal, byte-optimize-eq):
+       Optimise (eq X X) -> t where X is a variable; idem for eql and equal.
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
+       Add test case.
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Avoid caching file status when they are about to change
+
+       * java/org/gnu/emacs/EmacsSafThread.java (EmacsSafThread)
+       (cacheFileStatus): New argument NO_CACHE.
+       (cacheDirectoryFromCursor, statDocument1):
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (statDocument): Plumb that argument through each of these wrapper
+       functions.
+       * src/android.c (android_init_emacs_service): Adjust JNI
+       function signatures to agree with statDocument1.
+       * src/androidvfs.c (android_saf_stat): Plumb that argument
+       through here.
+       (android_saf_tree_stat, android_saf_file_open): And don't cache
+       file status if a write is imminent.
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Minor improvements to write-region heuristic
+
+       * src/androidvfs.c (android_saf_stat): Set STATB->st_dev.
+       (android_fstat): Likewise.
+       (NATIVE_NAME): Seek to start of file after truncation.
+       * src/fileio.c (write_region): Use stat instead of open+fstat
+       to obtain updated mtime.
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       * src/androidvfs.c (android_saf_file_open): Improve commentary.
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix truncation for the Android internal storage provider
+
+       * java/org/gnu/emacs/EmacsSafThread.java (openDocument1): If
+       truncate is specified while resorting to `w', try truncating the
+       file by hand.
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'savannah/master' into master-android-1
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Utilize more frequently supported file access modes
+
+       * java/org/gnu/emacs/EmacsSafThread.java (openDocument1): Use
+       plain r or w where possible, as the fileio stuff is now better
+       prepared for FIFOs.
+       (openDocument): New argument READ.
+       * java/org/gnu/emacs/EmacsService.java (openDocument): New
+       argument READ.
+       * src/android.c (android_init_emacs_service): Adjust
+       correspondingly.
+       * src/androidvfs.c (android_saf_file_open): Don't support
+       O_APPEND.  Pass read as well as trunc and write.
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Enable visiting FIFOs as files
+
+       * doc/lispref/files.texi (Reading from Files): Document new
+       `if-regular' value of REPLACE.
+
+       * etc/NEWS: Announce the new value.
+
+       * lisp/files.el (basic-save-buffer-2): Demote errors saving
+       backup files, since FIFOs cannot be copied.
+       (revert-buffer-insert-file-contents--default-function): Supply
+       `if-regular' instead of t as REPLACE.
+
+       * src/fileio.c (selinux_enabled_p): New function.
+       (Fcopy_file, Ffile_selinux_context, Fset_file_selinux_context):
+       Call that function to ascertain if SELinux applies to a file.
+       (read_non_regular): Don't assume `emacs_fd_read' always returns
+       int.
+       (Finsert_file_contents): If REPLACE is if-regular and FILENAME
+       is a special non-seekable file, fall back to erasing the buffer
+       before inserting the contents of that file.
+       (syms_of_fileio) <Qif_regular>: New symbol.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add calling convention to x-compose-font-name
+
+       * lisp/international/fontset.el (x-compose-font-name): Add
+       advertised-calling-convention for argument ignored since 22.1.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make x-font-name-charset-alist obsolete
+
+       * lisp/international/fontset.el (x-font-name-charset-alist): Make
+       obsolete.  It has been a no-op since Emacs 22.
+
+2023-08-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some emacs_fopen confusion
+
+       Problem reported by Po Lu in:
+       https://lists.gnu.org/r/emacs-devel/2023-08/msg00195.html
+       * src/comp.c (comp_hash_source_file, Fcomp__release_ctxt):
+       * src/sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
+       Be more systematic about using emacs_fclose on streams that were
+       opened with emacs_fopen or emacs_fdopen.  Do this even if not
+       Android, as this simplifies checking that it's done consistently.
+       * src/lisp.h (emacs_fclose): If it’s just fclose,
+       make it a macro rather than a function, to avoid confusing gcc
+       -Wmismatched-dealloc.
+       (emacs_fopen): Move decl here from sysstdio.h, because sysstdio.h
+       is included from non-Emacs executables and emacs_fopen is good
+       only inside Emacs.
+       * src/sysdep.c (emacs_fclose): Define as a function only if Android.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make XEmacs compat aliases for timers obsolete
+
+       * lisp/emacs-lisp/timer.el (disable-timeout, add-timeout): Make
+       XEmacs compat aliases obsolete.  Update all callers.
+
+2023-08-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix listing of directory contents after "cd" in Eshell
+
+       * lisp/eshell/em-dirs.el (eshell/cd): Ensure we don't close the I/O
+       handles prematurely.  Additionally, don't clobber the "cd" command's
+       last-command info.
+
+       * test/lisp/eshell/em-dirs-tests.el (em-dirs-test/cd):
+       (em-dirs-test/cd/list-files-after-cd): New tests (bug#65110).
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make Emacs 21 compat aliases easy-mmode-* obsolete
+
+       * lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-minor-mode)
+       (easy-mmode-define-global-mode): Make Emacs 21 compatibility aliases
+       obsolete.
+       * doc/lispref/loading.texi (Autoload):
+       * doc/lispref/modes.texi (Defining Minor Modes): Don't document
+       above obsolete aliases.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make describe-keymap tests more robust
+
+       * test/lisp/help-fns-tests.el
+       (help-fns-test-describe-keymap/symbol)
+       (help-fns-test-describe-keymap/value)
+       (help-fns-test-describe-keymap/not-keymap)
+       (help-fns-test-describe-keymap/let-bound)
+       (help-fns-test-describe-keymap/dynamically-bound-no-file): Make
+       tests independent of minibuffer-local-must-match-map.
+
+2023-08-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Delete useless conditional in describe-keymap
+
+       * lisp/help-fns.el (describe-keymap): Delete useless
+       conditional.  (Bug#65128)
+
+2023-08-08  Po Lu  <luangruo@yahoo.com>
+
+       Eschew linking Gnulib files to cross unless building for Android
+
+       * configure.ac: Don't link Gnulib files to cross unless building
+       for Android.
+
+2023-08-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify lockfile name calculation
+
+       * src/filelock.c (get_boot_time):
+       Move ‘counter’ decl to simplify #ifdef nesting.
+       (lock_file_1): Refactor two snprintf calls into one.
+       Don’t assume INT_MAX < SIZE_MAX.
+
+2023-08-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify --enable-gcc-warnings with emacs_fdopen
+
+       * src/lisp.h (emacs_fdopen): Now ATTRIBUTE_MALLOC
+       ATTRIBUTE_DEALLOC (emacs_fclose, 1), to pacify gcc
+       -Wsuggest-attribute=malloc on non-Android platforms.
+
+2023-08-07  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix configuring with --enable-checking on non-Android platforms
+
+       * configure.ac (ENABLE_CHECKING): Fix test for --with-android.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Fix mouse face display bug on MS-DOS
+
+       * src/msdos.c (tty_draw_row_with_mouse_face): Tweak coordinates to
+       reflect the number of glyphs used within the margin area.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       * nt/gnulib-cfg.mk: Excise unneeded entries.
+
+       * nt/gnulib-cfg.mk: Excise unneeded entries.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Stop tracking exec/config.h.in
+
+       * .gitignore: Add exec/config.h.in.
+
+       * exec/config.h.in: Remove from Git.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       * msdos/sed1v2.inp: Fix last change.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Fix the DJGPP build halfway
+
+       * msdos/sed1v2.inp (abs_top_builddir): Edit to .., and explain
+       why this is okay.
+       ($(abs_top_builddir)/src/lisp.mk): Edit to plain lisp.mk.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Fix the DJGPP build
+
+       * msdos/sedlibmk.inp (OMI_GNULIB_MODULE_crypto/md5): Delete
+       extraneous escape character.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Port to the Android NDK r10b
+
+       * src/androidvfs.c (android_saf_stat, android_saf_file_open)
+       (android_fstat): Eschew accessing POSIX timespec fields in
+       struct stat, employing accessors supplied in Gnulib stat-time.h
+       in their place.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Repair hang in android_fdopen
+
+       * src/androidvfs.c (android_fdopen): Do not neglect to
+       update next when iterating through open_parcel_fds.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Introduce an Android window system port for GNU Emacs
+
+       * src/xterm.h: New fields `quit_keysym' and `quit_keysym_time'.
+       * src/xterm.c (handle_one_xevent): Check for the quit keysym, and
+       set Vquit_flag upon witnessing two clicks in rapid succession.
+       (x_term_init): Set `quit_keysym'.
+       (init_xterm): Fix typo in name of `register_textconv_interface'.
+       (syms_of_xterm) <Vx_toolkit_scroll_bars>: Describe its default
+       value on android.
+
+       * src/xfns.c (xic_string_conversion_callback): Pass `0' as the
+       last argument to textconv_query.
+       (Fx_server_vendor, Fx_server_version): Document return values on
+       Android.
+
+       * src/xfaces.c (Fx_family_fonts, set_lface_from_font): Use
+       FRAME_RES instead of FRAME_RES_Y, respecting user preferences on
+       window systems that have distinct display and font scaling
+       factors.
+       (Fx_load_color_file): Call `emacs_fclose', not fclose.
+
+       * src/xdisp.c (tab_bar_item_info): Allow `close_p' to be NULL.
+       (get_tab_bar_item): Update commentary to reflect that change.
+       (get_tab_bar_item_kbd): New function, resembling get_tab_bar_item.
+       (build_desired_tool_bar_string): Clear `f->tool_bar_wraps_p';
+       insert new line characters if a QCwrap item is encountered, and
+       set f->tool_bar_wrap_p.  Replace characters beyond the end of the
+       tool bar with spaces.
+       (display_tool_bar_line): Move iterator to the next line if in
+       contact with an explicit line-wrap item.
+       (redisplay_internal): If there are newline characters in the tool
+       bar, refrain from coercing each row into being identically tall.
+       Don't call `set_tty_color_mode' on Android.
+       (mark_window_display_accurate_1): Report changes to the point and
+       mark to input methods.
+       (display_menu_bar): Adjust ifdefs to allow non-X window systems to
+       use the built-in menu bar.
+       (draw_row_with_mouse_face): Don't call TTY functions on Android.
+       (note_mouse_highlight): Call `popup_activated' on Android.
+       (expose_frame): Correctly work on the menu bar window.
+       (gui_union_rectangles): New function.
+
+       * src/window.h (struct window): New fields for recording the last
+       window and point positions, along with an ephemeral position used
+       during IM text conversion.
+       (WINDOW_MENU_BAR_P): Correct definition for non-X window systems
+       without external menu bars.
+
+       * src/window.c (replace_buffer_in_windows): Call
+       Qreplace_buffer_in_windows only when bound.
+
+       * src/w32proc.c (sys_spawnve): Pass extra argument to openp.
+
+       * src/w32font.c (fill_in_logfont): Use font scaling factor, not
+       the display scaling factor.
+
+       * src/w32.c (check_windows_init_file): Pass extra argument to
+       openp.
+
+       * src/verbose.mk.in (AM_V_JAVAC, AM_V_DX, AM_V_AAPT)
+       (AM_V_ZIPALIGN, AM_V_SILENT): New variables.
+
+       * src/textconv.h (struct textconv_interface): New `point_changed',
+       `compose_region_changed' and `notify_conversion'.
+       Add declarations for new functions.
+
+       * src/textconv.c (TEXTCONV_DEBUG): New macro.
+       (suppress_conversion_count): New variable.
+       (enum textconv_batch_edit_flags): New flag.
+       (copy_buffer): Don't overwrite text before the gap with the text
+       after.
+       (get_mark, select_window): New functions.
+       (textconv_query): New argument FLAGS.  Contingent upon its value,
+       use the previous point or mark or skip the conversion region.
+       (sync_overlay, record_buffer_change, reset_frame_state)
+       (detect_conversion_events, restore_selected_window)
+       (really_commit_text, really_finish_composing_text)
+       (really_set_composing_region, really_delete_composing_text)
+       (really_request_point_update, really_set_point_and_mark)
+       (complete_edit): New functions.
+       (struct complete_edit_check_context): New structure; store in it
+       the result of editing operations.
+       (complete_edit_check, handle_pending_conversion_events_1)
+       (decrement_inside, handle_pending_conversion_events)
+       (start_batch_edit, end_batch_edit, commit_text)
+       (set_composing_text, textconv_set_point_and_mark)
+       (request_point_update, textconv_barrier, get_extracted_text)
+       (get_surrounding_text, conversion_disabled_p)
+       (report_selected_window_change, report_point_change)
+       (disable_text_conversion, resume_text_conversion)
+       (register_textconv_interface, check_postponed_buffers)
+       (postponed_buffers, Fset_text_conversion_style)
+       (syms_of_textconv) <Qaction, Qtext_conversion, Qpush_mark,
+       Qunderline, Qoverriding_text_conversion_style,
+       Vtext_conversion_edits, Voverriding_text_conversion_style,
+       Vtext_conversion_face>: New functions, symbols and variables.
+
+       * src/terminal.c (Fterminal_live_p): Return Qandroid if type is
+       output_android.
+
+       * src/termhooks.h (enum output_method): Add `output_android'.
+       (struct terminal) <display_info>: Add union constituent field for
+       `android'.
+       <query_colors>: Define on Android as well.
+       (TERMINAL_FONT_CACHE) [HAVE_ANDROID]: Return the inappropriately
+       named font cache field on Android.
+
+       * src/term.c (string_cost, string_cost_one_line, per_line_cost)
+       (calculate_costs, produce_glyphs, produce_glyphs, tty_capable_p)
+       (tty_capable_p, device, init_tty, maybe_fatal)
+       (delete_tty) [HAVE_ANDROID]: Exclude or turn these functions into
+       vestiges.
+       (Fsuspend_tty, Fresume_tty): Call `emacs_fclose' and always signal
+       on Android.
+       (Fresume_tty): Call `emacs_fdopen'.
+       (Ftty__set_output_buffer_size) [HAVE_ANDROID]: Remove this
+       function.
+       (encode_terminal_code): Replace with a stub.
+       (init_tty, delete_tty, maybe_fatal): Call `emacs_fclose'.
+       (syms_of_term): Remove most unnecessary code on Android.
+       <system_uses_terminfo>: Always set this option on Android.
+
+       * src/sysdep.c (init_standard_fds): Call emacs_fopen.
+       (reset_sigio, widen_foreground_group): Define out on Android.
+       (reset_sys_modes): Don't call either function on Android.
+       (init_sigbus, handle_sigbus): New functions.
+       (init_signals): Don't add user signals on Android.  Register
+       signal handlers for SIGBUS, and refrain from handling SIGSEGV.
+       (emacs_fstatat): Wrap android_fstatat on Android.
+       (sys_fstat, sys_faccessat): New function.
+       (emacs_openat): Exclude this function when building libemacs.so.
+       (emacs_open, emacs_open_noquit, emacs_fopen, emacs_close): Wrap
+       functions defined in the Android filesystem emulation code.
+       (emacs_fdopen, emacs_fclose, emacs_unlink, emacs_symlink)
+       (emacs_rmdir, emacs_mkdir, emacs_renameat_noreplace, emacs_rename)
+       (emacs_fchmodat): New wrappers for more of those functions.
+       (close_output_streams): Placate the file descriptor sanitizer
+       that's included with android.
+
+       * src/sound.c (Fplay_sound_internal): Pass extra argument to openp.
+
+       * src/sfntfont.h:
+       * src/sfntfont.c:
+       * src/sfntfont-android.c:
+       * src/sfnt.h:
+       * src/sfnt.c: New files.
+       * src/scroll.c: Exclude the entire file on Android.
+
+       * src/process.c: (allocate_pty): Call sys_faccessat, not
+       faccessat.
+       (Fmake_process): Call openp with an extra argument.
+       (wait_reading_process_output): Call android_select.
+       (Fprocess_send_eof): Don't call tcdrain if not present.
+       (handle_child_signal): Write a comment describing a small, seldom
+       encountered issue.
+
+       * src/print.c (print_vectorlike): Don't print FONT_EXTRA_INDEX for
+       font entities.
+
+       * src/pdumper.c (Fdump_emacs_portable): Allow dumping in
+       interactive Emacs's on Android, as this is performed within
+       loadup.el.
+       (dump_discard_mem): Use madvise if posix_advise is not present.
+       (pdumper_load): Call sys_fstat, not fstat.
+       (syms_of_pdumper) <Vpdumper_fingerprint>: Calculate the
+       fingerprint for this Emacs executable and store it there.
+
+       * src/menu.c (have_boxes): Android has boxes.
+       (push_submenu_start, push_submenu_end): Define on Android.
+       (single_menu_item): Produce submenus on Android as well.
+       (x_popup_menu_1): Call EVENT_START, in contrast to duplicating its
+       old functionality with calls to Fcar and XCDR.
+       (Fx_popup_menu): Update documentation to reflect that touch screen
+       events are now accepted as POSITION.
+
+       * src/marker.c (set_marker_internal): Redisplay buffers when their
+       mark changes, enabling changes to be reported to the IME.
+
+       * src/lread.c (lread_fd, lread_fd_cmp, lread_fd_p, lread_close)
+       (lread_fstat, lread_read_quit, lread_lseek, file_stream)
+       (file_seek, file_stream_valid_p, file_stream_close)
+       (file_stream_invalid, getc): New macros.  Define to an
+       implementation with file descriptors and file streams on systems
+       other than Android 2.3+, and one using Android file descriptors on
+       those systems.
+       (USE_ANDROID_ASSETS): Define on Android 2.3+;
+       (file_get_char): New function.
+       (infile, skip_dyn_bytes, skip_dyn_eof, readbyte_from_stdio)
+       (read_filtered_event, safe_to_load_version, close_infile_unwind):
+       Implement in terms of those macros.
+       (close_file_unwind_android_fd): New function.
+       (Fload): Pass extra argument to `openp' and use Android file
+       descriptors where possible.
+       (Flocate_file_internal): Pass extra argument to `openp'.
+       (maybe_swap_for_eln1): Call sys_fstat, not fstat.
+       (openp): New arg PLATFORM; if supplied and opening a
+       platform-specific file descriptor replacement is possible, place
+       one there.
+       (build_load_history): Fix typos in comments.
+       (skip_lazy_string): Implement in terms of the aformentioned
+       macros.
+
+       * src/lisp.h: Add declarations for new functions.
+       * src/keyboard.h (reading_key_sequence): Declare here.
+       (EVENT_START): Treat touch screen events specially by returning
+       the posn of their touch point.
+
+       * src/keyboard.c (reading_key_sequence, menu_bar_touch_id): New
+       variables.
+       (command_loop_1):
+       (read_menu_command): Pass false to read_key_sequence.
+       (read_char): Update commentary.
+       (readable_events): If text conversion events (edits from an input
+       method) are queued, return 1.
+       (kbd_buffer_get_event): If text conversion events exist, carry out
+       the edits contained within.  Then, generate a Qtext_conversion
+       event.
+       (lispy_function_keys, FUNCTION_KEY_OFFSET): Define function key
+       array on Android.
+       (coords_in_tab_bar_window): New function.
+       (make_lispy_event) <TOUCHSCREEN_BEGIN_EVENT>: Keep track of
+       touches that fall into the confines of the tab bar, and include
+       the tab bar item in their position lists.  Moreover, retain and
+       track the touch in C code if it's taking place within the menu
+       bar.
+       <TOUCHSCREEN_END_EVENT>: Likewise for the tab bar; generate menu
+       bar events if the touch ends on a menu item and was previously
+       singled out for tracking.
+       <TOUCHSCREEN_UPDATE_EVENT>: Don't deliver this event if the frame
+       is dead, or if it was identified for tracking since the only touch
+       sequence that changed begun inside the menu bar.
+       (handle_async_input): Call android_check_query_urgent.
+       (handle_input_available_signal): Add memory fence.
+       (parse_tool_bar_item): Handle `wrap' properties within tool bar
+       items moving subsequent items onto a new row.
+       (access_keymap_keyremap): New arguments START, END, KEYBUF.
+       Set Qcurrent_key_remap_sequence around calls to the remap
+       function.
+       (keyremap_step): Pass the necessary information to
+       access_keymap_keyremap.
+       (restore_reading_key_sequence): New function.
+       (read_key_sequence): Set `reading_key_sequence'.  New arg
+       DISABLE_TEXT_CONVERSION_P, which causes text conversion to be
+       disabled as long as the key sequence is being read.  Disable text
+       conversion as well if a menu or function key prefix is read,
+       insert imaginary prefix keys before touchscreen events within
+       special areas of a frame.  Don't insert prefix keys if input is
+       being mocked, which transpires if the input is in actuality
+       originating from a key translation map.
+       (read_key_sequence_vs): New argument DISABLE_TEXT_CONVERSION.
+       (Fread_key_sequence): New argument DISABLE_TEXT_CONVERSION.
+       (Fopen_dribble_file): Use emacs_fclose.
+       (head_table): Make touchscreen-begin and touchscreen-end events
+       touchscreen events.
+       (syms_of_keyboard) <QCwrap, Qtouchscreen, Qtext_conversion>: New
+       symbols.
+       <disable_inhibit_text_conversion, Vcurrent_key_remap_sequence>:
+       New variables.
+
+       * src/inotify.c (Finotify_add_watch): Detect and avoid watching
+       special files that don't exist from the POV of inotify.
+
+       * src/image.c (image_create_bitmap_from_data)
+       (image_create_bitmap_from_file, free_bitmap_record)
+       (prepare_image_for_display, image_clear_image_1)
+       (image_clear_image_1, image_size_in_bytes, image_set_transform):
+       (Create_Pixmap_From_Bitmap_Data, lookup_rgb_color)
+       (image_to_emacs_colors, image_from_emacs_colors)
+       (image_pixmap_draw_cross, image_disable_image): Implement on
+       Android, reusing much of the X11 code.
+       (matrix_identity, matrix_rotate, matrix_mirror_horizontal)
+       (matrix_translate): New functions.
+       (x_check_image_size, x_create_x_image_and_pixmap)
+       (x_destroy_x_image, image_check_image_size)
+       (image_create_x_image_and_pixmap_1, image_destroy_x_image)
+       (gui_put_x_image, image_get_x_image, image_unget_x_image):
+       Implement on Android.
+       (image_find_image_fd): Return an Android file descriptor if
+       possible.
+       (close_android_fd): New function.
+       (slurp_file): Accept `image_fds', defined to Android file
+       descriptors.
+       (xpm_load): Enable built-in XPM support on Android.
+       (xbm_load, pbm_load, png_load_body, jpeg_load_body, gif_load)
+       (webp_load, imagemagick_load_image, svg_load): Use image file
+       descriptors on Android; these file descriptors may in fact
+       represent compressed asset streams, and obviate the necessity of
+       creating a new file descriptor for each asset image opened.
+       (Fimage_transforms_p): Report rotate90 on Android.
+       (image_types, syms_of_image): Enable built-in XPM support on
+       Android.
+
+       * src/fringe.c (init_fringe_bitmap): Bit swap bitmaps on Android,
+       as on X.
+
+       * src/frame.h (enum text_conversion_operation): New enumerator.
+       (struct text_conversion_action, struct text_conversion_state): New
+       variable.
+       (struct frame): New fields `tool_bar_wraps_p' and `conversion'.
+       Increase the width of `output_method'.
+       <output_data>: Add `android' field.
+       <wait_event_type>: Define on Android as well.
+       (fset_menu_bar_window): Define correctly, so that it's declared on
+       non-X builds without external menu bars.
+       (FRAME_ANDROID_P): Define macro.
+       (FRAME_WINDOW_P) [HAVE_ANDROID]: Define to FRAME_ANDROID_P.
+       (FRAME_RES): New macro.
+       (MOUSE_HL_INFO): Define without referencing tty output data on
+       Android, which doesn't have them.
+
+       * src/frame.c (Fframep): Return `android' on Android systems.
+       (Fwindow_system): Likewise.
+       (make_frame): Clear text conversion state and `tool_bar_wraps_p'.
+       (Fmake_terminal_frame): Signal that Android doesn't support text
+       terminals.
+       (delete_frame): Reset text conversion state prior to deleting the
+       frame.
+       (gui_display_get_resource): Don't call the resource hook on
+       Android.
+       (Fx_parse_geometry): Pacify compiler warning.
+       (make_monitor_attribute_list): Don't always use SOURCE if nil.
+       (syms_of_frame) <Qandroid>: New symbol.
+       <Vdefault_frame_scroll_bars>: Don't default scroll bars to an
+       enabled state on Android.
+
+       * src/fontset.c (fontset_find_font): Tackle an unusual problem.
+       * src/font.h (struct font_entity): New field `is_android'.
+       (PT_PER_INCH): Define to 160.00 on Android.
+
+       * src/font.c (font_make_entity): New function.
+       (font_make_entity_android): New variant that sets `is_android' to
+       true.
+       (font_pixel_size, font_find_for_lface, font_open_for_lface)
+       (Ffont_face_attributes, Fopen_font): Respect the distinction
+       between frame text and display scales.
+
+       * src/fns.c (Flocale_info): Silence compiler warning.
+
+       * src/filelock.c (BOOT_TIME): Undefine BOOT_TIME when building
+       libemacs.so
+       (get_boot_time, rename_lock_file, create_lock_file)
+       (current_lock_owner, make_lock_file_name, unlock_file): Employ
+       wrappers for Android filesystem operations.
+
+       * src/fileio.c (emacs_fd, emacs_fd_open, emacs_fd_close)
+       (emacs_fd_read, emacs_fd_lseek, emacs_fd_fstat, emacs_fd_valid_p):
+       New type and macros; define them to suitable values, akin to those
+       in lread.c
+       (check_vfs_filename): New function.
+       (file_access_p): Call `sys_faccessat'.
+       (close_file_unwind_emacs_fd): New function.
+       (fclose_unwind): Call `emacs_fclose', not fclose.
+       (file_name_directory): Export this function.
+       (user_homedir): If PW->pw_dir is not set and its uid is the
+       current user, call `android_get_home_directory'.
+       (get_homedir): Call `android_get_home_directory' if PW->pw_dir is
+       not set.
+       (Fcopy_file, Fmake_directory_internal, Fdelete_directory_internal)
+       (Fdelete_file, Frename_file, Fmake_symbolic_link, Faccess_file)
+       (file_directory_p, file_accessible_directory_p, Fset_file_modes)
+       (Fset_file_times, Ffile_newer_than_file_p, read_non_regular)
+       (Finsert_file_contents, write_region)
+       (Fverify_visited_file_modtime, Fset_visited_file_modtime)
+       (do_auto_save_unwind): Make use of Android filesystem wrappers and
+       file descriptors where possible.
+       (Fadd_name_to_file): Prohibit creating links to and from files
+       residing on Android special directories.
+       (Ffile_system_info): Avoid compilation failure on Android, where
+       Gnulib can't find out how to implement statfs.
+
+       * src/epaths.in [HAVE_ANDROID && !ANDROID_STUBIFY]: Deface this
+       file, so Makefile cannot change the hard-coded values within.
+
+       * src/emacs.c (using_utf8): Correctly initialize mbstate_t on
+       Android.
+       (init_cmdargs): Pass extra argument to openp.
+       (load_pdump): When building libemacs.so, use solely the file
+       provided on the command line or as an argument to
+       `android_emacs_init'.
+       (load_seccomp): Call sys_fstat, not fstat.
+       (main, android_emacs_init): Name `main' `android_emacs_init' when
+       building libemacs.so, and accept an argument designating the dump
+       file.
+       (main): Initialize text conversion and Android.  Don't presume
+       that argv is NULL terminated.
+       (Fkill_emacs, shut_down_emacs): Properly implement RESTART on
+       Android.
+       (syms_of_emacs) <Vsystem_type>: Describe the possible value
+       `android'.
+
+       * src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT): Cease relying
+       on GCC clean-up attribute extension.
+       (MODULE_INTERNAL_CLEANUP): New macro.
+       (module_make_global_ref, module_free_global_ref)
+       (module_make_function, module_get_function_finalizer)
+       (module_make_interactive, module_funcall, module_extract_integer)
+       (module_extract_float, module_copy_string_contents)
+       (module_get_user_ptr, module_set_user_ptr)
+       (module_get_user_finalizer, module_set_user_finalizer)
+       (module_vec_set, module_vec_size, module_process_input)
+       (module_extract_big_integer, module_make_big_integer): Carry out
+       necessary clean-up tasks using MODULE_HANDLE_NONLOCAL_EXIT.
+
+       * src/editfns.c (Fuser_full_name): Call `android_user_full_name',
+       as USER_FULL_NAME doesn't always work.
+
+       * src/doc.c (doc_fd, doc_fd_p, doc_open, doc_read_quit)
+       (doc_lseek): New types and macros, resembling those in lread.c.
+       (get_doc_string, Fsnarf_documentation): Implement in terms of
+       those macros, so as to use Android asset streams directly.
+
+       * src/dispnew.c (clear_current_matrices, clear_desired_matrices)
+       (allocate_matrices_for_window_redisplay, free_glyphs)
+       (redraw_frame, update_frame, scrolling, update_frame_line):
+       Disable support for text terminals when building for Android.
+       (Fopen_termscript): Use emacs_fclose.
+       (init_display_interactive): Set Vinitial_window_system to
+       Qandroid, and lose if Emacs needs to create a text terminal.
+
+       * src/dispextern.h (No_Cursor, Emacs_Rectangle, struct gui_box):
+       New definitions.
+       (struct glyph_string) <gc>: Define to the Android GC type.
+       (HAVE_NATIVE_TRANSPHORMS): Define on Android.
+       (struct image): New fields `ximg', `mask_img', as on X.
+       (enum tool_bar_item_idx): New tool bar item property
+       TOOL_BAR_ITEM_WRAP.
+
+       * src/dired.c (emacs_dir, emacs_closedir, emacs_readdir): New
+       typedef and definitions.
+       (open_directory): Return emacs_dir; use android_opendir on
+       Android, instead of at-funcs.
+       (directory_files_internal_unwind): Call emacs_closedir.
+       (read_dirent): Call emacs_readdir.
+       (directory_files_internal, file_name_completion)
+       (file_name_completion_dirp): Use Android wrappers for directories
+       and files.
+       (file_attributes): Abstain from openat on Android.
+
+       * src/conf_post.h (MB_CUR_MAX): Define to REPLACEMENT_MB_CUR_MAX
+       if necessary to counteract inept LLVM headers.
+
+       * src/coding.h (from_unicode_buffer): Define if HAVE_ANDROID as
+       well.
+
+       * src/coding.c (from_unicode_buffer): Define on Android, creating
+       a variant that understands UCS-16 extended into wchar_t.
+       (syms_of_coding) <Qutf_16le>: Define on Android.
+
+       * src/charset.c (load_charset_map_from_file): Supply extra
+       argument to openp, and call Emacs wrappers for fdopen and fclose.
+
+       * src/callproc.c (get_current_directory): Return the home
+       directory if ENCODED is a special directory.
+       (delete_temp_file): Call emacs_unlink in lieu of unlink.
+       (call_process): Use openp.
+       (emacs_spawn): Use Android executable loader binary if needed and
+       enabled.
+       (init_callproc): Set Vshell_file_name to /system/bin/sh if
+       libemacs.so.
+       (syms_of_callproc) <Vctags_program_name, Vetags_program_name,
+       Vhexl_program_name, Vemacsclient_program_name,
+       Vmovemail_program_name>: New variables.  Define to the names of
+       the programs they respectively stand for.
+
+       * src/callint.c (Fcall_interactively): Supply new argument in
+       calls to Fread_key_sequence and Fread_key_sequence_vector.
+
+       * src/buffer.h (struct buffer) <text_conversion_style_>: New bvar.
+       (bset_text_conversion_style): New bvar setter.
+
+       * src/buffer.c (init_buffer_once): Set the text conversion style.
+       (syms_of_buffer) <BVAR (current_buffer, text_conversion_style)>:
+       Define new BLV.
+
+       * src/androidvfs.c:
+       * src/androidterm.h:
+       * src/androidterm.c:
+       * src/androidselect.c:
+       * src/androidmenu.c:
+       * src/androidgui.h:
+       * src/androidfont.c:
+       * src/androidfns.c:
+       * src/android.h:
+       * src/android.c:
+       * src/android-emacs.c:
+       * src/android-asset.h: New function.
+
+       * src/alloc.c (cleanup_vector): Finalize Android font entities.
+       (find_string_data_in_pure) [__i386__ && !__clang__]: On Android,
+       compensate for a bug in the latest NDK GCC.
+       (mark_pinned_symbols, android_make_lisp_symbol): Elude another
+       bug in debuginfo generation with an almost nonsensical fix.
+       (garbage_collect): Mark androidterm and sfntfont.
+       (mark_frame): Mark text conversion actions and info.
+
+       * src/Makefile.in (XCONFIGURE): New variable.  If set, add srcdir
+       to vpath.
+       (hostlib): New variable, always defined to libgnu.a on the build
+       machine.
+       (GIF_CFLAGS, JPEG_CFLAGS, TIFF_CFLAGS, SQLITE3_CFLAGS)
+       (LIBSELINUX_CFLAGS, ANDROID_OBJ, ANDROID_LIBS, ANDROID_LDFLAGS)
+       (ANDROID_BUILD_CFLAGS, LIBGMP_CFLAGS): New variables.
+       (CM_OBJ): Update commentary.
+       (EMACS_CFLAGS): Add new compiler flags variables.
+       (base_obj): Add ANDROID_OBJ.
+       (SOME_MACHINE_OBJECTS): Add Android-related objects.
+       (lisp.mk): Generate from its absolute file name.
+       ($(lispsource)/international/charprop.el): Don't generate when
+       building libemacs.so.
+       ($(libsrc)/make-docfile$(EXEEXT)
+       $(libsrc)/make-fingerprint$(EXEEXT)): Depend on libgnu.a on the
+       build machine.
+       (mostlyclean): Remove libemacs.so.
+       (build-counter.c, libemacs.so, android-emacs): New targets.  These
+       targets are made from this Makefile copied to a subdirectory of
+       `cross', and provide the Emacs library and an ancillary binary
+       used by the Android port.
+
+       * nt/mingw-cfg.site:
+       * nt/gnulib-cfg.mk: Impede building Gnulib's vasnprintf* code.
+
+       * msdos/sedlibmk.inp:
+       * msdos/sedlibcf.inp:
+       * msdos/sed3v2.inp:
+       * msdos/sed1v2.inp: Fix the DJGPP build.
+
+       * make-dist (possibly_non_vc_files): Add exec/configure and
+       exec/config.h.in.
+
+       * m4/ndk-build.m4: New file.
+
+       * m4/getline.m4:
+       * m4/getdelim.m4:
+       * m4/asm-underscore.m4: Update from Gnulib.
+
+       * lisp/wid-edit.el (widget-event-point): Treat touch screen events
+       correctly.
+       (widget-keymap): Map touchscreen-begin to widget-button-click.
+       (widget-event-start): New function.
+       (widget-button--check-and-call-button):
+       (widget-button-click): Behave correctly when confronted by touch
+       screen events.
+
+       * lisp/version.el (android-read-build-system)
+       (android_read_build_time): New functions.
+       (emacs-build-system, emacs-repository-version-android)
+       (emacs-repository-get-version):
+       (emacs-repository-get-branch): Implement properly on Android, by
+       reading a file generated during the packaging process.
+
+       * lisp/touch-screen.el: New file, supplying support for
+       translating raw touch screen events into gestures.
+
+       * lisp/tool-bar.el (secondary-tool-bar-map): New defvar.
+       (tool-bar--cache-key, tool-bar--secondary-cache-key): Make
+       defsubsts.
+       (tool-bar--flush-key): Flush caches for the secondary tool bar as
+       well.
+       (tool-bar-make-keymap, tool-bar-make-keymap-1): Append the
+       secondary tool bar map below the primary tool bar map.
+       (modifier-bar-modifier-list): New variable.
+       (tool-bar-apply-modifiers, modifier-bar-button)
+       (tool-bar-event-apply-alt-modifier)
+       (tool-bar-event-apply-super-modifier)
+       (tool-bar-event-apply-hyper-modifier)
+       (tool-bar-event-apply-shift-modifier)
+       (tool-bar-event-apply-control-modifier)
+       (tool-bar-event-apply-meta-modifier, modifier-bar-available-p)
+       (modifier-bar-mode): New functions.
+
+       * lisp/textmodes/text-mode.el (text-mode): Set
+       text-conversion-style to t.
+
+       * lisp/textmodes/reftex-global.el (reftex-create-tags-file): Use
+       etags-program-name to provide the name of the etags program.
+       * lisp/textmodes/conf-mode.el (conf-mode-initialize): Enable text
+       conversion.
+       * lisp/textmodes/artist.el (artist-figlet-get-font-list): Use
+       /system/bin/sh on Android.
+
+       * lisp/term/android-win.el: New file.
+
+       * lisp/term.el (term-mode): Always display the on screen keyboard.
+       (term-exec-1): Use /system/bin/sh on Android.
+
+       * lisp/tab-line.el (tab-line-tab-map)
+       (tab-line-new-tab)
+       (tab-line-select-tab)
+       (tab-line-close-tab)
+       (tab-line-track-tap)
+       (tab-line-event-start): Improve support for touch screen events.
+
+       * lisp/tab-bar.el (tab-bar-mouse-context-menu):
+       (tab-bar-map): Likewise.
+       (tab-bar-handle-timeout, tab-bar-touchscreen-begin): New
+       functions.
+
+       * lisp/subr.el (event-start): Don't return nonsense if EVENT is a
+       touchscreen event.
+       (event-end): Likewise.
+       (read-key): Disable text conversion within
+       read-key-sequence-vector.
+       (read-char-choice-with-read-key): Display the on screen keyboard.
+       (read-char-from-minibuffer): Disable text conversion.
+       (use-dialog-box-p): Prefer dialog boxes on Android.
+       (y-or-n-p): Disable text conversion properly under all three modes
+       of operation.
+
+       * lisp/startup.el (android-fonts-enumerated): New variable.
+       (normal-top-level): Load system fonts on Android.
+
+       * lisp/speedbar.el (speedbar-fetch-etags-command): Use
+       etags-program-name instead of hard-coding `etags'.
+
+       * lisp/simple.el (normal-erase-is-backspace-setup-frame): Return
+       true on Android.
+       (event-apply-modifier): Correctly apply Shift and Control
+       modifiers to keys with other modifiers.
+       (undo-auto-amalgamate): Mention analyze-text-conversion wrt being
+       an amalgamating command.
+
+       * lisp/shell.el (shell--command-completion-data): Don't lose
+       if PATH contains an inaccessible directory.
+
+       * lisp/progmodes/prog-mode.el (prog-mode): Enable text conversion.
+       * lisp/progmodes/cperl-mode.el (cperl-etags): Don't hard-code
+       etags, employ etags-program-name instead.
+
+       * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Initialize
+       text conversion hook.
+       * lisp/progmodes/cc-cmds.el (c-post-text-conversion): New
+       function.  Do electric characters.
+
+       * lisp/play/gamegrid.el (gamegrid-setup-default-font): Don't crash
+       if the display resolution is too high.
+
+       * lisp/play/dunnet.el (text-conversion-style):
+       * lisp/play/doctor.el (doctor-mode): Enable text conversion.
+
+       * lisp/pixel-scroll.el (pixel-scroll-precision-scroll-down-page)
+       (pixel-scroll-precision-scroll-Up-page): Make autoloads.
+
+       * lisp/org/org-ctags.el (org-ctags-path-to-ctags): Use
+       ctags-program-name, not ctags.
+
+       * lisp/obsolete/terminal.el (terminal-emulator): Start
+       /system/bin/sh, not /bin/sh.
+
+       * lisp/net/tramp.el (tramp-encoding-shell): Use /system/bin/sh on
+       Android.
+
+       * lisp/net/eww.el (eww-form-submit, eww-form-file)
+       (eww-form-checkbox, eww-form-select): Define these faces on
+       Android as well.
+
+       * lisp/net/browse-url.el (browse-url-default-browser)
+       (browse-url--browser-defcustom-type): Specify on Android.
+       (browse-url-android-share, browse-url-default-android-browser):
+       New option and function.
+
+       * lisp/mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event)
+       (mouse-wheel-left-event, mouse-wheel-right-event): Define suitably
+       on Android.
+
+       * lisp/mouse.el (minor-mode-menu-from-indicator): New argument
+       EVENT.  Use it for positioning the menu.
+       (mouse-minor-mode-menu): Pass EVENT to that function.
+
+       * lisp/minibuffer.el (clear-minibuffer-message): Don't clear the
+       message if `touch-screen-preview-select' may be underway.
+       (minibuffer-mode): Enable text conversion.
+       (minibuffer-setup-on-screen-keyboard)
+       (minibuffer-exit-on-screen-keyboard): New functions.
+
+       * lisp/menu-bar.el (menu-bar-close-window): New option.
+       (menu-bar-edit-menu): Bind execute-extended-command to a menu
+       item.
+       (kill-this-buffer, kill-this-buffer-enabled-p): Respect
+       menu-bar-close-window.
+
+       * lisp/mail/rmail.el (rmail-autodetect, rmail-insert-inbox-text):
+       Don't hard-code the name of movemail; rather, use
+       movemail-program-name.
+       * lisp/mail/emacsbug.el (emacs-build-description): Insert the
+       Android version and manufacturer.
+
+       * lisp/ls-lisp.el (ls-lisp-use-insert-directory-program): Default
+       to off on Android.
+
+       * lisp/loadup.el: Set load-list to empty load list after startup;
+       dump the first time Emacs starts, and load Android related
+       miscellanea.
+
+       * lisp/isearch.el (isearch-text-conversion-style): New variable.
+       (isearch-mode, isearch-done): Display the OSK, then temporarily
+       disable and restore the on screen keyboard.
+
+       * lisp/international/mule-cmds.el (set-coding-system-map): Update
+       menu definition for Android.
+
+       * lisp/international/fontset.el (script-representative-chars)
+       (setup-default-fontset): Improve detection of CJK fonts.
+
+       * lisp/image/wallpaper.el: Fix compiler warning.
+
+       * lisp/ielm.el (inferior-emacs-lisp-mode): Don't hard-code name of
+       hexl, replacing that with hexl-program-name.
+
+       * lisp/htmlfontify.el (hfy-etags-bin): Replace hard-coded Emacs
+       with etags-program-name.
+
+       * lisp/hexl.el (hexl-program): Replace hard-coded hexl.
+
+       * lisp/help-macro.el (make-help-screen): Display the on screen
+       keyboard and disable text conversion prior to reading options.
+
+       * lisp/gnus/mail-source.el (mail-source-movemail-program): Replace
+       hard-coded movemail with movemail-program-name.
+
+       * lisp/gnus/gnus-score.el (gnus-read-char): New function.
+       (gnus-summary-increase-score): Use a dialog box to display
+       these options on Android.
+
+       * lisp/frame.el (frame-geometry, frame-edges)
+       (mouse-absolute-pixel-position, set-mouse-absolute-pixel-position)
+       (frame-list-z-order, frame-restack, display-mouse-p)
+       (display-popup-menus-p, display-graphic-p, display-symbol-keys-p)
+       (display-screens, display-pixel-height, display-pixel-width)
+       (display-mm-height, display-mm-width, display-backing-store)
+       (display-save-under, display-planes, display-color-cells)
+       (display-visual-class, display-monitor-attributes-list): Implement
+       window system specific functions on Android.
+
+       * lisp/files.el (basic-save-buffer): Allow files to exist without
+       a parent directory.
+
+       * lisp/faces.el (tool-bar): Use default definition on Android.
+
+       * lisp/emacs-lisp/eldoc.el (eldoc-add-command-completions): Add
+       touch-screen-handle-touch and analyze-text-conversion.
+
+       * lisp/elec-pair.el (electric-pair-analyze-conversion): New
+       function.
+
+       * lisp/doc-view.el (doc-view-menu): Improve menu.
+       (doc-view-tool-bar-map): Add a new tool bar for Doc View.
+       (doc-view-new-search): New command.
+       (doc-view-mode): Enable that new tool bar.
+
+       * lisp/dired-aux.el (dired-do-chxxx, dired-do-chmod)
+       (dired-do-print, dired-do-shell-command, dired-do-compress-to)
+       (dired-do-create-files, dired-do-rename, dired-do-isearch)
+       (dired-do-isearch-regexp, dired-do-search)
+       (dired-do-query-replace-regexp, dired-do-find-regexp)
+       (dired-vc-next-action): Disable ``click to select'' after
+       running this command.
+       * lisp/dired.el (dired-insert-set-properties): Attach
+       click-to-select keymap to file names if necessary.
+       (dired-mode-map): Bind `touchscreen-hold' to click to select
+       mode.
+       (dired-post-do-command): New function.
+       (dired-do-delete): Call it.
+       (dired-mark-for-click, dired-enable-click-to-select-mode): New
+       functions.
+       (dired-click-to-select-mode): New minor mode.
+
+       * lisp/cus-edit.el (custom-button-mouse, custom-button-pressed)
+       (custom-display): Define faces to their default values on Android.
+
+       * lisp/comint.el (comint-mode): Enable text conversion.
+
+       * lisp/cedet/semantic/db-ebrowse.el
+       (semanticdb-create-ebrowse-database): Replace fixed ebrowse with
+       ebrowse-program-name.
+
+       * lisp/calc/calc.el (calc-mode): Display the on screen keyboard.
+       (calc): Insist on displaying the on screen keyboard.
+
+       * lisp/button.el (button-map): Bind touch screen events to
+       push-button.
+       (push-button): Deal with touch screen events.
+
+       * lisp/bindings.el (cut, paste, cut, text-conversion): New
+       bindings.
+
+       * lisp/battery.el (battery-status-function): Use
+       `battery-android'.
+       (battery-android): New function.
+
+       * lib/gnulib.mk.in:
+       * lib/getline.c:
+       * lib/getdelim.c:
+       * lib/Makefile.in: Update from Gnulib.
+
+       * lib-src/emacsclient.c (decode_options): Set `alt_display' to
+       `android'.
+
+       * lib-src/asset-directory-tool.c: New file.
+
+       * lib-src/Makefile.in: Adapt for cross-compilation.
+
+       * java/res/xml/preferences.xml:
+       * java/res/values/style.xml:
+       * java/res/values/strings.xml:
+       * java/res/values/bool.xml:
+       * java/res/values-v29/style.xml:
+       * java/res/values-v24/bool.xml:
+       * java/res/values-v19/bool.xml:
+       * java/res/values-v14/style.xml:
+       * java/res/values-v11/style.xml:
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java:
+       * java/org/gnu/emacs/EmacsWindow.java:
+       * java/org/gnu/emacs/EmacsView.java:
+       * java/org/gnu/emacs/EmacsThread.java:
+       * java/org/gnu/emacs/EmacsSurfaceView.java:
+       * java/org/gnu/emacs/EmacsService.java:
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java:
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java:
+       * java/org/gnu/emacs/EmacsSdk23FontDriver.java:
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java:
+       * java/org/gnu/emacs/EmacsSafThread.java:
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java:
+       * java/org/gnu/emacs/EmacsPixmap.java:
+       * java/org/gnu/emacs/EmacsOpenActivity.java:
+       * java/org/gnu/emacs/EmacsNoninteractive.java:
+       * java/org/gnu/emacs/EmacsNative.java:
+       * java/org/gnu/emacs/EmacsMultitaskActivity.java:
+       * java/org/gnu/emacs/EmacsLauncherPreferencesActivity.java:
+       * java/org/gnu/emacs/EmacsInputConnection.java:
+       * java/org/gnu/emacs/EmacsHolder.java:
+       * java/org/gnu/emacs/EmacsHandleObject.java:
+       * java/org/gnu/emacs/EmacsGC.java:
+       * java/org/gnu/emacs/EmacsFontDriver.java:
+       * java/org/gnu/emacs/EmacsFillRectangle.java:
+       * java/org/gnu/emacs/EmacsFillPolygon.java:
+       * java/org/gnu/emacs/EmacsDrawable.java:
+       * java/org/gnu/emacs/EmacsDrawRectangle.java:
+       * java/org/gnu/emacs/EmacsDrawPoint.java:
+       * java/org/gnu/emacs/EmacsDrawLine.java:
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java:
+       * java/org/gnu/emacs/EmacsDirectoryEntry.java:
+       * java/org/gnu/emacs/EmacsDialogButtonLayout.java:
+       * java/org/gnu/emacs/EmacsDialog.java:
+       * java/org/gnu/emacs/EmacsCursor.java:
+       * java/org/gnu/emacs/EmacsContextMenu.java:
+       * java/org/gnu/emacs/EmacsClipboard.java:
+       * java/org/gnu/emacs/EmacsApplication.java:
+       * java/org/gnu/emacs/EmacsActivity.java:
+       * java/debug.sh:
+       * java/README:
+       * java/Makefile.in:
+       * java/INSTALL:
+       * java/AndroidManifest.xml.in:
+       * exec/trace.c:
+       * exec/test.c:
+       * exec/mipsfpu.h:
+       * exec/mipsfpu.c:
+       * exec/mipsel-user.h:
+       * exec/loader-x86_64.s:
+       * exec/loader-x86.s:
+       * exec/loader-mipsel.s:
+       * exec/loader-mips64el.s:
+       * exec/loader-armeabi.s:
+       * exec/loader-aarch64.s:
+       * exec/install-sh:
+       * exec/exec1.c:
+       * exec/exec.h:
+       * exec/exec.c:
+       * exec/deps.mk:
+       * exec/configure.ac:
+       * exec/config.sub:
+       * exec/config.h.in:
+       * exec/config.guess:
+       * exec/config-mips.m4.in:
+       * exec/README:
+       * exec/Makefile.in:
+       * etc/images/last-page.xpm: New files.
+
+       * etc/PROBLEMS: Expound upon problems with font instructing on
+       Android.
+
+       * etc/NEWS: Announce changes.
+
+       * etc/MACHINES: Describe support for Android.
+
+       * etc/DEBUG: Illustrate the steps to debug Emacs on Android.
+
+       * doc/lispref/processes.texi (Subprocess Creation):
+       * doc/lispref/os.texi (System Environment):
+       * doc/lispref/keymaps.texi (Translation Keymaps):
+       (Extended Menu Items):
+       (Tool Bar):
+       * doc/lispref/frames.texi (Frames):
+       (Frame Layout):
+       (Font and Color Parameters):
+       (Pop-Up Menus):
+       (Window System Selections):
+       * doc/lispref/elisp.texi (Top):
+       * doc/lispref/display.texi (Defining Faces):
+       (Window Systems):
+       * doc/lispref/commands.texi (Touchscreen Events):
+       (Touchscreen Events):
+       (Misc Events):
+       (Key Sequence Input):
+       * doc/emacs/windows.texi (Tab Line):
+       * doc/emacs/input.texi:
+       * doc/emacs/frames.texi (Tool Bars):
+       (Tab Bars):
+       * doc/emacs/emacs.texi (Top):
+       * doc/emacs/dired.texi (Marks vs Flags):
+       * doc/emacs/android.texi:
+       * doc/emacs/Makefile.in (EMACSSOURCES): Update the documentation
+       to properly describe changes effected.
+
+       * cross/verbose.mk.android:
+       * cross/ndk-build/ndk-resolve.mk:
+       * cross/ndk-build/ndk-prebuilt-static-library.mk:
+       * cross/ndk-build/ndk-prebuilt-shared-library.mk:
+       * cross/ndk-build/ndk-clear-vars.mk:
+       * cross/ndk-build/ndk-build.mk.in:
+       * cross/ndk-build/ndk-build-static-library.mk:
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       * cross/ndk-build/ndk-build-executable.mk:
+       * cross/ndk-build/README:
+       * cross/ndk-build/Makefile.in:
+       * cross/langinfo.h:
+       * cross/README:
+       * cross/Makefile.in: New files.
+       * configure.ac: Configure Emacs for cross-compilation on Android.
+
+       * build-aux/ndk-module-extract.awk:
+       * build-aux/ndk-build-helper.mk:
+       * build-aux/ndk-build-helper-4.mk:
+       * build-aux/ndk-build-helper-3.mk:
+       * build-aux/ndk-build-helper-2.mk:
+       * build-aux/ndk-build-helper-1.mk:
+       * build-aux/makecounter.sh: New file.
+       * autogen.sh: Autogen in exec as well.
+
+       * admin/merge-gnulib (GNULIB_MODULES): Add getline, stpncpy and
+       strnlen.  Clean lib.
+
+       * README:
+       * Makefile.in:
+       * INSTALL: Update for Android.
+       * .dir-locals.el (c-mode): Add a few new types.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       * nt/mingw-cfg.site: Remove additions for Gnulib printf.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Update from Gnulib, remove printf-posix
+
+       * m4, lib: Update from Gnulib.
+
+       * msdos/sedlibmk.inp: Remove variables deleted as part of previous
+       change.
+
+       * admin/merge-gnulib (GNULIB_MODULES): Remove vasprintf and
+       printf-posix.
+
+2023-08-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mark Emacs 21 compat aliases `lm-*-mark` obsolete
+
+       * lisp/emacs-lisp/lisp-mnt.el (lm-section-mark, lm-code-mark)
+       (lm-commentary-mark, lm-history-mark): Mark Emacs 21 compatibility
+       aliases obsolete.  Update all callers to use the new name.
+
+2023-08-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Stop using printf %n
+
+       * src/emacs.c (shut_down_emacs): Don’t use printf’s "%n" format.
+       Android, MS-Windows, and OpenBSD don’t support it, and it’s easy
+       enough to do its equivalent by hand.
+
+2023-08-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix last change of 'delete-file'
+
+       * src/fileio.c (Fdelete_file_internal): Expand file name here, as
+       all primitives must.
+       (internal_delete_file): Adjust to the fact that Fdelete_file was
+       renamed.
+
+       * lisp/files.el (delete-file): Don't expand-file-name here, as
+       the called primitives already do.  Fix typo in doc string.
+
+2023-08-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsService.java (readDirectoryEntry): Fix
+       potential NULL dereference.
+
+2023-08-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsNative.java: Declare ftruncate.
+
+       * java/org/gnu/emacs/EmacsSafThread.java (openDocument1): If
+       initially opening with rwt, verify the file descriptor is really
+       writable; if not, resort to rw and truncating the file descriptor
+       by hand instead.
+
+       * src/androidvfs.c (NATIVE_NAME (ftruncate)): New function.
+       Truncate file descriptor and return whether that was successful.
+
+2023-08-06  Eric S. Raymond  <esr@thyrsus.com>
+
+       Separate filename-deletion mechanism from policy.
+
+       src/fileio.c: (delete-file-internal) Renamed from delete-file,
+                     parallel to delete-directory-internal; policy
+                     code moved to Lisp.
+       src/files.el: (delete-file) New function, holds policy logic.
+                     calls delete-file-internal.
+
+       This is a pure refactoring step, delete-file's behavior is
+       unchanged. But the C core is a little simpler now.
+
+2023-08-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Suppress some Tramp tests for OpenBSD
+
+       * test/lisp/net/tramp-tests.el (tramp--test-openbsd-p): New defun.
+       (tramp-test41-special-characters, tramp-test42-utf8): Use it.
+       (Bug#64935)
+
+2023-08-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mark Emacs 20 color support compat aliases obsolete
+
+       * lisp/faces.el (x-defined-colors, x-color-defined-p)
+       (x-color-values, x-display-color-p): Make Emacs 20 compat aliases
+       obsolete.  Update one caller to use the new names.
+       * doc/lispref/frames.texi (Color Names): Do not document above
+       obsolete aliases.
+
+2023-08-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mark unused macro defun-gmm obsolete
+
+       * lisp/gnus/gmm-utils.el (defun-gmm): Mark as obsolete.
+
+2023-08-06  Jim Porter  <jporterbugs@gmail.com>
+
+       Merge from origin/emacs-29
+
+       1e8322bb26e Fix handling of 'byte-compile-ignore-files' when nil
+
+2023-08-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidvfs.c (android_saf_tree_chmod): Repair file access
+       permissions allowed within FLAGS.
+
+2023-08-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-05  Mattias Engdegård  <mattiase@acm.org>
+
+       * test/lisp/align-resources/c-mode.erts: Make test agree with Emacs
+
+       This eliminates a failure in align-tests.  There doesn't seem to be
+       anything obviously wrong with Emacs's behaviour in this case.
+
+2023-08-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       f2b2c752a59 Fix documentation of saveplace facilities for Dired
+       4ed9d61c89a ; * lisp/tab-bar.el: Autoload cl--set-substring, as that ...
+       30976ecd8d8 ; * lisp/bindings.el (mode-line-modes): Fix typo (bug#650...
+       8574ef314c4 Fix loaddef generation with ";;;foo-autoload" cookies in ...
+       8cbd4a02a2b Delete comment saying that project.el is experimental
+
+2023-08-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Simplify rng-substq with cl-substitute
+
+       * lisp/nxml/rng-util.el (rng-substq): Simplify.
+       (cl-lib): Require.
+
+2023-08-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make eshell-redisplay into alias for redisplay
+
+       * lisp/eshell/esh-util.el (eshell-redisplay): Make into obsolete
+       function alias for 'redisplay'.  This removes a workaround for some
+       obscure bug apparently found in Emacs 21.  Update all callers.
+
+2023-08-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use file-size-human-readable in eshell
+
+       * lisp/eshell/esh-util.el (eshell-printable-size): Simplify using
+       file-size-human-readable.
+
+2023-08-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix eshell "ls" command for files larger than 1TiB
+
+       * lisp/eshell/esh-util.el (eshell-printable-size): Fix displaying file
+       sizes larger than 1 TiB or 1 TB.
+       * test/lisp/eshell/esh-util-tests.el
+       (esh-util-test/eshell-printable-size)
+       (esh-util-test/eshell-printable-size/zero)
+       (esh-util-test/eshell-printable-size/terabyte)
+       (esh-util-test/eshell-printable-size/use-colors)
+       (esh-util-test/eshell-printable-size/block-size)
+       (esh-util-test/eshell-printable-size/human-readable-arg): New tests.
+
+2023-08-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Simplify pcomplete-uniquify-list
+
+       * lisp/pcomplete.el (pcomplete-uniquify-list): Improve docstring.
+       Simplify.
+
+2023-08-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add crossref to set-default-file-modes docstring
+
+       * src/fileio.c (Fset_default_file_modes): Doc fix; add to the
+       docstring a cross-reference to with-file-modes.
+
+2023-08-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       image-dired: Fix gallery directory permissions
+
+       * lisp/image/image-dired.el (image-dired-gallery-generate): Set
+       umask to 077 before creating gallery directory.
+
+2023-08-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Allow user control on char-width of "ambiguous" characters
+
+       * src/character.c (syms_of_character) <ambiguous-width-chars>: New
+       char-table.
+
+       * lisp/international/characters.el (ambiguous-width-chars): Fill
+       the table.
+       (update-cjk-ambiguous-char-widths): New function.
+       (cjk-ambiguous-chars-are-wide): New defcustom, uses
+       'update-cjk-ambiguous-char-widths' as its :set function.
+       (use-cjk-char-width-table): Obey 'cjk-ambiguous-chars-are-wide' by
+       adding another child char-table for ambiguous-width characters,
+       where the width is set according to the option.
+
+       * lisp/language/chinese.el ("Chinese-GB", "Chinese-BIG5")
+       ("Chinese-CNS", "Chinese-EUC-TW", "Chinese-GBK"):
+       * lisp/language/japanese.el ("Japanese"):
+       * lisp/language/korean.el ("Korean"): Add new language-info slot
+       'cjk-locale-symbol'.
+
+       Bug#64420
+
+2023-08-05  Po Lu  <luangruo@yahoo.com>
+
+       * doc/lispref/commands.texi (Touchscreen Events): Fix typo.
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add ruff and flake8 to python-check-command
+
+       * lisp/progmodes/python.el (python-check-command): Add ruff and
+       flake8.
+
+2023-08-04  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix thumbnail update when thumb name is based on image content
+
+       * lisp/image/image-dired-util.el
+       (image-dired-update-thumbnail-at-point): New function to update
+       thumbnail when original image contents changed.
+       * lisp/image/image-dired-external.el
+       (image-dired-rotate-original): Use it.
+       * lisp/image/image-dired.el (image-dired-display-thumbs): Fix
+       spacing while here.  (Bug#61394)
+
+2023-08-04  Po Lu  <luangruo@yahoo.com>
+
+       Try to restore the MS Windows build
+
+       * nt/mingw-cfg.site: Impede building Gnulib's vasnprintf* code.
+
+2023-08-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't allow the `eq` and `unbind` byte-ops to commute (bug#65017)
+
+       * lisp/emacs-lisp/byte-opt.el (byte-after-unwind-ops):
+       Cease sinking `eq` past `unwind`, because that optimised away the
+       let-binding in
+
+         (let ((symbols-with-pos-enabled nil))
+           (eq x y))
+
+       and `eq` is currently sensitive to `symbols-with-pos-enabled`.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp--eq-symbols-with-pos-enabled): New test.
+
+2023-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       0f183770c56 Fix byte-compiled files that use 'bind-key' from use-package
+       acfcf7f3690 Fix "Paste from Kill Menu" in non X toolkit builds
+       04996b21241 Handle tabs in the SQL shown in the column listing
+       573fcf27122 Add new keyword to 'typescript-ts-mode'
+       db7d70d3cad ; Add commentary to 'describe-function's completion
+
+2023-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       6eddbfe33f2 Clarify the meaning of the argument of ':align-to' space ...
+       5c6a51668b0 ; * doc/misc/eshell.texi (Argument Modifiers): Fix typo i...
+       da5e05a50e8 Fix handling of ".elpaignore" file when compiling packages
+
+2023-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       0c29f53ab87 Fix 'string-pixel-width' under 'line-prefix'
+       7bbd7cae074 Fix find-dired-with-command for remote directories
+       c4a8572025e ; * etc/HISTORY: Fix Emacs 28.3 entry.
+
+2023-08-04  Po Lu  <luangruo@yahoo.com>
+
+       Optimize creation of multibyte menu items on Android
+
+       * src/androidvfs.c (android_verify_jni_string): Move to
+       android.c.
+       * src/android.c (android_verify_jni_string): New function.
+       (android_build_string): Forgo encoding menu text if TEXT is a
+       multibyte string that's also a valid JNI string.
+       * src/android.h: Update prototypes.
+
+2023-08-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp.el (tramp-skeleton-write-region): Fix scoping.
+
+       (Bug#65022)
+
+2023-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/progmodes/cc-mode.el (c-advise-fl-for-region): Fix compiler 
warning
+
+       Make sure we macro-expand `defadvice` only when we want to use it.
+
+2023-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/advice.el (defadvice): Mark as obsolete
+
+2023-08-04  Po Lu  <luangruo@yahoo.com>
+
+       Avoid encoding commonplace characters in tree names
+
+       * java/org/gnu/emacs/EmacsService.java (getDocumentTrees): Don't
+       encode some characters that need not be escaped within file
+       names.
+
+2023-08-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Register more Ruby files in auto-mode-alist
+
+       * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add fastlane and
+       Caxlsx files.
+
+2023-08-03  Po Lu  <luangruo@yahoo.com>
+
+       * src/fileio.c (check_vfs_filename): Revert earlier change.
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve SELinux handling in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-stat-file-attributes-with-selinux)
+       (tramp-stat-directory-files-and-attributes-with-selinux): New defconst.
+       (tramp-do-file-attributes-with-ls)
+       (tramp-do-file-attributes-with-stat)
+       (tramp-do-directory-files-and-attributes-with-stat): Return also
+       SELinux context.
+       (tramp-remote-selinux-p, tramp-do-copy-or-rename-file): Adapt docstring.
+
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file)
+       (tramp-sudoedit-remote-selinux-p): Adapt docstring.
+       (tramp-sudoedit-file-attributes-with-selinux): New defconst.
+       (tramp-sudoedit-handle-file-attributes): Use it.
+
+       * lisp/net/tramp.el (tramp-convert-file-attributes):
+       Extract SELinux context.
+
+2023-08-03  Felicián Németh  <felician.nemeth@gmail.com>
+
+       Eglot: send version in clientInfo (bug#62198)
+
+       * lisp/progmodes/eglot.el (eglot--version): New defconst.
+       (eglot--connect): Use it.
+
+2023-08-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add test for align-regexp
+
+       * test/lisp/align-tests.el (align-regexp): New test.
+       * test/lisp/align-resources/align-regexp.erts: New file.
+
+       * test/lisp/align-resources/c-mode.erts: Add new test case.
+
+2023-08-03  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Revert thumbnail naming for 'per-directory' storage method
+
+       * lisp/image/image-dired-util.el (image-dired-thumb-name): Revert
+       to "filename.thumb.jpg" for 'per-directory' storage.  (Bug#61394)
+
+       * lisp/image/image-dired.el (image-dired-thumbnail-storage): Fix
+       documentation.
+
+2023-08-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Fix image-dired-utils-tests after 83b6a8a5147 (bug#61394)"
+
+       This reverts commit 5efc7b22cecc0cf1e7dd2bbbc26400dba35e33ea.
+       It is no longer needed, see bug#61394.
+
+2023-08-03  Helmut Eller  <eller.helmut@gmail.com>
+
+       Improve interactive prompting for face colors
+
+       When displaying the completion candidates, show how the face would
+       look with the new foreground/background.
+
+       * lisp/faces.el (faces--string-with-color): New helper,
+       factored out from 'defined-colors-with-face-attributes'.
+       (defined-colors-with-face-attributes): Use it.
+       (read-color): Add optional argument FACE and pass
+       it to 'faces--string-with-color.'
+       (read-face-attribute): Call 'read-color' with more appropriate
+       foreground and face arguments.
+
+       * doc/lispref/minibuf.texi (High-Level Completion): Describe
+       the intention behind the arguments FOREGROUND and FACE of
+       'read-color'.  (Bug#64725)
+
+2023-08-03  Po Lu  <luangruo@yahoo.com>
+
+       Isolate fchmodat within the Android VFS layer
+
+       * src/android.h: Update prototypes.
+       * src/androidvfs.c (unix_vfs_ops, android_unix_chmod, afs_vfs_ops)
+       (android_afs_chmod, content_vfs_ops, android_content_chmod)
+       (authority_vfs_ops, android_authority_chmod, saf_root_vfs_ops)
+       (android_saf_root_chmod, saf_tree_vfs_ops, android_saf_tree_chmod)
+       (saf_file_vfs_ops, saf_new_vfs_ops, android_saf_new_chmod)
+       (root_vfs_ops): Add `chmod' to the list of functions implemented
+       by each vnode.
+       (android_fchmodat): New function.
+       * src/fileio.c (Fset_file_modes): Use `emacs_fchmodat'.
+       * src/lisp.h:
+       * src/sysdep.c (emacs_fchmodat): Delegate to android_fchmodat on
+       Android.
+
+2023-08-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Support css-ts-mode in align.el
+
+       * lisp/align.el (align-rules-list): Add css-ts-mode.
+
+2023-08-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Support python-ts-mode in align.el
+
+       * lisp/align.el (align-dq-string-modes, align-sq-string-modes)
+       (align-open-comment-modes, align-rules-list): Use python-base-mode
+       instead of python-mode.
+
+2023-08-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add latex-mode tests for align.el
+
+2023-08-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSafThread.java (CacheToplevel):
+       (EmacsSafThread):
+       (DocIdEntry):
+       (getCache):
+       (pruneCache):
+       (cacheDirectoryFromCursor):
+       (run):
+       (documentIdFromName1):
+       (statDocument1):
+       (openDocumentDirectory1):
+       (openDocument1): Introduce a file status cache and populate
+       it with files within directories as they are opened.
+       * java/org/gnu/emacs/EmacsService.java (createDocument):
+       (createDirectory):
+       (moveDocument): Invalidate the file status cache wherever
+       needed.
+       * src/fileio.c (check_vfs_filename):
+       (Fset_file_modes): Permit `set-file-modes' to silently fail
+       on asset and content files.
+
+2023-08-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add python-mode tests for align.el
+
+       * test/lisp/align-tests.el (align-python): New test.
+       * test/lisp/align-resources/python-mode.erts: New file.
+
+2023-08-02  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Subroutine names are fontified correctly in all places
+
+       Subroutine names are fontified as subroutine names even if the name is 
also
+       the name of a builtin (fixing an ancient unreported bug).  Subroutine 
name
+       are just comments in comment and pod (fixing a bug introduced recently)
+
+       * lisp/progmodes/cperl-mode.el (cperl-init-faces): Move
+       fontification of sub declarations before that of builtins.  Don't
+       override existing faces when fontifying subroutine declarations.
+       Don't fontify method calls even if the sub names match those of
+       builtins.
+
+       * test/lisp/progmodes/cperl-mode-tests.el 
(cperl-test-fontify-sub-names):
+       New tests with a subroutine name in several surroundings.
+
+       * test/lisp/progmodes/cperl-mode-resources/sub-names.pl: New resource
+       for the new test.
+
+2023-08-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add nvim and ncmpcpp to eshell-visual-commands
+
+       * lisp/eshell/em-term.el (eshell-visual-commands): Add nvim and
+       ncmpcpp.
+
+2023-08-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make use-package-statistics-mode non-interactive
+
+       * lisp/use-package/use-package-core.el
+       (use-package-statistics-mode): Make non-interactive; it only works in
+       buffers prepared by use-package-report.
+
+2023-08-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add let-alist to alist shortdoc group
+
+       * lisp/emacs-lisp/shortdoc.el (alist): Add let-alist.
+
+2023-08-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Refer to align-highlight-rule in face docstrings
+
+       * lisp/align.el (align-highlight-change-face)
+       (align-highlight-nochange-face): Refer to align-highlight-rule.
+
+2023-08-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix link to info node in prin1 docstring
+
+       * src/print.c (Fprin1): Fix linking to info node in docstring.
+
+2023-08-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Don't hardcode ruby version in interpreter-mode-alist
+
+       * lisp/progmodes/ruby-mode.el (interpreter-mode-alist): Don't hardcode
+       ruby version.  This adds support for modern versions of Ruby like
+       "ruby2.7", instead of the previously hardcoded "ruby1.9".
+
+2023-08-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       use-package: Mark Emacs 25 support code obsolete
+
+       * lisp/use-package/use-package-core.el
+       (use-package-font-lock-keywords): Make obsolete.
+       (font-lock-add-keywords): Only call for Emacs 25 or older.
+
+2023-08-02  Mattias Engdegård  <mattiase@acm.org>
+
+       rx: better not-wordchar and (syntax word) translation
+
+       * lisp/emacs-lisp/rx.el:
+       Add tables of legacy syntax.
+       (rx--translate-symbol):
+       Translate the legacy construct `not-wordchar` as (not wordchar), which
+       is more intuitively obvious.
+       * lisp/emacs-lisp/rx.el (rx--translate-syntax):
+       Generate the shorter \w and \W instead of \sw and \Sw.
+       * test/lisp/emacs-lisp/rx-tests.el (rx-atoms, rx-syntax, rx-not):
+       Adapt tests.
+
+2023-08-02  Mattias Engdegård  <mattiase@acm.org>
+
+       rx performance improvements
+
+       * lisp/emacs-lisp/rx.el (rx--generate-alt):
+       Treat the intervals and classes lists separately without joining,
+       to reduce allocation.  Handle special cases first.
+       (rx--union-intervals):
+       Implement directly instead of using intersection and complement.
+       * test/lisp/emacs-lisp/rx-tests.el (rx-any): Adapt test, as some
+       character alternatives are now slightly different.
+       (rx--complement-intervals, rx--union-intervals)
+       (rx--intersect-intervals): New unit tests.
+
+2023-08-02  Po Lu  <luangruo@yahoo.com>
+
+       Fix reporting of key events containing SYM and META
+
+       * doc/emacs/android.texi (Android)::(What is Android?):
+       (Android Startup, Android File System, Android Environment)
+       (Android Windowing, Android Fonts, Android Troubleshooting):
+       Improve section titles.
+       (Android Windowing): Describe the relation between keyboard
+       modifiers reported by Android and those in key events.
+       * java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
+       Clear META_SYM_ON and META_META_MASK when retrieving ASCII
+       characters.
+       * src/androidgui.h: Add ANDROID_META_MASK.
+       * src/androidterm.c (android_android_to_emacs_modifiers)
+       (android_emacs_to_android_modifiers): Transform META to Alt, and
+       vice versa.
+
+2023-08-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-08-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Mark Tramp test :unstable
+
+       * test/lisp/net/tramp-tests.el (tramp-test47-read-password):
+       Mark it :unstable.
+
+2023-08-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add more `tramp-suppress-trace' properties in Tramp
+
+       * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
+       Use `tramp-archive-handle-file-symlink-p'.
+       (tramp-archive-handle-file-symlink-p): New defun.
+
+       * lisp/net/tramp-cache.el (tramp-loaddefs): Don't require.
+       (tramp-get-hash-table, tramp-cache-print)
+       (tramp-dump-connection-properties): Declare `tramp-suppress-trace'
+       property.
+
+       * lisp/net/tramp-cmds.el (tramp-cleanup-dired-buffer-p)
+       (tramp-delete-tainted-remote-process-buffer-function):
+       Declare `tramp-suppress-trace' property.
+
+       * lisp/net/tramp-compat.el (tramp-loaddefs): Require.
+       (tramp-error): Declare.
+
+       * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler): Fix typo.
+
+       * lisp/net/tramp-integration.el (tramp-rfn-eshadow-setup-minibuffer)
+       (tramp-rfn-eshadow-update-overlay-regexp)
+       (tramp-rfn-eshadow-update-overlay): Declare `tramp-suppress-trace'
+       property.
+
+       * lisp/net/tramp-message.el (tramp-compat): Require (instead of
+       tramp-loaddefs.el).
+       (tramp-compat-string-replace, tramp-compat-temporary-file-directory):
+       Don't declare.
+       (tramp-byte-run--set-suppress-trace): Move to tramp.el.
+       (tramp-debug-outline-level)
+       (tramp-debug-buffer-command-completion-p, tramp-message)
+       (tramp-debug-button-action, tramp-debug-link-messages)
+       (tramp-debug-message-buttonize): Declare `tramp-suppress-trace' 
property.
+
+       * lisp/net/tramp.el (tramp-byte-run--set-suppress-trace):
+       New defun, moved from tramp-message.el.
+       (tramp-file-name-unify, tramp-file-name-equal-p)
+       (tramp-tramp-file-p, tramp-find-method, tramp-find-user)
+       (tramp-find-host, tramp-dissect-file-name)
+       (tramp-ensure-dissected-file-name, tramp-buffer-name)
+       (tramp-delete-temp-file-function, tramp-time-diff):
+       Declare `tramp-suppress-trace' property.
+
+2023-08-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android File System): Describe how to
+       access real files named /assets or /contents if so required.
+       * java/org/gnu/emacs/EmacsService.java (validAuthority):
+       * src/android.c (android_init_emacs_service):
+       * src/android.h: New function.
+       * src/androidvfs.c (android_saf_valid_authority_p): New
+       function.  Wrap the Java function.
+       (android_saf_root_stat, android_saf_root_access): Don't return
+       success if no authority by vp->authority's name exists.
+       (android_saf_tree_from_name): Check validity of string data
+       before giving it to JNI.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add tresitter modes to ibuffer-saved-filters
+
+       * lisp/ibuf-ext.el (ibuffer-saved-filters): Add tresitter modes.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add align tests for CSS
+
+       * test/lisp/align-tests.el (align-css): New test.
+       * test/lisp/align-resources/css-mode.erts: New file.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use `M-x align` toml rule also for toml-ts-mode
+
+       * lisp/align.el (align-rules-list): Add toml-ts-mode to TOML rule.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make toml-ts-mode-indent-offset into natnum
+
+       * lisp/textmodes/toml-ts-mode.el (toml-ts-mode-indent-offset):
+       Make into natnum instead of integer.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix font locking of booleans in conf-toml-mode
+
+       * lisp/textmodes/conf-mode.el (conf-toml-mode): Do not use case
+       folding when font locking.
+       * test/lisp/textmodes/conf-mode-tests.el (conf-test-toml-mode):
+       Expand test.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Add `M-x align` support to conf-toml-mode
+
+       * lisp/align.el (align-rules-list): Add rule for conf-toml-mode.
+       * test/lisp/align-resources/conf-toml-mode.erts: New file.
+       * test/lisp/align-tests.el (align-toml): New test.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Convert align-tests to use erts
+
+2023-08-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix vacuous conf-mode-test
+
+       * test/lisp/textmodes/conf-mode-tests.el (conf-test-javaprop-mode):
+       Attempt to give the test some meaning by repairing regexps,
+       and fixing it so that it passes.
+
+2023-08-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove IE9 support tag from HTML5 skeleton
+
+       This is no longer recommended in 2023, and in any case seems like
+       overkill in an otherwise bare-bones HTML5 template.
+       Ref: https://stackoverflow.com/a/6771584
+
+2023-08-01  Po Lu  <luangruo@yahoo.com>
+
+       Micro-optimize PUSHW/PUSHB
+
+       * src/sfnt.c (CHECK_STACK_AVAILABLE): New macro.
+       (PUSH):
+       (PUSH_UNCHECKED): Always define to unchecked versions,
+       even if TEST.
+       (PUSH2_UNCHECKED): New macro.
+       (NPUSHB):
+       (NPUSHW):
+       (PUSHB):
+       (PUSHW): Check the number of remaining stack elements
+       once.
+       (stack_overflow_test_args): Expect zero stack arguments.
+
+2023-08-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix stipple support on PGTK
+
+       * src/image.c (image_create_pattern_from_pixbuf): Remove function.
+       (image_bitmap_to_cr_pattern): New function.
+       (image_create_bitmap_from_data):
+       (image_create_bitmap_from_file): Create patterns with the correct
+       mask values directly from bitmap data.  Also, don't rely on GDK
+       to read XPMs, as that format isn't supported anymore.
+       * src/pgtkterm.c (pgtk_bitmap_icon): Disable already nonfunctional
+       code.
+       (pgtk_display_x_warning): Wrap warning message.
+       * src/pgtkterm.h (struct pgtk_bitmap_record): Remove `img' field.
+       (bug#64969)
+
+2023-08-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-31  Michael Albinus  <michael.albinus@gmx.de>
+
+       Optimizations on Tramp symlink handling
+
+       * lisp/net/tramp-sh.el (cl-seq): Require.
+       (tramp-perl-file-truename): Print also whether the file is a symlink.
+       (tramp-bundle-read-file-names): Rename from
+       `tramp-vc-registered-read-file-names'.  Print also the
+       `file-directory-p: value.
+       (tramp-sh-handle-make-symbolic-link): Combine two commands.  Use
+       `tramp-skeleton-make-symbolic-link'.
+       (tramp-sh-handle-file-truename): Read also "file-symlink-marker"
+       property.
+       (tramp-sh-handle-file-directory-p): Simplify if-let clause.
+       (tramp-sh-handle-file-name-all-completions): Simplify command.
+       (tramp-bundle-read-file-names): New defun.
+       (tramp-sh-handle-vc-registered, tramp-get-remote-path): Use it.
+       (tramp-open-shell): Flush "scripts" connection property.
+       (tramp-open-connection-setup-interactive-shell): Combine two commands.
+
+       * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
+       Use `tramp-skeleton-make-symbolic-link'.
+
+       * lisp/net/tramp.el (tramp-skeleton-make-symbolic-link): Rename from
+       `tramp-skeleton-handle-make-symbolic-link'.
+       (tramp-handle-file-symlink-p): Check file property
+       "file-symlink-marker".
+
+2023-07-31  Ulrich Müller  <ulm@gentoo.org>
+
+       Drop duplicate vietnamese-tcvn coding system
+
+       * lisp/language/vietnamese.el (vietnamese-vscii): Update docstring.
+       (vietnamese-tcvn, tcvn, tcvn-5712): Make them aliases of
+       vietnamese-vscii.
+       ("Vietnamese"): Drop vietnamese-tcvn from coding-system values.
+       Update docstring.
+
+       * etc/NEWS: Announce this change.
+
+2023-07-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       525d05c1b8a Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       29ef2157116 ; * lisp/textmodes/paragraphs.el: Remove leftover comment.
+       80c9f491fc8 Update to Org 9.6.7-5-gd1d0c3
+       735f3700f65 ; * src/character.c (Fstring_width): Fix last change.
+       bf83fdba9e3 ; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
+       1198cdb5567 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       2b8796eea19 Fix rx wrong-code bug: ranges starting with ^
+       ba60070b81c Backport: Fix some tree-sitter :match regexps
+       092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
+       7b9e83d3cf9 Fix bug#64923
+       0002d4f3166 Avoid spurious whitespace in the modeline of emacsclient ...
+       96d52f89444 Fix function help for advised aliases (bug#64797)
+       71419a60c37 Avoid crashes due to invalid 'mode-line-format'
+       b2cb6e82160 ; Better documentation of HOME on MS-Windows
+       54e98b5f9bd ; Clarify documentation of 'server-after-make-frame-hook'
+       d13029cdcde Avoid crashes under 'which-key-mode'
+       cb1f7db2490 ; Minor documentation fixes
+       4a687bcc20d Bump Emacs version
+
+2023-07-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
+       7b9e83d3cf9 Fix bug#64923
+
+2023-07-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       a9b28224af0 ; Last-minute changes befor releasing 29.1
+       7da1cee56b3 Update CMake support due to upstream changes (bug#64922)
+       c2d95dd00e6 Remove nullptr named node from c++-ts-mode (bug#64818)
+       4e977136d31 Make compat check also check typescript
+       906ecf442c4 ; * etc/HISTORY: Fix the 28.3 entry.
+
+2023-07-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       82d6bb66fea Update HISTORY and ChangeLog.4
+
+2023-07-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       6b00e1a197d Update AUTHORS and ChangeLog.4
+
+2023-07-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ee20b50dfed ; * lisp/progmodes/typescript-ts-mode.el (treesit-query-c...
+       2215298d90b Update JSX support due to upstream changes (bug#64647)
+       235561a2ccc Update TSX support due to upstream changes (bug#64647)
+       12ab82d3b35 ; Fix customization form of 'bookmark-watch-bookmark-file'
+       d149a4dc428 ; Improve documentation of automatic addition to minibuff...
+       42a99627948 ; Improve documentation of 'last-command-event'
+       101455cb853 ; * lisp/subr.el (ignore, always): Doc fixes.  (Bug#64776)
+
+2023-07-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       c692bbc6596 Revert "Improve commentary in nsfns.m"
+       bb885928d73 Fix NetBSD build --with-sound
+       39873d6d5d1 Fix typo in pre-filter for underline property
+
+2023-07-31  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (ISECT): Micro-optimize this instruction.
+       * src/sfntfont.c (sfnt_parse_style): Avoid GC safety problem.
+
+2023-07-31  Po Lu  <luangruo@yahoo.com>
+
+       Initialize Android API level earlier
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative):
+       * java/org/gnu/emacs/EmacsNoninteractive.java (main):
+       * java/org/gnu/emacs/EmacsService.java (run):
+       * java/org/gnu/emacs/EmacsThread.java (run):
+       * src/android.c (initEmacs, setEmacsParams): Set
+       `android_api_level' within setEmacsParams, not in initEmacs.
+       * src/androidvfs.c: Pacify compiler warnings.
+
+2023-07-31  Po Lu  <luangruo@yahoo.com>
+
+       Implement cross-directory SAF rename operations
+
+       * java/org/gnu/emacs/EmacsService.java (renameDocument): Don't
+       catch UnsupportedOperationException; handle ENOSYS in
+       android_saf_rename_document instead.
+       (moveDocument): New function.
+       * lisp/subr.el (y-or-n-p): Always change the text conversion
+       style.
+       * src/android.c (android_init_emacs_service)
+       (android_exception_check_4): New function.
+       * src/android.h: Update Java function table.
+       * src/androidvfs.c (android_saf_rename_document): Handle ENOSYS
+       here by setting errno to EXDEV.
+       (android_saf_move_document): New function.
+       (android_document_id_from_name): Take const `dir_name'.
+       (android_saf_tree_rename): Use delete-move-rename to implement
+       cross-directory renames.
+
+2023-07-31  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Avoid face attribute warnings in themes
+
+       * etc/themes/deeper-blue-theme.el (class):
+       * etc/themes/leuven-dark-theme.el (class):
+       * etc/themes/leuven-theme.el (class):
+       * etc/themes/manoj-dark-theme.el (manoj-dark):
+       * etc/themes/whiteboard-theme.el (class):
+       Use `unspecified` instead of `nil` as attribute for :background and
+       :foreground to silence HANDLE_INVALID_NIL_VALUE warning.
+
+2023-07-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix rx wrong-code bug: ranges starting with ^
+
+       (rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
+       Change it so that we get "[_-a^]" instead.
+
+       * lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
+       `^` occurring first in a non-negated character alternative.
+       * test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.
+
+2023-07-30  Earl Hyatt  <okamsn@protonmail.com>
+
+       Allow default values in 'map-let' and the pcase 'map' form
+
+       * lisp/emacs-lisp/map.el (map-let, map)
+       (map--make-pcase-bindings): Add a third argument for specifying a
+       default value, like in 'map-elt'. (Bug#49407)
+
+       * lisp/emacs-lisp/map.el (map--make-pcase-bindings): Clarify that keys
+       that aren't found aren't ignored, they actually get the value
+       nil (unless the new default value is given).  The overall pattern can
+       still fail to match if the sub-pattern for the unfound key doesn't
+       match nil.
+
+       * test/lisp/emacs-lisp/map-tests.el (test-map-let-default)
+       (test-map-plist-pcase-default, test-map-pcase-matches): Add tests,
+       including for the above item.
+
+2023-07-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       Finish Tramp reorganization
+
+       * lisp/net/tramp-compat.el (subr-x): Don't require.
+       (top): Use `function-put' but `put'.
+
+       * lisp/net/tramp-gvfs.el (tramp-dbus-function): Add declare form.
+
+       * lisp/net/tramp-message.el (tramp-byte-run--set-suppress-trace):
+       New function.  Add it to `defun-declarations-alist'.
+       (tramp-setup-debug-buffer, tramp-debug-buffer-name)
+       (tramp-get-debug-buffer, tramp-get-debug-file-name)
+       (tramp-trace-buffer-name, tramp-debug-message, tramp-message):
+       Add declare form.
+       (tramp-debug-buffer-name): Use `tramp-string-empty-or-nil-p'.
+       (tramp-test-message): New defun.
+
+       * lisp/net/tramp.el (top): Use `function-put' but `put'.
+       (tramp-file-name-user-domain, tramp-file-name-host-port)
+       (tramp-file-name-port-or-default, tramp-file-name-unify)
+       (tramp-dissect-file-name, tramp-ensure-dissected-file-name)
+       (tramp-dissect-hop-name, tramp-make-tramp-file-name)
+       (tramp-signal-hook-function, tramp-post-process-creation)
+       (tramp-read-passwd, tramp-read-passwd-without-cache)
+       (tramp-clear-passwd): Add declare form.
+       (tramp-string-empty-or-nil-p): Add ;;;###tramp-autoload cookie.
+       (tramp-test-message): Move to tramp-message.el.
+
+2023-07-30  Po Lu  <luangruo@yahoo.com>
+
+       Partially implement rename operations on SAF files
+
+       * java/org/gnu/emacs/EmacsSafThread.java
+       (postInvalidateCacheDir):
+       * java/org/gnu/emacs/EmacsService.java (renameDocument): New
+       functions.
+       * src/android.c (android_init_emacs_service):
+       * src/android.h (struct android_emacs_service): Link to new JNI
+       function.
+       * src/androidvfs.c (android_saf_rename_document): New function.
+       (android_saf_tree_rename): Implement in terms of that function
+       if possible.
+
+2023-07-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Correct directory permissions reported for VFS files
+
+       * java/org/gnu/emacs/EmacsSafThread.java (statDocument1):
+       * src/androidvfs.c (android_afs_stat, android_content_stat)
+       (android_saf_root_stat): Report search permissions for files.
+
+2023-07-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Reorganize Tramp's messages
+
+       * doc/misc/tramp.texi (Traces and Profiles): Use proper buffer
+       names.  Add tramp-debug-command-messages.
+
+       * lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
+       * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
+       * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler):
+       * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
+       * lisp/net/tramp-smb.el (tramp-smb-file-name-handler):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler):
+       Set `tramp-debug-message-fnh-function'.
+
+       * lisp/net/tramp.el (tramp-file-name-handler):
+       * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
+       * lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+       * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
+       * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
+       * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
+       Wrap code `with-tramp-debug-message'.
+
+       * lisp/net/tramp-message.el: New file.
+
+       * lisp/net/tramp.el (tramp-message): Require.
+       (tramp-verbose, tramp-debug-to-file, tramp-debug-buffer-name)
+       (tramp-debug-outline-regexp, tramp-debug-font-lock-keywords)
+       (tramp-debug-outline-level)
+       (tramp-debug-buffer-command-completion-p)
+       (tramp-setup-debug-buffer, tramp-get-debug-buffer)
+       (tramp-get-debug-file-name, tramp-trace-buffer-name)
+       (tramp-trace-functions, tramp-debug-message, tramp-message)
+       (tramp-backtrace, tramp-error, tramp-error-show-message-timeout)
+       (tramp-error-with-buffer, tramp-user-error)
+       (tramp-with-demoted-errors): Move to tramp-message.el.
+       (tramp-current-connection, tramp-file-name-user-domain)
+       (tramp-file-name-host-port): Add ;;;###tramp-autoload cookie.
+       (tramp-inhibit-progress-reporter): Move down.
+       (tramp-post-process-creation): Write debug message only when there
+       is a command.
+
+       * lisp/net/trampver.el (tramp-repository-branch)
+       (tramp-repository-version): Add ;;;###tramp-autoload cookie.
+
+       * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
+       Don't bind `trace-buffer'.
+
+2023-07-29  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: fix error code in jsonrpc-error function (bug#64888)
+
+       * lisp/jsonrpc.el (jsonrpc-error): Fix error code.
+
+2023-07-29  João Távora  <joaotavora@gmail.com>
+
+       Jsonrpc: fix default value of success-fn (bug#64919)
+
+       * lisp/jsonrpc.el (jsonrpc--async-request-1): Fix default value of
+       success-fn.
+
+2023-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSafThread.java (postInvalidateCache):
+       New argument cacheName.  Remove that file from the cache.
+       (accessDocument1): Consult the storage cache as well.
+       * java/org/gnu/emacs/EmacsService.java (deleteDocument): New
+       argument NAME.
+
+       * src/android.c (android_init_emacs_service): Add new argument.
+       * src/androidvfs.c (android_saf_delete_document)
+       (android_saf_tree_rmdir, android_saf_file_unlink): Pass name of
+       file being deleted to `deleteDocument'.
+
+2023-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSafThread.java (DocIdEntry):
+       (getCacheEntry):
+       (CacheEntry):
+       (documentIdFromName1): Fix earlier change.
+
+2023-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSafThread.java (DocIdEntry)
+       (getCacheEntry, CacheEntry): Use `uptimeMillis' as the basis for
+       cache expiration.
+
+2023-07-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSafThread.java (EmacsSafThread, getCache)
+       (pruneCache1, pruneCache, cacheChild, cacheDirectoryFromCursor)
+       (documentIdFromName1, openDocumentDirectory1): Implement the
+       cache referred to by the commentary.
+       * java/org/gnu/emacs/EmacsService.java (deleteDocument):
+       Invalidate the cache upon document removal.
+       * src/androidvfs.c (android_saf_exception_check)
+       (android_document_id_from_name): Correctly preserve or set errno
+       in error cases.
+
+2023-07-29  F. Jason Park  <jp@neverwas.me>
+
+       Simplify multi-frame behavior in erc-bufbar-mode
+
+       * lisp/erc/erc-status-sidebar.el (erc-status-sidebar-singular,
+       erc-status-sidebar--singular-p): Replace option new in ERC 5.6 with
+       the latter, an internal flag.
+       (erc-status-sidebar-get-window): Use new name for option turned
+       ordinary variable `erc-status-sidebar--singular-p'.
+       (erc-status-sidebar-close): Add comment.
+       (erc-status-sidebar--open): New function containing the old body of
+       `erc-status-sidebar-open'.
+       (erc-bufbar-mode, erc-bufbar-enable, erc-bufbar-disable): Update
+       variable names.  Close sidebar window on all frames when disabling,
+       and don't set mode variable to nil when enabling.  These may have made
+       some practical sense but were illogical.  For example, it's confusing
+       to leave `erc-status-sidebar--open' in `erc--setup-buffer-hook' while
+       reporting the mode as being disabled.
+       (erc-status-sidebar-open): Move to slightly later in same file, after
+       defining `erc-bufbar-mode'.  When `erc-bufbar-mode' is active, always
+       create a sidebar if needed, even when another frame is already
+       displaying one.
+       (erc-status-toggle-sidebar): When `erc-bufbar-mode' is disabled,
+       revert to pre-5.6 behavior.  When the module is enabled, adopt new
+       behavior of ensuring the current frame shows a sidebar, even if
+       another frame already has one.
+       (erc-status-sidebar-refresh): Save and restore `window-start' in all
+       windows showing a sidebar buffer after refreshing.  Update option and
+       variable names.
+       (erc-status-sidebar-refresh-triggers): Add doc string, noting that the
+       variable is set locally when the option
+       `erc-status-sidebar-highlight-active-buffer' is non-nil.
+       (erc-status-sidebar--highlight-refresh-triggers): New variable
+       containing additional triggers enabled when the option
+       `erc-status-highlight-active-buffer' is non-nil.
+       (erc-status-sidebar--refresh-unless-input): New function to run
+       `erc-status-sidebar-refresh' unless input is pending or the selected
+       window's buffer is a minibuffer.
+       (erc-status-sidebar--post-refresh): Call `erc-status-sidebar-refresh'
+       wrapper `erc-status-sidebar--refresh-unless-input' instead.
+       (erc-status-sidebar-set-window-preserve-size): Update var name to
+       `erc-status-sidebar--singular-p'.
+       (erc-status-sidebar-mode): Run `erc-status-sidebar--post-refresh' on
+       `window-selection-change-functions' globally when highlighting active
+       buffers.  (bug#63595)
+
+2023-07-29  F. Jason Park  <jp@neverwas.me>
+
+       Fix CTCP ACTION regression in erc-fill-wrap
+
+       * lisp/erc/erc-fill.el (erc-fill--wrap-continued-message-p): Return
+       nil when current message is a CTCP ACTION.  This fixes a regression
+       introduced by 63d8b2a59a4 "Make erc-fill-wrap work with left-sided
+       stamps".
+       * test/lisp/erc/erc-fill-tests.el: (erc-fill-wrap--merge-action):
+       New test.
+       * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: New
+       test data file.  (Bug#60936)
+
+2023-07-28  Ulrich Müller  <ulm@gentoo.org>
+
+       Avoid spurious whitespace in the modeline of emacsclient frames
+
+       * lisp/bindings.el (mode-line-client): Compute 'help-echotext
+       property in advance.  (Bug#58183)
+
+2023-07-28  Tassilo Horn  <tsdh@gnu.org>
+
+       Make shell command status code checks more robust
+
+       * lisp/doc-view.el (doc-view-ghostscript-program)
+       (doc-view--revert-buffer, doc-view--pdf-outline): Compare
+       'shell-command' / 'call-process' return values with 'eql' instead of
+       '=' to cater for the situation where the process received a signal.
+
+2023-07-28  Mattias Engdegård  <mattiase@acm.org>
+
+       Clarify docs about regexp syntax-dependent character classes
+
+       * doc/lispref/searching.texi (Char Classes, Rx Constructs)
+       (Regexp Problems): Note that character classes don't take syntax
+       properties into account.
+
+2023-07-28  Mattias Engdegård  <mattiase@acm.org>
+
+       Make uniquify-tests work with out-of-tree builds and clean up
+
+       * test/lisp/uniquify-tests.el (uniquify-project-transform):
+       Set an explicit default-directory.
+       * test/lisp/uniquify-tests.el (uniquify-dirs): Remove temporary
+       directory after test.
+
+2023-07-28  Po Lu  <luangruo@yahoo.com>
+
+       Fix SAF query
+
+       * java/org/gnu/emacs/EmacsSafThread.java (documentIdFromName1):
+       Fix query argument placeholder string.
+
+2023-07-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidvfs.c (android_document_id_from_name): Don't return
+       0 if an SAF exception occurs.
+
+2023-07-28  Po Lu  <luangruo@yahoo.com>
+
+       Avoid crashes when the primary clip is empty
+
+       * src/androidselect.c (Fandroid_get_clipboard): Don't return
+       data if clipboard is empty.  Reported by Johan Widén
+       <j.e.widen@gmail.com>.
+
+2023-07-28  Po Lu  <luangruo@yahoo.com>
+
+       Allow quitting from Android content provider operations
+
+       * doc/emacs/android.texi (Android Document Providers): Say that
+       quitting is now possible.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       functions `safSyncAndReadInput', `safync' and `safPostRequest'.
+       * java/org/gnu/emacs/EmacsSafThread.java: New file.  Move
+       cancel-able SAF operations here.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService): Allow
+       quitting from most SAF operations.
+       * src/androidvfs.c (android_saf_exception_check): Return EINTR
+       if OperationCanceledException is received.
+       (android_saf_stat, android_saf_access)
+       (android_document_id_from_name, android_saf_tree_opendir_1)
+       (android_saf_file_open): Don't allow reentrant calls from async
+       input handlers.
+       (NATIVE_NAME): Implement new synchronization primitives for JNI.
+       (android_vfs_init): Initialize new class.
+
+       * src/dired.c (open_directory): Handle EINTR from opendir.
+       * src/sysdep.c: Describe which operations may return EINTR on
+       Android.
+
+2023-07-28  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix image-dired-utils-tests after 83b6a8a5147 (bug#61394)
+
+2023-07-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix userlock.el and filelock-tests in some rare cases
+
+       * lisp/userlock.el (userlock--check-content-unchanged): Don't
+       assume 'file-truename' of FILENAME is always non-nil.  It could be
+       nil if we are called from a temporary buffer where some Lisp
+       program has forcibly set 'buffer-file-name'.  (Bug#64821)
+
+       * test/src/filelock-tests.el (filelock-tests--fixture): Set
+       'buffer-file-name' to the true name of the temporary file.
+       Patch by Mattias Engdegård <mattias.engdegard@gmail.com>.
+       (filelock-tests-detect-external-change): Quote the file names
+       passed to shell commands.
+
+2023-07-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsDirectoryEntry.java
+       (EmacsDirectoryEntry): Make class final.
+       * java/org/gnu/emacs/EmacsService.java (accessDocument)
+       (openDocumentDirectory, openDocument, createDocument): Throw
+       access and IO error exceptions instead of catching them.
+       (createDirectory, deleteDocument): New functions.
+       * src/android.c (android_init_emacs_service): Add new functions.
+       * src/android.h (struct android_emacs_service): Likewise.
+       * src/androidvfs.c (android_saf_exception_check): New function.
+       Translate between Java exceptions and errno values.
+       (android_saf_stat, android_saf_access, android_saf_delete_document)
+       (struct android_saf_tree_vnode, android_document_id_from_name)
+       (android_saf_tree_name, android_saf_tree_rmdir)
+       (android_saf_tree_opendir_1, android_saf_tree_opendir)
+       (android_saf_file_open, android_saf_file_unlink)
+       (android_saf_new_open, android_saf_new_mkdir): Implement missing
+       VFS operations and derive errno values from the type of any
+       exceptions thrown.
+       (android_vfs_init): Initialize exception classes.
+       (android_mkdir, android_fstat): Remove trailing whitespace.
+
+2023-07-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix function help for advised aliases (bug#64797)
+
+       * lisp/help-fns.el (help-fns--analyze-function):
+       For aliases, use the base function name if at the end of the chain.
+       This fixes a regression introduced in d30fde6b0cc.
+
+       Reported by Michael Heerdegen.
+
+2023-07-27  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/byte-opt.el (byte-compile-trueconstp): Extend
+
+       Add skip-chars-forward, skip-chars-backward, skip-syntax-forward,
+       skip-syntax-backward, current-column, current-indentation,
+       char-syntax, syntax-class-to-char, parse-partial-sexp, goto-char,
+       forward-line, next-window, previous-window, minibuffer-window,
+       selected-frame, selected-window, standard-case-table,
+       standard-syntax-table, syntax-table, frame-first-window,
+       frame-root-window and frame-selected-window as always-true functions.
+
+2023-07-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Better compilation of char-before, backward-char and backward-word
+
+       Implement char-before, backward-char and backward-word as compiler
+       macros instead of byte-compile handlers so that the source-level
+       optimiser gets to simplify the result.  In particular, this removes
+       some branches.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
+       (byte-compile-backward-char, byte-compile-backward-word): Remove.
+       (bytecomp--char-before, bytecomp--backward-char)
+       (bytecomp--backward-word): New.
+
+2023-07-27  Andrew Tropin  <andrew@trop.in>
+
+       notifications: Allow to use Icon Naming Specification for app-icon
+
+       * doc/lispref/os.texi (Desktop Notifications): Extend meaning of
+       :app-icon.
+
+       * etc/NEWS: Allow to use Icon Naming Specification for app-icon in
+       notifications-notify.
+
+       * lisp/notifications.el (notifications-notify): Allow to use Icon
+       Naming Specification for app-icon.
+
+2023-07-27  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       New option 'image-dired-thumb-naming' (bug#61394)
+
+       * lisp/image/image-dired.el (image-dired-thumb-naming): New user
+       option to control thumbnail name.
+
+       * lisp/image/image-dired-util.el (image-dired-thumb-name): Update
+       to use new user option and compute contents SHA-1 if needed.
+       (image-dired-contents-sha1): New function to compute the SHA-1 of the
+       first 4KiB of a file.
+
+2023-07-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Document Providers): Improve
+       wording of paragraph clarifying limits on subprocesses.
+       * java/org/gnu/emacs/EmacsService.java (getDocumentTrees): Use
+       Java standard US-ASCII coding standard instead of the
+       undocumented ``ASCII'' alias.
+       (decodeFileName): Remove unused function.
+       (documentIdFromName):
+       * src/android.c (android_init_emacs_service): Take a String for
+       NAME instead of a byte array.
+       * src/androidvfs.c (android_verify_jni_string): New function.
+       (android_document_id_from_name): Verify that STRING is a valid
+       Modified UTF-8 string.
+
+2023-07-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidvfs.c (android_afs_initial):
+       (android_content_get_directory_name):
+       (android_saf_tree_name):
+       (android_saf_tree_from_name):
+       (android_vfs_init): Silence compiler warnings.
+
+2023-07-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_run_in_emacs_thread): Behave more
+       robustly if SIGIO arrives too late Emacs for Emacs to check for
+       signals, but too early to preempt a long running syscall.
+
+2023-07-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid crashes due to invalid 'mode-line-format'
+
+       * src/xdisp.c (display_mode_element, redisplay_window_error):
+       Don't take XCAR of what can be Qnil.  (Bug#64893)
+
+2023-07-27  Po Lu  <luangruo@yahoo.com>
+
+       Avoid crashes in some edge cases
+
+       * java/org/gnu/emacs/EmacsActivity.java (onActivityResult):
+       Avoid crashes in some edge cases.
+
+2023-07-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix problem with null-device in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
+       `null-device' could be nil.  Reported by Richard Copley
+       <rcopley@gmail.com>.
+
+2023-07-27  Po Lu  <luangruo@yahoo.com>
+
+       Avoid dereference of a freed vnode's operations table
+
+       * src/androidvfs.c (android_renameat_noreplace):
+       (android_rename): Free vdst using vdst->ops, not vp->ops.
+
+2023-07-27  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (ANDROID_STUBIFY): Add androidvfs.o when building
+       libemacs.so.
+       * doc/emacs/android.texi (Android): Add `Android Document Providers'.
+       (Android Startup): Update the location of the content identifier
+       directory.
+       (Android File System): Describe access to document provider
+       directories.
+       (Android Document Providers): New node.
+       * doc/emacs/emacs.texi (Top): Update the menu for the Android
+       appendix.
+       * java/Makefile.in (filename, install_temp/assets/build_info): Make
+       directory-tree depend on build_info.
+       * java/org/gnu/emacs/EmacsActivity.java (onActivityResult): New
+       function.  When a document tree is accepted, persist access to it.
+       * java/org/gnu/emacs/EmacsDirectoryEntry.java (EmacsDirectoryEntry):
+       New struct.
+       * java/org/gnu/emacs/EmacsOpenActivity.java (checkReadableOrCopy): Use
+       EmacsService.buildContentName.
+       * java/org/gnu/emacs/EmacsService.java (getEmacsView, openContentUri)
+       (checkContentUri): Remove excessive debug logging.
+       (buildContentName, getDocumentAuthorities, requestDirectoryAccess)
+       (getDocumentTrees, decodeFileName, documentIdFromName, getTreeUri)
+       (statDocument, accessDocument, openDocumentDirectory, 
readDirectoryEntry)
+       (openDocument, createDocument): New functions.
+
+       * lib-src/asset-directory-tool.c: Improve commentary by illustrating
+       the difference between directory and ordinary files.
+
+       * src/android.c (ANDROID_THROW, enum android_fd_table_entry_flags)
+       (struct android_emacs_service, android_extract_long)
+       (android_scan_directory_tree, android_is_directory)
+       (android_get_asset_name, android_url_encode, android_content_name_p)
+       (android_get_content_name, android_check_content_access, android_fstat)
+       (android_fstatat, android_file_access_p, android_hack_asset_fd_fallback)
+       (android_detect_ashmem, android_hack_asset_fd, android_close_on_exec)
+       (android_open, android_close, android_fclose, android_create_lib_link)
+       (android_faccessat, struct android_dir, android_opendir, android_dirfd)
+       (android_readdir, android_closedir, android_lookup_asset_directory_fd)
+       (android_exception_check_3, android_get_current_api_level)
+       (android_open_asset, android_close_asset, android_asset_read_quit)
+       (android_asset_read, android_asset_lseek, android_asset_fstat): Move
+       content and asset related functions to androidvfs.c.
+       (android_init_emacs_service): Obtain handles for new JNI functions.
+       (initEmacsParams): Initialize the VFS layer.
+       (android_request_directory_access): New function.
+       (android_display_toast): Remove unused function.
+
+       * src/android.h (android_get_current_api_level): Assume that
+       this function never returns less than __ANDROID_API__.
+       (struct android_emacs_service): Move `struct
+       android_emacs_service' here.
+
+       * src/androidfns.c (Fandroid_request_directory_access): New
+       interactive function.
+       (syms_of_androidfns): Register new subr.
+
+       * src/androidvfs.c (struct android_vdir, struct android_vops)
+       (struct android_vnode, struct android_special_vnode)
+       (enum android_vnode_type, struct android_cursor_class)
+       (struct emacs_directory_entry_class)
+       (struct android_parcel_file_descriptor_class)
+       (android_init_cursor_class, android_init_entry_class)
+       (android_init_fd_class, android_vfs_canonicalize_name)
+       (struct android_unix_vnode, struct android_unix_vdir, unix_vfs_ops)
+       (android_unix_name, android_unix_vnode, android_unix_open)
+       (android_unix_close, android_unix_unlink, android_unix_symlink)
+       (android_unix_rmdir, android_unix_rename, android_unix_stat)
+       (android_unix_access, android_unix_mkdir, android_unix_readdir)
+       (android_unix_closedir, android_unix_dirfd, android_unix_opendir)
+       (android_extract_long, android_scan_directory_tree)
+       (android_is_directory, android_init_assets)
+       (android_hack_asset_fd_fallback, android_detect_ashmem)
+       (android_hack_asset_fd, struct android_afs_vnode)
+       (struct android_afs_vdir, struct android_afs_open_fd, afs_vfs_ops)
+       (android_afs_name, android_afs_initial, android_close_on_exec)
+       (android_afs_open, android_afs_close, android_afs_unlink)
+       (android_afs_symlink, android_afs_rmdir, android_afs_rename)
+       (android_afs_stat, android_afs_access, android_afs_mkdir)
+       (android_afs_readdir, android_afs_closedir, android_afs_dirfd)
+       (android_afs_opendir, android_afs_get_directory_name)
+       (struct android_content_vdir, content_vfs_ops)
+       (content_directory_contents, android_content_name)
+       (android_content_open, android_content_close)
+       (android_content_unlink, android_content_symlink)
+       (android_content_rmdir, android_content_rename)
+       (android_content_stat, android_content_access)
+       (android_content_mkdir, android_content_readdir)
+       (android_content_closedir, android_content_dirfd)
+       (android_content_opendir, android_content_get_directory_name)
+       (android_content_initial, android_get_content_name)
+       (android_check_content_access, struct android_authority_vnode)
+       (authority_vfs_ops, android_authority_name, android_authority_open)
+       (android_authority_close, android_authority_unlink)
+       (android_authority_symlink, android_authority_rmdir)
+       (android_authority_rename, android_authority_stat)
+       (android_authority_access, android_authority_mkdir)
+       (android_authority_opendir, android_authority_initial)
+       (struct android_saf_root_vnode, struct android_saf_root_vdir)
+       (saf_root_vfs_ops, android_saf_root_name, android_saf_root_open)
+       (android_saf_root_close, android_saf_root_unlink)
+       (android_saf_root_symlink, android_saf_root_rmdir)
+       (android_saf_root_rename, android_saf_root_stat)
+       (android_saf_root_access, android_saf_root_mkdir)
+       (android_saf_root_readdir, android_saf_root_closedir)
+       (android_saf_root_dirfd, android_saf_root_opendir)
+       (android_saf_root_initial, android_saf_root_get_directory)
+       (android_saf_stat, android_saf_access)
+       (struct android_saf_tree_vnode, struct android_saf_tree_vdir)
+       (saf_tree_vfs_ops, android_document_id_from_name)
+       (android_saf_tree_name, android_saf_tree_open)
+       (android_saf_tree_close, android_saf_tree_unlink)
+       (android_saf_tree_symlink, android_saf_tree_rmdir)
+       (android_saf_tree_rename, android_saf_tree_stat)
+       (android_saf_tree_access, android_saf_tree_mkdir)
+       (android_saf_tree_opendir_1, android_saf_tree_readdir)
+       (android_saf_tree_closedir, android_saf_tree_dirfd)
+       (android_saf_tree_opendir, android_saf_tree_from_name)
+       (android_saf_tree_get_directory, android_saf_file_vnode)
+       (saf_file_vfs_ops, android_saf_file_name, android_saf_file_open)
+       (android_saf_file_unlink, android_saf_file_rmdir)
+       (android_saf_file_opendir, android_close_parcel_fd)
+       (android_saf_new_vnode, android_saf_new_name, android_saf_new_open)
+       (android_saf_new_unlink, android_saf_new_symlink)
+       (android_saf_new_rmdir, android_saf_new_rename)
+       (android_saf_new_stat, android_saf_new_access)
+       (android_saf_new_mkdir, android_saf_new_opendir, root_vfs_ops)
+       (special_vnodes, android_root_name, android_name_file)
+       (android_vfs_init, android_open, android_unlink, android_symlink)
+       (android_rmdir, android_mkdir, android_renameat_noreplace)
+       (android_rename, android_fstat, android_fstatat_1, android_fstatat)
+       (android_faccessat, android_fdopen, android_close, android_fclose)
+       (android_open_asset, android_close_asset, android_asset_read_quit)
+       (android_asset_read, android_asset_lseek, android_asset_fstat)
+       (android_opendir, android_dirfd, android_readdir)
+       (android_closedir): Move file system emulation routines here.
+       Introduce a new ``VFS'' layer for translating between
+       Emacs-specific file names and the various disparate interfaces
+       for accessing files on Android.
+
+       * src/callproc.c (delete_temp_file):
+       * src/charset.c (load_charset_map_from_file):
+       * src/dired.c:
+       * src/emacs.c (Fkill_emacs):
+       * src/fileio.c (check_mutable_filename, Fcopy_file)
+       (Fmake_directory_internal, Fdelete_directory_internal)
+       (Fdelete_file, Frename_file, Fadd_name_to_file)
+       (Fmake_symbolic_link, file_accessible_directory_p, Fset_file_modes)
+       (Fset_file_times, write_region):
+       * src/filelock.c (get_boot_time, rename_lock_file)
+       (create_lock_file, current_lock_owner, unlock_file):
+       * src/image.c (slurp_file, png_load_body, jpeg_load_body):
+       * src/keyboard.c (Fopen_dribble_file):
+       * src/lisp.h:
+       * src/lread.c (Fload):
+       * src/process.c (handle_child_signal):
+       * src/sysdep.c (init_standard_fds, emacs_fopen, emacs_fdopen)
+       (emacs_unlink, emacs_symlink, emacs_rmdir, emacs_mkdir)
+       (emacs_renameat_noreplace, emacs_rename):
+       * src/term.c (Fresume_tty, init_tty): Use and add new wrappers
+       for fopen, fdopen, unlink, symlink, rmdir, mkdir,
+       renameat_norepalce and rename.
+
+2023-07-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Support Posix-standard pax extended header in tar files
+
+       * lisp/tar-mode.el (pax-extended-attribute-record-regexp)
+       (tar-attr-vector): New variables.
+       (pax-gid-index, pax-gname-index, pax-linkpath-index)
+       (pax-mtime-index, pax-path-index, pax-size-index, pax-uid-index)
+       (pax-uname-index): New constants.
+       (pax-header-gid, pax-header-gname, pax-header-linkpath)
+       (pax-header-mtime, pax-header-path, pax-header-size)
+       (pax-header-uid, pax-header-uname): New accessors to pax header.
+       (pax-decode-string, tar-parse-pax-extended-header): New functions.
+       (tar-header-block-tokenize): Recognize and handle Posix-standard
+       pax extended header, and use its attributes instead of those in
+       the standard tar header.  (Bug#64686)
+
+2023-07-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp error on macOS
+
+       * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
+       Don't use an absolute ControlPath on macOS.  (Bug#64880)
+
+2023-07-27  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix image-dired-util-tests on MS-Windows
+
+       * test/lisp/image/image-dired-util-tests.el
+       (image-dired-thumb-name/image-dired)
+       (image-dired-thumb-name/per-directory): Make these tests work on
+       MS-Windows, where a file name such as "/foo/bar" gets added the
+       drive letter when passed through 'expand-file-name'.
+
+2023-07-26  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix broken byte-compilation of unary comparisons
+
+       * lisp/emacs-lisp/byte-opt.el (byte-opt--nary-comparison):
+       Fix a typo causing miscompilation of code such as (OP X),
+       where OP is <, >, <=, >= or =.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--test-cases): Add test case.
+
+       Reported by Richard Copley.
+
+2023-07-26  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/byte-opt.el (pure-fns): Add `max-char`
+
+2023-07-26  Mattias Engdegård  <mattiase@acm.org>
+
+       Provide backtrace for byte-ops aref and aset
+
+       Produce synthetic backtrace entries for `aref` and `aset` byte-ops
+       when the index is non-fixnum, or is out of range for vector or record
+       arguments (bug#64613).
+
+       * src/bytecode.c (exec_byte_code): Detect type and range errors
+       in-line for aref and aset.
+       * src/data.c (syms_of_data): Declare symbols Qaref and Qaset.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--byte-op-error-cases): Add test cases.
+
+2023-07-26  Spencer Baugh  <sbaugh@catern.com>
+
+       Support transforming the dirname used by uniquify
+
+       By transforming the buffer's directory name, we can add
+       additional information to use during uniquifying.  A basic
+       one: uniquifying buffer names based on the project name.
+       * lisp/progmodes/project.el (project-uniquify-dirname-transform): Add.
+       * lisp/uniquify.el (uniquify-dirname-transform-default)
+       (uniquify-dirname-transform): Add.  (Bug#62621)
+       (uniquify-rationalize-file-buffer-names, uniquify-buffer-file-name):
+       Use 'uniquify-dirname-transform'.
+       * test/lisp/uniquify-tests.el (uniquify-home)
+       (uniquify-project-transform): Add tests.
+
+2023-07-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix "M-x man RET [ RET"
+
+       * lisp/man.el (Man-completion-table): Quote special characters
+       before passing them to the shell.
+       (Man-name-regexp): Allow '@' and '[' in man-page names.  (Bug#64795)
+
+2023-07-26  Neal Sidhwaney  <nealsid@users.noreply.github.com>  (tiny change)
+
+       Add 'define-error' to font lock keywords for emacs-lisp-mode
+
+       * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Add 'define-error'.
+       (Bug#64824)
+
+       * test/lisp/emacs-lisp/lisp-mode-tests.el
+       (test-font-lock-keywords): New test.
+
+2023-07-26  Brian Leung  <leungbk@posteo.net>
+
+       lisp-mode.el: Add defvar-keymap to lisp-imenu-generic-expression
+
+       * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
+       Add defvar-keymap.  We do not ignore (defvar-keymap FOO)
+       constructs in imenu as we do with (defvar FOO) since the former
+       constructs are generally not vacuous whereas the latter ones
+       often are.  (Bug#64831)
+
+2023-07-26  Laurence Warne  <laurencewarne@gmail.com>
+
+       Fix unstable Proced refine tests
+
+       * test/lisp/proced-tests.el (proced-refine-test)
+       (proced-refine-with-update-test): Also check if the parent
+       process id of each process matches the process id refined
+       on before failing, since the refiner for process id returns
+       the children of a process in addition to the process itself.
+       (Bug#64800)
+
+2023-07-26  Valtteri Vuorikoski  <vuori@notcom.org>
+
+       Fix build --with-sound on NetBSD and OpenBSD
+
+       * configure.ac: Use ossaudio by default on *BSD systems.
+       (Bug#64698)
+
+       * etc/NEWS: Announce the change.
+
+2023-07-26  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Bring cperl-short-docs up to Perl 5.38.
+
+       * lisp/progmodes/cperl-mode.el (imenu-max-items): declare the
+       variable to silence an elint warning.
+       (cperl-short-docs): Reorder function description to match Perl's
+       perlfunc documentation.  Add missing shortdocs from perlfunc.
+       Delete entries for operators which don't exist any more (EQ, NE
+       and friends).  Shorten docstring lines to 80 chars or less.
+
+2023-07-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid crashes under 'which-key-mode'
+
+       * src/keyboard.c (Fthis_single_command_keys): Don't allow calls to
+       Fvector with negative first argument.  (Bug#64857)
+
+2023-07-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Don't suggest to revert buffer from non-existing file
+
+       * lisp/files-x.el (modify-file-local-variable-message): Suggest to
+       revert from the buffer's file only if that file exists; otherwise
+       suggest 'normal-mode'.  (Bug#64844)
+
+2023-07-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Don't signal error when locking a file from non file-visiting buffer
+
+       * lisp/userlock.el (userlock--check-content-unchanged): Support
+       the case where a file is locked before being written to from a
+       non file-visiting buffer.  (Bug#64821)
+
+2023-07-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix rare aborts in CHECK_WINDOW_END
+
+       Those aborts happen because a window's window_end_vpos value
+       is inconsistent with the current matrix's number of rows, which
+       happens after resizing the mini-window.
+       * src/xdisp.c (mark_window_display_accurate_1): Don't validate the
+       window_end_valid flag if window_end_vpos is inconsistent with the
+       current_matrix's number of rows.  This happens, e.g., when
+       Edebug wants to show a value in the mini-window that causes it to
+       resize, as the window above the mini-window was usually already
+       redisplayed, and we think its display is accurate.
+
+2023-07-23  Laurence Warne  <laurencewarne@gmail.com>
+
+       Fix Proced Start column alignment for different locales
+
+       * lisp/proced.el (proced-grammar-alist): Change the justify
+       value of the start attribute to 'left' instead of a fixed
+       value of 6.  (Bug#64752)
+       (proced-format-start): Adjust the doc string.
+
+2023-07-23  Po Lu  <luangruo@yahoo.com>
+
+       Facilitate locating the app library directory
+
+       * doc/emacs/android.texi (Android File System): Document where
+       the app library directory can probably be found.
+       * src/android.c (android_create_lib_link): New function.  Try to
+       symlink `lib' in the directory holding the files directory to
+       the app library directory.
+       (setEmacsParams): Call that function if Emacs is being
+       initialized from an application context.
+
+2023-07-23  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * src/eval.c (get_backtrace): Don't skip the top frame
+
+       `profiler.el` was reporting incomplete backtraces.
+       I had a suspicion there was something off, but it became obvious
+       when I saw that `set-buffer-multibyte` did not appear in the
+       `profiler-report` output when opening a large compressed tarball,
+       even though I knew it to be a large contributor (which `elp-results`
+       confirmed).
+
+       I have no idea why this `backtrace_next` was there, sadly, but now
+       `profiler-report` gives me results that make a lot more sense.
+
+2023-07-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix regexp character class syntax property ghost matching bug
+
+       The syntax-table-dependent regexp character classes [:space:],
+       [:word:] and [:punct:] always use the buffer-local syntax table for
+       performance reasons.  Fix a bug that could cause ghost (mis)matches
+       from use of lingering state by constructs that do use syntax
+       properties, such as `\sX`.
+
+       * src/regex-emacs.c (BUFFER_SYNTAX): New macro.
+       (ISPUNCT, ISSPACE, ISWORD): Use BUFFER_SYNTAX instead of SYNTAX.
+       (regex_compile): Delete syntax table setup code that is no longer
+       needed.
+       * test/src/regex-emacs-tests.el (regex-emacs-syntax-properties):
+       New regression test.
+
+2023-07-22  Moritz Maxeiner  <mm@ucw.sh>
+
+       * etc/NEWS: Announce the new option 'mouse-prefer-closest-glyph'.
+
+2023-07-22  Moritz Maxeiner  <mm@ucw.sh>
+
+       Implement new option 'mouse-prefer-closest-glyph'
+
+       * src/dispnew.c (mouse_prefer_closest_glyph): New global
+       variable.
+       (buffer_posn_from_coords):
+       * src/xdisp.c (remember_mouse_glyph): Respect
+       'mouse_prefer_closest_glyph'.
+       (mouse_fine_grained_tracking): Update documentation to
+       include 'mouse_prefer_closest_glyph' effects.
+
+       * doc/lispref/commands.texi (Accessing Mouse): Update
+       documentation to say what the new option does when enabled.
+       * lisp/cus-start.el (standard): New user option
+       'mouse-prefer-closest-glyph'.
+
+2023-07-22  F. Jason Park  <jp@neverwas.me>
+
+       Improve ERC's internal invisibility API
+
+       * etc/ERC-NEWS: Mention that line endings have moved from the end to
+       the beginning of hidden messages.
+       * lisp/erc/erc-fill.el (erc-fill--wrap-ensure-dependencies): Warn when
+       users have `erc-legacy-invisible-bounds-p' enabled, and force it to
+       its default value of nil in the current buffer.
+       (erc-fill-wrap-mode, erc-fill-wrap-enable): Move business involving
+       compat variable for enabling legacy hidden-message behavior to helper.
+       * lisp/erc/erc-match.el (erc-match--hide-fools-offset-bounds): Move
+       internal variable from to main library file and rename to
+       `erc-legacy-invisible-bounds-p'.  Also make obsolete and flip
+       semantics so a non-nil value enables the traditional behavior.
+       (erc-match--hide-message): Move to main library file and rename to
+       `erc--hide-message'.  Add a property-value parameter instead of
+       hard-coding to `erc-match'.  Also, condition behavior on renamed
+       compatibility flag `erc-legacy-invisible-bounds-p'.
+       (erc-hide-fools): Call `erc--hide-message' with own value for
+       `invisible' property specifically for fools.  That is, use
+       `match-fools' rather than `erc-match' or `erc-match-fools' to save
+       room when visually inspecting.  This retains the module name as a
+       prefix to hopefully minimize collisions with invisibility spec members
+       owned by non-ERC minor modes.  The `timestamp' spec member owned by
+       erc-stamp likewise lacks a namespace prefix, but its feature/group
+       affiliation is self-evident.
+       (erc-match--modify-invisibility-spec): Use toggle command
+       non-interactively for adding and removing invisibility spec member.
+       (erc-match-toggle-hidden-fools): Add explicit override argument and
+       defer to general helper for actually modifying spec.
+       (erc-match--toggle-hidden): New helper for toggling invisibility
+       spec.
+       * lisp/erc/erc.el (erc--merge-prop): If new value is a list, prepend
+       onto existing.  Add note about possible space optimization.
+       (erc-legacy-invisible-bounds-p): New obsolete compat variable to
+       enable traditional pre-5.6 invisibility interval on hidden messages.
+       Replaces `erc-match--hide-fools-offset-bounds-p' but has an inverted
+       meaning.  The new default value of nil means invisibility covers a
+       shifted interval consisting of the message body plus the line ending
+       immediately preceding it.
+       (erc--hide-message): New function, formerly `erc-match--hide-message'
+       from erc-match.el introduced in ERC 5.6.
+       * test/lisp/erc/erc-scenarios-match.el:
+       (erc-scenarios-match--invisible-stamp): Fix comment and use API
+       function in interactive convenience setup.
+       (erc-scenarios-match--find-bol): New test helper.
+       (erc-scenarios-match--find-eol): Fix bug affecting interactive use.
+       (erc-scenarios-match--stamp-left-fools-invisible,
+       erc-scenarios-match--stamp-right-fools-invisible,
+       erc-scenarios-match--stamp-right-invisible-fill-wrap,
+       erc-scenarios-match--stamp-both-invisible-fill-static): Update
+       `invisible' property from `erc-match' to `match-fools'.
+       (erc-scenarios-match--stamp-right-fools-invisible,
+       erc-scenarios-match--stamp-both-invisible-fill-static): Move test
+       body to function of same name for use in multiple cases.
+       (erc-scenarios-match--stamp-right-fools-invisible--nooffset,
+       erc-scenarios-match--stamp-both-invisible-fill-static--nooffset): New
+       test variants asserting proper hiding with old pre-5.6 invisibility
+       interval.
+       * test/lisp/erc/erc-tests.el (erc-tests--equal-including-properties):
+       Relocate macro higher in same file.
+       (erc--merge-prop): New test.  (Bug#64301)
+
+2023-07-22  F. Jason Park  <jp@neverwas.me>
+
+       Make erc-fill-wrap work with left-sided stamps
+
+       * etc/ERC-NEWS: Remove all mention of option `erc-timestamp-align-to'
+       supporting a value of `margin', which has been abandoned.  Do mention
+       leading white space before stamps now having stamp-related properties.
+       * lisp/erc/erc-backend.el (erc--reveal-prompt, erc--conceal-prompt):
+       New generic functions with default implementations factored out from
+       `erc--unhide-prompt' and `erc--hide-prompt'.
+       (erc--prompt-hidden-p): New internal predicate function.
+       (erc--unhide-prompt): Defer to `erc--reveal-prompt', and set
+       `erc-prompt' text property to t.
+       (erc--hide-prompt): Defer to `erc--conceal-prompt', and set
+       `erc-prompt' text property to `hidden'.
+       * lisp/erc/erc-compat.el (erc-compat--29-browse-url-irc): Don't
+       use `function-equal'.
+       * lisp/erc/erc-fill.el (erc-fill-wrap-margin-width,
+       erc-fill-wrap-margin-side): New options to control side and initial
+       width of `fill-wrap' margin.
+       (erc-fill--wrap-beginning-of-line): Fix bug involving non-string
+       valued `display' props.
+       (erc-fill-wrap-toggle-truncate-lines): New command to re-enable
+       `visual-line-mode' when toggling off `truncate-lines'.
+       (erc-fill-wrap-mode-map): Remap `toggle-truncate-lines' to
+       `erc-fill-wrap-toggle-truncate-lines'.
+       (erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
+       Update doc string, persist a few local vars, and conditionally set
+       `erc-stamp--margin-left-p'.  When deactivating, disable
+       `visual-line-mode' first.
+       (erc-fill--wrap-continued-message-p): Use `erc-speaker' instead of
+       heuristics when comparing nicks between consecutive messages.
+       (erc-fill-wrap-nudge): Update doc string and account for left-sided
+       stamps.
+       (erc-timestamp-offset): Add comment regarding conditional guard based
+       on function-valued option.
+       * lisp/erc/erc-stamp.el (erc-timestamp-use-align-to): Remove value
+       variant `margin', which was originally intended to be new in ERC 5.6.
+       This functionality was all but useless without the internal minor mode
+       `erc-stamp--display-margin-mode' active.
+       (erc-stamp-right-margin-width): Remove unused option new in 5.6.
+       (erc-stamp--display-margin-force): Remove unused function.
+       (erc-stamp--margin-width, erc-stamp--margin-left-p): New internal
+       variables.
+       (erc-stamp--init-margins-on-connect): New function for initializing
+       mode-managed margin after connecting.
+       (erc-stamp--adjust-right-margin, erc-stamp--adjust-margin): Rename
+       function to latter and accommodate left-hand stamps.
+       (erc-stamp--inherited-props): Move definition higher up in same file.
+       (erc-stamp--display-margin-mode): Update function name, and adjust
+       setup and teardown to accommodate left-handed stamps.  Don't add
+       advice around `erc-insert-timestamp-function'.
+       (erc-stamp--last-prompt, erc-stamp--display-prompt-in-left-margin):
+       New function and helper var to convert a normal inserted prompt so
+       that it appears in the left margin.
+       (erc-stamp--refresh-left-margin-prompt): Helper for other modules to
+       quickly refresh prompt outside of insert hooks.
+       (erc--reveal-prompt, erc--conceal-prompt): New implementations for
+       when `erc-stamp--display-margin-mode' is active.
+       (erc-insert-timestamp-left): Convert to generic function and provide
+       implementation for `erc-stamp--display-margin-mode'.
+       (erc-stamp--omit-properties-on-folded-lines): New variable, an escape
+       hatch for propertizing white space before right-side stamps folded
+       over onto another line.
+       (erc-insert-timestamp-right): Don't expect `erc-timestamp-align-to' to
+       ever be the symbol `margin'.  Move handling for that case to one
+       contingent on the internal minor mode `erc-stamp--display-margin-mode'
+       being active.  Add text properties preceding stamps that occupy a line
+       by their lonesome.  See related news entry for rationale.  This is
+       arguably a breaking change.
+       * lisp/erc/erc.el (erc--refresh-prompt-hook): New hook variable for
+       modules to adjust prompt properties whenever it's refreshed.
+       (erc--refresh-prompt): Fix bug in which user-defined prompt functions
+       failed to hide when quitting in server buffers.  Run new hook
+       `erc--refresh-prompt-hook'.
+       (erc-display-prompt): Add comment noting that the text property
+       `erc-prompt' now actually matters: it's t while a session is running
+       and `hidden' when disconnected.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill--left-hand-stamps): New
+       test.
+       * test/lisp/erc/erc-stamp-tests.el
+       (erc-stamp-tests--use-align-to--nil,
+       erc-stamp-tests--use-align-to--t): New functions forged from old test
+       bodies to allow optionally asserting pre-5.6 behavior regarding
+       leading white space on right-hand stamps that exist on their own line.
+       (erc-timestamp-use-align-to--nil, erc-timestamp-use-align-to--t):
+       Parameterize with compatibility flag.
+       (erc-timestamp-use-align-to--margin,
+       erc-stamp--display-margin-mode--right): Rename test to latter.
+       * test/lisp/erc/erc-tests.el (erc-hide-prompt): Add some assertions
+       for new possible value of `erc-prompt' text property.
+       * test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: New test
+       data file.  (Bug#60936)
+
+2023-07-22  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Don't always toggle a choice when prompting
+
+       * lisp/wid-edit.el (widget-choice-prompt-value): Respect the value
+       of widget-choice-toggle.  (Bug#60712)
+
+2023-07-22  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Avoid prompting when creating a restricted-sexp widget
+
+       * lisp/wid-edit.el (restricted-sexp): Turn value into a
+       string before reading.
+       (widget-field-value-create): Guard against value being nil,
+       so the field can be created even if the widget has a bad
+       default value.  (Bug#59937)
+
+2023-07-22  Po Lu  <luangruo@yahoo.com>
+
+       Try harder to keep the initial word selected
+
+       * lisp/touch-screen.el (touch-screen-drag): If
+       touch-screen-word-select, also keep the initial word within the
+       region while scrolling.
+
+2023-07-22  João Távora  <joaotavora@gmail.com>
+
+       Eglot: simplify and hopefully fix last change (bug#64784)
+
+       * lisp/progmodes/eglot.el (eglot--post-self-insert-hook): Use
+       last-command-event.
+
+2023-07-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add inhibit-remote-files and without-remote-files
+
+       * doc/emacs/files.texi (Remote Files): Do not document tramp-mode
+       any longer.  Describe inhibit-remote-files instead.
+
+       * doc/lispref/files.texi (Magic File Names): Add without-remote-files.
+
+       * doc/misc/tramp.texi (Frequently Asked Questions): Do not
+       document tramp-mode any longer.  Describe inhibit-remote-files and
+       without-remote-files instead.
+
+       * etc/NEWS: Add inhibit-remote-files and without-remote-files.
+       Fix typos.
+
+       * lisp/net/tramp.el (inhibit-remote-files): New defun.
+       (without-remote-files): New defmacro.
+
+       * test/lisp/net/tramp-archive-tests.el
+       (tramp-archive-test49-without-remote-files):
+       * test/lisp/net/tramp-tests.el (tramp-test49-without-remote-files):
+       New tests.
+       (tramp-test50-unload): Rename.
+
+2023-07-22  Philip Kaludercic  <philipk@posteo.net>
+
+       Ensure 'existing-filename' has 'bounds-of-thing-at-point'
+
+       * lisp/thingatpt.el (existing-filename): Define
+       'bounds-of-thing-at-point' for 'existing-filename'.  (Bug#64664)
+
+2023-07-22  Po Lu  <luangruo@yahoo.com>
+
+       Fix window box computation for menu bar windows
+
+       * src/window.h (WINDOW_MENU_BAR_P): Check for external menu bars
+       using HAVE_WINDOW_SYSTEM && HAVE_EXT_MENU_BAR instead of hard
+       coding X without Xt or GTK.
+
+2023-07-22  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Key Sequence Input): Describe which
+       events receive imaginary prefix keys.
+       * lisp/touch-screen.el (touch-screen-translate-touch): Consider
+       `vertical-line' a virtual function key.
+       (function-key-map): Translate events on vertical window borders.
+
+2023-07-22  Po Lu  <luangruo@yahoo.com>
+
+       Fix default value of scroll bar frame parameters on Android
+
+       * src/androidfns.c (Fx_create_frame): Default
+       Qvertical_scroll_bars to Qnil, but set scroll-bar-width and
+       scroll-bar-height.
+
+2023-07-22  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       macroexp.el: Fix missing warning for intermediate expansions
+
+       When a macro expanded to a call to an obsolete macro, we failed
+       to emit a warning for that use of the obsolete macro.
+
+       * lisp/emacs-lisp/macroexp.el (macroexp-macroexpand):
+       Use `macroexpand-1` to check obsolecence of intermediate expansions.
+
+       * test/lisp/emacs-lisp/macroexp-tests.el
+       (macroexp--test-obsolete-macro): New test.
+
+2023-07-21  Po Lu  <luangruo@yahoo.com>
+
+       Improve touch screen and text conversion behavior of many commands
+
+       * doc/lispref/commands.texi (Key Sequence Input): Document new
+       argument to `read-key-sequence' etc.
+       * lisp/help-macro.el (make-help-screen):
+       * lisp/subr.el (read-key, read-char-choice-with-read-key):
+       Disable text conversion and display the OSK before reading a key
+       sequence.
+       * lisp/touch-screen.el (touch-screen-window-selection-changed):
+       Only cancel the minibuffer OSK timer.
+       (touch-screen-handle-point-up): Update comment accordingly.
+       * src/keyboard.c (command_loop_1, read_menu_command)
+       (read_key_sequence, read_key_sequence_vs, Fread_key_sequence)
+       (Fread_key_sequence_vector): New arg DISABLE_TEXT_CONVERSION.
+       All callers changed.
+
+2023-07-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Use BASE_EQ instead of EQ in search.c
+
+       * src/search.c (clear_regexp_cache, compile_pattern, Fmatch_data):
+       Use BASE_EQ where appropriate.
+
+2023-07-21  Robert Pluim  <rpluim@gmail.com>
+
+       Fix failing native-compile test
+
+       * test/src/comp-tests.el (comp-tests-result-lambda): Use
+       'comp-deftest', not 'ert-deftest'.  The latter doesn't check for
+       native-compile support.
+
+2023-07-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix Proced display header alignment under 'text-scale-adjust'
+
+       * lisp/proced.el (proced-mode): Force the header-line to scale
+       according to 'text-scale-adjust'.
+       (proced-header-line): Use width of the header-line's face's
+       characters as align-to units, not the width of the frame's
+       default face's font.  (Bug#64752)
+
+       * src/xdisp.c (calc_pixel_width_or_height): Use font's
+       average_width or space_width, not max_width, as the correct
+       measure of the font's width.  This is consistent with the rest of
+       the display engine.
+
+2023-07-21  Po Lu  <luangruo@yahoo.com>
+
+       Correctly translate touchscreen-up events outside a frame
+
+       * lisp/touch-screen.el (touch-screen-translate-touch): Check if
+       a prefix is specified separately from prefix being non-nil.
+       Accept `nil' as an imaginary prefix key.
+       (function-key-map): Register translation functions on the tab
+       bar, tab lines and internal border.
+
+2023-07-21  Po Lu  <luangruo@yahoo.com>
+
+       Improve touch screen scrolling support
+
+       * lisp/touch-screen.el (touch-screen-preview-select): Avoid
+       unnecessary redisplays.
+       (touch-screen-drag): Scroll at window margins using window
+       scrolling functions instead of relying on redisplay to recenter
+       the window around point.
+
+2023-07-21  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/input.texi (Touchscreens): Document
+       `touch-screen-preview-select'.
+       * doc/lispref/commands.texi (Touchscreen Events): Fix typo in
+       the descriptions of two touch screen events.
+       * lisp/dired.el (dired-insert-set-properties): Adjust for
+       changes to file end computation.
+       * lisp/minibuffer.el (clear-minibuffer-message): Don't clear
+       minibuffer message if dragging.
+       * lisp/touch-screen.el (touch-screen-current-tool): Fix doc
+       string.
+       (touch-screen-preview-select): New function.
+       (touch-screen-drag): Call it if point changes.
+
+2023-07-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-20  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix last change to wid-edit.el
+
+       * lisp/wid-edit.el (widget-choose): Test for stringp instead of
+       char-or-string-p, since substitute-command-keys should only apply
+       to choice values that are strings. (Bug#64046, Message #37)
+
+2023-07-20  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode (some languages): handle string lines ending in \\
+
+       In C, C++, Objective C, and Pike modes, regard \\ in a string
+       at EOL as a backslash followed by an escaped newline.  In the
+       other languages, this remains regarded as an escaped backslash
+       followed by an invalid string terminator.
+
+       * lisp/progmodes/cc-defs.el (c-is-escaped, c-will-be-escaped):
+       Amend to observe the changed notion of escaped newlines.
+
+       * lisp/progmodes/cc-langs.el (c-string-escaped-newlines):
+       Unused, removed.
+       (c-escaped-newline-takes-precedence): New lang const and var.
+       (c-string-innards-re-alist): Amend, using the above new lang
+       var.
+
+2023-07-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix defface's with no customization data
+
+       * lisp/net/shr.el (shr-h4, shr-h5, shr-h6):
+       * lisp/cedet/semantic/decorate/include.el
+       (semantic-decoration-on-includes):
+       * lisp/progmodes/make-mode.el (makefile-shell):
+       * lisp/time.el (display-time-date-and-time):
+       * lisp/nxml/nxml-mode.el (nxml-text, nxml-delimiter)
+       (nxml-element-colon): Add face definitions (bug#64655).
+
+2023-07-20  Morgan Smith  <Morgan.J.Smith@outlook.com>
+
+       docview: imenu: check return value of 'mutool'
+
+       While 'mutool' supports many filetypes, 'mutool show' only
+       supports PDF files.  This would lead to cryptic imenu errors
+       when opening other
+       file types (like EPUB) since we would parse the error output.
+       During my testing this caused 'imenu--index-alist' to have a
+       value of '(nil).
+
+       * lisp/doc-view.el (doc-view--pdf-outline): Error when 'mutool'
+       returns an error.  Use 'call-process' to get the return value and
+       remove the call to 'shell-quote-argument' as 'call-process'
+       doesn't want any escapes.
+       (doc-view-mode): Handle possible error from 'doc-view-imenu-setup'.
+       (doc-view-imenu-enabled): Remove superfluous (and ... t).
+       (doc-view-imenu-setup): Remove check for mutool already ensured by
+       'doc-view-imenu-enabled' being non-nil.
+       (Bug#64516)
+
+2023-07-20  Matthias Meulien  <orontee@gmail.com>
+
+       Custom var python-interpreter-args (bug#64397)
+
+       * lisp/progmodes/python.el (python-interpreter): Mention
+       new variable in documentation.
+       (python-interpreter-args): New custom variable.
+       (python-shell-interpreter, python-shell-interpreter-args)
+       (python-shell-interpreter-interactive-arg): Improve
+       documentation.
+       (python--list-imports, python--do-isort)
+       (python-fix-imports): Make process use customisable
+       arguments.
+
+2023-07-20  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Preserve comments when redrawing a widget (Bug#64649)
+
+       * lisp/cus-edit.el (custom-comment-preserve): New function.
+       (custom-redraw): Use it.
+       (custom-comment-create): Make sure :comment-shown is set to
+       t if the comment widget gets created.
+       (custom-face-value-create, custom-variable-value-create):
+       Recreate the custom-comment widget with the preserved value,
+       if any.
+
+2023-07-20  Mauro Aranda  <maurooaranda@gmail.com>
+
+       Pass original spec just after creating the face-widget
+
+       * lisp/cus-edit.el (custom-face-get-current-spec-unfiltered):
+       New function, extracted from custom-face-get-current-spec.
+       (custom-face-get-current-spec): Use it.
+       (custom-face-state-set): Take an optional argument, to decide
+       if we should check against a filtered or unfiltered spec.
+       (custom-face-value-create): Use the new optional argument.
+       (Bug#64347)
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/trace.c (handle_readlinkat): Adjust commentary to match
+       behavior.
+       * src/android.c (android_get_keysym_name): NULL terminate
+       *name_return.
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Update some menu definitions for Android
+
+       * lisp/international/mule-cmds.el (set-coding-system-map): Don't
+       display `set-terminal-coding-system' on Android.
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/cus-edit.el (custom-display): Add `android' display type.
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       4bd8e8c6d2b ; * src/xdisp.c: Fix wording in commentary.
+       3af27a4b815 Improve commentary in nsfns.m
+       5de5e4b4d0a Fix typos and ommissions in cus-edit.el
+       9d93c6ba14a ; * src/xdisp.c: Fix typos in the commentary.
+       86f2d6d62fc ; * src/xdisp.c: Improve commentary.  (Bug#64596)
+       ac075176bf0 ; * admin/notes/bugtracker: Fix punctuation.
+       81518534471 ; * admin/notes/bugtracker: Use 'e.g.' throughout the doc...
+       f063f79a493 Convert NUL-containing NSString objects to Lisp strings c...
+       d172cd59854 ; * doc/lispref/keymaps.texi (Modifying Menus): Add cross...
+       927e8b470fc ; * doc/lispref/keymaps.texi (Extended Menu Items): Add @...
+       77f489421ec ; * src/xdisp.c: Minor improvements of the commentary.
+       ce3f9fba1a3 ; Improve accuracy of out-out-order message insertion
+       17073af84d7 ; Improve robustness of package-report-bug
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (struct android_event_queue): Don't make
+       unnecessarily volatile.
+
+2023-07-20  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix textDocument/onTypeFormatting for 'newline' command
+
+       In the newline command, last-input-event is 13 (carriage return), but
+       most, if not all, language servers that support
+       documentOnTypeFormattingProvider expect 10 (linefeed) to be the
+       trigger, so convert 13 to 10 for the purposes of the
+       textDocument/onTypeFormatting request.
+
+       Also make this common edit silent in the mode-line/messages.
+
+       * lisp/progmodes/eglot.el (eglot--post-self-insert-hook): Convert
+       linefeed to carriage return.
+       (eglot-format): Pass SILENT to eglot--apply-text-edits.
+       (eglot--apply-text-edits): Take new optional SILENT arg.
+
+       * etc/EGLOT-NEWS: Mention change
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/touch-screen.el (touch-screen-handle-touch): Don't
+       restart dragging if point is at ZV and the tap falls on a
+       different row.
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Use context menu header titles on Android
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
+       New field `title'.
+       (addSubmenu): New arg TITLE.  Set that field.
+       (expandTo): Set MENU's header title if it's a context menu.
+       * src/androidmenu.c (android_init_emacs_context_menu): Adjust
+       signature of `createContextMenu'.
+       (android_menu_show): Use TITLE instead of pane titles if there's
+       only one pane.
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-20  Po Lu  <luangruo@yahoo.com>
+
+       Introduce a `dired-click-select' mode
+
+       * doc/emacs/dired.texi (Marks vs Flags): Document command bound
+       to `touchscreen-hold'.
+       * doc/lispref/commands.texi (Touchscreen Events): Describe
+       `touch-screen-inhibit-drag'.
+       * etc/NEWS: Improve description of changes to touch screen
+       support.
+       * lisp/dired-aux.el (dired-do-chxxx, dired-do-chmod)
+       (dired-do-print, dired-do-shell-command, dired-do-compress-to)
+       (dired-do-create-files, dired-do-rename, dired-do-isearch)
+       (dired-do-isearch-regexp, dired-do-search)
+       (dired-do-query-replace-regexp, dired-do-find-regexp)
+       (dired-vc-next-action): Disable ``click to select'' after
+       running this command.
+       * lisp/dired.el (dired-insert-set-properties): Attach
+       click-to-select keymap to file names if necessary.
+       (dired-mode-map): Bind `touchscreen-hold' to click to select
+       mode.
+       (dired-post-do-command): New function.
+       (dired-do-delete): Call it.
+       (dired-mark-for-click, dired-enable-click-to-select-mode): New
+       functions.
+       (dired-click-to-select-mode): New minor mode.
+       * lisp/touch-screen.el (touch-screen-current-tool): Fix doc
+       string.
+       (touch-screen-inhibit-drag): New function.
+
+2023-07-19  F. Jason Park  <jp@neverwas.me>
+
+       Warn when toggling erc-nicks-mode in target buffers
+
+       * lisp/erc/erc-nicks.el (erc-nicks-mode, erc-nicks-enable): This local
+       module isn't autoloaded like most global modules, in part to dissuade
+       users from attempting to enable it by running M-x erc-nicks-mode RET.
+       However, rather than signal an error upon detecting such an attempt,
+       ERC should explain that the only supported means of activation is via
+       `erc-modules'.  This change does that and then enables it anyway,
+       despite the degraded experience.
+
+2023-07-19  Alan Mackenzie  <acm@muc.de>
+
+       Fix native compilation in dynamically bound files.
+
+       This fixes bug#64642.
+
+       * lisp/emacs-lisp/comp.el (comp-spill-lap-function/symbol): Add
+       code for dynamically bound functions.
+
+       * test/src/comp-tests.el (comp-tests-result-lambda): New test.
+
+       * test/src/comp-resources/comp-test-funcs-dyn2.el: New test
+       file.
+
+       # Please enter the commit message for your changes. Lines starting
+       # with '#' will be ignored, and an empty message aborts the commit.
+       #
+       # On branch master
+       # Your branch is up to date with 'origin/master'.
+       #
+       # Changes to be committed:
+       #       modified:   lisp/emacs-lisp/comp.el
+       #       new file:   test/src/comp-resources/comp-test-funcs-dyn2.el
+       #       modified:   test/src/comp-tests.el
+       #
+       # Changes not staged for commit:
+       #       modified:   .gitignore
+       #
+       # Untracked files:
+       #       .gitignore.acm
+       #       .gitignore.backup
+       #       .timestamps.txt
+       #       2021-01-03.err
+       #       2021-01-06.err
+       #       2021-12-16.make
+       #       2021-12-30.err
+       #       2021-12-31.err
+       #       2022-01-01.err
+       #       2022-01-02.check.err
+       #       2022-01-02.err
+       #       2022-01-04.err
+       #       2022-01-05.err
+       #       2022-01-06.err
+       #       2022-01-07.err
+       #       2022-01-07.outerr
+       #       2022-01-08.err
+       #       2022-01-09.err
+       #       2022-01-09b.err
+       #       2022-01-10.err
+       #       2022-01-11
+       #       2022-01-11.err
+       #       2022-02-22.err
+       #       2022-02-22.outerr
+       #       checkout.20220228.out
+       #       checkout.20220301.out
+       #       checkout.20220302.out
+       #       doc/lispref/syntax.20160318.techsi
+       #       doc/lispref/syntax.20160318b.techsi
+       #       lib/.deps/
+       #       lisp/2022-01-09.err
+       #       lisp/emacs-lisp/comp.el.rej
+       #       src/2021-12-20.err
+       #       src/globals.20211124.aitch
+       #       src/lisp.20211127.aitch
+       #       test/lisp/calendar/icalendar-tests.elcr5m9Wq
+       #
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Port file-name-case-insensitive-p to Haiku
+
+       * src/fileio.c (file_name_case_insensitive_err): Don't return
+       errno upon failure, just 1, since errno is not used in the sole
+       caller.
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Improve behavior of `restart-drag'
+
+       * lisp/touch-screen.el (touch-screen-handle-point-up): If what
+       is `restart-drag' (meaning that a drag has been restarted but
+       the touchpoint has not moved), translate the release into a
+       regular mouse click to deactivate the region.
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Improve commentary in xterm.c
+
+       * src/xterm.c (xi_populate_device_from_info, xi_handle_new_classes)
+       (syms_of_xterm): Improve commentary on touch events.
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * build-aux/makecounter.sh (curcount): Rename `counter' to
+       `emacs_shortlisp_counter'.
+       * doc/emacs/input.texi (Touchscreens): Document
+       `touch-screen-extend-selection'.
+       * doc/lispref/commands.texi (Touchscreen Events): Document
+       `touchscreen-restart-drag'.
+       * lisp/touch-screen.el (touch-screen-extend-selection): New user
+       option.
+       (touch-screen-restart-drag): New function.
+       (touch-screen-handle-point-update): Handle `restart-drag'
+       gestures.
+       (touch-screen-handle-touch): Check if the prerequisites for
+       extending a previous drag gesture are met, and generate such
+       events if so.
+       (touch-screen-translate-touch): Update doc string.
+       * src/Makefile.in (otherobj): Remove BUILD_COUNTER_OBJ.
+       ($(lispsource)/international/charprop.el):
+       (%.elc): Don't depend on bootstrap-emacs if cross configuring
+       for Android.
+       (libemacs.so): Directly depend on and link with
+       BUILD_COUNTER_OBJ.
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Make sure Android builds are redumped upon changes to shortlisp
+
+       * build-aux/makecounter.sh: New script.
+       * src/Makefile.in (abs_top_builddir): New variable.
+       (BUILD_COUNTER_OBJ): Define to build-counter.o
+       if compiling for Android.
+       (build-counter.c): New target.  Generate this file using
+       makecounter.sh upon changes to lisp.mk or shortlisp.
+       (lisp.mk): Make and load relative to abs_top_builddir.
+       (emacs$(EXEEXT)): Adjust acordingly.
+       (mostlyclean): Remove build-counter.c.
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Improve reliability of minor mode menu dispatch
+
+       * lisp/mouse.el (minor-mode-menu-from-indicator): Instead of using the
+       word at point, search for a matching enabled minor mode from the
+       beginning of the string object when mode-line-compact is enabled.
+
+2023-07-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix line number display under 'mode-line-format-right-align'
+
+       * src/xdisp.c (Fbuffer_text_pixel_size): Restore window attributes
+       important for redisplay of the target WINDOW.  (Bug#64713)
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Fix typos in touch-screen.el
+
+       * lisp/touch-screen.el (touch-screen-handle-point-update)
+       (touch-screen-handle-point-up): Fix typos.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Fix event data leak
+
+       * src/xterm.c (handle_one_xevent): Jump to XI_OTHER after
+       handling touch ownership event.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Fix display of minor mode menus when mode-line-compact is enabled
+
+       * lisp/mouse.el (minor-mode-menu-from-indicator): New arg
+       WINDOW.  If INDICATOR is a string object and mode-line-compat is
+       enabled within WINDOW, use the symbol within the object at its
+       position instead.
+       (mouse-minor-mode-menu): Pass posn-object and posn-window to
+       minor-mode-menu-from-indicator.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       * lisp/touch-screen.el (touch-screen-handle-point-update): Fix typo.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Avoid splurious menu-bar nil events
+
+       * src/keyboard.c (make_lispy_event): Return nil if no menu item
+       is found.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/touch-screen.el (touch-screen-hold)
+       (touch-screen-handle-point-up): Don't select inactive minibuffer
+       windows.
+       (touch-screen-handle-point-update): Improve detection of left
+       and right edges.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/touch-screen.el (touch-screen-handle-touch): Fix
+       treatment of stray update events.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Don't enable scroll-bar-mode by default on Android
+
+       * src/frame.c (syms_of_frame): Default to nil if HAVE_ANDROID.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Touchscreen Events): Describe
+       treatment of canceled touch sequences during touch event
+       translation.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Update JNI
+       prototypes.
+       * java/org/gnu/emacs/EmacsWindow.java (motionEvent): Set
+       cancelation flag in events sent where appropriate.
+       * lisp/touch-screen.el (touch-screen-handle-point-update):
+       Improve treatment of horizontal scrolling near window edges.
+       (touch-screen-handle-touch): Don't handle point up if the touch
+       sequence has been canceled.
+       * src/android.c (sendTouchDown, sendTouchUp, sendTouchMove): New
+       argument `flags'.
+       * src/androidgui.h (enum android_touch_event_flags): New enum.
+       (struct android_touch_event): New field `flags'.
+       * src/androidterm.c (handle_one_android_event): Report
+       cancelation in TOUCHSCREEN_END_EVENTs.
+       * src/keyboard.c (make_lispy_event): Fix botched merge.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Expose the ``cancellation'' of touch events to Lisp
+
+       * doc/lispref/commands.texi (Touchscreen Events):
+       * etc/NEWS: Describe new event parameter `canceled'.
+       * src/keyboard.c (make_lispy_event) <TOUCHSCREEN_END_EVENT>:
+       If event->modifiers, set canceled to t.
+
+       * src/termhooks.h (enum event_kind): Describe meaning of
+       modifiers in TOUCHSCREEN_END_EVENTs.
+       * src/xfns.c (setup_xi_event_mask): Select for
+       XI_TouchOwnership.
+       * src/xterm.c (xi_link_touch_point): Round X and Y and clear
+       ownership.
+       (xi_unlink_touch_point): Return 1 if the touch point is not
+       owned by Emacs, 2 otherwise.
+       (handle_one_xevent): Handle XI_TouchOwnership events and report
+       ownership correctly.
+       * src/xterm.h (enum xi_touch_ownership): New enum.  Write
+       commentary on XI touch sequence ownership.
+       (struct xi_touch_point_t): Use integer X and Y.  New field
+       `ownership'.  Adjust for alignment.
+
+2023-07-18  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Delete vc-deduce-fileset-1, taking advantage of set-buffer
+
+       * lisp/vc/vc.el (vc-deduce-fileset): Set buffer to the base
+       buffer, if any (bug#63949).  That's to replace the more complex
+       previous strategy.  vc-deduce-fileset is allowed to change the
+       current buffer, so why not do it for that case.
+       (vc-deduce-fileset-1): Delete, moving the meat of the logic back
+       to vc-deduce-fileset.
+
+2023-07-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-17  Juri Linkov  <juri@linkov.net>
+
+       * lisp/bindings.el (mode--line-format-right-align): Add 'mode-line' 
face.
+
+       Like in `tab-bar-format-align-right', use `add-face-text-property' to
+       add 'mode-line' face on the `rest-str' string for `string-pixel-width'
+       to calculate the correct pixel width (bug#62606).
+
+2023-07-17  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't distort character ranges in rx translation
+
+       The Emacs regexp engine interprets character ranges from ASCII to raw
+       bytes, such as [a-\xfe], as not including non-ASCII Unicode at all;
+       ranges from non-ACII Unicode to raw bytes, such as [ü-\x91], are
+       ignored entirely.
+
+       To make rx produce a translation that works as intended, split ranges
+       that that go from ordinary characters to raw bytes. Such ranges may
+       appear from set manipulation and regexp optimisation.
+
+       * lisp/emacs-lisp/rx.el (rx--generate-alt): Split intervals that
+       straddle the char-raw boundary when rendering a string regexp from an
+       interval set.
+       * test/lisp/emacs-lisp/rx-tests.el (rx-char-any-raw-byte):
+       Add test cases.
+
+2023-07-17  Brian Leung  <leungbk@posteo.net>
+
+       Eglot: check correct capability name in eglot-imenu (bug#64682)
+
+       * lisp/progmodes/eglot.el (eglot-imenu): Declare the correct name of
+       the server capability providing textDocument/documentSymbol.
+
+       Without this change, eglot-imenu always aborts even when used with
+       servers supporting textDocument/documentSymbol.
+
+2023-07-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-17  Po Lu  <luangruo@yahoo.com>
+
+       Don't deliver touch or pinch events from master or slave devices
+
+       * src/xfns.c (setup_xi_event_mask): Select for gesture events on
+       only master devices if safe.
+       * src/xterm.c (handle_one_xevent): Deliver touchscreen events
+       only from direct slave devices, and gesture events only from
+       master pointers.
+
+2023-07-17  Robert Pluim  <rpluim@gmail.com>
+
+       Fix eshell.texi markup
+
+       * doc/misc/eshell.texi (Aliases): Add missing @end table.  (Bug#64674)
+
+2023-07-17  Marc van der Wal  <marc+emacs@van-der-wal.fr>  (tiny change)
+
+       Check correct bit for DNS truncation
+
+       * lisp/net/dns.el (dns-read): The TC bit is the second bit, not the
+       third bit.  (Bug#64678)
+
+2023-07-17  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Touchscreen Events): Document
+       meaning of `mouse-1-menu-command'.
+       * lisp/mouse.el (minor-mode-menu-from-indicator): New arg EVENT.
+       Give it to popup-menu.
+       (mouse-minor-mode-menu): Use posn specified within EVENT.
+       * lisp/touch-screen.el (touch-screen-handle-touch): Fix
+       interactive translation.  Treat commands labeled
+       `mouse-1-menu-command' like ordinary keymaps.
+
+2023-07-17  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Touchscreen Events): Document
+       changes to simple translation.
+       * lisp/touch-screen.el (touch-screen-handle-point-up): Generate
+       `down-mouse-1' if the current gesture is `mouse-1-menu'.
+       (touch-screen-handle-touch): If binding is a keymap, set state
+       to `mouse-1-menu' and wait for point to be released before
+       generating down-mouse-1.
+
+2023-07-17  Po Lu  <luangruo@yahoo.com>
+
+       Improve word selection behavior
+
+       * lisp/tab-bar.el (tab-bar-map): Don't bind touch-screen-drag.
+       * lisp/touch-screen.el (touch-screen-drag): Extend the region
+       based on the position of the mark, not the position of point
+       relative to EVENT.
+       (touch-screen-translate-touch): Don't generate virtual function
+       keys for non-mouse events.
+       (function-key-map): Remove redundant definitions.
+       * src/keyboard.c (read_key_sequence): Don't generate *-bar
+       prefix keys for mock input (such as input from function key
+       translation.)
+
+2023-07-17  Po Lu  <luangruo@yahoo.com>
+
+       Improve touch screen support
+
+       * doc/emacs/input.texi (Touchscreens): Document the new feature
+       for people who have trouble dragging to word boundaries.
+       * lisp/touch-screen.el (touch-screen-word-select): New
+       defcustom.
+       (touch-screen-word-select-bounds)
+       (touch-screen-word-select-initial-word): New variable
+       definitions.
+       (touch-screen-hold): If `touch-screen-word-select', select the
+       word around EVENT.
+       (touch-screen-drag): If `touch-screen-word-select', extend the
+       region to the next word boundary if the character under point
+       constitutes a word.
+       (touch-screen-handle-point-update, touch-screen-handle-touch)
+       (touch-screen-translate-touch): Fix doc strings and fill
+       comments.
+
+2023-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       xdisp.c: Improve doc of `redisplay` flags a bit
+
+2023-07-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsService.java (displayToast):
+       * src/android.c (android_init_emacs_service): Remove unused
+       function.
+       * lisp/touch-screen.el (touch-screen-handle-point-up): Correctly
+       compute posn point.
+       (touch-screen-translate-touch): Update doc string.
+       (function-key-map): Define touch screen translation functions
+       within the internal border.
+
+2023-07-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Touchscreen Events): Improve
+       documentation.
+       * lisp/tab-bar.el (tab-bar-map): Bind `[tab-bar
+       touchscreen-hold]'.
+       * lisp/touch-screen.el (touch-screen-hold, touch-screen-drag):
+       New functions.
+       (touch-screen-handle-timeout): Generate a `touchscreen-hold'
+       event instead.
+       (touch-screen-handle-point-update): Generate a
+       `touchscreen-drag' event upon dragging.
+       (touch-screen-translate-touch): Cancel touch screen timer upon
+       exit.
+       * src/keyboard.c (access_keymap_keyremap): Take unsigned int
+       start and end instead.
+
+2023-07-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix Wdired with relative and abbreviated file names
+
+       * lisp/wdired.el (wdired-finish-edit): Support Dired buffers where
+       'dired-directory' is a list made of relative or abbreviated file
+       names.  (Bug#64606)
+
+2023-07-16  Po Lu  <luangruo@yahoo.com>
+
+       Improve touch-screen support
+
+       * doc/emacs/emacs.texi (Top):
+       * doc/emacs/input.texi (Other Input Devices): Correctly
+       capitalize subsection name.
+       (Touchscreens): Document additional translation.
+       * doc/lispref/commands.texi (Touchscreen Events): Document that
+       `touchscreen-end' events now have prefix keys.  Also, describe
+       mouse emulation and `touchscreen-scroll' events.
+       * doc/lispref/keymaps.texi (Translation Keymaps): Document
+       `current-key-remap-sequence'.
+       * lisp/touch-screen.el (touch-screen-translate-prompt): New
+       function.
+       (touch-screen-scroll): New command.  Bind to
+       `touchscreen-scroll'.
+       (touch-screen-handle-point-update, touch-screen-handle-point-up)
+       (touch-screen-handle-touch): Refactor to actually translate
+       touch screen event sequences, as opposed to looking up commands
+       and executing them.
+       (touch-screen-translate-touch): New function.  Bind in
+       function-key-map to all touch screen events.
+       (touch-screen-drag-mode-line-1, touch-screen-drag-mode-line)
+       (touch-screen-tap-header-line): Remove special commands for
+       dragging the mode line and clicking on the header line.
+       * lisp/wid-edit.el (widget-button-click): Adjust accordingly.
+       * src/keyboard.c (access_keymap_keyremap): Bind
+       `current-key-remap-sequence' to the key sequence being remapped.
+       (keyremap_step): Give fkey->start and fkey->end to
+       access_keymap_keyremap.
+       (head_table): Add imaginary prefix to touchscreen-end events as
+       well.
+       (syms_of_keyboard): New variable Vcurrent_key_remap_sequence.
+
+2023-07-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       16f3a09e8db ; * lisp/simple.el (kill-new): Fix a typo.  (Bug#64423)
+       d78e670237b ; * src/lisp.h: Improve commentary for XIL, XLI, XLP (bug...
+
+2023-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       sgml-mode.el: Cosmetic fixes
+
+       * lisp/textmodes/sgml-mode.el: Prefer #' to quote function names.
+       (sgml-font-lock-keywords-1, sgml-font-lock-syntactic-face):
+       Refer to font-lock faces rather than their variables.
+       (sgml-mode-facemenu-add-face-function): Remove redundant arg to 
`mapconcat`.
+       (sgml-electric-tag-pair-before-change-function): Remove left-over
+       debugging messages (bug#64636).
+
+2023-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       d09de2f49d7 Ignore quit while getting interprogram paste in kill-new
+       afdf54a5313 * lisp/progmodes/gdb-mi.el: Fix interactive invocation of...
+       b54febef5d7 Fix NetBSD build with and without ncurses
+       c5fb7301599 ; * lisp/paren.el (show-paren-function): Fix last change ...
+       ea696ea4b9a ; Fix last change.
+       b0181dafb9e Improve documentation of 'enable-local-variables' in Emac...
+       eb7c45ca43f ; Fix copy-paste in Widget Manual (Bug#64610)
+       aedbc3006e1 ; * doc/misc/eshell.texi (Aliases): Remove stray "@end ta...
+       673992d28e2 ; * lisp/progmodes/sql.el (sql-interactive-mode): Remove ...
+
+2023-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       7ac947f34c7 ; * src/lisp.h (struct Lisp_Overlay): Update commentary (...
+       9bc93c7996c Replace duplicate text from epa.texi by a reference
+       74cc1d27f1f Add basic usage information and fix references
+       f24bdbfaf57 Add concept index, title-case structure titles
+       0165b50b0ff ; * lisp/emacs-lisp/lisp.el (raise-sexp): Fix typo in doc...
+       4cf33b6bd02 ; * doc/misc/modus-themes.org: Fix whitespace (bug#64548).
+       4821da1ad7f Fix show-paren-mode when the parentheses is partially vis...
+       419b4d44914 ; Improve documentation of with-restriction
+       be34e8294af ; * admin/git-bisect-start: Update failing commits
+       8e06809fccd Merge branch 'scratch/bug64391' into emacs-29
+       dbac8076057 * lisp/net/tramp.el (tramp-get-buffer-string): Stabilize.
+       01fb898420f Simplify after adding internal function to enter a labele...
+       b741dc7fcde Add internal function to enter a labeled restriction
+
+       # Conflicts:
+       #       doc/misc/modus-themes.org
+
+2023-07-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       01fb898420f Simplify after adding internal function to enter a labele...
+       b741dc7fcde Add internal function to enter a labeled restriction
+
+2023-07-15  Matthias Meulien  <orontee@gmail.com>
+
+       Fix "Improve Python imports management commands"
+
+       * lisp/progmodes/python.el (python--list-imports): Prefer to
+       use an exit status >1.
+       (python--list-imports-check-status): New function to check
+       status of Python script.
+       (python--do-isort): Fix wrong status check introduced with
+       6295d7abdd4.  (Bug#64406)
+
+2023-07-15  Spencer Baugh  <sbaugh@catern.com>
+
+       Support displaying function name in the header line
+
+       In some languages, the function name as displayed in the mode-line by
+       which-func-mode can be quite long.  It's useful to be able to display
+       it in the header-line instead.  Let's support that.
+
+       * lisp/progmodes/which-func.el (which-func-display)
+       (which-func--use-header-line, which-func--use-mode-line):
+       Add. (Bug#64533)
+       (which-func-try-to-enable): Support 'which-func--use-header-line'.
+       (which-func--disable): Add, to support 'which-func--use-header-line'.
+       (which-func-ff-hook, which-func-update-1): Use 'which-func--disable'.
+
+2023-07-15  Łukasz Stelmach  <stlman@poczta.fm>
+
+       Show SHA-256 digest of a public key in 'nsm-format-certificate'
+
+       * lisp/net/nsm.el (nsm-format-certificate): Show public key
+       digest (SHA-256 if available).  Displaying the digest enables
+       users to verify the certificate with other tools like 'gnutls-cli'
+       which present much more detailed information.
+
+       * src/gnutls.c (emacs_gnutls_certificate_details): Export SHA-256
+       public key digest if supported by GnuTLS.  (Bug#64043)
+
+2023-07-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android): Add new node to menu.
+       (Android Environment): Add footnote pointing to new node.
+       (Android Software): New node.
+       * doc/emacs/emacs.texi (Top): Add new node to menu.
+       * java/AndroidManifest.xml.in (manifest): Fix location of
+       sharedUserId property.
+       * java/INSTALL: Improve documentation of shared user ID
+       support.
+
+2023-07-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Provide backtrace for byte-ops car, cdr, setcar, setcdr, nth and elt
+
+       Include calls to these primitives from byte-compiled code in
+       backtraces.  For nth and elt, not all errors are covered.
+       (Bug#64613)
+
+       * src/bytecode.c (exec_byte_code): Add error backtrace records for
+       car, cdr, setcar, setcdr, nth and elt.
+       * src/data.c (syms_of_data): Add missing defsyms for car, setcar,
+       setcdr, nth and elt.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--error-frame, bytecomp-tests--byte-op-error-cases)
+       (bytecomp--byte-op-error-backtrace): New test.
+
+2023-07-14  Po Lu  <luangruo@yahoo.com>
+
+       Make --with-shared-user-id work
+
+       * configure.ac (ANDROID_SHARED_USER_NAME): New variable.
+       Substitute it.
+       * java/AndroidManifest.xml.in: Set `sharedUserLabel' if a shared
+       user ID is enabled.
+       * java/res/values/strings.xml (shared_user_name): New string
+       resource.
+
+2023-07-14  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_blit_copy): Don't check for overflow
+       where not required.
+
+2023-07-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-14  Po Lu  <luangruo@yahoo.com>
+
+       Fix misreporting of window top line
+
+       * src/frame.h (FRAME_TOOL_BAR_TOP_LINES): Return tool_bar_lines,
+       not tool_bar_height.
+
+2023-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Reorder NaN, INF paras
+
+       * doc/lispref/numbers.texi (Float Basics):
+       Reorder paragraphs so that examples follow defns.
+
+2023-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve doc for VAX reading NaN, INF
+
+       * doc/lispref/numbers.texi (Float Basics): Improve description of
+       how Lisp reads infinities and NaNs on a VAX.
+
+2023-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-print: Allow expanding the contents of hash-tables
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-object) <hash-table>:
+       Add an ellipsis.
+       (cl-print-object-contents) <hash-table>: New method.
+
+2023-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/backtrace.el (backtrace--change-button-skip): Typo)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Decouple keep-place-indicator from global ERC module
+
+       * etc/ERC-NEWS: Let users know that `keep-place-indicator' is a wholly
+       separate module from `keep-place'.
+       * lisp/erc/erc-goodies.el (erc-keep-place-indicator-setup): Perform
+       some housekeeping on `erc-keep-place-mode'.
+       (erc-keep-place-indicator-mode, erc-keep-place-indicator-enable,
+       erc-keep-place-indicator-disable): Take precautions to work around the
+       activation state of global module `keep-place', but no longer depend
+       on it.
+       (erc--keep-place-indicator-on-global-module): New function to ensure
+       `erc-keep-place' runs exactly once on `erc-insert-pre-hook',
+       regardless of whether module `keep-place' is active.
+       * test/lisp/erc/erc-goodies-tests.el
+       (erc-goodies-tests--assert-kp-indicator-on,
+       erc-goodies-tests--assert-kp-indicator-off,
+       erc-goodies-tests--kp-indicator-populate,
+       erc-goodies-tests--keep-place-indicator): New helper functions.
+       (erc-keep-place-indicator-mode,
+       erc-keep-place-indicator-mode--no-global): Factor out some common
+       logic and rename former to latter.
+       (erc-keep-place-indicator-mode--global): New test.  (Bug#59943)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Improve walkthrough and sample config in ERC manual
+
+       * doc/misc/erc.texi: Improve "Sample Session" and "Sample
+       Configuration" sections.  Move introductory paragraph detailing the
+       history of official GNU IRC channels to the "History" chapter (from
+       "Sample Sessoin"), and leave a link in its place.  Silence strange
+       warning in "Getting Help and Reporting Bugs" about lack of punctuation
+       after xref.
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Add mini modules bufbar and nickbar to ERC
+
+       * doc/misc/erc.texi: Add `bufbar' and `nickbar' to known modules.
+       Also add `keep-place', which was missing, and remove `bbdb', which is
+       not part of ERC.  Add new section "Auxiliary Modules" for listing
+       experimental modules or those typically managed by some other feature.
+       * etc/ERC-NEWS: Mention new mini modules for libraries
+       erc-status-sidebar.el and erc-speedbar.el.
+       * lisp/erc/erc.el (erc-modules): Add `bufbar' and `nickbar' to
+       selection of offered modules.
+       * test/lisp/erc/erc-tests.el (erc-tests--modules): Add `bufbar' and
+       `nickbar'.  (Bug#63595)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Add erc-status-sidebar integration to erc-speedbar
+
+       * lisp/erc/erc-speedbar.el: Require `erc-button' atop file and don't
+       bother loading `dframe', which `speedbar' handles for us.
+       (erc-speedbar): Explain that `nickbar' is the module for this group
+       and library for the benefit of those who run M-x customize-group.
+       (erc-speedbar-nicknames-window-width): New option.
+       (erc-speedbar-hide-mode-topic): New option determining whether to hide
+       the mode and topic.
+       (erc-speedbar-my-nick-face): New option for determining face to use
+       when displaying user's current nick.
+       (erc-speedbar-browser): Call `erc-install-speedbar-variables'
+       explicitly and remove top-level `with-eval-after-load'.
+       (erc-speedbar-insert-target): Add parenthesized channel count after
+       channel name in server and channel views.
+       (erc-speedbar-expand-channel): Hide mode and topic depending on option
+       `erc-speedbar-hide-mode-topic' and pass buffer to
+       `erc-speedbar-insert-user'.
+       (erc-speedbar--nick-face-function): New internal function-valued
+       variable.
+       (erc-speedbar--highlight-self-and-ops): New function to serve as
+       default value for `erc-speedbar--nick-face-function'.
+       (erc-speedbar--on-click): Dispatch `erc-nick-popup' after trimming
+       status chars.
+       (erc-speedbar-insert-user): Revise doc string.  Call
+       `erc-speedbar--nick-face-function' to determine face.  Change
+       token for both expansion and on-click text props.  Assign
+       `erc-speedbar--on-click' as the mouse handler for nick items.
+       (erc-speedbar--buffer-options): Variable to override options locally
+       in speedbar buffer.
+       (erc-speedbar--hidden-speedbar-frame): Add variable to hold original
+       `speedbar-frame' before spoofing by setting to selected frame
+       containing window showing ERC buffer.
+       (erc-speedbar--emulate-sidebar-set-window-preserve-size,
+       erc-speedbar--status-sidebar-mode--unhook): Add function
+       to ensure status sidebar is showing correctly and helper to
+       unregister from hook on teardown.
+       (erc-speedbar--emulate-sidebar): Add function to control sidebar
+       nicknames setup.
+       (erc-speedbar--toggle-nicknames-sidebar): Add toggle function
+       for speedbar or emulated sidebar.
+       (erc-speedbar--ensure): Add helper function to show speedbar if it's
+       hidden or create one if none exists.
+       (erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable):
+       Add new mini module.
+       (erc-speedbar--dframe-controlled) Add function to overwrite
+       `speedbar-frame-mode' as `dframe-controlled' in speedbar buffer.
+       (erc-speedbar-toggle-nicknames-window-lock,
+       erc-speedbar-close-nicknames-window): Add commands to close speedbar
+       window and toggle its cyclability.
+       (erc-speedbar--compose-nicks-face): Add helper for nicks integration.
+       * test/lisp/erc/erc-scenarios-status-sidebar.el
+       (erc-scenarios-status-sidebar--nickbar): New test.  (Bug#63595)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Add preset styles to erc-status-sidebar
+
+       * lisp/erc/erc-networks.el (erc-networks--rename-server-buffer): Store
+       `erc-networks--id' in process object's plist.
+       * lisp/erc/erc-status-sidebar.el (erc-status-sidebar): Change group
+       parent from `convenience' to `erc'.
+       (erc-status-sidebar-channel-format): Mention in doc string that it
+       depends on new option `erc-status-sidebar-style'.
+       (erc-status-sidebar-highlight-active-buffer): New option to control
+       whether the current window's target is highlighted in the status bar.
+       (erc-status-sidebar-style): New option to determine whether servers
+       and queries also appear in the sidebar.
+       (erc-status-sidebar-click-display-action,
+       erc-status-sidebar-singular): New options.
+       (erc-status-sidebar-get-window): Consider
+       `erc-status-sidebar-singular'.
+       (erc-status-sidebar-open): Fix toggle functionality that somehow fell
+       through the cracks after the adoption of the package into ERC proper.
+       (erc-bufbar-mode, erc-bufbar-enable, erc-bufbar-disable): New module
+       named `bufbar' instead of `sidebar', which is more easily confusable
+       with `speedbar'.  The preferred name, `status-sidebar' was unavailable
+       because its minor-mode would have been `erc-status-sidebar-mode',
+       which is already taken by the major mode used for status-bar buffers
+       themselves.
+       (erc-status-sidebar-toggle): Ignore `erc-status-sidebar-singular'.
+       (erc-status-sidebar--trimpat, erc-status-sidebar--prechan): Add helper
+       vars for new sorting function, allowing it to honor the existing
+       interface, which only expects one argument.
+       (erc-status-sidebar-prefer-target-as-name): New function for
+       determining buffer name, preferring targets for target buffers.
+       (erc-status-sidebar-get-channame): Use internal API to help determine
+       name of buffer in sidebar.
+       (erc-status-sidebar-prefer-target-as-name,
+       erc-status-sidebar--show-disconnected,
+       erc-status-sidebar-all-target-buffers,
+       erc-status-sidebar-default-allsort): Add new naming and sorting
+       functions and associated helper functions and variables.
+       (erc-status-sidebar--active-marker,
+       erc-status-sidebar--set-active-line): New variable and function for
+       highlighting the active target in the status bar.
+       (erc-status-sidebar-default-insert,
+       erc-status-sidebar-pad-hierarchy): New functions for visiting various
+       stages of buffer modification when rendering sidebar.
+       (erc-status-sidebar-refresh): Consider presets and new options when
+       rendering sidebar.
+       (erc-status-sidebar-kill):  Disable `erc-bufbar-mode' when active.
+       (erc-status-sidebar-click): Appeal to option
+       `erc-status-sidebar-display-action' for `pop-to-buffer' action.
+       (erc-status-sidebar-scroll-up, erc-status-sidebar-scroll-down,
+       erc-status-sidebar-recenter): Add commands to scroll and
+       recenter sidebar from a target buffer's window.
+       (erc-status-sidebar-set-window-preserve-size): Ignore
+       `erc-status-sidebar-singular'.
+       (erc-status-sidebar-mode): Make non-interactive to avoid confusion
+       when folks run "M-x erc-status-sidebar-mode" expecting a module
+       toggle.
+       * test/lisp/erc/erc-scenarios-status-sidebar.el: New file.
+       * test/lisp/erc/resources/base/gapless-connect/foonet.eld: Fix wrong
+       manifest for channel and extend PASS timeout.  (Bug#63595)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Allow ERC's module toggles access to the prefix arg
+
+       * lisp/erc/erc-common.el (erc--module-toggle-prefix-arg): Add internal
+       variable for preserving the `arg' passed to a module's minor-mode
+       toggle, which was previously discarded.  Doing this lets modules that
+       are more interactive in nature overload their mode toggles with
+       alternate behaviors.
+       (define-erc-module): Bind `erc--module-toggle-prefix-arg' to the `arg'
+       parameter, which is normally defined inside a `define-minor-mode' body
+       form.
+       * test/lisp/erc/erc-tests.el (define-erc-module--global,
+       define-erc-module--local): Expect activation body to be wrapped by a
+       let form binding `erc--module-toggle-prefix-arg'.  (Bug#63595)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Fix buffer-mismatch bug in erc-scroll-to-bottom
+
+       * lisp/erc/erc-goodies.el (erc-scroll-to-bottom): Only `recenter' when
+       the selected window's buffer is current.  Previously, the module
+       `scrolltobottom' signaled an "Error in `post-command-hook'" when a
+       user clicked a channel indicator in the mode line from a window
+       showing another ERC buffer.
+       * lisp/erc/erc-track.el (erc-track--switch-fallback-blockers): New
+       internal variable used by `erc-track--switch-buffer' in deciding
+       whether to set `erc-track-last-non-erc-buffer' to the current buffer.
+       (erc-track--switch-buffer): Consult list of `buffer-match-p'
+       conditions in `erc-track--switch-fallback-blockers' to decide whether
+       to set `erc-track-last-non-erc-buffer' to the current buffer.
+       (Bug#63595)
+
+2023-07-14  David Leatherman  <leathekd@gmail.com>
+           Andy Stewart  <lazycat.manatee@gmail.com>
+           F. Jason Park  <jp@neverwas.me>
+
+       Add module for colorizing nicknames to ERC
+
+       * doc/misc/erc.texi: Add `nicks' to module lineup.
+       * etc/ERC-NEWS: Mention new module `nicks'.
+       * lisp/erc/erc-nicks.el: New file.
+       * lisp/erc/erc.el: (erc-modules): Add `nicks'.
+       * test/lisp/erc/erc-nicks-tests.el: New file.
+       * test/lisp/erc/erc-tests.el (erc-tests--modules): Add `nicks' to
+       inventory of available modules.  (Bug#63569)
+
+       Special thanks to Corwin Brust for doing much of the administrative
+       legwork to bring this addition to ERC.
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Allow custom display-buffer actions in ERC
+
+       * doc/misc/erc.texi: Add new section under "Integrations" chapter
+       describing `display-buffer' Custom function choice for ERC's many
+       buffer-display options.
+       * etc/ERC-NEWS: Mention new function variant for all buffer-display
+       options.
+       * lisp/erc/erc-backend.el: Add forward declaration for
+       `erc--called-as-input-p' and `erc--display-context'.
+       (erc--server-reconnect-display-timer,
+       erc--server-last-reconnect-display-reset): Use new name for option
+       `erc-reconnect-display', now `erc-auto-reconnect-display'.
+       (erc--server-determine-join-display-context): New generic function to
+       determine value of `erc--display-context' during JOINs.
+       (erc-server-JOIN, erc-server-PRIVMSG): Set `erc--display-context' to a
+       symbol for the handler's IRC command, like `JOIN', for the benefit of
+       custom `display-buffer'-like functions running in `erc-setup-buffer'.
+       (erc-server-471, erc-server-471-functions, erc-server-473,
+       erc-server-473-functions): New handlers for JOIN rejections.  Also
+       remove 471 and 473 from comment at bottom of file.
+       (erc-server-475): Bind `erc--called-as-input-p' so that `erc-cmd-JOIN'
+       sets `erc-interactive-display' context.
+       * lisp/erc/erc-join.el (erc-autojoin-mode, erc-autojoin-enable,
+       erc-autojoin-disable): Kill local variable
+       `erc-join--requested-channels'.  Add and remove
+       `erc-join--remove-requested-channels' to/from various server-handler
+       hooks for JOIN rejection numerics.
+       (erc-join--requested-channels): New local variable to remember
+       channels we've attempted to JOIN this session that haven't yet been
+       confirmed by the server.
+       (erc-join--remove-requested-channel): New JOIN rejection handler to
+       stop tracking channel in `erc-join--requested-channels'.
+       (erc--server-determine-join-display-context): module-specific
+       implementation of generic function for `erc-autojoin-mode'.
+       (erc-autojoin--join): Remember channels slated for JOIN'ing.
+       * lisp/erc/erc.el (erc--buffer-display-choices): New helper constant
+       for defining common `:type' for all buffer-display options.
+       (erc-buffer-display, erc-interactive-display,
+       erc-auto-reconnect-display, erc-receive-query-display): Use helper
+       `erc--buffer-display-choices' for defining `:type', which
+       includes a new choice for a `display-buffer'-like function.
+       (erc-reconnect-display, erc-auto-reconnect-display): Alias former to
+       latter, now the preferred name.
+       (erc-reconnect-timeout, erc-auto-reconnect-timeout): Change name from
+       former to latter.  This option is new in ERC 5.6.
+       (erc-reconnect-display-server-buffers): New option.
+       (erc-buffer-do): Revise doc string.
+       (erc--display-context): New variable, an alist of "context tokens" to
+       be forwarded as the "action alist" to `erc-buffer-display' functions.
+       (erc-skip-displaying-selected-window-buffer): New variable, deprecated
+       at birth, to act as an escape hatch for folks who don't want to skip
+       the displaying of buffers already showing in the selected window.
+       (erc--display-buffer-overriding-action): Local variable allowing
+       modules to influence the displaying of new ERC buffers independently
+       of user options.
+       (erc-setup-buffer): Do nothing when the selected window already shows
+       current buffer unless user has provided a custom display function.
+       Accommodate new Custom choice function values, like `display-buffer'
+       and `pop-to-buffer'.
+       (erc-open): Run `erc-setup-buffer' when option
+       `erc-reconnect-display-server-buffers' is non-nil, even for existing
+       server buffers.  Bind `display-buffer-overriding-action' to the value
+       of `erc--display-buffer-overriding-action' around calls to
+       `erc-setup-buffer'.
+       (erc-select-read-args): Add `erc--display-context' to environment.
+       (erc, erc-tls): Bind `erc--display-context' around calls to
+       `erc-select-read-args' and main body.
+       (erc-cmd-JOIN, erc-cmd-QUERY, erc--cmd-reconnect, erc-handle-irc-url):
+       Add item for `erc-interactive-display' to `erc--display-context'.
+       (erc-connection-established): Update name of
+       `erc-reconnect-display-timeout' to
+       `erc-auto-reconnect-display-timeout'.
+       (erc-message-english-s471, erc-message-english-s473): New variables,
+       format templates for JOIN rejection messages.
+       * test/lisp/erc/erc-scenarios-base-buffer-display.el
+       (erc-scenarios-base-buffer-display--defwin-recbury-intbuf,
+       erc-scenarios-base-buffer-display--defwino-recbury-intbuf,
+       erc-scenarios-base-buffer-display--count-reset-timeout): Use preferred
+       name `erc-auto-reconnect-display' for `erc-reconnect-display'.
+       * test/lisp/erc/erc-scenarios-join-display-context.el: New file.
+       * test/lisp/erc/erc-tests.el (erc--initialize-markers): Fix
+       unrealistic call to `erc-open'.
+       (erc-setup-buffer--custom-action): New test.
+       (erc-select-read-args, erc-tls, erc--interactive, erc-server-select):
+       Expect new environment binding for `erc--display-context'.
+       * test/lisp/erc/resources/join/buffer-display/mode-context.eld: New
+       file.  (Bug#62833)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Optionally combine faces in erc-display-message
+
+       * etc/ERC-NEWS: Tell module authors that `erc-display-message' can now
+       combine faces.
+       * lisp/erc/erc-button.el (erc-button--display-error-notice-with-keys):
+       Ask `erc-display-message' to compose `erc-notice-face' and
+       `erc-error-face'.
+       * lisp/erc/erc-match.el (erc-hide-fools): Merge `invisible' prop
+       `erc-match' with existing, if present, and move body to helper for
+       hiding matched messages.
+       (erc-match--hide-message): New helper function to hide messages
+       regardless of match type.
+       * lisp/erc/erc-track.el: (erc-track-faces-priority-list): Note in doc
+       string that faces reserved for critical messages are always
+       prioritized.  Wrap :type declaration in macro helper to ensure
+       `erc-button' is loaded beforehand.  Otherwise calling `setopt' with
+       the option's default value fails.
+       (erc-track--attn-faces): Add new internal variable for faces that
+       should always appear in the mode line, at least in the default client.
+       (erc-track-modified-channels, erc-track-face-priority): Prepend
+       `erc-track--attn-faces' to `erc-track-faces-priority-list'.
+       * lisp/erc/erc.el (erc-send-action): Ask `erc-display-message' to
+       apply both `erc-input-face' and `erc-action-face' to messages.
+       (erc--compose-text-properties): New internal variable to act as flag
+       for altering behavior of `erc-put-text-property'.
+       (erc--merge-prop): New function copied from `erc-button-add-face' for
+       general internal use with any text property by all of ERC.
+       (erc-display-message-highlight): Set fallback face to
+       `erc-default-face' the symbol instead of the string.  For this to
+       break third-party code, callers would have to supply erroneous types
+       for nonexistent or undefined handlers and then explicitly check for
+       and depend on such misuse, which seems unlikely and therefore not
+       worth mentioning in etc/ERC-NEWS.
+       (erc-display-message): Explain how `type' param works when it's a
+       list.  Fix code in type-as-list branch so that it optionally combines
+       faces instead of clobbers them.
+       (erc-put-text-property): Unalias from `put-text-property', but fall
+       back to the latter unless caller wants to combine faces, in which case,
+       defer to `erc--merge-prop'.
+       * test/lisp/erc/erc-button-tests.el
+       (erc-button--display-error-notice-with-keys): Expect a combined "error
+       notice" face.  (Bug#64301)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Add text props for CTCP messages and speakers in ERC
+
+       * etc/ERC-NEWS: Mention reduction in boldness of `erc-notice-face' and
+       `erc-action-face'.
+       * lisp/erc/erc-fill.el (erc-fill-spaced-commands,
+       erc-fill--spaced-commands): Rename former to latter and demote from
+       user option to internal variable.
+       (erc-fill): Change `erc-fill-spaced-commands' to
+       `erc-fill--spaced-commands'.
+       (erc-fill--wrap-continued-message-p): Use more precise `erc-ctcp' text
+       prop instead of face-based heuristic to detect CTCP ACTION message.
+       (erc-fill--wrap-action-dedent-p): New variable to toggle whether
+       `line-prefix' is applied to CTCP ACTION messages.  This exists less
+       to accommodate user preferences and more for third-party code that
+       assumes the first non-whitespace span in every message is a nick.
+       (erc-fill-wrap): Look for `erc-speaker' property before falling back
+       on word at point.  Use `erc-ctcp' to detect CTCP ACTION messages.
+       * lisp/erc/erc.el (erc-notice-face, erc-action-face): Prefer weight of
+       `semi-bold' when available so that buttonization is at least somewhat
+       perceptible in notices and action messages.
+       (erc-send-action): Ensure nickname passed to `erc-display-message' has
+       `erc-speaker' property and `erc-ctcp' ACTION property.
+       (erc--own-property-names): Add `erc-speaker' to lineup.
+       (erc-format-privmessage): Don't clobber `erc-nick-prefix-face'.  That
+       is, retain face applied to a leading stretch of characters in the
+       `nick' parameter, but continue to discard trailing faces.
+       (erc-format-my-nick, erc-ctcp-query-ACTION): Add new text property
+       `erc-speaker' to the nick portion of the formatted speaker label.  Do
+       this to assist modules, like `button' and `match', that currently
+       re-parse speakers in inserted messages.
+       (erc-process-ctcp-query): Add `erc-ctcp' property to entire message
+       before insertion hooks see it.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--compare): Warn
+       about certain unreliable comparisons if generalizing helper for use by
+       other modules.
+       * test/lisp/erc/erc-tests.el (erc-tests--equal-including-properties):
+       New helper compat macro.
+       (erc-format-privmessage): New test.  (Bug#64301)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Simplify erc-button-add-nickname-buttons
+
+       * lisp/erc/erc-button.el (erc-button--nick): Remove `face' slot, which
+       was set to `erc-button-face' by default.  It's ignored when the button
+       is a nick and thus useless and misleading.
+       (erc-button-add-nickname-buttons): Rework and reflow for readability.
+       Don't bind or set `erc-button' face because it's ignored when dealing
+       with nicks.  Don't return the value of face options when calling a
+       `form' function because they can be nil in practice even though their
+       Custom type specs do not say so.
+       * lisp/erc/erc-common.el (erc--with-dependent-type-match): Add helper
+       macro for Custom :type defs that incur warnings from `setopt' due to
+       some missing dependency.  This occurs when specifying a :type of
+       `face' instead of `symbol' and the option's default value includes
+       faces from another library that hasn't been loaded.
+       * lisp/erc/erc.el (erc--get-speaker-bounds): New helper function to
+       retrieve bounds of a speaker label when present.
+       * test/lisp/erc/erc-tests.el (erc--with-dependent-type-match): Add
+       test.  (Bug#64301)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Respect existing invisibility props in erc-stamp
+
+       * etc/ERC-NEWS: mention `erc-match-toggle-hidden-fools' and new
+       merging behavior when handling `invisible' text property.
+       * lisp/erc/erc-match.el (erc-hide-fools): change `invisible' property
+       to `erc-match' for all messages, not just those with offset bounds.
+       (erc-match--modify-invisibility-spec): Fix error in doc string.
+       (erc-match-toggle-hidden-fools): New command.
+       * lisp/erc/erc-stamp.el (erc-stamp--invisible-property): Add new
+       internal variable to hold existing `invisible' property merged with
+       the one registered by this module, the non-namespaced `timestamp'.
+       (erc-stamp--skip-when-invisible): Add new internal variable, an escape
+       hatch for pre-ERC-5.6 behavior in which timestamps were not applied at
+       all to invisible messages.  This led to strange-looking, uneven logs,
+       and it prevented other modules from offering toggle functionality for
+       invisibility-spec members registered to them.
+       (erc-add-timestamp): Merge with existing `invisible' property, when
+       present, instead of clobbering, but only when escape hatch
+       `erc-stamp--skip-when-invisible' is nil.
+       (erc-insert-timestamp-left, erc-format-timestamp): Use possibly merged
+       `invisible' prop value.  Don't bother with `isearch-open-invisible',
+       which only affects overlays.
+       (erc-insert-timestamp-right): Bind `buffer-invisibility-spec' to nil
+       when figuring `current-column'.  Apply `invisible' text prop to white
+       space around stamp.
+       * test/lisp/erc/erc-scenarios-match.el: Require `erc-fill' and
+       `erc-stamp'.
+       (erc-scenarios-match--invisible-stamp): Move common setup and core
+       assertions for some stamp and invisibility-related tests into a
+       fixture-like helper.
+       (erc-scenarios-match--stamp-left-fools-invisible): Fix temporarily
+       disabled test and use fixture.
+       (erc-scenarios-match--find-eol): New helper.
+       (erc-scenarios-match--stamp-right-fools-invisible,
+       erc-scenarios-match--stamp-right-invisible-fill-wrap,
+       erc-scenarios-match--stamp-both-invisible-fill-static): New tests.
+       (Bug#64301)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Deprecate erc-server-alist and erc-server-select
+
+       * etc/ERC-NEWS: Announce deprecation of `erc-server-alist' and
+       `erc-server-select'.
+       * lisp/erc/erc-networks.el: Comment out call to `erc-get' at end of
+       file.
+       (erc-server-alist) Change shape to accommodate a fifth member: TLS
+       ports.  Add default TLS ports for Libera.Chat and OFTC.  Deprecate
+       option.
+       (erc-ports-list): Overload for internal use to accept a number instead
+       of a list, but don't advertise this fact.
+       (erc-networks--server-select): Convert `erc-server-select' into a
+       function that performs the same prompting but returns a full URL or a
+       host name instead of calling `erc'.
+       (erc-server-select): Move to erc.el.
+       * lisp/erc/erc.el (erc--prompt-for-server-functions): New variable to
+       allow callers of `erc-select-read-args' to affect how server-prompting
+       is handled without adding additional params.
+       (erc-select-read-args): Defer to `erc--prompt-for-server-function'
+       when non-nil.
+       (erc-server-select): New transplanted function, a deprecated, now
+       TSL-aware version of the old quirky entry point from erc-networks.el.
+       Reimplemented as a simple wrapper for `erc'.
+       * test/lisp/erc/erc-networks-tests.el (erc-ports-list): New test.
+       * test/lisp/erc/erc-tests.el (erc-server-select): New test.
+       (Bug#64478)
+
+2023-07-14  F. Jason Park  <jp@neverwas.me>
+
+       Fix command-line parsing regression in erc-cmd-DCC
+
+       * lisp/erc/erc-compat.el (erc-compat--28-split-string-shell-command,
+       erc-compat--split-string-shell-command): Remove unused function and
+       macro.
+       * lisp/erc/erc-dcc.el (erc-cmd-DCC): Use own arg-parsing function.
+       * lisp/erc/erc.el (erc--shell-parse-regexp,
+       erc--split-string-shell-cmd): New regexp constant and arg-parsing
+       function based on those in shell.el.
+       * test/lisp/erc/erc-dcc-tests.el
+       (erc-dcc-tests--erc-dcc-do-GET-command): Accept new `nuh' argument
+       representing message source/sender.
+       (erc-dcc-do-GET-command): Add tests for regression involving pipe
+       character.
+       * test/lisp/erc/erc-tests.el (erc--split-string-shell-cmd): New test.
+       (Bug#62444)
+
+       Thanks to Fernando de Morais for reporting this bug.
+
+2023-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Use 'emacs-lisp-compilation-mode' in native compilation buffers
+
+       Re-install this commit 40492581f96, now that source of
+       the recursive-load has been fixed (bug#64494).
+
+       * lisp/emacs-lisp/comp.el (comp-log-to-buffer)
+       (comp-run-async-workers): Use 'emacs-lisp-compilation-mode' in the
+       buffers where we log the results of native compilation.  Suggested
+       by No Wayman <iarchivedmywholelife@gmail.com>.  (Bug#64452)
+
+2023-07-14  Po Lu  <luangruo@yahoo.com>
+
+       Clean up Android debug code
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (getSurroundingText): Don't print debug information if DEBUG_IC
+       is off.
+
+2023-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       src/comp.c: Use `pending_funcalls` to fix bug#64494
+
+       Make sure `comp.el` is never loaded synchronously by simply
+       delaying all calls to `native--compile-async` via `pending_funcalls`.
+
+       * lisp/startup.el (comp--compilable, comp--delayed-sources): Don't 
declare.
+       (startup--require-comp-safely)
+       (startup--honor-delayed-native-compilations): Delete functions.
+       (normal-top-level): Don't call 
`startup--honor-delayed-native-compilations`.
+
+       * src/comp.c (maybe_defer_native_compilation): Use `pending_funcalls`.
+       (syms_of_comp): Delete `Vcomp__delayed_sources` and `comp__compilable`.
+       Define `Qnative__compile_async`.
+
+2023-07-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-print: Put buttons on ellipses
+
+       Currently, in *Backtrace* we have a nice behavior for cl-printed objects
+       where they're truncated by default to a manageable size but we can click
+       on the "..." to expand them when needed.
+
+       The patch below moves that functionality to `cl-print.el` such
+       that it can be enjoyed "everywhere" (bug#64536).  It also has the
+       benefit of simplifying the code since `backtrace.el` had to look for
+       ellipses in order to add buttons to them, whereas now we can put
+       the ellipses right when we write them.
+
+       * lisp/emacs-lisp/cl-print.el (cl-print-object-contents): Improve 
docstring.
+       (cl-print-expand-ellipsis-function): New var.
+       (cl-print--default-expand-ellipsis): New function.
+       (cl-print-expand-ellipsis): New command.
+       (cl-print-insert-ellipsis): Allow nil instead of 0 to mean "this elides
+       the whole object".
+       (cl-print-ellipsis): Move button type from `backtrace.el`.
+       (cl-print-propertize-ellipsis): Put a button.
+       (cl-print--expand-ellipsis): Rename from `cl-print-expand-ellipsis`.
+       (cl-print-to-string-with-limit): Allow new value t for `limit`.
+
+       * lisp/emacs-lisp/backtrace.el (backtrace--font-lock-keywords): 
Simplify.
+       (backtrace--match-ellipsis-in-string): Delete function.
+       (backtrace--change-button-skip): Adjust to new button type name.
+       (backtrace--expand-ellipsis): New function, extracted from
+       `backtrace-expand-ellipsis`.
+       (backtrace-expand-ellipsis): Delete function.
+       (backtrace-ellipsis): Move button type to `cl-print.el`.
+       (backtrace--print-to-string): Don't look for cl-print ellipses any more.
+       (backtrace-mode): Use `backtrace--expand-ellipsis`.
+
+       * lisp/ielm.el (ielm--expand-ellipsis): New function.
+       (inferior-emacs-lisp-mode): Use it to fill the data when expanded.
+
+       * test/lisp/emacs-lisp/cl-print-tests.el
+       (cl-print-tests-check-ellipsis-expansion)
+       (cl-print-tests-check-ellipsis-expansion-rx): Adjust to new internal
+       function name.
+
+2023-07-13  Spencer Baugh  <sbaugh@catern.com>
+
+       Don't recalculate the buffer basename inside uniquify
+
+       Previously, uniquify--create-file-buffer-advice would use the filename
+       of the buffer to calculate what the buffer's basename should be.  Now
+       that gets passed in from create-file-buffer, which lets us fix several
+       bugs:
+
+       1. before this patch, if a buffer happened to be named the same thing
+       as directory in its default-directory, the buffer would get renamed
+       with a directory separator according to uniquify-trailing-separator-p.
+
+       2. buffers with a leading space should get a leading |, as described
+       by create-file-buffer's docstring; before this patch, uniquify would
+       remove that leading |.
+
+       * lisp/dired.el (dired-internal-noselect): Pass a directory name to
+       create-file-buffer.
+       * lisp/files.el (create-file-buffer): Do uniquify-trailing-separator-p
+       handling if passed a directory filename. (bug#62732)
+       * lisp/uniquify.el (uniquify-item):
+       (uniquify-rationalize-file-buffer-names, uniquify-rationalize,
+       uniquify-get-proposed-name, uniquify-rationalize-conflicting-sublist):
+       Remove uniquify-trailing-separator-p handling.
+       (uniquify--create-file-buffer-advice): Take new basename argument and
+       use it, instead of recalculating the basename from the filename.
+
+2023-07-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port NaN, infinity handling better to VAX
+
+       Nowadays .elc files routinely contain tokens like 1.0e+INF and
+       0.0e+NaN that do not work on antiques like the VAX that lack IEEE fp.
+       Port Emacs to these platforms, by treating infinities as extreme
+       values and NaNs as strings that trap if used numerically.
+       * src/lread.c (INFINITY): Default to HUGE_VAL if non-IEEE.
+       (not_a_number) [!IEEE_FLOATING_POINT]: New static array.
+       (syms_of_lread) [!IEEE_FLOATING_POINT]: Initialize it.
+       (read0): Report invalid syntax for +0.0e+NaN on platforms
+       that lack NaNs.
+       (string_to_number): On non-IEEE platforms, return HUGE_VAL
+       for infinity and a string for NaN.  All callers changed.
+
+2023-07-13  Juri Linkov  <juri@linkov.net>
+
+       * lisp/help-mode.el (help-setup-xref): Disable outline-minor-mode 
(bug#64575).
+
+2023-07-13  Spencer Baugh  <sbaugh@catern.com>
+
+       Fix flymake mode line scrolling with pixel-scroll-precision-mode
+
+       When pixel-scroll-precision-mode is enabled, scrolling the mouse
+       wheel will yield wheel-{up,down} events.  Flymake now binds the
+       new events in addition to the old mouse-wheel-{up,down}-event.
+
+       * lisp/progmodes/flymake.el:(flymake--mode-line-counter-scroll-prev)
+       (flymake--mode-line-counter-scroll-next)
+       flymake--mode-line-counter-map): New.
+       (flymake--mode-line-counter): Use new keymap and include
+       'flymake--diagnostic-type' as a property in the mode-line.
+       (Bug#64428)
+
+2023-07-13  Robert Pluim  <rpluim@gmail.com>
+
+       Prevent tex-shell buffer from reusing same window
+
+       * lisp/window.el (display-tex-shell-buffer-action): Add
+       'inhibit-same-window' to the default action.
+
+2023-07-13  Robert Pluim  <rpluim@gmail.com>
+
+       Autodetect coding system when yanking media
+
+       Some browers send eg 'text/html' selections formatted as UTF-8, but
+       with a type of STRING, which actually means iso-latin-1.  Autodetect
+       the correct coding system to use by calling 'gui-get-selection'.
+
+       * lisp/yank-media.el (yank-media--get-selection): Call
+       'gui-get-selection' instead of 'gui-backend-get-selection'.
+
+2023-07-13  Po Lu  <luangruo@yahoo.com>
+
+       Add a Doc View tool bar
+
+       * etc/NEWS: Announce the new tool bar.
+       * etc/images/last-page.xpm:
+       * etc/images/last-page.pbm: New images.  Mirrored from
+       next-page.xpm.
+       * lisp/doc-view.el (doc-view-menu): Use `doc-view-new-search'
+       instead of an anonymous function.
+       (doc-view-tool-bar-map): New keymap.
+       (doc-view-search): Update the tool bar after initiating a
+       search.
+       (doc-view-new-search): New command.
+       (doc-view-mode): Set the tool bar map appropriately.
+
+2023-07-13  Po Lu  <luangruo@yahoo.com>
+
+       Improve workaround for partial texture updates on Android
+
+       * java/AndroidManifest.xml.in:
+       * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Don't
+       change hardware acceleration state.
+       * java/org/gnu/emacs/EmacsNative.java (notifyPixelsChanged): New
+       function.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       New field `bitmapChanged'.
+       (copyToFrontBuffer): Signal that the bitmap has changed.
+       (onDraw): If the bitmap has changed, increment the generation
+       ID.
+       * src/android.c (JNICALL): Implement new function.
+
+2023-07-13  Po Lu  <luangruo@yahoo.com>
+
+       Disable hardware acceleration on Android
+
+       It serves no purpose and causes tearing.  Uploading the bitmap
+       to the GPU takes about as long as it does to incrementally
+       update the surface in software.
+
+       * java/AndroidManifest.xml.in: Disable hardware acceleration.
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): Make
+       lastClosedMenu static.
+       * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Enable
+       hardware acceleration within alert dialogs.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (onDraw): Describe
+       why hardware acceleration is disabled.
+       * java/org/gnu/emacs/EmacsWindow.java (run): Remove redundant
+       call.
+
+2023-07-13  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-12  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-C-h-map-prompt to make it customizable
+
+       Fixes #350
+
+2023-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Minor correction to X error handling
+
+       * src/xterm.c (x_error_handler): Clear fail->selection_serial
+       after reporting an error during selection transfer, in case any
+       other outstanding requests within the protected section also
+       report errors.
+
+2023-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Improve commentary
+
+       * src/xterm.c (x_ignore_errors_for_next_request): Reword
+       description of SELECTION_SERIAL.
+
+2023-07-12  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix advertisement of textDocument.codeAction.resolveSupport
+
+       See https://github.com/joaotavora/eglot/issues/1255.
+
+       * lisp/progmodes/eglot.el (eglot-client-capabilities):
+       Use correct format for textDocument.codeAction.resolveSupport.
+
+2023-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_run_select_thread): Correctly return
+       the set of ready read and write descriptors on __ANDROID_API__ <
+       16 systems.
+       (android_select): Clear the set of ready file descriptors if
+       events from the event queue are present despite pselect failing.
+
+2023-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix keyboard state translation on Android
+
+       * src/androidterm.c (android_android_to_emacs_modifiers)
+       (android_emacs_to_android_modifiers): Fix statement precedence
+       bugs.
+
+2023-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsWindow.java (whatButtonWasIt): Handle
+       back and forward buttons along with styluses.
+       * src/doc.c (close_file_unwind_android_fd): New function.
+       (get_doc_string, Fsnarf_documentation): Don't create a temporary
+       fd if it can be avoided.
+
+2023-07-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-11  Po Lu  <luangruo@yahoo.com>
+
+       Fix doc file generation on Android
+
+       * .gitignore: Ignore cross/etc/DOC.
+       * configure.ac: Make the directory `cross/etc'.
+       * cross/Makefile.in (CLEAN_SUBDIRS): Clean files inside `etc' as
+       well.
+       * java/Makefile.in (install_temp): Copy cross/etc/DOC to the
+       package if it is available.
+       * src/Makefile.in (SOME_MACHINE_OBJECTS): Add androidselect.c,
+       sfntfont-android.c and sfntfont.c.
+       (libemacs.so): Depend on $(etc)/DOC.
+
+2023-07-11  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_fill_span): Correctly clip span to raster
+       width, ensuring that the last pixel is filled.
+       (main): Adjust test sizes.
+
+2023-07-11  Bill Wohler  <wohler@newt.com>
+
+       Fix Wrong type argument: consp, nil error
+
+       * lisp/mh-e/mh-folder.el (mh-update-sequences): Add cur sequence when
+       missing
+
+2023-07-11  Bill Wohler  <wohler@newt.com>
+
+       Fix mh-show-msg: Symbol’s value as variable is void: 
mh-mm-inline-media-tests
+
+       * lisp/mh-e/mh-show.el: Require mh-mime
+
+2023-07-11  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsView.java (onGenericMotionEvent): Call
+       onGenericMotionEvent.
+       * java/org/gnu/emacs/EmacsWindow.java (Coordinate): New fields
+       `button' and `id'.
+       (<init>): Add new arguments to the construtor.
+       (whatButtonWasIt): Return 0 if the button state has not changed.
+       (buttonForEvent): New function.
+       (figureChange): Return the Coordinate object associated to
+       EVENT.  Determine whether or not EVENT was accompanied by a
+       change to the button state, and ascertain which button that was.
+       (motionEvent): New function.
+       (onGenericMotionEvent, onTouchEvent): Factor out touch and mouse
+       event delivery to motionEvent.
+
+2023-07-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-11  João Távora  <joaotavora@gmail.com>
+
+       Eglot: add support for :codeAction/resolve
+
+       See https://github.com/emacs-grammarly/eglot-grammarly/issues/7.
+
+       * lisp/progmodes/eglot.el (eglot--lsp-interface-alist): Augment
+       CodeAction type.
+       (eglot-execute): Consider :codeAction/resolve
+       (eglot-client-capabilities): Advertise
+       textDocument.codeAction.resolveSupport
+
+2023-07-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Add support for explicitly-remote commands in Eshell
+
+       * lisp/files.el (file-remote-p):
+       * doc/lispref/files.texi (Magic File Names): Document 'never' for
+       CONNECTED argument.
+
+       * lisp/net/tramp.el (tramp-handle-file-remote-p): Handle CONNECTED
+       value of 'never'.
+
+       * lisp/eshell/esh-ext.el (eshell-explicit-remote-commands): New
+       option.
+       (eshell-ext-initialize): Apply 'eshell-handle-remote-command' when
+       requested.
+       (eshell-handle-remote-command): New function.
+       (eshell-remote-command): Reimplement this function and dispatch to
+       'eshell-external-command', which can handle remote processes on its
+       own.
+
+       * test/lisp/eshell/esh-ext-tests.el
+       (esh-ext-test/explicitly-remote-command)
+       (esh-ext-test/explicitly-local-command): New tests.
+
+       * doc/misc/eshell.texi (Remote Access): Document explicitly-remote
+       commands.
+
+       * etc/NEWS: Announce this change.
+
+2023-07-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Add documentation about remote access in Eshell
+
+       * doc/misc/eshell.texi
+       (Invocation): Mention the '*' prefix.
+       (Remote Access): New section...
+       (Commands): ... link to it.
+
+2023-07-10  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/project.el (project-prompt-project-name): Fix order.
+
+       Reverse choices in this recently added new command to follow exactly
+       the same order as in the old function 'project-prompt-project-dir'.
+
+2023-07-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Further simplify configure-time locale testing
+
+       * configure.ac (gl_STDLIB_H): Replace this, not gt_LOCALE_FR_UTF8,
+       as this lets us also omit MB_CUR_MAX checking that will never be
+       executed, and also lets us remove testing for ecvt, fcvt, gcvt
+       that Emacs doesn’t need.
+       (AC_C_RESTRICT): Invoke explicitly, as Emacs uses ‘restrict’
+       directly.  Also, simplifies the replacement for gl_STDLIB_H, which
+       would otherwise need to AC_REQUIRE AC_C_RESTRICT.
+       * lib/gnulib.mk.in: Regenerate via admin/merge-gnulib.
+
+2023-07-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp test
+
+       * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
+       Adapt test.
+
+2023-07-10  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix eglot--sig-info again
+
+       See https://github.com/joaotavora/eglot/issues/1253
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Fall back to regexp
+       technique if no parameters or poor parameter information.
+
+2023-07-10  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix eglot--sig-info
+
+       See https://github.com/joaotavora/eglot/issues/1253
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Fix.
+
+2023-07-10  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsService.java (browseUrl): New argument
+       SEND.  Choose from a list of applications that want to share the
+       URL if true.
+       * lisp/net/browse-url.el (browse-url-android-share): New user
+       option.
+       (browse-url-default-android-browser): Respect said user option.
+       * src/android.c (android_init_emacs_service)
+       (android_browse_url): Expose new option.
+       * src/android.h: Update prototypes.
+       * src/androidselect.c (Fandroid_browse_url): Likewise.
+
+2023-07-10  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify ‘configure’ check for MB_CUR_MAX
+
+       * admin/merge-gnulib: Remove m4/locale-fr.m4.
+       * configure.ac (gt_LOCALE_FR_UTF8): Replace Gnulib’s
+       definition with a near no-op, as Emacs doesn’t care
+       about the Solaris 10 MB_CUR_MAX bug.
+       * lib/gnulib.mk.in: Regenerate.
+       * m4/locale-fr.m4: Remove; no longer needed due
+       to above changes.
+
+2023-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-07-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsWindow.java (eventModifiers)
+       (motionEventModifiers): New functions.
+       (onKeyDown, onKeyUp, onFocusChanged, onSomeKindOfMotionEvent):
+       Don't record the previous modifier mask; instead, always use the
+       modifier state specified in the event.
+       * src/androidterm.c (handle_one_android_event): Don't dispatch
+       button release events when a popup is active.
+
+2023-07-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsService.java (onStartCommand): Fix
+       typo in notification message.
+       * java/org/gnu/emacs/EmacsWindow.java (onFocusChanged): Reset
+       the recorded modifier state upon a change to the window focus.
+
+2023-07-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsDrawPoint.java (perform): Don't fill
+       an extra pixel.
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Make sure
+       scaledDensity is always at least 160 dpi.
+
+2023-07-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-print.el: Reduce code duplication
+
+       While at it, fix a bug in `cl-print-object-contents` for strings,
+       where we forgot to pass `stream` to `princ` at one place and simplify
+       a `substring` call using a negative offset.
+
+       * lisp/emacs-lisp/cl-print.el (cl-print--cons-tail)
+       (cl-print--vector-contents, cl-print--struct-contents)
+       (cl-print--string-props): New functions, extracted from
+       `cl-print-object-contents`.
+       (cl-print-object, cl-print-object-contents): Use them.
+
+2023-07-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Add special '$GID' variable in Eshell
+
+       See bug#64529.
+
+       * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$GID'.
+
+       * test/lisp/eshell/esh-var-tests.el (esh-var-test/gid-var): New test.
+
+       * doc/misc/eshell.texi (Variables): Document '$GID'.
+
+       * etc/NEWS: Announce this change (and the previous change for '$UID').
+
+2023-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pp-fill: Fix missing indentation in some cases
+
+       * lisp/emacs-lisp/pp.el (pp-fill): Improve handling of char-tables.
+       (pp-buffer): Improve backward compatibility.
+
+2023-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/menu-bar.el (menu-bar-search-options-menu): Don't quote lambdas
+
+       Expose the commands to the compiler.
+
+2023-07-08  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Minor tree-sitter cleanups
+
+       * lisp/treesit.el (treesit-fontify-with-override): Fix docstring
+       grammar.  Remove redundant precondition (bug#64052).
+       * src/treesit.c (Ftreesit_parser_set_included_ranges): Fix typo in
+       commentary.
+       (treesit_predicate_equal, treesit_predicate_match)
+       (treesit_predicate_pred): Avoid fixnum roundtrip by using
+       list_length in place of Flength.  Make error messages more accurate.
+       (treesit_eval_predicates): Quote predicate names in error message.
+
+2023-07-08  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Minor search_buffer cleanup
+
+       * src/search.c: Move commentary that used to precede search_buffer
+       to that location once more.  Update it for the current arglist.
+       (search_command, search_buffer_non_re, search_buffer):
+       * src/lisp.h (search_buffer): Turn RE flag/argument from an int into
+       a bool.  All callers changed (bug#64049).
+
+2023-07-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       Rearrange setting date and modes in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Set date
+       and modes if appropriate.
+       (tramp-do-copy-or-rename-file-via-buffer)
+       (tramp-do-copy-or-rename-file-directly)
+       (tramp-do-copy-or-rename-file-out-of-band): Do not set date and modes.
+
+2023-07-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix EmacsDrawLine again
+
+       * java/org/gnu/emacs/EmacsDrawLine.java (perform): Symmetrically
+       adjust coordinates to cover the last pixel.  Then, fill the left
+       most pixel of the line.
+
+2023-07-08  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Fix condition-case-unless-debug with :success
+
+       * lisp/subr.el (condition-case-unless-debug): Don't add debug
+       condition to :success handler (bug#64404).
+       * test/lisp/subr-tests.el (condition-case-unless-debug)
+       (condition-case-unless-debug-success): New tests.
+
+2023-07-08  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Mention minibuffer-next-completion in completion-help
+
+       Now that it's not necessary to switch to the *Completions* buffer to
+       switch between and choose completions, we should make that clear in
+       the help text.  Let's also make the bindings uniform both in and
+       outside the *Completions* buffer so users don't have to think about
+       the difference.
+
+       In working with new users, they've assumed that since the help text in
+       *Completions* says "Click on a completion to select it", that that's
+       the only way to select a completion.  This text should help clarify
+       that.
+
+       * doc/emacs/mini.texi (Completion Commands): Document new bindings.
+       * lisp/simple.el (completion-list-mode-map): Bind
+       minibuffer-{next,previous,choose}-completion.
+       (completion-setup-function): Mention bindings for
+       minibuffer-{next,previous,choose}-completion. (Bug#64425)
+
+2023-07-08  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       600b90ed568 Mark failing icalendar test as unstable (bug#56241)
+       f8a918c9778 ; * src/coding.c (Fcoding_system_put): Improve doc string.
+       40f84e906f6 ; * doc/lispref/keymaps.texi (Key Binding Commands): Fix ...
+       502a7800319 ; Improve documentation of 'vertical-motion' in ELisp manual
+       0d90873fa41 ; * src/indent.c (Fvertical_motion): Doc fix.
+       9b38773a20b ; * lisp/dired.el (dired-no-confirm): Doc fix.  (Bug#64493)
+       a30ebe7a556 ; Improve documentation of key-binding commands
+       c3fefb2b3ae Improve natnump shortdoc
+       244d4c837ab correct info documentation of benchmark-call
+       67def1f5502 * lisp/progmodes/grep.el (rgrep): Fix docstring.
+       8da2091362d ; Fix documentation of minibuffer-completion commands
+       aa030698cef ; Fix typos in documented names of keymap-* functions
+       a9b46bb25df Include a help-echo for flymake's modeline counters
+       37ed3d15f38 Avoid errors in completion due to 'completion-regexp-list'
+       15ff8761777 ; * lisp/register.el (register-val-describe): Doc fix.
+       fe7b909c16c ; Fix two typos in recent changes in the manual
+       7a74b8c3277 C Mode: Don't fontify foo globally as type due to "struct...
+       823bf6bdb1a * lisp/rect.el (rectangle--duplicate-right): Fix rectangl...
+       e339d0080d3 ; * test/lisp/misc-tests.el (ert): require misc to avoid ...
+
+       # Conflicts:
+       #       lisp/rect.el
+
+2023-07-08  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix 'toggle-side-windows' with 3 or more side windows
+
+       * lisp/window.el (window--state-put-1): Consider
+       'window-combined-p' when determining 'window-combination-limit'.
+       (window-state-put): Bind 'window-combination-limit' and
+       'window-combination-resize' to nil.  (Bug#64405)
+
+2023-07-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * etc/NEWS: Document changes to coding-system mnemonics.
+
+2023-07-08  Ulrich Müller  <ulm@gentoo.org>
+
+       Disambiguate mode line indication for utf-8 and utf-16
+
+       * lisp/international/mule-conf.el (utf-7):
+       * lisp/language/cyrillic.el (koi8-u): Change mnemonic letters to
+       ?u and ?\N{cyrillic capital letter u}, respectively.
+
+2023-07-08  Vladimir Sedach  <vas@oneofus.la>
+
+       Fix 'shell-dirtrack-mode' showing as enabled in unrelated buffers
+
+       * lisp/shell.el (shell-dirtrack-mode): Reverse the alias.
+       (shell-dirtrack-mode): Move before first use of the variable.  Add
+       :interactive keyword.
+       (shell-directory-tracker, shell-cd): Use 'shell-dirtrack-mode'
+       instead of 'shell-dirtrackp'.  (Bug#64311)
+
+2023-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Avoid aborts when trying to 'read' sub-char-tables
+
+       * src/data.c (Ftype_of): Support 'sub-char-table'.  (Bug#64450)
+       * src/lisp.h: Fix commentary of char-table.
+
+2023-07-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Document some missing Eshell commands
+
+       * doc/misc/eshell.texi (Built-ins): Document 'eshell-debug'.
+       (Extra built-in commands): Document 'count', 'ff', and 'gf'.
+
+2023-07-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsService.java (DEBUG_IC)
+       (DEBUG_THREADS): Improve commentary.
+       * src/androidterm.c (handle_one_android_event): Signal
+       completion of IME events that have lost their frames.
+       (requestCursorUpdates): Don't set an edit counter as this event
+       won't be passed to the text conversion machinery.
+
+2023-07-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Fix bug#64232
+
+2023-07-07  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Fix tab-bar-tab-name-current for active minibuffer.
+
+       (tab-bar-tab-name-current): Use get-mru-window in the active minibuffer
+       when minibuffer-selected-window is nil after switching to another tab.
+       (tab-bar-tab-name-current-with-count)
+       (tab-bar-tab-name-truncated): Use tab-bar-tab-name-current.
+
+2023-07-07  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Improve tab-bar-minibuffer-restore-tab (bug#64373).
+
+       (tab-bar-select-tab): Set tab-bar-minibuffer-restore-tab and
+       minibuffer-exit-hook minibuffer-locally to handle recursive minibuffers
+       for non-nil read-minibuffer-restore-windows.
+       (tab-bar-minibuffer-restore-tab): No need to reset minibuffer-local 
values.
+
+2023-07-07  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSurfaceView.java (copyToFrontBuffer):
+       Use fallback bit blit function on Android 7.0 as well, as
+       crashes have been observed in drawBitmap.
+
+2023-07-07  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/tool-bar.el (modifier-bar-modifier-list): New variable.
+       (modifier-bar-button): New function.
+       (tool-bar-event-apply-alt-modifier)
+       (tool-bar-event-apply-super-modifier)
+       (tool-bar-event-apply-hyper-modifier)
+       (tool-bar-event-apply-shift-modifier)
+       (tool-bar-event-apply-control-modifier)
+       (tool-bar-event-apply-meta-modifier): Factor out modifier bar
+       logic to that function, and redisplay the tool bar where
+       necessary.
+       (modifier-bar-available-p): New function.
+       (modifier-bar-mode): Disable tool bar items corresponding to
+       modifier keys that've already been pressed.
+
+       * etc/images/shift.pbm: Regenerate from correct font.
+
+2023-07-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Use 'emacs-lisp-compilation-mode' in native compilation buffers"
+
+       This reverts commit 40492581f96626e405e4b453456b8c9b83822c97.
+       It caused a recursive-load error when native-compiling files.
+       (Bug#64391)
+
+2023-07-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Use 'emacs-lisp-compilation-mode' in native compilation buffers
+
+       * lisp/emacs-lisp/comp.el (comp-log-to-buffer)
+       (comp-run-async-workers): Use 'emacs-lisp-compilation-mode' in the
+       buffers where we log the results of native compilation.  Suggested
+       by No Wayman <iarchivedmywholelife@gmail.com>.  (Bug#64452)
+
+2023-07-06  Spencer Baugh  <sbaugh@catern.com>
+
+       Allow floating the ediff control frame under X
+
+       This is a step in the direction of making ediff behave better by
+       default under tiling window managers and fixing Bug#62164.
+
+       * lisp/vc/ediff-wind.el (ediff-floating-control-frame): Add
+       defcustom.
+       (ediff-frame-make-utility, ediff-setup-control-frame): Allow setting
+       the control frame up as a utility window under X.  (Bug#62164)
+
+2023-07-06  Hugo Heagren  <hugo@heagren.com>
+
+       Support right-align in mode-line
+
+       * lisp/bindings.el (mode-line-right-align-edge):  New custom
+       variable, controls where `mode-line-format-right-align' should
+       align to.
+       (mode-line-format-right-align):  New function.  If the symbol
+       `mode-line-format-right-align' appears in `mode-line-format',
+       then return return a padding string which aligns everything
+       after that symbol to the right.  Padding width is altered with
+       the display property and depends on the value of
+       `mode-line-right-align-edge'.
+       (mode-line-format-right-align):  New variable.  Convenience
+       definition for including right alignment in `mode-line-format'.
+       * doc/lispref/modes.texi (Mode Line Variables):  Document new
+       alignment functionality and user option.  (Bug#62606)
+
+2023-07-06  Matthias Meulien  <orontee@gmail.com>
+
+       Improve Python imports management commands
+
+       * lisp/progmodes/python.el (python--list-imports): Handle import
+       errors.
+       (python--do-isort): Specialize error message.  (Bug#64406)
+
+2023-07-06  Wang Diancheng  <dianchengwang@gmail.com>  (tiny change)
+
+       Fix target-async and background execution in gdb-mi.el
+
+       * lisp/progmodes/gdb-mi.el (gdb-target-async-checked): New
+       variable.
+       (gdb-non-stop-setting): Change the value back to default to
+       non-nil on systems other than MS-Windows.
+       (gdb-non-stop-handler): Try to set mi-async first, falling back to
+       target-async by calling 'gdb-set-mi-async-handler'.
+       (gdb-set-mi-async-handler, gdb-try-check-target-async-support):
+       New functions.
+       (gdb-check-target-async): Set 'gdb-non-stop' here...
+       (gdb-starting): ...and here.
+       (gdb-stopped): Call 'gdb-try-check-target-async-support' when the
+       program stops for the first time.  (Bug#64186)  (Bug#63084)
+
+2023-07-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsNative.java (scaledDensity): Announce
+       new argument `scaledDensity'.
+       * java/org/gnu/emacs/EmacsNoninteractive.java (main): Specify
+       new argument.
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Compute an
+       adjusted DPI for the font size based on the ratio between
+       density and scaledDensity.
+       (run): Specify that adjusted density.
+       * src/android.c (setEmacsParams): Set
+       `android_scaled_pixel_density'.
+       * src/android.h: (android_scaled_pixel_density: New variable.
+       * src/androidterm.c (android_term_init): Set `font_resolution'.
+       * src/androidterm.h (struct android_display_info): New field.
+       * src/font.c (font_pixel_size, font_find_for_lface)
+       (font_open_for_lface, Ffont_face_attributes, Fopen_font): Use
+       FRAME_RES instead of FRAME_RES_Y.
+       * src/frame.h (FRAME_RES): New macro.  Use this to convert
+       between font point and pixel sizes as opposed to FRAME_RES_Y.
+       * src/w32font.c (fill_in_logfont):
+       * src/xfaces.c (Fx_family_fonts, set_lface_from_font): Use
+       FRAME_RES instead of FRAME_RES_Y.  (bug#64444)
+
+2023-07-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Improve some big regexps
+
+       * lisp/language/lao-util.el (lao-transcription-pattern):
+       Remove duplicate definition.
+       * lisp/language/tibetan.el (tibetan-regexp, tibetan-precomposed-regexp)
+       (tibetan-precomposition-rule-regexp): Use regexp-opt.
+
+2023-07-05  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Restore the original tab where minibuffer was 
activated.
+
+       (tab-bar-minibuffer-restore-tab): New variable and function.
+       (tab-bar-select-tab): Use them (bug#64373).
+
+2023-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Fix bug#64459
+
+2023-07-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt information about Tramp's temporary directory
+
+       * doc/misc/tramp.texi (Overview): Use scp in the example.
+       (FUSE-based methods): Move information about mount point to node
+       "FUSE setup".
+       (Overview, Predefined connection information, FUSE setup)
+       (Traces and Profiles): Refer to node "Temporary directory".
+       (Frequently Asked Questions): Move information about temporary
+       directory to node "Temporary directory".
+       (Temporary directory): New node.
+       (Top, Files directories and localnames): Add it to @menu.
+
+2023-07-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix bug#64445
+
+       * doc/emacs/android.texi (Android Environment): Document that
+       Emacs also receives READ_EXTERNAL_STORAGE by default on old
+       versions of Android.
+       * java/AndroidManifest.xml.in: Request READ_EXTERNAL_STORAGE.
+       (bug#64445)
+
+2023-07-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/lisp/net/tramp-tests.el (tramp-test49-unload): Extend test.
+
+2023-07-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       `remote-file-name-access-timeout' being 0 is equal to nil
+
+       * doc/lispref/files.texi (Testing Accessibility): Clarify the
+       value of remote-file-name-access-timeout.
+
+       * etc/NEWS: Clarify the value of remote-file-name-access-timeout.
+
+       * lisp/files.el (remote-file-name-access-timeout): Adapt docstring.
+
+       * lisp/net//tramp.el (with-tramp-timeout): Ensure, that the
+       timeout is a positive number, or nil.
+       (tramp-handle-access-file): Simplify code.
+
+2023-07-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash between Android 4.0 and Android 5.1
+
+       * java/org/gnu/emacs/EmacsService.java (detectMouse): Don't use
+       function that is not present on Android 4.0.
+
+2023-07-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Misc Events): Correctly index
+       `set-text-conversion-style'.
+       * lisp/tool-bar.el (tool-bar-event-apply-alt-modifier)
+       (tool-bar-event-apply-super-modifier)
+       (tool-bar-event-apply-hyper-modifier)
+       (tool-bar-event-apply-shift-modifier)
+       (tool-bar-event-apply-control-modifier)
+       (tool-bar-event-apply-meta-modifier): Pass t when restoring text
+       conversion style.
+       * src/keyboard.c (restore_reading_key_sequence): New function.
+       (read_key_sequence): Set `reading_key_sequence' where necessary.
+       * src/keyboard.h: Declare variable.
+       * src/textconv.c (check_postponed_buffers): New function.
+       (Fset_text_conversion_style): New argument.  If set, and a key
+       sequence is being read, postpone resetting the IME until the key
+       sequence is read.
+       (syms_of_textconv): Clear new variable and add staticpro.
+       * src/textconv.h: Update prototypes.
+
+2023-07-05  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Fix parsing of mail address headers (bug#64296)
+
+       RFC5322 specifies that an address header may be a list of both
+       individual mailboxes and mailbox groups.  This patch introduces
+       support for parsing headers that include groups.
+
+       * lisp/mail/ietf-drums.el (ietf-drums-parse-addresses): Allow message
+       address headers to include both mailboxes and groups.
+
+2023-07-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-04  Eliza Velasquez  <eliza@eliza.sh>
+
+       Fix `async-shell-command-display-buffer' display
+
+       * lisp/simple.el (shell-command): If 
`async-shell-command-display-buffer'
+       was nil, it did not respect `display-buffer-alist' entries with
+       `display-buffer-no-window'.  This behavior has been fixed (bug#64394).
+
+2023-07-04  Robert Pluim  <rpluim@gmail.com>
+
+       Grammar fixes in 'remote-file-name-access-timeout' descriptions
+
+       * doc/emacs/files.texi (File Conveniences): Grammar fix.
+       * doc/emacs/misc.texi (Saving Emacs Sessions): Grammar fix.
+
+2023-07-04  Robert Pluim  <rpluim@gmail.com>
+
+       Improve remote-file-name-access-timeout NEWS entries
+
+       * etc/NEWS: Improve recentf and desktop mode entries.
+
+2023-07-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve documentation of 'remote-file-name-access-timeout'
+
+       * lisp/desktop.el (desktop-files-not-to-save): Mention
+       'remote-file-name-access-timeout' in the doc string.  (Bug#64401)
+
+2023-07-04  Alan Mackenzie  <acm@muc.de>
+
+       objc-mode: Handle (de)propertization of < and >.
+
+       * lisp/progmodes/cc-langs.el
+       (c-get-state-before-change-functions)
+       (c-before-font-lock-functions): Separate the C and objc
+       versions, and add (to the first) c-unmark-<>-around-region and
+       c-before-change-check-<>-operators, (to the second)
+       c-unmark-<>-around-region and c-restore-<>-properties into the
+       objc versions of these lang variables.
+
+2023-07-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       Apply remote-file-name-access-timeout in desktop.el and recentf.el
+
+       * doc/emacs/files.texi (File Conveniences):
+       * doc/emacs/misc.texi (Saving Emacs Sessions):
+       Mention remote-file-name-access-timeout.
+
+       * doc/misc/tramp.texi (Frequently Asked Questions): Add note.
+
+       * etc/NEWS: Explain use of 'remote-file-name-access-timeout' in
+       desktop.el and recentf.el.
+
+       * lisp/desktop.el (desktop-access-file): New defun.
+       (desktop-restore-file-buffer): Use it.
+
+       * lisp/recentf.el (recentf-access-file): New defun.
+       (recentf-keep-default-predicate): Use it.
+
+       * lisp/net/tramp.el (tramp-handle-access-file): Improve error handling.
+
+2023-07-04  Alan Mackenzie  <acm@muc.de>
+
+       objc-mode: Fix exceptions in fontification.
+
+       These exceptions ("Invalid search bound (wrong side of point)")
+       were observed in test suite file class-24.m when moving point
+       up and down a line at a time.
+
+       * lisp/progmodes/cc-engine.el (c-forward-declarator): In the
+       c-syntactic-re-search-forward ~30 lines from the end of the
+       function amend the regexp for objc-mode such that "@end"
+       terminates the search, but "<" doesn't.
+
+       * lisp/progmodes/cc-fonts.el
+       (c-make-font-lock-search-function): supply a non-nil
+       CHECK-POINT argument to c-make-font-lock-search-form.
+
+2023-07-04  Po Lu  <luangruo@yahoo.com>
+
+       Implement a tool bar containing modifier keys
+
+       * doc/emacs/frames.texi (Tool Bars): Describe modifier bars.
+       * doc/lispref/keymaps.texi (Extended Menu Items, Tool Bar):
+       Document changes to tool bar menu item handling and secondary
+       tool bars.
+       * etc/NEWS: Announce changes.
+       * lisp/simple.el (event-apply-modifier): Correctly apply Ctrl
+       and Shift modifiers to lower case ASCII key events that already
+       have other modifiers applied.
+       * lisp/tool-bar.el (tool-bar--cache-key)
+       (tool-bar--secondary-cache-key): New defsubsts.
+       (tool-bar--flush-cache): Flush secondary tool bar cache.
+       (tool-bar-make-keymap): Include secondary tool bar if necessary.
+       (tool-bar-make-keymap-1): New arg MAP.  Generate a keymap for
+       that map if specified, else default to tool-bar-map.
+       (set-text-conversion-style, tool-bar-apply-modifiers)
+       (overriding-text-conversion-style)
+       (tool-bar-event-apply-alt-modifier)
+       (tool-bar-event-apply-super-modifier)
+       (tool-bar-event-apply-hyper-modifier)
+       (tool-bar-event-apply-shift-modifier)
+       (tool-bar-event-apply-control-modifier)
+       (tool-bar-event-apply-meta-modifier, modifier-bar-mode): New
+       functions.
+       * src/dispextern.h (enum tool_bar_item_idx): Add
+       TOOL_BAR_ITEM_WRAP.
+       * src/frame.c (make_frame): Clear new field `tool_bar_wraps_p'.
+       * src/frame.h (struct frame): New field `tool_bar_wraps_p'.
+       * src/keyboard.c (parse_tool_bar_item): Handle QCwrap properties
+       in tool bar menu items.
+       (syms_of_keyboard): New defsym QCwrap.
+       * src/xdisp.c (build_desired_tool_bar_string): Clear
+       f->tool_bar_wraps_p and set it appropriately.  Insert new line
+       characters in the tool bar string upon encountering a wrap
+       character.
+       (display_tool_bar_line): Stop at EOB, not line end.  Reseat on
+       the next line upon encountering EOL characters.
+       (redisplay_tool_bar): Allow rows to be different heights if
+       explicit new lines are present upon the tool bar string.
+
+2023-07-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-03  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode: Announce the news in etc/NEWS
+
+       * etc/NEWS: add to the entry "CPerl mode".
+
+2023-07-03  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Add support for new Perl syntax in Perl 5.36 and 5.38
+
+       Perl 5.38 was released on 2023-07-03.  This patch supports the new 
features
+       for 5.36 and 5.38 for font-lock, indentation, and imenu index creation.
+
+       * lisp/progmodes/cperl-mode.el (cperl-praise): Mention classes.
+       (defconst): Fix typo in docstring of cperl--single-attribute-rx.
+       Add "class" to cperl--package-rx, and adjust its docstring.
+       New rx sequence cperl--class-for-imenu-rx to capture classes,
+       use this in cperl--imenu-entries-rx.
+       Add "method" to cperl--sub-name-for-imenu-rx.
+       Add "class" to cperl--block-declaration-rx.
+       (cperl-sub-keywords): Add "method".
+       (cperl-mode): Add "ADJUST" to defun-prompt-regexp.
+       (cperl-after-block-p): Add new keywords for Perl 5.36 and 5.38.
+       (cperl-indent-exp): Add "field" to expression starters.
+       (cperl-imenu--create-perl-index): Rename variables refering to
+       "package", because they also contain classes.
+       (cperl-init-faces): Add new keywords for Perl 5.36 and 5.38.
+       (cperl-find-tags): Add support for "class".
+       (cperl-short-docs): Add new keywords for Perl 5.36 and 5.38.
+       (cperl-indent-exp): Add new keywords for Perl 5.36 and 5.38.
+
+       * test/lisp/progmodes/cperl-mode-tests.el
+       (cperl-test-fontify-class): New test for fontification of class
+       elements.
+       (cperl-test-imenu-index): Add tests for (nested) class
+       definitions.
+
+       * test/lisp/progmodes/cperl-mode-resources/cperl-indents.erts:
+       Add test cases for try/catch/finally, defer, class, method
+
+       * test/lisp/progmodes/cperl-mode-resources/perl-class.pl: New
+       resource for fontification tests of class elements.
+
+       * test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add some
+       classes to the test resource.
+
+2023-07-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add user option remote-file-name-access-timeout
+
+       * doc/lispref/files.texi (Testing Accessibility):
+       Add user option remote-file-name-access-timeout.
+
+       * doc/misc/tramp.texi (Frequently Asked Questions):
+       Explain remote-file-name-access-timeout.
+
+       * etc/NEWS: Mention 'remote-file-name-access-timeout'.
+
+       * lisp/files.el (remote-file-name-access-timeout): New defcustom.
+       (remote-file-name-inhibit-auto-save-visited)
+       (remote-file-name-inhibit-locks, remote-file-name-inhibit-cache)
+       (remote-file-name-inhibit-delete-by-moving-to-trash):
+       * lisp/simple.el (remote-file-name-inhibit-auto-save): Add group 
`tramp'.
+
+       * lisp/net/tramp.el (with-tramp-timeout, with-tramp-suspended-timers):
+       New defmacros.
+       (tramp-dont-suspend-timers): New defvar.
+       (tramp-handle-access-file): Implement handling of
+       `remote-file-name-access-timeout'.  (Bug#64401)
+       (tramp-action-show-and-confirm-message, tramp-process-actions)
+       (with-tramp-locked-connection, tramp-wait-for-regexp)
+       (tramp-read-passwd, tramp-read-passwd-without-cache): Use the macros.
+
+       * test/lisp/net/tramp-tests.el (remote-file-name-access-timeout):
+       Declare.
+       (tramp-test18-file-attributes): Extend test.
+
+2023-07-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Remove files in the nt/ directory that are unused for a long time
+
+       * nt/configure.bat:
+       * nt/ftime-nostartup.bat:
+       * nt/ftime.bat:
+       * nt/preprep.c: Remove old unused files.
+
+2023-07-03  F. Jason Park  <jp@neverwas.me>
+
+       Revert "Account for leading timestamps in erc-match"
+
+       This reverts commit 99d74dcd45938e2686d93eb5649800e14a88cd84 but keeps
+       the test file test/lisp/erc/erc-scenarios-match.el.  It also
+       implements a partial alternative solution by undoing the reordering of
+       insert hooks owned by the `stamp' and `match' modules.  The initial
+       reordering stems from d880a08f "Cement ordering of essential hook
+       members in ERC" and was intended to address the problem of timestamps
+       not being hidden in matched "fool" messages.  However, a more
+       comprehensive solution is being pursued as part of bug#64301.  The
+       following changes differ from those in a pure revert.
+
+       * etc/ERC-NEWS: Fix erroneous claim about relative hook ordering
+       pre-5.6.
+       * lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Lower hook
+       depth of `erc-match-message' in `erc-insert-modify-hook' from 60 to
+       50.
+       (erc-text-matched-hook): Retain cleaned-up portion of revised doc
+       string instead of reverting completely.
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Raise
+       depth of `erc-add-timestamp' in `erc-insert-modify-hook' and
+       `erc-send-modify-hook' from 50 to 60.
+       * test/lisp/erc/erc-scenarios-match.el
+       (erc-scenarios-match--stamp-left-current-nick
+       erc-scenarios-match--stamp-left-fools-invisible): Temporarily disable
+       the latter and fix expected hook ordering.
+       * test/lisp/erc/erc-tests.el (erc--essential-hook-ordering): Fix
+       expected order of default insert hooks.  (Bug#60936)
+
+2023-07-03  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix and improve setting priority of todo-mode items (bug#64433)
+
+       * lisp/calendar/todo-mode.el (todo-set-item-priority): Bugfixes:
+       Prevent interactively setting item priority to its current
+       priority in the same category and prompt user for a different
+       priority (but allow using the same priority when item is moved to
+       another category).  Ensure that the priority passed as a prefix
+       argument is suitable: if it is not an integer between 1 and the
+       highest item number, signal a user error.  New feature: Use the
+       sequence of numbers of the category's items as the minibuffer
+       history.
+
+       * doc/misc/todo-mode.texi (Inserting New Items):
+       (Reprioritizing Items): Document using the minibuffer history.
+
+       * test/lisp/calendar/todo-mode-tests.el
+       (todo-test-item-insertion-with-priority-1)
+       (todo-test-item-insertion-with-priority-2)
+       (todo-test-item-insertion-with-priority-3): New tests.
+
+2023-07-03  Mattias Engdegård  <mattiase@acm.org>
+
+       * etc/NEWS: Announce addition of `duplicate-region-final-position`.
+
+2023-07-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-03  Po Lu  <luangruo@yahoo.com>
+
+       Fix leak when quit arrives during incremental selection transfer
+
+       * src/xselect.c (x_free_selection_data): New function.
+       (x_get_window_property_as_lisp_data): Free `data' reliably
+       if receive_incremental_selection quits.
+
+2023-07-03  Po Lu  <luangruo@yahoo.com>
+
+       Provide move-toolbar in a more appropriate place
+
+       * src/frame.c (syms_of_frame): Provide `move-toolbar' here...
+       * src/keyboard.c (syms_of_keyboard): ..instead of here.
+
+2023-07-03  Po Lu  <luangruo@yahoo.com>
+
+       Always provide `move-toolbar' when its position can be changed
+
+       * src/keyboard.c (syms_of_keyboard): Make `move-toolbar' a
+       defsym.  Provide that feature if Emacs uses its internal tool
+       bars or GTK+.
+       * src/xfns.c (syms_of_xfns): Stop provide `move-toolbar' here.
+
+2023-07-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-03  Andreas Schwab  <schwab@suse.de>
+
+       sh-script: improve fontification of RPM spec files
+
+       Fontifiy only macros at line beginning as keywords, otherwise as
+       variables.  Add more accurate match for macros.
+
+       * lisp/progmodes/sh-script.el (sh-font-lock-keywords-var): Add
+       more accurate patterns for rpm macros.  Also fontify parenthesized
+       word after keyword.
+
+2023-07-02  Mark A. Hershberger  <mah@nichework.com>
+
+       Fix a minor typo
+
+       * lisp/xml.el: Correct a minor typo found by flandrew.
+
+2023-07-02  João Távora  <joaotavora@gmail.com>
+
+       Eglot: another tweak to eglot--sig-info
+
+       Going to the start of the first param and skipping non-word syntax
+       backward would seem to be the right thing to do, for traditional
+       C-style languages and also languages like Ocaml where function
+       signatures don't start the param list with '('.
+
+       See also https://github.com/joaotavora/eglot/discussions/1251.
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Rework again.
+
+2023-07-02  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about misplaced :success in condition-case (bug#64404)
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
+       Warn if :success is part of a list of conditions (it must come alone).
+
+2023-07-02  Stephen Berman  <stephen.berman@gmx.net>
+
+       Fix todo-mode commands to move items and categories (bug#64298)
+
+       * lisp/calendar/todo-mode.el (todo-move-category): Restore display
+       of selected category in source file, so internal file structure is
+       not visible if user is prompted to choose a new category name in
+       target file, and widen again to delete moved category from source
+       file.
+       (todo-move-item): Don't use todo-forward-item when moving done
+       items, to avoid mislocation if done items sections of the the
+       target category was empty before moving.
+       (todo-forward-item): Remove commented out code meant to have the
+       effect of the above change in todo-move-item, but it did not work.
+
+2023-07-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix display of wide characters on TTY frame's mode line
+
+       * src/xdisp.c (pad_mode_line): New function.
+       (display_string): Use it instead of 'produce_special_glyphs' to
+       replace a character that's too wide to fit on the mode/header/tab
+       line, but which occupies some columns that do fit.  (Bug#64395)
+
+2023-07-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-01  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix broken indentation of eglot--sig-info
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Fix.
+
+2023-07-01  João Távora  <joaotavora@gmail.com>
+
+       Eglot: bail out of eglot-imenu if no server capability (bug#64274)
+
+       * lisp/progmodes/eglot.el (eglot-imenu): Bail out if no
+       capability.
+
+2023-07-01  João Távora  <joaotavora@gmail.com>
+
+       Eglot: improve heuristic to highlight function names in signatures
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Rework.
+
+       See https://github.com/joaotavora/eglot/discussions/1251.
+
+2023-07-01  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Support Perl 5.38 syntax for subroutine signatures
+
+       * lisp/progmodes/cperl-mode.el (defconst): New rx sequence
+       describing a signature with initialization.
+       (cperl-init-faces): integrate the new rx sequence into the
+       font-lock-defaults init routine (Bug#64190) (Bug#64364).
+
+       * test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: Add
+       test data for a signature with initialization (tests indentation).
+
+       * test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl: Add
+       test data for a signature with initialization (tests fontification).
+
+2023-07-01  Jim Porter  <jporterbugs@gmail.com>
+
+       Document optional Eshell modules
+
+       * lisp/eshell/em-rebind.el (eshell-rebind): Correct/reword docstring.
+
+       * doc/misc/eshell.texi (Built-ins): Move disabled-by-default commands
+       to...
+       (Tramp extensions, Extra built-in commands): ...here
+       (Optional modules, Key rebinding, Smart scrolling): Add documentation.
+       (Bug and ideas): Documentation is no longer incomplete!
+
+2023-07-01  Jim Porter  <jporterbugs@gmail.com>
+
+       Correct the Eshell documentation about how to write new modules
+
+       * doc/misc/eshell.texi (Writing a module): Fix the documentation.
+       'eshell-defgroup' doesn't exist anymore.
+
+2023-07-01  Jim Porter  <jporterbugs@gmail.com>
+
+       Restructure Eshell extension modules documentation
+
+       This adds a section for documenting all the optional modules.
+
+       * doc/misc/eshell.texi (Extension modules): Move explanation about
+       writing modules to...
+       (Writing a module): ... here.
+       (Module testing): Remove.  Testing an Eshell module doesn't require
+       any special documentation.
+       (Key binding, Smart scrolling, Electric forward slash): Move under...
+       (Optional modules): ... here.
+       (Directory handling, Terminal emulation): Remove.  These modules are
+       enabled by default, and so are documented above.
+       (Tramp extensions, Extra built-in commands): New sections.
+
+2023-07-01  F. Jason Park  <jp@neverwas.me>
+
+       Redo erc-nickname-in-use-functions as a local module
+
+       * etc/ERC-NEWS: Mention new module `services-regain'.
+       * lisp/erc/erc-backend.el: Rename option.
+       * lisp/erc/erc-services.el (erc-services-regain-alist): Strategies for
+       regaining a lost nickname on reconnect.  This option, in addition to
+       the rest of these changes, is a redo of
+       `erc-nickname-in-use-functions' from commit 8c0c9826 "Add hook to
+       regain nickname in ERC", which originally stemmed from bug#62044.
+       (erc-services-retry-nick-on-connect, erc-services-issue-regain,
+       erc-services-issue-ghost-and-retry-nick): New function variants for
+       `erc-services-regain-alist.
+       (erc-services-regain-mode, erc-services-regain-enable,
+       erc-services-regain-disable): New local module to activate
+       nick-regaining behavior.
+       (erc--nickname-in-use-make-request): New method, a services-specific
+       implementation.
+       * lisp/erc/erc.el (erc--nickname-in-use-make-request): New generic
+       function to request alternate nick when first choice is rejected.
+       (erc-nickname-in-use): Call `erc--nickname-in-use-make-request' to
+       request alternate nick.
+       * test/lisp/erc/erc-scenarios-services-misc.el
+       (erc-scenarios-services-misc--reconnect-retry-nick): Adopt renamed
+       version of `erc-scenarios-base-renick-auto-regain'.
+       (erc-scenarios-services-misc--regain-command,
+       erc-scenarios-services-misc--ghost-and-retry-nick): New tests.
+       * test/lisp/erc/resources/services/regain/reconnect-retry-again.eld:
+       New test data file reusing existing blob c0529052 that once lived at
+       resources/base/renick/regain/normal-again.eld.
+       * test/lisp/erc/resources/services/regain/reconnect-retry.eld: New
+       test data file reusing existing blob 9f4df70e5 that once lived at
+       resources/base/renick/regain/normal.eld.
+       * test/lisp/erc/resources/services/regain/taken-ghost.eld: New test
+       data file.
+       * test/lisp/erc/resources/services/regain/taken-regain.eld New test
+       data file.
+
+2023-07-01  F. Jason Park  <jp@neverwas.me>
+
+       Account for leading timestamps in erc-match
+
+       * lisp/erc/erc-match.el (erc-text-matched-hook): Mention that stamps
+       may be present in the narrowed buffer but absent from the message
+       parameter.
+       (erc-match--message): New function containing what was the body of
+       `erc-match-message' as if the latter were simply renamed.
+       (erc-match-message): Move body to `erc-match--message' and call it
+       with more aggressive narrowing.  This fixes a regression stemming from
+       d880a08f "Cement ordering of essential hook members in ERC".  Special
+       thanks to Libera.Chat user jrm for reporting this bug.  (Bug#60936)
+       * test/lisp/erc/erc-scenarios-match.el: New test file.
+
+2023-07-01  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode: Fix byte-compilation warnings
+
+       * lisp/progmodes/cperl-mode.el (defconst): Reformat docstring to
+       fit into 80 columns.
+       (cperl-find-sub-attrs): Mark lexical parameters as unused.
+
+       * test/lisp/progmodes/cperl-mode-tests.el
+       (cperl-test-fontify-attrs-and-signatures): Fix use of
+       `match-beginning'
+       (perl-indent-parens-as-block): Define as a variable.
+
+2023-07-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Add duplicate-region-final-position (bug#64185)
+
+       * lisp/misc.el (duplicate-region-final-position): New defcustom.
+       (duplicate-dwim): Use it.
+       * lisp/rect.el (rectangle--duplicate-right): Add displacement
+       argument.
+       * test/lisp/misc-tests.el (misc--duplicate-dwim): Extend test.
+
+2023-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       edd36786e1e ; * lisp/bookmark.el (bookmark-bmenu-locate): Doc fix (bu...
+       16eac20a5db ; Fix last change
+       ab8d0f7b768 Add project command entries to the menu-bar
+       fc6099bf046 ; Improve documentation of text-property-search-* functions
+       cc660bd2651 ; * etc/PROBLEMS: Mention MinGW problems with -D_FORTIFY_...
+       a5bd9fb8c4a ; Improve doc strings in register.el
+       0be18d80978 ; Fix @xref in last change to doc/emacs/regs.texi.
+       624c779517d ; Fix tree-sitter C binding typos in Elisp manual.
+       16e9bdff4f4 Improve documentation of registers
+
+2023-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       a722e7dd152 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       65f146cf1c2 ; * lisp/calculator.el (calculator-need-3-lines): Fix las...
+       9e8386bdacc Support cons cell as value of ':line-width' box attribute
+       1d2ba6b363b ; * admin/notes/tree-sitter/treesit_record_change: Update.
+       02b6be892fa Add missing calls to treesit_record_change in editfns.c
+       e982192e933 Call treesit_record_change in subst-char-in-region (bug#6...
+       ddbb11f5657 ; * lisp/misc.el (duplicate-line-final-position): Fix las...
+       cecbe92d5d9 ; * lisp/misc.el (duplicate-line-final-position): doc pre...
+       042f0d6a14c ; Fix documentation of ':box' face attribute
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ef16339918e Make js-beginning-of-defun return non-nil on success
+       2c90ade09a4 Tree-sitter use with-silent-modifications like jit-lock (...
+       11cead0d73c Fix todo-mode.el Commentary and a doc string (bug#64298)
+       6ae83322d4c Prevent truncation of todo-mode categories sexp
+       ee41f07be52 Avoid making todo-mode buffers manually editable
+       53332bdf625 ; * doc/lispref/variables.texi: Fix define-obsolete-varia...
+       162c9c058eb ; Document that 'named-let' needs lexical-binding
+       68028f0fa31 ; * etc/PROBLEMS: Fix typo.
+
+2023-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       4df510c7a70 Fix VC package build when doc file isn't in a subdir
+       382f5fa8130 ; * doc/emacs/package.texi (Fetching Package Sources): Fi...
+       fc7e7c3fde3 Fix type check in tramp-get-buffer-string
+       2aa57fe6cf9 ; Fix typo in maintaining.texi (bug#64279)
+
+2023-07-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix total count of messages in Rmail summary buffers
+
+       * lisp/mail/rmailsum.el (rmail-new-summary-1): Actually count the
+       messages in the summary buffer instead of relying on
+       'rmail-total-messages'.  Reported by Andrea Monaco
+       <andrea.monaco@autistici.org>.
+
+2023-07-01  Davide Masserut  <dm@mssdvd.com>
+
+       Recognize PKGBUILD as bash style
+
+       * lisp/progmodes/sh-script.el (sh--guess-shell): Handle PKGBUILD.
+       (Bug#64251)
+
+2023-07-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp for remote WebDAV
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
+       * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
+       Improve stability for WebDAV.
+
+2023-07-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-07-01  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode: Add recent features to etc/NEWS
+
+       I mishandled git and killed my previous commit.  Sorry for the noise.
+
+       * etc/NEWS: Add a section to Changes in Specialized Modes
+
+2023-06-30  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode: Add recent features to etc/NEWS
+
+       * etc/NEWS: Add a section to Changes in Specialized Modes
+
+2023-06-30  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode: Add recent features to etc/NEWS
+
+       * etc/NEWS: Add a section to Changes in Specialized Modes
+
+2023-06-30  Harald Jörg  <haj@posteo.de>
+
+       cperl-mode.el: Support subroutine signatures
+
+       Since Perl 5.20, subroutine signatures were available as an
+       experimental feature.  With Perl 5.38, they will be always enabled in
+       the new object system.
+
+       * test/lisp/progmodes/cperl-mode-resources/cperl-bug-64190.pl:
+       * test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: New
+       test resources.
+
+       * test/lisp/progmodes/cperl-mode-tests.el
+       (cperl-test-fontify-attrs-and-signatures): Add tests for
+       signatures.
+       (cperl-test-attribute-rx, cperl-test-attribute-list-rx)
+       (cperl-test-prototype-rx, cperl-test-signature-rx): Tests for the
+       new rx sequences.
+       (cperl-test-bug-64190): New test for multiline declarations.
+       (cperl-test-bug-64364): New test for indentation of declarations.
+
+       * lisp/progmodes/cperl-mode.el:
+       (toplevel): New rx sequences to match Perl variables and attributes.
+       (cperl-declaration-header-p): New function to identify declarations.
+       (cperl-block-declaration-p): Use the new function.
+       (cperl-mode): Use the rx sequences.
+       (cperl-get-state): Use the new function.
+       (cperl-sniff-for-indent): Use the new function.
+       (cperl-find-sub-attrs): Improve fontification of subroutine
+       prototypes and attributes while typing when jit-lock-mode is
+       active.  Detect signatures, and distinguish them from prototypes.
+       (cperl-find-pods-heres): Use the rx sequences to detect subroutines.
+       (cperl-init-faces): Use the rx sequences for fontification.
+
+2023-06-30  Po Lu  <luangruo@yahoo.com>
+
+       * src/android.c (android_query_tree): Correctly return children.
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-29  Yuan Fu  <casouri@gmail.com>
+
+       Use OUT-DIR in treesit-install-language-grammar (bug#64295)
+
+       * lisp/treesit.el (treesit-install-language-grammar): Use out-dir.
+
+2023-06-29  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Use a temporary buffer in nnagent-request-set-mark (bug#64117)
+
+       Commit cb12a84f2c519a48dd87453c925e3bc36d9944db inadvertently removed
+       the use of a temporary buffer in nnagent-request-set-mark.  Bug and
+       fix reported by Jens Schmidt <jschmidt4gnu@vodafonemail.de>
+
+       * lisp/gnus/nnagent.el (nnagent-request-set-mark): Restore the use of
+       a temporary buffer that was inadvertently removed.
+
+2023-06-29  Juri Linkov  <juri@linkov.net>
+
+       * lisp/misc.el (duplicate-line-final-position): New defcustom 
(bug#64185).
+
+       * lisp/misc.el (duplicate-line): Use it.
+
+       * test/lisp/misc-tests.el (misc--duplicate-line): Add tests for
+       duplicate-line-final-position.
+
+2023-06-29  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-28  Alan Mackenzie  <acm@muc.de>
+
+       Fontify C, C++, Objective C identifiers containing $
+
+       Optionally, fontify them with font-lock-warning-face.
+       This fixes bug#64204.
+
+       * lisp/progmodes/cc-fonts.el (c-font-lock-ids-with-dollar):
+       New function.
+       (c-simple-decl-matchers, c-complex-decl-matchers): invoke
+       c-font-lock-ids-with-dollar for pertinent languages.
+
+       * lisp/progmodes/cc-langs.el (c-symbol-start): Add `$' to the
+       character list.
+       (c-dollar-in-ids): New lang const.
+       (c-symbol-key): For the Pike value, use the AWK value rather
+       than the C value as the basis, as the latter is no longer
+       suitable.
+
+       * lisp/progmodes/cc-vars.el (c-warn-ids-with-dollar): New
+       customizable option.
+
+       * doc/misc/cc-mode.texi ("Miscellaneous Font Locking"): Add a
+       section on the new optional fontification of identifiers with
+       'font-lock-warning-face'.
+
+2023-06-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp's kubernetes integration
+
+       * doc/misc/tramp.texi (Inline methods): Shorten kubernetes entry.
+       (Kubernetes setup): New node.
+       (Top, Configuration): Add it to the menu.
+
+       * lisp/net/tramp-container.el (tramp-kubernetes--context-namespace):
+       Adapt dpcstring.
+       (tramp-kubernetes-connection-local-default-profile)
+       (tramp-kubernetes-connection-local-default-variables)
+       (tramp-flatpak-connection-local-default-profile)
+       (tramp-flatpak-connection-local-default-variables): Rename.
+
+       * lisp/net/tramp.el (tramp-expand-args): Use `tramp-compat-take'.
+
+       * test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables)
+       (tramp-test34-explicit-shell-file-name): Don't let-bind
+       `connection-local-profile-alist' and `connection-local-criteria-alist'.
+
+2023-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (cl--slet): Fix bug#64315
+
+2023-06-28  Mattias Engdegård  <mattiase@acm.org>
+
+       Speed up duplicate-dwim and duplicate-line by another factor 10
+
+       * lisp/misc.el (duplicate--insert-copies): New.
+       (duplicate-line, duplicate-dwim): Call it.
+
+2023-06-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs
+
+2023-06-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-macs-tests.el (cl-&key-arguments): Fix regression
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Turn "cannot use
+       lexical var" errors into warnings.
+       Make the obey `with-suppressed-warnings`.
+
+       * test/lisp/emacs-lisp/cl-macs-tests.el (cl-&key-arguments):
+       Suppress warnings.
+
+2023-06-27  Alan Mackenzie  <acm@muc.de>
+
+       Amend the handling of c-laomib-cache.
+
+       There was unstable syntactic analysis of lines which were brace
+       lists.  This fixes bug#64133.
+
+       * lisp/progmodes/cc-engine.el (c-laomib-cache): Allow several
+       entries with the same LIM element corresponding to distinct
+       scanning regions.
+       (c-laomib-get-cache): Add new parameter START.  Adjust to be
+       able to have entries with the same LIM element and handle them
+       correctly.
+       (c-laomib-put-cache): Amend the handling of cache entries with
+       the same LIM element.
+       (c-looking-at-or-maybe-in-bracelist): Supply the needed new
+       argument to c-laomib-get-cache.  Add in a new call to
+       c-laomib-put-cache.
+
+2023-06-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Speed up duplicate-line by a factor of 2
+
+       * lisp/misc.el (duplicate-line): Add the newline to the string to be
+       inserted instead of inserting it separately.
+       This makes duplicate-line as fast as duplicate-dwim with a contiguous
+       region.  Both could easily be made faster yet by making the code more
+       complex.
+
+2023-06-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix dired-insert-directory wrt remote directories
+
+       * lisp/dired.el (dired-insert-directory): Respect remote
+       directories consequently.
+
+2023-06-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_exception_check)
+       (android_exception_check_1)
+       (android_exception_check_2)
+       (android_exception_check_nonnull)
+       (android_exception_check_nonnull_1): Tell the compiler to expect
+       that the object is non-NULL, or that no exception has been
+       thrown.
+
+2023-06-27  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       startup.el: Don't override init.el custom of `debug-ignored-errors`
+
+       * lisp/startup.el (startup--load-user-init-file): Undo commit 
4302bc9b0f12.
+       Mimic the code we use for `debug-on-error` instead.
+
+2023-06-26  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp mount-spec
+
+       * lisp/net/tramp-fuse.el (tramp-fuse-mounted-p): The mount-spec
+       could contain an optional trailing slash.  (Bug#64278)
+
+       * lisp/net/tramp-rclone.el (tramp-rclone-handle-file-system-info):
+       Check return code of command.
+
+2023-06-26  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Fix parenthesis bug in XEmacs part of macro
+
+       * lisp/progmodes/cc-defs.el (c-looking-at-non-alphnumspace):
+       Correct confused parentheses.
+
+2023-06-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/calc/calc.el (calc-mode, calc): Make sure the on-screen
+       keyboard is not hidden when a Calc buffer is created or a Calc
+       Trail window is being created for the first time.
+       * lisp/touch-screen.el (touch-screen-window-selection-changed):
+       Take touch-screen-display-keyboard in to account.
+
+       * src/sfnt.c (sfnt_decompose_compound_glyph)
+       (sfnt_interpret_compound_glyph_1): Reset `defer_offsets' before
+       processing each component.
+       (sfnt_lerp_half): Avoid undefined shift of negative value.
+       (sfnt_compute_tuple_scale): Pacify compiler warning.
+
+2023-06-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-26  F. Jason Park  <jp@neverwas.me>
+
+       Avoid "shadows" warning from erc-button--nick slots
+
+       * lisp/erc/erc-button.el (erc-button-nick): Rename slots that share
+       names with user options to avoid "lexical argument shadows the dynamic
+       variable" warning.
+       (erc-button-add-nickname-buttons): Remove "erc-button-" namespace from
+       slot accessors.
+
+2023-06-26  F. Jason Park  <jp@neverwas.me>
+
+       Revert "Allow erc-reuse-frames to favor connections"
+
+       This (mostly) reverts commit 0e4c07dc7448aafd2aa5f6e101d7b7aac23d8a6b.
+
+       * etc/ERC-NEWS: Also revert hunk from 52c8d537 "* etc/ERC-NEWS: Add
+       section for ERC 5.6." because it announced this feature, which no
+       longer exists.
+       * lisp/erc/erc.el (erc-reuse-frames): Revise doc string instead of
+       reverting completely.  (Bug#62833)
+
+2023-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-macs.el: Silence recent new "lexical arg shadows" warnings
+
+       * lisp/emacs-lisp/cl-macs.el (cl--slet): Add `nowarn` arg.
+       (cl--defsubst-expand): Use it.
+       (cl-defstruct): Silence warnings abour lexical shadowing when a slot's
+       name happens to be the same as a dynbound var.
+
+2023-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Allow suppressing the "lexical arg shadows dynbound var" warning
+
+       In most cases the right way to fix this warning is by renaming
+       the offending argument, but in some cases this is inconvenient, as is
+       the case in `cl-defstruct` where arg names are imposed by slot names.
+
+       This patch also happens to fix a few bugs along the way:
+       - miscompilation of (lambda (gcs-done) (lambda (x) (+ x gcs-done)))
+       - errors about void function `byte-compile-warn-x` if the warning was
+         emitted via `cconv-fv` when bytecomp was not loaded.
+       Oh, and it improves the warning by making the location info slightly
+       more precise.
+
+       * lisp/emacs-lisp/cconv.el (cconv--analyze-function): Remove this 
warning.
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list):
+       Warn about it here instead.  Let `with-suppressed-warnings` control it
+       under `lexical`.
+
+2023-06-25  Alan Mackenzie  <acm@muc.de>
+
+       Correction to patch on 2023-06-21 15:36:56 +0000.
+
+       This corrects an error where commenting out a template closer
+       left a subsequent closer without a syntax-table text property.
+
+       * lisp/progmodes/cc-engine.el (c-unmark-<>-around-region):
+       Don't scan from the inside of 2-character comment delimiters.
+       Replace invalid skip-syntax-forward call with a null string
+       argument by an invocation of
+       c-search-forward-non-nil-char-property.
+
+2023-06-25  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-25  Richard M. Stallman  <rms@gnu.org>
+
+       Clarify list terminology
+
+       * doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed):
+       Mention "cons cell".  Add index entries.
+       (car & cdr): Simplify etymology of `car' and `cdr'.
+       Explain why for some purposes they are better than `first' and `rest'.
+       Mention cons cells.
+
+2023-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (macroexp--unfold-lambda): Obey the lexbind semantics
+
+       While at it, rework the code so as not to rely on an
+       intermediate rewriting of (funcall (lambda ..) ...)
+       to ((lambda ..) ...) since that forms is deprecated.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-funcall): Unfold lambdas
+       instead of turning them into the deprecated ((lambda ..) ..).
+       (byte-optimize-form-code-walker): Don't unfold ((lambda ..) ..) any 
more.
+       (byte-compile-inline-expand): Revert to non-optimized call if the 
unfolding
+       can't be optimized.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Don't unfold
+       ((lambda ..) ..) any more.
+
+       * lisp/emacs-lisp/cl-macs.el (cl--slet): Remove workaround.
+
+       * lisp/emacs-lisp/disass.el (disassemble): Make sure the code is
+       compiled with its own `lexical-binding` value.
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda): Make it work
+       both for ((lambda ..) ..) and for (funcall #'(lambda ..) ..).
+       Be careful not to move dynbound vars from `lambda` to `let`.
+       (macroexp--expand-all): Unfold (funcall #'(lambda ..) ..) instead of
+       turning it into ((lambda ..) ..).  Don't unfold ((lambda ..) ..) any 
more.
+
+2023-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (cl--slet): Unbreak bootstrap
+
+2023-06-24  kobarity  <kobarity@gmail.com>
+
+       Fix Python indentation of continuation lines within parens
+
+       * lisp/progmodes/python.el (python-indent-context): Add a new indent
+       context `:inside-paren-continuation-line'.
+       (python-indent--calculate-indentation): Use the new indent context.
+       * test/lisp/progmodes/python-tests.el (python-indent-pep8-2)
+       (python-indent-pep8-3)
+       (python-indent-inside-paren-1)
+       (python-indent-inside-paren-2)
+       (python-indent-inside-paren-3)
+       (python-indent-inside-paren-6)
+       (python-indent-after-backslash-2): Change to use the new indent
+       context.
+       (python-indent-inside-paren-8)
+       (python-indent-inside-paren-9): New tests. (Bug#63959)
+
+2023-06-24  Eshel Yaron  <me@eshelyaron.com>
+
+       New command 'eww-copy-alternate-url'
+
+       This adds a new command to EWW that copies an alternate link to the
+       currently visited page into the kill ring.  This is useful for
+       subscribing to website feeds, etc.
+
+       * lisp/net/eww.el (eww--alternate-urls, eww-read-alternate-url):
+        New functions.
+       (eww-copy-alternate-url): New command.
+       (eww-mode-map): Bind it to 'A'.
+
+       * doc/misc/eww.texi (Basics): Document it.
+
+       * etc/NEWS: Announce it.
+       (Bug#64126)
+
+2023-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       d0147ff9e50 * lisp/emacs-lisp/shortdoc.el: More and better `substring...
+       fa06249a9fb Fix "C-x RET r" when the new encoding is UTF
+       679e9d7c56e ; Mention MinGW64 GCC 13.1 problems in PROBLEMS
+       fdc1a12ed1a Fix "vc-print-log does not erase buffer" and associated p...
+       d507aa7336b Add selector_expression indentation rule
+       1f664a0af75 Add "nixd" LSP server to Eglot
+       e962cf4ba72 Fix building --with-native-compilation=aot from release t...
+       4ca371e9cc7 Fix bug#64152 (Minibuffer sometimes goes "modal")
+       a0ccf1859cc Disable target-async by default in gdb-mi.el
+       2bad5829ff7 Revert "Fix parsing of dn line if WITHDN is non-nil"
+       7637e361d3b Don't truncate filenames with "emacs.el" in them
+       2591eb1190a Improve documentation of 'minibuffer-message'
+       6f211bc57b9 Eglot: again fix positions of coinciding inlay hint overl...
+       a24e9e3fee5 ; Update ChangeLog.4 and etc/AUTHORS.
+
+2023-06-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       8f62e7b85f6 Describe primarily the Emacs s-exp dialect for treesit qu...
+       eacd75df4e4 ; Improve documentation of overlay priorities
+       b3f11e94fad Fix documentation of :predicate in 'define-globalized-min...
+
+2023-06-24  Stephen Berman  <stephen.berman@gmx.net>
+
+       Apply quote substitution to popup choice menus
+
+       * lisp/wid-edit.el (widget-choose): Iteratively apply
+       substitute-command-keys to choice item text before building popup
+       or text buffer menu.  Also fix two unnecessary uses of let*.
+
+2023-06-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Extend Tramp kubernetes method
+
+       * doc/misc/tramp.texi (Inline methods): Adapt kubernetes method.
+
+       * etc/NEWS: Describe changes in Tramp kubernetes method.
+
+       * lisp/net/tramp-container.el (tramp-kubernetes-context)
+       (tramp-kubernetes-namespace): New defcustoms.
+       (tramp-kubernetes--completion-function): Extend for CONTAINER.POD
+       syntax.
+       (tramp-kubernetes--host-name-regexp): New defconst.
+       (tramp-kubernetes--container, tramp-kubernetes--pod)
+       (tramp-kubernetes--current-context): New defuns.
+       (tramp-kubernetes--current-context-data): Simplify.
+       (tramp-kubernetes--context-namespace): New defun.
+       (tramp-methods) <kubernetes>: Respect container, context and
+       namespace.  (Bug#59797)
+       (tramp-container-connection-local-default-kubernetes-variables):
+       New defconst.  Set respective connection-local variables.
+
+       * lisp/net/tramp-sh.el (tramp-config-check): New variable.
+       (tramp-open-connection-setup-interactive-shell): Use it.
+
+       * lisp/net/tramp.el (tramp-methods): Adapt docstring.
+       (tramp-extra-expand-args): New defvar.
+       (tramp-expand-args): Use it.
+
+2023-06-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-defsubst: Use static scoping for args
+
+       * lisp/emacs-lisp/cl-macs.el (cl--slet): New function, partly extracted
+       from `cl--slet*`.
+       (cl--slet*): Use it.
+       (cl--defsubst-expand): Use it to fix bug#47552.
+
+       * test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct-dynbound-label):
+       New test.
+
+2023-06-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       cl-defun/cl-struct: Use static scoping for function args
+
+       * lisp/emacs-lisp/cl-macs.el (cl--slet*): New function.
+       (cl--transform-lambda): Use it to fix bug#47552.
+
+       * test/lisp/emacs-lisp/cl-macs-tests.el (cl-&key-arguments): Add test.
+
+2023-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Avoid header line with some empty non-nil formats"
+
+       This reverts commit 4f66cbbfe520ee31ef26676e09a926217d9736fe.
+       This is part of removing the recently-added feature whereby
+       certain non-nil values of 'header-line-format' could signal
+       that the header line shall not be displayed.  The feature is
+       being reverted because its advantages are very minor, whereas
+       the complications it causes are serious.
+
+2023-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "; Fix last change"
+
+       This reverts commit 05c2be28a3e97bd920d0bf8c8b59ec682a420cce.
+       This is part of removing the recently-added feature whereby
+       certain non-nil values of 'header-line-format' could signal
+       that the header line shall not be displayed.  The feature is
+       being reverted because its advantages are very minor, whereas
+       the complications it causes are serious.
+
+2023-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "; Fix coding style in just installed change"
+
+       This reverts commit 229f0b8dd3b92827b6e0c6fc105508e8b80858f5.
+       This is part of removing the recently-added feature whereby
+       certain non-nil values of 'header-line-format' could signal
+       that the header line shall not be displayed.  The feature is
+       being reverted because its advantages are very minor, whereas
+       the complications it causes are serious.
+
+2023-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "; * src/window.c (window_wants_header_line): Shut up bogus GCC 
warning."
+
+       This reverts commit ef8485ad05dd9200b68ea8141fd44c7b976140cd.
+       This is part of removing the recently-added feature whereby
+       certain non-nil values of 'header-line-format' could signal
+       that the header line shall not be displayed.  The feature is
+       being reverted because its advantages are very minor, whereas
+       the complications it causes are serious.
+
+2023-06-23  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Avoid infinite recursion in 'window_wants_header_line'"
+
+       This reverts commit 3de8ed09ab46b9922e15aaf0cc8884b41087c996.
+       This is part of removing the recently-added feature whereby
+       certain non-nil values of 'header-line-format' could signal
+       that the header line shall not be displayed.  The feature is
+       being reverted because its advantages are very minor, whereas
+       the complications it causes are serious.
+
+2023-06-23  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7FontEntity):
+       (hasChar): Clean up dead stores.
+
+2023-06-23  Po Lu  <luangruo@yahoo.com>
+
+       Correctly check result of string lookup
+
+       * src/android.c (android_wc_lookup_string): Check that
+       GetStringChars returns non-NULL, not if it throws an exception.
+
+2023-06-23  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       latin-ltx.el: Add \Phi; fix bug#64212
+
+       * lisp/leim/quail/latin-ltx.el (greek letters): Fix regexp which was
+       meant to avoid lowercase phi only.
+
+2023-06-22  Jakub Ječmínek  <jecminek.k@gmail.com>  (tiny change)
+
+       Fix orgtbl-to-table.el function to include last cell border
+
+       * lisp/org/org-table.el (orgtbl-to-table.el): Perform character
+       replacement in the temp buffer and fix missing cell border.  (Bug#64205)
+
+2023-06-22  Mattias Engdegård  <mattiase@acm.org>
+
+       * etc/NEWS: Announce the fix for bug#44418 (,@ prefix syntax)
+
+2023-06-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Rearrange some Tramp declarations
+
+       * lisp/net/tramp.el (tramp-prefix-format, tramp-prefix-regexp)
+       (tramp-method-regexp, tramp-postfix-method-format)
+       (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
+       (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
+       (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
+       (tramp-postfix-host-regexp, tramp-remote-file-name-spec-regexp)
+       (tramp-file-name-structure, tramp-file-name-regexp)
+       (tramp-completion-method-regexp)
+       (tramp-completion-file-name-regexp):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector):
+       Rearrange declarations.
+
+2023-06-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       0154f5885e3 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       111efb0dd7f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       948b471756e Require ls-lisp in Tramp only when needed
+       90c03ffcd4b After minibuffer action, don't make the minibuffer current
+
+2023-06-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Merge from origin/emacs-29
+
+       3d930b928fe Eglot: fix relative position of coinciding inlay hint ove...
+       aad7d68164c ; * doc/lispref/display.texi (Display Tables): Remove ext...
+
+2023-06-22  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-21  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add Tramp option showing ad-hoc multi-hops
+
+       * doc/misc/tramp.texi (Ad-hoc multi-hops):
+       Describe tramp-show-ad-hoc-proxies.
+
+       * lisp/net/tramp.el (tramp-show-ad-hoc-proxies): New defcustom.
+       (tramp-make-tramp-file-name): Use it.
+       (tramp-make-tramp-hop-name): Don't add hop twice.
+
+       * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
+       (tramp-test02-file-name-dissect-simplified)
+       (tramp-test02-file-name-dissect-separate): Adapt tests.
+
+2023-06-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't compile (+ X 0) as (* X 1)
+
+       Previously (+ X 0) was reduced to (+ X) which became (* X 1) in
+       codegen, but this is wrong for X = -0.0 and also slightly slower.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-plus): Don't reduce an
+       addition to (+ X) by eliminating zeros; retain one 0 argument.
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
+       Add test case.
+
+2023-06-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Prefix syntax for ,@ in elisp-mode (bug#44418)
+
+       * lisp/progmodes/elisp-mode.el (elisp-mode-syntax-propertize):
+       Use prefix syntax for ,@ to avoid the @ becoming part of a symbol
+       that follows.
+       * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env):
+       Propertise inserted Lisp code to keep the test working.
+
+2023-06-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Straighten regexp postfix operator after zero-width assertion parse
+
+       The zero-width assertions \` \' \b \B were parsed in a sloppy way so
+       that a following postfix repetition operator could yield surprising
+       results.  For instance, "\\b*" would act as "\\b\\*", and "xy\\b*"
+       would act as "\\(?:xy\\b\\)*".
+
+       Except for \` and ^, any following postfix operator now applies to the
+       zero-width assertion itself only, which is predictable and consistent
+       with other assertions, if useless in practice.
+       For historical compatibility, an operator character following \` and ^
+       always becomes a literal. (Bug#64128)
+
+       * src/regex-emacs.c (regex_compile):
+       Set `laststart` appropriately for each zero-width assertion instead
+       of leaving it with whatever value it had before.
+       Remove a redundant condition.
+       * test/src/regex-emacs-tests.el
+       (regexp-tests-zero-width-assertion-repetition): New test.
+       * doc/lispref/searching.texi (Regexp Special):
+       Say that repetition operators are not special after \`,
+       and that they work as expected after other backslash escapes.
+       * etc/NEWS: Announce.
+
+2023-06-21  Alan Mackenzie  <acm@muc.de>
+
+       Correct handling of template markers on deletion/insertion
+
+       This fixes bug#62841.
+
+       In particular, correct the syntax-table text properties on the
+       remaining <...>s.
+
+       * lisp/progmodes/cc-align.el
+       (c-lineup-template-args-indented-from-margin): New lineup
+       function.
+
+       * lisp/progmodes/cc-defs.el (c-put-char-properties): New macro.
+       (c-search-forward-non-nil-char-property): Handle terminating
+       limit correctly.
+
+       * lisp/progmodes/cc-engine.el
+       (c-clear-<-pair-props-if-match-after)
+       (c-clear->-pair-props-if-match-before): Return the position
+       outside the matching < or >, not merely t.
+       (c-end-of-literal): New function.
+       (c-unmark-<>-around-region): New function.
+       (c-before-change-check-<>-operators): Refactor, calling
+       c-unmark-<>-around-region.
+       (c-<>-get-restricted): New function, extracted from
+       c-restore-<>-properties.
+       (c-restore-<>-properties): Handle ">" characters whose matching
+       "<" has not yet been encountered.
+       (c-ml-string-opener-at-or-around-point): Fix an off by one
+       error.
+       (c-backward-<>-arglist): New parameter restricted-function, a
+       function which calculates c-restricted-<>-arglists for the
+       current operation.
+
+       * lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): Check
+       point is less than limit in the loop.
+
+       * lisp/progmodes/cc-langs.el
+       (c-get-state-before-change-functions)
+       (c-before-font-lock-functions): Add the new function
+       c-unmark-<>-around-region into the C++ and Java values of the
+       variable.
+
+       * lisp/progmodes/cc-mode.el (c-clear-string-fences)
+       (c-restore-string-fences): Neutralize and restore the
+       syntax-table properties between an unbalanced " and EOL.
+
+       * lisp/progmodes/cc-vars.el (c-offsets-alist): Put new lineup
+       function c-lineup-template-args-indented-from-margin into entry
+       for template-args-cont.
+
+       * doc/misc/cc-mode.texi (List Line-Up): Document
+       c-lineup-template-args-indented-from-margin.
+
+2023-06-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Extend handling of prefix arg in some kmacro.el commands
+
+       * lisp/kmacro.el (kmacro-call-ring-2nd)
+       (kmacro-call-ring-2nd-repeat, kmacro-end-macro)
+       (kmacro-end-and-call-macro): Accept just "C-u" and interpret it as
+       a numeric argument of 4.  Suggested by Al Petrofsky
+       <al@petrofsky.org>.  (Bug#64138)
+
+2023-06-21  Daniel Martín  <mardani29@yahoo.es>
+
+       Prevent crashes on macOS when fullscreen frame is deleted
+
+       * src/nsterm.m (ns_free_frame_resources): Remove the frame's
+       window from the hierarchy.  (Bug#64147)
+
+2023-06-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Allow --debug-init to debug all errors in init files
+
+       * lisp/startup.el (startup--load-user-init-file): Ignore the value
+       of 'debug-ignored-errors' when loading init files if we were
+       invoked interactively with --debug-init.  (Bug#64163)
+
+2023-06-21  Sean Whitton  <spwhitton@spwhitton.name>
+
+       Delete eval-command-interactive-spec
+
+       * etc/NEWS: Delete announcement of eval-command-interactive-spec.
+       * lisp/emacs-lisp/subr-x.el (eval-command-interactive-spec): Delete.
+
+2023-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * configure.ac: Update GCC bug number in comment.
+
+2023-06-21  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidfns.c (android_set_tool_bar_position):
+       (frame_geometry):
+       * src/androidterm.c (android_flash):
+       (android_clear_under_internal_border): Synchronize with X.
+
+2023-06-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-21  Po Lu  <luangruo@yahoo.com>
+
+       Allow displaying tool bar on the bottom of the frame
+
+       * src/xterm.c (x_clear_under_internal_border): Subtract bottom
+       margins before clearing bottom border.
+       (XTflash): Subtract bottom margins before flashing mini window.
+
+       * src/xfns.c (x_set_tool_bar_position): Allow setting different
+       values outside of GTK+.
+       (frame_geometry): Adjust inner width and height for tool bars
+       placed on the bottom.
+
+       * src/xdisp.c (init_xdisp): Calculate using top margins only.
+
+       * src/window.c (resize_frame_windows): Fix commentary.
+
+       * src/w32fns.c (Fw32_frame_geometry): Report tool bar position
+       correctly.
+       (w32_clear_under_internal_border): Subtract bottom margins
+       prior to clearing bottom border.
+       (w32_set_tool_bar_position): New function.
+       (Fw32_frame_edges): Subtract bottom tool bar from inner width and
+       height.
+       (w32_frame_parm_handlers): Add `set_tool_bar_position' parameter
+       handler.
+
+       * src/pgtkterm.c (pgtk_flash): Subtract bottom
+       margins before clearing bottom border.
+       (XTflash): Subtract bottom margins before flashing mini window.
+
+       * src/pgtkfns.c (frame_geometry): Set `inner_top' correctly.
+       (Fpgtk_set_mouse_absolute_pixel_position):
+       (Fpgtk_mouse_absolute_pixel_position):
+       (Fpgtk_page_setup_dialog):
+       (Fpgtk_get_page_setup): Wrap lines which cause C Mode to hang.
+
+       * src/nsterm.m (ns_clear_under_internal_border): Subtract bottom
+       margins before clearing bottom border.
+
+       * src/nsfns.m (ns_set_tool_bar_position): New function.  Error if
+       arg is not top.
+       (ns_frame_parm_handlers): Add that as the handler for
+       `tool-bar-position', to prevent it from being set to an invalid
+       value.
+
+       * src/haikuterm.c (haiku_flash): Subtract bottom margins before
+       flashing mini window.
+       (haiku_clear_under_internal_border): Subtract bottom margins
+       before clearing bottom border.
+
+       * src/haikufns.c (haiku_set_tool_bar_position): Allow setting
+       values other than `top'.
+       (frame_geometry): Take bottom margin into account when calculating
+       inner dimensions.
+
+       * src/frame.h (struct frame): Always define `tool_bar_position'.
+       (fset_tool_bar_position): Define function everywhere.
+       (FRAME_TOOL_BAR_POSITION): Define correctly on all toolkits.
+       (FRAME_TOOL_BAR_TOP_HEIGHT):
+       (FRAME_TOOL_BAR_TOP_LINES):
+       (FRAME_TOOL_BAR_BOTTOM_HEIGHT):
+       (FRAME_TOOL_BAR_BOTTOM_LINES): New macros.  Each pair returns the
+       tool bar dimensions only if the tool bar position is set
+       appropriately.
+       (FRAME_TOP_MARGIN, FRAME_TOP_MARGIN_HEIGHT): Only add tool bar
+       height if it is placed at the top of the frame.
+       (FRAME_BOTTOM_MARGIN, FRAME_BOTTOM_MARGIN_HEIGHT): Add ``bottom
+       margins''.
+       (FRAME_MARGINS, FRAME_MARGIN_HEIGHT): Move original margin macro
+       here.
+       (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES):
+       (FRAME_TEXT_TO_PIXEL_HEIGHT):
+       (FRAME_PIXEL_TO_TEXT_HEIGHT):
+       (FRAME_INNER_HEIGHT): Subtract both vertical margins.
+
+       * src/frame.c (adjust_frame_size): Subtract both top and bottom
+       margins to determine the inner height.
+       (make_frame): Initialize `f->tool_bar_position' unconditionally.
+
+       * src/dispnew.c (adjust_frame_glyphs_for_window_redisplay): Place
+       internal tool bar on bottom if requested.
+
+       * doc/lispref/frames.texi (Frame Layout): Describe the possibility
+       of the tool bar being placed below the inner area of the frame.
+       (Layout Parameters): Describe that `tool-bar-position' is now
+       supported almost everywhere.
+
+2023-06-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-20  Filipp Gunbin  <fgunbin@fastmail.fm>
+
+       Fix ldap-search when WITHDN is non-nil (bug#64089)
+
+       * lisp/net/ldap.el (ldap-search): Apply ldap-decode-attribute only to
+       attribute pairs.
+       (ldap-search-internal): Parse dn with the same regexp as other attrs;
+       use its value instead of the whole line.  Include entry into result
+       only if valid dn is present, to avoid treating process sentinel
+       messages like an entry.  Fix accidental match data clobbering.
+       Document return value format.
+
+2023-06-20  Po Lu  <luangruo@yahoo.com>
+
+       Signal error upon setting unsupported tool bar position
+
+       * src/haikufns.c (haiku_set_tool_bar_position): New function.
+       Port non-GTK code from X.
+       (haiku_frame_parm_handlers): Add new function.
+
+2023-06-20  Po Lu  <luangruo@yahoo.com>
+
+       Synchronize tool bar position code with X
+
+       * src/androidfns.c (android_set_tool_bar_position): New
+       function.
+       (android_frame_parm_handlers): Add new frame param handler.
+
+2023-06-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-20  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Don't read all headers in gnus thread referral (bug#63842)
+
+       Gnus thread referral tries to add newly found articles to an existing
+       summary buffer. When the list of such articles is known from searching
+       we can speed things up by only entering these specific headers into
+       the dependencies table.
+
+       * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Don't set
+       `gnus-read-all-available-headers' when finding articles by searching.
+
+2023-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Call them “bracket expressions” more consistently
+
+       Emacs comments and doc were inconsistent about the name used for
+       regexps like [a-z].  Sometimes it called them “character
+       alternatives”, sometimes “character sets”, sometimes “bracket
+       expressions”.  Prefer “bracket expressions” as it is less confusing:
+       POSIX and most other programs’ doc uses “bracket expressions”,
+       “alternative” is also used in the Emacs documentation to talk about
+       ...\|... in regexps, and “character set” normally has a different
+       meaning in Emacs.
+
+2023-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Document Emacs vs POSIX REs
+
+       * doc/lispref/searching.texi (Longest Match):
+       Rename from POSIX Regexps, as this section
+       is about longest-match functions, not about POSIX regexps.
+       (POSIX Regexps): New section.
+
+2023-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Document regular expression special cases better
+
+       In particular, document that escape sequences like \b*
+       are currently buggy.
+
+2023-06-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp specific tests in eglot-tests.el
+
+       * test/lisp/progmodes/eglot-tests.el (tramp): Move up.
+       (tramp-sh): Don't require.
+       (eglot--cleanup-after-test): Delete Tramp buffers if needed.
+       (eglot-tests-lsp-abiding-column): Rename from 
`eglot-lsp-abiding-column'.
+       (tramp-histfile-override): Declare.
+       (eglot--call-with-tramp-test):
+       Use `ert-remote-temporary-file-directory'.  Skip if needed.
+       (eglot--tramp-test, eglot--tramp-test-2): Don't skip.
+
+2023-06-19  Po Lu  <luangruo@yahoo.com>
+
+       * lib-src/Makefile.in (seccomp-filter$(EXEEXT)): Link with Gnulib.
+
+2023-06-19  Mattias Engdegård  <mattiase@acm.org>
+
+       * src/regex-emacs.c (regex_compile): Remove useless condition
+
+       This condition didn't have any visible effect (as ^ is not a
+       repetition operator); all it did was to generate slightly worse regexp
+       bytecode for out-of-place (literal) ^ in the midst of literal
+       characters (bug#64128).
+
+2023-06-19  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, dimensionsLock):
+       New field.
+       (<init>): Create new lock object.
+       (handleDirtyBitmap, onLayout, onAttachedToWindow): Make sure
+       measuredWidth and measuredHeight are extracted and set
+       atomically.  Send Expose upon layout changes if the view has
+       grown.
+
+2023-06-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-18  Al Petrofsky  <al@petrofsky.org>
+
+       Make C-SPC work in "M-x term"
+
+       * lisp/term.el (term-raw-map): Add bindings for C-SPC, C-M-SPC,
+       and C-M-/.
+       (term-send-C-@, term-send-C-M-_, term-send-C-M-@): New commands.
+       (Bug#64121)
+
+2023-06-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/window.h (GCALIGNED_STRUCT): Improve documentation of
+       `last_mark'.
+       * src/xdisp.c (mark_window_display_accurate_1): Don't set
+       `last_mark' to -1 if the mark is inactive.
+
+2023-06-18  Po Lu  <luangruo@yahoo.com>
+
+       Enable text conversion in conf-modes
+
+       * lisp/textmodes/conf-mode.el (conf-mode-initialize): Set
+       text-conversion-style.
+
+2023-06-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs
+
+2023-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pp-fill: Fix tests breakage
+
+       * lisp/emacs-lisp/pp.el (pp-to-string, pp-buffer, pp): Preserve old
+       behavior of (almost always) returning a trailing newline.
+
+       * test/lisp/emacs-lisp/pp-tests.el (pp-print-quote): Adjust tests, now
+       that `pp-to-string` always returns a trailing newline, rather than only
+       most of the time.
+
+       * test/lisp/emacs-lisp/backtrace-tests.el
+       (backtrace-tests--single-and-multi-line): Make the test less sensitive
+       to the choice of what is "pretty".
+
+2023-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc/lispref/streams.texi (Output Variables): Document 
`pp-default-function`
+
+2023-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pp.el (pp-fill): New default pp function
+
+       * lisp/emacs-lisp/pp.el (pp-default-function): Change default.
+       (pp--within-fill-column-p): New helper function.
+       (pp-fill): New function.
+
+2023-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       pp.el (pp-default-function): New custom var
+
+       * lisp/emacs-lisp/pp.el (pp-use-max-width): Make obsolete.
+       (pp-default-function): New custom var.
+       (pp--object, pp--region): New helper functions.
+       (pp-29): New function, extracted from `pp-to-string`.
+       (pp-to-string): Add `pp-function` arg and obey `pp-default-function`.
+       (pp-28): New function, extracted from `pp-buffer`.
+       (pp-buffer): Rewrite, to obey `pp-default-function`.
+       (pp): Obey `pp-default-function`.
+       (pp-emacs-lisp-code): Add new calling convention to apply it to a 
region.
+
+2023-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Fix performance bug
+
+       (nth 2 ppss) can be absent but not incorrect, so don't recompute ppss
+       for (nth 2 ppss) when (nth 2 ppss) is already provided.
+       When calling `lisp-indent-line` on all the lines in a region, this
+       sometimes introduced a gratuitous O(N²) complexity.
+
+2023-06-17  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Fix some tree-sitter :match regexps
+
+       This was originally installed on 2023-06-17 in the emacs-29 release
+       branch and later reverted.  The intention is to backport it after
+       Emacs 29.1 is released.
+
+       The shy groups were caught by modified versions of the GNU ELPA
+       packages xr and relint:
+       - https://github.com/mattiase/xr/pull/6
+       - https://github.com/mattiase/relint/pull/14
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
+       character in regexp.
+       * lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
+       * lisp/progmodes/js.el (js--plain-method-re):
+       (js--treesit-font-lock-settings):
+       * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
+       * lisp/progmodes/typescript-ts-mode.el
+       (typescript-ts-mode--font-lock-settings): Replace character
+       alternative [\\d], which matches '\' or 'd', with the most likely
+       intention [0-9].  Fix shy groups mistyped as optional colons.
+       Remove unneeded numbered :match group in rust-ts-mode (bug#64019).
+
+2023-06-17  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Fix more shy group regexps
+
+       These issues were caught by modified versions of the GNU ELPA
+       packages xr and relint:
+       - https://github.com/mattiase/xr/pull/6
+       - https://github.com/mattiase/relint/pull/14
+
+       * lisp/gnus/gnus-art.el (gnus-parse-news-url): Remove redundant
+       numbered group and calls to match-string.
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode--c-or-c++-regexp): Fix shy
+       group mistyped as optional colon (bug#64019#29).
+       * lisp/vc/vc-git.el (vc-git-annotate-time): Ditto.  Also fix
+       timezone parsing by using iso8601-parse (bug#64069).
+       * test/lisp/vc/vc-git-tests.el (vc-git-test-annotate-time): New
+       test.
+
+2023-06-17  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Correct some regexp typos, \\(:? -> \\(?:
+
+       This partly corrects bug#64069.
+
+       * lisp/progmodes/cc-langs.el (c-ml-string-back-closer-re): Fix
+       four occurrences, one of which was in a comment, one in a doc
+       string.
+
+       * lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp.): Fix one
+       occurrence.
+
+2023-06-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       3b0bf359e9a Fix documentation of comment-dwim (bug#64104)
+
+2023-06-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       84d2da003e1 ; Fix example in the Flymake manual
+       0a1459f1d9b * doc/misc/calc.texi (Advanced Math Functions): Correct c...
+       92faf1f5645 Consider 'dired-kill-when-opening-new-dired-buffer' in mo...
+       bafe71a69fc ; Fix use-package.texi markup
+       018e4ca6c5d ; * doc/misc/calc.texi (Advanced Math Functions): Fix las...
+       1952dbd4c5f Fix Gamma function definition in calc.texi
+       f73f82d7e89 Fix subscripts in the Calc manual
+       70fc7c41ef3 Improve documentation of 'declare' forms
+       c8357582389 ; * src/lread.c (bytecode_from_rev_list): Avoid C++ comment.
+       28478574961 Improve tree-sitter docs
+       0e9307eb2b8 Fix some Texinfo markup in manuals
+       8dc08333eea Fix bol/bos anchors in tree-sitter :match regexps
+       8225ade6151 ; * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: F...
+       1f0527a312a ; Fix last change in tex-mode.el
+       4da479920e6 * lisp/subr.el (with-restriction): Tweak indent rule
+       36aa9bd8183 ; Fix previous change
+       aaeaf608d89 Fix setting region in the minibuffer
+       1383efe01d0 Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has sta...
+       bdb0bc2b4e4 Fix tex-mode display-buffer issues
+       90047c38ce9 Add test for when 'completion-auto-help' is 'visible'
+       2c623e4feb9 Avoid errors in 'apropos-documentation' after 'eval-buffer'
+       dd3b98121cc ; * doc/emacs/indent.texi (Indentation Commands): Fix las...
+       904edf1f076 Mention indent-rigidly in the Emacs manual
+
+2023-06-17  Po Lu  <luangruo@yahoo.com>
+
+       Initialize signal mask earlier
+
+       * java/org/gnu/emacs/EmacsService.java (onCreate, run): Don't
+       initialize signal mask here.
+       * java/org/gnu/emacs/EmacsApplication.java (onCreate): Do it
+       here instead.
+       * src/android.c (JNICALL): Restore previous signal masks.
+
+2023-06-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Correct conversion of strings to tree-sitter query syntax
+
+       The treesitter query syntax for string literals differs from that of
+       Elisp so we cannot just use the Lisp printer (bug#64017).
+
+       * src/treesit.c (treesit_query_string_string): New function.
+       (Ftreesit_pattern_expand): Use it.
+       * test/src/treesit-tests.el (treesit-query-api): Add test case.
+
+2023-06-16  Po Lu  <luangruo@yahoo.com>
+
+       Fix quitting after changes to signal delivery
+
+       * src/android.c (android_write_event, JNICALL)
+       (android_run_in_emacs_thread): Don't rely on raise to call
+       deliver_process_signal.
+
+2023-06-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
+       * java/org/gnu/emacs/EmacsApplication.java (findDumpFile):
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
+       (addSubmenu, display):
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java
+       (getNotificationUri, queryChildDocuments, deleteDocument):
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
+       * java/org/gnu/emacs/EmacsFillRectangle.java (perform):
+       * java/org/gnu/emacs/EmacsOpenActivity.java (readEmacsClientLog)
+       (checkReadableOrCopy):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java
+       (EmacsSdk7FontDriver):
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView):
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, onKeyUp):
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (EmacsWindowAttachmentManager): Remove various unused arguments
+       and variables, dead stores, and make minor cleanups and
+       performance improvements.
+       * src/androidmenu.c (FIND_METHOD_STATIC, android_menu_show):
+       Adjust accordingly.
+
+2023-06-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-15  Tony Zorman  <soliditsallgood@mailbox.org>
+
+       eshell-next-prompt: More precisely navigate to the prompt (bug#63748)
+
+       * lisp/eshell/em-prompt.el (eshell-next-prompt): Navigate to the
+       current prompt more accurately by using text properties instead of
+       going to the beginning of the line.  This is important for multiline
+       prompts, as they don't necessarily start at the beginning of the
+       current line.
+
+       * test/lisp/eshell/em-prompt-tests.el
+       (em-prompt-test--with-multiline):
+       Execute a given body with a multiline prompt.
+
+       (em-prompt-test/next-previous-prompt-with):
+       (em-prompt-test/forward-backward-matching-input-with):
+       Helper functions for code reuse.
+
+       (em-prompt-test/forward-backward-matching-input):
+       (em-prompt-test/next-previous-prompt):
+       Rewrite in terms of the appropriate helper functions.
+
+       (em-prompt-test/next-previous-prompt-multiline):
+       (em-prompt-test/forward-backward-matching-input-multiline):
+       Add multiline variants of existing tests.
+
+2023-06-15  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-install-language-grammar (bug#63990)
+
+       * lisp/treesit.el:
+       (treesit-install-language-grammar): When called non-interactively,
+       out-dir should default to default-out-dir.
+
+2023-06-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection, beginBatchEdit, reset, endBatchEdit):
+       Keep track of the number of batch edits and return an
+       appropriate value.
+       (takeSnapshot): Implement function.
+       * java/org/gnu/emacs/EmacsNative.java (takeSnapshot): New
+       function.
+       * java/org/gnu/emacs/EmacsService.java (resetIC): Improve
+       debugging output.
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Call `reset' to clear the UI side batch edit count.
+       * src/androidterm.c (struct
+       android_get_surrounding_text_context): New fields
+       `conversion_start' and `conversion_end'.
+       (android_get_surrounding_text): Return the conversion region.
+       (android_get_surrounding_text_internal, NATIVE_NAME): Factor out
+       `getSurroundingText'.
+       (takeSnapshot): New function.
+
+2023-06-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Avoid using `(lambda ...) to build function values
+
+       * lisp/emacs-lisp/nadvice.el (advice-eval-interactive-spec): Avoid
+       `(lambda ...).
+
+2023-06-14  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Handle point not at EOB in minibuffer-choose-completion
+
+       Without this change, only the minibuffer contents before point are
+       cleared when a completion is chosen, which results in stray text when
+       point is in the middle of the minibuffer.
+
+       After this change, we heuristically decide either to clear the whole
+       buffer or only part of it, taking into account the location of point.
+
+       * lisp/minibuffer.el (minibuffer-completion-help): Use point when
+       calculating completion-base-affixes. (Bug#62700)
+
+2023-06-14  Po Lu  <luangruo@yahoo.com>
+
+       Improve IM synchronization on Android
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection): Reimplement as an InputConnection, not
+       BaseInputConnection.
+       * src/androidterm.c (performEditorAction): Sync prior to sending
+       keyboard events.
+
+2023-06-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-13  Robert Pluim  <rpluim@gmail.com>
+
+       Replace unneeded sprintfs with print
+
+       * admin/unidata/emoji-zwj.awk: Printing strings doesn't need sprintf,
+       so just use print and string concatenation.
+
+2023-06-13  Robert Pluim  <rpluim@gmail.com>
+
+       Insert timestamp when converting icalendar to org event
+
+       * lisp/gnus/gnus-icalendar.el (gnus-icalendar--update-org-event):
+       Insert the timestamp even if the description is empty.  (Bug#64023)
+
+2023-06-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Move quoted lambda funarg check and expand coverage
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
+       Move check for incorrectly quoted lambda arguments from here...
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
+       ... to here, which should provide more detection opportunities.
+       Expand the set of functions for which this check is performed, now
+       also for some keyword arguments.
+
+2023-06-13  Robert Pluim  <rpluim@gmail.com>
+
+       Don't feed the awk scripts into themselves
+
+       * admin/unidata/Makefile.in (${unidir}/charscript.el,
+       ${unidir}/emoji-zwj.el): Define variables for the required sources and
+       pass those to awk instead of $^, since the latter includes the awk
+       script itself.
+
+2023-06-13  Po Lu  <luangruo@yahoo.com>
+
+       Improve behavior of Gnus on Android
+
+       * etc/NEWS: Fix typo.
+       * lisp/gnus/gnus-score.el (gnus-read-char): New function.
+       (gnus-summary-increase-score): Use it to display a dialog box on
+       Android, where input methods have trouble with plain old
+       read-char.
+
+2023-06-13  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/transient.el (transient--wrap-command): Use `letrec` and a 
closure
+
+2023-06-12  Po Lu  <luangruo@yahoo.com>
+
+       Improve appearance of custom dialog buttons on Android
+
+       * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Resolve
+       dialog button style and use it instead.
+
+2023-06-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix deadlocks
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView)
+       (showOnScreenKeyboard, hideOnScreenKeyboard): Don't synchronize.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
+       (toggleOnScreenKeyboard): Revert to calling IMM functions from
+       the main thread.
+       * src/android.c (struct android_event_container)
+       (android_pselect_nfds, android_pselect_readfds)
+       (android_pselect_writefds, android_pselect_exceptfds)
+       (android_pselect_timeout): Don't make volatile.
+       (android_wait_event): Run queries if necessary.
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Define missing groups for ERC modules
+
+       * lisp/erc/erc-imenu.el (erc-imenu): Define group even though there
+       aren't any associated faces or user options because `imenu' is a
+       global module, and `define-erc-module' calls `define-minor-mode',
+       which needs a group for its mode variable.  This should have been
+       handled by bug#60954 but wasn't.
+       * lisp/erc/erc-sound.el (erc-sound): Move group definition above
+       module definition.
+       * lisp/erc/erc-spelling.el (erc-spelling): Define group.
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Revert "Add hook to regain nickname in ERC"
+
+       This reverts commit 8c0c98268440b27a77faf30738dfd72c909bb33f.  The
+       functionality it introduced is likely being migrated to a
+       "regain"-specific local module to live in the library erc-services.el
+       alongside the existing `services' module.  Its scope will be expanded
+       to address common "regain" cases requiring NickServ.  This commit is
+       being reverted to prevent any confusion that might arise from users
+       encountering the old interface while the new one is being hashed out
+       on the tracker.
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Don't insert prompt input before markers in ERC
+
+       * etc/ERC-NEWS: Update entry in 5.6 section announcing a persistent
+       prompt.
+       * lisp/erc/erc-dcc.el (erc-dcc-chat-setup): Use helper
+       `erc--initialize-markers' to set up prompt.
+       * lisp/erc/erc.el (erc--initialize-markers): Change
+       `erc-insert-marker' type to t.  Do this to spare modules that want to
+       remember the current message location from resorting to workarounds,
+       like leaving a marker one char before the end of a message, which is
+       not foolproof.
+       (erc--refresh-prompt): Temporarily change type of `erc-insert-marker'
+       when inserting prompt.
+       (erc-display-line-1): Insert incoming message normally instead of
+       forcing before markers, thus respecting markers left by third parties.
+       Strictly speaking, this is a breaking change.
+       (erc-display-msg): Insert normally instead of calling
+       `insert-before-markers', which was a regression introduced by 05f6fdb9
+       "Preserve ERC prompt and its bounding markers".
+       * test/lisp/erc/erc-dcc-tests.el
+       (erc-dcc-tests--dcc-handle-ctcp-send,
+       erc-dcc-tests--erc-dcc-do-GET-command): Use helper to initialize
+       prompt and markers.
+       * test/lisp/erc/erc-networks-tests.el
+       (erc-networks--ensure-announced,
+       erc-networks--rename-server-buffer--existing--reuse,
+       erc-networks--rename-server-buffer--existing--noreuse,
+       erc-networks--rename-server-buffer--reconnecting,
+       erc-networks--rename-server-buffer--id,
+       erc-networks--rename-server-buffer--existing--live,
+       erc-networks--rename-server-buffer--local-match,
+       erc-networks--rename-server-buffer--local-nomatch): Use helper to
+       initialize prompt and bounding markers.
+       * test/lisp/erc/erc-stamp-tests.el (erc-stamp-tests--insert-right):
+       Use `erc--initialize-markers' for setting up prompt.
+       * test/lisp/erc/erc-tests.el (erc--refresh-prompt): Adjust assertions
+       for expected prompt content.  (Bug#60936)
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Cement ordering of essential hook members in ERC
+
+       * etc/ERC-NEWS: Add new section explaining the pinning of certain hook
+       members owned by built-in modules to fixed depths.
+       * lisp/erc/erc-button.el (erc-button-mode, erc-button-enable): Change
+       hook depth for `erc-button-add-buttons' from 90 to 30.
+       * lisp/erc/erc-fill.el (erc-fill-mode, erc-fill-enable): Change hook
+       depth for `erc-fill' from 0 to 40.
+       * lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Change
+       hook depth for `erc-match-message' from 90 to 60.
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Change
+       hook depth for `erc-add-timestamp' from 90 to 50.
+       * test/lisp/erc/erc-tests.el
+       (erc-tests--assert-printed-in-subprocess): Add fixture for testing a
+       form printed from a subprocess.
+       (erc--find-mode, erc--essential-hook-ordering): Use helper in existing
+       and new tests, respectively.  (Bug#60936)
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Measure stamps pixel-wise with erc-fill-wrap
+
+       * lisp/erc/erc-fill.el (erc-fill-wrap-mode, erc-fill-wrap-enable):
+       Change "how" for advice applied to `erc-stamp--insert-date-function'
+       from `:filter-args' to `:after'.
+       (erc-fill--wrap-stamp-insert-prefixed-date): Change signature to
+       conform to `:after'-style advice.  Use `buffer-text-pixel-size' when
+       desired and available for generating display spec.
+       (erc-fill-wrap): Remove confusing comment.  Don't apply text props to
+       newlines because there's no obvious use case for inheriting these.
+       * lisp/erc/erc.el (erc-send-action, erc-display-msg): Add
+       `erc-command' property (as "PRIVMSG") to inserted message, sans
+       newline, so that all inserted messages in an ERC buffer contain this
+       property.
+       * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update 
data.
+       * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update 
data.
+       * test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: Update.
+       * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
+       (Bug#60936)
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Allow ERC modules to extend erc-nick-popup-alist
+
+       * etc/ERC-NEWS: Mention changes to `erc-button-alist' and superficial
+       changes to `erc-nick-popup-alist'.
+       * lisp/erc/erc-button.el (erc-nick-popup-alist): Change type to prefer
+       associating strings with functions instead of arbitrary sexps.
+       (erc-button-cmd-KICK, erc-button-cmd-MSG): New functions to serve as
+       interrogative wrappers for `erc-cmd-KICK' and `erc-cmd-MSG' in
+       `erc-nick-popup-alist'.  The first also fixes a bug in which all but
+       the first token of a given "reason" would be omitted from the
+       ":trailing" portion of an outgoing "KICK" message.
+       (erc-button--nick-popup-alist): New variable to help built-in modules
+       expose special actions to `erc-nick-popup' without touching
+       `erc-nick-popup-alist'.
+       (erc-nick-popup): Present members from both `erc--nick-popup-alist'
+       and `erc-nick-popup-alist' to the invoking user.  Accommodate
+       functions as well as arbitrary sexps.  (bug#63569)
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Deprecate nicknames entry in erc-button-alist
+
+       * lisp/erc/erc-button.el (erc-button-mode, erc-button-enable,
+       erc-button-disable): Restore running `erc-button-setup' on
+       `erc-mode-hook' and also do so immediately in all ERC buffers.
+       Do this instead of calling `erc-button--check-nicknames-entry.
+       (erc-button-buttonize-nicks): Mention that this option's value must be
+       non-nil for all but the most basic client functionality.
+       (erc-button-alist): Remove `nicknames' entry entirely.  Describe
+       deprecation, replacement behavior, and available escape hatches in doc
+       string.  Update and improve custom type definition, in particular, by
+       including long supported but never mentioned variants for the "REGEXP"
+       field.
+       (erc-button-keys-added): Deprecate because unused and misleading: keys
+       are bound during module init and remain so while module is enabled.
+       (erc-button--has-nickname-entry): New variable to indicate whether to
+       follow legacy code path when a `nicknames' entry exists in
+       `erc-button-alist'.
+       (erc-button-setup): Rewrite to provide warnings about deprecated
+       values for `erc-button-alist'.
+       (erc-button-nickname-callback-function): Add escape hatch for those
+       needing a custom callback for what was the default `nickname' entry in
+       `erc-button-alist'.
+       (erc-button-add-buttons): Always run `erc-button-add-nickname-buttons'
+       unless `erc-button--has-nickname-entry' is non-nil.
+       (erc-button--maybe-warn-arbitrary-sexp, erc-button--extract-form):
+       Rename former to latter and abstain from emitting a warning.
+       (erc-button--check-nicknames-entry): Remove unused function.
+       (erc-button-add-nickname-buttons): Defer to `erc-button--extract-form'
+       for determining value of third FORM slot of entry.
+       (erc-button-add-buttons-1): Call renamed version of
+       `erc-button--maybe-warn-arbitrary-sexp'.  (Bug#60933)
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Add alias erc-buffer-do for erc-buffer-filter
+
+       * lisp/erc/erc-goodies.el (erc-scrolltobottom-enable,
+       erc-scrolltobottom-mode): Prefer `erc-buffer-do' to
+       `erc-buffer-filter'.
+       (erc-move-to-prompt-mode, erc-move-to-prompt-enable): Prefer
+       `erc-buffer-do' to `erc-buffer-filter'.
+       * lisp/erc/erc-imenu.el (erc-imenu-mode, erc-imenu-enable): Prefer
+       `erc-buffer-do' to `erc-buffer-filter'.
+       * lisp/erc/erc-match.el (erc-match-enable, erc-match-mode): Prefer
+       `erc-buffer-do' to `erc-buffer-filter'.
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Prefer
+       `erc-buffer-do' to `erc-buffer-filter'.
+       * lisp/erc/erc.el (erc-buffer-filter): Improve doc string.
+       (erc-buffer-do): Add alias for new code to prefer when calling
+       `erc-buffer-filter' for effect.  Do this because continually having to
+       refer back to the doc strings and implementations of the latter as
+       well as `erc-buffer-p', `erc-buffer-list', and co. is unproductive.
+       (erc-buffer-list): Use `always' as fallback predicate.
+
+2023-06-12  F. Jason Park  <jp@neverwas.me>
+
+       Prefer emacs-news-mode in etc/ERC-NEWS
+
+       * etc/ERC-NEWS: Remove `outline' from prop line and prefer
+       `emacs-news-mode' in local variables list.
+       * lisp/erc/erc.el (erc-news): Overwrite cached file and ask before
+       re-fetching.
+
+2023-06-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt emba integration
+
+       * test/infra/Makefile.in (subdir_template): Special handling of lib-src.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2023-06-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix tramp-sshfs
+
+       * lisp/net/tramp-fuse.el (tramp-fuse-handle-file-exists-p): New defun.
+       (tramp-fuse-mount-timeout): Move up.
+       (tramp-fuse-mount-point): Use `tramp-fuse-mount-timeout'.
+       (tramp-fuse-unmount): Flush "mount-point" file property.
+
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
+       Use `tramp-fuse-handle-file-exists-p'.
+
+       * test/lisp/net/tramp-tests.el (all): Use function read syntax
+       where appropriate.
+       (tramp-test39-detect-external-change): Let-bind
+       `read-from-minibuffer' instead of `yes-or-no-p'.
+
+2023-06-11  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/net/tramp.el (tramp-encoding-shell):
+       * lisp/obsolete/terminal.el (terminal-emulator):
+       * lisp/term.el (term-exec-1):
+       * lisp/textmodes/artist.el (artist-figlet-get-font-list):
+       * src/android.c (JNICALL): Where /bin/sh was previously used,
+       use /system/bin/sh on Android.
+
+2023-06-11  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       Document member variables.
+       (onDraw): Use separate Paint object on the UI thread.
+       * src/textconv.c (really_commit_text, really_set_composing_text)
+       (really_delete_surrounding_text): Run modification hooks when
+       deleting text.
+
+2023-06-11  Po Lu  <luangruo@yahoo.com>
+
+       Avoid extraneous calls to the UI thread
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView)
+       (showOnScreenKeyboard, hideOnScreenKeyboard)
+       (onCheckIsTextEditor): Make synchronized.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
+       (toggleOnScreenKeyboard): Don't post to the main thread.
+
+2023-06-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       0d8b69e0ad3 Don't ding when completion succeeded
+       f11e2d36999 ; * admin/git-bisect-start: Update failing commits
+       9855a3ea744 ; * src/xdisp.c (redisplay_tool_bar): Fix a typo in a com...
+       f4ee696b887 Improve documentation of color-related functions
+       90eadc3e234 Revert "* package.el (package--get-activatable-pkg): Pref...
+       65f355ea0a3 ; Update my mail address
+       a3a69ec2342 Fix connection-local user options handling (bug#63300)
+       240803cc3e1 Document 'startup-redirect-eln-cache'
+       026afb22984 ; * etc/PROBLEMS: Entry about crashes due to anti-virus (...
+       bcc222251e1 Fix `emacs-lisp-native-compile-and-load' for C-h f (bug#5...
+       07c8211ca30 Add 'infer' as a keyword to typescript-ts-mode (bug#63880)
+       dd2d8ff2f5c ; * etc/NEWS: Mention the issue with PGTK on WSL (bug#633...
+       fa8135f8916 Revert changes to the order in which package descs are lo...
+       27fcfa2c0a7 ; * etc/NEWS: Improve instructions for grammar libraries.
+       2a84ab905c8 Handle point in last file-name component in minibuffer co...
+       05f25238b7b Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       4bc043ff45d Avoid asking redundant question in emacsbug.el
+       2eadf328d05 * test/infra/Dockerfile.emba (emacs-base): Don't install ...
+       583ba1db7ee typescript-ts-mode: Add a rule for function_signature
+
+       # Conflicts:
+       #       etc/NEWS
+       #       lisp/minibuffer.el
+
+2023-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid infinite recursion in 'window_wants_header_line'
+
+       * src/window.c (null_header_line_format): Avoid infinite
+       recursion by disallowing :eval on recursive calls.
+       (Bug#63988)
+
+2023-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_select, android_check_query)
+       (android_check_query_urgent, android_answer_query)
+       (android_answer_query_spin, android_begin_query, android_end_query)
+       (android_run_in_emacs_thread): Use finer grained memory
+       synchronization semantics.
+       * src/androidterm.c (android_get_selection): Use the current
+       selection, not its value at the time of the last redisplay.
+       * src/keyboard.c (handle_input_available_signal): Place memory
+       barrier.
+
+2023-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Inherit surrounding text properties when inserting conversion text
+
+       * src/textconv.c (really_commit_text)
+       (really_set_composing_text): Improve behavior of certain
+       fontification mechanisms by inheriting text properties from
+       surrounding text.
+
+2023-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-10  Po Lu  <luangruo@yahoo.com>
+
+       Prevent hangs from IM requests with the main thread busy
+
+       * src/android.c (android_select): Clear `android_urgent_query'.
+       (android_check_query): Make static.  Clear
+       `android_urgent_query'.
+       (android_check_query_urgent): New function; work like
+       `android_check_query', but only answer urgent queries.
+       (android_answer_query, android_end_query): Clear urgent query
+       flag.
+       (android_run_in_emacs_thread): Initially wait two seconds for
+       the query to run from the keyboard loop; upon a timeout, set
+       `android_urgent_query' to true and wait for it to run while
+       reading async input.
+       * src/android.h: Update prototypes.
+       * src/keyboard.c (handle_async_input): Call
+       `android_check_query_urgent'.
+
+2023-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Avoid responding to input method queries asynchronously
+
+       * src/androidterm.c (handle_one_android_event): Don't answer
+       queries here; just rely on the event interrupting
+       android_select.  This avoids exposing buffer contents to input
+       methods while a command is being executed.
+       * src/textconv.c (TEXTCONV_DEBUG, really_commit_text)
+       (really_finish_composing_text, really_set_composing_text)
+       (really_set_composing_region, really_delete_surrounding_text)
+       (really_set_point_and_mark, get_extracted_text): Add debugging
+       printouts.
+
+2023-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Initialize text conversion hooks for each C Mode buffer
+
+       * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Always add
+       text conversion hooks.
+
+2023-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Block profiling signals in the Android UI thread
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function `setupSystemThread'.
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Block all
+       signals except for SIGBUS and SIGSEGV in the UI thread.
+       * src/android.c (setupSystemThread): New function.
+
+2023-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash starting Emacs to open file
+
+       * java/org/gnu/emacs/EmacsThread.java (run): Correct check
+       against extraStartupArgument when an initial file is specified.
+
+2023-06-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove special fset byte-compilation warning
+
+       * lisp/emacs-lisp/bytecomp.el (fset, byte-compile-fset):
+       Remove special warning for fset, subsumed by the more general quoted
+       lambda funarg warning.
+
+2023-06-08  João Távora  <joaotavora@gmail.com>
+
+       Eglot: also add watches for newly created directories
+
+       GitHub-reference: https://github.com/joaotavora/eglot/pull/1228
+       GitHub-reference: https://github.com/joaotavora/eglot/discussions/1226
+
+       * lisp/progmodes/eglot.el (eglot-register-capability): Rework.
+
+       Suggested by: https://github.com/thejeffphil
+
+2023-06-08  João Távora  <joaotavora@gmail.com>
+
+       Eglot: try reuse file watchers when server over-watches
+
+       GitHub-reference: https://github.com/joaotavora/eglot/pull/1228
+       GitHub-reference: https://github.com/joaotavora/eglot/discussions/1226
+
+       The Pyright language server issues very heavy file watching requests,
+       which sometimes exceed the OS limit.  Most of these file watches are
+       useless, but Pyright insists on issuing them.
+
+       What's more, for some (absurd?) reason, Pyright issues two file
+       watching requests for the _same_ directories, only to then almost
+       immediately ask to undo the effects of one of these requests.
+
+       This change to Eglot makes it so that if a single server requests to
+       watch a specific directory twice, only one file watch object is used.
+
+       Suggested by: https://github.com/thejeffphil
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): Change structure of
+       file-watches field.
+       (eglot--on-shutdown): Adapt to new structure.
+       (eglot-register-capability): Rework.
+       (eglot-unregister-capability): Rework.
+
+       * etc/EGLOT-NEWS: Mention change
+
+2023-06-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-08  Po Lu  <luangruo@yahoo.com>
+
+       Correctly display popup dialogs from Emacsclient
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
+       Make subclasses final.
+       * java/org/gnu/emacs/EmacsDialog.java (display1): Check if an
+       instance of EmacsOpenActivity is open; if it is, try using it to
+       display the pop up dialog.
+       * java/org/gnu/emacs/EmacsDialogButtonLayout.java
+       (EmacsDialogButtonLayout): Make final.
+       * java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>):
+       Likewise.
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity):
+       New field `currentActivity'.
+       (onCreate, onDestroy, onWindowFocusChanged, onPause): Set that
+       field as appropriate.
+
+2023-06-08  Amritpal Singh  <sysgrammer@protonmail.com>  (tiny change)
+
+       Support files compressed by 'pigz'
+
+       * src/decompress.c (md5_gz_stream): Check 'stream.avail_in' as
+       well.  (Bug#63832)
+
+2023-06-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_is_special_directory): New function.
+       (android_get_asset_name, android_content_name_p)
+       (android_get_content_name):
+       * src/android.h (android_is_special_directory)
+       (JNI_STACK_ALIGNMENT_PROLOGUE):
+       * src/fileio.c (check_mutable_filename):
+       * src/filelock.c (WTMP_FILE, make_lock_file_name):
+       * src/inotify.c (IN_ONLYDIR, Finotify_add_watch): Factor out
+       checks against asset and content directories to that function.
+
+2023-06-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-06-07  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsInputConnection.java (beginBatchEdit)
+       (endBatchEdit, commitCompletion, commitText, deleteSurroundingText)
+       (finishComposingText, getSelectedText, getTextAfterCursor)
+       (getTextBeforeCursor, setComposingText, setComposingRegion)
+       (performEditorAction, performContextMenuAction, getExtractedText)
+       (setSelection, sendKeyEvent, deleteSurroundingTextInCodePoints)
+       (requestCursorUpdates): Ensure that the input connection is up
+       to date.
+       (getSurroundingText): New function.
+       * java/org/gnu/emacs/EmacsNative.java (getSurroundingText):
+       Export new C function.
+       * java/org/gnu/emacs/EmacsService.java (resetIC): Invalidate
+       previously created input connections.
+       * java/org/gnu/emacs/EmacsView.java (EmacsView)
+       (onCreateInputConnection): Signify that input connections are
+       now up to date.
+       * src/androidterm.c (struct
+       android_get_surrounding_text_context): New structure.
+       (android_get_surrounding_text, NATIVE_NAME):
+       * src/textconv.c (get_surrounding_text):
+       * src/textconv.h: New functions.
+
+2023-06-07  Wilson Snyder  <wsnyder@wsnyder.org>
+
+       Merge from verilog-mode upstream.
+
+       * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix parsing "@ 
(* )" (#1829).
+       (verilog-indent-ignore-p): Fix indent of comments being
+       wrongly detected as multiline defines.  Reported by Gonzalo Larumbe
+       <gonzalomlarumbe@gmail.com>.
+       (verilog-pos-at-end-of-statement): Fix minor bug in
+       `verilog-pos-at-end-of-statement' assuming `verilog-end-of-statement`.
+       Reported by Gonzalo Larumbe <gonzalomlarumbe@gmail.com>.
+       (verilog-in-generate-region-p):
+       Fix indentation of generate blocks omitting keyword.
+       Reported by Gonzalo Larumbe <gonzalomlarumbe@gmail.com>.
+
+2023-06-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-07  Justin Burkett  <justin@burkett.cc>
+
+       Remove old "recent changes" from README
+
+2023-06-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-06  Po Lu  <luangruo@yahoo.com>
+
+       Fix problems resulting from modification of the undo list
+
+       * doc/lispref/text.texi (Atomic Changes): Describe what not to
+       do inside an atomic change group.
+       * lisp/elec-pair.el (electric-pair-inhibit-if-helps-balance):
+       Don't call `delete-char'; that edits the undo list by removing
+       boundary markers.
+       * lisp/subr.el (atomic-change-group, prepare-change-group): Warn
+       against modifying the undo list inside.
+
+2023-06-06  Eshel Yaron  <eshelyaron@dazzs-mbp.home>
+
+       Avoid header line with some empty non-nil formats
+
+       Allow the value of 'header-line-format' to indicate that no header
+       line should be displayed when it trivially yields 'nil', even if it is
+       not plain 'nil'.  Previously, any non-nil 'header-line-format'
+       resulted in a (possibly empty) header line.  This change adds some
+       flexibility by also taking a non-nil value of 'header-line-format' to
+       mean that no header line should be displayed if it's a list whose
+       'car' is a symbol and either that symbol is ':eval' and the second
+       list element evaluates to 'nil', or the symbol's value as a variable
+       is 'nil' or void.
+       (Bug#63825)
+
+       * src/xdisp.c (safe_eval_inhibit_quit): New function.
+       * src/lisp.h (safe_eval_inhibit_quit): Declare it.
+       * src/window.c (null_header_line_format): New function.
+       (window_wants_header_line): Use it.
+
+       * doc/lispref/modes.texi (Header Line): Update to reflect new
+       conditions for displaying a window's header line.
+
+       * etc/NEWS: Announce updated treatment of 'header-line-format'.
+
+2023-06-06  Sean Whitton  <spwhitton@spwhitton.name>
+
+       eval-command-interactive-spec: Shorten code
+
+       * lisp/emacs-lisp/subr-x.el (eval-command-interactive-spec): Don't
+       reimplement checking for an 'interactive-form symbol property.
+       `interactive-form' already does this.  Thanks to Stefan Monnier.
+
+2023-06-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (display): Use
+       `EmacsHolder' instead of `Holder'.
+       * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Use
+       `EmacsDialogButtonLayout' to ensure that buttons are wrapped
+       properly.
+       (display): Adjust for new holder class.
+       * java/org/gnu/emacs/EmacsDialogButtonLayout.java
+       (EmacsDialogButtonLayout, onMeasure, onLayout): New functions.
+
+       * java/org/gnu/emacs/EmacsDrawLine.java:
+       * java/org/gnu/emacs/EmacsFillPolygon.java: Remove redundant
+       imports.
+       * java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>):
+       * java/org/gnu/emacs/EmacsService.java (class Holder<T>)
+       (getEmacsView, EmacsService): Rename `Holder' to `EmacsHolder'
+       and make it public.
+
+2023-06-06  Po Lu  <luangruo@yahoo.com>
+
+       Improve undo behavior on Android
+
+       * lisp/simple.el (undo-auto-amalgamate): Update doc string to
+       describe new amalgamating commands.
+       (analyze-text-conversion): Make this an amalgamating command by
+       default, unless a new line has been inserted.  Also, shorten the
+       undo boundary timer.
+       * src/textconv.c (really_commit_text)
+       (really_set_composing_text): Correctly report ephemeral
+       deletions.
+       (syms_of_textconv): Fix doc strings.
+
+2023-06-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve tree-sitter tests on emba
+
+       * test/infra/Dockerfile.emba (emacs-tree-sitter): Install further
+       grammars.
+
+       * test/infra/Makefile.in (subdir_template): Special handling of src.
+       (TREE-SITTER-FILES): Add treesit-tests.el.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2023-06-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix bug with point-adjustment after M-x COMMAND
+
+       * src/keyboard.c (command_loop_1): Preserve 'last_point_position'
+       across command execution, to avoid bugs in
+       'adjust_point_for_property' if the command invokes
+       'recursive-edit'.  Reported by Mats Lidell <matsl@gnu.org>.
+
+2023-06-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt emba integration
+
+       * test/infra/Dockerfile.emba (emacs-tree-sitter):
+       Use "/root/.emacs.d/tree-sitter" instead of 
"/usr/local/lib/tree-sitter".
+
+       * test/infra/gitlab-ci.yml (.job-template): Run "/bin/bash -xvc".
+       (test-eglot): Revert last change, it doesn't work yet.
+       (test-tree-sitter): Set TEST_HOME instead of LD_LIBRARY_PATH.
+
+2023-06-05  Po Lu  <luangruo@yahoo.com>
+
+       Clear batch edit state once a new input connection is established
+
+       * src/androidterm.c (android_handle_ime_event): Clear batch edit
+       state, in case the previous input method forgot to do so.
+
+2023-06-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function clearInputFlags.
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Stop reporting changes after a new input method connection is
+       established.
+       * src/androidterm.c (android_handle_ime_event): Implement that
+       change.
+       (JNICALL): New function.
+
+2023-06-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-04  Sean Whitton  <spwhitton@spwhitton.name>
+
+       * lisp/emacs-lisp/subr-x.el (eval-command-interactive-spec): New
+       function.
+
+2023-06-04  Mattias Engdegård  <mattiase@acm.org>
+
+       Better internal-make-closure optimisation
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       Optimise closed-over values in closure creation like any other, which
+       can lead to stack variables being eliminated.
+
+2023-06-04  Andrea Corallo  <akrl@sdf.org>
+
+       * lisp/emacs-lisp/comp-cstr.el (cl-macs): Require it.
+
+       * lisp/emacs-lisp/comp.el (comp-function-type-spec): Improve.
+
+2023-06-04  Andrea Corallo  <akrl@sdf.org>
+
+       Print know function types in C-h f
+
+       * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Improve comment.
+       (comp-funciton-type-spec): New function.
+       * lisp/help-fns.el (help-fns--signature): Update to make use of
+       `comp-funciton-type-spec'.
+
+2023-06-04  Andrea Corallo  <akrl@sdf.org>
+
+       * Have `comp-cstr-to-type-spec' handle comp-cstr-f as well
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--simple-cstr-to-type-spec): New
+       function.
+       (comp-cstr-to-type-spec): Make use of.
+
+2023-06-04  Andrea Corallo  <akrl@sdf.org>
+
+       * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix line lengths
+
+       * lisp/emacs-lisp/comp.el: Improve 85cb075b1bd.
+
+       * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Tweak framep.
+
+2023-06-04  Po Lu  <luangruo@yahoo.com>
+
+       * configure.ac: Tune pty detection for Android.
+
+2023-06-04  Po Lu  <luangruo@yahoo.com>
+
+       Fix input method synchronization problems
+
+       * java/debug.sh (gdbserver_cmd, is_root): Prefer TCP again.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function `queryAndSpin'.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (icBeginSynchronous, icEndSynchronous, viewGetSelection): New
+       synchronization functions.
+       (resetIC, updateCursorAnchorInfo): Call those instead.
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Call viewGetSelection.
+       * src/android.c (JNICALL, android_answer_query_spin): New
+       functions.
+
+2023-06-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt emba integration
+
+       * test/infra/Dockerfile.emba (emacs-eglot, emacs-tree-sitter):
+       Don't install gawk.
+
+       * test/infra/gitlab-ci.yml (test-eglot): Add company and yasnippet.
+
+2023-06-03  Mattias Engdegård  <mattiase@acm.org>
+
+       * admin/unidata/emoji-zwj.awk: Avoid sprint buffer overflow
+
+       Some AWK implementations have a fixed buffer for sprintf; for mawk the
+       default size is 8192 bytes.  Hoist a string concatenation from
+       a sprintf call to avoid running into that limit.  See discussion at
+       https://lists.gnu.org/archive/html/emacs-devel/2023-06/msg00090.html .
+
+2023-06-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       ede3535051a ; Fix last change
+       8ec786349e1 Fix apostrophe handling in rust-ts-mode and go-ts-mode (B...
+       0eba9cf6511 * test/infra/Dockerfile.emba (emacs-base): Install also g...
+       4897c98b6c4 Fix 'python-util-clone-local-variables'
+       6b2c8dc9050 Revert "Enhance Python font-lock to support multilines"
+       348e4504c6d Fix typo in calc.texi
+       03663b8798a Update to Transient v0.4.1
+       dc7acb1aafe Avoid errors in 'delete-forward-char' deleting static com...
+       2f94f6de9d6 Make VS-15 and VS-16 compositions work correctly
+       753f8aa1f14 Fix project-name for vc-aware backend in non-file buffers
+       17c7915ab94 ; Fix 'package-install-upgrade-built-in' check for packag...
+       e252ce26eab Add type_predicate 'is' as keyword in typescript-ts-mode ...
+       0a354d65784 Fix infloop in info-look.el
+       83b22139e4c Fix several todo-mode.el item editing bugs (bug#63811)
+       ed4cd3eddf7 dockerfile-ts-mode: Prevent empty categories in imenu (Bu...
+       2e20e318da2 Brush up doc strings and terminology in plstore.el
+       372bc1278c2 Add internal documentation on plstore.el
+       23a14e7b902 Add compact_constructor_declaration font-locking to java-...
+       500abc4dc37 * lisp/tmm.el (tmm-completion-delete-prompt): Add more ch...
+       afc1f329356 Allow to disable the DWIMish behavior of 'x' in package menu
+       08104c01504 Allow dired to invoke secondary browser
+       a3063f0bc87 Add a binding for enriched-toggle-markup
+       d8ba28fa394 Fix order of tmm-menubar when 'tmm-mid-prompt' is nil
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-06-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       3f441525679 Save the tree-sitter grammar recipe when installing a gra...
+       c0c7b947baf Add instructions and test file for VS-15/VS-16
+       3be33aff963 A better fix for "Fix cancellation of Wdired"
+       756244c6963 ; * lisp/minibuffer.el (completions-header-format): Doc fix.
+       5d844e129ad Fix tmm-menubar when 'tmm-completion-prompt' is nil
+
+       # Conflicts:
+       #       lisp/treesit.el
+
+2023-06-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       95ee5477e16 ; * src/lread.c (read0, skip_lazy_string): Fix commentary...
+
+2023-06-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt emba integration
+
+       * admin/notes/emba: Improve docker call.
+
+       * test/infra/Dockerfile.emba (emacs-eglot, emacs-tree-sitter):
+       Install also gawk.
+
+       * test/infra/Makefile.in (TREE-SITTER-FILES): New variable.
+       (tree-sitter-files-template): New rule.
+       (.PHONY, generate-test-jobs): Add it to dependencies.
+
+       * test/infra/gitlab-ci.yml (variables): Disable CI_DEBUG_TRACE.
+       (test-tree-sitter): Extends also .tree-sitter-files-template.  Use
+       $tree_sitter_files.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2023-06-03  Steven Allen  <steven@stebalien.com>
+
+       Fix use-package :vc keyword when byte-compiled
+
+       * lisp/use-package/use-package-core.el (use-package-handler/:vc):
+       Return the new 'body'. Otherwise, the entire package declaration gets
+       dropped when byte-compiling.
+       * test/lisp/use-package/use-package-tests.el
+       (use-package-test-handler/:vc-6): test it.
+
+2023-06-03  Po Lu  <luangruo@yahoo.com>
+
+       Fix typos in Android port
+
+       * lisp/bindings.el (global-map): Bind cut, copy and paste.
+       * src/androidterm.c (JNICALL): Use key.
+
+2023-06-03  Po Lu  <luangruo@yahoo.com>
+
+       Behave correctly when IMEs commit or compose text with active mark
+
+       * src/textconv.c (really_commit_text)
+       (really_set_composing_text): Delete text between mark and point
+       if the mark is active.  Don't record changes if the text is
+       empty.
+
+2023-06-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidterm.c (struct android_get_extracted_text_context):
+       New field `mark_active'.
+       (android_get_extracted_text): Set that field.
+       (struct android_extracted_text_class): New field `flags'.
+       (android_build_extracted_text): New argument `mark_active'.  Set
+       flags appropriately.
+       (NATIVE_NAME, android_update_selection): Likewise.
+       * src/textconv.c (get_extracted_text): New argument
+       `mark_active'.  Set it if the mark is active.
+       * src/textconv.h: Update prototypes.
+
+2023-06-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+       * etc/MACHINES: Fix reference to obsolete file.
+
+2023-06-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix tree-sitter tests on emba
+
+       * test/infra/Makefile.in: Revert tree-sitter relevant changes.
+
+       * test/infra/gitlab-ci.yml (test-tree-sitter): Remove
+       .tree-sitter-files-template.  List files explicitly.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2023-06-02  Po Lu  <luangruo@yahoo.com>
+
+       Improve Eldoc text conversion support
+
+       * lisp/emacs-lisp/eldoc.el: ("back-to-indentation"): Register
+       touch screen and text conversion commands.
+
+2023-06-02  Po Lu  <luangruo@yahoo.com>
+
+       Improve CC Mode support for text conversion
+
+       * lisp/progmodes/cc-cmds.el (c-post-text-conversion): New
+       function.
+       * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add it as
+       the `post-texxt-conversion-hook'.
+       * lisp/simple.el (post-text-conversion-hook): New hook.
+       (analyze-text-conversion): Run it until success before trying
+       post insert functions.
+
+2023-06-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection): Apply workarounds on Vivo devices as
+       well.
+       * src/android.c (sendKeyPress, sendKeyRelease): Clear counter.
+       * src/androidgui.h (struct android_key_event): New field
+       `counter'.
+       * src/androidterm.c (handle_one_android_event): Generate
+       barriers as appropriate.
+       (JNICALL): Set `counter'.
+       * src/frame.h (enum text_conversion_operation):
+       * src/textconv.c (detect_conversion_events)
+       (really_set_composing_text, handle_pending_conversion_events_1)
+       (handle_pending_conversion_events, textconv_barrier):
+       * src/textconv.h: Implement text conversion barriers and fix
+       various typos.
+
+2023-06-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-06-01  Andrea Corallo  <akrl@sdf.org>
+
+       * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix a bunch of
+
+2023-06-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tree-sitter tests on emba
+
+       * test/infra/Makefile.in (TREE-SITTER-FILES): Double-quote variable.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2023-06-01  Andrea Corallo  <akrl@sdf.org>
+
+       * lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): Refactor.
+
+2023-06-01  Po Lu  <luangruo@yahoo.com>
+
+       Correctly export file:// URIs on Android
+
+       * java/org/gnu/emacs/EmacsService.java (browseUrl): If uri's
+       scheme is `file', rewrite it into a content URI.
+
+2023-06-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection, performContextMenuAction): New function.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative)
+       (performContextMenuAction): New function.
+       * src/android.c (android_get_gc_values): Implement more
+       efficiently.
+       * src/androidterm.c (android_handle_ime_event): Pass through
+       `update' argument to `finish_composing_text'.  Fix thinko.
+       * src/textconv.c (really_finish_composing_text)
+       (really_set_composing_text, really_set_composing_region)
+       (handle_pending_conversion_events_1, finish_composing_text): New
+       argument `update'.  Notify IME of conversion region changes if
+       set.
+       * src/textconv.h: Update structs and prototypes.
+
+2023-06-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection): Add compatibility adjustments for
+       Samsung devices.
+
+2023-06-01  Po Lu  <luangruo@yahoo.com>
+
+       Correctly report start and end in extracted text
+
+       * src/androidterm.c (struct android_get_extracted_text_context):
+       New field `start_offset' and `end_offset'.  Delete `offset'.
+       (android_get_extracted_text, android_build_extracted_text):
+       Replace `offset' with new args `start_offset' and `end_offset'.
+       (NATIVE_NAME): Set `start_offset' and `end_offset'.
+       (android_update_selection): Likewise.
+       * src/textconv.c (get_extracted_text): Likewise.
+       * src/textconv.h: Update prototypes.
+
+2023-06-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-31  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/composite.el (compose-gstring-for-terminal): Fix omitted var.
+
+       It may not make much of a difference since the code path is probably
+       only taken once for i=0 with no more glyphs in the input, but this
+       change avoids depending on such external invariants and makes
+       the code less mystifying to the reader (bug#63807).
+
+2023-05-31  Mattias Engdegård  <mattiase@acm.org>
+
+       Disable unused-return-value warning for delq and delete, again
+
+       * lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
+       Remove `delq` and `delete` since they resulted in false
+       positives that nobody was interested in silencing (bug#61730).
+
+2023-05-31  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/net/shr.el (shr-dom-max-natural-width): Rewrite muddled code.
+
+2023-05-31  Zaz Brown  <zazbrown@zazbrown.com>  (tiny change)
+
+       Make forward and backward-to-word arg optional
+
+       * lisp/misc.el (forward-to-word, backward-to-word): Make the
+       argument optional.  (Bug#63626)
+
+2023-05-31  Po Lu  <luangruo@yahoo.com>
+
+       Fix build with Lisp_Object type checking
+
+       * configure.ac: Pass through `--enable-check-lisp-object-type'
+       on Android.
+       * src/alloc.c (android_make_lisp_symbol):
+       * src/android.c:
+       * src/androidfns.c (android_set_no_focus_on_map)
+       (android_set_no_accept_focus):
+       * src/androidfont.c (androidfont_match, androidfont_open_font):
+       * src/androidselect.c (Fandroid_get_clipboard)
+       (Fandroid_get_clipboard_targets):
+       * src/keyboard.c (make_lispy_event, syms_of_keyboard):
+       * src/sfntfont.c (sfnt_enum_font_1, sfntfont_list_1):
+       * src/textconv.c (really_set_point_and_mark): Fix Lisp_Object
+       and integer screw-ups.
+
+2023-05-31  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve tree-sitter tests on emba
+
+       * test/infra/Dockerfile.emba (emacs-tree-sitter): Install only
+       grammars which are needed.
+
+       * test/infra/Makefile.in (subdir_template): Special handling of
+       progmodes.
+       (TREE-SITTER-FILES): New variable.
+       (tree-sitter-files-template): New rule.
+       (.PHONY, generate-test-jobs): Add it to dependencies.
+
+       * test/infra/gitlab-ci.yml (.tree-sitter-template):
+       Add test/lisp/progmodes/*-ts-mode-resources/**.
+       (test-tree-sitter): Extends also .tree-sitter-files-template.  Use
+       $tree-sitter-files.
+
+       * test/infra/test-jobs.yml: Regenerate.
+
+2023-05-31  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/input.texi (Other Input Devices, Touchscreens)
+       (On-Screen Keyboards):
+       * doc/lispref/commands.texi (Misc Events):
+       * src/android.c (android_faccessat): Improve word choices and
+       commentary.
+       * lisp/touch-screen.el (touch-screen-handle-scroll): Make
+       precision scrolling work better with horizontal movement.
+
+2023-05-31  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/exec.c (insert_args): New argument `arg3'.  Replace
+       argv[1] with that argument.
+       (exec_0): Pass file name of script to `insert_args'.
+
+2023-05-31  Po Lu  <luangruo@yahoo.com>
+
+       Update android.texi
+
+       * doc/emacs/android.texi (What is Android?):
+       (Android Startup):
+       (Android File System):
+       (Android Environment):
+       (Android Windowing):
+       (Android Troubleshooting): Improve wording and various other
+       issues.
+
+2023-05-31  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-31  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/debug.sh (is_root): Go back to using unix sockets; allow
+       adb to forward them correctly.
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (getExtractedText): Don't print text if NULL.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService): New field
+       `imSyncInProgress'.
+       (updateIC): If an IM sync might be in progress, avoid deadlocks.
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Set `imSyncInProgress' across synchronization point.
+       * src/android.c (android_check_query): Use __atomic_store_n.
+       (android_answer_query): New function.
+       (android_begin_query): Set `android_servicing_query' to 2.
+       Check once, and don't spin waiting for query to complete.
+       (android_end_query): Use __atomic_store_n.
+       (android_run_in_emacs_thread): Compare-and-exchange flag.  If
+       originally 1, fail.
+       * src/textconv.c (really_set_composing_text): Clear conversion
+       region if text is empty.
+
+2023-05-30  Andrea Corallo  <akrl@sdf.org>
+
+       'describe-function' shows function inferred type when available
+
+       * lisp/help-fns.el (help-fns--signature): Print function type for
+       native compiled code.
+       * etc/NEWS: Add entry.
+
+2023-05-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Add function declarations
+
+       * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
+       Add get-byte, string-width, unibyte-string, special-variable-p, frexp,
+       buffer-hash, buffer-line-statistics, load-average, md5, secure-hash,
+       string-collate-equalp, string-collate-lessp, string-to-unibyte,
+       string-version-lessp, current-cpu-time.
+       (side-effect-and-error-free-fns): Add equal-including-properties.
+       (pure-fns): Add equal-including-properties, string-version-lessp.
+       * lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
+       Add match-data.
+       * lisp/subr.el (buffer-local-boundp, subr-primitive-p, gensym)
+       (frame-configuration-p, apply-partially, make-composed-keymap)
+       (keymap-canonicalize, listify-key-sequence, event-modifiers)
+       (event-basic-type, mouse-event-p, event-start, event-end)
+       (event-click-count, event-line-count, posnp, posn-window, posn-area)
+       (posn-point, posn-x-y, posn-col-row, posn-actual-col-row)
+       (posn-timestamp, posn-string, posn-image, posn-object)
+       (posn-object-x-y, posn-object-width-height, provided-mode-derived-p)
+       (derived-mode-p, autoloadp, locate-eln-file, symbol-file)
+       (process-lines-handling-status, process-lines)
+       (process-lines-ignore-status, process-get)
+       (copy-overlay, shell-quote-argument, field-at-pos):
+       Add appropriate function declarations.
+
+2023-05-30  Mattias Engdegård  <mattiase@acm.org>
+
+       xml.el: remove incorrect and botched attribute whitespace collapse
+
+       * lisp/xml.el (xml-parse-attlist): Don't attempt to collapse multiple
+       consecutive whitespace characters into a single space, which is wrong
+       to do a this point when attributes must be assumed to be CDATA.
+
+       The code was actually unintentionally correct since it forgot to use
+       the return value of `replace-regexp-in-string` (bug#63740).
+
+2023-05-30  Mattias Engdegård  <mattiase@acm.org>
+
+       * test/lisp/dnd-tests.el (dnd-tests-begin-text-drag): Fix typo.
+
+2023-05-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Avoid using rx `any` for `not-newline`
+
+       Despite its name, `any` does not match any character (use `anychar`
+       for that) but is an old synonym for `not-newline` and `nonl`,
+       retained for compatibility with the obsolete `sregex` package.
+
+       (In SRE as defined by SRFI-115, `any` does match any character.)
+
+       There is also a mild but unnecessary confusion with the more
+       frequently used `any` construct for character alternatives.
+
+       * lisp/edmacro.el (edmacro-mode-font-lock-keywords):
+       * lisp/erc/erc.el (erc--ensure-url):
+       * lisp/org/org.el (org-fontify-meta-lines-and-blocks-1):
+       * lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
+       * test/lisp/find-cmd-tests.el (find-cmd-test-find-cmd):
+       Replace uses of `any` with `nonl`.
+
+2023-05-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Clean up defcustom type quote check
+
+       * lisp/emacs-lisp/bytecomp.el
+       (byte-compile--suspicious-defcustom-choice): Rename to...
+       (byte-compile--defcustom-type-quoted): ...this and rewrite to make
+       more sense.  All callers updated.
+       (byte-compile-nogroup-warn): Better warning message.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (test-bytecomp-defgroup-choice): This never failed because it wasn't
+       actually a test.  Turn it into...
+       (bytecomp-test-defcustom-type-quoted): ...this, which is.
+
+2023-05-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/gitlab-ci.yml (test-tree-sitter): Fix file list.
+
+2023-05-30  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Update modus-themes to their version 4.2.0
+
+       * doc/misc/modus-themes.org: Update the manual.
+
+       * etc/themes/modus-operandi-tritanopia-theme.el:
+       * etc/themes/modus-vivendi-tritanopia-theme.el: Add new themes
+         optimized for users with blue-yellow color deficiency (tritanopia).
+
+       * etc/themes/modus-operandi-deuteranopia-theme.el:
+       * etc/themes/modus-operandi-theme.el:
+       * etc/themes/modus-operandi-tinted-theme.el:
+       * etc/themes/modus-vivendi-deuteranopia-theme.el:
+       * etc/themes/modus-vivendi-theme.el:
+       * etc/themes/modus-vivendi-tinted-theme.el: Update theme files.
+
+       * etc/themes/modus-themes.el: Update main file to the latest version.
+
+       * etc/NEWS: Rephrase the announcement about the new Modus themes to
+         also mention the tritanopia-optimized items.
+
+       Detailed release notes here:
+       <https://protesilaos.com/codelog/2023-05-30-modus-themes-4-2-0/>.
+
+2023-05-30  F. Jason Park  <jp@neverwas.me>
+
+       Preserve prompt in erc-cmd-CLEAR
+
+       * etc/ERC-NEWS: Mention behavioral changes to functionality provided
+       by the `truncate' and `log' modules and also the "/CLEAR" command.
+       * lisp/erc/erc-log.el (erc-truncate-buffer-on-save): Deprecate option
+       because three's a crowd, and ERC already has a dedicated module as
+       well as a slash command for this purpose.  And although this commit
+       restores functionality, this option has been unusable since at least
+       the release of ERC 5.5, with no known complaints received thus far.
+       Also, the doc string of `erc-save-buffer-in-logs' makes no mention of
+       this feature WRT interactive invocations or otherwise.
+       (erc-log-mode, erc-log-enable, erc-log-disable): Subscribe to
+       new internal hook `erc--pre-clear-functions'.
+       (erc-log--save-in-progress-p): New variable to help restore
+       `erc-truncate-buffer-on-save' and promote code reuse.
+       (erc-logging-enabled): Guard with `erc-log--saved-in-progress-p'.
+       (erc-save-buffer-in-logs): Overload `buffer' parameter to allow
+       various hooks to supply a non-buffer as well.  Warn when people use
+       `erc-truncate-buffer-on-save', which is now deprecated.
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable,
+       erc-stamp-disable): Subscribe to `erc--pre-clear-functions'.
+       (erc-stamp--update-saved-position): New function for updating
+       last-logged marker on `erc-stamp--insert-date-function'.
+       (erc-stamp--reset-on-clear): New function to forget last inserted
+       stamps when truncating.
+       * lisp/erc/erc-truncate.el (erc-truncate-mode, erc-truncate-enable,
+       erc-truncate-disable): Use `erc-insert-done-hook' instead of
+       `erc-insert-post-hook', as implicitly suggested by an ancient comment,
+       which ponders whether truncating the buffer at the insertion phase may
+       be harmful to other hook members.
+       (erc-truncate-buffer-to-size): Set truncation boundary at message
+       break instead of line break.  Run `erc--pre-clear-functions'.
+       (erc-truncate-buffer): Save excursion.  This should probably be
+       handled by `erc-truncate-buffer-to-size' instead, but that's
+       likelier to cause breakage in third-party code.
+       * lisp/erc/erc.el (erc--pre-clear-functions): New internal hook.
+       (erc-cmd-CLEAR): Run `erc--pre-clear-functions' before clearing, and
+       don't blow away prompt.  The latter was a regression caused by
+       05f6fdb9e78 "Preserve ERC prompt and its bounding markers".
+       * test/lisp/erc/erc-scenarios-log.el: New file.  (Bug#60936)
+
+2023-05-30  F. Jason Park  <jp@neverwas.me>
+
+       Recompute erc-prompt when inserting messages
+
+       * lisp/erc/erc.el (erc--refresh-prompt): New function for redrawing
+       the prompt in a couple select places.
+       (erc-display-line-1, erc-display-msg): Replace the prompt after
+       inserting messages.
+       * test/lisp/erc/erc-tests.el (erc--refresh-prompt): New
+       test.  (Bug#60936)
+
+2023-05-30  F. Jason Park  <jp@neverwas.me>
+
+       Simplify erc-tab interface
+
+       * etc/ERC-NEWS: Improve section mentioning `erc-tab'.
+       * lisp/erc/erc-button.el (erc-button-alist): Restore a commented out
+       version of the "<URL ...>" entry, which was dropped in 5adda2f4683
+       "Revise FORM-as-function interface in erc-button-alist" for being
+       redundant.  This may help unlikely objectors better adapt to the
+       churn.
+       (erc-button-next, erc-button-previous): Don't bother accommodating raw
+       prefix arguments; expect numeric arguments only.
+       * lisp/erc/erc.el (erc-tab): Change interactive spec to lowercase
+       "p".  (Bug#60933)
+
+2023-05-30  F. Jason Park  <jp@neverwas.me>
+
+       Add command to view ERC-NEWS
+
+       * etc/ERC-NEWS: Mention `erc-news' command.
+       * lisp/erc/erc.el (erc--news-url, erc--news-temp-file, erc-news): Add
+       new command and supporting variable.
+
+2023-05-30  F. Jason Park  <jp@neverwas.me>
+
+       Document recommended way to use ERC over Tor
+
+       * doc/misc/erc.texi: Add new SOCKS section to the chapter on
+       Integrations.  Also bump version in front matter.
+       * lisp/erc/erc.el (erc-open-socks-tls-stream): New convenience
+       function to connect over Tor via SOCKS proxy.
+
+2023-05-29  Andrea Corallo  <akrl@sdf.org>
+
+       Revert "* Nativecomp disable propagation of pre slot access type 
check..."
+
+       This reverts commit c8e527cbeeea6be9bb713af33a3f40408b261234 as
+       56a8d57d032 fixes the root cause.
+
+2023-05-29  Andrea Corallo  <akrl@sdf.org>
+
+       comp: Recompute type slots after byte compilation for user types
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--compute-typeof-types)
+       (comp--compute--pred-type-h): New functions.
+       (comp-cstr-ctxt): Make use of.
+       (comp-cstr-ctxt-update-type-slots): New function.
+
+       * lisp/emacs-lisp/comp.el (comp-spill-lap): Use
+       `comp-cstr-ctxt-update-type-slots'.
+
+2023-05-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add tree-sitter tests to emba
+
+       * admin/notes/emba: Add docker image emacs-tree-sitter.  Improve
+       docker call.
+
+       * test/infra/Dockerfile.emba (emacs-tree-sitter): New image.
+
+       * test/infra/gitlab-ci.yml (.tree-sitter-template): New template.
+       (build-image-tree-sitter, test-tree-sitter): New jobs.
+
+2023-05-29  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_blit_copy):
+       (android_blit_xor): Fix typos.
+
+2023-05-29  Po Lu  <luangruo@yahoo.com>
+
+       Work around more problems with Bitmaps
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function `blitRect'.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       Use it on Android 8.x.
+       * src/android.c (blitRect): Implement new function.
+
+2023-05-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix regression when saving tramp-default-proxies-alist
+
+       * lisp/net/tramp.el (tramp-add-hops): Suppress `signal-hook-function'.
+       Save `tramp-default-proxies-alist' only when changed.
+
+2023-05-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_neon_mask_line): Fix iteration
+       over remainder.
+       (android_blit_copy): Be more paranoid.
+
+2023-05-29  Po Lu  <luangruo@yahoo.com>
+
+       Implement android_copy_area in C
+
+       * java/org/gnu/emacs/EmacsCopyArea.java: Remove file.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService, copyArea):
+       Delete function.
+       * src/android.c (struct android_emacs_service)
+       (android_init_emacs_service): Remove `copy_area'.
+       (android_create_gc, android_change_gc, android_get_gc_values):
+       Record new GC values.
+       (android_neon_mask_line): New function.
+       (android_blit_copy, android_blit_xor): New functions.
+       (android_copy_area): Implement in C.
+       (android_lock_bitmap): Accept drawables instead of windows.
+       * src/android.h: Adjust prototype for `android_lock_bitmap'.
+       * src/androidgui.h (struct android_gc): Record last known GC
+       values.
+
+2023-05-28  Andrea Corallo  <akrl@sdf.org>
+
+       * Nativecomp disable propagation of pre slot access type check 
(bug#63710)
+
+       * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Temporary disable
+       propagation of pre slot access type check.
+
+2023-05-28  Laurence Warne  <laurencewarne@gmail.com>
+
+       Fix unstable proced test
+
+       Fix unstable proced test by omitting the revert parameter in
+       'proced-update'.  This was caused by the process being refined on
+       exiting between the initial 'proced' call and the successive
+       'proced-update' call.  This resulted in proced skipping the refinement
+       in 'proced-update', causing all processes to be shown again and the
+       test to fail.
+
+       * test/lisp/proced-tests.el (proced-refine-with-update-test): Do not
+       use revert parameter when calling 'proced-update'.
+
+2023-05-27  Po Lu  <luangruo@yahoo.com>
+
+       Add extra thread-related checking
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (checkEmacsThread): New function.
+       (fillPolygon, drawRectangle, drawLine, drawPoint, copyArea)
+       (clearArea):
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers):
+       Call where appropriate.
+
+2023-05-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Minor Tramp fixes
+
+       * lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Set `env'
+       explicitly.
+       (tramp-barf-if-no-shell-prompt): Still add optional trailing
+       `ansi-color-control-seq-regexp'.
+
+       * lisp/net/tramp.el (tramp-make-tramp-file-name): Keep hop while
+       in file name completion.
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test26-interactive-file-name-completion): Adapt test.
+
+2023-05-27  Po Lu  <luangruo@yahoo.com>
+
+       Remove synchronization around `damageRegion'
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers):
+       Remove unnecessary documentation.  `damageRegion' is only
+       changed from the Emacs thread.
+
+2023-05-27  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       package-tests.el: Add test for last change
+
+       * test/lisp/emacs-lisp/package-tests.el (package-test-desc-from-buffer):
+       Make sure the absence of the terminating comment does not matter.
+
+2023-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/package.el (package-buffer-info): Fix last change
+
+       The code that follows expects point to be at/near the end of the buffer.
+
+2023-05-26  Alan Mackenzie  <acm@muc.de>
+
+       Fontify Java constructor names and arglists
+
+       This fixes bug#63328.
+
+       * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): New
+       variable got-stmt-block.  After scanning an arglist, set
+       got-arglist to t.  When we have as yet no identifier,
+       got-arglist, and scan an open brace, test the "type" for being
+       the name of the enclosing class.
+       (c-directly-in-class-called-p): Test the two names for
+       equality, not merely one being the head of the other.
+
+2023-05-26  Mattias Engdegård  <mattiase@acm.org>
+
+       Add more function declarations
+
+       * lisp/subr.el (buffer-narrowed-p, sha1, match-substitute-replacement)
+       (version-to-list, version<, version<=, version=)
+       (function-get, subregexp-context-p, split-string)
+       (combine-and-quote-strings, split-string-and-unquote)
+       (replace-regexp-in-string, syntax-after)
+       (string-trim-left, string-trim):
+       * lisp/emacs-lisp/subr-x.el (hash-table-empty-p, hash-table-keys)
+       (hash-table-values, string-glyph-split)
+       (string-clean-whitespace, string-fill, string-limit)
+       (string-pixel-width):
+       * lisp/env.el (substitute-env-vars, substitute-env-in-file-name)
+       (setenv-internal):
+       * lisp/emacs-lisp/rx.el (rx-to-string):
+       * lisp/emacs-lisp/regexp-opt.el (regexp-opt-depth)
+       (regexp-opt-charset):
+       Add appropriate declarations: pure, side-effect-free, and/or
+       important-return-value.
+
+2023-05-26  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Support setting PAGER=cat in comint.el (bug#62958)
+
+       Paging can be undesirable in comint-derived commands such as
+       async-shell-command and M-x shell.  It is a frequent footgun for new
+       Emacs users when they try to run commands which start a pager in such
+       modes.
+
+       Simply adding (setenv "PAGER" "cat") globally is not correct, since
+       that will break modes like term, which support paging quite well.
+       It's only and exactly the comint-derived modes which don't need
+       paging.
+
+       * lisp/comint.el (comint-pager): Add. (bug#62958)
+       (comint-exec-1): Use comint-pager to set PAGER.
+
+2023-05-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       aa5158630e7 Use 'font-lock-extend-region-functions' in python-mode
+       b7b82ecb2b4 Fix python-info-docstring-p
+       f42de74ebea ; * src/lread.c (read0, skip_lazy_string): Fix commentary...
+       b6b384023a9 Fix cancellation of Wdired
+       916c2a19bde Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       f535c0e49d5 Handle #@00 in new reader in a compatible way (bug#63722)
+       40a758f5ceb ; Minor fixes in documentation of recently-changed VC com...
+       c0d7447e9dc ; * etc/NEWS: Describe the Cairo XCB option.  (Bug#63589)
+       42052686752 Don't mark selection request events
+       9f5249d5c8d Disable cairo-xcb support by default
+       e5f42706ce2 * lisp/progmodes/project.el: Move :safe from defcustom to...
+       3afe4a42e90 * lisp/vc/vc-annotate.el (vc-annotate-mode-menu): Quote v...
+       b62a2b08b80 Add vc-create/switch/print-branch to menu and update docu...
+       d292d282292 Fix rare crashes in 'try_window_reusing_current_matrix'
+       709d9020021 Make last Tramp change less invasive
+       a72a1f24fcb ; Fix last change.
+       5c6517a115d ; * lisp/menu-bar.el (popup-menu): Doc fix.
+       212884f2bfe ; Fix last change.
+       1b9812af80b ; * etc/PROBLEMS: Document problem with GnuPG 2.4.1.  (Bu...
+       765edc204d4 ; Support SQLite3 extensions on macOS
+       5aadb87d6f6 Fix 'use-dialog-box-p' and friends
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-05-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       6f6071c5261 Avoid duplicate load-path entry when generating package a...
+       117b29c6f66 ; Improve documentation of Isearch command properties
+       a347b26cba2 Disable loading SQLite3 extensions when SQLite3 version i...
+       fe22bf503fb ; * lisp/progmodes/project.el (project-switch-use-entire-...
+       64dbbde3b77 Fix visiting HTML files encoded in iso-2022 variants
+       5c95239aca2 ; Fix markup of some treesit vars in Elisp manual.
+       6ad041939be Support 'isearch-allow-scroll' in 'pixel-scroll-precision...
+       ecccdc07a09 shr: allow moving between adjacent anchors
+       504ef25ef36 ; * etc/NEWS: Fix typos.
+       d6fb868cdd3 Fix multihop file name expansion in Tramp
+       dd3e4e14fdc Remove obsolete information from Gnus manual
+       2a5c946f879 Preserve mark in comint-history-isearch
+       6b60c8142ea Fix systemd unit completion for old versions of systemd
+       8c56557cd9d Fix Skeletons menu-bar menu in Python modes
+       58eb38cfb47 ; * etc/NEWS: missing definite article
+       cf403628692 ; * etc/NEWS: PGTK cannot switch to -new automatically (b...
+       ead3a2abbfc Fix loading SQLite extensions
+       a6bddd17658 ; * etc/NEWS: Fix typos.
+       f49fe936abd * etc/NEWS: Note dotimes loop variable scoping change (bu...
+       cec9333dc52 Fix c-ts-mode--top-level-declarator
+       f571e8f1bb6 Improve c-ts-mode font-lock for function names (bug#63390)
+       42a28ffdc27 * lisp/tab-bar.el: Don't use 'minibuffer-selected-window'...
+       8e61d23f71e Split windows horizontally in places that use split to cr...
+       459d08c7fe7 Fix tree-sitter test (bug#63481)
+       3bc5efb87e5 ; * lisp/emacs-lisp/benchmark.el (benchmark-progn): Fix d...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-05-26  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix emacsclient when there are irrecoverable file-visiting errors
+
+       * lisp/server.el (server-process-filter, server-return-error):
+       Display the error message to be sent to the client as a regular
+       message, to give the user the opportunity to see it.  Delete the
+       terminal immediately after sending the error message to the
+       client, to make sure the terminal's modes are restored.
+       (Bug#63629)
+
+2023-05-26  Eshel Yaron  <me@eshelyaron.com>
+
+       Add customization options for dictionary-search
+
+       Allow users to customize 'dictionary-search' via several new
+       customization options.
+
+       * lisp/net/dictionary.el (dictionary-define-word)
+       (dictionary-match-word, dictionary-completing-read-word)
+       (dictionary-dictionaries, dictionary-completing-read-dictionary)
+       (dictionary-display-definition-in-help-buffer): New functions.
+       (dictionary-read-word-prompt)
+       (dictionary-display-definition-function)
+       (dictionary-read-word-function)
+       (dictionary-read-dictionary-function)
+       (dictionary-search-interface): New user options.
+       (dictionary-search): Use them.
+       (dictionary-read-dictionary-default)
+       (dictionary-read-word-default): New functions, extracted from
+       'dictionary-search'.
+       * etc/NEWS: Announce.
+
+2023-05-26  Po Lu  <luangruo@yahoo.com>
+
+       Allow starting Emacs --debug-init on Android
+
+       * doc/emacs/android.texi (Android Troubleshooting): Document
+       `debug-init' option.
+       * java/AndroidManifest.xml.in
+       (EmacsLauncherPreferencesActivity): New activity.  Export on
+       systems older than Android 7.0.
+       * java/org/gnu/emacs/EmacsActivity.java (onCreate): Adjust for
+       string startup argument.
+       * java/org/gnu/emacs/EmacsLauncherPreferencesActivity.java: New
+       file.
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java
+       (EmacsPreferencesActivity): Don't make final.
+       (startEmacsQ): Give start-up argument as an argument, not as a
+       boolean.
+       (startEmacsDebugInit): New function.
+       (onCreate): Register new listener; make final.
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Pass
+       extraStartupArgument.
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread): Rename
+       startDashQ to extraStartupArgument.
+       (run): Adjust accordingly.
+       * java/res/values-v24/bool.xml:
+       * java/res/values/bool.xml:
+       * java/res/values/strings.xml: New files.
+       * java/res/xml/preferences.xml: Add new option.  Move string
+       resources around.
+
+2023-05-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-25  João Távora  <capitaomorte@archlinux2022.linuxvmimages.local>
+
+       Eglot: fix execution of CodeAction commands
+
+       Reported in
+       https://github.com/joaotavora/eglot/discussions/1225.
+
+       * lisp/progmodes/eglot.el (eglot-execute): Fix typo.
+
+2023-05-25  Brian Leung  <leungbk@posteo.net>
+
+       Eglot: Add nickel-mode configuration
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add nls for 
nickel-mode.
+
+2023-05-25  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix apparently wrong `delete` and `delq` value discards (bug#61730)
+
+       * lisp/startup.el (normal-top-level):
+       Update process-environment in case the DISPLAY variable comes first.
+       Also stop iterating over initial-environment once the first DISPLAY
+       is found.
+       * lisp/allout.el (allout-get-configvar-values):
+       * lisp/org/org.el (org-display-inline-remove-overlay):
+       * lisp/progmodes/gdb-mi.el (gdb-get-location):
+       * lisp/progmodes/idlwave.el
+       (idlwave-convert-xml-clean-routine-aliases)
+       (idlwave-convert-xml-clean-sysvar-aliases):
+       * lisp/textmodes/reftex.el (reftex-ref-style-toggle):
+       Update the base variable after performing a destructive deletion,
+       where it was obvious that this was intended.
+
+2023-05-24  Michael Albinus  <michael.albinus@gmx.de>
+
+       Use `small-temporary-file-directory' in Tramp
+
+       * lisp/net/tramp-fuse.el (tramp-fuse-mount-point):
+       * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
+       Use `small-temporary-file-directory'.
+
+2023-05-24  Andrea Corallo  <akrl@sdf.org>
+
+       Fix nativecomp ICE compiling structure related code (bug#63674)
+
+       * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define the predicate to
+       be effective at compile time as native comp relies on `cl-typep' that
+       relies o predicates to work.
+
+       * test/src/comp-resources/comp-test-funcs.el (cl-lib): Require.
+       (comp-test-struct): Define struct.
+       (comp-test-63674-1-f): Add new test.
+
+2023-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/loadup.el: Don't accidentally reduce `max-lisp-eval-depth`
+
+2023-05-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Use return values of assq-delete-all and assoc-delete-all
+
+       * lisp/allout-widgets.el (allout-widgets-mode):
+       * lisp/progmodes/eglot.el (eglot-handle-notification):
+       Update variables with the new value, which was probably the intention
+       here.
+
+2023-05-24  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_decompose_compound_glyph): Allow decomposing
+       up to 16 nested components.
+       (CALL, LOOPCALL): Correctly error if no fdef storage exists.
+       (sfnt_interpret_run): New label `next_instruction', for CALL.
+       (sfnt_interpret_compound_glyph_1): Allow decomposing up to 16
+       nested components.  Prevent crash if there are no end points or
+       points.
+       (sfnt_read_cvar_table): Prevent assigning uninitialized values.
+       (sfnt_vary_simple_glyph): Update commentary.
+
+2023-05-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-23  Andrea Corallo  <akrl@sdf.org>
+
+       * test/src/comp-tests.el: Add some ret type tests for non builtin types
+
+2023-05-23  Andrea Corallo  <akrl@sdf.org>
+
+       comp: Propagate pre slot access type check
+
+       * lisp/loadup.el (max-lisp-eval-depth): Increase
+       `max-lisp-eval-depth' to 3400.
+
+       * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Pattern match pre
+       slot access type check and add constraint.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr-cl-tag-p)
+       (comp-cstr-cl-tag): New functions.
+
+       * lisp/emacs-lisp/comp.el (make-comp-mvar): Add neg parameter.
+
+2023-05-23  Andrea Corallo  <akrl@sdf.org>
+
+       comp: Make use of predicates in propagation for non builtin types
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add `pred-type-h'
+       slot.
+       * lisp/emacs-lisp/comp.el (comp-known-predicate-p)
+       (comp-pred-to-cstr): Update.
+
+2023-05-23  Andrea Corallo  <akrl@sdf.org>
+
+       * lisp/emacs-lisp/comp.el (comp-fwprop-call): Extend to understand 
`record'
+
+2023-05-23  Andrea Corallo  <akrl@sdf.org>
+
+       comp: Account non builtin types in type hierarchy
+
+       * lisp/emacs-lisp/cl-macs.el (cl--struct-all-parents): Add comment.
+
+       * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class): Likewise.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy)
+       (comp--all-classes): New functions.
+       (comp-cstr-ctxt): Add `typeof-types' field.
+
+       * lisp/emacs-lisp/comp-cstr.el (comp-supertypes)
+       (comp-union-typesets): Update to use non builtin types.
+
+2023-05-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve check for ANSI control escape sequences in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-barf-if-no-shell-prompt):
+       Remove `ansi-color-control-seq-regexp'.
+
+       * lisp/net/tramp.el (tramp-terminal-type): Fix docstring.
+       (tramp-process-one-action): Delete ANSI control escape sequences
+       in buffer.  (Bug#63539)
+
+2023-05-23  Robert Pluim  <rpluim@gmail.com>
+
+       Stop adding the package directory to the load path
+
+       The generated autoloads files for packages have been updating the
+       load-path for the last decade.
+
+       * lisp/emacs-lisp/package.el (package-activate-1): Don't update
+       load-path with package directory.
+
+2023-05-23  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-23  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Use faster option for running vc-hg status (Bug#63470)
+
+       In modern Mercurial, removing the "re:" "-I" "." options provides a
+       10x-20x speedup because it allows the Rust implementation of "hg
+       status" to be used.
+
+       * lisp/vc/vc-hg.el (vc-hg--program-version): Add.
+       (vc-hg-dir-status-files): Use --config commands.status.relative=1 to
+       make paths relative when available.
+
+2023-05-22  Alan Mackenzie  <acm@muc.de>
+
+       Fix syntax bugs involving escaped newlines in comments
+
+       This fixes bug#63535
+
+       * src/syntax.c (forw_comment): take the initial syntax from the
+       argument PREV_SYNTAX rather than checking the buffer position
+       for a backslash.  Update the state at each character scanned.
+       (scan_sexps_forward): When the end position is escaped after a
+       call to forw_comment, return this status to the caller.
+
+2023-05-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Attempt to speed up filenotify-tests
+
+       * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
+       Run with a lower `auto-revert-interval` (1 s) and adjust the
+       a timeout value.  This should lower the time for this particular
+       test from 25 to below 10 s.
+
+2023-05-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Support existing sshfs and rclone mount points in Tramp
+
+       * lisp/net/tramp-fuse.el (tramp-fuse-mount-point, tramp-fuse-mounted-p):
+       Support existing mount points.
+
+2023-05-22  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Mark failing filenotify test as :unstable
+
+       * test/lisp/filenotify-tests.el (file-notify-test04-autorevert-remote):
+       Tag as :unstable.
+
+2023-05-22  Po Lu  <luangruo@yahoo.com>
+
+       Plug various leaks and fix input method initialization
+
+       * src/image.c (free_bitmap_record): Free bm->name correctly even
+       if the display connection has been closed.
+       * src/xfns.c (x_window): Use dpyinfo-specific `use_xim' flag.
+       * src/xterm.c (use_xim): Remove global variable.
+       (xim_destroy_callback): Free `xim_styles' if present, and set it
+       to NULL to be on the safe side.
+       (xim_open_dpy): Consult dpyinfo->use_xim instead.  Don't leak
+       `xim_styles' if an IM was previously opened.
+       (xim_initialize): Use dpyinfo-specific `use_xim' flag.
+       (xim_close_dpy): Check if `dpyinfo->xim_callback_data' is set
+       before unregistering the instantiation callback.
+       (x_term_init): Determine whether or not to use XIM for each
+       display opened, instead of using the resources of the last
+       display opened to toggle a global flag.
+       (x_delete_terminal): Always call `image_destroy_all_bitmaps' and
+       `xim_close_dpy'.  Free storage used to hold bitmap records.
+       * src/xterm.h (struct x_display_info): New field `use_xim'.
+
+2023-05-22  F. Jason Park  <jp@neverwas.me>
+
+       Fix custom type of erc-autojoin-channels-alist
+
+       * lisp/erc/erc-join.el (erc-autojoin-channels-alist): In ERC 5.4, the
+       type of this option changed to accept symbols signifying IRC network
+       names.  However, the option's definition was not updated to reflect
+       that.  See commit 9bb8d90cddf "Allow irc network symbols in
+       erc-autojoin-channels-alist".
+
+2023-05-22  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-21  Eli Zaretskii  <eliz@gnu.org>
+
+       New Rmail commands for reading mailing-lists
+
+       * lisp/mail/rmail.el (rmail--mailing-list-message): New internal
+       function.
+       (rmail-mailing-list-help, rmail-mailing-list-post)
+       (rmail-mailing-list-unsubscribe, rmail-mailing-list-archive): New
+       commands.
+       (rmail-mode-map): Add menu items for the new commands.
+
+       * etc/NEWS: Announce the new Rmail commands.
+
+2023-05-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Declare more mutating functions
+
+       * lisp/emacs-lisp/bytecomp.el (mutating-fns):
+       Add assoc-delete-all, assq-delete-all and rassq-delete-all.
+       * lisp/emacs-lisp/shortdoc.el (alist, list):
+       Don't mutate constants in examples illustrating use of
+       assoc-delete-all, assq-delete-all and rassq-delete-all.
+
+2023-05-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Declare more functions as having important-return-value
+
+       * lisp/subr.el (assoc-delete-all, assq-delete-all, rassq-delete-all)
+       (alist-get): Declare as important-return-value.
+       * lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
+       Add `assoc-string`.
+
+2023-05-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Minor optimisation of string-trim-left and string-trim-right
+
+       * lisp/subr.el (string-trim-left, string-trim-right):
+       Use a constant string when no REGEXP argument is given.
+
+2023-05-20  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix async invocations in Dired with 'fish' shell
+
+       * lisp/dired-aux.el (dired-shell-stuff-it): Separate '&' and ';'
+       by blanks, for the sake of shells such as 'fish'.  Suggested by
+       Lycomedes 1814 <lycomedes1814@yandex.com>.
+
+2023-05-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve handling of ANSI control sequences in Tramp
+
+       * lisp/net/tramp-compat.el (ansi-color): Require.
+
+       * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp)
+       (tramp-device-escape-sequence-regexp): Delete.
+       (tramp-sh-handle-insert-directory, tramp-barf-if-no-shell-prompt)
+       (tramp-wait-for-output): Use `ansi-color-control-seq-regexp'.
+
+       * lisp/net/tramp.el (tramp-shell-prompt-pattern): Remove escape
+       characters.
+       (tramp-process-one-action, tramp-convert-file-attributes):
+       Use `ansi-color-control-seq-regexp'.  (Bug#63539)
+
+       * test/lisp/net/tramp-tests.el (tramp-display-escape-sequence-regexp):
+       Dont't declare.
+       (tramp-test28-process-file, tramp-test32-shell-command):
+       Use `ansi-color-control-seq-regexp'.
+       (tramp-test45-asynchronous-requests): Adapt test.
+
+2023-05-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Use `delq` return value (bug#61730)
+
+       * lisp/calc/calc-graph.el (calc-graph-compute-2d):
+       * lisp/calendar/appt.el (appt-activate):
+       * lisp/progmodes/cc-styles.el (c-make-styles-buffer-local):
+       Make use of what `delq` returns, to stave off possible mistakes or at
+       least make clear that there isn't any.
+
+2023-05-20  Po Lu  <luangruo@yahoo.com>
+
+       Remove arbitrary process count limit
+
+       * exec/trace.c (handle_clone_prepare):
+       (handle_clone): When !REENTRANT, use malloc to allocate
+       tracees after running out of static ones.
+
+2023-05-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsView.java (swapBuffers): Restore
+       missing damage rect code.
+       (onDetachedFromWindow): Remove redundant synchronization.
+
+2023-05-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Improved copy-tree documentation and test (bug#63509)
+
+       * etc/NEWS: Move entry since it's an incompatible change.
+       * lisp/emacs-lisp/shortdoc.el (vector): Make the example relevant.
+       * lisp/subr.el (copy-tree): Rename second argument,
+       since 'vector-like' is a term with a specific meaning in Emacs
+       but not the one intended here.
+       * doc/lispref/lists.texi (Building Lists): Rename second argument,
+       and make it clear that the input must be acyclic.
+       * doc/lispref/records.texi (Record Functions):
+       Be more precise: `copy-sequence` is used to copy records,
+       `copy-tree` copies trees made of records etc.
+       * test/lisp/subr-tests.el (subr--copy-tree): Extend and strengthen the
+       test considerably, using the print-circle trick to detect structure
+       sharing precisely.
+
+2023-05-19  Yuan Fu  <casouri@gmail.com>
+
+       Implement treesit-forward-sexp correctly (bug#63487)
+
+       * lisp/treesit.el (treesit-forward-sexp): Signal scan-error when we
+       can't move across sexps further.
+
+2023-05-19  Po Lu  <luangruo@yahoo.com>
+
+       Make tapping on header lines behave reasonably
+
+       * lisp/touch-screen.el (touch-screen-tap-header-line): New
+       function.
+       ([header-line touchscreen-begin]): Define to
+       `touch-screen-tap-header-line'.
+
+2023-05-19  Eli Zaretskii  <eliz@gnu.org>
+
+       Minor fixes of last change
+
+       * etc/NEWS:
+       * doc/lispref/records.texi (Record Functions): Improve wording.
+       (Bug#63509)
+
+2023-05-19  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Make 'copy-tree' work with records
+
+       * doc/lispref/lists.texi (Building Cons Cells and Lists): Document
+       new behavior of 'copy-tree'.
+       * doc/lispref/records.texi (Record Functions): Cross-reference to
+       lists.texi.
+       * etc/NEWS: Mention change.  (Bug#63509)
+       * lisp/emacs-lisp/shortdoc.el: Add 'copy-tree' example to vector
+       group.
+       * lisp/subr.el (copy-tree): Recurse into records as well as
+       vectors when optional second argument is non-nil. Rename second
+       argument from VECP to VECTOR-LIKE-P.
+       * test/lisp/subr-tests.el: Test new behavior.
+
+2023-05-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Try declaring `delq` and `delete` important-return-value (bug#61730)
+
+       * lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
+       Add (uncomment) `delq` and `delete`.
+
+2023-05-18  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Simplify python.el completion-predicate
+
+       * lisp/progmodes/python.el:
+       (python-skeleton-define): Use command-modes as a shorthand for
+       completion-predicate (bug#63552).
+       (python--completion-predicate, python-shell--completion-predicate):
+       Remove accordingly; no longer used.
+       (python-define-auxiliary-skeleton): Prefer function-put over put.
+
+2023-05-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       f8d9e40d2c1 Attempt to fix redisplay problems on macOS
+       4daa6f70497 ; * lisp/simple.el (async-shell-command): Add commentary ...
+       dc1a437d460 Clarify misleading comment in isearch.el
+       af3b0dc53ff Improve documentation of package-menu commands
+       d879847cd4d Fix M-x completion-predicate under python-ts-mode
+       1e57b2b4c79 * Account for `byte-compile-warnings' during native compi...
+       b5bfd808c6b Avoid duplicate VC packages in 'package-selected-packages'
+       c18f9f155f6 * lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side'...
+       33485fe8f74 ; Better warning message when loading tree-sitter fails
+       95a724abaac Update to Org 9.6.6
+       c665ca79ff4 ; * admin/make-tarball.txt: Minor copyedits.
+       3aef46e466f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       229af8e4b31 ; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-...
+
+2023-05-18  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       229af8e4b31 ; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-...
+       ce7d18cbc07 ; Minor fixes in ELisp manual
+       5c8864fab4f ; * lisp/simple.el (async-shell-command): Doc fix.  (Bug#...
+       b96dc472bcb Ignore current-prefix-arg in async-shell-command
+       1e6a7594361 Fix building of VC package manuals with relative includes
+       61659f36c88 Another fix for VHDL mode highlighting
+
+2023-05-18  Po Lu  <luangruo@yahoo.com>
+
+       * make-dist (possibly_non_vc_files): Add Android-specific files.
+
+2023-05-18  Po Lu  <luangruo@yahoo.com>
+
+       Allow interacting with the tab line from a touch screen
+
+       * doc/emacs/frames.texi (Tab Bars): Explain how to interact with
+       the tab bar from a touch screen.
+       * doc/emacs/input.texi (Touchscreens): Document exactly what a
+       ``long press'' is.
+       * doc/emacs/windows.texi (Tab Line): Likewise.
+       * lisp/tab-line.el (tab-line-tab-map, tab-line-add-map)
+       (tab-line-tab-close-map, tab-line-left-map, tab-line-right-map):
+       Bind `touchscreen-begin' to each command.
+       (tab-line-track-tap, tab-line-event-start): New functions.
+       (tab-line-hscroll-right, tab-line-hscroll-left, tab-line-new-tab)
+       (tab-line-select-tab, tab-line-close-tab): Use them.
+
+2023-05-18  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/erc/erc-fill.el (erc-fill-spaced-commands): Fix typing errors
+
+       The type (set integer symbol) matches a list of at most one integer
+       and one symbol, not multiple distinct symbols.
+
+2023-05-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer C23 ckd_* to Gnulib *_WRAPV macros
+
+       C23 has added ckd_add etc. macros with functionality equivalent to
+       the older Gnulib INT_ADD_WRAPV macros, so switch to the
+       more-standard names.
+       * admin/merge-gnulib (GNULIB_MODULES): Add stdckdint.
+       This merely makes the dependency explicit, as we were already
+       using this Gnulib module indirectly.
+       * lib-src/etags.c, src/lisp.h: Include stdckdint.h.
+       * lib-src/etags.c (xnmalloc, xnrealloc):
+       * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string)
+       (mark_memory):
+       * src/bignum.c (emacs_mpz_pow_ui):
+       * src/buffer.c (record_overlay_string, overlay_strings):
+       * src/bytecode.c (exec_byte_code):
+       * src/casefiddle.c (do_casify_multibyte_string):
+       * src/ccl.c (ccl_driver, Fccl_execute_on_string):
+       * src/character.c (char_width, c_string_width)
+       (lisp_string_width, count_size_as_multibyte)
+       (string_escape_byte8):
+       * src/cmds.c (internal_self_insert):
+       * src/coding.c (coding_alloc_by_realloc, produce_chars):
+       * src/data.c (arith_driver):
+       * src/dispnew.c (realloc_glyph_pool, init_display_interactive):
+       * src/doprnt.c (parse_format_integer):
+       * src/editfns.c (Freplace_buffer_contents, str2num)
+       (styled_format):
+       * src/emacs-module.c (module_global_reference_p)
+       (module_make_global_ref, module_funcall):
+       * src/eval.c (max_ensure_room):
+       * src/fileio.c (blocks_to_bytes):
+       * src/fns.c (Ffillarray):
+       * src/font.c (font_intern_prop):
+       * src/frame.c (check_frame_pixels):
+       * src/gnutls.c (gnutls_hex_string, gnutls_symmetric_aead):
+       * src/gtkutil.c (get_utf8_string):
+       * src/haikuterm.c (haiku_term_init):
+       * src/image.c (xbm_scan, image_to_emacs_colors)
+       (image_detect_edges, png_load_body):
+       * src/keyboard.c (Frecursion_depth):
+       * src/keymap.c (Flookup_key, Fkey_description):
+       * src/lisp.h (modiff_incr, SAFE_ALLOCA_LISP_EXTRA):
+       * src/lread.c (read_bool_vector):
+       * src/pgtkterm.c (pgtk_term_init):
+       * src/regex-emacs.c (regex_compile):
+       * src/term.c (encode_terminal_code):
+       * src/termcap.c (tputs):
+       * src/textconv.c (textconv_query):
+       * src/timefns.c (timespec_ticks, lisp_time_hz_ticks)
+       (Fdecode_time, check_tm_member):
+       * src/tparam.c (tparam1):
+       * src/w32term.c (w32_initialize_display_info):
+       * src/xdisp.c (fill_column_indicator_column, decode_mode_spec):
+       * src/xselect.c (selection_data_size, x_property_data_to_lisp):
+       * src/xsmfns.c (smc_save_yourself_CB):
+       * src/xterm.c (xm_setup_dnd_targets, x_sync_get_monotonic_time)
+       (x_sync_current_monotonic_time, x_sync_note_frame_times)
+       (x_display_set_last_user_time, x_term_init):
+       Prefer the C23 stdckdint macros to their
+       Gnulib intprops.h counterparts, since C23 is standard.
+
+2023-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port modiff changes to GCC 4.8.5
+
+       Problem reported by Spencer Baugh.
+       * src/lisp.h (elogb): Now simply a function on unsigned long long int.
+       This avoids problems porting to GCC 4.8.5 20150623 (Red Hat 4.8.5-44).
+       There may be a minor runtime cost on 32-bit platforms but it’s
+       not worth worrying about.
+
+2023-05-17  Andrea Corallo  <akrl@sdf.org>
+
+       * Fix missing `comp-files-queue' update (bug#63415).
+
+       * lisp/emacs-lisp/comp.el (native--compile-async): Update
+       `comp-files-queue' for real.
+
+2023-05-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+       EUDC: Fix eudc-ldap-no-wildcard-attributes docstring
+
+       * lisp/net/eudc-vars.el (eudc-ldap-no-wildcard-attributes): Fix
+       docstring.  (Bug#62721)
+
+2023-05-17  Mattias Engdegård  <mattiase@acm.org>
+
+       Mark proced-refine-with-update-test :unstable (bug#63550)
+
+       * test/lisp/proced-tests.el (proced-refine-with-update-test):
+       This test seems racy and often fails randomly in parallel
+       `make check`.
+
+2023-05-17  Mattias Engdegård  <mattiase@acm.org>
+
+       Eliminate some mutation of program constants
+
+       * lisp/foldout.el:
+       * lisp/gnus/mml2015.el (mml2015-epg-key-image-to-string):
+       * lisp/international/ja-dic-cnv.el (skkdic-set-postfix)
+       (skkdic-set-prefix):
+       * lisp/international/quail.el (quail-insert-kbd-layout):
+       * lisp/mail/rmail.el (rmail-set-attribute-1):
+       * lisp/net/tramp.el (tramp-handle-memory-info):
+       * lisp/org/org-macs.el (org-replace-escapes):
+       Work on newly created objects, or use non-destructive operations.
+
+2023-05-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-16  Tony Zorman  <soliditsallgood@mailbox.org>
+
+       Add :vc keyword to use-package for VC package support
+
+       * lisp/use-package/use-package-core.el (use-package-keywords): Add :vc.
+       (use-package-handler/:load-path): Insert 'load-path' into 'state'.
+       (use-package-vc-install): Install the package with package-vc.el.
+       (use-package-handler/:vc): Handler for the :vc keyword.
+       (use-package-normalize--vc-arg): Normalization for more complex
+       arguments to 'use-package-normalize/:vc', in order to make them
+       compatible with the specification of 'package-vc-selected-packages'.
+       (use-package-normalize/:vc): Normalizer for the :vc keyword.
+       (use-package): Document :vc.
+       * lisp/use-package/use-package-ensure.el (use-package-handler/:ensure):
+       Do not ensure a package when :vc is used in the declaration.
+       * test/lisp/use-package/use-package-tests.el (use-package-test/:vc-1):
+       (use-package-test/:vc-2):
+       (use-package-test/:vc-3):
+       (use-package-test/:vc-4):
+       (use-package-test/:vc-5):
+       (use-package-test-normalize/:vc):
+       Add tests for :vc.
+       * etc/NEWS: Mention change.  (Bug#60418)
+
+2023-05-16  Joseph Turner  <joseph@breatheoutbreathe.in>
+
+       Support side-effects while building VC packages
+
+       * doc/emacs/package.texi (Specifying Package Sources): Document new
+       specification attributes.
+       * lisp/emacs-lisp/package-vc.el (package-vc-allow-side-effects): Add
+       new user option.
+       (package-vc--make): Add handler for processing :make and
+       :shell-command.
+       (package-vc--unpack-1): Check 'package-vc-allow-side-effects' and
+       invoke 'package-vc--make'.
+       * etc/NEWS: Mention change.  (Bug#63336)
+
+2023-05-16  João Távora  <joaotavora@gmail.com>
+
+       Eglot: rework eglot-handle-request (bug#62116)
+
+       Address comments in the bug tracker regarding widening, and
+       prematurely reporting success to the server before knowing if the file
+       can indeed be shown.
+
+       https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62116#70
+       https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62116#79
+
+       * lisp/progmodes/eglot.el (eglot-handle-request): Rework.
+
+2023-05-16  Juri Linkov  <juri@linkov.net>
+
+       * lisp/windmove.el (windmove-swap-states-in-direction): Don't swap 
minibuffer.
+
+       Guard against swapping the minibuffer when the minibuffer is in the 
selected
+       window (bug#62427).  The function was already protected when the 
minibuffer
+       is in other-window.
+
+2023-05-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tweak tramp-test45-asynchronous-requests
+
+       * test/lisp/net/tramp-tests.el (tramp-use-connection-share): Declare.
+       (tramp--test-putty-p): New defun.
+       (tramp-test45-asynchronous-requests): Tweak test.
+
+2023-05-16  Po Lu  <luangruo@yahoo.com>
+
+       Add touchscreen support to the tab bar
+
+       * lisp/menu-bar.el (popup-menu-normalize-position): Normalize
+       `touchscreen-begin' events correctly.
+       * lisp/tab-bar.el (tab-bar-mouse-context-menu): New argument
+       POSN.  Use it if specified.
+       (touch-screen-track-tap, tab-bar-handle-timeout)
+       (tab-bar-touchscreen-begin): New functions.
+       (tab-bar-map): Bind [tab-bar touchscreen-begin].
+       * lisp/touch-screen.el (touch-screen-track-drag): Fix doc
+       string.
+       * src/dispextern.h: Export `get_tab_bar_item_kbd'.
+       * src/keyboard.c (coords_in_tab_bar_window): New function.
+       (make_lispy_event): Adjust touchscreen begin event mouse
+       position list for tab bar.
+       * src/xdisp.c (tab_bar_item_info): Allow CLOSE_P to be NULL.
+       (get_tab_bar_item): Adjust doc string.
+       (get_tab_bar_item_kbd): New function.
+
+2023-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-05-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+       EUDC: Document disabling default LDAP wildcard expansion
+
+       * lisp/net/eudc-vars.el (eudc-ldap-no-wildcard-attributes): Cover
+       `eudc-query-form' and `eudc-expand-inline' behavior in the
+       customization docstring.  (Bug#62721)
+
+2023-05-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix some minor Tramp problems
+
+       * lisp/net/tramp-crypt.el (tramp-crypt-handle-file-exists-p): New defun.
+       (tramp-crypt-file-name-handler-alist): Add it.
+
+       * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file): Flush proper file
+       properties.
+
+       * test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs28-p):
+       New defun.
+       (tramp-archive-test48-auto-load): Extend test.
+
+2023-05-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'locale-info' on MS-Windows
+
+       * nt/mingw-cfg.site (am_cv_langinfo_codeset): Rename from
+       'emacs_cv_langinfo_codeset', to follow configure.ac.
+
+2023-05-15  Po Lu  <luangruo@yahoo.com>
+
+       Fix year 2038 code for Android 4.4 and earlier
+
+       * configure.ac: Also disable enable_year2038.
+
+2023-05-15  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS build
+
+       * msdos/sed1v2.inp: Fix removal of ANDROID_BUILD_CFLAGS.
+       * msdos/sedlibmk.inp: Clear DIR_HAS_FD_MEMBER and
+       LOCALE_FR_UTF8.
+
+2023-05-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer _WIDTH macros to sizeof in pdumper.c
+
+       This is a bit clearer, and should work better on hypothetical
+       platforms where integers have holes in their representation.
+       * src/pdumper.c: Since the code no longer uses CHAR_BIT,
+       don’t worry about whether it equals 8.
+       (DUMP_OFF_WIDTH): New macro.
+       (EMACS_RELOC_LENGTH_BITS, DUMP_RELOC_OFFSET_BITS): Use it.
+       (DUMP_BITSET_WORD_WIDTH): New macro.
+       (dump_bitsets_init, dump_bitset__bit_slot)
+       (dump_bitset_bit_set_p, dump_bitset__set_bit_value): Use it.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer PTRDIFF_WIDTH in sort.c
+
+       * src/sort.c (MAX_MERGE_PENDING):
+       Prefer PTRDIFF_WIDTH to rolling our own substitute.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer UINTMAX_WIDTH in print_object
+
+       * src/print.c (print_object):
+       Prefer UINTMAX_WIDTH to rolling our own substitute.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Help GCC compute modiff_incr
+
+       * src/floatfns.c: Don’t include count-leading-zeros.h,
+       since we no longer use it directly.
+       (ecount_leading_zeros): Remove.
+       (Flogb): Use elogb instead of doing it by hand.
+       * src/lisp.h: Include count-leading-zeros.h.
+       (elogb): New macro.
+       (modiff_incr): Use it so that on typical platforms we
+       use a hardware instruction instead of a loop.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work after 2038 on 32-bit GNU/Linux
+
+       This adds support for 64-bit time_t on 32-bit GNU/Linux ARM and
+       x86, where time_t was historically 32-bit.  The resulting Emacs
+       should continue to work for timestamps after mid-January 2038.
+       * admin/merge-gnulib (GNULIB_MODULES): Add year2038.
+       * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 13 -Wnull-dereference in itree.c
+
+       * src/itree.c (itree_remove_fix): Simplify code and remove a
+       couple of eassume calls.  This works around GCC bug 109586.
+       https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109856
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 13 -Wanalyzer-out-of-bounds
+
+       * src/alloc.c (NEAR_STACK_TOP): Hoist from here ...
+       * src/thread.h: ... to here.
+       * src/print.c (print_object): Use NEAR_STACK_TOP instead of raw
+       buffer address.  This is more natural, and pacifies GCC 13.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around GCC bug 109847 in buffer.c
+
+       * src/buffer.c: Ignore GCC 13+ -Wanalyzer-out-of-bounds.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Do not use -Wanalyzer-fd-leak
+
+       * configure.ac: Append -Wno-analyzer-fd-leak to WARN_CFLAGS when
+       configuring with --enable-gcc-warnings, to work around
+       GCC bug 109847.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around GCC bug 109579 in ccl.c
+
+       * src/ccl.c (POP_MAPPING_STACK):
+       Ignore -Wanalyzer-out-of-bounds.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around GCC bug 109577
+
+       * src/lisp.h (SAFE_ALLOCA_LISP_EXTRA):
+       Ignore -Wanalyzer-allocation-size, as it generates many
+       false alarms in GCC 13.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify GCC 13 -fanalyzer in tty_menu_activate
+
+       * src/term.c (tty_menu_activate): Trivially reword comparison
+       to pacify gcc -fanalyzer with GCC 13.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix movemail fd leak
+
+       * lib-src/movemail.c (main) [!MAIL_USE_SYSTEM_LOCK]:
+       Fix file descriptor leak, found by GCC 13 -Wanalyzer-fd-leak.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix ebrowse -f buffer overflow
+
+       * lib-src/ebrowse.c (main): Fix buffer overflow when several -f
+       options are given.  Found by GCC 13 -Wanalyzer-allocation-size.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid duplicate configure-time codeset tests
+
+       * admin/merge-gnulib: Copy m4/codeset.m4 too.  This is mostly for
+       documentation, as it’s now automatically copied by other modules.
+       * configure.ac (EMACS_PAPER_WIDTH): New macro.  This relies on
+       Gnulib, to avoid duplicate tests for HAVE_LANGINFO_CODESET.
+
+2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+       * lib/dirent-private.h, m4/codeset.m4, m4/locale-fr.m4, m4/musl.m4:
+       New files, from Gnulib.
+
+2023-05-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-14  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/net/net-utils.el (finger): Fix botched logic.
+
+       * lisp/w32-fns.el (w32--os-description): Fix minor logic error
+
+2023-05-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       * lisp/net/tramp-gvfs.el (initialize): Ignore D-Bus errors.
+
+2023-05-14  Po Lu  <luangruo@yahoo.com>
+
+       Implement document moving on Android
+
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java
+       (notifyChangeByName): New function.
+       (queryDocument1): Set FLAG_SUPPORTS_MOVE where necessary.
+       (moveDocument): Implement new function.
+
+2023-05-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix regexp bugs
+
+       * lisp/progmodes/idlwave.el (idlwave-make-tags):
+       * lisp/obsolete/mantemp.el (mantemp-insert-cxx-syntax):
+       Repair obviously over-escaped control characters.
+
+2023-05-13  F. Jason Park  <jp@neverwas.me>
+
+       Make some module toggles more resilient in ERC
+
+       * lisp/erc/erc-goodies.el (erc-scrolltobottom-mode,
+       erc-scrolltobottom-enable, erc-move-to-prompt-mode,
+       erc-move-to-prompt-enable): Guard setup procedure behind
+       `erc--updating-modules-p'.
+       * lisp/erc/erc-imenu.el (erc-imenu-mode, erc-imenu-enable,
+       erc-imenu-disable): Don't run setup when `erc--updating-modules-p' is
+       non-nil.  Also, don't restrict teardown to buffers of the same
+       process.
+       * lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Run
+       major-mode hook member immediately outside of `erc-update-modules' in
+       `erc-open'.
+       * lisp/erc/erc-spelling.el (erc-spelling-mode, erc-spelling-enable):
+       Only conditionally run setup immediately.
+       * lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable,
+       erc-stamp-disable): Run setup hook immediately.  Don't forget to
+       kill local vars in all ERC buffers during teardown.
+       * lisp/erc/erc.el (erc--updating-modules-p): New variable that global
+       modules can use to provide their `erc-mode-hook'-deferred code on
+       demand while shielding it from running during early ERC buffer
+       initialization.
+       (erc-open): Make `erc--updating-modules-p' non-nil while activating
+       global modules.  (Bug#60936)
+
+2023-05-13  F. Jason Park  <jp@neverwas.me>
+
+       Optionally add spacing between ERC messages
+
+       * etc/ERC-NEWS: Mention option `erc-fill-line-spacing'.
+       * lisp/erc/erc-fill.el (erc-fill-line-spacing,
+       erc-fill-spaced-commands): Add options to allow for extra spacing
+       between messages.
+       (erc-fill--function): Internal var allowing modules to override user
+       option `erc-fill-function'.
+       (erc-fill): Add extra line-spacing on certain types of messages.
+       Prefer `erc-fill--function', when set, over `erc-fill-function'.
+       (erc-fill--make-module-dependency-msg,
+       erc-fill--wrap-ensure-dependencies): Rename former to latter and make
+       more useful.
+       (erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
+       Refactor.
+       (erc-fill--wrap-fix): Remove unused function.
+       (erc-fill-wrap-nudge): Remove reference to nonexistent function in doc
+       string.
+       * test/lisp/erc/erc-fill-tests.el: (erc-fill-tests--graphic-dir): New
+       variable.
+       (erc-fill-tests--compare): Look in `erc-fill-tests--graphic-dir' for
+       graphical snapshots ignored by Git.
+       (erc-fill-line-spacing): New test.
+       * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: New
+       file.  (Bug#60936)
+
+2023-05-13  F. Jason Park  <jp@neverwas.me>
+
+       Add helper for restoring local session vars in ERC
+
+       * lisp/erc/erc-common.el (erc--input-split): Suppress warning for
+       obsolete variable `erc-send-this' in init form.
+       * lisp/erc/erc-goodies.el (erc--keep-place-indicator-setup): Use macro
+       `erc--restore-initialize-priors' to preserve last session's indicator
+       position, if any.
+       (erc-keep-place-indicator-mode, erc-keep-place-indicator-enable): Use
+       convenience function to show missing-dependency notice.
+       * lisp/erc/erc-sasl.el (erc-sasl-auth-source-password-as-host): Merge
+       redundant `when' forms for clarity.
+       (erc-sasl--init): Remove unused function.
+       (erc-sasl-mode, erc-sasl-enable): Use helper to restore
+       `erc-sasl--options', essentially inlining the body of the now defunct
+       `erc-sasl--init'.
+       * lisp/erc/erc.el (erc--restore-initialize-priors): New macro to help
+       local modules and mode hooks prefer existing state over initializing
+       anew.
+       (erc--warn-once-before-connect): Add helper function to display
+       an "error notice" just after module setup.
+       (erc-accidental-paste-threshold-seconds) Improve doc string.
+       * test/lisp/erc/erc-goodies-tests.el
+       (erc-controls-highlight--examples, erc-controls-highlight--inverse,
+       erc-controls-highlight--motd, erc-keep-place-indicator-mode): Remove
+       feature check.  For the latter, also start fake process and shadow
+       `erc-connect-pre-hook'.
+       * test/lisp/erc/erc-tests.el (erc--restore-initialize-priors): New
+       test.  Also see test/lisp/erc/erc-scenarios-base-local-modules.el for
+       a more realistic exercising of this functionality.  (Bug#60936)
+
+2023-05-13  Peter Oliver  <git@mavit.org.uk>  (tiny change)
+
+       Always default ediff-auto-refine to 'on
+
+       * lisp/vc/ediff-diff.el (ediff-auto-refine): always default
+       to 'on.  (Bug#63318)
+
+2023-05-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't mutate constants in tests
+
+       * test/lisp/emacs-lisp/cl-macs-tests.el
+       (cl-macs-test--symbol-macrolet):
+       * test/lisp/emacs-lisp/cl-print-tests.el
+       (cl-print-tests-ellipsis-circular):
+       * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
+       (eieio-test-persist-interior-lists):
+       * test/lisp/textmodes/reftex-tests.el (reftex-all-used-citation-keys):
+       * test/src/xdisp-tests.el (xdisp-tests--minibuffer-resizing):
+       * test/src/fns-tests.el (test-vector-delete):
+       Mutate created objects, not constants.
+
+       * test/lisp/emacs-lisp/subr-x-tests.el
+       (subr-x-test-add-display-text-property): Mutate a created string, and
+       compare using `equal-including-properties` without which the test was
+       rather meaningless.
+
+       * test/lisp/net/tramp-archive-tests.el
+       (tramp-archive-test16-directory-files): Don't mutate.
+
+2023-05-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Use `mutate-constant` as warning identifier
+
+       * etc/NEWS:
+       * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-warnings)
+       (byte-compile-form):
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings):
+       Use the new warning name `mutate-constant` instead of using the
+       somewhat overloaded `suspicious`.
+
+2023-05-13  Felicián Németh  <felician.nemeth@gmail.com>
+           João Távora
+
+       Eglot: support window/showRequest (bug#62116)
+
+
+       * lisp/progmodes/eglot.el (eglot-client-capabilities): Advertise
+       window/showDocument.
+       (eglot-handle-request window/showDocument): New handler.
+
+2023-05-13  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       7acae22f42f Fix auto-filling in Texinfo mode
+       4bda9627349 ; * admin/git-bisect-start: Update failing commits
+       dcf8c011028 Merge branch 'scratch/long-lines-cleanup' into 'emacs-29'
+       1e3a66df459 Add an assertion in, and a commentary for, 'get_nearby_bo...
+       f0f08eeb05c Fix the return type of 'labeled_restrictions_get_bound'
+       acf4763417e Fix mouse highlight with some fonts in Cairo builds
+       32b42b333ca ; * etc/NEWS: Fix wording in last change.
+       09d6070e56e ; Improve and update documentation of built-in package up...
+       ba2c76fa2bc Ensure that package menu respects 'package-install-upgrad...
+       6fa9332e7cd Ensure that EXTRA-DATA are always written when generating...
+       60d5a015d1f Update to Transient v0.4.0
+       b8bcd42cabc Revert "Don't have nntp-report signal an error"
+       ef1f4068f6f ; * lisp/wid-edit.el (widget-specify-insert): Fix debug s...
+       09bf4768360 Make c-emacs-features use the proper binding of parse-sex...
+       c9e2a5ec26c ; * lisp/obsolete/autoload.el (make-directory-autoloads):...
+       346f4ac3bf5 ; Fix example in ELisp manual
+       91fff05ae35 ; Fix wording in Emacs manual
+       2438fa2e6cc ; Fix minor documentation issue ion replace.el
+       93005cd9dc2 with-display-message: Workaround for bug#63253
+       6924c81a6d2 ; Don't use literal non-ASCII characters in Texinfo
+       f1675df3d0c Fido-mode: never shadow 'external' completion style
+       56d2949d44c ; * lisp/leim/quail/persian.el: Fix a typo in last commit.
+       d94ea9efca6 Avoid crashes in --without-all build trying to scale non-...
+       387ddc0ccc1 Improve instructions for dealing with Emacs crashes
+       e6b4784a37f Improved transliterations + improved bidi insertion suppo...
+       c1363a04bb2 Fix crash when creating a child frame in NS (bug#63107)
+       7d6855c9ab6 Fix outgoing mime type regression (Bug#62815)
+       e920dd2b6f9 define-minor-mode: sanitize mode function messages
+       910a7b30dfd Fix beginning/end-of-defun with tree-sitter
+       e205f68717e Fix indent for enums in csharp-mode
+       dfde902f3b9 ; Expand 'package-vc-install' documentation
+       71337843036 Teach c-ts-mode about the 'restrict' keyword
+       15e06260ae8 * lisp/x-dnd.el (x-dnd-after-move-frame): Skip dead frame...
+       a081b6625bd ; Updated Elispref-Manual: `nil' cannot be defun'ed
+       97b818a4fb9 Fix doc strings of 'mark-sexp' and 'mark-word'
+       6f910ad9322 ; * etc/EGLOT-NEWS: Fix misspellings.
+       9b775ddc057 ; * etc/EGLOT-NEWS: Fix wording of last change.
+       79a886ba368 (package-upgrade): Don't remove the package from 'package...
+       c0ab4e9ca93 Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot
+       b4e90070f96 Fix arguments of xml.c functions as displayed in Help buf...
+       b1bda8228e5 More fixes for NetBSD/vax
+       a2d4cd06f45 Improve VHDL mode highlighting
+       2f3a514b6db Clarify documentation wrt floating point division by zero...
+       94e984e6700 Make loaddefs-generate slightly more tolerant
+       aba41d2c4bb ; Minor doc cleanups in go-ts-mode.el
+       b42ccb2e5c1 ; Minor grammar fix in treesit manual.
+       ab44c8a6f9d Fix order of rcirc-connect arguments
+       8eb6e33691d Fix rcirc messages printing in the wrong place
+       2901a3443c7 Prevent unnecessary modifications of 'package-vc-selected...
+       eaad302bd6f Rename eglot-update to eglot-upgrade
+       eaf25b9c6ae go-ts-mode: Use iota query only if supported (Bug#63086)
+       cc090294d77 (rng-complete-tag): Add the (ignored) argument to the :co...
+       21ec6c1d5cc Update to Transient v0.3.7-219-g3ded15b
+       8d5aa8df4ad Fix inserting selection data into Mozilla programs
+       57562c3fd0a Recognize defstruct slot names in various eieio functions
+       b93eb68cc30 Use 'calendar-buffer' instead of fixed string
+       e338a8ac41d Handle point not at EOB in minibuffer-choose-completion
+       fceaf230b06 Note that Emacs pauses when handling sentinel errors
+       46392c1623b Fix vertical-motion when tab-line is displayed in a window
+       0e52beeacea Update to Org 9.6.5-3-g2993f4
+       dd21003878d Prevent generating empty autoload files
+       2bcf11d0efe * lisp/org/org-macs.el (org--inhibit-version-check): Fix ...
+       ca43435816b Fix redisplay of mode line after its format changes from nil
+       610a7657e0a Fix c-ts-mode--emacs-c-range-query
+       7f94558b775 Improve documentation of warnings
+       5a3f0e2c558 ; Doc fix in c-ts-mode.el
+       21361d05635 Fix FOR_EACH_TAIL fontification (bug#62951)
+       d0df3404fde ; * etc/EGLOT-NEWS:  chsharp-le -> csharp-ls
+       c229e83c3ce ; * etc/EGLOT-NEWS (https): Elglot -> Eglot.
+       b4f2f499783 Fix documentation of libxml-parse-* functions
+       5dd784961d1 ; * src/treesit.c (syms_of_treesit): Fix error messages.
+       ddfa0d8da9a ; Remove some leftover text
+       212e30f6789 ; Fix byte-compilation warnings in c-ts-mode.el
+       1f2214dabd0 Skip over whitespace in annotation-top-cont check (bug#63...
+       7e136c51f6f Update zh-CN tutorial translation
+       d3ca0b3aa2e ; * lisp/progmodes/c-ts-mode.el: Fix comments and doc str...
+       c6f15c24862 ; Fix last change.
+       b9e06330f75 ; * etc/NEWS: Followup to bug#62720.
+       b33d25f5967 ; Minor improvements in doc strings of package-upgrade co...
+       c3a61870b94 Fix eglot.texi
+       a40f1816237 Fix two crashes upon startup
+       44ebd9cbd56 Eglot: explain how to update Eglot in manual (bug#62720)
+       941ef044f2e Eglot: fix edge case when deleting inlay hint overlays
+       a365984d9e1 package-upgrade[-all]: Expand docstrings to note the curr...
+       f965f35b33b Rename all functions called package-*-update-* to package...
+       31b58161bb5 Fix FOR_EACH_TAIL in c-ts-mode (bug#62951)
+       0cf6e0998ba * Makefile.in (distclean): Remove the 'native-lisp' direc...
+       933705d61e5 Improve greek-ibycus4 input method
+       c46e93b1f50 Explain ERC 5.5 regressions in new version 5.5.0.29.1
+       af43f0a2954 * doc/misc/erc.texi: Elaborate on upgrading via ELPA.
+       10948948c12 Improve outline-default-state docstring
+       b5ace2eed80 Document problems with /bin/sh on Solaris 10
+       7b2ad8f199e ; Add missing <<inserted by help-with-tutorial>> line to ...
+       524e161a536 Followup to addition of TUTORIAL.fa
+       76f50df1539 Add Farsi/Persian translation of the tutorial
+       8eacfaea6d8 Add Mongolian language environments
+       fe8efbb8f75 Document the 'end-session' event on MS-Windows
+       d80f959bede Update to Org 9.6.4-9-g8eb209
+       98c6cfcbe4a Don't support versioned grammar libraries on MS-Windows
+       8f71c1546df Accept versioned tree-sitter language grammar files
+       99add09d5e1 tab-bar-new-tab: inhibit side-window checks
+       087e8181947 * etc/NEWS: Fix outline level.  (Bug#63042)
+       d7f38558c4c ; Improve font selection for Traditional Mongolian
+       965c5e0231c Fix rendering of Traditional Mongolian script
+       9a0f10b5f88 Fix line-number-at-pos when POSITION is out of narrowing
+       4e0f4292aaf ; * etc/tutorials/TUTORIAL: Fix punctuation.
+       dec2ac0c657 Fix exiting Emacs after saving a tutorial
+       44145bf07e2 Add indentation style setting for c-ts-mode in .dir-local...
+       e7db6c59cc6 ; * .dir-locals.el (c-ts-mode): Add settings.
+       d041f01b02f ; Minor fix in Emacs Lisp Intro manual
+       3899acbb336 ; * src/fringe.c: Fix description of large circle.  (Bug#...
+       2b10e1827d3 sql: add missing postgresql types
+       9ac12592781 Fix display of menu-bar bindings of commands in *Help* bu...
+       ecdd3a9efac Improve Completion Example section in the Emacs manual
+       626e1ac62b2 Improve 'message-server-alist' docstring
+       327986936c3 Add index entry for fallback modes
+       1c4783c3300 ; * etc/NEWS: Copyedits and grammar fixes.
+       3d6f7553319 xref-search-program-alist: Fix searching larger file list...
+       1b8b2cf61bd Fix typo and inaccuracy in the ELisp Reference manual
+       df17682ebf1 ; Support 'dart-ts-mode' in Eglot
+       e0dc60e0780 ; Fix typos in gdb-mi.el
+       60560cc7adf Fix description of lexical environment's internals
+       1456adf4248 ; Eglot: fix a typo in a customization type
+       2f59595f5f4 ; * etc/NEWS: Grammar fixes.
+       596b780ab71 Update to Org 9.6.4-2-g0f6ae7
+       a0b04a22479 Documentation copyedits for 'package-install-upgrade-buil...
+       580d8278c5f Allow upgrading built-in packages with 'package-install'
+       329304c23fa ; * src/term.c (init_tty): Fix last change.  (Bug#62877)
+       200dbf7d302 Minor changes in c-ts-mode.el's support of DEFUNs
+       9686b015a0d Fix strike-through attribute support on TTY frames
+       39035fbfc5f Avoid crashes in 'describe-keymap' due to shadowing
+       b7023da6627 Make image-map bindings available on image links
+       d9e96c029bb * CONTRIBUTE: Fix a typo
+       3f71a2a0cf6 ; * lisp/progmodes/c-ts-mode.el (treesit-node-next-siblin...
+       adf9c956c28 Add to Eglot support for additional language-servers.
+       b3603b84bd9 Partial support for DEFUN in c-ts-mode (bug#62825)
+       14e809ddff1 Fix style and unwinding code in treesit.c
+       759cdf1e510 Catch signals produced by PRED in tree-sitter search func...
+       864a4dc2363 Fix compilation of w32.c with old MinGW system headers
+       a22eb9ae0f9 ruby-add-log-current-method: Reduce the use of 'nreverse'
+       17d803d0a75 Fix detection of WebP images by their signature
+       43290391ce2 ; Eglot: make version parseable by version-to-list
+       6e6e8b5c974 Add more documentation for the keys of `package-vc-select...
+       7972b76c2c7 ; vc-checkout: Wrap var lookup in 'bound-and-true-p'
+       e9fef1d70ff vc-checkout: Try to use the vc-dir's backend first
+       372e024accd ; Fix wallpaper-tests on XFCE
+       7055fd8e43e Improve documentation related to 'ispell-complete-word'
+       61fd017abde * configure.ac: Add -lbsd on Haiku.
+       05971c4d9a4 Add menu to 'c-ts-mode' and 'c++-ts-mode'
+       954e2d96a92 Update manual about `sort`
+       c62afb10cf0 Fix wallpaper-tests on MS-Windows
+       f2d212c6966 Fix a couple of eglot-tests
+       338b3718b6c Fix visiting RPM files
+       b4afee03193 Fix ff-quiet-mode doc
+       2445100d7d6 ; Improve documentation of 'match-buffers'
+       d4d0da96f0b ; Update make-tarball.txt for Emacs 29.
+       9b0bf694da4 ; Fix ldefs-boot.el.
+       0cb86a348c7 ; Update ChangeLog.4.
+       5e039d5a6e9 * lisp/ldefs-boot.el: Regenerate.
+       671abd0cc40 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       4bc678ec9f4 Bump Emacs version to 29.0.90
+       db8f207e52f Fix some cases of incomplete code's indentation [c/c++-ts...
+       589959fb09d project-search: Pipe the list of files through 'file-regu...
+       2b91567bf61 Update ChangeLog and AUTHORS for Emacs 29
+       d6af1f14982 ; doc/lispref/windows.texi: Fix @pxref paren.
+       57490fff6ec ; Backport: Eglot: fix misplaced parenthesis in last comm...
+       2a62273f3bf Backport: Eglot: no more tests based on Pylsp (bug#62694)
+       5ef7ff05736 ; Start a new ChangeLog.4 file.
+       11126c6d30a Fix 'C-h k' for "Paste from Kill Menu" in context menus
+       74ddfe811f9 ; * doc/misc/calc.texi (Rewrites Tutorial): Fix a typo (b...
+       08cda286c3f Improve the documentation of the XDS support
+       14d1c00e806 Allow reindentation of images inserted by 'mm-inline-image'
+       b63a9eda01c Fix "C-h k" and "C-h c" with Paste from Kill Menu
+       b36c21e27dc Change cursor color on NS port when it matches the face b...
+       96714c106b7 Improve documentation of image-related commands
+       6a2863ca016 Fix handling of sliced images
+       5be79fd05a5 ; * etc/NEWS: Announce 'cyrillic-mongolian' IM.
+       ca1a0fda98a ; Fix last change.
+       ce63462dbda Add cyrillic-mongolian input method
+       58801792706 ; Minor addition to the Emacs FAQ
+       88847dee125 Jsonrpc: don't bind inhibit-read-only to t so early
+       cb8c87a423a Allow active region when IM is used
+       305246d9726 Add emoji-zoom-reset
+       470d269ec1f Make emoji-zoom-{increase,decrease} set text properties c...
+       63d4a86f8d1 Fix transforming sliced images
+       5e1953a8f85 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun...
+       6b9f9df9454 ; Improve documentation of 'declare-function'
+       81d1f46d0fe ; Avoid compiler warning in eglot.el.
+       38cdfcb2128 ; Fix description of new 'keymap-*' functions
+       257090b8728 Adapt EMBA scripts.
+       90c07d3fdd2 Another terminology fix in ELisp reference manual
+       a832bc7090c Correct terminology in Elisp Reference Manual
+       db308233cb3 Comment out GNUSTEP jobs on EMBA (again)
+       8c1b1022439 ; * lisp/image.el (put-image): Doc fix.
+       eda88c63adf ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
+       728bc09cf3c Fix regexp string escaping mistake in vhdl-mode.el (bug#6...
+       479626dbac9 Update to Org 9.6.3-2-gf2949d
+       5a1c9aace70 ; Add a bit more docstring to tsx-ts-mode (bug#62429)
+       86cf9fd932c Eglot: don't watch directories that don't exist
+       82d0b6c64ea ; * lisp/subr.el (use-dialog-box-p): Fix last change.
+       3619663f982 Preserve peer information for web page in eww-readable
+       cb8d6ab648f * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI...
+       fb2c4409207 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n...
+       c0b9530862c Another final fix to last changes
+       0cc8d6826ad Three final fixes to last changes
+       89e337c3fc9 ; Make sure 'eshell-command' tests don't prompt the user
+       097c5ee8f55 Two further fixes to last changes
+       b39c3cd1125 ; * etc/NEWS: Fix typos.
+       dce08cf05cc Improve and fix last changes
+       89ac5ba11c7 Fix ModelSim error regexp in vhdl-mode
+       24ed9c7ae78 ; * doc/emacs/trouble.texi (Checklist): Minor copyedits (...
+       d1d39a0f09c Document enhancements in handling of echo-area messages
+       46209b2453b ; Fix last change
+       21a4ee209c1 Fix new Eshell tests on MS-Windows
+       e2ebf3995d0 ; Auto-commit of loaddefs files.
+       6419d78fa6f Fix using background commands in 'eshell-command'
+       3bdbb66efb9 ; CONTRIBUTE: Minor stylistic changes.
+       d0eb12e8d3c Fix typo in section 14.1 of Emacs Manual
+       b2fbec37f39 ; * etc/EGLOT-NEWS: Clarify scope of topmost section
+       131ec049db0 Eglot: unbreak eglot-extend-to-xref on w32
+       0622e1f29f6 Eglot: ensure server shutdown turns off eglot-inlay-hints...
+       59f66ea3027 ; * lisp/emacs-lisp/package-vc.el: Remove completed item ...
+       d23dc3dd7e3 ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manua...
+       4508a024e81 ; Clarify documentation of 'cursor' text property
+       d2e82817a3f Add two typescript-ts-mode faces (bug#62429)
+       10918fc9d24 Fix scrolling window when point moves up
+       9b32bc134c4 Improve documentation of 'defcustom's :set keyword
+       ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b...
+       c98929c7e18 ; Fix last change
+       a14c3f62a67 ; Fix last change
+       09fece5722f Fix duplicate defcustom in eww.el
+       2093e010dc1 Fix cursor motion in character-only terminals
+       e45bd10a3d9 Fix indentation regression in 'C-h l'
+       46fd10a7600 * doc/misc/tramp.texi (Remote shell setup): Clarify use o...
+       974e4f33333 Make get_medium_narrowing_begv/zv static
+       afc2c6c13cb Improve accuracy of cursor motion commands in long lines
+       7e26a5c774e Remove labeled restrictions before calling Fwiden
+       85ed1c9ca6b Code cleanup for long line optimizations
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-05-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Byte-compiler warning about mutation of constant values
+
+       When we can easily detect mutation of constants (quoted lists, strings
+       and vectors), warn.  For example,
+
+         (setcdr '(1 . 2) 3)
+         (nreverse [1 2 3])
+         (put-text-property 0 3 'face 'highlight "moo")
+
+       Such code can result in surprising behaviour and problems that
+       are difficult to debug.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form, mutating-fns):
+       Add the warning and a list of functions to warn about.
+       * etc/NEWS: Announce.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings): Add test cases.
+
+2023-05-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix detection of tab bar windows on PGTK
+
+       * src/dispnew.c (adjust_frame_glyphs_for_window_redisplay):
+       Adjust commentary.
+       * src/pgtkfns.c (pgtk_set_doc_edited): Remove unused function.
+       * src/pgtkterm.c (pgtk_clear_under_internal_border): Clean up X
+       related code.
+       * src/pgtkterm.h: Update prototypes.
+       * src/window.h: Define WIDNOW_TAB_BAR_P on PGTK.  (bug#63472)
+
+2023-05-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix opaque region specification on no-toolkit builds
+
+       * src/xterm.c (handle_one_xevent): Always specify opaque region
+       on no-toolkit builds upon a configure event for any's window.
+
+2023-05-13  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-12  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix files-tests broken by a recent change
+
+       * test/lisp/files-tests.el
+       (files-tests-safe-local-variable-directories): Fix this test:
+       since we are now using 'file-equal-p' the directory used as a safe
+       one should actually exist.  (Bug#61901)
+
+2023-05-12  Antero Mejr  <antero@mailbox.org>
+
+       Handle case-insensitivity for safe-local-variable-directories.
+
+       * lisp/files.el (hack-local-variables-filter): Use
+       'file-equal-p' when checking 'safe-local-variable-directories'.
+       * doc/lispref/variables.texi (File Local Variables): Remove sentences
+       in 'safe-local-variable-directories' description about case-sensitivity
+       and trailing slash behaviors.
+       * doc/emacs/custom.texi (Safe File Variables): Remove sentence about
+       'safe-local-variable-directories' trailing slash behavior.
+       (Bug#61901)
+
+2023-05-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add trailing space to PROMPT in yes-or-no-p
+
+       * doc/lispref/minibuf.texi (Yes-or-No Queries): Describe PROMPT
+       massage for y-or-n-p and yes-or-no-p.
+
+       * lisp/subr.el (y-or-n-p): Adapt docstring.
+
+       * src/fns.c (Fyes_or_no_p): Add trailing space to PROMPT if
+       needed.  (Bug#63399)
+
+2023-05-12  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Fontify function names after long stretches of macros.
+
+       This fixes bug#63322.
+
+       * lisp/progmodes/cc-engine.el (c-find-decl-spots): When a
+       search back over syntactic whitespace hits its limit, set
+       cfd-match-pos and cfd-continue-pos to cfd-start-pos.
+
+       * lisp/progmodes/cc-mode.el (c-fl-decl-start): Remove an
+       unneeded (and harmful) condition on (point)'s position in the
+       main loop.
+
+2023-05-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+       soap-client.el: Bump version to 3.2.3
+
+       * lisp/net/soap-client.el: Bump version to 3.2.3.
+
+2023-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Don't set background_filled_p
+
+       * src/haikufont.c (haikufont_draw): Don't set
+       `background_filled_p' when filling the background.
+
+2023-05-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify soap-decode-data-time use of encode-time
+
+       * lisp/net/soap-client.el (soap-decode-date-time):
+       Call encode-time directly instead of via ‘apply’.
+       No need for the two nil args.
+
+2023-05-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+       soap-client.el: Bump version to 3.2.2
+
+       * lisp/net/soap-client.el: Bump version to 3.2.2.
+
+2023-05-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
+
+       soap-client.el: Revert dd0727e1ec1f, add compatibility comment
+
+       * lisp/net/soap-client.el (soap-decode-date-time): Call
+       encode-time using apply, for GNU ELPA backward compatibility.
+       Remove some tabs.
+       (soap-type-is-array?): Reword docstring to accommodate checkdoc.
+
+2023-05-11  Antero Mejr  <antero@mailbox.org>
+
+       Add safe-local-variable-directories variable.
+
+       This variable can be set to automatically load risky dir-local
+       variables from a list of trusted directories.
+
+       * lisp/files.el (safe-local-variable-directories,
+       hack-local-variables-filter, hack-local-variables-confirm): New
+       variable and associated logic.
+       * test/lisp/files-tests.el
+       (files-tests-safe-local-variable-directories): Add tests for same.
+       * doc/emacs/custom.texi (Safe File Variables): Add documentation for
+       same.
+       * doc/lispref/variables.texi (File Local Variables): Add documentation
+       for same.
+       * etc/NEWS (Lisp Changes in Emacs 30.1): Add news entry for
+       same.  (Bug#61901)
+
+2023-05-11  Mattias Engdegård  <mattiase@acm.org>
+
+       More descriptive character escape syntax error messages (bug#63436)
+
+       * src/lread.c (invalid_escape_syntax_error): Remove.
+       (read_char_escape): Make certain messages more specific
+       than just "Invalid escape character syntax" to help finding
+       and understanding the error.
+
+2023-05-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'emacs-29'
+
+2023-05-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Clean up files created by arc-mode-tests
+
+       * test/lisp/arc-mode-tests.el (arc-mode-test-zip-ensure-ext):
+       Remove created files at the end of the test.
+
+2023-05-10  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-09  Benson Chu  <bensonchu457@gmail.com>  (tiny change)
+
+       tramp-ssh-controlmaster-options shouldn't return nil
+
+       * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
+       Should never return nil, but empty string.
+
+2023-05-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Speed up skip-chars-{forward|reverse} with char classes
+
+       * src/regex-emacs.h (re_wctype_t): Add RECC_NUM_CLASSES.
+       * src/syntax.c (skip_chars, in_classes): Use an array on the stack
+       instead of a Lisp list for storing character classes.
+       Don't check all classes if there is a match in one.
+       Remove useless handle_iso_classes argument.
+
+2023-05-09  João Távora  <joaotavora@gmail.com>
+
+       Eglot: Replace eglot-execute-command with new eglot-execute
+
+       Hopefully helps with 
https://github.com/joaotavora/eglot/discussions/1070 and
+       https://github.com/emacs-sideline/sideline/issues/5
+
+       * lisp/progmodes/eglot.el (eglot-execute-command): Obsolete.
+       (eglot-execute): New generic.
+       (eglot--read-execute-code-action): Use eglot-execute.
+
+2023-05-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-08  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-node-top-level (bug#63374)
+
+       * lisp/treesit.el (treesit-node-top-level): Fix the use of
+       rx-to-string.
+
+2023-05-08  Philipp Uhl  <git@ph-uhl.com>
+
+       Extend secrets.el by lock/unlock item
+
+       * lisp/net/secrets.el (secrets-lock-item, secrets-unlock-item):
+       New defuns.
+       (secrets-get-secret): Use `secrets-unlock-item'.  (Bug#62952)
+
+2023-05-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/Makefile.in (install_temp/assets/version): Fix generation
+       in out of tree builds.
+
+2023-05-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-08  Alan Third  <alan@idiocy.org>
+
+       Fix crash when creating a child frame in NS (bug#63107)
+
+       * src/nsterm.m ([EmacsView initFrameFromEmacs:]): Have a second go at
+       creating the toolbar.
+       ([EmacsWindow createToolbar:]): If there is already a toolbar or the
+       EmacsView's layer is not an EmacsLayer, then do nothing.
+
+2023-05-07  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (requestCursorUpdates):
+       * java/org/gnu/emacs/EmacsNative.java (requestCursorUpdates):
+       * java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
+       New functions.
+       * src/android.c (struct android_emacs_service)
+       (android_init_emacs_service): Add new method.
+       (android_update_cursor_anchor_info): New function.
+       * src/androidfns.c (android_set_preeditarea): New function.
+       * src/androidgui.h (enum android_ime_operation): New operation
+       `REQUEST_CURSOR_UPDATES'.
+       (struct android_ime_event): Document new meaning of `length'.
+       * src/androidterm.c (android_request_cursor_updates): New
+       function.
+       (android_handle_ime_event): Handle new operations.
+       (handle_one_android_event, android_draw_window_cursor): Update
+       the preedit area if needed, like on X.
+       (requestCursorUpdates): New function.
+       * src/androidterm.h (struct android_output): New field
+       `need_cursor_updates'.
+
+2023-05-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-06  Andreas Schwab  <schwab@linux-m68k.org>
+
+       Simplify check for non-empty list
+
+       * lisp/gnus/nntp.el (nntp-with-open-group): Simplify check for
+       non-empty list.
+
+2023-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Fix portability problem in lisp/Makefile.in
+
+       * lisp/Makefile.in (check-defun-dups): Avoid POSIX command
+       substitutions.
+
+2023-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Fix portability problem in toplevel Makefile
+
+       * Makefile.in (sanity-check, preferred-branch-is-current): Avoid
+       POSIX command substitution, to make Makefile work with the SVR4
+       shell.
+
+2023-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (LIBGMP_CFLAGS): Avoid non portable test
+       expression.
+
+2023-05-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix interactive forms in some Lisp packages
+
+       * lisp/woman.el (woman-reset-emulation):
+       * lisp/treesit.el (treesit--explorer-jump):
+       * lisp/speedbar.el (speedbar-toggle-etags):
+       * lisp/filesets.el (filesets-convert-patterns):
+       * lisp/calculator.el (calculator-saved-move):
+       * lisp/progmodes/gud.el (gud-basic-call):
+       * lisp/progmodes/ebrowse.el (ebrowse-redraw-marks)
+       (ebrowse-view-file-other-frame):
+       * lisp/progmodes/dcl-mode.el (dcl-indent-to):
+       * lisp/net/socks.el (socks-open-connection):
+       * lisp/net/ntlm.el (ntlm-build-auth-request):
+       * lisp/emacs-lisp/backtrace.el (backtrace-expand-ellipsis):
+       * lisp/calc/calc-prog.el (calc-edit-macro-finish-edit):
+       * lisp/calc/calc-misc.el (calc-info-goto-node):
+       * lisp/net/dictionary.el (dictionary-new-search)
+       (dictionary-definition, dictionary-switch-tooltip-mode): Fix
+       interactive functions where the 'interactive' form did not supply
+       the mandatory arguments.  (Bug#62864)
+
+2023-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * cross/verbose.mk.android: Get rid of badly aligned ANDROID_CC
+       messages.
+       * java/org/gnu/emacs/EmacsInputConnection.java (syncAfterCommit)
+       (extractAbsoluteOffsets): Add workarounds for several kinds of
+       machines.
+       (commitText, getExtractedText): Likewise.
+       * src/textconv.c (really_commit_text): Improve definition of
+       POSITION.
+       (get_extracted_text): Default to providing at least 4
+       characters.
+
+2023-05-06  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Allow X-Message-SMTP-Method to include more MTAs
+
+       * lisp/gnus/message.el (message-multi-smtp-send-mail): Allow the
+       X-Message-SMTP-Method header to override the default mailer with not
+       only smtp and sendmail but other MTAs as well.
+       * doc/misc/message.texi: Document changes to the usage of
+       X-Message-SMTP-Method.
+
+2023-05-06  Dmitry Gutov  <dmitry@gutov.dev>
+
+       package-upgrade: Implement the upgrading of built-ins
+
+       * lisp/emacs-lisp/package.el (package--upgradeable-packages):
+       Add new argument.  When INCLUDE-BUILTINS is non-nil, also search
+       among package--builtins (bug#62720).
+       (package-upgrade): Use the new argument.  Bind
+       package-install-upgrade-built-in when necessary.  Mark the package
+       as selected if it was previously an "active built-in".
+       (package-upgrade-all): Update the docstring.
+
+2023-05-06  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Merge from origin/emacs-29
+
+       79a886ba368 (package-upgrade): Don't remove the package from 'package...
+       c0ab4e9ca93 Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot
+       b4e90070f96 Fix arguments of xml.c functions as displayed in Help buf...
+       b1bda8228e5 More fixes for NetBSD/vax
+       a2d4cd06f45 Improve VHDL mode highlighting
+       2f3a514b6db Clarify documentation wrt floating point division by zero...
+       94e984e6700 Make loaddefs-generate slightly more tolerant
+       aba41d2c4bb ; Minor doc cleanups in go-ts-mode.el
+       b42ccb2e5c1 ; Minor grammar fix in treesit manual.
+       ab44c8a6f9d Fix order of rcirc-connect arguments
+       8eb6e33691d Fix rcirc messages printing in the wrong place
+       2901a3443c7 Prevent unnecessary modifications of 'package-vc-selected...
+       eaad302bd6f Rename eglot-update to eglot-upgrade
+       eaf25b9c6ae go-ts-mode: Use iota query only if supported (Bug#63086)
+       cc090294d77 (rng-complete-tag): Add the (ignored) argument to the :co...
+       21ec6c1d5cc Update to Transient v0.3.7-219-g3ded15b
+       8d5aa8df4ad Fix inserting selection data into Mozilla programs
+       57562c3fd0a Recognize defstruct slot names in various eieio functions
+       b93eb68cc30 Use 'calendar-buffer' instead of fixed string
+
+       # Conflicts:
+       #       etc/EGLOT-NEWS
+
+2023-05-06  Dmitry Gutov  <dmitry@gutov.dev>
+
+       Merge from origin/emacs-29
+
+       fceaf230b06 Note that Emacs pauses when handling sentinel errors
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Add interface for finding users in erc-server-PRIVMSG
+
+       * lisp/erc/erc-backend.el (erc-server-PRIVMSG): Call new hook
+       `erc--user-from-nick-function' for turning the sender's nick into a
+       channel user, if any.
+       * lisp/erc/erc-button.el (erc-button--add-phantom-speaker): Redo
+       completely using simplified API.
+       (erc-button--fallback-user-function): Add internal function-interface
+       variable for finding an `erc-server-user' object when the usual places
+       disappoint.
+       (erc-button--get-phantom-user): Add new function, a getter for
+       `erc-button--phantom-users'.
+       (erc-button--phantom-users-mode): Replace advice subscription for
+       `erc-button--modify-nick-function' with one for
+       `erc-button--user-from-nick-function' and one for
+       `erc-button--fallback-user-function'.
+       (erc-button--get-user-from-speaker-naive): Remove unused function.
+       (erc-button--add-nickname-buttons): Call
+       `erc-button--fallback-user-function' when a user can't be found in
+       `erc-server-users' or `erc-channel-users'.
+       * lisp/erc/erc.el (erc--user-from-nick-function): New
+       function-interface variable for determining an `erc-server-user'
+       `erc-channel-user' pair from the sender's nick.
+       (erc--examine-nick): Add new function to serve as default value for
+       `erc--user-from-nick-function'.  (Bug#60933)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Improve erc-button--modify-nick-function interface
+
+       * lisp/erc/erc-button.el (erc-button--check-nicknames-entry): Remove
+       unused let binding.
+       (erc-button--preserve-bounds): Remove unused function.
+       (erc-button--nick): New struct type to serve as collection plate for
+       `erc-button--modify-nick-function' consumers.
+       (erc-button--modify-nick-function): Reexplain interface, now based on
+       `erc-button--nick' object.  Change default value to `identity'.
+       (erc-button--add-phantom-speaker): Redo to expect `erc-button--nick'
+       object.
+       (erc-button-add-nickname-buttons): Rework slightly to construct an
+       `erc-button--nick' object for feeding to
+       `erc-button--modify-nick-function'.  Only run the latter when an
+       `erc-server-user' has successfully been found.  (Bug#60933)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Revise FORM-as-function interface in erc-button-alist
+
+       * lisp/erc/erc-button.el (erc-button-alist): Remove redundant "<URL:
+       foo>" entry, which adds nothing beyond highlighting the surrounding
+       bookends at the expense of doubling up on face properties for no
+       reason.  Revise the FORM-as-function interface by removing the dynamic
+       binding of face options and treating all implementers as replacements
+       for `erc-button-add-button'.
+       (erc-button--maybe-warn-arbitrary-sexp): Make more robust by having it
+       handle all accepted FORM types other than booleans.
+       (erc-button-add-buttons-1): Rework to only check FORM field once.
+       (erc-button--substitute-command-keys-in-region,
+       erc-button--display-error-with-buttons): Rename former as latter and
+       change signature to conform to new `erc-button-add-buttons' interface.
+       (erc-button--display-error-notice-with-keys): Call renamed helper.
+       * test/lisp/erc/erc-button-tests.el (erc-button-alist--url,
+       erc-button-tests--form, erc-button-tests--some-var,
+       erc-button-tests--erc-button-alist--function-as-form,
+       erc-button-alist--function-as-form,
+       erc-button-tests--erc-button-alist--nil-form,
+       erc-button-alist---nil-form): Add tests and helpers.  (Bug#60933)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Preprocess prompt input linewise in ERC
+
+       * etc/ERC-NEWS: Mention revised role of `erc-pre-send-functions'
+       relative to line splitting.
+       * lisp/erc/erc-common.el (erc-input): Add new slot `refoldp' to allow
+       `erc-pre-send-functions' members to indicate that splitting should
+       occur a second time after all members have had their say.
+       (erc--input-split): Specify some defaults for overridden slots and
+       explicitly declare some types for good measure.
+       * lisp/erc/erc-goodies.el (erc-noncommands-mode,
+       erc-noncommands-enable, erc-noncommands-disable): Replace
+       `erc-pre-send-functions' with `erc--input-review-functions'.
+       * lisp/erc/erc-ring.el (erc-ring-enable, erc-ring-disable,
+       erc-ring-mode): Subscribe to `erc--input-review-functions' instead of
+       `erc-pre-send-functions' for `erc--add-to-input-ring'.
+       * lisp/erc/erc.el (erc-pre-send-functions): Note some nuances
+       regarding line splitting in doc string and note that a new slot is
+       available.
+       (erc--pre-send-split-functions, erc--input-review-functions): Rename
+       former to latter, while also obsoleting.  Remove large comment.  Add
+       new default member `erc--run-input-validation-checks'.
+       (erc-send-modify-hook): Replace the obsolete `erc-send-pre-hook' and
+       `erc-send-this' with `erc-pre-send-functions' in doc string.
+       (erc--check-prompt-input-for-excess-lines): Don't trim trailing
+       blanks.  Rework to also report overages in characters as well as
+       lines.
+       (erc--run-input-validation-hooks): New function to adapt an
+       `erc--input-split' object to `erc--check-prompt-input-functions'.
+       (erc-send-current-line): Run `erc--input-review-functions' in place of
+       the validation hooks they've subsumed.  Call `erc--send-input-lines'
+       instead of the now retired but not deprecated `erc-send-input'.
+       (erc--run-send-hooks, erc--send-input-lines): New functions that
+       together form an alternate version of `erc-send-input'.  They operate
+       on input linewise but make accommodations for older interfaces.
+       * test/lisp/erc/erc-tests.el (erc-ring-previous-command): Replace
+       `erc-pre-send-functions' with `erc--input-review-functions'.
+       (erc-tests--with-process-input-spy): Shadow
+       `erc--input-review-functions'.
+       (erc-check-prompt-input-for-excess-lines): Don't expect trailing
+       blanks to be trimmed.
+       (erc--run-send-hooks): New test.  (Bug#62947)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Redo line splitting for outgoing messages in ERC
+
+       * lisp/erc/erc-backend.el (erc--reject-unbreakable-lines): New
+       variable, an escape hatch for somewhat regaining pre-5.6
+       line-splitting behavior.
+       (erc--split-line): New utility function that doesn't rely on
+       column-oriented filling.
+       * lisp/erc/erc.el (erc--pre-send-split-functions): Append
+       `erc--split-lines' to value.
+       (erc--split-lines): New function to re-split current selection of
+       lines.
+       (erc-send-input): Hard-code line preparation instead of calling
+       `erc--pre-send-split-functions', in order to bake in traditional
+       behavior before move to "pre-splitting".
+       * test/lisp/erc/erc-scenarios-base-split-line.el: New file.
+       * test/lisp/erc/erc-tests.el (erc--split-line): New test.
+       (erc-send-current-line): Don't expect a flood argument when
+       interpreting a command because it's not passed along to the command's
+       handler.  This was previously misleading because it assigned undue
+       significance to something that had no bearing on the fate of a
+       command.
+       * test/lisp/erc/resources/base/flood/ascii.eld: New file.
+       * test/lisp/erc/resources/base/flood/koi8-r.eld: New file.
+       * test/lisp/erc/resources/base/flood/utf-8.eld: New file.
+       * test/lisp/erc/resources/erc-d/erc-d.el: Don't decode input.
+       (Bug#62947)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Don't send multiline commands as messages in ERC
+
+       * lisp/erc/erc.el (erc-command-regexp): Relocate from further down in
+       same file.
+       (erc--check-prompt-input-for-multiline-command): Reject slash commands
+       containing multiple lines during input validation and before running
+       additional hooks.
+       (erc--discard-trailing-multiline-nulls): Don't mark input that begins
+       with a possible "slash command" as constituting a plain message just
+       because it has a trailing newline.  It's relatively easy to add a
+       newline by accident, which can result in the unintended sharing of a
+       command line.  Also, ERC already has a /SAY command that allows a user
+       to send a message starting a literal command.
+       * test/lisp/erc/erc-tests.el (erc-send-whitespace-lines): Fix test to
+       expect validation error when non-blank lines follow a slash command.
+       (Bug#62947)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Restore module var toggles in ERC's Custom buffers
+
+       * lisp/erc/erc-common.el (erc--neuter-custom-variable-state): Remove
+       function.  ERC famously toggles global minor-mode vars during normal
+       operations, which adds noise to its customization buffers because
+       `customize-variable-state' always sees an activated module's mode
+       variable as having "CHANGED".  To suppress this annoyance, a
+       workaround was employed that used a dishonest `:get' function to
+       simply return the "saved value," when present.  While this improved
+       the Customize experience, it also misled users, which likely wasn't
+       justified.
+       (erc--make-show-me-widget): Add helper to avoid forward declarations.
+       (erc--prepare-custom-module-type): Don't deprive users of a working
+       minor-mode toggle.
+       (erc--find-feature): New function to guess the feature of a module's
+       containing library.
+       (define-erc-module): Remove `:get' keyword.  Specify `:require'
+       instead, whose value may be nil.  Users who currently have mode vars
+       in their `custom-file' won't be impacted by this addition because
+       those `custom-set-variables' entries will still lack a REQUEST list
+       and hence won't incur a startup penalty.  And new users intent on
+       using the toggle will hopefully do so with the knowledge they're
+       opting in to requiring ERC on startup, which is not the case if they
+       follow the recommended practice of using `erc-modules' instead.
+       (erc-with-server-buffer): Inline `erc-server-buffer'.
+       * test/lisp/erc/erc-tests.el (erc-process-input-line): Use helper.
+       (define-erc-module--global): Change expected expansion.  (Bug#60935)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Simplify erc-button movement commands
+
+       * etc/ERC-NEWS: Mention TAB being bound to new command `erc-tab' and
+       `erc-previous-button' now stopping at the start of buttons.
+       * lisp/erc/erc-button.el (erc-button-mode, erc-button-enable,
+       erc-button-disable): Add and remove `erc-button-next' to
+       `erc--tab-functions' hook, which is tantamount to binding the command
+       in the read-only area of an ERC buffer.
+       (erc-button-next-function): Deprecate and remove from client code path
+       because this module doesn't concern itself with prompt input and thus
+       no longer needs to conform to the `completion-at-point-functions'
+       interface.
+       (erc-button--prev-next-predicate-functions): New variable, a hook to
+       determine whether to continue searching for a button.  Other modules
+       should utilize this as needed.
+       (erc-button--end-of-button-p): Add function to serve as default value
+       for `erc-button--continue-predicate'.
+       (erc--button-next): Add generalized button-movement function.
+       (erc-button-next, erc-button-previous): Make `erc-button-previous'
+       behave more predictably by having it land at the beginning of buttons.
+       And remove roundabout appeal to HOF in `erc-button-next'.
+       (erc-button-previous-of-nick): New command to jump to previous
+       appearance of nick at point.
+       * lisp/erc/erc-fill.el (erc-fill-wrap, erc-fill-wrap-enable,
+       erc-fill-wrap-disable): Add and remove merge-related hookee from
+       `erc-button--prev-next-predicate-functions'.
+       (erc-fill--wrap-merged-button-p): New function to detect redundant
+       speakers.
+       * lisp/erc/erc.el (erc-complete-functions): Quote TAB in doc string.
+       (erc-mode-map): Bind `erc-tab' to TAB.
+       (erc--tab-functions, erc-tab): Add new command and hook to serve as
+       unified dispatch for TAB-related operations.  It calls `c-a-p' in the
+       input area and defers to module code in the read-only message area.
+       * test/lisp/erc/erc-button-tests.el: New file.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--wrap-populate): Run
+       finalizer for transient keymap timer.
+       * test/lisp/erc/erc-tests.el
+       (erc-button--display-error-notice-with-keys): Move to new dedicated
+       test file for erc-button and fix expected behavior of
+       `erc-button-previous'.  (Bug#62834)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Add erc-timestamp property to invisible messages
+
+       * lisp/erc/erc-fill.el (erc-fill--wrap-beginning-of-line): Pretend
+       nicks with an empty string as a `display' prop are `invisible-p' and
+       break out of hidden "merged" nicks after moving.  (Bug#60936.)
+       * lisp/erc/erc-match.el (erc-hide-fools): Add comment.
+       * lisp/erc/erc-stamp.el (erc-add-timestamp): Always add
+       `erc-timestamp' and `cursor-sensor-functions' properties but respect
+       tradition and don't actually stamp any invisible messages.
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Actually define erc-default-server-functions
+
+       * lisp/erc/erc-backend.el: Remove top-level `add-hook' for
+       `erc-default-server-functions'.
+       * lisp/erc/erc.el (erc-default-server-hook,
+       erc-default-server-functions): Officially deprecate the former and
+       rename it to the latter.
+       (erc-default-server-handler): Mark obsolete because its replacement
+       took over years ago.
+       (erc-debug-missing-hooks): Append instead of mutate.
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Ignore erc-reconnect-display after a timeout
+
+       * lisp/erc/erc-backend.el (erc--server-reconnect-display-timer): New
+       variable to store active timer that, upon firing, zeroes out
+       `erc--server-last-reconnect-count'.
+       (erc--server-last-reconnect-on-disconnect): New function to run on
+       `erc-disconnected-hook'.
+       (erc--server-last-reconnect-display-reset): New function to ensure the
+       reconnect-display period ends.
+       * lisp/erc/erc.el (erc-reconnect-display-timeout): New option to
+       control how long `erc-reconnect-display' affects the displaying of new
+       buffers following an automatic reconnection.
+       (erc-process-input-line): Ensure user input marks the end of the
+       reconnect-display period.
+       (erc-cmd-JOIN): Don't bother resetting
+       `erc--server-last-reconnect-count' because it's now handled by its
+       sometime caller, `erc-process-input-line'.
+       (erc-connection-established): Schedule timer and register hook to
+       reset last-reconnect count and terminate the reconnect-display period.
+       * test/lisp/erc/erc-scenarios-base-buffer-display.el:
+       (erc-scenarios-base-buffer-display--reconnect-common): Add new args to
+       test fixture to allow for asserting display properties at various
+       stages throughout a session.
+       (erc-scenarios-base-reconnect-options--buffer,
+       erc-scenarios-base-buffer-display--defwin-recbury-intbuf): Rename
+       former to latter and rework to better reflect realistic settings
+       for the relevant display options.
+       (erc-scenarios-base-reconnect-options--default,
+       erc-scenarios-base-buffer-display--defwino-recbury-intbuf): Rename
+       former to latter and rework to be more realistic.
+       (erc-scenarios-base-buffer-display--count-reset-timeout): New
+       test for new option `erc-reconnect-display-timeout'.  (Bug#62833)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Extend erc-interactive-display to cover /JOINs
+
+       * lisp/erc/erc.el (erc-display): Mention that buffer-related display
+       options live in the customization group `erc-buffers'.
+       (erc-buffer-display, erc-join-buffer): Swap alias and aliased so that
+       the favored name, `erc-buffer-display', appears in the definition and
+       in the Customize menu.  Also note related buffer-display options in
+       the doc string.
+       (erc-query-display, erc-interactive-display): Make the former an alias
+       of the latter, new in ERC 5.6, because their roles were functionally
+       redundant and thus confusing.  Inherit the default value from
+       `erc-query-display' because users are more familiar with the pop-up
+       window behavior than a single-window replacement.
+       (erc-reconnect-display): Use preferred name for cross-referencing
+       fallback option `erc-buffer-display' in doc string, and explain how
+       /reconnect handling differs.
+       (erc--setup-buffer-hook): Add new internal hook for modules that
+       operate on windows and frames, such as erc-speedbar and
+       erc-status-sidebar.
+       (erc-open): Run `erc--setup-buffer-hook' after `erc-setup-buffer' so
+       hook members know their code isn't tied to `erc-setup-buffer' itself,
+       which may be used in other contexts, but rather to a new ERC buffer on
+       which some display-related action has just been performed.
+       (erc--called-as-input-p): New variable for "slash" commands, like
+       `erc-cmd-FOO', to detect whether they're being called "interactively"
+       as a result of input given at ERC's prompt.
+       (erc-process-input-line): Bind `erc--called-as-input-p' when running
+       slash commands.
+       (erc-cmd-JOIN): When called interactively, schedule a callback to wrap
+       the response handler and control how new buffers are thus displayed.
+       (erc-cmd-QUERY): Use preferred alias for `erc-query-display'.
+       * test/lisp/erc/erc-scenarios-base-buffer-display.el:
+       (erc-scenarios-base-buffer-display--interactive-default): New test.
+       * test/lisp/erc/erc-tests.el (erc-process-input-line,
+       erc-select-read-args, erc-tls, erc--interactive): Change expected
+       default value of `erc-interactive-display' from `buffer' to
+       `window'.  (Bug#62833)
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Move ERC's buffer-display tests to separate file
+
+       * test/lisp/erc/erc-scenarios-base-buffer-display.el: New file.
+       * test/lisp/erc/erc-scenarios-base-reconnect.el
+       (erc-scenarios-common--base-reconnect-options,
+       erc-scenarios-base-reconnect-options--buffer,
+       erc-scenarios-base-reconnect-options--default): Move to new file and
+       rename.  (Bug#62833)
+       * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d-run-linger):
+       Lengthen timeout.
+       * test/lisp/erc/resources/erc-d/erc-d.el (erc-d--m): Ensure buffer is
+       live before inserting.
+
+2023-05-06  F. Jason Park  <jp@neverwas.me>
+
+       Revive option erc-query-on-unjoined-chan-privmsg
+
+       * etc/ERC-NEWS: Mention reinstated and renamed legacy option
+       `erc-query-on-unjoined-chan-privmsg' as well as a change in behavior
+       for `erc-auto-query', when nil.  Also fix erroneous ChangeLog
+       reference in 5.5 section.
+       * lisp/erc/erc-backend.el (erc-server-PRIVMSG): Consider flag
+       `erc-receive-query-display-defer' and revived option
+       `erc-query-unjoined-chan-privmsg' when deciding whether to create a
+       new query buffer.  And only "open" a buffer for an unknown target when
+       the latter option is non-nil.
+       * lisp/erc/erc.el (erc-cmd-QUERY): Make error more informative.
+       (erc-query): Revise deprecation message.
+       (erc-auto-query, erc-receive-query-display): Swap alias and aliased
+       and add option to `erc-buffers' group.  Mention the nonstandard
+       meaning of nil and update package-version to signify a behavioral
+       change, even though the default value remains untouched.
+       (erc-receive-query-display-defer): Add new variable, a compatibility
+       switch to access legacy behavior for `erc-auto-query'.
+       (erc-query-on-unjoined-chan-privmsg,
+       erc-ensure-target-buffer-on-privmsg): Revise doc string and add alias.
+       Change package-version to ERC 5.6 due to slightly refined meaning.
+       * test/lisp/erc/erc-scenarios-base-attach.el: New file.
+       * test/lisp/erc/resources/base/channel-buffer-revival/reattach.eld:
+       New file.  (Bug#62833)
+
+2023-05-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Make old-struct test more robust
+
+       * test/lisp/emacs-lisp/cl-lib-tests.el (old-struct):
+       Use the `vector` constructor instead of vector literals to
+       avoid failing because of `type-of` constant-folding.
+
+2023-05-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Constant-propagate cons and vector literals
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
+       Allow quoted lists and conses, and vector literals, to be substituted
+       from lexical variables.  This can eliminate variable bindings and
+       create new constant folding opportunities.
+
+2023-05-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove useless handling of erroneous code in Lisp optimiser
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       ((closure ...) ...) is a malformed function call; treat it as such.
+       Better malformed function warning location.
+
+2023-05-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't inline funcall to literal lambda form
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-funcall): Don't convert
+
+         (funcall '(lambda ...) ...) -> ((lambda ...) ...)
+
+       because that would inline what is essentially an `eval` of a
+       function using dynamic binding rules into lexbound code.
+
+2023-05-05  João Távora  <joaotavora@gmail.com>
+
+       Fido-mode: never shadow 'external' completion style
+
+       As explained in the manual (20.7.2 Fast minibuffer selection)
+       'fido-mode' and 'fido-vertical-mode' give priority the "flex"
+       completion style.
+
+       In fact, bug#62015 was recently fixed in commit because that priority
+       was not taking place correctly and some completions were missed.
+
+       However, an exception must be made for the 'external' completion
+       style.
+
+       That style, made available by the lisp/external-completion.el library,
+       is specifically designed to work with backends that provide only a
+       partial view of all completions.  If we allow 'flex' to step in front
+       of 'external' it could mean that 'flex' matches something and
+       'external' isn't triggered as it probably should.
+
+       To reproduce have the rust-mode ELPA package and the rust-analyzer LSP
+       server handy.  Then:
+
+         emacs -Q -f package-initialize main.rs
+
+       Where main.rs is this content:
+
+         fn foo1()    {} fn foo2()    {} fn foo3() {}
+         fn foobar1() {} fn foobar2() {} fn foobar3() {}
+
+       The rust-analyzer server can be quickly configured to return only 3
+       workspace symbols max, so evaluate:
+
+         (setq-default eglot-workspace-configuration
+                       '(:rust-analyzer
+                           (:workspace (:symbol (:search (:limit 3))))))
+
+       Now start M-x eglot and M-x fido-vertical-mode and type C-u M-. to
+       find an arbitrary symbol in this one-file project.
+
+       Type 'f'.  You will see the three foo's are listed, correctly.
+
+       Now type '3'.   You will only see "foo3".
+
+       But that's wrong because "foobar3" was available, if only the server
+       had been asked for it.  This commit fixes the situation and no
+       completions are lost.
+
+       As an unfortunate side-effect of this commit, the fontification of
+       completions-common-part on the matches is lost, but that is not worse
+       than missing out on completions and there are better ways to recover
+       the fontification anyway (in external-completion.el).
+
+       See also:
+       
https://github.com/joaotavora/eglot/discussions/1219#discussioncomment-5818336
+
+       * lisp/icomplete.el (icomplete--fido-ccd): Do not touch entries
+       with 'external in them.
+
+2023-05-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve ange-ftp-file-remote-p
+
+       * lisp/net/ange-ftp.el (ange-ftp-file-remote-p): Handle hop
+       identification.
+
+2023-05-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix dired and tramp where `ls` does not have the `-N` option
+
+       This includes BSD ls, also used by macOS (bug#63142).
+
+       * lisp/dired.el (dired-insert-directory):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
+       Test whether -N is understood by ls since that option is used along
+       with --dired.  Remove -N when we remove --dired.
+
+2023-05-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix execution of /proc/self/exe within child processes
+
+       * exec/exec.h (struct exec_tracee): New field `new_child'.
+       Also, make `waiting_for_syscall' a bitfield.
+       * exec/trace.c (PTRACE_GETEVENTMSG): New declaration.
+       (MAX_TRACEES): Bump to 4096.
+       (handle_clone_prepare): New function.
+       (handle_clone): If required, set `new_child' and wait for a
+       ptrace event describing the parent to arrive.
+       (after_fork): Clear new field.
+       (exec_waitpid): Upon a ptrace event describing a clone, create
+       the child's tracee if it doesn't already exist.  Otherwise, copy
+       over the parent's cmdline and start running it.
+
+2023-05-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Environment): Document lossage
+       with SIGSTOP.
+       * exec/exec.c (exec_0): Check X_OK on file being opened.  Also
+       handle /proc/self/exe.
+
+2023-05-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/trace.c (SYS_SECCOMP): Define when not present.
+
+2023-05-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-05  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Make vc-hg-annotate-command async
+
+       There's no benefit in this running the process synchrounously, and
+       it's annoying for it to block the Emacs UI.
+
+       * lisp/vc/vc-hg.el (vc-hg-annotate-command):
+       Run asynchronously (bug#63123).
+
+2023-05-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       Suspend timers when reading Tramp process output
+
+       * lisp/net/tramp-compat.el (xdg): Require.
+       (tramp-compat-temporary-file-directory): Set it to
+       $XDG_CACHE_HOME/emacs if possible.
+
+       * lisp/net/tramp.el (tramp-debug-to-file): Fix docstring.
+       (tramp-wrong-passwd-regexp): Add "Authentication failed" string
+       (from doas).
+       (tramp-debug-message): Simplify backtrace check.
+       (with-tramp-locked-connection): Suppress timers.  (Bug#49954, Bug60534)
+
+       * test/lisp/net/tramp-tests.el (tramp-test09-insert-file-contents):
+       Adapt test.
+       (tramp-test45-asynchronous-requests): Remove :unstable tag.
+       Adapt test.
+
+2023-05-04  Po Lu  <luangruo@yahoo.com>
+
+       Document another misfeature of Android
+
+       * doc/emacs/android.texi (Android Environment): Describe how to
+       turn off process killing.
+
+2023-05-04  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/trace.c (check_signal): New function.
+       (handle_exec, process_system_call): Handle signal-delivery-stop
+       while waiting synchronously for syscall completion.
+
+2023-05-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/package.el (package-buffer-info): Fix thinko
+
+2023-05-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp code cleanup
+
+       * doc/lispref/files.texi (Magic File Names): Order alphabetically.
+
+       * lisp/net/tramp.el (tramp-file-name-for-operation):
+       * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
+       * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
+       * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
+       * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
+       * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
+       * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
+       Order alphabetically.
+
+       * lisp/net/tramp.el (tramp-handle-file-user-uid)
+       (tramp-handle-file-group-gid, tramp-read-id-output):
+       * lisp/net/tramp-archive.el (tramp-archive-handle-file-group-gid):
+       (tramp-archive-handle-file-user-uid): Fix docstring.
+
+       * test/lisp/net/tramp-archive-tests.el
+       (tramp-archive-test44-user-group-ids): Fix docstring.
+
+2023-05-03  Alan Mackenzie  <acm@muc.de>
+
+       Fontify "extern foo ();" correctly inside a function
+
+       This fixes bug#63224.
+
+       * lisp/progmodes/cc-engine.el (c-forward-type): Handle the "("
+       as a special case by trying to parse it with
+       c-forward-declarator and accepting it as a typeless function
+       when that fails.
+
+2023-05-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/config.h.in: Autoheader.
+       * exec/configure.ac: Check for siginfo_t.si_syscall.
+       * exec/trace.c (exec_waitpid): If SIGSYS is received, and caused by
+       seccomp, drop it should the call number be the invalid system call
+       used by Emacs.
+
+2023-05-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/config.h.in: Autoheader.
+       * exec/configure.ac: Use system extensions.
+       (HAVE_PROCESS_VM): Define if process_vm_readv and
+       process_vm_writev are available.
+       * exec/trace.c (read_memory, user_copy): Implement in terms of
+       process_vm if possible.
+
+2023-05-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Use connection-aware functions when getting the UID/GID in Eshell
+
+       This means, for example, that when using Tramp to sudo in Eshell, "rm"
+       queries the user before deleting anything (bug#63221).
+
+       * lisp/eshell/esh-util.el (eshell-user-login-name): New function...
+       * lisp/eshell/em-unix.el (eshell/whoami): ... use it.
+
+       * lisp/eshell/em-ls.el (eshell-ls-applicable): Use 'file-user-uid' and
+       'eshell-user-login-name'.
+       (eshell-ls-decorated-name): Use 'file-user-uid'.
+
+       * lisp/eshell/em-pred.el (eshell-predicate-alist): Use 'file-user-uid'
+       and 'file-group-gid'.
+
+       * lisp/eshell/em-unix.el (eshell-interactive-query): New widget...
+       (eshell-rm-interactive-query, eshell-mv-interactive-query)
+       (eshell-cp-interactive-query, eshell-ln-interactive-query): ... use
+       it.
+       (eshell-interactive-query-p): New function...
+       (eshell/rm, eshell/mv, eshell/cp, eshell/ln): ... use it.
+
+       * lisp/simple.el (file-group-gid): New function.
+
+       * lisp/net/ange-ftp.el (ange-ftp-file-group-gid): New function...
+       (file-group-gid): ... use it.
+
+       * lisp/net/tramp.el (tramp-handle-file-group-gid):
+       * lisp/net/tramp-archive.el (tramp-archive-handle-file-group-gid): New
+       functions.
+
+       * lisp/net/tramp.el (tramp-file-name-for-operation): Add
+       'file-group-gid'.
+
+       * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
+       * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
+       * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
+       * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
+       * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
+       * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
+       Add 'file-group-gid' mapping.
+
+       * test/lisp/net/tramp-tests.el (tramp-test44-file-user-group-ids):
+       * test/lisp/net/tramp-archive-tests.el
+       (tramp-archive-test44-file-user-group-ids): Add tests for
+       'file-group-gid'.
+
+       * doc/lispref/files.texi (Magic File Names): Mention 'file-group-gid'.
+
+       * doc/lispref/os.texi (User Identification): Document
+       'file-group-gid', and move 'group-real-gid' to match the order of
+       'user-real-uid'.
+
+       * etc/NEWS: Announce 'file-group-gid'.
+
+2023-05-03  Po Lu  <luangruo@yahoo.com>
+
+       Remove extra debugging code
+
+       * exec/loader-mipsel.s (__start): Remove extraneous debugging
+       code.
+
+2023-05-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/Makefile.in: (.PHONY): Add `bootstrap-clean' and
+       `extraclean'.
+       (bootstrap-clean): New rule.
+
+2023-05-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/Makefile.in (FIND_DELETE): New substitution.
+       (clean): Use FIND_DELETE.
+
+2023-05-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-02  Shynur  <one.last.kiss@outlook.com>
+
+       Display matched offscreen open paren with a distinct face
+
+       Propertize matched offscreen openparen that is showing in
+       the echo area in order to make it prominent; use shadow
+       face for non-context characters (i.e., 'Matches') for the
+       same purpose.
+       * lisp/simple.el (blink-matching-paren-offscreen): Add this
+       face for highlighting.
+       * lisp/simple.el (blink-matching-paren-highlight-offscreen): Add
+       this option to toggle face `blink-matching-paren-offscreen'.
+       * lisp/simple.el (blink-paren-open-paren-line-string): Propertize
+       the matched offscreen openparen with a face conditionally.
+       (Bug#63089)
+
+2023-05-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix Dired when QUITING_STYLE is set in the environment
+
+       * lisp/dired.el (dired-insert-directory): Ensure non-default
+       quoting style of file names is not used by 'ls' when we invoke it
+       with the --dired switch.  (Bug#63142)
+
+2023-05-02  Po Lu  <luangruo@yahoo.com>
+
+       * doc/emacs/android.texi (Android Environment): Improve doc.
+
+2023-05-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       46392c1623b Fix vertical-motion when tab-line is displayed in a window
+       0e52beeacea Update to Org 9.6.5-3-g2993f4
+       dd21003878d Prevent generating empty autoload files
+       2bcf11d0efe * lisp/org/org-macs.el (org--inhibit-version-check): Fix ...
+       ca43435816b Fix redisplay of mode line after its format changes from nil
+       610a7657e0a Fix c-ts-mode--emacs-c-range-query
+       7f94558b775 Improve documentation of warnings
+       5a3f0e2c558 ; Doc fix in c-ts-mode.el
+       21361d05635 Fix FOR_EACH_TAIL fontification (bug#62951)
+       d0df3404fde ; * etc/EGLOT-NEWS:  chsharp-le -> csharp-ls
+       c229e83c3ce ; * etc/EGLOT-NEWS (https): Elglot -> Eglot.
+       b4f2f499783 Fix documentation of libxml-parse-* functions
+       5dd784961d1 ; * src/treesit.c (syms_of_treesit): Fix error messages.
+       ddfa0d8da9a ; Remove some leftover text
+
+2023-05-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/config.h.in (__bool_true_false_are_defined):
+       * exec/configure.ac (REENTRANT): New definition.
+       (READLINKAT_SYSCALL, READLINK_SYSCALL): New defines.  Set on all
+       hosts.
+       * exec/exec.c (MIN, MAX): Remove redundant declarations.  Move
+       to config.h.
+       (exec_0): Copy name of executable into NAME when !REENTRANT.
+       * exec/exec.h (struct exec_tracee): New struct `exec_file'.
+       * exec/trace.c (remove_tracee, handle_exec, handle_readlinkat)
+       (process_system_call, after_fork): Handle readlinkat system
+       calls.
+
+2023-05-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "; * lisp/progmodes/c-ts-mode.el: allow loading file without 
treesit"
+
+       This reverts commit 7d246c359cf3d25cab5134076e393c4d25015827.
+       The same problem was already fixed on the release branch,and this
+       change will just cause merge conflicts.
+
+2023-05-02  Po Lu  <luangruo@yahoo.com>
+
+       Fix ps name in Android subprocesses
+
+       * exec/Makefile.in (.SUFFIXES): Include ., then `srcdir'.
+       * exec/loader-aarch64.s (_start):
+       * exec/loader-armeabi.s (_start):
+       * exec/loader-mips64el.s (__start):
+       * exec/loader-mipsel.s (__start):
+       * exec/loader-x86.s (_start):
+       * exec/loader-x86_64.s (_start): Get basename of opened exec
+       file and make it the command name.  Fix envp skipping on x86
+       and various leaks.
+
+2023-05-02  Po Lu  <luangruo@yahoo.com>
+
+       Port Android port to older Android systems
+
+       * exec/config.h.in: Autoheader.
+       * exec/configure.ac: Check for declarations of stpcpy and
+       stpncpy.
+       * exec/exec.c (stpcpy, stpncpy): Use replacements if
+       declarations are not present; this happens when a new Android
+       NDK is building for an old version of Android.
+
+2023-05-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Declare `cl-delete` to have important-return-value (bug#61730)
+
+       * lisp/emacs-lisp/cl-macs.el: Set property on `cl-delete`.
+       * lisp/progmodes/python.el (python-shell--add-to-path-with-priority):
+       Prevent warning by cleaner code.
+
+2023-05-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Add the function declaration and property `important-return-value`
+
+       Now the declaration
+
+        (declare (important-return-value t))
+
+       can be used to have the byte-compiler warn when the return value from
+       a call is discarded (bug#61730).
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form)
+       (important-return-value-fns): Use the function property
+       `important-return-value` instead of looking through a static list.
+       * lisp/emacs-lisp/byte-run.el (byte-run--set-important-return-value)
+       (defun-declarations-alist): New function declaration, setting the
+       property of the same name.
+       * lisp/emacs-lisp/cl-macs.el:
+       * lisp/subr.el (assoc-default): Set the property.
+       * doc/lispref/functions.texi (Declare Form):
+       * doc/lispref/symbols.texi (Standard Properties): Document.
+       * etc/NEWS: Announce.
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * exec/config.h.in: Update config.h.in.
+       * exec/configure.ac: Check for stpcpy and stpncpy.
+       * exec/exec.c (rpl_stpcpy, rpl_stpncpy): Define replacements
+       when they are not present on the system.
+       (process_program_header): Fill comment.
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix cwd relative process execution on Android
+
+       * exec/exec.c (format_pid): New function.
+       (exec_0): Make cwd relative file names relative to
+       /proc/pid/cwd.
+       * exec/trace.c (handle_exec): Handle EINTR.
+       (process_system_call): Report failure without clobbering x0.
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix use dialog box regression on Android
+
+       * lisp/subr.el (use-dialog-box-p): Always prefer dialog boxes.
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Make it easier to quit on Android
+
+       * src/android.c (android_write_event):
+       (JNICALL): Raise SIGIO on key press and window action events.
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix syscall error reporting on aarch64
+
+       * exec/trace.c (process_system_call): Save and restore x0, x1
+       and x2 regs after replacing them with an invalid file
+       descriptor.
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * Makefile.in (extraclean): Clean in exec as well.
+       * configure.ac: Fix detection of absolute srcdir.  Also, pass
+       CFLAGS.
+       * exec/Makefile.in: (.c.o): Add -I. so config.h can be
+       found.:(.s.o): Don't create m4 temporary in srcdir.
+       * exec/config-mips.m4.in (DADDI2, DADDI3): New macros.  Define
+       to substitute if as cannot assemble daddi.
+       * exec/configure.ac (user_h): Look for user.h in asm/ as well.
+       Use new user.h.  Also look in ptrace.h on arm systems.  Check if
+       as supports daddi on mips64.
+       * exec/exec.c (check_interpreter): Fix char signedness bug.
+       * exec/loader-mips64el.s (__start): Use DADDI2 and DADDI3 for
+       two- and 3-operand daddi.
+       * exec/mipsel-user.h: Don't include sgidefs.h.
+       * java/INSTALL: Document that m4 is now required.
+       * src/android.c (android_rewrite_spawn_argv): Add missing NULL.
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Work around system restrictions regarding exec
+
+       * doc/emacs/android.texi (Android Environment): Document
+       `android-use-exec-loader'.
+       * exec/exec1.c (main): Set program group of child process.
+       * src/android.c (android_rewrite_spawn_argv): New function.
+       * src/android.h: Update prototypes.
+       * src/androidfns.c (syms_of_androidfns): New variable
+       `android_use_exec_loader'.
+       * src/callproc.c (emacs_spawn): Rewrite the argument vector to
+       use exec1 if necessary.
+
+2023-05-01  F. Jason Park  <jp@neverwas.me>
+
+       Compare case-folded nicks with erc-fill-wrap-merge
+
+       * lisp/erc/erc-fill.el (erc-fill--wrap-continued-message-p): Downcase
+       both current and previous speaker when comparing nicks.
+       * test/lisp/erc/erc-fill-tests.el (erc-fill-wrap--merge): Add
+       title-case nick to test.
+       * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update
+       snapshot.
+       * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update
+       snapshot.  (Bug#60936)
+
+2023-05-01  Po Lu  <luangruo@yahoo.com>
+
+       Remove exec/configure
+
+       * exec/configure: Remove file.
+       * .gitignore: Add exec/configure.
+
+2023-04-30  Po Lu  <luangruo@yahoo.com>
+
+       Add helper binary `exec1'
+
+       * .gitignore: New files.
+       * Makefile.in (mostlyclean_dirs): Add libexec, if its Makefile
+       exists.
+       * autogen.sh (do_git): Autoreconf in exec as well.
+       * configure.ac: Configure libexec on Android.
+       * exec/Makefile.in:
+       * exec/README:
+       * exec/config-mips.m4.in:
+       * exec/config.guess:
+       * exec/config.h.in:
+       * exec/config.sub:
+       * exec/configure:
+       * exec/configure.ac:
+       * exec/deps.mk:
+       * exec/exec.c (MIN, struct exec_open_command)
+       (struct exec_map_command, struct exec_jump_command)
+       (write_open_command, write_load_command, process_interpreter_1)
+       (process_interpreter, process_program_header, insert_args)
+       (exec_0):
+       * exec/exec.h (_EXEC_H_, struct elf_header_32)
+       (struct program_header_32, struct dt_entry_32)
+       (struct elf_header_64, struct program_header_64)
+       (struct dt_entry_64, struct exec_tracee):
+       * exec/exec1.c (main):
+       * exec/install-sh (scriptversion):
+       * exec/loader-aarch64.s (_start):
+       * exec/loader-armeabi.s (_start):
+       * exec/loader-mips64el.s (__start):
+       * exec/loader-mipsel.s (__start):
+       * exec/loader-x86.s (_start):
+       * exec/loader-x86_64.s (_start):
+       * exec/mipsel-user.h (_MIPSEL_USER_H_):
+       * exec/mipsfpu.c (MIPS_ABI_FP_ANY, fpu_reqs, valid_abi_p)
+       (fp_mode_for_abi, cpu_supports_fr0_p, determine_fpu_mode):
+       * exec/mipsfpu.h (_MIPSFPU_H_, FP_FR0):
+       * exec/test.c (print_usage, main):
+       * exec/trace.c (MAX_TRACEES, aarch64_set_regs, read_memory)
+       (user_alloca, user_copy, remove_tracee, handle_clone)
+       (syscall_trap_p, handle_exec, process_system_call, tracing_execve)
+       (after_fork, find_tracee, exec_waitpid, exec_init): New files.
+       * java/Makefile.in (CROSS_EXEC_BINS): Add exec1 and
+       loader.
+       ($(CROSS_EXEC_BINS) &): New target.
+
+2023-04-30  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Fix outgoing mime type regression (Bug#62815)
+
+       * lisp/net/mailcap.el (mailcap-mime-extensions,
+       mailcap-parse-mimetype-file, mailcap-mime-types): Don't regexp-quote
+       mimetypes in a context where they should be strings.
+       (mailcap--regexp-quote-type): Remove.
+
+2023-04-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-30  João Távora  <joaotavora@gmail.com>
+
+       Eglot: bump to 1.15
+
+       * lisp/progmodes/eglot.el (Version): Bump to 1.15
+
+       * etc/EGLOT-NEWS: Update.
+
+2023-04-29  João Távora  <joaotavora@gmail.com>
+
+       Eglot: unbreak for Emacs 26
+
+       Emacs 26 doesn't have newer progress-reporter-update.
+       I think I'll start using compat.el soon.
+
+       * lisp/progmodes/eglot.el (eglot--apply-text-edits): Unbreak for
+       Emacs 26 which doesn't have newer progress-reporter-update.
+
+2023-04-29  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Improve call indentation for elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--indent-rules): Change match order.
+       (Bug#63110)
+
+       * test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
+       Add test case.
+
+2023-04-29  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Add bitstring indentation and navigation for elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--sexp-regexp): Add bistring.
+       (elixir-ts--indent-rules): Handle bitstring indentation.
+       (Bug#63109)
+
+       * test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
+       Add test case.
+
+2023-04-29  Eli Zaretskii  <eliz@gnu.org>
+
+       Optimize search for composable characters in redisplay
+
+       * src/composite.c (composition_compute_stop_pos): Accept new
+       argument INCLUDE_STATIC, and look for potential static
+       compositions only if this argument is non-zero.
+       * src/xdisp.c:
+       * src/composite.c:
+       * src/indent.c: All callers adjusted.
+       * src/xdisp.c (compute_stop_pos): Don't search for static
+       compositions.  Search for automatic compositions only after the
+       iterator gets past the composition stop_pos computed last time.
+       Use a better position for limiting search for automatic
+       compositions.  (Bug#62780)
+
+2023-04-29  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * build-aux/ndk-build-helper.mk (TARGET_ARCH): Define variable.
+       * configure.ac (ENABLE_CHECKING, CHECK_STRUCTS)
+       (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST, GLYPH_DEBUG)
+       (GC_CHECK_STRING_BYTES): Enable checking correctly on Android.
+       * java/README: Fix typos.
+       * m4/ndk-build.m4 (ndk_run_test): Pass target arch.
+       * src/android.c (android_get_content_name, android_close)
+       (android_fclose, android_check_string): Fix various typos caught
+       by checking.
+       * src/charset.c (load_charset_map_from_file): Call emacs_fclose,
+       not fclose.
+       * src/image.c (image_set_transform): Fix thinko.
+       (png_load_body, jpeg_load_body, gif_load): Call emacs_fclose,
+       not fclose.  Use open instead of fdopen.
+       * src/xfaces.c (Fx_load_color_file): Likewise.
+
+2023-04-28  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Support displaying all package maintainers (Bug#62524)
+
+       * lisp/emacs-lisp/package.el (describe-package-1): Use new
+       :maintainers package extra property from "archive-contents",
+       if non-nil.
+       * (package-buffer-info): Fix docstring.
+
+2023-04-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       212e30f6789 ; Fix byte-compilation warnings in c-ts-mode.el
+       1f2214dabd0 Skip over whitespace in annotation-top-cont check (bug#63...
+       7e136c51f6f Update zh-CN tutorial translation
+       d3ca0b3aa2e ; * lisp/progmodes/c-ts-mode.el: Fix comments and doc str...
+       c6f15c24862 ; Fix last change.
+       b9e06330f75 ; * etc/NEWS: Followup to bug#62720.
+       b33d25f5967 ; Minor improvements in doc strings of package-upgrade co...
+       c3a61870b94 Fix eglot.texi
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-04-28  Mattias Engdegård  <mattiase@acm.org>
+
+       Use t for non-nil default values in boolean defcustom declarations
+
+       * lisp/emulation/viper-ex.el (ex-unix-type-shell):
+       * lisp/emulation/viper-init.el (viper-ms-style-os-p):
+       * lisp/eshell/em-glob.el (eshell-glob-case-insensitive):
+       * lisp/filecache.el (file-cache-ignore-case):
+       * lisp/lpr.el (lpr-add-switches):
+       * lisp/ls-lisp.el (ls-lisp-ignore-case):
+       * lisp/mail/binhex.el (binhex-use-external):
+       * lisp/progmodes/cperl-mode.el (cperl-electric-parens-mark):
+       Normalise default values to nil or t.
+
+2023-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Make mode-line behavior better with grayscale visuals
+
+       * lisp/faces.el (mode-line, mode-line-inactive)
+       (mode-line-highlight): Enable gray faces on grayscale visuals.
+
+2023-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       a40f1816237 Fix two crashes upon startup
+       44ebd9cbd56 Eglot: explain how to update Eglot in manual (bug#62720)
+       941ef044f2e Eglot: fix edge case when deleting inlay hint overlays
+       a365984d9e1 package-upgrade[-all]: Expand docstrings to note the curr...
+       f965f35b33b Rename all functions called package-*-update-* to package...
+       31b58161bb5 Fix FOR_EACH_TAIL in c-ts-mode (bug#62951)
+       0cf6e0998ba * Makefile.in (distclean): Remove the 'native-lisp' direc...
+       933705d61e5 Improve greek-ibycus4 input method
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-04-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix thinko in tramp-gvfs-maybe-open-connection
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+       Use `assoc-default'.
+
+2023-04-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp bug#63102
+
+       * lisp/net/tramp.el (tramp-remote-path): Add ;;;###tramp-autoload 
cookie.
+       (Bug#63102)
+
+2023-04-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Clarify `nconc` behaviour for dotted lists (bug#63103)
+
+       * doc/lispref/lists.texi (Rearrangement): Explicitly say that dotted
+       lists are valid args to `nconc` and give an example.
+
+2023-04-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't rewrite (nconc X nil) -> X for any X (bug#63103)
+
+       Since the last cdr of a non-terminal argument to `nconc` is
+       overwritten no matter its value:
+
+         (nconc (cons 1 2) nil) => (1)
+
+       a terminating nil arg cannot just be eliminated unconditionally.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-nconc):
+       Only eliminate a terminal nil arg to `nconc` if preceded by
+       a nonempty proper list.  Right now we only bother to prove this
+       for `(list ...)`, so that
+
+         (nconc (list 1 2 3) nil) -> (list 1 2 3)
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--test-cases): Add test cases.
+
+2023-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/image.c (image_create_bitmap_from_data): Fix typo in
+       preprocessor conditionals.
+
+2023-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Fix bootstrap on Unix
+
+       * admin/charsets/Makefile.in (${charsetdir}/JISX0201.map): Use
+       run_mapconv, which uses the correct awk.
+       * admin/charsets/mapconv (LC_ALL): Don't place assignment in
+       same line as export.
+
+2023-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android File System):
+       (Android Windowing): Make Emacs manual more portable.
+
+2023-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Misc Events):
+       * doc/lispref/frames.texi (Accessing Selections):
+       (X Selections): Fix pieces of the Info manual.
+
+2023-04-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       af43f0a2954 * doc/misc/erc.texi: Elaborate on upgrading via ELPA.
+       10948948c12 Improve outline-default-state docstring
+       b5ace2eed80 Document problems with /bin/sh on Solaris 10
+       7b2ad8f199e ; Add missing <<inserted by help-with-tutorial>> line to ...
+
+2023-04-27  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-26  Michael Albinus  <michael.albinus@gmx.de>
+
+       New command 'tramp-cleanup-some-buffers'
+
+       * doc/misc/tramp.texi (Cleanup remote connections):
+       Document tramp-cleanup-some-buffers and
+       tramp-cleanup-some-buffers-hook.
+
+       * etc/NEWS: New command 'tramp-cleanup-some-buffers'.
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
+       Use `tramp-taint-remote-process-buffer'.
+
+       * lisp/net/tramp.el (tramp-post-process-creation): New defun.
+       (tramp-handle-make-process):
+       * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
+       * lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
+       (tramp-gvfs-maybe-open-connection):
+       * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
+       * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
+       (tramp-sh-handle-file-notify-add-watch)
+       (tramp-maybe-open-connection):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+       (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
+       (tramp-smb-maybe-open-connection):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection)
+       (tramp-sudoedit-send-command): Use it.
+
+       * lisp/net/tramp-cmds.el (tramp-tainted-remote-process-buffers):
+       New defvar.
+       (tramp-cleanup-dired-buffer-p)
+       (tramp-delete-tainted-remote-process-buffer-function)
+       (kill-buffer-hook, tramp-cleanup-remote-process-p)
+       (tramp-cleanup-some-buffers): New defuns.
+       (tramp-cleanup-some-buffers-hook): New defcustom.  Add
+       `buffer-file-name', `tramp-cleanup-dired-buffer-p' and
+       `tramp-cleanup-remote-process-p' to the hook.
+       (kill-buffer-hook):
+       Add `tramp-delete-tainted-remote-process-buffer-function'.
+       (tramp-cleanup-all-buffers): Rework.
+
+       * lisp/net/tramp-compat.el (tramp-compat-always): New defalias.
+
+       * test/lisp/net/tramp-tests.el (tramp--test-always): Delete.
+       (tramp-test10-write-region, tramp-test21-file-links)
+       (tramp--test-deftest-direct-async-process)
+       (tramp-test37-make-auto-save-file-name)
+       (tramp-test38-find-backup-file-name)
+       (tramp-test39-make-lock-file-name)
+       (tramp-test39-detect-external-change): Use `tramp-compat-always'.
+
+2023-04-26  Po Lu  <luangruo@yahoo.com>
+
+       Make two well known amusements work on Android
+
+       * lisp/play/doctor.el (text-conversion-style):
+       (doctor-mode):
+       * lisp/play/dunnet.el (text-conversion-style):
+       (dun-mode): Set `text-conversion-style' to `action'.
+
+2023-04-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Allow inserting #x6A58 using chinese-ctlaub IM
+
+       * leim/MISC-DIC/CTLau-b5.html (CTLau-b5 : Hanzi input by Cantonese
+       transcription (Lau style)): Add #x6A58 to GAT and GWAT.  (Bug#62898)
+
+2023-04-25  Antero Mejr  <antero@mailbox.org>
+
+       eww: Provide completions for bookmarks and suggested URIs.
+
+       * lisp/net/eww.el (eww): Add the result of 'eww-suggest-uris' to the
+       completion collection argument.
+       (eww-bookmark-urls): New procedure.
+       (eww-suggest-uris): Add "eww-bookmark-urls" to the default list.
+       * etc/NEWS (EWW): Add NEWS entry for the change.  (Bug#62800)
+
+2023-04-25  Antero Mejr  <antero@mailbox.org>
+
+       eww: Enable completion in URL/keyword prompt.
+
+       * lisp/net/eww.el (eww): Use 'completing-read' when prompting for a URL
+       or keywords.
+       (eww-minibuffer-url-keymap): New keymap for use in the URL/keyword
+       prompt.
+       * etc/NEWS (EWW): Add NEWS entry for the change.  (Bug#62800)
+
+2023-04-25  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       524e161a536 Followup to addition of TUTORIAL.fa
+       76f50df1539 Add Farsi/Persian translation of the tutorial
+       8eacfaea6d8 Add Mongolian language environments
+       fe8efbb8f75 Document the 'end-session' event on MS-Windows
+       d80f959bede Update to Org 9.6.4-9-g8eb209
+       98c6cfcbe4a Don't support versioned grammar libraries on MS-Windows
+       8f71c1546df Accept versioned tree-sitter language grammar files
+       99add09d5e1 tab-bar-new-tab: inhibit side-window checks
+       087e8181947 * etc/NEWS: Fix outline level.  (Bug#63042)
+       d7f38558c4c ; Improve font selection for Traditional Mongolian
+       965c5e0231c Fix rendering of Traditional Mongolian script
+       9a0f10b5f88 Fix line-number-at-pos when POSITION is out of narrowing
+       4e0f4292aaf ; * etc/tutorials/TUTORIAL: Fix punctuation.
+       dec2ac0c657 Fix exiting Emacs after saving a tutorial
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-04-25  Po Lu  <luangruo@yahoo.com>
+
+       Improve portability of pkg-config tests.
+
+       * configure.ac: Fix problems found after pkg-config was
+       installed on Solaris 10.
+
+2023-04-25  Your Name  <you@example.com>
+
+       Fix configure.ac for some Bourne shells
+
+       This fixes running configure under /bin/sh on Solaris 10, and
+       some other Unix systems.
+
+       * configure.ac: Avoid POSIX style command substitutions.
+       (emacs_major_version): Avoid POSIX style pattern substitution.
+       (PORT_PACKAGE, MAC_FLAGS, MAC_LIBS): Avoid POSIX style command
+       substitutions.
+
+2023-04-25  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Require custom values of `boolean` type to be nil or t
+
+       This helps detecting mistakes in types and/or initial values.
+
+       * lisp/wid-edit.el (boolean): Add :match function.
+
+2023-04-24  Eshel Yaron  <me@eshelyaron.com>
+
+       Add option to control default outlining in 'C-h b'
+
+       * lisp/help.el (describe-bindings-outline-rules): New user option.
+       (describe-bindings): Use it instead of hardcoding "Key translations".
+       (Bug#62708)
+
+2023-04-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix build when Org's version changes
+
+       * lisp/org/org-macs.el (org--inhibit-version-check): Rename from
+       'org--built-in-p' and make it a defvar.  All users changed.
+       (Bug#62762)
+
+2023-04-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-23  Jim Porter  <jporterbugs@gmail.com>
+
+       When examining merge commits in our Git hooks, only check the first 
parent
+
+       This does two things:
+
+         1. We can properly validate log entries in merge commits.
+         2. We don't check commits that were merged in from other branches.
+
+       * build-aux/git-hooks/commit-msg-files.awk (get_commit_changes): Get
+       the changes compared to the first parent.
+
+       * build-aux/git-hooks/pre-push: Only get the first parent of merge
+       commits when returning the rev-list, and only check "master" or
+       "emacs-NN" branches.
+
+2023-04-23  Jim Porter  <jporterbugs@gmail.com>
+
+       Improve the logic of the file entry Git hooks to support more cases
+
+       In addition to starting with a "*", file entries now need a ":"
+       somewhere in them.  This helps reduce false positives with bulleted
+       lists.  Also, support multiple files separated by commas after a "*".
+
+       * build-aux/git-hooks/commit-msg-files.awk (check_commit_msg_files):
+       Accumulate file entries over multiple lines to support the above.
+
+2023-04-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add new Tramp method "flatpak"
+
+       * doc/misc/tramp.texi (Inline methods): Add flatpak.
+
+       * etc/NEWS: Add new Tramp method "flatpak".  Fix typos.
+
+       * lisp/net/tramp-container.el (tramp-flatpak-program): New defcustom.
+       (tramp-flatpak-method): New defconst.
+       (tramp-flatpak--completion-function): New defun.  Set it for "flatpak".
+       (tramp-methods) <flatpak>: Add.
+       (tramp-container-connection-local-default-flatpak-variables):
+       New defconst.  Set respective connection-local variables.
+
+2023-04-23  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-22  kobarity  <kobarity@gmail.com>
+
+       Improve docstring of python-indent-def-block-scale
+
+       * lisp/progmodes/python.el (python-indent-def-block-scale): Improve
+       docstring.  (Bug#62696)
+
+2023-04-22  kobarity  <kobarity@gmail.com>
+
+       Add a new user option in Python mode to improve the indentation
+
+       * lisp/progmodes/python.el (python-indent-block-paren-deeper): New
+       user option.
+       (python-indent-context): Add a new context :inside-paren-from-block.
+       (python-indent--calculate-indentation): Modify according to
+       `python-indent-block-paren-deeper' and :inside-paren-from-block.
+       * test/lisp/progmodes/python-tests.el
+       (python-indent-inside-paren-block-1)
+       (python-indent-inside-paren-block-2)
+       (python-indent-inside-paren-block-3)
+       (python-indent-inside-paren-block-4): New tests.
+       (python-indent-inside-paren-5, python-indent-dedenters-8): Modify
+       according to the new context.
+       * etc/NEWS: Document the new user option.  (Bug#62696)
+
+2023-04-22  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       44145bf07e2 Add indentation style setting for c-ts-mode in .dir-local...
+       e7db6c59cc6 ; * .dir-locals.el (c-ts-mode): Add settings.
+       d041f01b02f ; Minor fix in Emacs Lisp Intro manual
+
+2023-04-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Improved nconc and append compiler optimisations
+
+       Add the transforms:
+
+         (nconc) -> nil
+         (nconc X) -> X
+
+       and for arguments to `nconc`:
+
+         nil -> <elided>
+         (list X...) (list Y...) -> (list X... Y...)
+         (list X) Y -> (cons X Y)
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-nconc): New.
+       (byte-optimize-append): Fix minor flaws and generalise.
+
+2023-04-22  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-22  Dmitry Gutov  <dmitry@gutov.dev>
+
+       project--read-project-buffer: Fixup default-directory if needed
+
+       * lisp/progmodes/project.el (project--read-project-buffer):
+       Make sure that when the read buffer is new, its default-directory
+       belongs to the project (bug#62974).
+
+2023-04-21  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       3899acbb336 ; * src/fringe.c: Fix description of large circle.  (Bug#...
+       2b10e1827d3 sql: add missing postgresql types
+       9ac12592781 Fix display of menu-bar bindings of commands in *Help* bu...
+       ecdd3a9efac Improve Completion Example section in the Emacs manual
+       626e1ac62b2 Improve 'message-server-alist' docstring
+       327986936c3 Add index entry for fallback modes
+       1c4783c3300 ; * etc/NEWS: Copyedits and grammar fixes.
+       3d6f7553319 xref-search-program-alist: Fix searching larger file list...
+       1b8b2cf61bd Fix typo and inaccuracy in the ELisp Reference manual
+       df17682ebf1 ; Support 'dart-ts-mode' in Eglot
+       e0dc60e0780 ; Fix typos in gdb-mi.el
+       60560cc7adf Fix description of lexical environment's internals
+       1456adf4248 ; Eglot: fix a typo in a customization type
+       2f59595f5f4 ; * etc/NEWS: Grammar fixes.
+       596b780ab71 Update to Org 9.6.4-2-g0f6ae7
+       a0b04a22479 Documentation copyedits for 'package-install-upgrade-buil...
+       580d8278c5f Allow upgrading built-in packages with 'package-install'
+       329304c23fa ; * src/term.c (init_tty): Fix last change.  (Bug#62877)
+       200dbf7d302 Minor changes in c-ts-mode.el's support of DEFUNs
+       9686b015a0d Fix strike-through attribute support on TTY frames
+       39035fbfc5f Avoid crashes in 'describe-keymap' due to shadowing
+
+       # Conflicts:
+       #       etc/NEWS
+       #       lisp/progmodes/c-ts-mode.el
+       #       lisp/progmodes/eglot.el
+
+2023-04-21  Jim Porter  <jporterbugs@gmail.com>
+
+       Add Git hooks to check filenames listed in the commit message
+
+       See 
<https://lists.gnu.org/archive/html/emacs-devel/2023-04/msg00274.html>.
+
+       * build-aux/git-hooks/commit-msg-files.awk:
+       * build-aux/git-hooks/post-commit:
+       * build-aux/git-hooks/pre-push: New files...
+       * autogen.sh: ... add them.
+
+2023-04-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/gv.el: Silly typo
+
+2023-04-20  Ruijie Yu  <ruijie+git@netyu.xyz>
+
+       Handle modifications in extensionless zip files (bug#61326)
+
+       * lisp/arc-mode.el (archive-*-write-file-member)
+       (archive-*-expunge): Refactor to correctly modify
+       extensionless zip archives.
+       (archive-expunge): Move implementation to a separate helper
+       function to facilitate testing.
+       (archive--act-files): New helper function to wrap around
+       `call-process' calls.
+       (archive--need-rename-p): New helper function to check whether
+       a temporary rename is necessary.
+       (archive--ensure-extension) (archive--maybe-rename): New helper
+       functions to rename archive if the caller deems it necessary.
+       (archive--with-ensure-extension): New helper function to handle
+       writing an archive while ensuring extensionless archives work
+       correctly by temporarily renaming them.
+
+       * test/lisp/arc-mode-tests.el (arc-mode-test-zip-ensure-ext):
+       New regression test for bug#61326.
+
+2023-04-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-20  Yuan Fu  <casouri@gmail.com>
+
+       Fix treesit-install-language-grammar for non-interactive call
+
+       A continuation of bug#62704.
+
+       * lisp/treesit.el (treesit-install-language-grammar): Differentiate
+       between interactive and non-interactive call, and don't prompt when
+       it's called non-interactively.
+
+2023-04-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-19  Olivier Certner  <olce.emacs@certner.fr>
+
+       VC: Allow `vc-default-revert' (and CVS) to revert a missing file
+
+       * lisp/vc/vc.el (vc-default-revert): Fix reverting a missing file case
+       by not trying to create a backup through `copy-file'.  Notably impacts
+       CVS, where `vc-cvs-revert' calls `vc-default-revert'.
+
+2023-04-19  Olivier Certner  <olce.emacs@certner.fr>
+
+       VC: CVS: Fix parsing of 'cvs -qn update' for missing files for 1.12
+
+       * lisp/vc/vc-cvs.el (vc-cvs-after-dir-status): Fix the name reported
+       for missing files in the case of CVS 1.12.3+ where name is quoted in
+       the warning line (it was not before this version).  Use instead the
+       following U line, where the name is never quoted on all versions.
+
+2023-04-19  Olivier Certner  <olce.emacs@certner.fr>
+
+       VC: CVS: Fix "Root" file parsing
+
+       The new "Root" file parsing has been based on CVS' documentation,
+       which gives the following format for *remote* repositories:
+       [:method:][[user][:password]@]hostname[:[port]]/pathname/to/repository
+       and for local ones:
+       :local:/pathname/to/repository
+       or
+       :local:c:/pathname/to/repository
+       or alternatively ':local:' replaced by ':fork:', or ':local:' omitted
+       when the path starts with a slash.
+
+       [The actual parsing code in CVS is actually a bit more restrictive.
+       See 'root.c'.]
+
+       Most notably, the previous version could not parse an absolute
+       pathname without an explicit :local: method or :pserver: lines with
+       passwords.
+
+       * lisp/vc/vc-cvs.el (vc-cvs-parse-root): Rewrite.
+
+       (vc-cvs-repository-hostname): Cope with `vc-cvs-parse-root' returning
+       an empty hostname (can only happen if the "Root" file is invalid),
+       returning nil in this case.
+
+       (vc-cvs-parse-uhp): Remove this standalone function formerly used only
+       by `vc-cvs-parse-root' and which doesn't allow correct parsing anyway.
+
+       * test/lisp/vc/vc-cvs-tests.el: New file, with tests for common "Root"
+       file content.
+
+2023-04-19  João Távora  <joaotavora@gmail.com>
+
+       Eglot: unbreak activation/management of derived modes (bug#62907)
+
+       After recent changes to how LSP "languageId" is computed from major
+       modes and stored in the eglot-lsp-server object, the activation of the
+       'eglot--managed-mode' minor mode in modes _derived_ from some
+       major-mode mentioned in 'eglot-server-programs' was broken.
+
+       This commit restores that by introducing a new helper which uses the
+       same logic to provide the current-buffer's "languageId" to the server
+       and to discover if the server should manage the mode at all.  This
+       ensures the two things stay in sync.
+
+       Also, this helper uses the function 'provided-mode-derived-p' to fix
+       this bug#62907.
+
+       * lisp/progmodes/eglot.el (eglot--languageId): New helper.
+       (eglot-current-server, eglot--TextDocumentItem): Use it.
+
+2023-04-19  Dmitry Gutov  <dmitry@gutov.dev>
+
+       flymake-end-of-line-diagnostics-face: Tweak a little
+
+       * lisp/progmodes/flymake.el
+       (flymake-end-of-line-diagnostics-face):
+       Use height 0.85 and ensure the box doesn't change the line height
+       (https://debbugs.gnu.org/62029#86).
+
+2023-04-18  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Fix verilog-diff-file-with-buffer
+
+       * lisp/progmodes/verilog-mode.el: Fix commentary to avoid implying
+       XEmacs defines diff-command.
+       (verilog-diff-file-with-buffer): Claim compatibility with Emacs 21
+       rather than XEmacs in commentary, since the latter does not seem to
+       define diff-command.  Use get-buffer in place of likely thinko
+       with-temp-buffer + BUFNAME + current-buffer.  Fix unused
+       unwind-protect: move temporary file deletion to its unwind
+       forms (bug#62620).  Avoid race condition between file existence
+       check and deletion.  Handle list-valued diff-switches.  Avoid
+       passing empty argument to diff-command.
+
+2023-04-18  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix :package-version in flymake.el
+
+       * lisp/progmodes/flymake.el (flymake-end-of-line-diagnostics-face)
+       (flymake-error-echo-at-eol, flymake-warning-echo-at-eol)
+       (flymake-note-echo-at-eol): Fix :package-version.
+
+2023-04-18  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Fix limiting
+
+2023-04-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/gv.el (error): Add gv-expander
+
+       This fixes incorrect expansion of (setf (case-exhaustive ..) ..),
+       as found for example in `elpa-admin.el`.
+
+2023-04-17  João Távora  <joaotavora@gmail.com>
+
+       Flymake: improve new flymake-show-diagnostics-at-end-of-line feature
+
+       * lisp/progmodes/flymake.el (flymake-end-of-line-diagnostics-face)
+       (flymake-error-echo-at-eol, flymake-warning-echo-at-eol)
+       (flymake-note-echo-at-eol): New faces
+       (flymake-error, flymake-warning, flymake-note): Use new faces.
+       (flymake--highlight-line): Rework.
+       (flymake-after-change-function): Rework.
+
+2023-04-17  Yuan Fu  <casouri@gmail.com>
+
+       New helper function assq_no_signal
+
+       * src/fns.c (assq_no_signal): New function.
+       * src/lisp.h (assoc_no_signal): Declare it.
+       * src/treesit.c (safe_assq): Remove function.
+       (treesit_traverse_get_predicate): Change safe_assq to assq_no_signal.
+
+2023-04-17  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Include previous summary buffer articles in gnus thread referrals
+
+       * lisp/gnus/gnus-search.el (gnus-search-thread): Include all the
+       current articles along with the thread when searching outside the
+       current group.
+
+2023-04-17  João Távora  <joaotavora@gmail.com>
+
+       Eglot: guard against empty 'textDocument/documentSymbol' response
+
+       * lisp/progmodes/eglot.el (eglot-imenu): Protect against missing 
response.
+
+2023-04-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Fit symbol_redirect snugly in two bits
+
+       This allows the C compiler to do away with all default clauses when
+       switching on the `redirect` field.
+
+       * src/lisp.h (enum symbol_redirect): Use values in the 0..3 range,
+       which also matches the old comment in struct Lisp_Symbol.
+       (enum symbol_interned, enum symbol_redirect)
+       (enum symbol_trapped_write): Comment members.  Remove explicit values.
+       (struct Lisp_Symbol): Shrink the `redirect` member to 2 bits.
+       Use the correct type for the `interned` field.
+       Move value comments to their types.
+       * src/pdumper.c (dump_symbol): Update hashes.
+
+2023-04-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b7023da6627 Make image-map bindings available on image links
+       d9e96c029bb * CONTRIBUTE: Fix a typo
+       3f71a2a0cf6 ; * lisp/progmodes/c-ts-mode.el (treesit-node-next-siblin...
+       adf9c956c28 Add to Eglot support for additional language-servers.
+       b3603b84bd9 Partial support for DEFUN in c-ts-mode (bug#62825)
+
+       # Conflicts:
+       #       lisp/progmodes/c-ts-mode.el
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       864a4dc2363 Fix compilation of w32.c with old MinGW system headers
+       a22eb9ae0f9 ruby-add-log-current-method: Reduce the use of 'nreverse'
+       17d803d0a75 Fix detection of WebP images by their signature
+       43290391ce2 ; Eglot: make version parseable by version-to-list
+       6e6e8b5c974 Add more documentation for the keys of `package-vc-select...
+       7972b76c2c7 ; vc-checkout: Wrap var lookup in 'bound-and-true-p'
+       e9fef1d70ff vc-checkout: Try to use the vc-dir's backend first
+       372e024accd ; Fix wallpaper-tests on XFCE
+       7055fd8e43e Improve documentation related to 'ispell-complete-word'
+       61fd017abde * configure.ac: Add -lbsd on Haiku.
+       05971c4d9a4 Add menu to 'c-ts-mode' and 'c++-ts-mode'
+
+       # Conflicts:
+       #       lisp/progmodes/eglot.el
+       #       lisp/progmodes/ruby-mode.el
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       c62afb10cf0 Fix wallpaper-tests on MS-Windows
+       f2d212c6966 Fix a couple of eglot-tests
+       338b3718b6c Fix visiting RPM files
+       b4afee03193 Fix ff-quiet-mode doc
+       2445100d7d6 ; Improve documentation of 'match-buffers'
+       d4d0da96f0b ; Update make-tarball.txt for Emacs 29.
+       9b0bf694da4 ; Fix ldefs-boot.el.
+       0cb86a348c7 ; Update ChangeLog.4.
+
+       # Conflicts:
+       #       ChangeLog.4
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       671abd0cc40 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       db8f207e52f Fix some cases of incomplete code's indentation [c/c++-ts...
+       589959fb09d project-search: Pipe the list of files through 'file-regu...
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       d6af1f14982 ; doc/lispref/windows.texi: Fix @pxref paren.
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       5ef7ff05736 ; Start a new ChangeLog.4 file.
+       11126c6d30a Fix 'C-h k' for "Paste from Kill Menu" in context menus
+       74ddfe811f9 ; * doc/misc/calc.texi (Rewrites Tutorial): Fix a typo (b...
+       08cda286c3f Improve the documentation of the XDS support
+       14d1c00e806 Allow reindentation of images inserted by 'mm-inline-image'
+       b63a9eda01c Fix "C-h k" and "C-h c" with Paste from Kill Menu
+       b36c21e27dc Change cursor color on NS port when it matches the face b...
+       96714c106b7 Improve documentation of image-related commands
+       6a2863ca016 Fix handling of sliced images
+       5be79fd05a5 ; * etc/NEWS: Announce 'cyrillic-mongolian' IM.
+       ca1a0fda98a ; Fix last change.
+       ce63462dbda Add cyrillic-mongolian input method
+       58801792706 ; Minor addition to the Emacs FAQ
+       88847dee125 Jsonrpc: don't bind inhibit-read-only to t so early
+       cb8c87a423a Allow active region when IM is used
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-04-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Cleaner solution for Org version updates
+
+       * lisp/Makefile.in (BYTE_COMPILE_FLAGS): Set org--built-in-p
+       non-nil, to avoid aborting the build when Org's version is bumped.
+       ($(lisp)/org/org.elc): Remove dependencies of org-version.el, as
+       no longer needed.  (Bug#62762)
+
+2023-04-15  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Fix errors when nnselect-always-regenerate is t (bug#61539)
+
+       The group parameter nnselect-always-regenerate causes the list of
+       articles in the group to be generated each time it is needed. For this
+       to work reliably the list of articles has to be generated at the
+       appropriate time and to have a reproducible ordering.
+
+       * lisp/gnus/gnus-search.el (gnus-search-run-search): For nnselect
+       groups if the article list has not been stored, regenerate it.
+       * lisp/gnus/nnselect.el (nnselect-generate-artlist): Sort the
+       generated list of articles by RSV, group, and number.  Store the
+       artlist after generation. When the new optional argument INFO is
+       non-nil, update the group info.
+       (nnselect-compress-artlist, nnselect-uncompress-artlist): Preserve the
+       article list ordering.
+       (nnselect-get-artlist): Return nil when nnselect-always-regenerate is t.
+       (nnselect-store-artlist): Store the group active range along with the
+       artlist. Don't keep the artlist if nnselect-always-regenerate is t.
+       (nnselect-request-group): The full article list isn't needed at this
+       stage, only the active range.
+       (nnselect-retrieve-headers): Regenerate the article list if there
+       is no stored value. Inhibit gnus-demon while retrieving headers.
+       (nnselect-request-group-scan): Don't generate the article list when
+       nnselect-always-regenerate is t since it will be generated again later
+       on.
+       (nnselect-request-create-group): Allow the artlist to be passed as an
+       argument to the function. Update the group info and store the artlist.
+
+2023-04-15  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Improve gnus thread-referral
+
+       Allow thread referral to use search whenever possible, displaying the
+       results in the current summary buffer if possible and a new nnselect
+       buffer if not.
+
+       * lisp/gnus/nnimap.el (nnimap-request-thread): Obsolete function.
+       * lisp/gnus/gnus-search.el (gnus-search-thread): Allow detailed
+       specification of how/where to search. Add found articles to the
+       current summary buffer if possible, or create a new ephemeral nnselect
+       group if not.
+       * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search): Allow a list
+       of servers and groups to search.
+       (gnus-summary-refer-thread): Find thread-related articles by using a
+       backend-specific method, gnus-search, or retrieving nearby headers in
+       the current group.
+       * lisp/gnus/nnselect.el (nnselect-search-thread): Obsolete function.
+       (nnselect-request-thread): Allow thread referral from nnselect groups.
+       * doc/misc/gnus.texi (Finding the Parent): Document changes to thread
+       referral.
+
+2023-04-15  Yuan Fu  <casouri@gmail.com>
+
+       Support treesit-thing-settings in search functions
+
+       * src/treesit.c (safe_assq)
+       (treesit_traverse_get_predicate): New functions.
+       (treesit_traverse_validate_predicate)
+       (treesit_traverse_match_predicate): Support symbols.
+       (Ftreesit_search_subtree)
+       (Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree)
+       (Ftreesit_node_match_p): Move validation down so we can pass LANGUAGE
+       to it.
+
+2023-04-15  Yuan Fu  <casouri@gmail.com>
+
+       Add a recursion level limit for tree-sitter search predicates
+
+       * src/treesit.c:
+       (treesit_traverse_validate_predicate): Check for recursion level.
+       (Ftreesit_search_subtree)
+       (Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree)
+       (Ftreesit_node_match_p): Update uses of
+       treesit_traverse_validate_predicate.
+
+2023-04-15  Yuan Fu  <casouri@gmail.com>
+
+       Add treesit-thing-settings
+
+       * lisp/treesit.el (treesit--things-around)
+       (treesit--navigate-thing)
+       (treesit-thing-at-point): Update docstring.
+       * src/treesit.c (treesit_traverse_validate_predicate): Refer to
+       treesit-thing-settings.
+       (syms_of_treesit): Add Vtreesit_thing_settings.
+
+2023-04-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-15  Yuan Fu  <casouri@gmail.com>
+
+       Convert PATTERN and REGEXP to PRED in tree-sitter functions
+
+       Just changing names.
+
+       * lisp/treesit.el (treesit-beginning-of-thing):
+       (treesit-end-of-thing)
+       (treesit--things-around)
+       (treesit--navigate-thing)
+       (treesit-thing-at-point): Change REGEXP and PATTERN to PRED.
+
+2023-04-15  Yuan Fu  <casouri@gmail.com>
+
+       Make use of the new pred shapes in treesit.el
+
+       treesit-search-forward and friends now accept more shapes for PRED,
+       make use of it in navigation functions.
+
+       * lisp/treesit.el (treesit-node-top-level): Use treesit-node-match-p.
+       (treesit--thing-unpack-pattern): Remove function.
+       (treesit-beginning-of-thing)
+       (treesit-end-of-thing): Remove PRED argument.
+       (treesit--things-around): Remove PRED argument, use
+       treesit-node-match-p.
+       (treesit--top-level-thing): Remove function.
+       (treesit--navigate-thing): Remove PRED argument.
+       (treesit-thing-at-point): Update docstring, don't unpack PATTERN.
+
+       * test/src/treesit-tests.el:
+       (treesit--ert-test-defun-navigation): Don't unpack pattern.
+
+2023-04-15  Yuan Fu  <casouri@gmail.com>
+
+       Add treesit-node-match-p
+
+       * src/treesit.c (Ftreesit_node_match_p): New function.
+
+2023-04-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Disallow creation of circular variable alias chains
+
+       Make `defvaralias` signal an error upon attempts to create variable
+       alias cycles.  This detects errors earlier and makes the alias
+       traversal during execution simpler and faster since no cycle detection
+       is needed elsewhere.
+       Now variable and function aliases are handled identically in these
+       respects.
+
+       * src/lisp.h (indirect_variable): Remove declaration.
+       * src/data.c (indirect_variable): Remove.
+       (Findirect_variable): Update doc string.  Simplify alias resolution.
+       (Fboundp, find_symbol_value, set_internal, default_value)
+       (set_default_internal, Fmake_variable_buffer_local)
+       (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p)
+       (Flocal_variable_if_set_p, Fvariable_binding_locus):
+       * src/buffer.c (buffer_local_value):
+       * src/eval.c (specbind): Simplify variable alias resolution.
+       (Fdefvaralias): Update doc string.  Check for cycles.
+       * doc/lispref/variables.texi (Variable Aliases):
+       Mention that `defvaralias` can signal `cyclic-variable-indirection`
+       but `indirect-variable` cannot.
+       * etc/NEWS: Announce the change.
+       * test/src/eval-tests.el (eval-tests-defvaralias): New test.
+
+2023-04-14  Alan Mackenzie  <acm@muc.de>
+
+       Improve C++ concept indentation.
+
+       This fixes bug #62386.
+
+       * lisp/progmodes/cc-engine.el (c-forward-over-compound-identifier): 
Don't
+       move forward over whitespace following the identifier.
+       (c-forward-primary-expression): Add parameter stop-at-end meaning don't 
move
+       forward over whitespace after the construct when non-nil.  Don't 
recognise a
+       primary expression when an open brace follows a parenthesized 
expression.
+       (c-forward-constraint-clause): Extracted from 
c-forward-c++-requires-clause.
+       Add parameter stop-at-end as above.
+       (c-forward-c++-requires-clause): New stop-at-end parameter as above.  
Call the
+       new function c-forward-constraint-clause.
+       (c-forward-concept-fragment, c-looking-at-concept)
+       (c-in-requires-or-at-end-of-clause, c-c++-vsemi-p): New functions.
+       (c-guess-basic-syntax): New CASE 5A.7: "defun" open in a requires 
expression.
+       CASE 5F: Close of a non-class declaration level block: Move to earlier 
in the
+       function.
+       CASE 5D: Also check for being in or at end of a constraint.
+       New CASE 20: A C++ requires sub-clause.
+       New CASE 16G: The closing brace of a requires clause.
+       New CASE 17J: First "statement" inside a requires "function".
+       (c-forward-primary-expression, c-forward-declarator, 
c-forward-decl-or-cast-1)
+       (c-looking-at-or-maybe-in-bracelist): Amend the method of detecting end 
of
+       symbol "requires" (aka c-fun-name-substitute-key).
+
+       * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Amend the 
method
+       of detecting end of symbol "requires".
+
+       * lisp/progmodes/cc-langs.el (c-at-vsemi-p-fn): Change the C++ entry to
+       c-c++-vsemi-p.
+       (c-fun-name-substitute-key): Change to an unadorned regexp.
+
+       * lisp/progmodes/cc-vars.el (c-offsets-alist): Add new syntactic symbol
+       constraint-cont.
+
+       * doc/misc/cc-mode.texi (Syntactic Symbols): Add an entry for 
contraint-cont.
+       (Constraint Symbols): New node under Syntactic Symbols.
+
+2023-04-14  Robert Pluim  <rpluim@gmail.com>
+
+       * src/nsterm.m (check_native_fs): Add missing void arg.
+
+2023-04-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Use BASE_EQ in treesit.c
+
+       * src/treesit.c (Ftreesit_node_check, Ftreesit_pattern_expand)
+       (Ftreesit_query_capture, treesit_traverse_validate_predicate)
+       (treesit_traverse_match_predicate):
+       Use BASE_EQ instead of EQ where this is obviously correct.
+
+2023-04-14  Alan Mackenzie  <acm@muc.de>
+
+       Make c-emacs-features use the proper binding of 
parse-sexp-lookup-properties
+
+       This is relevant for bug #58558, although it does not fix it.  Due to a 
wrong
+       ordering of with-current-buffer and a let form, the function overwrote 
the
+       global value of parse-sexp-lookup-properties and two other variables.
+
+       * lisp/progmodes/cc-defs.el (c-emacs-features): Change the nesting of
+       with-current-buffer and let so that the let bindings get used.
+
+2023-04-14  Yuan Fu  <casouri@gmail.com>
+
+       Fix tree-sitter test
+
+       * test/src/treesit-tests.el:
+       (treesit-search-forward-predicate-invalid-predicate): Fix test.
+
+2023-04-14  Yuan Fu  <casouri@gmail.com>
+
+       Fix previous commit on tree-sitter
+
+       * src/treesit.c:
+       (treesit_traverse_validate_predicate): Don't accept symbols.
+       (treesit_traverse_match_predicate): Don't accept symbols, and use
+       correct variable for the regexp and pred check.
+
+       * test/src/treesit-tests.el:
+       (treesit-search-forward-predicate): Fix the test.
+
+2023-04-14  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Fix and cleanup nnselect-push-info
+
+       * lisp/gnus/nnselect.el (nnselect-push-info): Don't update backend
+       marks when quit-config is not nil since gnus-update-marks has already
+       been called.  Move checking for unread articles outside the
+       gnus-atomic block so it may be interrupted.  Replace let* with let.
+       Cleanup code.
+
+2023-04-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-14  Po Lu  <luangruo@yahoo.com>
+
+       Fix bugs in treesit.o
+
+       * src/treesit.c (treesit_traverse_match_predicate): Remove
+       redundant cast.
+       (treesit_search_forward, treesit_traverse_cleanup_cursor)
+       (Ftreesit_search_subtree, Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree): Fix coding style and specpdl
+       unwinding.
+
+2023-04-14  Yuan Fu  <casouri@gmail.com>
+
+       Support more predicates in tree-sitter search functions
+
+       Right now we support regexp strings and predicate functions for the
+       PRED argument. This change adds support for (not ...) (or ...)
+       and (regexp . pred) predicates.
+
+       I still need to find a place to document the supported shapes of a
+       predicate.
+
+       * src/treesit.c (treesit_traverse_validate_predicate): New function.
+       (treesit_traverse_match_predicate): Support more predicate shapes.
+       (treesit_search_dfs):
+       (treesit_search_forward)
+       (treesit_build_sparse_tree): Fix docstring (unrelated to this change).
+       (Ftreesit_search_subtree)
+       (Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree): Use the new function to validate
+       predicate shape.
+       (syms_of_treesit): New error Qtreesit_invalid_predicate.
+
+       * test/src/treesit-tests.el:
+       (treesit--ert-search-setup): Add edebug declaration.
+       (treesit-search-forward-predicate)
+       (treesit-search-forward-predicate-invalid-predicate): New tests.
+
+2023-04-14  Yuan Fu  <casouri@gmail.com>
+
+       Catch signals produced by PRED in tree-sitter search functions
+
+       Earlier we switched to using cursors rather than nodes to traverse the
+       parse tree.  Because cursors need cleanup, we have to catch signals
+       thrown by the predicate functions and free the cursor. Failing to do
+       this will result in leaking the cursor whenever the predicate function
+       signals in a search function.
+
+       This change fixes the leak.
+
+       * src/treesit.c (treesit_traverse_cleanup_cursor): New function.
+       (Ftreesit_search_subtree)
+       (Ftreesit_search_forward)
+       (Ftreesit_induce_sparse_tree): Catch signals.
+
+2023-04-14  Yuan Fu  <casouri@gmail.com>
+
+       Fix tree-sitter tests
+
+       After 2ce27563ecc, treesit--navigate-things takes a TACTIC argument
+       instead of using treesit-defun-tactic, so the tests need to change
+       from binding treesit-defun-tactic to passing the tactic argument,
+       which is what this change does.
+
+       * test/src/treesit-tests.el:
+       (treesit--ert-insert-and-parse-marker): New argument TACTIC.
+       (treesit-defun-navigation-nested-1)
+       (treesit-defun-navigation-nested-2)
+       (treesit-defun-navigation-nested-3)
+       (treesit-defun-navigation-top-level): Pass TACTIC argument.
+
+2023-04-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Faster and less wrong cl-defsubst inlining
+
+       Always have inlining of functions defined by `cl-defsubst` let-bind
+       arguments instead of making incorrect guesses when it might be safe to
+       substitute them and then botching the substitution.
+
+       This change generally results in better and safer code for all
+       callers, in particular `cl-defstruct` constructors, accessors and
+       mutators.
+
+       * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Remove outdated comment.
+       (cl--defsubst-expand): Simplify: always let-bind.
+       (cl--sublis): Remove.
+       (cl-defstruct): Simplify: remove old hack that is no longer needed.
+
+2023-04-13  João Távora  <joaotavora@gmail.com>
+
+       Eldoc: don't overdisplay if using eldoc-documentation-compose
+
+       bug#62816
+
+       This is about a particular value for 'eldoc-documentation-strategy',
+       'eldoc-documentation-compose'.  Its helper
+       'eldoc--documentation-compose-1' was buggy.  It created the callback
+       for all the backends in 'eldoc-documentation-functions', but arranged
+       so that it could potentially be invoked immediately and trigger
+       display, half-defeating the purpose of the "patience" and causing
+       blinking in the echo area.
+
+       Now it creates all the callbacks beforehand and only then passes them
+       to the corresponding members of eldoc-documentation-functions.  This
+       sets up the correct state in eldoc--invoke-strategy.
+
+       * lisp/emacs-lisp/eldoc.el (eldoc--documentation-compose-1):
+       Delete.
+       (eldoc-documentation-compose)
+       (eldoc-documentation-compose-eagerly): Rework.
+
+2023-04-13  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix LSP "languageId" detection
+
+       This sweeping fix has been planned for a while, but a user recently
+       hit this bug as described in
+       https://github.com/joaotavora/eglot/discussions/1206.
+
+       More and more servers today are "multi-language", meaning can handle
+       more than one file type.  This relies on the ':languageId' string
+       being set to the correct value for every buffer managed by Eglot
+       (TextDocumentItem in LSP parlance).
+
+       Previously this string was calculated based on an imperfect heuristic
+       and was wrong quite often.  Many servers don't even care but some
+       others do, so we have to fix it.
+
+       * lisp/progmodes/eglot.el (eglot-lsp-server): Remove slots
+       'major-modes' and 'language-id'.  Add slot 'languages'.
+       (eglot--major-modes, eglot--language-ids): New helpers.
+       (eglot--lookup-mode): Simplify or maybe complicate.
+       (eglot--guess-contact): Use new eglot--looup-mode.  Change return
+       value.
+       (eglot): Rework docstring.
+       (eglot-reconnect): Use eglot--language-ids, not id.
+       (eglot--connect): Setup eglot--languages slot in server.
+       (eglot--TextDocumentItem): Finally, get correct language id.
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--guessing-contact):
+       Enhance macro.
+       (eglot-test-server-programs-guess-lang): Update test.
+
+2023-04-13  João Távora  <joaotavora@gmail.com>
+
+       Flymake: add new flymake-show-diagnostics-at-end-of-line option
+
+       Some editors have this.  Depending on your preference, this can either
+       be wildly distracting and easily confused with actual code, or a
+       significant early aid that relieves you from moving around or reaching
+       for the mouse to consult an error message.  To be safe, hide this
+       behind a customization variable and keep it disabled.
+
+       Personally, I find it less obstrusive and more helpful than expected.
+
+       * lisp/progmodes/flymake.el (flymake--delete-overlay): New helper.
+       (flymake--highlight-line): Handle 
flymake-show-diagnostics-at-end-of-line.
+       (flymake--clear-foreign-diags): Use flymake--delete-overlay.
+       (flymake--publish-diagnostics): Use flymake--delete-overlay.
+       (flymake-mode): Use flymake--delete-overlay.
+       (flymake-error-echo)
+       (flymake-warning-echo, flymake-note-echo): New faces.
+       (flymake-show-diagnostics-at-end-of-line): New option.
+       (Version): Bump to 1.3.4
+
+       * doc/misc/flymake.texi:
+       (Finding diagnostics): Mention flymake-show-diagnostics-at-end-of-line.
+       (Customizable variables): Mention
+       flymake-show-diagnostics-at-end-of-line and a few more relevant faces.
+
+       * etc/NEWS (Flymake): Mention flymake-show-diagnostics-at-end-of-line.
+
+2023-04-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Stronger checking in line-number-at-pos tests
+
+       * test/lisp/simple-tests.el (line-number-at-pos-keeps-restriction)
+       (line-number-at-pos-keeps-point): Check all return values.
+
+2023-04-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Stop pretending that specpdl overflow can ever occur
+
+       * src/eval.c (grow_specpdl_allocation): Remove impossible error.
+       * src/data.c (syms_of_data): Note obsolence of
+       `excessive-variable-binding`.
+
+2023-04-13  Mattias Engdegård  <mattiase@acm.org>
+
+       Update effect declarations for many built-in functions
+
+       * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
+       (side-effect-and-error-free-fns, pure-fns): Add many functions.
+       * lisp/subr.el (copy-tree): Declare error-free.
+
+2023-04-13  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Fonts): Update documentation.
+       * doc/lispref/frames.texi (Accessing Selections, X Selections):
+       Fix typos.
+       * src/sfntfont-android.c (system_font_directories)
+       (init_sfntfont_android): Add `/product/fonts'.
+
+2023-04-13  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (RE_SETUP_SYNTAX_TABLE_FOR_OBJECT): Simplify
+
+       It turns out all calls to this function pass the same value
+       for the `count` argument, and they're all in `regexp.c`.
+
+       * src/syntax.c (RE_SETUP_SYNTAX_TABLE_FOR_OBJECT):
+       Rename from `SETUP_SYNTAX_TABLE_FOR_OBJECT`.  Remove `count` argument.
+       Move call to `RE_SYNTAX_TABLE_BYTE_TO_CHAR` to where its result is
+       actually used.
+       * src/regex-emacs.c (re_search_2, re_match_2): Adjust accordingly.
+
+       * src/syntax.h (RE_SYNTAX_TABLE_BYTE_TO_CHAR): Rename from
+       `SYNTAX_TABLE_BYTE_TO_CHAR` to clarify that it takes a byteoffset as
+       used in the regexp engine and not a "bytepos".  Adjust all callers.
+
+2023-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (SETUP_SYNTAX_TABLE_FOR_OBJECT): Take a byteoffset
+
+       * src/syntax.c (SETUP_SYNTAX_TABLE_FOR_OBJECT): Take a byteoffset.
+       * src/regex-emacs.c (re_search_2, re_match_2): Simplify accordingly.
+
+2023-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       src/regex-emacs.c (POS_AS_IN_BUFFER): Delete macro
+
+       That macro added 1 to buffer positions because:
+
+           Strings are 0-indexed, buffers are 1-indexed
+
+       but the reality is that this 1 was added to the regexp engine's "byte
+       offsets" which are not 1-based byte positions as used throughout
+       the rest of Emacs, but they are BEGV_BYTE-relative offsets, so the two
+       did not cancel out.
+
+       * src/regex-emacs.c (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Delete macros;
+       use `POINTER_TO_OFFSET` instead.
+       (re_search_2, re_match_2, re_match_2_internal): Adjust accordingly.
+       * src/syntax.h (SYNTAX_TABLE_BYTE_TO_CHAR): Don't remove 1 from buffer
+       byteoffsets now that `POS_AS_IN_BUFFER` doesn't add it any more.
+
+2023-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (struct gl_state_s): Delete `offset` field
+
+       `gl_state` had an `offset` field because:
+
+           For buffers, regex-emacs.c passes arguments to the
+           UPDATE_SYNTAX_TABLE functions which are relative to BEGV
+
+       but the reality is that these arguments are byte offsets relative to
+       BEGV_BYTE whereas `offset` was counted in chars, so the two didn't
+       cancel each other out.
+
+       * src/syntax.h (struct gl_state_s): Delete `offset` field.
+       (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD)
+       (SYNTAX_TABLE_BYTE_TO_CHAR):
+       * src/syntax.c (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT)
+       (update_syntax_table, skip_syntaxes): Simplify accordingly.
+
+2023-04-12  João Távora  <joaotavora@gmail.com>
+
+       Flymake: futher enhance echo-area appearance of diagnostics
+
+       Also describe new 'echo-face' property in the Flymake manual, and fix
+       it's mistaken mention of a non-existing 'flymake-severity' property.
+
+       * doc/misc/flymake.texi:
+       (Flymake error types): Describe new properties and correct mention
+       of 'severity' property.
+
+       * lisp/progmodes/flymake.el:
+       (flymake-diagnostic-oneliner): Rework.
+       (flymake-error, flymake-warning, flymake-note): Add new 'echo-face' 
property.
+       (flymake--highlight-line)
+       (flymake-eldoc-function)
+       (flymake--tabulated-entries-1): Use flymake-diagnostic-oneliner
+       (Version): Bump to 1.3.3
+
+2023-04-12  Mattias Engdegård  <mattiase@acm.org>
+
+       `byte-code-function-p` is error-free
+
+       * lisp/emacs-lisp/byte-opt.el
+       (side-effect-free-fns, side-effect-and-error-free-fns):
+       Upgrade `byte-code-function-p` to error-free status.
+
+2023-04-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Better compilation of arguments to `ignore`
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form)
+       (byte-compile-ignore):
+       Instead of compiling each `ignore` argument for value which is then
+       immediately discarded, compile it for effect but suppress
+       ignore-return-value warnings by passing the special value
+       `for-effect-no-warn` as for-effect parameter.
+       Proposed by Stefan Monnier.
+
+2023-04-12  Yuan Fu  <casouri@gmail.com>
+
+       Prompt target dir in treesit-install-language-grammar (bug#62704)
+
+       * lisp/treesit.el (treesit--check-repo-url): New variable.
+       (treesit-install-language-grammar): Prompt for target directory.
+
+2023-04-12  Yuan Fu  <casouri@gmail.com>
+
+       Define sexp in c-ts-mode more broadly (bug#62302)
+
+       * lisp/progmodes/c-ts-mode.el: Define sexp in c/c++-ts-mode as
+       anything but delimiters.
+
+2023-04-12  Yuan Fu  <casouri@gmail.com>
+
+       Add 'restricted' tactic in tree-sitter navigation functions
+
+       * lisp/treesit.el (treesit-forward-sexp): Add docstring.  Use
+       'restricted' tactic.
+       (treesit-transpose-sexps): Fix docstring.
+       (treesit-beginning-of-thing)
+       (treesit-end-of-thing): Add support for TACTIC.
+       (treesit-beginning-of-defun)
+       (treesit-end-of-defun): Supply treesit-defun-tactic as TACTIC.
+       (treesit--navigate-thing): Add support for TACTIC.  Wrap the old form
+       in a new (if (eq tactic 'restricted) (new-code) (old-form)), and
+       supply the TACTIC parameter when recursing.
+
+2023-04-12  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Expunge immediately when moving articles from nnimap groups
+
+       * lisp/gnus/nnselect.el (nnselect-request-move-article): Set
+       nnimap-expunge to immediately.
+
+2023-04-12  Dmitry Gutov  <dgutov@yandex.ru>
+
+       ruby-ts-mode: Do not treat parenless calls' args as separate sexp
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts--sexp-p): New function.
+       (ruby-ts-mode): Use it in treesit-sexp-type-regexp (bug#62086).
+
+2023-04-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-11  João Távora  <joaotavora@gmail.com>
+
+       Flymake: take advantage of new Eldoc options
+
+       Only echo the first line of a potentially very large error message.
+
+       * lisp/progmodes/flymake.el:
+       (flymake-diagnostic-oneliner): New helper.
+       (flymake--tabulated-entries-1)
+       (flymake-eldoc-function): Use it.
+       (Version): Bump to 1.3.2.
+       (Package-Requires): Use Eldoc 1.14.0.
+
+2023-04-11  Mattias Engdegård  <mattiase@acm.org>
+
+       nndiary.el: fix dodgy schedule code
+
+       * lisp/gnus/nndiary.el (nndiary-last-occurrence):
+       Don't sort a list and throw away the result because that leaves the
+       list variable in an undefined state.  Just take the largest element
+       because that was obviously what the author meant.
+
+2023-04-11  Mattias Engdegård  <mattiase@acm.org>
+
+       allout.el: fix subtree expose numbering bug
+
+       * lisp/allout.el (allout-process-exposed): Reverse the list of indices
+       properly so that the correct numbering for nodes in a subtree is used.
+       Avoid destructive reversing; the list may be a constant (literal).
+       This flaw was revealed by an ignored-return-value warning.
+
+2023-04-11  Antero Mejr  <antero@mailbox.org>
+
+       eshell: Add 'rgrep' builtin
+
+       * lisp/eshell/em-unix.el (eshell/rgrep): New function.
+       (eshell-unix-initialize): Add "rgrep" to 'eshell-complex-commands'.
+
+       * etc/NEWS: Add NEWS entry for rgrep.
+
+       * doc/misc/eshell.texi (Built-ins): Add documentation for rgrep.
+
+2023-04-11  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       * lisp/gnus/nnselect.el (nnselect-push-info): Sort artlist
+
+2023-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (org-table-make-reference): Fix compiler warning
+
+       * lisp/org/org-table.el (org-table-make-reference): Don't use `eq` to
+       compare against literal strings.
+
+2023-04-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-11  Spencer Baugh  <sbaugh@janestreet.com>
+
+       Add support for prompting for projects by name
+
+       * lisp/progmodes/project.el (project-prompter):
+       New user option (bug#62759).
+       (project-prompt-project-name): New function.
+
+2023-04-10  Dmitry Gutov  <dgutov@yandex.ru>
+
+       html-ts-mode--indent-rules: Use 'column-0' instead of 'point-min'
+
+       * lisp/textmodes/html-ts-mode.el (html-ts-mode--indent-rules):
+       Use 'column-0' instead of 'point-min' (bug#62752).
+
+2023-04-10  F. Jason Park  <jp@neverwas.me>
+
+       Take better care when setting margins in erc-stamp
+
+       * lisp/erc/erc-stamp.el (erc-stamp--adjust-right-margin,
+       erc-stamp--display-margin-mode): Prefer setting
+       `fringes-outside-margins' to hiding right margin, and check whether
+       current buffer is showing before adjusting anything.  (Bug#60936.)
+
+2023-04-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't use `mapconcat` for effect
+
+       * lisp/progmodes/make-mode.el (makefile-browser-fill):
+       * lisp/url/url-mailto.el (url-mailto):
+       Use `mapc` instead of `mapconcat`.
+
+2023-04-10  Mattias Engdegård  <mattiase@acm.org>
+
+       ebnf2ps: eliminate double nreverse
+
+       * lisp/progmodes/ebnf-otz.el (ebnf-split-suffix): Simplify code that
+       relied on a rather inobvious in-place reversal of a list twice for
+       correctness, silencing a byte-compiler warning.
+
+2023-04-10  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Clarify process-environment in eglot-tests
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
+       Clarify commentary (bug#61637).  Use null-device and briefer syntax.
+
+2023-04-10  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       End default-directory with slash in eglot-tests
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
+       Separate prefix from random part of temporary file name.  Ensure
+       default-directory ends with a directory separator (bug#61637).
+
+2023-04-10  Mattias Engdegård  <mattiase@acm.org>
+
+       Update manual about `sort`
+
+       * doc/lispref/sequences.texi (Sequence Functions):
+       Remove inaccurate and over-specific claims about how `sort` works for
+       lists: there is no guarantee that it doesn't modify the `car` fields
+       of the input list (which is precisely what it does at this time).
+
+2023-04-10  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Tweak file/dir creation in eglot-tests
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--make-file-or-dir):
+       Expand file name only once, under default-directory, avoiding
+       duplicate dir separators.  Ensure default-directory ends with a dir
+       separator.  Use with-temp-file.  (Bug#61637)
+
+2023-04-10  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-10  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Simplify let-bindings in eglot-tests
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
+       Don't allow fixture elements to be symbol-value pairs (bug#61637).
+       This feature was used in only one test.  The same effect can be
+       achieved in a simpler way, and closer to the body, with plain
+       let-bindings.
+       (eglot--with-fixture): Adapt docstring accordingly.
+       (eglot-test-ensure): Adapt c-mode-hook binding accordingly.
+       (eglot--cleanup-after-test): Remove symbol restoring logic.
+
+2023-04-10  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Minor eglot-tests cosmetics
+
+       * test/lisp/progmodes/eglot-tests.el:
+       (eglot--eldoc-on-demand, eglot--tests-force-full-eldoc)
+       (eglot-test-multiline-eldoc, eglot-test-rust-on-type-formatting)
+       (eglot-test-path-to-uri-windows): Fix headings, commentary, and
+       indentation (bug#61637).
+
+2023-04-10  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Avoid Git project in eglot-test-eclipse-connect
+
+       * test/lisp/progmodes/eglot-tests.el (eglot-test-eclipse-connect):
+       Avoid creating a Git project, which subsequently confuses
+       project-files (bug#62741).
+
+2023-04-09  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Tweak ert-remote-temporary-file-directory in tests
+
+       * lisp/emacs-lisp/ert-x.el (ert-remote-temporary-file-directory):
+       Don't add trailing slash to HOME (bug#61637).  Reindent docstring.
+
+2023-04-09  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Pacify byte-compiler warnings in nadvice-tests
+
+       * test/lisp/emacs-lisp/nadvice-tests.el
+       (advice-test-called-interactively-p)
+       (advice-test-called-interactively-p-around)
+       (advice-test-called-interactively-p-filter-args)
+       (advice-test-call-interactively): Heed advertised-calling-convention
+       of called-interactively-p to pacify byte-compiler warnings.
+
+2023-04-09  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt Tramp test
+
+       * test/lisp/net/tramp-tests.el (tramp-test09-insert-file-contents):
+       Adapt test.
+
+2023-04-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Extend ignored-return-value warning to more functions (bug#61730)
+
+       Warn when the return value of certain functions is unused.  Previously
+       this was only done for side-effect-free functions, and for `mapcar`.
+
+       These are functions where the return value is important for correct
+       usage or where ignoring it is likely to indicate a mistake.  The exact
+       set of functions is tentative and will be modified as we gain a better
+       understanding of which ones to include.
+
+       The current set comprises higher order functions such as `mapcar`
+       which are not primarily called for the effects of their function
+       arguments, and list-mutating functions like `nreverse` whose return
+       value is essential.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Add list of
+       functions to warn about when their value is ignored.
+       * etc/NEWS: Announce.
+
+2023-04-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove unused values in effect context
+
+       * lisp/net/eudcb-mab.el (eudc-mab-query-internal):
+       * lisp/org/ob-core.el (org-babel-insert-result):
+       * lisp/progmodes/prolog.el (prolog-smie-forward-token)
+       (prolog-smie-backward-token):
+       Silence ignored-return-value warnings about calls to side-effect-free
+       functions in the last clause of `cond` statements whose values are
+       unused.
+
+2023-04-09  Mattias Engdegård  <mattiase@acm.org>
+
+       Adjust side-effect-free declarations
+
+       * lisp/emacs-lisp/byte-opt.el (side-effect-and-error-free-fns):
+       Add `eql` here.
+       * lisp/emacs-lisp/cl-macs.el (eql, cl-subst, cl-sublis):
+       Don't set the `side-effect-free` property here.
+       `cl-subst` and `cl-sublis` are not side-effect-free.
+       * lisp/emacs-lisp/cl-extra.el (cl-revappend):
+       Declare side-effect-free.
+       * lisp/emacs-lisp/cl-lib.el (cl-copy-list):
+       Declare side-effect-free and error-free.
+
+2023-04-09  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix scoping error in Tramp
+
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-insert-file-contents):
+       Move result out of unwindform.
+
+2023-04-09  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/cl-extra.el (cl-parse-integer): side-effect-free.
+
+2023-04-09  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Update gnus/nnselect marks only for current articles
+
+       * lisp/gnus/nnselect.el (nnselect-push-info): Restrict updating of
+       marked articles to those whose headers have been retrieved, taking
+       care to handle 'tuples.
+
+2023-04-09  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Compute gnus/nnselect read articles from summary variables
+
+       * lisp/gnus/nnselect.el (nnselect-push-info): The current list of read
+       articles should be computed from the summary buffer local variables,
+       not from the group info.
+
+2023-04-09  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Don't modify gnus group info when gnus-newsgroup-selection is nil
+
+       * lisp/gnus/nnselect.el (nnselect-push-info): Don't try to propagate
+       info to component groups if gnus-newsgroup-selection is nil.
+       * lisp/gnus/nnselect.el (nnselect-request-update-info): Don't update
+       the nnselect group info if gnus-newsgroup-selection is nil.
+
+2023-04-09  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Keep the gnus active range current while getting articles
+
+       * lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group):
+       * lisp/gnus/gnus-group.el (gnus-get-unread-articles-in-group): Update
+       the current value of the active range since it might have changed.
+
+2023-04-09  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       * lisp/gnus/nnselect.el (nnselect-request-article): Check car of thread
+
+2023-04-09  Spencer Baugh  <sbaugh@janestreet.com>
+
+       project.el: Use project-name to calculate prefixed buffer name
+
+       * lisp/progmodes/project.el (project-prefixed-buffer-name):
+       Use project-name to calculate prefixed buffer name (bug#62548).
+       (project-compilation-buffer-name-function): Update doc.
+
+2023-04-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-09  João Távora  <joaotavora@gmail.com>
+
+       Eglot: more work on eglot--sig-info (bug#62687)
+
+       Simplify function and now also consider individual parameter
+       documentation strings, which typescript-language-server seems to
+       provide.
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Rework.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       * etc/ERC-NEWS: Add section for ERC 5.6.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Allow erc-reuse-frames to favor connections
+
+       * lisp/erc/erc.el (erc-reuse-frames): Add alternate value to favor
+       existing frames already displaying buffers from the same connection.
+       (erc--setup-buffer-first-window, erc--display-buffer-use-some-frame):
+       Add helpers to support 'display' variant of `erc-resuse-frames'
+       * test/lisp/erc/erc-tests.el (erc-tests--run-in-term,
+       erc-tests--servars, erc-reuse-frames, erc-tests--erc-reuse-frames,
+       erc-tests--erc-reuse-frames--t, erc-resuse-frames--t,
+       erc-tests--erc-reuse-frames--displayed-single,
+       erc-reuse-frames--displayed-single, erc-tests--assert-server-split,
+       erc-tests--erc-reuse-frames--displayed-double,
+       erc-reuse-frames--displayed-double,
+       erc-tests--erc-reuse-frames--displayed-full,
+       erc-reuse-frames--displayed-full): Add test case and supporting
+       fixtures.  (Bug#55540.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Make auth-source erc-services tests more readable
+
+       * lisp/erc/erc-common.el: (erc-with-server-buffer): Modify slightly to
+       use `buffer-local-value' when possible.
+       * test/lisp/erc/erc-services-tests.el
+       (erc-services-tests--auth-source-plstore-standard-entries,
+       erc-services-tests--auth-source-plstore-standard-secrets): Remove
+       unused variables.
+       (erc-services-tests--auth-source-plstore-standard-announced): Add new
+       var to hold common plstore document.
+       (erc--auth-source-search--plstore-standard,
+       erc--auth-source-search--plstore-announced,
+       erc--auth-source-search--plstore-overrides): Use string literals for
+       text-document content.
+       (erc-services-tests--auth-source-json-standard-entries): Remove unused
+       variable.
+       (erc-services-tests--auth-source-json-standard-announced): Add new
+       variable.
+       (erc--auth-source-search--json-standard,
+       erc--auth-source-search--json-announced,
+       erc--auth-source-search--json-overrides): Use string literals for
+       text-document content.
+       (erc-services-tests--secrets-search-items): Add new helper function.
+       (erc--auth-source-search--secrets-standard,
+       erc--auth-source-search--secrets-announced,
+       erc--auth-source-search--secrets-overrides): Use helper to mock
+       `secrets-search-items' instead of misleading lambda.
+       * lisp/erc/erc-tests.el (erc-with-server-buffer): Add test.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add erc-button helper for substituting command keys
+
+       * lisp/erc/erc-button.el (erc-button-mode, erc-button-enable): Warn if
+       `erc-button-alist' contains deprecated FORM field in `nicknames'
+       entry.
+       (erc-button-alist): Discourage arbitrary sexp form for third item of
+       entries and offer more useful bounds-modifying function in its place.
+       Mention that anything other than `erc-button-buttonize-nicks' is
+       deprecated as the FORM field in a `nicknames' entry.  Bump
+       package-version even though this doesn't introduce a visible change in
+       the default value.
+       (erc-button--maybe-warn-arbitrary-sexp): Add helper for validating
+       third `erc-button-alist' field.
+       (erc-button--check-nicknames-entry): Add helper to check for
+       deprecated items in `erc-button-alist'.
+       (erc-button--preserve-bounds): Add function to serve as default value
+       for `erc-button--modify-nick-function).
+       (erc-button--modify-nick-function): Add new variable to hold a
+       function that filters nickname bounds when buttonizing.
+       (erc-button--phantom-users, erc-button--add-phantom-speaker,
+       erc-button--phantom-users-mode): Add new internal minor mode for
+       treating unseen speakers of PRIVMSGs as known members of the server
+       for things like coloring nicks during buffer playback.
+       (erc-button--get-user-from-speaker-naive): Add temporary utility
+       function to scrape nick from speaker in narrowed buffer.  This will be
+       replaced by an account-aware version in next major ERC release.
+       (erc-button-add-nickname-buttons): Accommodate function variant for
+       "form" field of `erc-button-alist' entries.  Minor optimizations.
+       This function will likely become the primary juncture for applying
+       text properties that support nickname-related user-intelligence
+       features.
+       (erc-button-add-buttons-1): Show warning when arbitrary sexp for third
+       "form" field encountered.  Accommodate binary function instead.
+       (erc-button--substitute-command-keys-in-region): Add helper function
+       for applying key substitutions in ERC warning messages.
+       (erc-button--display-error-notice-with-keys): Add new helper function
+       for displaying ad hoc warnings that possibly require key substitution.
+       (erc-button--display-error-notice-with-keys-and-warn): Add variant of
+       `erc-button--display-error-notice-with-keys' that also emits warnings.
+       * lisp/erc/erc-networks.el (erc-networks--ensure-announced,
+       erc-networks--on-MOTD-end): Use new key-substitutions helper from
+       erc-button.
+       * test/lisp/erc/erc-tests.el
+       (erc-button--display-error-notice-with-keys): New test.
+       * test/lisp/erc/resources/base/assoc/bouncer-history/foonet.eld: Add
+       unknown speaker in channel for phantom store to handle.  Currently
+       requires manual intervention to leverage.  (Bug#60933.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Replace Info-goto-node with info in erc-button-alist
+
+       * lisp/erc/erc-button.el (erc-button-alist): Replace `Info-goto-node'
+       with plain `info', which is autoloaded.  Expand regexp to recognize
+       inline `info' function calls.
+       * lisp/erc/erc-networks.el (erc-networks--set-name,
+       erc-networks--warn-on-connect): Don't require `info'.  (Bug#60933.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add erc-fill style based on visual-line-mode
+
+       * lisp/erc/erc-fill.el (erc-fill-function): Add new value
+       `erc-fill-wrap'.
+       (erc-fill-static-center): Extend meaning of option to also affect
+       `erc-wrap-mode'.
+       (erc-fill--wrap-value, erc-fill--wrap-visual-keys): New variables to
+       support new local module.
+       (erc-fill-wrap-visual-keys): New option to control how and where
+       `visual-line-mode' keys are active.
+       (erc-fill-wrap-merge): Add option for omitting a speaker's name if
+       they just now spoke.  Enabled by default.
+       (erc-fill--wrap-move): New helper function for fill-wrap movement
+       commands.
+       (erc-fill--wrap-kill-line, erc-fill--wrap-beginning-of-line,
+       erc-fill--wrap-end-of-line): New movement commands.
+       (erc-fill-wrap-cycle-visual-movement): New command to cycle local
+       copy of `erc-fill-wrap-visual-keys'.
+       (erc-fill-wrap-mode-map): New keymap based on `visual-line-mode-map'.
+       (erc-fill--make-module-dependency-msg): Helper for
+       `erc-fill-wrap-enable'.
+       (erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable): New
+       local module.
+       (erc-fill--wrap-length-function): Internal interface in the form of a
+       function variable for other modules to control the fill-wrap overhang.
+       (erc-fill--wrap-last-msg, erc-fill--wrap-max-lull,
+       erc-fill--wrap-continued-message-p): Add items to support hiding of
+       redundant speaker names in consecutive messages.
+       (erc-fill--wrap-stamp-insert-prefixed-date): New function to add
+       `line-prefix' property to inserted date stamp.
+       (erc-fill-wrap): New function implementing the
+       `erc-fill-function' (behavioral) interface.
+       (erc-fill--wrap-fix): New, possibly temporary function for other
+       modules to fix misalignment caused by fill-wrap.
+       (erc-fill-wrap-nudge, erc-fill--wrap-nudge): New command and helper
+       for growing and shrinking visual fill prefix.
+       * test/lisp/erc/erc-fill-tests.el: New file.  (Bug#60936.)
+       * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: New file.
+       * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: New file.
+       * test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: New 
file.
+       * test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: New 
file.
+       * test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: New 
file.
+       * test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: New 
file.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add variant for erc-match invisibility spec
+
+       * lisp/erc/erc-match.el (erc-match-mode, erc-match-enable,
+       erc-match-disable): Arrange for possibly adding or removing
+       `erc-match' from `buffer-invisibility-spec'.
+       (erc-match--hide-fools-offset-bounds): Add new variable to serve as
+       switch for activating invisibility on a modified interval that's
+       offset toward `point-min' by one character.
+       (erc-hide-fools): Optionally offset start and end of invisible region
+       by minus one.
+       (erc-match--modify-invisibility-spec): New housekeeping function to
+       set up and tear down offset spec.  (Bug#60936.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Convert erc-fill minor mode into a proper module
+
+       * lisp/erc/erc-fill.el (erc-fill-mode, erc-fill-enable,
+       erc-fill-disable): Use API to create these.
+       (erc-fill-static): Save restriction instead of caller's match
+       data.  (Bug#60936.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Put display properties to better use in erc-stamp
+
+       * lisp/erc/erc-log.el (erc-log-filter-function): Add new value
+       `erc-stamp-prefix-log-filter'.
+       * lisp/erc/erc-stamp.el (erc-timestamp-use-align-to): Enhance meaning
+       of option to accept numeric value for dynamically aligned right-hand
+       stamps.  Use `graphic-display-p' to determine default value even
+       though, as stated in the manual, terminal Emacs also supports the
+       "space" display spec.
+       (erc-stamp-right-margin-width): New option to determine width of right
+       margin when `erc-stamp--display-margin-mode' is active or
+       `erc-timestamp-use-align-to' is set to `margin'.
+       (erc-stamp--display-margin-force): Add new helper function for
+       `erc-stamp--display-margin-mode'.
+       (erc-stamp--adjust-right-margin): New function to adjust width of
+       right margin.
+       (erc-stamp-prefix-log-filter): New value for `erc-log-filter-function'
+       compatible with modules that activate
+       `erc-stamp--display-margin-mode'.
+       (erc-stamp--display-margin-mode): Add internal minor mode to help
+       other modules quickly ensure left-right, display-prop-oriented stamps
+       are showing correctly.  Does not support left-hand-only stamps.
+       (erc-insert-aligned): Deprecate function and remove from primary
+       client code path.
+       (erc-stamp--inherited-props): Add internal constant to hold properties
+       that should be inherited from any stamp-bearing message being
+       inserted.
+       (erc-insert-timestamp-right): Account for new display-related values
+       of `erc-timestamp-use-align-to'.
+       * test/lisp/erc/erc-stamp-tests.el (erc-timestamp-use-align-to--nil,
+       erc-timestamp-use-align-to--t): Adjust spacing for new default
+       right-hand stamp, `erc-format-timestamp', which lacks a leading space.
+       (erc-timestamp-use-align-to--integer,
+       erc-timestamp-use-align-to--margin): New tests.  (Bug#60936.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Make some erc-stamp functions more limber
+
+       * lisp/erc/erc-stamp.el (erc-timestamp-format-right): Deprecate option
+       and change meaning of its nil value to fall through to
+       `erc-timestamp-format'.  Do this to allow modules to predict what the
+       right-hand stamp's final width will be.  This also saves
+       `erc-insert-timestamp-left-and-right' from calling
+       `erc-format-timestamp' again for every inserted message.
+       (erc-stamp-mode, erc-stamp-enable, erc-stamp-disable): Add
+       `erc-stamp--recover-on-reconnect' to `erc-mode-hook'.
+       (erc-stamp--recover-on-reconnect): Add function to reuse last values
+       of `erc-timestamp-last-inserted' and friends to avoid reprinting
+       stamps when reconnecting.
+       (erc-stamp--current-time): Add new generic function and method to
+       return current time.  Default to calling `erc-current-time'.  Also add
+       new internal variable of the same name to hold time value used to
+       construct formatted stamps passed to `erc-insert-timestamp-function'.
+       (erc-add-timestamp): Bind `erc-stamp--current-time' when calling
+       `erc-insert-timestamp-function'.
+       (erc-stamp--insert-date-function): New variable for modules to tweak
+       date-insertion.
+       (erc-insert-timestamp-left-and-right): Use STRING parameter and favor
+       it over the now deprecated `erc-timestamp-format-right' to avoid
+       formatting twice.  Also extract current time from the variable
+       `erc-stamp--current-time' for similar reasons.  And defer to
+       `erc-stamp--insert-date-function' to insert left stamp.  (Bug#60936.)
+       (erc-stamp--tz): New internal variable.
+       (erc-format-timestamp): Pass `erc-stamp--tz' as time-zone to
+       `format-time-string'.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Expose insertion time as text prop in erc-stamp
+
+       * lisp/erc/erc-stamp.el (erc-add-timestamp): Add new text property
+       `erc-timestamp' to store lisp time object formerly ensconced in a
+       closure.  Instead of creating a new lambda for the cursor-sensor
+       function of each message in a buffer, leave a gap between messages to
+       trip the sensor function.  The motivation behind this change is to
+       allow third parties access to valuable timestamp data already stored
+       by ERC anyway.  Of secondary importance is discouraging the reliance
+       on those lambdas as a means of detecting message bounds.  The gap now
+       serves a similar purpose.  Basically, the final character in a
+       message, a newline, will not have a timestamp or a sensor function.
+       In the rare instance the stamps module isn't loaded, the new
+       `erc-command' property can be used for this purpose instead.  Also,
+       instead of looking for the `invisible' text property at point, which
+       is normally `point-max' and thus outside the accessible portion of the
+       buffer, look at the beginning of the inserted message.  This allows
+       hook members running before this function to opt out of timestamps by
+       marking a message as invisible.
+       (erc-echo-timestamp): Make interactive and show timestamps even when
+       the variable `erc-echo-timestamps' is nil.
+       (erc--echo-ts-csf): Add new function to serve as value of
+       cursor-sensor function text properties.
+       * test/lisp/erc/erc-stamp-tests.el: New file.  (Bug#60936.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Adjust some old text properties in ERC buffers
+
+       * lisp/erc/erc.el (erc-display-message): Replace `rear-sticky' text
+       property, which has been around since 2002, with a more useful
+       `erc-command' property.  It records the current IRC command as a
+       symbol or a number, in the case of numerics.
+       (erc--own-property-names, erc--remove-text-properties) Add variable
+       and internal helper function for filtering values returned by
+       `filter-buffer-substring-function'.
+       (erc-display-prompt): Make the `field' text property more meaningful
+       to aid in searching, although this makes the `erc-prompt' property
+       somewhat redundant.
+       (erc-put-text-property, erc-list): Alias these to subr functions.
+       (erc-restore-text-properties): Don't forget tags when restoring.
+       (erc--get-eq-comparable-cmd): New function to extract commands for use
+       as more easily searchable text-property values.  (Bug#60936.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Refactor marker initialization in erc-open
+
+       * lisp/erc/erc.el (erc--initialize-markers): New helper to ensure
+       prompt and its associated markers are set up correctly.
+       (erc-open): When determining whether a session is a logical
+       continuation, leverage the work already performed by the
+       `erc-networks' library to that effect.  Its verdicts are based on
+       network context and thus reliable even when a user dials anew from an
+       entry-point, which is not a simple reconnection because the user
+       expects a clean slate for everything except an existing buffer's
+       messages, meaning `erc--server-reconnecting' will be nil and
+       local-module state variables need resetting.  Also remove the check
+       for `erc-reuse-buffers' and instead trust that `erc-get-buffer-create'
+       always does the right thing.  Replace all code involving marker and
+       prompt setup by deferring to a new helper, `erc--initialize markers'.
+       * test/lisp/erc/erc-scenarios-base-local-module-modes.el: New file.
+       * test/lisp/erc/erc-scenarios-base-local-modules.el
+       (erc-scenarios-base-local-modules--mode-persistence): Move test to
+       separate file to help with parallel "-j" runs.
+       * test/lisp/erc/erc-tests.el (erc-tests--send-prep): Replace
+       redundant prompt-setup code.
+       (erc--initialize-markers): New test.  (Bug#60936.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Preserve ERC prompt and its bounding markers
+
+       * lisp/erc/erc.el (erc--assert-input-bounds): Add possibly temporary
+       helper function to sync `process-mark' to `erc-insert-marker' in
+       server buffer.
+       (erc-display-line-1): Expect `erc-insert-marker' to always be
+       initialized.  Assert some essential invariants regarding insert
+       markers.
+       (erc-send-current-line): Delete typed input but not the prompt.
+       (erc-display-msg): Rework slightly to respect existing markers.
+       * test/lisp/erc/erc-dcc-tests.el
+       (erc-dcc-tests--dcc-handle-ctcp-send): Set insert marker.
+       * test/lisp/erc/erc-networks-tests.el
+       (erc-networks--rename-server-buffer--existing-live): Initialize
+       markers to appease `erc--assert-input-bounds'.
+       * test/lisp/erc/erc-tests.el (erc-ring-previous-command): Fix sloppy
+       mock.  (Bug#60936.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add option to show visual erc-keep-place indicator
+
+       * lisp/erc/erc-goodies.el (erc-keep-place-indicator-style,
+       erc-keep-place-indicator-buffer-type,
+       erc-keep-place-indicator-follow): New options for anchoring kept place
+       visually.
+       (erc-keep-place-indicator-line, erc-keep-place-indicator-arrow): New
+       faces.
+       (erc--keep-place-indicator-overlay): New internal variable.
+       (erc--keep-place-indicator-on-window-configuration-change): New
+       function to subscribe to `window-configuration-change-hook' and maybe
+       update kept-place indicator.
+       (erc--keep-place-indicator-setup): New function to initialize buffer
+       for local module `keep-place-indicator'.
+       (erc-keep-place-indicator-mode, erc-keep-place-indicator-enable,
+       erc-keep-place-indicator-disable): New local ERC module.  Depends on
+       "parent" module `keep-place'.  Like `fill-wrap', this is (for now)
+       also deliberately left out of the widget menu for `erc-modules'.
+       (erc-keep-place-move, erc-keep-place-goto): Add new commands for
+       manually updating and jumping to keep-place indicator.
+       (erc-keep-place): Move `erc--keep-place-overlay' when applicable.
+       * test/lisp/erc/erc-goodies-tests.el (erc-keep-place-indicator-mode):
+       Add test.
+       (Bug#59943.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Optionally prompt for more ERC entry-point params
+
+       * doc/misc/erc.texi: Update statement about availability of `:user'
+       keyword param when entry points called interactively.
+       * lisp/erc/erc-compat.el: Don't require `url-parse' when compiling.
+       Add forward declaration for `url-type'.
+       * lisp/erc/erc.el: Don't require `url-parse' when compiling.  Add
+       forward declarations for accessors of `url' struct from `url-parse'
+       library.
+       (erc-select-read-args): Allow optionally calling entry points with a
+       prefix arg to access params `user' and `:full-name'.
+       (erc-tls): Update doc string.
+       * test/lisp/erc/erc-tests.el (erc-select-read-args): Add test for
+       extra args.  (Bug#60428.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add display option for interactive ERC invocations
+
+       * lisp/erc/erc.el (erc-buffer-display, erc-receive-query-display):
+       Add aliases for `erc-join-buffer' and `erc-auto-query'.
+       (erc-interactive-display): Add new option to control display of server
+       buffers during interactive entry-point invocations.
+       (erc-select-read-args): Pass `erc-interactive-display' to entry
+       points.
+       * test/lisp/erc/erc-tests.el (erc-select-read-args): Expect
+       buffer-display values from `erc-interactive-display'.
+       (erc-tls, erc--interactive): Also check `erc-join-buffer' in
+       environment when `erc-open' called.  (Bug#60428.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Be smarter about switching to TLS from M-x erc
+
+       * lisp/erc/erc.el (erc--warn-unencrypted): Remove unused internal
+       function.
+       (erc-select-read-args): Offer to use TLS when user runs M-x erc and
+       opts for default server and port or provides the well-known IANA TLS
+       port or enters an ircs:// URL at the server prompt.  For the last two,
+       do this immediately instead of calling `erc-tls' interactively and
+       imposing a review of just-chosen values.  Also remove error warnings
+       and ensure `erc-tls' still works by setting
+       `erc-server-connect-function' to `erc-open-tls-stream' when
+       appropriate.  Include the word "URL" in server prompt.
+       (erc--with-entrypoint-environment): Add new macro for empowering an
+       entry point's interactive form to bind special variables in their
+       command's body without shadowing them in the lambda list.
+       (erc, erc-tls): Add internal keyword argument for interactive use, but
+       don't make it `keywordp' or advertise its presence.  Also use new
+       helper macro, `erc--with-entrypoint-environment', to temporarily bind
+       special vars given by interactive helper `erc-select-read-args'.
+       * test/lisp/erc/erc-tests.el (erc--with-entrypoint-environment): Add
+       new test.
+       (erc-select-read-args): Modify return values to expect additional
+       internal keyword argument where appropriate.
+       (erc-tls): Make assertions about environment.
+       (erc--interactive): New test.  (Bug#60428.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Ignore killed buffers when switching in erc-track
+
+       * lisp/erc/erc-track.el (erc-track--switch-buffer): If the chosen
+       buffer has been killed, remove it from `erc-modified-channels-alist'
+       and try again.
+       * test/lisp/erc/erc-scenarios-misc.el
+       (erc-scenarios-base-kill-server-track): New test.  (Bug#60560.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Fill doc strings for ERC modules
+
+       * lisp/erc/erc-common.el (erc--fill-module-docstring): Add helper to
+       fill doc strings.
+       (erc--assemble-toggle, define-erc-module): Use helper to fill doc
+       string.
+       * test/lisp/erc/erc-tests.el (define-minor-mode--global,
+       define-minor-mode--local): Adjust expected output for generated doc
+       strings.  (Bug#60935.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Warn when customizing minor-mode vars for ERC modules
+
+       * lisp/erc/erc-common.el: (erc--inside-mode-toggle-p): Add global var
+       to inhibit mode toggles from being run by `erc-update-modules'.  It
+       must be non-nil inside custom-set functions for mode toggles created
+       by `define-erc-module'.
+       (erc--favor-changed-reverted-modules-state): Add new helper to show a
+       "SET" Custom state for `erc-modules' except when reverting to the
+       default value because \"STANDARD\" always takes precedence, as
+       explained somewhat in bug#12864.
+       (erc--assemble-toggle): Don't modify `erc-modules' when run from
+       custom-set function.
+       (erc--neuter-custom-variable-state): Add new function to serve as a
+       phony getter that deceives Customize into thinking the variable is
+       always set to its standard value.  The justification for this is that
+       toggling a module's minor mode in Customize has never worked and has
+       only sewn confusion in new users.  Without this hack, mode widgets
+       show a state of "CHANGED outside Customize", which alone is probably
+       preferable, except that they all end up toggled open, bringing them
+       unwanted attention and distracting the user.
+       (erc--tick-module-checkbox): Add helper to toggle the appropriate
+       checkbox in the `erc-modules' widget when a user interactively toggles
+       a minor-mode state variable.
+       (erc--prepare-custom-module-type): Create spec for minor-mode Custom
+       `:type', deferring various aspects until module-definition time.
+       (define-erc-module): Add `:get' and `:type' keywords to be passed to
+       `defcustom' definition for global modules.
+       * lisp/erc/erc.el (erc-modules): Inhibit `erc-update-modules' when run
+       from a minor-mode toggle's custom-set function.
+       * test/lisp/erc/erc-tests.el (define-erc-module--global,
+       define-erc-module--local): Update `erc-modules' mutations with
+       `erc--inside-mode-toggle-p' guard conditions.  (Bug#60935.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Don't associate ERC modules with undefined groups
+
+       * lisp/erc/erc-capab.el: Add property crutch to help ERC find module's
+       Custom group.
+       * lisp/erc/erc-common.el (erc--find-group): Add new function, a helper
+       for finding an existing ERC module's Custom group based on
+       `define-erc-module' params.  Prefer `group-documentation' as a
+       sentinel over symbol properties owned by Customize because they might
+       not be present if the group isn't yet associated with any custom
+       variables.
+       (define-erc-module): Set `:group' keyword value more accurately,
+       falling back to `erc' when no associated group has been defined.
+       * test/lisp/erc/erc-tests.el (erc--find-group, erc--find-group--real):
+       New tests.
+       (define-erc-module--global, define-erc-module--local): Expect the
+       `:group' keyword to be the unevaluated `erc--find-group'
+       form.  (Bug#60935.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Convert ERC's Imenu integration into proper module
+
+       * lisp/erc/erc-goodies.el: Don't add Imenu hooks to `erc-mode-hook' at
+       top level.  Remove autoload for `erc-create-imenu-index' because it
+       already exists in the `erc-imenu' library.
+       (erc-imenu-setup): Move to the erc-imenu library.
+       * lisp/erc/erc-imenu.el (erc-unfill-notice): Allow modifications to
+       read-only text.  Thanks to Yusef Aslam for reporting this bug.
+       (erc-imenu-setup): Move here from goodies.
+       (erc-imenu--create-index-function): New helper var to hold previous
+       local value of `imenu-create-index-function'.  Perhaps advice should
+       be used instead, but a cursory search of the Emacs code base reveals
+       no such usage.
+       (erc-imenu-mode, erc-imenu-enable, erc-imenu-disable): Create "new"
+       ERC module for Imenu integration.
+       * lisp/erc/erc.el (erc-modules): Add `imenu' to default value and
+       create widget menu item.  Update package-version.
+       * test/lisp/erc/erc-tests.el (erc-tests--modules): Add
+       `imenu'.  (Bug#60954)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add missing colors to erc-irccontrols-mode
+
+       * lisp/erc/erc-goodies.el (erc-spoiler-face): Add new face.
+       (erc--controls-additional-colors): Add remaining 16-99 colors.
+       (erc-get-bg-color-face, erc-get-fg-color-face): Look up extended
+       colors in table.
+       (erc-controls-remove-regexp, erc-controls-highlight-regexp): Convert
+       to `rx' forms and move above first use to eliminate intra-file forward
+       declarations.
+       (erc-controls-propertize): Support spoilers.
+       * test/lisp/erc/erc-goodies-tests.el: New file.  (Bug#60954.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Modify erc-mode-map in module definitions
+
+       * lisp/erc/erc-button.el (erc-button-mode, erc-button-enable,
+       erc-button-disable): Replace call to `erc-button-setup' with one to
+       `erc--modify-local-map'.  This means `erc-button-setup' is now dead
+       code from a client perspective.
+       * lisp/erc/erc-goodies.el (erc-irccontrols-enable,
+       erc-irccontrols-disable, erc-irccontrols-mode): Bind
+       `erc-toggle-interpret-controls' in module definition so it's only
+       available when the module is active.
+       * lisp/erc/erc-log.el (erc-log-mode, erc-log-enable, erc-log-disable):
+       Move top-level `define-key' into module definition.
+       * lisp/erc/erc-match.el (erc-match-mode, erc-match-enable,
+       erc-match-disable): Move top-level `define-key' into module
+       definition.
+       * lisp/erc/erc.el (erc-mode-map): Remove C-c C-c binding for
+       `erc-toggle-interpret-controls'.
+       (erc--modify-local-map): Add helper for global modules to use when
+       modifying `erc-mode-map'.
+       * test/lisp/erc/erc-tests.el (erc--modify-local-map): Add test.
+       Ensure modifications to `erc-mode-map' on loading `erc' and via
+       `erc-mode-hook' still work.  (Bug#60954.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Don't require erc-goodies in erc.el
+
+       * lisp/erc/erc-goodies.el: Obviate the need for forward declarations
+       by requiring `erc'.  Add minor-mode autoloads for `scrolltobottom',
+       `readonly', `move-to-prompt', `keep-place', `noncommands',
+       `irccontrols', `smiley', and `unmorse'.  Add Local variables footer
+       with `generated-autoload-file'.
+       (erc-controls-strip): Autoload this function.
+       * lisp/erc/erc-ibuffer.el: Require `erc-goodies' for
+       `erc-control-interpret'.  The justification for the blanket `require'
+       is this module isn't a member of `erc-modules' by default.
+       * lisp/erc/erc-page.el: (erc-ctcp-query-PAGE): Require `erc-goodies'
+       and put forward declaration for `erc-control-interpret' atop file.
+       * lisp/erc/erc-speedbar.el: Require `erc-goodies' for the same reason
+       as erc-ibuffer.el.
+       * lisp/erc/erc.el: Remove `require' for `erc-goodies' at end of file
+       and `pp' at top of file because `pp-to-string' is autoloaded on Emacs
+       27.  Also remove `require's for `thingatpt', `time-date', and
+       `iso8601'.  They're all used sparingly and the latter two have only
+       been around for one major release, so their removal likely won't cause
+       much churn.  And `thingatpt' already has a call-site `require', so the
+       top-level one is redundant, but autoload `word-at-point' anyway for
+       the benefit of third-party libraries like `hl-nicks'.  Also wrap local
+       loaddefs `require' call in `eval-and-compile'.
+       (erc--read-time-period): Require dependencies.  (Bug#60954.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Leverage loaddefs for migrating ERC modules
+
+       * lisp/erc/erc-common.el (erc--features-to-modules,
+       erc--modules-to-features, erc--module-name-migrations): Remove unused
+       internal functions.
+       (erc--normalize-module-symbol): Make aware of new migration scheme
+       based on symbol properties.
+       * lisp/erc/erc-page.el: Add autoload cookie for module migration.
+       * lisp/erc/erc-pcomplete.el: Add autoload cookies for module
+       migration.
+       * lisp/erc/erc-services.el: Add autoload cookie for module migration.
+       * lisp/erc/erc-sound.el: Add autoload cookie for module migration.
+       * lisp/erc/erc-stamp.el: Add autoload cookie for module migration.
+       * lisp/erc/erc.el (erc-modules): Reorder default value, sorted by
+       `string<' so that Customize does not consider the value to have been
+       edited.  Remove non-existent module `hecomplete' from lineup and swap
+       a couple more to maintain sorted order.  Change `:initialize' function
+       to tag all symbols for built-in modules with an `erc--module'
+       property.  In the `:set' function, ensure third-party modules appear
+       after the sorted and normalized built-ins, but in user-defined order.
+       Do this to prevent all modules, built-ins included, from ending up as
+       populated form fields for the "other" checkbox in the Customize
+       interface.
+       (erc--find-mode): Add helper function for `erc--update-modules'.
+       (erc--update-modules): Always resolve module names and only
+       conditionally attempt to require corresponding features.
+       * test/lisp/erc/erc-tests.el (erc-tests--modules): Add manifest for
+       asserting built-in modules and features.  This is easier to verify
+       visually than looking at the custom-type set for `erc-modules'.
+       (erc-modules--initialize): New test.
+       (erc-modules--internal-property): Add test.
+       (erc--normalize-module-symbol): New test.
+       (erc--find-mode): New test.
+       (erc--update-modules) Adapt to new paradigm and make more
+       comprehensive.  (Bug#60954.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Copy over upstream Compat macros to erc-compat
+
+       * lisp/erc/erc-backend.el: (erc--get-isupport-entry): Replace call
+       to `erc-compat--with-memoization' with the built-in
+       `with-memoization'.
+       * lisp/erc/erc-compat.el: (erc-compat-function, erc-compat-call): Add
+       new macros from Compat 29.1.2.0.
+       (erc-compat--with-memoization): Remove because it's now provided by
+       Compat.  (Bug#60954.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Honor arbitrary CHANTYPES in ERC
+
+       * lisp/erc/erc.el (erc-channel-p): Favor "CHANTYPES" ISUPPORT item
+       before falling back to well known prefixes.
+       * test/lisp/erc/erc-tests.el (erc-channel-p): Add test.  Arbitrarily
+       bundled with bug#60954.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add hook to regain nickname in ERC
+
+       * lisp/erc/erc-backend.el (erc-server-reconnect-timeout): Mention
+       `erc-nickname-in-use-functions' in doc string.
+       * lisp/erc/erc.el (erc-nickname-in-use-functions,
+       erc-regain-nick-on-connect): Add abnormal hook and possible value to
+       handle stale connections preventing a desired nick from being reissued
+       by the server.  Follows directly from bug#62044.
+       (erc-nickname-in-use): Call `erc-nickname-in-use-functions'.
+       * test/lisp/erc/erc-scenarios-base-renick.el
+       (erc-scenarios-base-renick-auto-regain): New test.
+       * test/lisp/erc/resources/base/renick/regain/normal-again.eld: New file.
+       * test/lisp/erc/resources/base/renick/regain/normal.eld: New file.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add probing erc-server-reconnect-function variant
+
+       * lisp/erc/erc-backend.el (erc-server-reconnect-timeout): Replace
+       questionable claim with recommendation for alternate value when
+       experiencing nick rejections.
+       (erc-server-reconnect-function): Add new, somewhat experimental value
+       `erc-server-delayed-check-reconnect'.
+       (erc--server-connect-function): Add variable for process-dialing
+       monitor, a function.
+       (erc--server-propagate-failed-connection): Add function to serve as
+       default monitor to run on process creation and maybe execute failure
+       handlers.
+       (erc-server-connect): Run `erc--server-connect-function' for async
+       processes one second after creation.
+       (erc--server-reconnect-timeout, erc--server-reconnect-timeout-check,
+       erc--server-reconnect-timeout-scale-function,
+       erc--server-reconnect-timeout-double): Add supporting variables and
+       functions for `erc-server-delayed-check-reconnect'.
+       (erc-server-delayed-check-reconnect): Add possible alternate value for
+       option `erc-server-reconnect-function' that only attempts to reconnect
+       after hearing back from the server.
+       (erc-schedule-reconnect): Ensure previous `erc-server-process' is
+       deleted.
+       * test/lisp/erc/erc-scenarios-base-auto-recon.el: New file.
+       * test/lisp/erc/resources/base/reconnect/just-eof.eld: New file.
+       * test/lisp/erc/resources/base/reconnect/just-ping.eld: New file.
+       * test/lisp/erc/resources/base/reconnect/ping-pong.eld: New file.
+       * test/lisp/erc/resources/base/reconnect/unexpected-disconnect.eld:
+       New file.
+       * test/lisp/erc/resources/erc-scenarios-common.el
+       (erc-scenarios-common--make-bindings): Shadow
+       `timer-list'.  (Bug#62044.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add MOTD command to ERC
+
+       * lisp/erc/erc-backend.el (erc-server-402, erc-server-402-functions):
+       Add new response handler and hook.
+       * lisp/erc/erc.el (erc-cmd-MOTD): New function to shield erc-network
+       from handling post-connection MOTD replies.  Thanks to Emanuel Berg
+       for reporting this (bug#62151).
+       (erc-message-english-s402): Define new ERR_NOSUCHSERVER message
+       template.
+       * test/lisp/erc/erc-scenarios-base-misc-regressions.el: New file.
+       * test/lisp/erc/resources/base/commands/motd.eld: New file.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Split overlong outgoing messages in erc-sasl
+
+       * lisp/erc/erc-sasl.el: (erc-server-AUTHENTICATE): Account for
+       client messages exceeding 400 bytes.  (Bug#62421.)
+       * test/lisp/erc/erc-scenarios-sasl.el
+       (erc-scenarios-sasl--plain-overlong-split,
+       erc-scenarios-sasl--plain-overlong-aligned): Add tests.
+       * test/lisp/erc/resources/sasl/plain-overlong-aligned.eld: New file.
+       * test/lisp/erc/resources/sasl/plain-overlong-split.eld: New file.
+
+2023-04-08  Daniel Pettersson  <daniel@dpettersson.net>
+
+       Fix DCC GET flag parsing in erc-dcc
+
+       * lisp/erc/erc-dcc.el (erc-cmd-DCC): Tokenize raw input line but also
+       accommodate legacy invocation.
+       (pcomplete/erc-mode/DCC): Quote file names when suggesting.  Account
+       for double-hyphen "end-of-options"-like separator.
+       (erc-dcc-do-GET-command): Simplify signature, subsuming NICK in
+       variadic args, now ARGS instead of FILE, which changes the arity
+       from (2 . many) to (1 . many).  Explain usage in doc string.  Honor an
+       optional separator, "--", if present.  (Bug#62444.)
+       * test/lisp/erc/erc-dcc-tests.el (erc-dcc-do-GET-command): Call new
+       parameterized helper with various flag/file combinations.
+       (erc-dcc-tests--erc-dcc-do-GET-command): New fixture function.
+       (pcomplete/erc-mode/DCC--get-quoted,
+       pcomplete/erc-mode/DCC--get-sep): New tests.
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add subcommand erc-cmd-HELP handler to erc-dcc
+
+       * lisp/erc/erc-compat.el (erc-compat--28-split-string-shell-command,
+       erc-compat--split-string-shell-command): New functions introduced in
+       Emacs 28 for splitting pcomplete input.
+       * lisp/erc/erc-dcc.el (erc-cmd-DCC): Elect to tokenize line specially.
+       (erc-dcc--cmd-help): Add help handler.  (Bug#62444.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Add subcommand dispatch facility to erc-cmd-HELP
+
+       * lisp/erc/erc.el (erc-cmd-HELP): Change signature by adding &rest
+       parameter.  Look for symbol property `erc--cmd-help' and, if found,
+       assume it's a function and call it with &rest args after attempting to
+       autoload the primary command symbol.  (Bug#62444.)
+
+2023-04-08  F. Jason Park  <jp@neverwas.me>
+
+       Change ERC version to 5.6-git
+
+       * lisp/erc/erc.el: Update main Version header and bump required Compat
+       to latest release in Package-Requires header.  Also update entry in
+       `customize-package-emacs-version-alist', mapping ERC 5.6 to Emacs
+       30.1.
+       (erc-version): Move to 5.6-git.
+
+2023-04-08  João Távora  <joaotavora@gmail.com>
+
+       Eglot: simplify eglot--sig-info and fix edge cases (bug#62687)
+
+       The documentation of each signature was rarely rendered because of
+       obsolete logic that skipped MarkupContent objects.
+
+       The new function follows the principle that echo are gets as little as
+       possible, while the *eldoc* buffer gets as much as possible (except,
+       for the individual parameter documentation, as I couldn't find a
+       single server that uses it).
+
+       Tested with clangd, pylsp, jdtls, gopls, rust-analyzer, zls.
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Simplify.
+
+2023-04-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Consolidate existing warnings about unused return values
+
+       Move the warning about unused return values from calls to
+       side-effect-free functions from the source-level optimiser to the code
+       generator, where it can be unified with the special-purpose warning
+       about unused values from `mapcar`.  This change also cures spurious
+       duplicate warnings about the same code, makes the warnings amenable to
+       suppression through `with-suppressed-warnings`, and now warns about
+       some unused values that weren't caught before.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       Move warning away from here.
+       * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-warnings):
+       Doc string updates.
+       (byte-compile-form): Put the new warnings here.
+       (byte-compile-normal-call): Move mapcar warning away from here.
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-ignore):
+       Compile args to `ignore` for value to avoid unused-value warnings, and
+       then discard the generated values immediately thereafter.  Mostly this
+       does not affect the generated code but in rare cases it might result
+       in slightly worse code.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings): Adapt test.
+
+2023-04-08  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Improve ibuffer-diff-with-file
+
+       * lisp/ibuf-ext.el (ibuffer-diff-with-file): Link to diff-command in
+       docstring.  Make Diff buffer read-only from outset and inhibit as
+       needed to avoid surprises.  Check whether diff-command
+       supports --label.  Leave point at BOB and clean up any excess
+       newline inserted by ibuffer-diff-buffer-with-file-1.  Prefer
+       pop-to-buffer-same-window over switch-to-buffer.
+
+       (ibuffer-diff-buffer-with-file-1): Add docstring.  Remove unused
+       unwind-protect and copypasta from diff-no-select (bug#62599).  Use
+       diff-file-local-copy, string-join, and redisplay in place of
+       analogues.  Condition --label use on availability, and label buffers
+       consistently with diff-no-select.  Leave empty line between runs.
+       Let diff-sentinel delete temporary files.  Leave point at EOB for
+       next run.
+
+2023-04-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-08  Po Lu  <luangruo@yahoo.com>
+
+       Document selections on Android more thoroughly
+
+       * doc/lispref/elisp.texi (Top):
+       * doc/lispref/frames.texi (Frames): Add ``Accessing Selections''
+       to menu.
+       (Accessing Selections, X Selections, Other Selections): New
+       nodes.
+
+2023-04-08  João Távora  <joaotavora@gmail.com>
+
+       Eglot: fix problems after changes to eglot-imenu (bug#62718)
+
+       * lisp/progmodes/eglot.el (eglot--imenu-SymbolInformation)
+       (eglot--imenu-DocumentSymbol): Fix.
+
+2023-04-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: version strings must start with numbers (bug#62718)
+
+       Even though Eglot is a :core ELPA package and as such is on a
+       different release cycle than Emacs proper, the version strings used in
+       'defcustom' and 'make-obsolete' must still follow the numeric format.
+
+       * lisp/progmodes/eglot.el (eglot-report-progress): Adjust :version.
+       (eglot-lsp-abiding-column)
+       (eglot-current-column)
+       (eglot-current-column-function)
+       (eglot-move-to-current-column)
+       (eglot-move-to-lsp-abiding-column)
+       (eglot-move-to-column-function)
+       (eglot-ignored-server-capabilites)
+       (eglot-manual)
+       (eglot--managed-mode-hook): Update "obsolete" spec.
+
+2023-04-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: use Eglot versions, not Emacs's in obsolete specs
+
+       * lisp/progmodes/eglot.el (eglot-report-progress): Adjust :version.
+       (eglot-lsp-abiding-column)
+       (eglot-current-column)
+       (eglot-current-column-function)
+       (eglot-move-to-current-column)
+       (eglot-move-to-lsp-abiding-column)
+       (eglot-move-to-column-function)
+       (eglot-ignored-server-capabilites)
+       (eglot-manual)
+       (eglot--managed-mode-hook): Update "obsolete" spec.
+
+2023-04-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: require optional text-property-search.el
+
+       Originally reported in
+       https://github.com/joaotavora/eglot/discussions/1201.
+
+       Also check for text-property-search-forward before using it, so we
+       won't break on Emacs 26.3.  At this point, better start relying on
+       compat.el, I guess.
+
+       * lisp/progmodes/eglot.el (eglot--format-markup): Check for
+       text-property-search-forward.
+
+2023-04-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: be careful about gfm-view-mode read-only buffers
+
+       Although in most situations this doesn't error, it's only because of
+       the very wide binding of inhibit-read-only in jsonrpc--process-filter.
+       That binding will soon be narrowed, so better not rely on it.
+
+       Originally reported in
+       https://github.com/joaotavora/eglot/discussions/1202.
+
+       * lisp/progmodes/eglot.el (eglot--format-markup): Inhibit
+       read-only before touching buffer potentially in gfm-view-mode.
+
+2023-04-07  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove useless unwind-protect forms, or make them useful as intended
+
+       * lisp/imenu.el (imenu--generic-function):
+       * lisp/mail/yenc.el (yenc-decode-region):
+       * lisp/textmodes/table.el (table-recognize-region):
+       * test/lisp/dired-tests.el (dired-test-directory-files):
+       * test/lisp/hl-line-tests.el (hl-line-tests-sticky):
+       Fix unwind-protect bracketing mistakes that caused the unwind code to
+       be misplaced.
+       * lisp/strokes.el (strokes-read-stroke): Fix a bracketing mistake that
+       misplaced the unwind code, and another one that misplaced the
+       else-clause of an `if` form.
+       * test/lisp/gnus/mml-sec-tests.el (mml-secure-test-fixture): Fix a
+       bracketing mistake that misplaced the unwind code, and remove
+       superfluous condition-case.
+
+       * lisp/mwheel.el (mouse-wheel-global-text-scale):
+       * lisp/speedbar.el (speedbar-stealthy-updates)
+       (speedbar-fetch-dynamic-etags):
+       * lisp/emacs-lisp/edebug.el (edebug--recursive-edit):
+       * lisp/emacs-lisp/package.el (package--read-pkg-desc):
+       * lisp/cedet/semantic.el (semantic-refresh-tags-safe):
+       * lisp/emulation/viper-cmd.el (viper-escape-to-state):
+       * lisp/emulation/viper-cmd.el (viper-file-add-suffix):
+       * lisp/gnus/mail-source.el (mail-source-movemail):
+       * lisp/mail/feedmail.el (feedmail-send-it-immediately)
+       (feedmail-deduce-address-list):
+       * lisp/mail/mailclient.el (mailclient-send-it):
+       * lisp/mail/smtpmail.el (smtpmail-deduce-address-list):
+       * lisp/mh-e/mh-print.el (mh-ps-print-range):
+       * lisp/textmodes/reftex-index.el (reftex-index-this-phrase):
+       * test/lisp/emacs-lisp/ert-tests.el (ert-test-run-tests-batch):
+       (ert-test-run-tests-batch-expensive):
+       Remove unwind-protect forms that are apparently useless, some since a
+       prior edit that removed their purpose, some since their first
+       appearance.
+
+       * test/lisp/subr-tests.el (subr-test--frames-2):
+       Insert dummy unwind form in backtrace test code.
+
+2023-04-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba (emacs-eglot):  Adapt software selection.
+
+2023-04-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: no more tests based on Pylsp (bug#62694)
+
+       The functionality under test in eglot.el is exactly the same, but use
+       the clangd server only, as that is used in more tests, and it is much
+       easier to check if it misbehaves or not.
+
+       Tests pass with clangd version 15.
+
+       * test/lisp/progmodes/eglot-tests.el (python): Don't require it.
+       (eglot--call-with-fixture): Simplify.
+       (eglot--wait-for-clangd): New helper.
+       (eglot-test-basic-completions)
+       (eglot-test-non-unique-completions, eglot-test-basic-xref)
+       (eglot-test-snippet-completions)
+       (eglot-test-snippet-completions-with-company)
+       (eglot-test-eldoc-after-completions, eglot-test-multiline-eldoc):
+       Use clangd, not pylsp.
+       (eglot-test-formatting): Renamed from
+       eglot-test-python-autopep-formatting.
+       (eglot-test-python-yapf-formatting): Remove.
+
+2023-04-07  João Távora  <joaotavora@gmail.com>
+
+       Eglot: rework eglot-imenu
+
+       Most newer servers return a vector of 'DocumentSymbol' as a response
+       to 'textDocument/documentSymbol'.  It's not worth trying to dumb this
+       down to imenu format of 'SymbolInformation' vectors.
+
+       This lays groundwork for the forthcoming "breadcrumb" feature of
+       bug#58431.
+
+       * lisp/progmodes/eglot.el
+       (eglot--imenu-SymbolInformation, eglot--imenu-DocumentSymbol): New
+       helpers.
+       (eglot-imenu): Rework.
+
+2023-04-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Avoid failing the build when org-version.el is updated
+
+       * lisp/Makefile.in: Force recompilation of all Org files when
+       org-version.el is updated with a new Org version.
+
+2023-04-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       305246d9726 Add emoji-zoom-reset
+       470d269ec1f Make emoji-zoom-{increase,decrease} set text properties c...
+       63d4a86f8d1 Fix transforming sliced images
+       5e1953a8f85 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun...
+       6b9f9df9454 ; Improve documentation of 'declare-function'
+       81d1f46d0fe ; Avoid compiler warning in eglot.el.
+       38cdfcb2128 ; Fix description of new 'keymap-*' functions
+       257090b8728 Adapt EMBA scripts.
+       90c07d3fdd2 Another terminology fix in ELisp reference manual
+       a832bc7090c Correct terminology in Elisp Reference Manual
+       db308233cb3 Comment out GNUSTEP jobs on EMBA (again)
+       8c1b1022439 ; * lisp/image.el (put-image): Doc fix.
+       eda88c63adf ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
+       728bc09cf3c Fix regexp string escaping mistake in vhdl-mode.el (bug#6...
+       479626dbac9 Update to Org 9.6.3-2-gf2949d
+       5a1c9aace70 ; Add a bit more docstring to tsx-ts-mode (bug#62429)
+       86cf9fd932c Eglot: don't watch directories that don't exist
+       82d0b6c64ea ; * lisp/subr.el (use-dialog-box-p): Fix last change.
+       3619663f982 Preserve peer information for web page in eww-readable
+       cb8d6ab648f * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI...
+       fb2c4409207 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-04-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       b39c3cd1125 ; * etc/NEWS: Fix typos.
+       89ac5ba11c7 Fix ModelSim error regexp in vhdl-mode
+       24ed9c7ae78 ; * doc/emacs/trouble.texi (Checklist): Minor copyedits (...
+       d1d39a0f09c Document enhancements in handling of echo-area messages
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-04-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Describe how to run Emba tests locally
+
+       * admin/notes/emba: Describe how to run Emba tests locally.
+
+       * test/infra/Dockerfile.emba (emacs-eglot):  Adapt software selection.
+
+2023-04-06  Liu Hui  <liuhui1610@gmail.com>
+
+       Restore positions reliably for abbreviated file names in saveplace.el
+
+       * lisp/saveplace.el (save-place-abbreviate-file-names): Add setter
+       function for rewriting `save-place-alist'.  Update docstring.
+       (save-place-to-alist): Save Abbreviated dired-filename.
+       (save-place-load-alist-from-file): Move this function above
+       `save-place-abbreviate-file-names' since it is used in the :set
+       function.
+       (save-place-find-file-hook):
+       (save-place-dired-hook): Use abbreviated file name when
+       `save-place-abbreviate-file-names' is non-nil.
+       (Bug#62413)
+
+2023-04-06  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Handle electric heredocs pairs in elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--electric-pair-string-delimiter): New helper.
+       (elixir-ts-mode): Add post-self-insert-hook.  (Bug#62536)
+
+2023-04-06  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Propertize heredocs in elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el
+       (elixir-ts--syntax-propertize-query): New variable.
+       (elixir-ts--syntax-propertize): New helper.
+       (elixir-ts-mode): Set syntax-propertize-function.  (Bug#62536)
+
+2023-04-06  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Miscellaneous coding fixes in c-forward-type
+
+       This fixes bug #62339.
+
+       * lisp/progmodes/cc-engine.el (c-forward-type): In the implicit int 
handling,
+       respect the setting of the parameter stop-at-end.  In the case "normal
+       identifier", insert a missing (c-forward-syntactic-ws); this fixes the 
bug.
+       Here, correct the wrong return value `prefix' to t.
+
+2023-04-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-06  Po Lu  <luangruo@yahoo.com>
+
+       Implement `yank-media' on Android
+
+       * doc/emacs/android.texi (Android Windowing): Update selection
+       restrictions.
+       * java/org/gnu/emacs/EmacsClipboard.java (EmacsClipboard): New
+       functions `getClipboardTargets' and `getClipboardData'.
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (EmacsSdk11Clipboard, getClipboardTargets, getClipboardData):
+       Implement.
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java: Stub out new
+       functions.
+
+       * lisp/term/android-win.el (android-get-clipboard-1): Implement
+       MIME type targets.
+       * src/android.c (android_exception_check)
+       (android_exception_check_1, android_exception_check_2): Fix
+       punctuation in warning message.
+       (android_exception_check_nonnull_1): New function.
+       * src/android.h: Update prototypes.
+       * src/androidselect.c (struct android_emacs_clipboard): New
+       methods.
+       (android_init_emacs_clipboard): Initialize new methods.
+       (Fandroid_get_clipboard_targets, android_xfree_inside)
+       (Fandroid_get_clipboard_data): New functions.
+       (syms_of_androidselect): Define new subrs.
+
+2023-04-05  Andrea Corallo  <akrl@sdf.org>
+
+       Comp: Fix limplification pass (bug#62537)
+
+       * test/src/comp-resources/comp-test-funcs.el (comp-test-62537-1-f)
+       (comp-test-62537-2-f): New functions.
+
+       * lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): Make it
+       stricter add a comment.
+
+2023-04-05  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Fix fontification problems shown by test file templates-20.cc
+
+       Also fix one problem evident in test file decls-10.cc.
+
+       * lisp/progmodes/cc-engine.el (c-brace-stack-at): Bind
+       c-record-type-identifiers to nil to prevent called functions recording
+       identifiers spuriously.
+       (c-forward-<>-arglist-recur): Revert the ill-advised optimization from 
autumn
+       2022 which attempted to avoid re-marking c-type text properties inside 
angle
+       bracket arglists.
+       (c-forward-decl-or-cast-1): Accept the semicolon at the end of "t8 * 
id;" as
+       sufficient evidence to fontify as a declaration (not a multiplication).
+
+       * lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): No longer fontify 
the
+       last component of foo::bar with c-reference-face-name.
+
+2023-04-05  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Improve sigil fontification for elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el:
+       (elixir-ts--font-lock-settings): Update sigil queries.
+
+2023-04-05  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Improve list indentation for elixir-ts-mode
+
+       * lisp/progmodes/elixir-ts-mode.el:
+       (elixir-ts--argument-indent-offset): Add empty line check.
+       (elixir-ts--argument-indent-anchor): Change ERROR offset.
+       * test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
+       Add test.
+
+2023-04-05  Dmitry Gutov  <dgutov@yandex.ru>
+
+       ruby-ts-mode: Add more constructs to treesit-sexp-type-regexp
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add more
+       constructs to treesit-sexp-type-regexp (bug#62086).
+
+2023-04-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp robustness
+
+       * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
+       Check for `tramp-string-empty-or-nil-p'.
+
+2023-04-04  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/subr.el (read-char-from-minibuffer): Don't use undefined
+       variable.  Reported by Robert Pluim.
+
+2023-04-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       Display unlock-file warning only when file locks are enabled
+
+       * lisp/files.el (remote-file-name-inhibit-locks): Fix docstring.
+
+       * lisp/userlock.el (userlock--handle-unlock-error):
+       Display warning only when `create-lockfiles' is non-nil.  (Bug#62614)
+
+       * lisp/net/tramp.el (tramp-handle-unlock-file): Raise a warning
+       only when `create-lockfiles' is non-nil or
+       `remote-file-name-inhibit-locks' is nil.
+
+2023-04-04  Juri Linkov  <juri@linkov.net>
+
+       ruby-ts-mode: Recognize more nodes as sexps
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
+       Add "unless" to 'treesit-sexp-type-regexp'.
+
+2023-04-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-03  Dmitry Gutov  <dgutov@yandex.ru>
+
+       ruby-ts-mode: Recognize more nodes as sexps
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Argument
+       treesit-sexp-type-regexp with interpolation, instance_variable,
+       global_variable (bug#62086, bug#62416).
+
+2023-04-03  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix some `unwind-protect' forms
+
+       * lisp/net/tramp-smb.el (tramp-smb-handle-file-acl)
+       (tramp-smb-handle-set-file-acl): Remove superfluous `unwind-protect'.
+
+       * test/lisp/auth-source-tests.el
+       (auth-source-test-secrets-create-secret): Fix `unwind-protect' handler.
+
+       * test/lisp/net/tramp-tests.el (tramp-test38-find-backup-file-name):
+       Add dummy cleanup form.
+
+2023-04-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-03  Po Lu  <luangruo@yahoo.com>
+
+       Improve portability of newly added icons
+
+       * etc/images/symbols/README: Document what to do with changed icons.
+       * etc/images/symbols: Add portable variants of SVG icons.
+
+2023-04-03  Yuan Fu  <casouri@gmail.com>
+
+       Modify chevron icons and add some more
+
+       * etc/images/symbols/chevron_left_16.svg:
+       * etc/images/symbols/chevron_right_16.svg: Make them shorter so that
+       they appear roughly the same size as up and down chevrons.
+       * etc/images/symbols/cross_circle_fill_16.svg:
+       * etc/images/symbols/heart_16.svg:
+       * etc/images/symbols/heart_fill_16.svg:
+       * etc/images/symbols/heart_half_16.svg:
+       * etc/images/symbols/minus_circle_fill_16.svg:
+       * etc/images/symbols/plus_circle_fill_16.svg: New icons.
+
+2023-04-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_normalize_vector): Don't rely on undefined
+       sign extension semantics.
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eglot: Bump to 1.14
+
+       * lisp/progmodes/eglot.el (Version): Bump to 1.14
+       (Package-Requires): Require ElDoc 1.14.0
+
+       * etc/EGLOT-NEWS: Update.
+
+2023-04-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Merge from origin/emacs-29
+
+       3bdbb66efb9 ; CONTRIBUTE: Minor stylistic changes.
+       d0eb12e8d3c Fix typo in section 14.1 of Emacs Manual
+       b2fbec37f39 ; * etc/EGLOT-NEWS: Clarify scope of topmost section
+       131ec049db0 Eglot: unbreak eglot-extend-to-xref on w32
+       0622e1f29f6 Eglot: ensure server shutdown turns off eglot-inlay-hints...
+       59f66ea3027 ; * lisp/emacs-lisp/package-vc.el: Remove completed item ...
+       d23dc3dd7e3 ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manua...
+       4508a024e81 ; Clarify documentation of 'cursor' text property
+       d2e82817a3f Add two typescript-ts-mode faces (bug#62429)
+       10918fc9d24 Fix scrolling window when point moves up
+       9b32bc134c4 Improve documentation of 'defcustom's :set keyword
+       ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b...
+       c98929c7e18 ; Fix last change
+       a14c3f62a67 ; Fix last change
+       09fece5722f Fix duplicate defcustom in eww.el
+       e45bd10a3d9 Fix indentation regression in 'C-h l'
+       46fd10a7600 * doc/misc/tramp.texi (Remote shell setup): Clarify use o...
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eldoc: bump package version to 1.14.0
+
+       * lisp/emacs-lisp/eldoc.el (Version): Bump to 1.14.0
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eglot: load built-in GNU ELPA dependencies explicitly
+
+       Because of outstanding bug#62576, it's way to easy for users to get
+       confused by the M-x package-install process for Eglot.
+
+       Whenever an Eglot release depends on a new version of a GNU ELPA :core
+       package which is _also_ provided built-in, M-x package-install will
+       install that dependency, but will not always load it on top of the
+       built-in one.
+
+       The solution is to not use "require" for now.  This may potentially
+       lead to double "loads", but that should in principle be idempotent.
+
+       * lisp/progmodes/eglot.el (project, eldoc, seq, flymake, xref, jsonrpc)
+       (external-completion): Load, don't require.
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eglot: improve caching in eglot-completion-at-point
+
+       When answering the :textDocument/completion request, LSP servers
+       provide a :isIncomplete flag in the response, which allows Eglot to
+       know if "further typing should result in recomputing [the completions]
+       list.
+
+       If :isIncomplete is false (i.e. the full set was returned), Eglot
+       caches the response in a global variable eglot--capf-cache that
+       persists for the duration of the "completion session", taken to be the
+       interval between two calls to completion-in-region-mode.
+
+       If the cache has been set, and Eglot detects that "further typing" has
+       happened, it is safe to use the cache instead of making a request to
+       the server.
+
+       Thus eglot--capf-cache-flush, added to completion-in-region-mode-hook,
+       is used to flush this cache.  Since the popular Company completion
+       package doesn't use completion-in-region-mode, eglot--capf-cache-flush
+       is also added to its company-after-completion-hook.
+
+       * lisp/progmodes/eglot.el (eglot--managed-mode): Set
+       'completion-in-region-mode-hook and company-after-completion-hook.
+       (eglot--capf-cache): New variable.
+       (eglot--capf-cache-flush): New function.
+       (eglot-completion-at-point): Rework.
+
+       * etc/EGLOT-NEWS: Update.
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eglot: take advantage of new Eldoc options for signature doc
+
+       Only echo the "active signature", send all the other signatures for
+       the *eldoc* buffer.
+
+       * lisp/progmodes/eglot.el (eglot--sig-info): Rework protocol.
+       (eglot-signature-eldoc-function): Rework.
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eglot: declare support for markdown also for signatures
+
+       * lisp/progmodes/eglot.el
+       (eglot--accepted-formats): new helper.
+       (eglot-client-capabilities): use it.
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eglot: define eglot--ensure-list with defalias
+
+       This avoids annoying obsoletion warnings when compiling the whole 
buffer.
+
+       * lisp/progmodes/eglot.el (eglot--ensure-list): define with defalias.
+
+2023-04-03  João Távora  <joaotavora@gmail.com>
+
+       Eglot: remove hacky advice of jsonrpc-request
+
+       The vast majority of Eglot sync requests to the server need to inform
+       the server of any pending changes to the buffer beforehand, so that
+       the server has up-to-date information to do its job.
+
+       But doing so at the expense of ugly advice of jsonrpc-request is ill
+       advised.  Introduce eglot--request helper instead and use that.
+
+       Use this opportunity to conduct a review of Eglot sync requests and
+       come to the conclusion that all need to send any changes beforehand.
+       Nevertheless, an IMMEDIATE kwarg to eglot--request was added to
+       bypassing this.
+
+       * lisp/progmodes/eglot.el
+       (eglot--request): New helper.
+       (eglot-shutdown)
+       (eglot-execute-command)
+       (eglot-workspace-configuration)
+       (eglot--signal-textDocument/willSave)
+       (eglot--workspace-symbols)
+       (eglot--lsp-xrefs-for-method)
+       (xref-backend-apropos)
+       (eglot-format)
+       (eglot-completion-at-point)
+       (eglot-imenu)
+       (eglot-rename)
+       (eglot-code-actions): Use eglot--request.
+
+2023-04-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Use the 'interactive' spec to set arguments for 'eshell-command'
+
+       * lisp/eshell/eshell.el (eshell-read-command): New function...
+       (eshell-command): ... use it.  Additionally, require the COMMAND
+       argument, and rename ARG to TO-CURRENT-BUFFER.
+
+2023-04-03  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix using background commands in 'eshell-command'
+
+       This regressed due to the patch for bug#53715, which changed how
+       Eshell pipelines return the processes in the pipeline (bug#62556).
+
+       * lisp/eshell/esh-cmd.el (eshell-parse-command): When creating
+       background commands, wrap the process(es) in a cons cell whose CAR is
+       ':eshell-background'.  This lets us use fewer heuristics...
+       (eshell-eval-command): ... here.  Additionally, keep the result and
+       the incomplete delimiter separate.
+
+       * lisp/eshell/eshell.el (eshell-command): Check ':eshell-background'
+       and use a more-robust method for setting the output target.
+
+       * test/lisp/eshell/eshell-tests.el (eshell-test/eshell-command/simple)
+       (eshell-test/eshell-command/pipeline)
+       (eshell-test/eshell-command/background)
+       (eshell-test/eshell-command/background-pipeline): New tests.
+
+2023-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       lisp/simple.el (inhibit-auto-fill): New var
+
+       * lisp/simple.el (inhibit-auto-fill): New var.
+       (internal-auto-fill): Obey it.
+       (newline): Use it instead of binding `auto-fill-function`, so
+       as to avoid messing up the state if something wants to enable/disable
+       `auto-fill-mode` during the course of the let binding (bug#62419).
+
+2023-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       src/eval.c: Fix bug#62419
+
+       Yup, almost 40 years after ELisp first combined them, buffer-local
+       and let bindings still don't work quite right :-(
+
+       The "automatically buffer-local if set" semantics should follow the
+       principle that it becomes buffer-local iff the var's current binding
+       refers to the top-level/global/non-let binding.
+
+       * src/eval.c (let_shadows_buffer_binding_p): Disregard non-global
+       let-bindings.
+
+       * test/src/eval-tests.el (eval-test--bug62419): New test.
+
+2023-04-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-02  Jim Porter  <jporterbugs@gmail.com>
+
+       Avoid shadowing variables in some Eshell command forms
+
+       * lisp/eshell/esh-cmd.el (eshell-rewrite-for-command): Make
+       'for-items' an uninterned symbol.
+       (eshell-as-subcommand): Correct docstring.
+       (eshell-do-command-to-value): Mark obsolete.
+       (eshell-command-to-value): Move binding of 'value' outside of the
+       macro's result, and remove call to 'eshell-do-command-to-value'.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/subcommand-shadow-value)
+       (esh-cmd-test/for-loop-for-items-shadow): New tests.
+       (esh-cmd-test/for-name-loop, esh-cmd-test/for-name-shadow-loop):
+       Rename to...
+       (esh-cmd-test/for-loop-name, esh-cmd-test/for-loop-name-shadow):
+       ... these.
+
+2023-04-01  Yuan Fu  <casouri@gmail.com>
+
+       Add some icons (bug#62562)
+
+       * etc/images/symbols/README: New file.
+       * etc/images/symbols/*.svg: New icons.
+
+2023-04-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-04-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update publicsuffix.txt from upstream
+
+       * etc/publicsuffix.txt: Update from
+       https://publicsuffix.org/list/public_suffix_list.dat
+       dated 2023-03-18 16:17:52 UTC.
+
+2023-04-01  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Allow null date in gnus-icalendar-event--decode-datefield
+
+       * lisp/gnus/gnus-icalendar.el:
+       (gnus-icalendar-event--decode-datefield): Don't throw an error if the
+       event date is missing.
+
+2023-04-01  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Reset 'gnus-current-window-configuration' on edit-form exit.
+
+       * lisp/gnus/gnus.el: New variable gnus-prev-cwc.
+       * lisp/gnus/gnus-art.el (gnus-article-edit-mode):
+       New local variable gnus-prev-cwc.
+       (gnus-article-edit-article):  Store original
+       gnus-current-window-configuration as gnus-prev-cwc.
+       (gnus-article-edit-done, gnus-article-edit-exit): Restore
+       gnus-current-window-configuration from gnus-prev-cwc.
+       * lisp/gnus/gnus-eform.el (gnus-edit-form-mode):
+       New local variable gnus-prev-cwc.
+       (gnus-edit-form):  Store original
+       gnus-current-window-configuration as gnus-prev-cwc.
+       (gnus-edit-form-done, gnus-edit-form-exit): Restore
+       gnus-current-window-configuration from gnus-prev-cwc.
+
+2023-04-01  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Use completion when mark limiting in gnus summary buffers
+
+       * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-marks)
+       (gnus-summary-limit-exclude-marks): Use completing-read to complete on
+       marks in the current summary buffer.
+
+2023-04-01  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       Track article while moving between gnus groups
+
+       * lisp/gnus/gnus-sum.el (gnus-current-move-article): New variable to
+       track article while moving.
+       (gnus-summary-move-article): Set gnus-current-move-article when
+       moving/copying/crossposting or respooling.
+
+2023-04-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-31  Mattias Engdegård  <mattiase@acm.org>
+
+       Make string-lessp vectorisation safer
+
+       Use memcpy for loading unaligned words on platforms where this can be
+       done efficiently.  This guards against problems arising from future
+       compiler autovectorisation improvements that might cause instructions
+       that require aligned addresses to be emitted, and should also work
+       with an address sanitiser enabled.
+
+       * src/fns.c (HAVE_FAST_UNALIGNED_ACCESS): Only define when optimising.
+       (load_unaligned_size_t): New.
+       (Fstring_lessp): Use load_unaligned_size_t.
+       * src/lisp.h (UNALIGNED_LOAD_SIZE): Remove now unused macro.
+
+2023-03-31  Bob Rogers  <rogers@rgrjr.com>
+
+       Allow old input to include continuation lines in shell-mode
+
+       * lisp/shell.el (shell-get-old-input-include-continuation-lines): New
+       defcustom (default nil).
+       (shell-get-old-input): New function.  Like
+       'comint-get-old-input-default' but include all continuation lines if
+       'shell-get-old-input-include-continuation-lines' is non-nil.
+       (shell-mode): Install shell-get-old-input.  (Bug#61069)
+
+       * etc/NEWS: Advertise the new defcustom.
+
+2023-03-31  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
+
+       * lisp/net/tramp.el (tramp-accept-process-output): Use 
`with-local-quit'.
+
+2023-03-31  Yuan Fu  <casouri@gmail.com>
+
+       Add treesit-node-get
+
+       * doc/lispref/parsing.texi (Retrieving Nodes): Add manual entry.
+       * lisp/treesit.el (treesit-node--get): New function.
+
+2023-03-31  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-30  Justin Burkett  <justin@burkett.cc>
+
+       Catch errors in kbd
+
+       Fixes #346
+
+2023-03-30  Po Lu  <luangruo@yahoo.com>
+
+       Tweak outline cache stuff
+
+       * src/sfntfont.c: Adjust font cache size constants.
+
+2023-03-30  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_make_interpreter): New argument `fvar'.  Set
+       axis count.
+       (SCANCTRL): Implement selector bit 8.
+       (GXAXIS): New instruction.
+       (SFVTPV): Validate graphics state after changing freedom vector.
+       (sfnt_line_to_vector): Implement `original'.
+       (sfnt_move): Remove redundant division.
+       (sfnt_interpret_run): Implement distortable font related GXAXIS
+       instruction (0x91).
+       (sfnt_vary_interpreter): Set naxis and norm_coords.
+       (sfnt_make_test_interpreter, pushb_test_args, pushw_test_args)
+       (sfnt_name_instruction, main): Adjust accordingly.
+       * src/sfnt.h (struct sfnt_interpreter, PROTOTYPE):
+       * src/sfntfont.c (sfntfont_setup_interpreter, sfntfont_open):
+       Set up distortion information.
+
+2023-03-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Rework zeroconf integration into tramp-gvfs.el
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Do not check for
+       :system bus.
+       (tramp-gvfs-mounttypes): New defconst.
+       (tramp-gvfs-maybe-open-connection): Use it.
+       (top): Call zeroconf only when :system bus is available.
+
+2023-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Avoid unwind-protect without unwind forms in cl-letf
+
+       * lisp/emacs-lisp/cl-macs.el (cl--letf): Use unwind-protect only if
+       necessary, avoiding a warning.
+
+2023-03-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about unwind-protect without unwind forms
+
+       `unwind-protect` without unwind forms is not just pointless but often
+       indicates a mistake where the intended unwind part is misplaced, as in
+
+           (unwind-protect (progn PROT-FORMS UNWIND-FORMS))   ; oops
+
+       or
+
+           (unwind-protect PROT-FORM) UNWIND-FORMS            ; also oops
+
+       or entirely forgotten for that matter.  Warning about this makes
+       sense, and the warning can always be silenced by removing the
+       `unwind-protect` altogether if it shouldn't be there in the first
+       place.
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Implement
+       warning.
+       * etc/NEWS: Announce.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings): Add test case.
+
+2023-03-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix D-Bus event loop when executing a keyboard macro
+
+       * lisp/net/dbus.el (dbus-call-method): Don't loop for events when
+       `executing-kbd-macro' is non-nil.  (Bug#62018)
+
+2023-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Improve rules for enumerating user fonts
+
+       * doc/emacs/android.texi (Android Fonts): Document distortable
+       font replacement rules.
+       * src/sfntfont.c (sfnt_replace_fonts_p): New function.
+       (sfnt_enum_font_1): Call it.
+
+2023-03-29  dannyfreeman  <danny@dfreeman.email>
+
+       Add clojure-ts-mode to eglot-server-programs
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add
+       clojure-ts-mode.  (Bug#62449)
+
+2023-03-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
+
+2023-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Fix optimized move functions
+
+       * src/sfnt.c (sfnt_move_x):
+       (sfnt_move_y):
+       (sfnt_move): Set N flags and don't forget to
+       set N points too.
+
+2023-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfntfont.c (sfntfont_setup_interpreter): Don't create
+       interpreter for blatently broken fonts.
+
+2023-03-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       3965c65d5e2 ; * lisp/subr.el (read-char-choice): Fix last change.
+       c1eac5b6586 Improve documentation of 'read-choice' and related symbols
+       a8c9283e170 Revert "Comp fix calls to redefined primtives with op-byt...
+       8b66d8abd01 Revert "* lisp/emacs-lisp/comp.el (comp-emit-set-call-sub...
+       4ec4f614c71 ; Fix incompatibility in 'display-buffer-assq-regexp'
+       ba3ade58f3b Skip ruby-ts-imenu-index test if needed
+       9133446db87 Fix Eglot Tramp tests on EMBA
+       5b351bc7fa9 * test/infra/Dockerfile.emba (emacs-gnustep): Instrument ...
+
+2023-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfntfont.c (sfntfont_open): Avoid specifying redundant
+       blends.
+
+2023-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_validate_gs): Fix validation of projection
+       vector.
+
+2023-03-29  Dmitry Gutov  <dgutov@yandex.ru>
+
+       ruby-ts-mode: Rehash which nodes should be treated as sexps
+
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Recognize smaller
+       syntactic elements as sexps too (bug#62416).  Also do that for
+       heredocs, regexps and symbol arrays.  But drop binary expressions
+       (including assignments) since they led to non-intuitive behavior.
+
+2023-03-28  Jim Porter  <jporterbugs@gmail.com>
+
+       Avoid parsing some Eshell forms when performing completion
+
+       During completion, we want to evaluate most Eshell forms
+       (e.g. variable references), but skip others (e.g. globbing,
+       subcommands).  For globbing, we want to pass the literal glob to
+       Pcomplete so it can use the glob for selecting completion candidates.
+       For subcommands (including Lisp forms), we especially want to avoid
+       evaluation, since they can produce arbitary side effects!  (Bug#50470)
+
+       * lisp/eshell/esh-cmd.el (eshell-allow-commands): New variable...
+       (eshell-commands-forbidden): New error...
+       (eshell-named-command, eshell-lisp-command): ... use them.
+
+       * lisp/eshell/em-cmpl.el (eshell-complete--eval-argument-form):
+       Disallow command forms and handle errors ourselves.
+       (eshell-complete-parse-arguments): Don't parse glob characters.
+
+       * test/lisp/eshell/em-cmpl-tests.el
+       (em-cmpl-test/parse-arguments/unevaluated-subcommand)
+       (em-cmpl-test/parse-arguments/unevaluated-lisp-form)
+       (em-cmpl-test/parse-arguments/unevaluated-inner-subcommand)
+       (em-cmpl-test/file-completion/glob, em-cmpl-test/command-completion)
+       (em-cmpl-test/subcommand-completion): New tests.
+       (em-cmpl-test/parse-arguments/pipeline): Remove superfluous
+       let-binding.
+       (em-cmpl-test/file-completion/after-list): Use a list variable rather
+       than a subexpression; the latter is no longer evaluated during
+       completion.
+       (em-cmpl-test/lisp-function-completion): Check "$(func)" syntax.
+
+2023-03-28  Jim Porter  <jporterbugs@gmail.com>
+
+       Simplify parsing subcommands slightly
+
+       This mainly reduces some overly-deep indentation, but also fixes some
+       minor issues with the "$<subcmd>" form: it unnecessarily added " >
+       TEMP" (we already set this later via 'eshell-create-handles'), and it
+       didn't properly unescape inner double quotes.
+
+       * lisp/eshell/esh-cmd.el (eshell-parse-subcommand-argument): Simplify.
+
+       * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Simplify and
+       fix edge cases in "$<subcmd>".
+
+       * test/lisp/eshell/esh-var-tests.el
+       (esh-var-test/quoted-interp-temp-cmd): Adjust test to check behavior
+       of inner double quotes.
+
+2023-03-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_vary_compound_glyph):
+       * src/sfntfont.c (sfntfont_get_glyph)
+       (sfntfont_get_glyph_outline): Avoid clobbering offset size flag
+       when varying compound glyph.
+
+2023-03-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_vary_simple_glyph, sfnt_vary_compound_glyph):
+       Fix application of intermediate tuples.
+       * src/sfntfont.c (sfntfont_open): Set xlfd name after applying
+       distortion.
+
+2023-03-28  Po Lu  <luangruo@yahoo.com>
+
+       Correctly round lbearing values
+
+       * src/sfnt.h (SFNT_ROUND_FIXED):
+       * src/sfntfont.c (sfntfont_probe_widths):
+       (sfntfont_measure_pcm): Round lbearing properly.
+
+2023-03-28  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix expansion of globs that contain a ~USER reference
+
+       This regressed from the fix to bug#28064, and was discovered here:
+       
<https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-03/msg01744.html>.
+
+       * lisp/eshell/em-dirs.el (eshell-expand-user-reference): Let FILE be a
+       list, and move the implementation to...
+       (eshell-expand-user-reference-1): ... here.
+
+       * lisp/eshell/em-glob.el (eshell-add-glob-modifier): Remove special
+       handling for expanding user references; it's better to keep it in
+       "em-dirs.el".
+
+2023-03-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfntfont.c (sfnt_open_tables): Fix typos in non-HarfBuzz
+       code.
+
+2023-03-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidterm.c (android_draw_image_glyph_string): Restore
+       potentially clobbered GC clipping.
+       * src/sfnt.c (sfnt_large_integer_add, sfnt_multiply_divide_round)
+       (sfnt_mul_fixed_round): New functions.
+       (sfnt_build_glyph_outline): Take unscaled glyph metrics.
+       (sfnt_prepare_raster, sfnt_vary_simple_glyph)
+       (sfnt_vary_compound_glyph, sfnt_vary_interpreter): Use rounding
+       multiplication to scale deltas.
+       (main): Adjust tests.
+       * src/sfntfont.c (sfntfont_get_glyph_outline)
+       (sfntfont_probe_widths, sfntfont_open, sfntfont_measure_pcm)
+       (sfntfont_draw): More minor fixes to variable fonts.
+
+2023-03-28  Ken Brown  <kbrown@cornell.edu>
+
+       Enable ASLR for dynamic libraries on Cygwin
+
+       This seems to avoid the fork failures described in etc/PROBLEMS
+       ("Fork failures in a build with native compilation").
+
+       * lisp/treesit.el (treesit--install-language-grammar-1):
+       * lisp/emacs-lisp/comp.el (native-comp-driver-options): Add the
+       linker flag "-Wl,-dynamicbase" on Cygwin.
+
+2023-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge from origin/emacs-29
+
+       edc460e3b6c Fix accidental backward-incompatible change (bug#62417)
+       cbef1422fe3 ruby-ts-mode: Fix/simplify Imenu index generation
+       a0d5fba74a6 (ruby-ts--align-chain): Use 'equal' to check for an exact...
+
+2023-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge from origin/emacs-29
+
+       0337131bfa1 Update to Transient v0.3.7-218-g3dbb22a
+       a8c23677d39 Update to Org 9.6.2
+       45b16bfb496 Skip failing tests on Cygwin with native compilation (bug...
+       8b4a494d8d4 Fix GNUSTEP tests on EMBA
+
+       # Conflicts:
+       #       test/infra/gitlab-ci.yml
+
+2023-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge from origin/emacs-29
+
+       b08bf828605 ; Fix :version of the new defcustom
+       d941666d859 ; Fix last change
+       e19b7da7b09 Add 'eww-default-download-directory'.
+       564c26bdbeb ; Fix edebug spec for 'gv-define-simple-setter' (bug#62256)
+
+2023-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge from origin/emacs-29
+
+       8f42db010d1 Improve indenting "case" in Python
+       c4d490490dc ; * test/src/fns-tests.el: Fix last change
+       875e77a66a6 * test/infra/Dockerfile.emba (emacs-native-comp): Add zli...
+       64a2b0d36fe Fix failure of fns-tests-collate-strings on Cygwin
+       90fc6b987ad * lisp/savehist.el (savehist-save): Preserve shared struc...
+       08fbc133756 Adapt Tramp manual
+       accb3871668 Fix system time sampling on MS-Windows
+       33d436eefa1 Fix treesit_ensure_parsed (bug#62333)
+       d93a439846f * lisp/help-fns.el (find-lisp-object-file-name): Fix bug#...
+       be8147c53f9 Improve "Bugs" in the Emacs manual
+
+2023-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge commit '1bc9dfc5bee'
+
+2023-03-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
+
+2023-03-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp error messages
+
+       * lisp/net/tramp.el:
+       * lisp/net/tramp-cmds.el:
+       * lisp/net/tramp-crypt.el:
+       * lisp/net/tramp-gvfs.el:
+       * lisp/net/tramp-sh.el:
+       * lisp/net/tramp-smb.el: Fix error messages.
+
+2023-03-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_normalize_blend): Don't crash when axis
+       variations are not present.
+
+2023-03-27  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-27  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (HAVE_OTF_GET_VARIATION_GLYPHS): Check for
+       `hb_font_set_var_named_instance'.
+       * src/sfnt.c (main): Update tests.
+       * src/sfntfont-android.c (Fandroid_enumerate_fonts): Blacklist
+       bad font.
+       * src/sfntfont.c (struct sfnt_font_tables, struct sfnt_font_desc)
+       (sfnt_decode_instance_name, sfnt_weight_descriptions)
+       (sfnt_enum_font_1, sfntfont_list_1, sfntfont_desc_to_entity)
+       (sfntfont_list, struct sfntfont_get_glyph_outline_dcontext)
+       (sfntfont_get_glyph, sfntfont_get_glyph_outline)
+       (struct sfnt_font_info, sfnt_close_tables, sfnt_open_tables)
+       (sfntfont_open, sfntfont_measure_pcm, sfntfont_close)
+       (sfntfont_draw, sfntfont_begin_hb_font, syms_of_sfntfont)
+       (mark_sfntfont): Handle variable fonts correctly.
+
+2023-03-27  Po Lu  <luangruo@yahoo.com>
+
+       Refactor sfntfont.c
+
+       * src/sfnt.c (sfnt_build_glyph_outline): Take scale, not head
+       and pixel size.
+       (sfnt_scale_metrics_to_pixel_size): Delete function.
+       (sfnt_get_scale): New function.
+       (main): Update tests.
+       * src/sfnt.h (PROTOTYPE): Update prototypes.
+       * src/sfntfont.c (struct sfnt_outline_cache)
+       (sfntfont_get_glyph_outline, struct sfnt_font_info)
+       (sfntfont_open): Save scale in font information and use it.
+       (sfntfont_measure_instructed_pcm): Delete function.
+       (sfntfont_measure_pcm): Make this the only ``measure pcm''
+       function.
+       (sfntfont_draw): Rely on sfntfont_get_glyph_outline for the
+       scale.
+
+2023-03-27  Po Lu  <luangruo@yahoo.com>
+
+       Refactor sfntfont.c
+
+       * src/sfntfont.c (struct sfnt_font_tables): New structure.
+       (struct sfnt_font_desc): New field `tables'.
+       (struct sfnt_font_info): New field `desc'.
+       (sfntfont_setup_interpreter): Drop fd arguments and don't try to
+       load interpreter tables.
+       (sfnt_open_tables, sfnt_close_tables): New functions.
+       (sfnt_reference_font_tables, sfnt_dereference_font_tables): New
+       functions.
+       (sfntfont_open, sfntfont_close): Implement in terms of those
+       functions in order to share tables.
+
+2023-03-27  Philip Kaludercic  <philipk@posteo.net>
+
+       Have Xref inherit input method when reading identifiers
+
+       * lisp/progmodes/xref.el (xref--read-identifier): Set
+       INHERIT-INPUT-METHOD flag to non-nil.  (Bug#61299)
+
+2023-03-27  Philip Kaludercic  <philip.kaludercic@fau.de>
+
+       Add option to register packages as projects
+
+       * lisp/emacs-lisp/package-vc.el (package-vc-register-as-project): Add
+       new option.
+       (project-remember-projects-under): Declare function for usage in
+       'package-vc--clone'.
+       (package-vc--clone): Respect 'package-vc-register-as-project'.
+       * etc/NEWS: Document the feature.
+
+2023-03-26  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
+
+2023-03-26  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add sanity check in tramp-gvfs.el
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-listmountableinfo)
+       (tramp-gvfs-listmounttypes): New defconst.
+       (tramp-gvfs-maybe-open-connection): Add sanity check whether GVFS
+       backend is available.
+
+2023-03-26  Ken Brown  <kbrown@cornell.edu>
+
+       Implement list-system-processes on Cygwin
+
+       * configure.ac (HAVE_PROCFS): Define to 1 on Cygwin.  (Bug#62462)
+
+2023-03-26  Phil Sainty  <psainty@orcon.net.nz>
+
+       * lisp/term.el (term-mouse-paste) Do not treat as a yank command 
(bug#58608)
+
+       This command sends the primary selection to the inferior process
+       rather than inserting it into the buffer, and it's entirely up to the
+       process as to whether anything at all gets inserted into the buffer as
+       a result, so this is not a `yank' as far as Emacs is concerned.
+
+2023-03-26  Phil Sainty  <psainty@orcon.net.nz>
+
+       Fix primary selection modification during `term-mouse-paste' (bug#58608)
+
+       * lisp/term.el (term-mouse-paste): Prevent the primary selection from
+       being changed in the process of sending it to the inferior process.
+
+2023-03-26  Evgeni Kolev  <evgenysw@gmail.com>
+
+       Fix 'go-ts-mode's incorrect docstring inserted for methods
+
+       The docstring inserted with go-ts-mode's C-c C-d was incorrectly
+       prefixed with the receiver "(myStruct).":
+
+           // (myStruct).act
+           func (m *myStruct) act () {...}
+
+       The above docstring is not correct because the receiver "myStruct"
+       should not be in the docstring.  This commit fixes the incorrect
+       behavior.
+       * lisp/progmodes/go-ts-mode.el (go-ts-mode--defun-name): New
+       optional argument SKIP-PREFIX.
+       (go-ts-mode-docstring): Call (go-ts-mode--defun-name t)
+       instead of (treesit-defun-name).  (Bug#62371)
+
+2023-03-26  Phil Sainty  <psainty@orcon.net.nz>
+
+       * src/buffer.c (mode-line-format): Reorder and reformat %-construct docs
+
+       The original formatting dates back to the earliest commits.  It saved
+       a few lines but was harder to follow.  As windows are typically taller
+       now than the terminals of the time, this reformatting now makes better
+       sense for readabiity.  See bug#57080.
+
+       * doc/lispref/modes.texi: Order change for consistency.  Add index.
+
+2023-03-26  Phil Sainty  <psainty@orcon.net.nz>
+
+       * doc/lispref/modes.texi: Improve docs for obsolete '%m' construct
+
+       Bug #57080.
+
+2023-03-26  Phil Sainty  <psainty@orcon.net.nz>
+
+       Improve docs for global-mode-string / %M construct
+
+       * src/xdisp.c (global-mode-string): Update docstring.
+       * doc/lispref/modes.texi: Update manual.
+
+2023-03-26  Phil Sainty  <psainty@orcon.net.nz>
+
+       * src/buffer.c (mode-line-format): Document %o and %q constructs
+
+       Missed from commit b0b02ca7f3e06d0f092df6f81babd1277bf93b0f.
+
+2023-03-26  Phil Sainty  <psainty@orcon.net.nz>
+
+       * src/buffer.c (mode-line-format): Remove docs for obsolete %t construct
+
+       This documentation had been previously removed in 1999 in [1]
+       but was subsequently restored again in a different form in 2006
+       in [2] as the construct was still supported on some systems.
+       However it looks like it hasn't done what that documentation
+       indicated since [3] in 2011, and the final remnant of this
+       functionality was removed in [4] in 2013; so it seems clear that
+       it's no longer supported and shouldn't be documented now.
+
+       [1] commit 08de62001945d4dd32a3d6af44da05804cb296d5
+       [2] commit dafbe726b89a36010f3f24bb1efe4ace0a5f7f0f
+       [3] commit 05c652517317d10690aaf0a6aa0bc876382b9d82
+       [4] commit 8549f9e89bd9288c4c709d183a5bf8f07dbeed3d
+
+2023-03-26  Mattias Engdegård  <mattiase@acm.org>
+
+       Use string-search instead of string-match[-p] when possible
+
+       * lisp/progmodes/c-ts-mode.el
+       (c-ts-mode--standalone-parent-skip-preproc):
+       * lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-chain):
+       * lisp/treesit.el (treesit-max-buffer-size)
+       (treesit--check-manual-coverage):
+       Use the much faster string-search when just searching for a substring.
+
+2023-03-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_table_names): Add avar.
+       (sfnt_read_glyph): Clear distortion fields.
+       (sfnt_build_glyph_outline): Calculate the outline origin point.
+       (sfnt_prepare_raster): Apply the origin point to the X axis
+       offset.
+       (sfnt_scale_metrics_to_pixel_size): New function.
+       (sfnt_build_instructed_outline): Use instructed origin phantom
+       point to determine the outline origin.
+       (sfnt_compute_phantom_points): Apply origin and advance
+       distortion.
+       (struct sfnt_variation_axis, struct sfnt_instance)
+       (struct sfnt_fvar_table, sfnt_read_fvar_table)
+       (struct sfnt_gvar_table, sfnt_read_gvar_table)
+       (sfnt_read_avar_table, struct sfnt_blend, sfnt_init_blend)
+       (sfnt_free_blend, sfnt_normalize_blend, struct sfnt_tuple_header)
+       (struct sfnt_gvar_glyph_header, sfnt_read_packed_deltas)
+       (sfnt_compute_tuple_scale, sfnt_read_cvar_table)
+       (sfnt_infer_deltas_1, sfnt_vary_simple_glyph, sfnt_infer_deltas)
+       (sfnt_vary_glyph, sfnt_vary_compound_glyph)
+       (sfnt_vary_interpreter): New functions.  Add structs to
+       sfntfont.h.
+       (struct sfnt_test_dcontext, sfnt_test_get_glyph, main): Test
+       distortable font handling.
+
+       * src/sfnt.h (SFNT_ENABLE_HINTING):
+       (enum sfnt_table):
+       (struct sfnt_glyph):
+       (struct sfnt_glyph_outline):
+       (struct sfnt_raster):
+       (struct sfnt_default_uvs_table):
+       (struct sfnt_unicode_value_range):
+       (struct sfnt_nondefault_uvs_table):
+       (struct sfnt_uvs_mapping):
+       (struct sfnt_mapped_variation_selector_record):
+       (struct sfnt_table_offset_rec):
+       (struct sfnt_uvs_context):
+       (struct sfnt_mapped_table):
+       (struct sfnt_variation_axis):
+       (struct sfnt_instance):
+       (struct sfnt_fvar_table):
+       (struct sfnt_short_frac_correspondence):
+       (struct sfnt_short_frac_segment):
+       (struct sfnt_avar_table):
+       (struct sfnt_tuple_variation):
+       (struct sfnt_cvar_table):
+       (struct sfnt_gvar_table):
+       (struct sfnt_blend):
+       (struct sfnt_metrics_distortion):
+       (PROTOTYPE): Update prototypes.
+
+       * src/sfntfont.c (sfntfont_get_glyph_outline):
+       (sfntfont_measure_pcm): Adjust calls.
+
+2023-03-26  Andrew G Cohen  <cohen@andy.bu.edu>
+
+       * lisp/gnus/nnselect.el (nnselect-request-thread): Correctly parse 
queries.
+
+2023-03-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
+
+2023-03-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       Connection-local variables are applied in buffers visiting a remote file
+
+       * etc/NEWS: Connection-local variables are applied in buffers
+       visiting a remote file.
+
+       * test/lisp/net/tramp-tests.el 
(tramp-test34-connection-local-variables):
+       Fix test.
+
+2023-03-25  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix shortdoc-tests when Unicode arrows can be displayed
+
+       New shortdoc functions use Unicode arrows when possible, which caused
+       some tests to fail if run under such circumstances.
+
+       * test/lisp/emacs-lisp/shortdoc-tests.el
+       (shortdoc-tests--to-ascii): New function.
+       (shortdoc-function-examples-test)
+       (shortdoc-help-fns-examples-function-test): Call it.
+
+2023-03-25  Mattias Engdegård  <mattiase@acm.org>
+
+       Generalise a LAP optimisation rule
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a
+       rule previously overlooked.  This is usually beneficial in code size
+       and almost always shortens dynamic paths.
+
+2023-03-24  Yuan Fu  <casouri@gmail.com>
+
+       Switch buffer in Ftreesit_query_capture
+
+       This way both #pred and #match predicates runs in the node's buffer by
+       default.
+
+       * src/treesit.c:
+       (treesit_predicate_match): No need to switch buffer anymore.
+       (Ftreesit_query_capture): Switch buffer.
+
+       * doc/lispref/parsing.texi (Pattern Matching): Update manual.
+
+2023-03-24  Yuan Fu  <casouri@gmail.com>
+
+       Handle signals gracefully in tree-sitter query predicates
+
+       Before this change, predicate functions can signal, which will cause
+       Ftreesit_query_capture to skip freeing the query and cursor object.
+       We make predicate functions return the signal data rather than
+       directly signal.
+
+       * src/treesit.c (treesit_predicate_capture_name_to_node)
+       (treesit_predicate_capture_name_to_text)
+       (treesit_predicate_equal)
+       (treesit_predicate_match)
+       (treesit_predicate_pred)
+       (treesit_eval_predicates): Return signal rather than signaling
+       directly.
+       (Ftreesit_query_capture): Check for returned signal data.
+
+2023-03-24  Yuan Fu  <casouri@gmail.com>
+
+       Refactor Ftreesit_query_capture
+
+       Refactor some part of Ftreesit_query_capture out into separate
+       functions, to pave the way for other query-based functions.
+
+       * src/treesit.c (treesit_resolve_node): New function.
+       (treesit_initialize_query): New function.
+       (Ftreesit_query_capture): Refactor some part into new functions.
+
+2023-03-24  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix invocation of elixir LSP server on MS-Windows
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Invoke the
+       elixir-ls LSP via a batch file if using an MS-Windows shell.
+       (Bug#62407)
+
+2023-03-24  João Távora  <joaotavora@gmail.com>
+
+       Allow users to customize eldoc buffer separator (bug#62029)
+
+       * lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer-separator): New
+       variable.
+       (eldoc--format-doc-buffer): Use it.
+
+2023-03-24  João Távora  <joaotavora@gmail.com>
+
+       Eldoc: slightly enhance meaning of :echo option
+
+       Can now be a string to echo instead of a larger docstring.
+
+       * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions):
+       Describe :echo.
+       (eldoc--echo-area-render): Allow :echo to be string.
+
+2023-03-24  Mattias Engdegård  <mattiase@acm.org>
+
+       * etc/NEWS: Mention that \x without hex digits is an error.
+
+2023-03-24  João Távora  <joaotavora@gmail.com>
+
+       Eldoc: fix bug recently introduced in "old" protocol
+
+       In the "old" protocol, eldoc-documentation-strategy is actually used
+       as the deprecated eldoc-documentation-function and it is itself the
+       "origin" of the doc snippet to be displayed.
+
+       * lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Fix.
+
+2023-03-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-24  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_table_names): Add fvar, gvar, cvar.
+       (sfnt_read_maxp_table): Call xmalloc, not malloc.
+       (sfnt_read_simple_glyph): Avoid use-after-free if simple is
+       invalid.
+       (sfnt_fill_span): Fix max coverage.
+       (sfnt_normalize_vector): Fail if magnitude is zero.
+       (sfnt_measure_distance): Fix opcode order.
+       (sfnt_dot_fix_14): Fix implementation.
+       (struct sfnt_variation_axis, struct sfnt_instance)
+       (struct sfnt_fvar_table, struct sfnt_gvar_table)
+       (sfnt_read_fvar_table, sfnt_read_gvar_table, struct sfnt_blend)
+       (sfnt_init_blend, sfnt_free_blend, sfnt_normalize_blend)
+       (struct sfnt_tuple_header, struct sfnt_gvar_glyph_header)
+       (sfnt_read_packed_points, sfnt_read_packed_deltas)
+       (sfnt_compute_tuple_scale, sfnt_infer_deltas_1, sfnt_infer_deltas)
+       (sfnt_vary_glyph): Add WIP variation glyph implementation.
+       * src/sfnt.h (enum sfnt_table, struct sfnt_simple_glyph):
+       Likewise.
+
+2023-03-23  JD Smith  <jdtsmith@gmail.com>  (tiny change)
+
+       Eglot: let user opt-in to plaintext LSP docs (bug#61373)
+
+       * lisp/progmodes/eglot.el
+       (eglot-prefer-plaintext): New variable.
+       (eglot-client-capabilities): Use it.
+
+2023-03-23  João Távora  <joaotavora@gmail.com>
+
+       Eglot: don't send invisible text to Eldoc
+
+       Eglot's rendering of Markdown is imperfect and based on gfm-view-mode.
+       To make it slightly better, don't send invisible text in
+       eglot-hover-eldoc-function.
+
+       * lisp/progmodes/eglot.el (eglot--format-markup): Hide invisible text.
+
+2023-03-23  João Távora  <joaotavora@gmail.com>
+
+       Eglot: inform ElDoc about overly long 'hover' docs
+
+       * lisp/progmodes/eglot.el (eglot-hover-eldoc-function): Include :echo
+         info in return value.
+
+2023-03-23  João Távora  <joaotavora@gmail.com>
+
+       ElDoc: rework rendering of echo area (bug#62029)
+
+       Previously, the display function 'eldoc-display-in-echo-area' reused
+       the same buffer as 'eldoc-display-in-doc-buffer', but that made it
+       harder to render documentation items differently depending on the
+       specific constraints of each display functions.
+
+       Allow documentation-generating backends to pass an :echo-area property
+       for tweaking the echo area display of certain documentation items.
+
+       * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Update 
docstring.
+       (eldoc--doc-buffer-docs): Remove.
+       (eldoc--format-doc-buffer): Simplify.
+       (eldoc--echo-area-render): New helper.
+       (eldoc-display-in-echo-area): Use 'eldoc--echo-area-render'.
+
+2023-03-23  João Távora  <joaotavora@gmail.com>
+
+       ElDoc: remember origin backend in doc snippets (bug#62029)
+
+       This lays groundwork for discriminating between different
+       documentation providers in ElDoc display outlets, i.e. members
+       of eldoc-display-functions
+
+       * lisp/emacs-lisp/eldoc.el (eldoc--make-callback): Take extra origin 
arg.
+       (eldoc-documentation-compose-1)
+       (eldoc-documentation-compose-eagerly)
+       (eldoc-documentation-default): Pass extra arg to eglot--make-callback.
+       (eldoc--invoke-strategy): Rework.
+       (eldoc-documentation-functions): Work docstring.
+
+2023-03-23  João Távora  <joaotavora@gmail.com>
+
+       Eglot: rework progress indicators
+
+       Show progress indicator in Eglot's mode line by default.
+
+       * lisp/progmodes/eglot.el (eglot-report-progress): Work docstring.
+       (eglot--mode-line-format): Rework.
+       (eglot-handle-notification $/progress): Rework.
+
+2023-03-23  João Távora  <joaotavora@gmail.com>
+
+       Eglot: more leniently handle 'window/showMessageRequest'
+
+       Some servers mess up this message's arguments.
+
+       * lisp/progmodes/eglot.el (eglot-handle-request): Fix.
+
+2023-03-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       New user option remote-file-name-inhibit-auto-save
+
+       * doc/misc/tramp.texi (Auto-save File Lock and Backup):
+       Mention remote-file-name-inhibit-auto-save.
+       (Frequently Asked Questions): Describe, how to suppress auto-save.
+
+       * etc/NEWS: Add remote-file-name-inhibit-auto-save.
+
+       * lisp/simple.el (remote-file-name-inhibit-auto-save): New defcustom.
+       (auto-save-mode): Handle it.  (Bug#62260)
+
+       * lisp/net/tramp-integration.el
+       (tramp-set-connection-local-variables-for-buffer): Declare.
+       (find-file-hook): Add `tramp-set-connection-local-variables-for-buffer'.
+
+2023-03-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       * test/infra/Dockerfile.emba (emacs-eglot): Install wget.
+
+2023-03-23  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Add heex-ts-mode to eglot-server-programs (bug#62327)
+
+       The same language server is used for elixir and heex modes.
+
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add heex-ts-mode.
+
+2023-03-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       6de00e4df99 ; Fix xref-match's :version since the default value did c...
+       db355b420b6 Use libgccjit-10-dev on EMBA
+       84963956535 * lisp/outline.el (outline--fix-buttons-after-change): Ad...
+       3d3bbaace69 Align concatenated strings to the first sibling in c-ts-mode
+       f856468e457 Only fill the current paragraph in c-ts-common--fill-bloc...
+       df669c5a11f Add missing indent rule for c-ts-mode
+
+2023-03-22  Sean Whitton  <spwhitton@spwhitton.name>
+
+       Make icomplete-tidy-shadowed-file-names into a defcustom
+
+       lisp/icomplete.el (icomplete-tidy-shadowed-file-names): Make variable
+       into a defcustom.
+
+2023-03-22  Felician Nemeth  <felician.nemeth@gmail.com>
+
+       Subject: send clientInfo during the initialize request
+
+       'clientInfo' arrived in LSP 3.15.0.  LSP clients can use clientInfo to
+       identify themselves in the initialize request.  This is generally
+       useful for various debugging tasks.
+
+       * lisp/progmodes/eglot.el (eglot--connect): Send clientInfo.
+       Author:
+
+2023-03-22  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix compilation of lib-src/movemail
+
+       * lib-src/movemail.c: Include timespec.h.  Reported by Andreas
+       Schwab <schwab@linux-m68k.org>.
+
+2023-03-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add platform for Eglot tests on EMBA
+
+       * test/infra/Dockerfile.emba (emacs-eglot): New image.
+
+       * test/infra/gitlab-ci.yml (.eglot-template): New template.
+       (build-image-eglot, test-eglot): New jobs.
+
+2023-03-22  Robert Pluim  <rpluim@gmail.com>
+
+       Make eglot--clangd-version more robust
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--clangd-version): Check
+       for 'version ' followed by a combination of numbers and dots to
+       extract the clangd version.
+
+2023-03-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       8b6a0de964d Improve docstring of treesit-parent-while (bug#62301)
+       35648a86730 ; Delete accidental leftover '()' Eglot function
+       47d8e4b0d38 Eglot: report window/workDoneProgress capability to langu...
+       4a7a0c9a9f5 * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Impr...
+       4a6eefb93a5 Expand defvar-keymap documentation
+       7a1272168af * lisp/treesit.el (treesit-end-of-defun): Guard arg again...
+       263d6c38539 Comp fix calls to redefined primtives with op-bytecode (b...
+       6bf441ff115 Warn package authors away from keymap-unset with REMOVE
+       786de66ec3c Comment out jobs on EMBA
+       eed240bc022 Improve defvar-keymap docstring.
+
+2023-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (describe-function): Load file for `...' references
+
+       To fix bug#62300, we do the same for `...' as we already did for \[...]
+
+       * lisp/help-fns.el (describe-function-1): Look for `...'
+       references in addition to key substitution markup.
+
+2023-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sleep less in update-game-score
+
+       This is mostly to avoid interface hassles with time/srand/rand.
+       * lib-src/update-game-score.c (main): Don’t use ‘srand’ or ‘time’.
+       (lock_file): Don’t sleep if we unlocked the lock file.  When
+       sleeping, always just sleep 1 s.  This avoids the need for calling
+       ‘time’ and ‘rand’, the utility of which was dubious anyway.
+
+2023-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid backwards clock in movemail timestamps
+
+       * lib-src/movemail.c (mbx_delimit_begin): Use ‘current_timespec’
+       instead of ‘time’ to generate the user-visible timestamp.
+       This works around the minor glitch caused by glibc bug 30200
+       <https://sourceware.org/bugzilla/show_bug.cgi?id=30200>.
+
+2023-03-21  Michael Albinus  <michael.albinus@gmx.de>
+
+       Invert variable alias declaration in Tramp
+
+       * lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
+       Invert alias declaration.  (Bug#62295, Bug#62329)
+
+2023-03-21  João Távora  <joaotavora@gmail.com>
+
+       Skip Eglot test if using very old clangd
+
+       * test/lisp/progmodes/eglot-tests.el (eglot--clangd-version): New
+       helper.
+       (eglot-test-diagnostic-tags-unnecessary-code): Use it.
+
+2023-03-21  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp backward compatibility
+
+       * lisp/net/tramp-gvfs.el (while-no-input-ignore-events):
+       Add `dbus-event' for older Emacs versions.
+
+2023-03-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac: Add support for HarfBuzz on Android.
+       * java/INSTALL: Document where to get Emacs with HarfBuzz.
+       * lisp/subr.el (overriding-text-conversion-style, y-or-n-p):
+       Correctly set text conversion style if y-or-n-p is called inside
+       the minibuffer.
+       * src/sfnt.c (sfnt_read_cmap_format_8)
+       (sfnt_read_cmap_format_12): Fix typos.
+       (sfnt_read_24, sfnt_read_cmap_format_14): New function.
+       (sfnt_read_cmap_table_1, sfnt_read_cmap_table): Handle format 14
+       cmap tables.
+       (sfnt_read_default_uvs_table, sfnt_read_nondefault_uvs_table)
+       (sfnt_compare_table_offsets, sfnt_create_uvs_context)
+       (sfnt_free_uvs_context, sfnt_compare_uvs_mapping)
+       (sfnt_variation_glyph_for_char, sfnt_map_table, sfnt_unmap_table)
+       (sfnt_read_table, sfnt_test_uvs): New functions.
+       (main): Add UVS tests.
+       * src/sfnt.h (struct sfnt_cmap_format_14)
+       (struct sfnt_variation_selector_record)
+       (struct sfnt_default_uvs_table, struct sfnt_unicode_value_range)
+       (struct sfnt_nondefault_uvs_table, struct sfnt_uvs_mapping)
+       (struct sfnt_mapped_variation_selector_record)
+       (struct sfnt_table_offset_rec, struct sfnt_uvs_context)
+       (struct sfnt_mapped_table): New structures.  Update prototypes.
+       * src/sfntfont-android.c (android_sfntfont_driver): Register
+       HarfBuzz callbacks where required.
+       * src/sfntfont.c (sfntfont_select_cmap): Look for a format 14
+       table.  Save it in new arg FORMAT14.
+       (sfntfont_read_cmap): Adjust accordingly.
+       (struct sfnt_font_info): New field `uvs'.  New fields `hb_font',
+       `fd' and `directory'.
+       (sfntfont_open): Open uvs context.  Under HarfBuzz, don't close
+       the fd or subtable, but save them in the font info instead.
+       (sfntfont_close): Free UVS context.  Close font fd and table
+       directory and HarfBuzz font.
+       (sfntfont_draw): Handle case where s->padding_p.
+       (sfntfont_get_variation_glyphs): New function.
+       (sfntfont_unmap_blob, sfntfont_get_font_table)
+       (sfntfont_begin_hb_font): New functions.
+       * src/sfntfont.h: Update prototypes.
+       * src/textconv.c (Fset_text_conversion_style): Fix doc string.
+
+2023-03-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       b7f03333551 Improve warning about changing the string returned by sym...
+       e62f8b0239d Fix visiting XBM/XPM files when 'c-ts-mode' is active
+       94d1c81cf07 * lisp/mpc.el (mpc-format): Fix oversight in commit 48b6c...
+       a4d97811ed4 Bail early from eglot--apply-text-edits if nothing to do
+       61d571760b3 ; Clarify in-code commentary of eglot--after-change
+       5bbbd70f56e Improve ergonomics of Eglot's inlay hints
+       c3a543123ab Protect against too large size of 'recent-keys' vector
+       231190b37f8 * lisp/net/tramp.el (tramp-yn-prompt-regexp): Fix regexp.
+       0bebd0e5f09 ; Remove 'build-module' and 'html-manual' directories fro...
+       6674c362ad9 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       829e5dfabea Update to Org 9.6.1-48-g92471e
+       e84f878e19a ; * admin/notes/tree-sitter/starter-guide: Update starter...
+       ea0949853f8 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       11592bcfda6 ; * lisp/nxml/xmltok.el (xmltok-scan-attributes): Fix las...
+       e388a77cf0b ; Minor copyedits of recent changes in ELisp reference ma...
+       33a26703689 ; Minor fixes in recent Eglot changes
+       d2cf1386fa4 ; * doc/misc/eglot.texi (Eglot Commands): Improve indexing.
+       b75e489362b ; Again correct node reference casing in doc/misc/eglot.texi
+       a55d2edc5a9 ; Remove overly verbose commentary
+       22a70451f34 Merge confusing duplicate sections on commands in Eglot m...
+       3293f939882 Don't take over mouse-1 binding on Eglot diagnostics (bug...
+       013057e3512 ; Prefer "language server" to "LSP server" in Eglot manual
+       94a21c88647 * lisp/progmodes/eglot.el (eglot--connect): Improve Tramp...
+       0eddfa28ebd Avoid slowdowns in xmltok-scan-attributes
+       647c6bf2a6c ; * test/lisp/abbrev-tests.el (abbrev--possibly-save-test...
+       531f8f7103a ; * admin/git-bisect-start: Update failing commits
+
+       # Conflicts:
+       #       admin/notes/tree-sitter/build-module/batch.sh
+       #       admin/notes/tree-sitter/build-module/build.sh
+
+2023-03-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       aedb9e3ec37 Add tests for Bug#62207
+       faee8d50738 ; Fix 'make-obsolete-variable' forms
+
+2023-03-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       ea87c54f359 ; * lisp/subr.el (setq-local): Add missing period (bug#62...
+       90362f87d58 ; Correct last commit, downcase node reference
+       38067f05b92 Enhance section about troubleshooting in Eglot manual.
+       6f82596b490 Fix Eglot's snippet insertion to follow the manual
+       c54bda15e35 Reset abbrevs-changed after saving abbrevs (bug#62208)
+       e8cee15f780 ; Fix markup in previous change
+       e4a7d0cd6ea Document `keymap-unset' in lispref
+       bb3e0ded9eb Don't add a key binding when REMOVE is non-nil
+       a4a9ffdd80a Fix the documentation of various aspects of adding Xref h...
+       a2222b9a9bf ; Minor wording fix in ELisp reference manual
+       5cf1de683b2 Fix python-fill-paragraph problems on filling strings (bu...
+       7385c991dff Also exempt eglot-inlay-hints-mode from desktop.el's fumb...
+       1961bdb52ed ; Add WebDAV entry to index in Tramp manual
+       dfb36d36230 Refer to EWW instead of w3 and w3m
+       9d3fdf7e0d4 Fix Eglot's command generation for code actions
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-03-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       028f1102738 Fix quoting of font-family in 'hfy-family'
+       4cb8a850b08 ; Tweak doc/misc/eglot.texi
+       d5d4959ed7d Document how to construct JSONRPC arrays in Eglot manual
+       078cf512eef * test/infra/Dockerfile.emba: Use debian:bullseye.
+       61adb44318a * configure.ac: Fix native comp compatibility check (bug#...
+       d814c249f44 * test/infra/Dockerfile.emba: Install clangd.
+       27edd7f88cb Remove 'package-vc--query-spec'
+       39fea115515 Do not store :lisp-dir in package descriptors
+       168165178f3 Use 'package-vc-selected-packages' to store package specs
+
+2023-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (textsec-bidi-controls-suspicious-p): Minor tweak
+
+       * lisp/international/textsec.el (textsec-bidi-controls-suspicious-p):
+       Don't assume point-min==1 (and point-min is marginally more
+       efficient, to boot).
+
+2023-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/frame.el (handle-move-frame): Fix corner case error
+
+2023-03-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Rename tramp-use-ssh-controlmaster-options to tramp-use-connection-share
+
+       * doc/misc/tramp.texi (Ssh setup): Use tramp-use-connection-share.
+       Describe its settings for PuTTY.
+       (Remote processes): Use tramp-use-connection-share.
+
+       * etc/NEWS: Renamed user option tramp-use-connection-share.
+
+       * lisp/net/tramp-integration.el
+       (tramp-compile-disable-ssh-controlmaster-options):
+       Use `tramp-use-connection-share'.
+
+       * lisp/net/tramp-sh.el (tramp-use-connection-share):
+       Rename from `tramp-use-ssh-controlmaster-options'.  Make it a
+       defvaralias to `tramp-use-ssh-controlmaster-options'.
+       (tramp-ssh-controlmaster-options): Adapt docstring.
+       (tramp-methods) <plink, plinkx, pscp, psftp>: Adapt.
+       (tramp-ssh-controlmaster-options): Add plink implementation.
+
+2023-03-19  Jim Porter  <jporterbugs@gmail.com>
+
+       Don't over-normalize file names starting with "~" in Eshell
+
+       Previously, this would call 'expand-file-name' on the file name, but
+       that normalizes the value, turning something like "~/." into
+       "/home/user".  As a result, Pcomplete didn't work for dotfiles after
+       "~/" (bug#28064).
+
+       * lisp/eshell/em-dirs.el (eshell-expand-user-reference): New
+       function...
+       (eshell-expand-user-reference): ... use it.
+
+2023-03-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsView.java (onAttachedToWindow): Send
+       measured width and height in exposures again.
+
+2023-03-18  Michael Albinus  <michael.albinus@gmx.de>
+
+       Prefix Tramp internal process properties with "tramp-".
+
+       * lisp/net/tramp.el (tramp-get-process, tramp-message)
+       (tramp-handle-make-process, tramp-handle-file-notify-valid-p)
+       (tramp-process-actions, tramp-accept-process-output)
+       (tramp-process-sentinel, tramp-read-passwd)
+       (tramp-interrupt-process, tramp-signal-process):
+       * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
+       * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
+       * lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
+       (tramp-gvfs-monitor-process-filter)
+       (tramp-gvfs-maybe-open-connection):
+       * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
+       * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
+       (tramp-sh-handle-file-notify-add-watch)
+       (tramp-sh-gio-monitor-process-filter)
+       (tramp-sh-inotifywait-process-filter)
+       (tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+       (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
+       (tramp-smb-maybe-open-connection):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection)
+       (tramp-sudoedit-send-command): Prefix internal process properties
+       with "tramp-".
+
+2023-03-18  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Eliminate duplicate function c-list-of-strings
+
+       Replace it with the existing c-string-list-p.  Also put an autoload 
cookie in
+       front of c-string-list-p so that it will not be signalled as undefined 
by
+       loaddefs.el.
+
+       lisp/progmodes/cc-vars.el (c-string-list-p): Make this autoload.
+       (c-list-of-strings): Remove.
+       (c-font-lock-extra-types, c++-font-lock-extra-types)
+       (objc-font-lock-extra-types, java-font-lock-extra-types)
+       (idl-font-lock-extra-types, pike-font-lock-extra-types): In the autoload
+       cookies, replace c-list-of-strings with c-string-list-p.
+
+2023-03-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-18  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix 'find-ls-option-default-ls' for BSD/MacOS (bug#62096)
+
+       * lisp/find-dired.el (find-gnu-find-p): New variable to determine
+       if "find" is a GNU find.
+       (find-ls-option-default-ls): Use 'find-gnu-find-p' and adapt to a
+       value that works with the default "find" on *BSD and Darwin/MacOS.
+       Tested on OpenBSD and MacOS.
+
+2023-03-18  Po Lu  <luangruo@yahoo.com>
+
+       Remove extraneous debugging code
+
+       * src/androidterm.c (handle_one_android_event): Don't log expose
+       events.
+
+2023-03-18  Po Lu  <luangruo@yahoo.com>
+
+       Work around pselect lossage on Android
+
+       * src/android.c (android_run_select_thread): New flag.  Use it
+       rather than the rc of pselect and errno to determine whether or
+       not it has been interrupted.
+       (android_handle_sigusr1): Set said flag.
+
+2023-03-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView)
+       (prepareForLayout): New function.  Call this prior to mapping
+       the view.
+       (onGlobalLayout): New function.  Register as global layout
+       listener.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
+       (notifyContentRectPosition): New function.  Use specified
+       xPosition and yPosition when reporting the offsets of children
+       of the root window.
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (registerWindow): Specify activity launch bounds if necessary.
+       * src/androidterm.c (handle_one_android_event): Send
+       MOVE_FRAME_EVENT where necessary.
+
+2023-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Include more information in Android bug reports
+
+       * src/androidfns.c (Fx_server_vendor, Fx_server_version): New
+       functions.
+       (syms_of_androidfns): Define new functions.
+       * src/androidterm.c (android_set_build_fingerprint)
+       (syms_of_androidterm): Set new variable
+       Vandroid_build_manufacturer.
+       * src/xfns.c (Fx_server_vendor, Fx_server_version): Update doc
+       strings.
+
+2023-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Fix WINDOWSNT build of fileio.c and image.c
+
+       * src/fileio.c (emacs_fd_to_int): Don't define on WINDOWSNT.
+       * src/image.c (image_create_bitmap_from_data): Don't abort if
+       !defined HAVE_ANDROID.
+
+2023-03-17  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/subr.el (string-prefix-p, string-suffix-p): Not pure.
+
+       The `ignore-case` arguments prevent these functions from being pure.
+
+2023-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac:
+       * m4/ndk-build.m4 (ndk_INIT):
+       (ndk_LATE): Avoid AC_REQUIRE magic.
+
+2023-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-17  Jim Porter  <jporterbugs@gmail.com>
+
+       Simplify usage of 'while' forms in Eshell's iterative evaluation
+
+       Now, 'eshell-do-eval' rewrites 'while' forms to let-bind variables for
+       the command and test bodies.  This means that external code, such as
+       command rewriting hooks, no longer has to worry about this, making it
+       easier to pass "normal" Lisp forms to 'eshell-do-eval' (bug#61954).
+
+       * lisp/eshell/esh-cmd.el (eshell-command-body, eshell-test-body): No
+       longer used outside of 'eshell-do-eval', so rename to...
+       (eshell--command-body, eshell--test-body): ... these.
+       (Command evaluation macros): Remove obsolete description about 'if'
+       and 'while' forms.
+       (eshell-rewrite-for-command, eshell-structure-basic-command): Remove
+       'eshell-command-body' and 'eshell-test-body'.
+       (eshell-do-eval): Reimplement handling of 'while' forms.
+
+2023-03-17  Jim Porter  <jporterbugs@gmail.com>
+
+       Simplify how Eshell's iterative evaluation handles 'if' forms
+
+       The previous implementation used 'eshell-test-body' and
+       'eshell-command-body' to track the condition and the then/else forms,
+       but those special variables are only needed for looping.  'if' only
+       evaluates each form once at most (bug#61954).
+
+       * lisp/eshell/esh-cmd.el (Command evaluation macros): Remove 'if' from
+       the notes about 'eshell-test-body' and 'eshell-command-body'.
+       (eshell-do-eval): Reimplement evaluation of 'if' forms.
+       (eshell-eval-command): Don't let-bind 'eshell-command-body' and
+       'eshell-test-body'; they're no longer needed here.
+
+2023-03-17  Jim Porter  <jporterbugs@gmail.com>
+
+       Simplify iteration in Eshell for loops
+
+       The previous code fixed an issue in Eshell's iterative evaluation
+       where deferred commands caused an infinite loop (see bug#12571).
+       However, with the fix to unwinding let forms in 'eshell-do-eval' (see
+       bug#59469), we can just write this code as we normally would
+       (bug#61954).
+
+       * lisp/eshell/esh-cmd.el (eshell-rewrite-for-command): Simplify.
+
+2023-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Improve radio button appearance in Android menus
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
+       New field `lastGroupId'.
+       (Item): New field `isRadio'.
+       (addItem): New arg `isRadio'.
+       (inflateMenuItems): Apply an empty radio button group if
+       required.
+       * src/androidmenu.c (android_init_emacs_context_menu): Adjust
+       accordingly.
+       (android_menu_show): Likewise.
+
+2023-03-17  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsView.java (cancelPopupMenu): Dismiss
+       context menu correctly.
+       (isOpaque): New function.
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java: Make
+       consumer list public.
+
+2023-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix regression in Tramp (bug#62194)
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
+       (tramp-sh-handle-file-notify-add-watch)
+       (tramp-maybe-open-connection): Don't set process property
+       `shared-socket'.  (Bug#62194)
+
+2023-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/frame.el (android-detect-mouse):
+       * lisp/term/android-win.el (android-get-connection): Add
+       function declarations.
+
+2023-03-16  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Fix elixir-ts-mode.elc warning (bug#62155)
+
+       * lisp/progmodes/elixir-ts-mode.el: Only require heex-ts-mode once
+       elixir-ts-mode loads to avoid calling (treesit-ready-p 'heex)
+       during byte-compilation.
+
+2023-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Make ANDROID_CC and SDK_BUILD_TOOLS precious variables
+
+       * configure.ac (AUTO_DEPEND, ANDROID_STUBIFY, ANDROID_LDFLAGS):
+       * lib/Makefile.in (ANDROID_CFLAGS, ANDROID_BUILD_CFLAGS)
+       (ALL_CFLAGS):
+       * lib/gnulib.mk.in (AM_DEFAULT_VERBOSITY):
+       * msdos/sed1v2.inp:
+       * msdos/sedlibmk.inp:
+       * src/Makefile.in (ANDROID_OBJ, EMACS_CFLAGS): Make those
+       variables precious.  Rename ANDROID_CFLAGS substitution to
+       ANDROID_BUILD_CFLAGS.
+
+2023-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * nt/mingw-cfg.site: Suppress build of gnulib printf.
+
+2023-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java (queryRoots): Add
+       icon to document root.
+
+2023-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/loadup.el (current-load-list): Set to empty load list
+       after startup.
+       * src/lread.c (build_load_history): Revert earlier changes.
+
+2023-03-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Minor Tramp cleanup
+
+       * lisp/net/tramp-sh.el (tramp-run-test): Add VEC argument.
+       (tramp-sh-handle-file-executable-p)
+       (tramp-sh-handle-file-readable-p)
+       (tramp-sh-handle-file-directory-p)
+       (tramp-sh-handle-file-writable-p): Adapt callees.
+
+2023-03-15  Philip Kaludercic  <philipk@posteo.net>
+
+       Always display the "Archive" column in the package list
+
+       * lisp/emacs-lisp/package.el (package-menu-mode): Always display
+       column.
+       (package-menu--print-info-simple): Always provide column information.
+
+       Since NonGNU ELPA has been added to the default value of
+       'package-archives', this condition is practically never satisfied,
+       meaning the code can be simplified.
+
+2023-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac: Improve portability.
+
+2023-03-15  João Távora  <joaotavora@gmail.com>
+
+       Unbreak Eglot (as a :core ELPA package) on Emacs 26.3
+
+       Because of the lack of regular automated testing on a CI system, many
+       recent developments in and outside Eglot had wrecked this
+       compatibility.
+
+       The GitHub CI available at https://github.com/joaotavora/eglot/actions
+       can be used to run this combination of eglot.el + eglot-tests.el on
+       26.3, 27.2 and 28.2.
+
+       * etc/EGLOT-NEWS: Mention new version.
+
+       * lisp/progmodes/eglot.el (eglot--reporter-update): New
+       compatibility shim.
+       (eglot-handle-notification $/progress): Use it.
+       (eglot-handle-notification textDocument/publishDiagnostics): Use
+       two-arg assoc-delete-all.
+       (Version): Bump to 1.13.
+
+       * test/lisp/progmodes/eglot-tests.el
+       (Commentary): Tweak.
+       (tramp): Tweak require;
+       (eglot-test-diagnostic-tags-unnecessary-code): Use
+       jsonrpc--encode.
+       (eglot--call-with-tramp-test): Adjust dependency on
+       ert-remote-temporary-file-directory.
+       (eglot-test-rust-on-type-formatting)
+       (eglot-test-project-wide-diagnostics-rust-analyzer): Wait longer.
+
+2023-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-15  Robert Pluim  <rpluim@gmail.com>
+
+       Fix typos in Android port
+
+       * src/fileio.c (Finsert_file_contents):
+       * src/window.c (replace_buffer_in_windows): Call Fboundp, not
+       boundp.
+
+2023-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * cross/Makefile.in (lib/gnulib.mk): Edit out
+       build-aux stuff.
+       * m4/ndk-build.m4: Also look for cross ranlib.
+
+2023-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Port to systems without endian.h
+
+       * lib-src/asset-directory-tool.c (main_2): Port to systems
+       without htole32.
+
+2023-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (XCONFIGURE): Disable NS.
+       * cross/Makefile.in (lib-src/config.h):
+
+       (lib/libgnu.a):
+       (src/android-emacs): Port sed invocation to Mac OS without GNU
+       sed.
+
+2023-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Misc Events): Document variable
+       `disable-inhibit-text-conversion'.
+       * java/org/gnu/emacs/EmacsDialog.java (display1): Try an
+       activity that is certain to be focused first.
+       * lisp/touch-screen.el (touch-screen-track-tap)
+       (touch-screen-track-drag): Bind
+       `disable-inhibit-text-conversion'.
+       * src/keyboard.c (read_key_sequence): Only disable text
+       conversion if an actual function or numeric key is found in the
+       key sequence.
+       (syms_of_keyboard): New variable
+       `disable-inhibit-text-conversion'.
+       * src/lread.c (read_filtered_event): Check new variable.
+       * src/textconv.c (textconv_query): Remove unused label.
+
+2023-03-15  João Távora  <joaotavora@gmail.com>
+
+       More fixes to Eglot tests
+
+       * test/lisp/progmodes/eglot-tests.el
+       (eglot-test-project-wide-diagnostics-rust-analyzer): Make even more
+       robust.
+       (eglot--wait-for): flush-standard-output doesn't exist in older
+       Emacsen.
+       (eglot-test-basic-diagnostics): Increase timeout.
+
+2023-03-15  Po Lu  <luangruo@yahoo.com>
+
+       Omit gnulib modules added by Android port on MinGW
+
+       * nt/gnulib-cfg.mk: Omit new gnulib modules.
+
+2023-03-14  João Távora  <joaotavora@gmail.com>
+
+       Improve debug output of Eglot tests
+
+       * test/lisp/progmodes/eglot-tests.el
+       (eglot--test-message): New helper.
+       (eglot--call-with-fixture): Use it.
+       (eglot--cleanup-after-test): Use it.
+       (eglot--wait-for): Use it.  Clean mistaken docstring.
+
+2023-03-14  João Távora  <joaotavora@gmail.com>
+
+       Robustify some Eglot tests involving rust-analyzer
+
+       * eglot-tests.el (eglot-test-diagnostics-tags-unnecessary-code): Use
+       clangd instead of rust-analyzer.
+       (eglot-test-project-wide-diagnostics-rust-analyzer): Don't count
+       diagnostics, just check they come from unvisited file.
+       (eglot-test-rust-analyzer-watches-files): Wait a bit more time..
+
+2023-03-14  João Távora  <joaotavora@gmail.com>
+
+       Check before using bleeding edge ERT sym in Eglot tests
+
+       Else, these tests won't run on Emacs versions that Eglot runs on, like
+       26.3.
+
+       * test/lisp/progmodes/eglot-tests.el
+       (eglot--call-with-tramp-test):  check for
+       ert-remote-temporary-file-directory before using.
+
+2023-03-14  João Távora  <joaotavora@gmail.com>
+
+       Better jsonrpc.el workaround for debug-on-error check
+
+       Some extensions, notably ert.el, set `debug-on-error' to non-nil,
+       which makes it hard to test the behaviour catching of the Elisp
+       error when processing a request and replying to the endpoint with
+       an JSONRPC-error.
+
+       The previous workaround relied on requiring lisp/emacs-lisp/ert.el in
+       lisp/jsonrpc.el, which really doesn't make sense.
+
+       This is better.  For the single test of that behaviour, set a new
+       variable, jsonrpc-inhibit-debug-on-error.
+
+       Not only is this cleaner, it allows us to use ert.el's useful
+       debug-on-error setting.
+
+       * lisp/jsonrpc.el (ert): Don't require it.
+       (jsonrpc-inhibit-debug-on-error): New variable.
+       (jsonrpc-connection-receive): Use it.
+       (Package-Requires): Bump to 1.0.17
+
+       * test/lisp/jsonrpc-tests.el (signals-an--32603-JSONRPC-error):
+       Bind jsonrpc-inhibit-debug-on-error.
+
+2023-03-14  João Távora  <joaotavora@gmail.com>
+
+       Merge from origin/emacs-29
+
+       4b6f2a7028b * lisp/progmodes/xref.el: Bump the version.
+       24c8b146bbc * lisp/progmodes/xref.el (xref--xref-buffer-mode): Split ...
+       46f9e53c3da Fix import of keys in buffer created by epa-search-keys
+       36ade0704e1 Fix connection-local variables settings
+       e759905d2e0 ; Minor copyedits in EGLOT-NEWS
+       ba22a2c346b Bump Eglot version to 1.12
+       54e123a5055 Update Eglot's manual about eglot-workspace-configuration
+       812597f864c ; * lisp/novice.el (disabled-command-function): Add note ...
+       4a603c98499 Amend last Eglot commit (bug#62065)
+       b916ec88b2f Make eglot-ensure's post-command-hook run a bit later (bu...
+       1c05175c21a Fix display of disabled-command help text
+       3ce37db9882 Remove mention of old dotted-list reader quirk from manual
+       42335c2c1f1 Fix value history shown for 'gc-cons-percentage'
+       fffbce29349 TRework fix for bug#62106
+       8bc12a27362 ; * etc/NEWS: Fix last change.
+       2ac068d294e ; Remove 'ns-popup-font-panel' from documentation
+       5bc32d008fb Add missing indentation rule for rust-ts-mode (Bug#62109)
+       0404924930d ; One more improvement to ELisp "internals" appendix.
+       c857775ca61 Fix bug#62106
+       0fedbfa6a9d ; Minor improvement of documentation of GC thresholds
+       b0b24ad2fc5 Add missing rust-ts-mode highlight query for scoped_type_...
+       c0cf69f7a17 Make "case" keyword a dedenter in Python
+       db178517ce7 ; * lisp/arc-mode.el (w32-get-console-codepage): Declare.
+       157a91b54be Fix decoding non-ASCII file names in zip archives on MS-W...
+       4803f972047 Fix copying binary files from zip archives
+       679f528b953 Skip ruby-ts-syntax-propertize-symbol unless treesitter i...
+       081cc7aa8e0 ; * doc/misc/eglot.texi (Project-specific configuration):...
+       1de513a29fa Fix enums and unions appearing as structs in c-ts-base-mo...
+       ecdfd584a52 ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086)
+       29228e24f20 python-info-dedenter-opening-block-positions: Fix to supp...
+       01b65d442ad Autoload Eglot helper funtion eglot--debbugs-or-github-bu...
+       50a3559c5a7 Add chapter on advanced server configuration to Eglot manual
+       2e7460c2315 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture...
+       255eeee0e06 java-ts-mode: detect if text_block is supported.
+       6fe9075ff38 Revert workaround introduced in Bug#56271
+       f175141aead Fix searching for end of string in python-nav-end-of-stat...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-03-14  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * lisp/minibuffer.el (minibuffer-setup-on-screen-keyboard):
+       Handle cases where last-event-frame is a kbd macro.
+       * src/keyboard.c (lispy_function_keys): Remove duplicates.
+
+2023-03-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp tests
+
+       * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion):
+       Fix test.
+       (tramp-test45-asynchronous-requests): Mark it :unstable.
+
+2023-03-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp processes to accept output over the same socket
+
+       * lisp/net/tramp.el (tramp-accept-process-output): Don't use TIMEOUT
+       anymore, default it to 0.  When the connection uses a shared
+       socket possibly, accept also the output from other processes over
+       the same connection.  (Bug#61350)
+       (tramp-handle-file-notify-rm-watch, tramp-action-process-alive)
+       (tramp-action-out-of-band, tramp-process-one-action)
+       (tramp-interrupt-process):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
+       * lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
+       (tramp-smb-action-set-acl, tramp-smb-wait-for-output):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
+       Adapt callees.
+
+       * lisp/net/tramp.el (tramp-handle-make-process):
+       * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
+       (tramp-sh-handle-file-notify-add-watch)
+       (tramp-maybe-open-connection): Set `shared-socket' property.
+
+2023-03-14  Robert Pluim  <rpluim@gmail.com>
+
+       * lisp/server.el (server-eval-at): Improve docstring
+
+2023-03-14  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS build
+
+       * msdos/sed1v2.inp:
+       * msdos/sed3v2.inp:
+       * msdos/sedlibcf.inp:
+       * msdos/sedlibmk.inp: Update for Android port and new Gnulib
+       modules.
+
+2023-03-14  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsWindow.java (figureChange): Detect
+       mice on up events as well.
+       (onSomeKindOfMotionEvent): Work past framework bug.
+       * src/androidterm.c (android_perform_conversion_query):
+       * src/textconv.c (textconv_query):
+       * src/textconv.h (TEXTCONV_SKIP_ACTIVE_REGION): Remove unused
+       code.
+
+2023-03-14  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Windowing): Document how to
+       display dialogs when Emacs is in the background.
+       * java/org/gnu/emacs/EmacsDialog.java (display1): Use system
+       dialogs if possible.
+
+2023-03-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-13  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Allow lists of strings as safe values for 
*-font-lock-extra-types
+
+       * lisp/progmodes/cc-vars.el (c-list-of-strings): New function.
+       (c-font-lock-extra-types, c++-font-lock-extra-types)
+       (objc-font-lock-extra-types, java-font-lock-extra-types)
+       (idl-font-lock-extra-types, pike-font-lock-extra-types): Add a :safe 
entry
+       into each of thes defcustoms for c-list-of-string.
+       (Top level): Add an autoload entry for each of the above.
+
+2023-03-13  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * etc/NEWS: Announce new option.
+       * lisp/menu-bar.el (menu-bar-close-window): New option.
+       (kill-this-buffer):
+       (kill-this-buffer-enabled-p): Adjust accordingly.
+       * src/keyboard.c (lispy_function_keys): Add more silly
+       keys.
+
+2023-03-13  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_check_string, android_build_string):
+       Reduce consing when building menu bar strings.
+
+2023-03-13  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Startup): Document changes to
+       emacsclient wrapper.
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
+       (startEmacsClient): Open EmacsActivity if the service is not
+       running.
+       * java/org/gnu/emacs/EmacsService.java (onCreate):
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread, run): Pass
+       any file to open to Emacs.
+       * lisp/term/android-win.el (handle-args-function): Implement.
+
+2023-03-13  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/image.c (image_create_bitmap_from_file, image_find_image_fd)
+       (close_android_fd, slurp_file): Return and use `struct
+       android_fd_or_asset' on Android.
+       (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
+       (webp_load, svg_load): Adjust accordingly.
+
+2023-03-13  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-12  Mattias Engdegård  <mattiase@acm.org>
+
+       Repair and speed up safe-copy-tree and make it internal (bug#61962)
+
+       There is no particular requirement for safe-copy-tree so let's make it
+       internal for now.  The new implementation is faster and more correct.
+
+       * doc/lispref/lists.texi (Building Lists):
+       * etc/NEWS:  Remove doc and announcement.
+       * lisp/subr.el (safe-copy-tree--seen, safe-copy-tree--1)
+       (safe-copy-tree): Remove old version.
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--copy-tree-seen)
+       (bytecomp--copy-tree-1, bytecomp--copy-tree): Add new version.
+       (byte-compile-initial-macro-environment): Use it.
+       * test/lisp/subr-tests.el (subr--safe-copy-tree):
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--copy-tree):
+       Move and improve tests.
+
+2023-03-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make Tramp file name completion more quiet for all backends
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
+       * lisp/net/tramp-archive.el
+       (tramp-archive-handle-file-name-all-completions):
+       * lisp/net/tramp-crypt.el 
(tramp-crypt-handle-file-name-all-completions):
+       * lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
+       * lisp/net/tramp-sudoedit.el
+       (tramp-sudoedit-handle-file-name-all-completions):
+       Return nil when DIRECTORY is missing.  (Bug#61890)
+
+2023-03-12  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Add elixir-ts-mode (Bug#61996)
+
+       * etc/NEWS: Mention the new mode.
+       * lisp/progmodes/elixir-ts-mode.el: New file.
+       * test/lisp/progmodes/elixir-ts-mode-tests.el: New file.
+       * test/lisp/progmodes/elixir-ts-mode-resources/indent.erts: New file.
+       * admin/notes/tree-sitter/build-module/batch.sh:
+       * admin/notes/tree-sitter/build-module/build.sh: Add Elixir support.
+       * lisp/progmodes/eglot.el (eglot-server-programs): Add elixir-ts-mode.
+
+2023-03-12  Wilhelm H Kirschbaum  <wkirschbaum@gmail.com>
+
+       Add heex-ts-mode (Bug#61996)
+
+       * etc/NEWS: Mention the new mode.
+       * lisp/progmodes/heex-ts-mode.el: New file.
+       * test/lisp/progmodes/heex-ts-mode-tests.el: New file.
+       * test/lisp/progmodes/heex-ts-mode-resources/indent.erts: New file.
+       * admin/notes/tree-sitter/build-module/batch.sh:
+       * admin/notes/tree-sitter/build-module/build.sh: Add HEEx support.
+
+2023-03-12  Daniel Martín  <mardani29@yahoo.es>
+
+       Fix pluralization in shortdoc-help-fns-examples-function
+
+       * lisp/emacs-lisp/shortdoc.el (shortdoc-help-fns-examples-function):
+       Implement a better logic to pluralize "Example", by counting the
+       number of arrow characters in the example string. (Bug#61877)
+       * test/lisp/emacs-lisp/shortdoc-tests.el
+       (shortdoc-help-fns-examples-function-test): Add a test.
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_get_screen_width):
+       (android_get_screen_height):
+       (android_get_mm_width):
+       (android_get_mm_height):
+       (android_detect_mouse): Correctly handle Java exceptions.
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_check_if_event):
+       * src/androidgui.h: New function.
+       * src/androidterm.c (android_event_is_for_frame): New function.
+       (android_reset_conversion): Free and unqueue all text conversion
+       events for the given frame.
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/androidterm.c (NATIVE_NAME, JNICALL)
+       (android_build_extracted_text, android_update_selection): Use
+       0-based indices for Android buffer positions.  Also, report
+       surrounding text relative to the region, not to the cursor.
+       * src/textconv.c (textconv_query): Accept new values of
+       position.
+       (really_set_composing_text): Use ephemeral last point.
+
+2023-03-12  Daniel Martín  <mardani29@yahoo.es>
+
+       Add functions to query Emacs Lisp examples registered in shortdoc
+
+       * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Add
+       a new shortdoc-example text property so that ELisp examples can
+       be searched for later.
+       (shortdoc--insert-group-in-buffer): New function extracted from
+       the buffer insertion code in 'shortdoc-display-group'.
+       (shortdoc-display-group): Implement in terms of
+       'shortdoc--insert-group-in-buffer'.
+       (shortdoc-function-examples): New function that returns an alist
+       of Emacs Lisp examples from shortdoc.
+       (shortdoc-help-fns-examples-function): New function to insert
+       Emacs Lisp function examples in *Help* buffers, if added to
+       'help-fns-describe-function-functions'.
+       *
+       test/lisp/emacs-lisp/shortdoc-tests.el 
(shortdoc-function-examples-test):
+       Test it.
+       * doc/emacs/help.texi (Name Help): Document in the user manual.
+       * doc/lispref/help.texi (Documentation Groups): Document it.
+       * etc/NEWS: Advertise it. (Bug#61877)
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
+       (onCancel): New function.
+       (displayFailureDialog): Handle dialog cancellation.
+       * src/sfntfont.c (sfnt_parse_languages): Look for SLNG tag if
+       DLNG is not present.
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Add Super modifier support to Android port
+
+       * src/androidgui.h (enum android_modifier_mask): New modifier
+       ANDROID_SUPER_MASK.
+       * src/androidterm.c (android_android_to_emacs_modifiers)
+       (android_emacs_to_android_modifiers): Add new modifier.
+
+2023-03-12  Jim Porter  <jporterbugs@gmail.com>
+
+       Add support for completing special references (e.g. buffers) in Eshell
+
+       * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Handle
+       special references.
+
+       * lisp/eshell/em-arg.el (eshell-parse-special-reference): Ensure point
+       is just after the "#<" when incomplete, and handle backslash escapes
+       more thoroughly.
+       (eshell-complete-special-reference): New function.
+
+       * test/lisp/eshell/esh-arg-tests.el
+       (esh-arg-test/special-reference/default)
+       (esh-arg-test/special-reference/buffer)
+       (esh-arg-test/special-reference/special):
+       * test/lisp/eshell/em-cmpl-tests.el
+       (em-cmpl-test/special-ref-completion/type)
+       (em-cmpl-test/special-ref-completion/implicit-buffer)
+       (em-cmpl-test/special-ref-completion/buffer): New tests.
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash during androidterm init
+
+       * src/androidterm.c (syms_of_androidterm): Initialize
+       Vandroid_build_fingerprint in case GC happens.
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Clean up emacs-module.c
+
+       * src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT)
+       (module_make_global_ref, module_free_global_ref)
+       (module_make_function, module_get_function_finalizer)
+       (module_set_function_finalizer, module_make_interactive)
+       (module_funcall, module_intern, module_type_of)
+       (module_extract_integer, module_make_integer, module_extract_float)
+       (module_make_float, module_copy_string_contents)
+       (module_make_string, module_make_unibyte_string)
+       (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
+       (module_get_user_finalizer, module_set_user_finalizer)
+       (module_vec_set, module_vec_get, module_vec_size)
+       (module_process_input, module_extract_time, module_make_time)
+       (module_extract_big_integer, module_make_big_integer)
+       (module_open_channel, module_reset_handlerlist): Adjust as
+       recommended by Paul Eggert <eggert@cs.ucla.edu>.
+
+2023-03-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac: Take option `--with-shared-user-id' and give it
+       to AndroidManifest.xml.in.
+       * java/AndroidManifest.xml.in: Substitute that into the
+       application info.
+       * java/INSTALL (BUILDING WITH A SHARED USER ID): New section.
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Improve default value of `with_mailutils' on Android
+
+       * configure.ac: Default to off on Android.
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (HAVE_MAILUTILS, with_mailutils)
+       (ANDROID_SDK_8_OR_EARLIER, XCONFIGURE): Fix POP and mailutils
+       configuration on Android.
+       * java/Makefile.in:
+       * src/callproc.c (syms_of_callproc): Avoid using built-in
+       movemail when --with-mailutils.
+
+2023-03-11  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove recursion from character escape handling in reader
+
+       This cures a C stack overflow when reading certain long (crafted)
+       strings (bug#62039) and improves performance of reading escaped
+       characters in character and string literals.
+       Reported by Bruno Haible.
+
+       * src/lread.c (invalid_escape_syntax_error): New.
+       (read_escape): Rename to...
+       (read_char_escape): ...this.  Remove recursion.  Pass read-ahead char
+       as argument.  Improve code performance and clarity.
+       (read_char_literal, read_string_literal): Update calls.
+       * test/src/lread-tests.el (lread-char-modifiers)
+       (lread-many-modifiers): Add test cases.
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_resolve_handle)
+       (android_resolve_handle2): Don't perform checking done by
+       CheckJNI by default.
+       (android_copy_area): Check for errors here because CopyArea can
+       perform a lot of consing.
+       (android_define_cursor): Remove redundant code.
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Fix problems with the menu bar on large screen Android devices
+
+       * java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed):
+       Process submenu closing normally if it happens more than 300 ms
+       after a submenu item was selected.
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
+       (onMenuItemClick, display1): Give `wasSubmenuSelected' different
+       values depending on how the submenu was selected.
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Don't use GCC extensions in src/emacs-module.c
+
+       * configure.ac: Default modules to on.  Remove check for
+       __attribute__((cleanup)).  However, keep the new `ifavailable'
+       value for systems without dlopen.
+
+       * src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT): Don't rely
+       on cleanup attribute and correctly reset handlerlist upon
+       longjmp.
+       (MODULE_INTERNAL_CLEANUP): New macro.
+       (module_make_global_ref, module_free_global_ref)
+       (module_make_function, module_get_function_finalizer)
+       (module_set_function_finalizer, module_make_interactive)
+       (module_funcall, module_intern, module_type_of)
+       (module_extract_integer, module_make_integer, module_extract_float)
+       (module_make_float, module_copy_string_contents)
+       (module_make_string, module_make_unibyte_string)
+       (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
+       (module_get_user_finalizer, module_set_user_finalizer)
+       (module_vec_set, module_vec_get, module_vec_size)
+       (module_process_input, module_extract_time, module_make_time)
+       (module_extract_big_integer, module_make_big_integer)
+       (module_open_channel): Call MODULE_INTERNAL_CLEANUP prior to
+       returning.
+
+2023-03-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+       Run admin/merge-gnulib along with the following change:
+       * admin/merge-gnulib (GNULIB_MODULES): Replace ‘time’ with
+       ‘time-h’, adjusting to a recent renaming in Gnulib modules.
+       Emacs doesn’t appear to need the new Gnulib ‘time’ module.
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Implement hourglass cursor on Android
+
+       * lisp/term/android-win.el (x-pointer-arrow, x-pointer-left-ptr)
+       (x-pointer-left-side, x-pointer-sb-h-double-arrow)
+       (x-pointer-sb-v-double-arrow, x-pointer-watch, x-pointer-xterm)
+       (x-pointer-invisible): New constants.
+       * src/androidterm.c (android_show_hourglass)
+       (android_hide_hourglass): New functions.
+       (android_toggle_visible_pointer, android_define_frame_cursor):
+       Define or don't define hourglass cursor if x->hourglass.
+       (android_redisplay_interface): Add new functions.
+       * src/androidterm.h (struct android_output): New field
+       `hourglass'.
+
+2023-03-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       src/profiler.c: Keep track of the discarded counts
+
+       When the table overflows and wh evict entries, keep track of those
+       counts in a global counter so we can see the proportion of
+       samples this represents.
+
+       * src/profiler.c (struct profiler_log): Add `discarded` field.
+       (evict_lower_half): Change arg to be `struct profiler_log`.
+       Transfer counts to the new `discarded` field.
+       (record_backtrace): Change arg to be `struct profiler_log`.
+       (add_sample): Adjust call accordingly.
+       (export_log): Add `discarded` counts to the result.
+       Onle add the GC and `discarded` counts if they're non-zero.
+       (syms_of_profiler): Define new symbol `Discarded Samples`.
+
+2023-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       src/profiler.c: Share more code between CPU and Memory profilers
+
+       * src/profiler.c (struct profiler_log): New type.
+       (make_log): Use it.
+       (cpu, memory): New vars to replace cpu_log, memory_log, cpu_gc_count,
+       and mem_gc_count.
+       (add_sample): New function, extracted from `handle_profiler_signal`.
+       (handle_profiler_signal, malloc_probe): Use it.
+       (Fprofiler_cpu_start, Fprofiler_memory_start): Adjust call to 
`make_log`.
+       (export_log): New function, extracted from `Fprofiler_cpu_log`.
+       (Fprofiler_cpu_log, Fprofiler_memory_log): Use it.
+       (syms_of_profiler, syms_of_profiler_for_pdumper): Adjust to new `cpu`
+       and `memory` vars.
+
+2023-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       src/profiler.c: Try and fix occasional assertion failures
+
+       Apparently the (>= match imatch) test fails sometimes in `profiler.el`.
+       Not sure where this comes from, but this patch should remove one
+       possible source.
+
+       * src/profiler.c (Fprofiler_cpu_log, Fprofiler_memory_log):
+       Change the special Automatic_GC backtrace to make it clear that it's
+       a *sibling* of the call tree (i.e. it's at the (its own) root).
+       (malloc_probe): Obey `size` when incrementing the gc_counter.
+
+2023-03-10  Eli Zaretskii  <eliz@gnu.org>
+
+       src/profiler.c: Keep track of allocations during GC
+
+       Cargo-cult the `cpu_gc_count` code to `memory_gc_count`.
+
+       * src/profiler.c (mem_gc_count): New var.
+       (Fprofiler_memory_start): Initialize it.
+       (Fprofiler_memory_log): Increment it.
+       (Fprofiler_memory_log): Use it.
+
+2023-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/progmodes/gud.el (gud-minor-menu-map): Fix thinko in last change
+
+2023-03-10  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Windowing): Document how to
+       pass multimedia keys to the system.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function.
+       * java/org/gnu/emacs/EmacsView.java (onKeyDown, onKeyMultiple)
+       (onKeyUp): Check that function.
+       * java/org/gnu/emacs/EmacsWindow.java (defineCursor): Handle
+       cases where cursor is NULL.
+       * src/android.c (NATIVE_NAME): New function.
+       * src/androidfns.c (syms_of_androidfns): New variable.
+       * src/keyboard.c (lispy_function_keys): Add volume keys.
+
+2023-03-10  Robert Pluim  <rpluim@gmail.com>
+
+       Improve thing-at-point email detection
+
+       * lisp/thingatpt.el (thing-at-point-email-regexp): Allow numbers at
+       the start of the user portion, and disallow '.' at the start.  Also
+       disallow '.' at the start of the domain portion.
+       * test/lisp/thingatpt-tests.el (thing-at-point-test-data): Add various
+       email tests.
+
+       Bug#61519
+
+2023-03-10  Po Lu  <luangruo@yahoo.com>
+
+       * java/org/gnu/emacs/EmacsCursor.java: New file.
+
+2023-03-10  Po Lu  <luangruo@yahoo.com>
+
+       Implement mouse cursors on Android 7.0 and later
+
+       * java/org/gnu/emacs/EmacsWindow.java (defineCursor): New
+       function.
+       * src/android.c (struct android_emacs_cursor): New struct.
+       (android_init_emacs_cursor): New function.
+       (JNICALL): Call it.
+       (android_create_font_cursor, android_define_cursor)
+       (android_free_cursor): New functions.
+       * src/android.h (enum android_handle_type): Add cursor handle
+       type.
+       * src/androidfns.c (Fx_create_frame, android_create_tip_frame)
+       (enum mouse_cursor, struct mouse_cursor_types, mouse_cursor_types)
+       (struct mouse_cursor_data, android_set_mouse_color)
+       (syms_of_androidfns):
+       * src/androidgui.h (enum android_cursor_shape):
+       * src/androidterm.c (make_invisible_cursor)
+       (android_toggle_invisible_pointer, android_free_frame_resources)
+       (android_define_frame_cursor):
+       * src/androidterm.h (struct android_display_info)
+       (struct android_output): Port mouse cursor code over from X.
+
+2023-03-10  Po Lu  <luangruo@yahoo.com>
+
+       Avoid using Linux sysfs APIs to access battery state on Android
+
+       * lisp/battery.el (battery-status-function): Don't look for /sys,
+       /proc* on Android.  Explain why.
+
+2023-03-10  Po Lu  <luangruo@yahoo.com>
+
+       Port Android battery status to Android 4.4 and earlier
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (queryBattery19): New function.
+       (queryBattery): Call it on old systems.  Also, return AC line
+       status and temperature.
+       * lisp/battery.el (battery-android): Implement more format
+       directives.
+       * src/android.c (android_query_battery): Handle new status
+       fields.
+       * src/android.h (struct android_battery_state): Add `plugged'
+       and `temperature'.
+       * src/androidfns.c (Fandroid_query_battery): Return new fields.
+
+2023-03-10  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       gud.el: Bring back the pseudo-tool-bar in text frames (bug#62041)
+
+       commit 8bb5c1bfec0929f2ba419e1c503f5acc01c336c2 accidentally
+       threw away the pseudo-tool-bar implemented in the text frames'
+       menu-bar of gud-minor-mode buffers.
+       Bring it back, and while we're at it, improve it so it also works
+       right when you have both text and GUI frames.
+
+       Also fix a misunderstanding in last change (`gud-mode-map` does need
+       to have a Gud menu, because `gud-mode` buffers already have it by
+       virtue of being in `gud-minor-mode` as well).
+
+       * lisp/progmodes/gud.el (gud-text-menu-bar-map): New keymap.
+       (gud-menu-mode-map): Rename from `gud-shared-mode-map`.
+       (gud-menu-map): Adjust accordingly.
+       (gud-minor-mode-map): Use them.
+       (gud-mode-map): Don't inherit from the shared/menu keymap.
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_destroy_handle): Handle OOM errors in
+       android_destroy_handle.
+
+2023-03-09  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Use a face for DocView SVG
+
+       * lisp/doc-view.el (doc-view-svg-face): New face for SVG images.
+       (doc-view-insert-image): Use it.  (Bug#61816)
+
+2023-03-09  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix out of sync counters in image-dired
+
+       * lisp/image/image-dired.el (image-dired-delete-char): Update
+       thumbnails counter upon deletion.
+       (image-dired--update-header-line): Compute thumbnail index
+       dynamically.
+       (image-dired-insert-thumbnail): Remove now unused image-number
+       text property.  (Bug#61922)
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix menu and popup race conditions on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed):
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
+       (onMenuItemClick, run):
+       * java/org/gnu/emacs/EmacsDialog.java (EmacsDialog, onClick)
+       (createDialog, onDismiss): Take menu event serial, and pass it
+       along in context menu events.
+       * java/org/gnu/emacs/EmacsNative.java (sendContextMenu): New
+       argument.
+       * src/android.c (sendContextMenu): Pass serial number in event.
+
+       * src/androidgui.h (struct android_menu_event): New field
+       `menu_event_serial'.
+       * src/androidmenu.c (FIND_METHOD_STATIC)
+       (android_init_emacs_context_menu): Adjust method declarations.
+       (android_menu_show, android_dialog_show):
+       * src/androidterm.c (handle_one_android_event): Expect serial in
+       context menu events.
+       * src/androidterm.h: Update prototypes.
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix webp test for Android
+
+       * configure.ac (HAVE_WEBP): Disable WebPGetInfo check when
+       REALLY_ANDROID.
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/debug.sh (is_root): Port to android versions which don't
+       support `chmod +x'.
+       * src/android.c (android_content_name_p): Disable before API
+       level 19.
+
+2023-03-09  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       7e1012765c4 Fix libwebp check for some webp installations
+       c2ca009da4c Avoid potential infloop
+       34c14430e9d Don't misindent 'else:' after 'if re.match:' in Python
+       8a2a554192a * Make sure `default-directory' exists before spawning pr...
+       1862e7eb7ef Fix sed expression in install-etc make target
+       c8ec0017cb9 Avoid using bash in the emacsclient desktop file
+       a588937094f Fix documentation of the 'line-height' text property
+       971ded31c4f Add 'declare' specs to with- and without-restriction
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
+       (addItem): New argument `tooltip'.
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_build_string): Convert the text to
+       UTF-16, and create the Java string using that.
+       (android_build_jstring): Update comment.
+       * src/androidmenu.c (android_init_emacs_context_menu): Add
+       String argument to `addItem'.
+       (android_menu_show): Correctly pass help strings in regular menu
+       items.
+       * src/sfnt.c (_sfnt_swap16, _sfnt_swap32): Avoid reserved names.
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash upon restoring desktop
+
+       * src/android.c (android_set_input_focus): Don't call method on
+       window using service class.
+
+2023-03-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-09  Sean Whitton  <spwhitton@spwhitton.name>
+
+       server-eval-at: Signal more specific condition on unreadable result
+
+       * lisp/server.el (server-return-invalid-read-syntax): New error
+       signal.
+       (server-eval-at): Re-signal invalid-read-syntax as
+       server-return-invalid-read-syntax (bug#61658).
+
+2023-03-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix Pcompletion of "tar" when using unrecognized arguments
+
+       Previously, arguments to tar like "--warning=no-timestamp" would cause
+       Pcompletion to hang (bug#58921).
+
+       This simplifies the logic flow by moving all the cases for "--"
+       arguments inside the THEN form of '(if (pcomplete-match "^--" 0)', and
+       for all "-" arguments inside the ELSE form.
+
+       * lisp/pcmpl-gnu.el (pcmpl-gnu--tar-long-options): New variable.
+       (pcomplete/tar): Properly handle completion of arguments that look
+       like "--ARG=", even if they're not recognized by this function.
+
+2023-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       gud.el: Fix bug#62041
+
+       Add a new `gud-shared-mode-map` where we put the bindings
+       shared between `gud-minor-mode-map` and `gud-mode-map`.
+
+       * lisp/progmodes/gud.el (gud-shared-mode-map): New keymap.
+       (gud-mode-map, gud-minor-mode-map): Use it as parent.
+       (gud-menu-map): Put the menu in that new keymap.
+       (gud-speedbar-buttons, gdb-script-font-lock-syntactic-face)
+       (gdb-script-indent-line): Skip obsolete face variables.
+
+2023-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/fileio.c (Fcopy_file): On Android, ignore ENOSYS and
+       ENOTSUP when restoring file times, as the system call used is
+       supported by many kernels.
+
+2023-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix occasional crash
+
+       * src/androidterm.c (android_build_extracted_text): Return NULL
+       if text class not initialized.
+       (android_update_selection): Check that EXTRACTED is not NULL.
+
+2023-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android File System): Document what
+       `temp~unlinked' means in the temporary files directory.
+       * java/org/gnu/emacs/EmacsService.java (updateExtractedText):
+       New function.
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Ask the input method nicely to not display the extracted text
+       UI.
+       * src/android.c (struct android_emacs_service): New method
+       `updateExtractedText'.
+       (android_hack_asset_fd_fallback): Improve naming convention.
+       Fix typo.
+       (android_init_emacs_service): Add new method.
+       (android_update_extracted_text): New function.
+       (android_open_asset): Fix typo.
+       * src/androidgui.h: Update prototypes.
+       * src/androidterm.c (struct android_get_extracted_text_context):
+       New field `flags'.
+       (android_get_extracted_text): Set flags on the frame's output
+       data.
+       (android_build_extracted_text): New function.
+       (getExtractedText): Move out class structures.
+       (android_update_selection): Send updates to extracted text if
+       the input method asked for them.
+       (android_reset_conversion): Clear extracted text flags.
+       * src/androidterm.h (struct android_output): New fields for
+       storing extracted text data.
+
+2023-03-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       f9b7913656f Fix empty line indentation in c-ts-mode (bug#61997)
+       90504f9d898 Fix tree-sitter indent preset prev-line (bug#61998)
+       ed3bab3cc72 Revert 'forward-sentence-default-function' to return poin...
+       bfe62b10413 ; * etc/NEWS: Fix typos.
+       3c1693d08b0 Fix Elisp code injection vulnerability in emacsclient-mai...
+       ab417c8a6ee Fix problem with debuginfod queries in "M-x gdb"
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix double free upon encountering invalid font
+
+       * src/sfnt.c (sfnt_read_cmap_table): Don't allocate too big
+       data.  Also, free elements of (*data), not offsets into data
+       itself.
+
+2023-03-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-07  Alan Mackenzie  <acm@muc.de>
+
+       * test/lisp/subr-tests.el (subr--safe-copy-tree): New tests for 
safe-copy-tree
+
+2023-03-07  Alan Mackenzie  <acm@muc.de>
+
+       safe-copy-tree.  Correct mistakes from earlier patch.
+
+       * lisp/emacs-lisp/bytecomp.el (compile-defun): Remove unintended change.
+
+       * lisp/subr.el (safe-copy-tree--seen): Correct grammatical error in doc
+       string.
+       (safe-copy-tree): Delete hash table at end of function.
+
+       * doc/lispref/lists.texi (Building Lists): Add an "@end defun" line.
+
+2023-03-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-07  Po Lu  <luangruo@yahoo.com>
+
+       Save build timestamps in Android builds
+
+       * java/Makefile.in (install_temp/assets/build_info): New
+       rule.:(emacs.apk-in): Depend on that file.
+       * lisp/version.el (android-read-build-system)
+       (android-read-build-time): New functions.
+       (emacs-build-system, emacs-build-time): Use those functions on
+       Android, as dumping is done after installation on Android.
+       * src/fileio.c (Finsert_file_contents):
+       * src/window.c (replace_buffer_in_windows): Don't call functions
+       if they are not defined, which can happen during loadup.
+
+2023-03-07  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsWindow.java (onSomeKindOfMotionEvent):
+       Dismiss splurious LeaveNotify events from button presses.
+       * src/android.c (android_change_window_attributes)
+       (android_change_gc, android_set_clip_rectangles)
+       (android_reparent_window, android_clear_window, android_map_window)
+       (android_unmap_window, android_resize_window, android_move_window)
+       (android_swap_buffers, android_fill_rectangle, android_copy_area)
+       (android_fill_polygon, android_draw_rectangle, android_draw_point)
+       (android_draw_line, android_clear_area, android_bell)
+       (android_set_input_focus, android_raise_window)
+       (android_lower_window, android_set_dont_focus_on_map)
+       (android_set_dont_accept_focus, android_get_keysym_name)
+       (android_toggle_on_screen_keyboard, android_restart_emacs)
+       (android_display_toast, android_update_ic, android_reset_ic)
+       (android_set_fullscreen): Optimize by specifying the class
+       explicitly when calling a method.
+
+2023-03-07  Alan Mackenzie  <acm@muc.de>
+
+       eval-and-compile: Strip symbol positions for eval but not for compile.
+
+       This fixes bug #61962.
+
+       * lisp/subr.el (safe-copy-tree): New function.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): 
Amend
+       the entry for eval-and-compile to use safe-copy-tree and
+       byte-run-strip-symbol-positions for the eval part.
+
+       * doc/lispref/lists.texi (Building Lists): Document safe-copy-tree.
+
+       * etc/NEWS: Note the new function safe-copy-tree.
+
+2023-03-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-07  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/lread.c (lread_fd, file_tell, infile, skip_dyn_bytes)
+       (skip_dyn_eof, readbyte_from_stdio, safe_to_load_version)
+       (close_infile_unwind, close_file_unwind_android_fd): New
+       function.
+       (Fload, Flocate_file_internal, openp): New argument PLATFORM.
+       All callers changed.
+       (skip_lazy_string): Add optimized versions of various functions
+       for accessing Android assets.
+
+2023-03-07  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       bd07cec8442 Fix regression in Fido mode (bug#62015)
+       0e3c7ac13da * Fix `emacs-lisp-native-compile-and-load' for (bug#61917)
+       4a7e657389a * lisp/emacs-lisp/comp.el (comp-prettyformat-insn): Fix (...
+       8a8a994cfab Revert "Fix configuration of webp libraries"
+       de4277af009 Fix configuration of webp libraries
+
+2023-03-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-06  Vibhav Pant  <vibhavp@gmail.com>
+
+       Don't modify interactive closures destructively (Bug#60974).
+
+       * lisp/emacs-lisp/cconv.el (cconv-convert): When form is an
+       interactive lambda form, don't destructively modify it, as it might be
+       a constant literal. Instead, create a new list with the relevant
+       place(s) changed.
+
+       * test/lisp/emacs-lisp/cconv-tests.el
+       (cconv-tests-interactive-form-modify-bug60974): New test.
+
+2023-03-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add tramp-use-ssh-controlmaster-options value `suppress'.
+
+       * doc/misc/tramp.texi (Ssh setup):
+       Explain tramp-use-ssh-controlmaster-options value `suppress'.
+       (Remote processes): Add reference to "Using ssh connection sharing".
+
+       * etc/NEWS: Extend 'tramp-use-ssh-controlmaster-options' values.
+       ;; Fix typos.
+
+       * lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
+       Allow new value `suppress'.
+       (tramp-ssh-option-exists-p): New defun.
+       (tramp-ssh-controlmaster-options): Implement `suppress' actions.
+
+2023-03-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function requestSelectionUpdate.
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Call it instead of losing if getting the current selection
+       fails.
+       * src/android-asset.h (AAsset_seek): Define stub.
+       * src/android.c (android_open): Take mode_t.
+       (android_open_asset, android_close_asset, android_asset_read_quit)
+       (android_asset_read, android_asset_lseek, android_asset_fstat):
+       New functions.
+       * src/android.h (struct android_fd_or_asset): Update prototypes.
+       * src/androidgui.h (enum android_ime_operation): Add new
+       operation to update the selection position.
+       * src/androidterm.c (android_handle_ime_event): Handle new
+       operation.
+       (requestSelectionUpdate): New function.
+       * src/fileio.c (close_file_unwind_emacs_fd): New function.
+       (Fcopy_file, union read_non_regular, read_non_regular)
+       (Finsert_file_contents): Use optimized codepath to insert
+       Android asset files.
+       * src/frame.h (enum text_conversion_operation): New operation.
+       * src/textconv.c (really_request_point_update)
+       (handle_pending_conversion_events_1, request_point_update): New
+       functions.
+       * src/textconv.h: Update prototypes.
+
+2023-03-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       1c67e4f895f Fix c-ts-mode indentation
+       d724d7d6785 Fix c-ts-mode indentation
+       7292b24c801 Fix c-ts-mode indentation
+       75cdc1afbe5 ; Change font-lock-variable-name-face to font-lock-variab...
+       b1b3af5b90b Update to Org 9.6.1-40-g3d817c
+       80e1037df44 Add string-interpolation feature to bash-ts-mode
+       5b8e0b31548 Fix tramp-sh-handle-insert-directory
+       2258ed01f42 ; Minor fix of last change
+       9c18af0cfaf * Warn when certain primitives are redefined (bug#61880)
+       5af695c7479 ; * lib-src/etags.c (print_help): Fix indentation.
+
+2023-03-06  Po Lu  <luangruo@yahoo.com>
+
+       * src/conf_post.h: Avoid macro redeclaration.
+
+2023-03-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsService.java (sync): Delete function.
+       * java/org/gnu/emacs/EmacsView.java (handleDirtyBitmap): Erase
+       with window background.
+       (onDetachedFromWindow): Only recycle bitmap if non-NULL.
+       * java/org/gnu/emacs/EmacsWindow.java (background): New field.
+       (changeWindowBackground): Set it.
+       * src/android.c (struct android_emacs_service): Remove `sync'.
+       (android_init_emacs_service): Likewise.
+       (android_sync): Delete function.
+       * src/androidfns.c (android_create_tip_frame): Set frame
+       background color correctly.
+       (Fx_show_tip): Make the tip frame visible.
+       * src/androidgui.h: Update prototypes.
+       * src/androidterm.c (handle_one_android_event): Handle tooltip
+       movement correctly.
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsActivity.java (onCreate):
+       * java/org/gnu/emacs/EmacsContextMenu.java:
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java (getMimeType):
+       * java/org/gnu/emacs/EmacsDrawLine.java (perform):
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
+       * java/org/gnu/emacs/EmacsFillPolygon.java:
+       * java/org/gnu/emacs/EmacsFontDriver.java:
+       * java/org/gnu/emacs/EmacsHandleObject.java:
+       * java/org/gnu/emacs/EmacsInputConnection.java:
+       * java/org/gnu/emacs/EmacsMultitaskActivity.java
+       (EmacsMultitaskActivity):
+       * java/org/gnu/emacs/EmacsNative.java:
+       * java/org/gnu/emacs/EmacsNoninteractive.java
+       (EmacsNoninteractive, main):
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
+       (startEmacsClient):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java:
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java:
+       * java/org/gnu/emacs/EmacsService.java (EmacsService, onCreate):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, onLayout):
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow):
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (EmacsWindowAttachmentManager): Remove redundant includes.
+       Reorganize some functions around, remove duplicate `getLibDir'
+       functions, and remove unused local variables.
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Don't
+       set the style here.
+       * java/res/values-v11/style.xml:
+       * java/res/values-v14/style.xml:
+       * java/res/values-v29/style.xml:
+       * java/res/values/style.xml: Define styles for the emacsclient
+       wrapper.
+       * src/keyboard.c (read_key_sequence): Don't disable text
+       conversion if use_mouse_menu or if a menu bar prefix key is
+       being displayed.
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * etc/PROBLEMS: Document problem with default monospace font.
+       * src/fileio.c (check_mutable_filename): Check /content as well.
+       (Fcopy_file, Fdelete_directory_internal, Fdelete_file)
+       (Frename_file, Fadd_name_to_file, Fmake_symbolic_link)
+       (Fset_file_modes, Fset_file_times, Ffile_newer_than_file_p)
+       (write_region): Adjust accordingly.
+       (Fset_visited_file_modtime): Remove unnecessary restriction.
+       * src/filelock.c (make_lock_file_name): Don't interlock files
+       under /assets and /content.
+       * src/inotify.c (Finotify_add_watch): Fix typo.
+
+2023-03-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       836044f329a Fix c-ts-mode preproc directive indentation
+       64980a59b65 ; * lisp/files.el (hack-local-variables): Fix typo in the...
+       a7cd125d490 More robustly unspoof HOME in Eglot tests (bug#61637)
+       6c66dbd02c7 Turn on Eglot inlay hints by default
+       246f5b541c5 Update ts modes missed in 4c16fd3a512 to use column-0
+       0bfba49ca7c Robustify Eglot for "transient" projects
+       ea5fd375bb2 Fix documentation of 'normal-mode' in buffers that don't ...
+       4c16fd3a512 Change tree-sitter indent anchor 'point-min' to 'column-0'
+       f47b3930158 Fix go-ts-mode multi-line string indentation (bug#61923)
+       e0bf2da3db6 ; More accurate doc strings for 'window-at' and 'window-a...
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix cross compilation of cross/lib in some cases
+
+       * cross/Makefile.in: (config.status): Depend on
+       top_builddir/config.status instead.
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Remove redundant gnulib files
+
+       * cross/lib: Delete.  Make configure generate it instead.
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Remove redundant second copy of gnulib
+
+       * .gitignore: Simplify cross/lib rule.
+       * admin/merge-gnulib (avoided_flags): Stop copying to cross/lib.
+       * configure.ac: Link gnulib source and header files to
+       cross/lib.
+       * cross/Makefile.in (LIB_SRCDIR): Make relative to builddir.
+       (maintainer-clean): Merge with distclean.  Remove links created
+       by configure.
+
+2023-03-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Unbreak the unexec build
+
+       * src/alloc.c (BLOCK_ALIGN) [HAVE_UNEXEC]: Reset back to 1024.
+       (Bug#61960)
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Fix x86_64 builds of libjpeg on Android
+
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       * cross/ndk-build/ndk-build-static-library.mk: Specify right ELF
+       format for 64 bit executables.
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Fix calls to nasm in cross/ndk-build
+
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       * cross/ndk-build/ndk-build-static-library.mk: Ensure nasm
+       generates ELF objects.
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Fix out of bound write after poly of single pixel span
+
+       * src/sfnt.c (sfnt_fill_span): Specifically handle spans that
+       span a single pixel by computing the coverage in the center.
+
+2023-03-04  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
+
+       bug#61489: Increase BLOCK_ALIGN from 1024 to 32768
+
+       Originally discovered by Tyler Dodge in his article "Significant Garbage
+       Collection Improvement For Emacs".
+
+       While testing this change on Archlinux system with Intel i5-7200U CPU,
+       average time of garbage collection gets reduced by ≈25%. Other users
+       report improvements up to 50%. While monitoring PSS of emacs with and
+       without customizations loaded before and after the patch, no
+       statistically significant differences were discovered. So overall, this
+       change is a win.
+       * src/alloc.c (BLOCK_ALIGN): increase from 1024 to 32768.
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Improve context menus on old versions of Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): New
+       field `lastClosedMenu'.
+       (onContextMenuClosed): Don't send event if a menu is closed
+       twice in a row.  Also, clear wasSubmenuSelected immediately.
+       * java/org/gnu/emacs/EmacsContextMenu.java: Display submenus
+       manually in Android 6.0 and earlier.
+       * java/org/gnu/emacs/EmacsView.java (onCreateContextMenu)
+       (popupMenu): Adjust accordingly.
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Port to broken Android NDK version
+
+       * configure.ac: Check for __ctype_get_mb_cur_max.
+       Then see if MB_CUR_MAX is defined to it, and define
+       REPLACEMENT_MB_CUR_MAX if so and it does not link.
+       * java/INSTALL: Update documentation.
+       * src/conf_post.h (MB_CUR_MAX): Define replacement if
+       necessary.
+
+2023-03-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       bd5115e1347 Remove Eglot activation check from find-file-hook
+       adc04ad5247 * src/intervals.c (set_intervals_multibyte_1): Fix bug#61887
+       b3e930d328e Revert inadvertent change to lisp/icomplete.el in previou...
+       da8e4b6fe43 Revert previous change in go-ts-mode.el
+       7548446194a Release ERC 5.5
+       585faf4c173 ; More doc improvements for OClosures
+       2840895c1ae Don't create GUI frames in batch sessions
+       452b5ed1030 ; Fix wrong error name in erc-server-908 doc string.
+       1e9484f2fd1 ; * etc/ERC-NEWS: Mention more deprecations.
+       119b3a4dba1 Minor copyedits of documentation of OClosures
+       3a651773d29 Eglot: pay better attention to hints' paddingLeft/Right (...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Improve support for building Android C++ dependencies
+
+       * configure.ac: Call ndk_LATE after gl_EARLY.
+       * cross/ndk-build/Makefile.in (NDK_BUILD_CXX): New variable.
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       * cross/ndk-build/ndk-build-static-library.mk: Use it.
+       * java/INSTALL: Describe how to build C++ dependencies.
+       * m4/ndk-build.m4 (ndk_LATE): New macro.
+       (ndk_INIT): Try to find a suitable C++ compiler.
+       (ndk_CHECK_MODULES): Make sure the C++ compiler works before
+       allowing C++ dependencies.
+
+2023-03-04  Sean Whitton  <spwhitton@spwhitton.name>
+
+       * lisp/icomplete.el (icomplete-in-buffer): Make into a defcustom.
+
+2023-03-04  Po Lu  <luangruo@yahoo.com>
+
+       Fix cross-compilation of C++ code with old NDK versions
+
+       * cross/ndk-build/Makefile.in (NDK_BUILD_CFLAGS_CXX): New variable.
+       * cross/ndk-build/ndk-build-shared-library.mk
+       ($(call objname,$(LOCAL_MODULE),$(basename $(1)))):
+       * cross/ndk-build/ndk-build-static-library.mk
+       ($(call objname,$(LOCAL_MODULE),$(basename $(1)))): Use it to build
+       C++ code.
+
+2023-03-04  Dmitry Gutov  <dgutov@yandex.ru>
+
+       Redirect eldoc messages to the mode-line when in edebug-mode
+
+       * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Redirect
+       eldoc messages to the mode-line when in edebug-mode (bug#56459).
+       (eldoc-minibuffer--cleanup): New function, used in above.
+
+2023-03-04  Dmitry Gutov  <dgutov@yandex.ru>
+
+       Revert "Revert "Don't disable eldoc when doing edebug""
+
+       This reverts commit 99df815c153265706edc839b7467fb3ae3b6e1b1.
+
+2023-03-03  Po Lu  <luangruo@yahoo.com>
+
+       Minor fixes to configury
+
+       * configure.ac (ANDROID_SDK_8_OR_EARLIER): Pass through
+       `--with-ndk-cxx-shared'.
+       * m4/ndk-build.m4: Fix quoting of $CC.
+
+2023-03-03  Po Lu  <luangruo@yahoo.com>
+
+       Fix out-of-tree builds with native dependencies
+
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       * cross/ndk-build/ndk-build-static-library.mk: Include
+       ndk-resolve.mk in srcdir.
+
+2023-03-03  Po Lu  <luangruo@yahoo.com>
+
+       Improve ndk-build implementation
+
+       * build-aux/ndk-build-helper.mk: Define in terms of BUILD_AUXDIR.
+       * m4/ndk-build.m4 (ndk_INIT): Find right build-aux directory.
+       Remove uses of unportable shell constructs.
+
+2023-03-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove ineffective uses of condition-case
+
+       * lisp/gnus/message.el (message-setup-1):
+       * lisp/progmodes/cc-engine.el (c-forward-single-comment):
+       * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
+       Eliminate uses of condition-case without handlers.  These seem to have
+       been there for quite a long time.  This change does not affect the
+       behaviour of the code and makes some warnings go away.
+
+2023-03-03  Po Lu  <luangruo@yahoo.com>
+
+       Fix visiting and saving writable content provider files
+
+       * java/org/gnu/emacs/EmacsService.java (checkContentUri):
+       Improve debug output.
+       * lisp/files.el (basic-save-buffer): Check whether or not file
+       itself exists before checking for the existence of the directory
+       containing it.
+       * src/android.c (android_open): Don't forget to set errno after
+       open_content_uri fails.
+
+2023-03-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-03  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
+       (onCreate): Add view tree observer.
+       (onGlobalLayout): Sync fullscreen state.
+       (syncFullscreenWith): Improve visibility flag setting.
+
+       * src/textconv.c (select_window): New function.
+       (textconv_query):
+       (restore_selected_window):
+       (really_commit_text):
+       (really_set_composing_text):
+       (really_set_composing_region):
+       (really_delete_surrounding_text):
+       (really_set_point_and_mark):
+       (get_extracted_text): Call it instead of Fselect_window
+       to avoid selecting the mini window if it is no longer active.
+
+2023-03-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       9e105d483fa Fix c-ts-mode indentation for statement after preproc (bu...
+       a72a55e3e49 Fix c/c++-ts-mode's mode lighter
+       67befc1f5a5 Eglot: use shell-file-name in eglot--cmd (bug#61748)
+       1c7b2673bdd Avoid signaling errors in url-basic-auth when password is...
+       756225e3778 Fix wdired-tests on MS-Windows
+       a137f71c67e Improvements to xwidget on macOS (bug#60703)
+       3f43a16bc63 ; Avoid byte-compilation warning in c-ts-mode.el
+
+2023-03-03  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-02  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix `cond` miscompilation bug
+
+       This fixes a bug that miscompiled
+
+         (cond ... C S1...Sn)
+
+       where S1...Sn are switch clauses (that can be compiled into a switch
+       op) and C a non-switch clause, by tucking on an extra copy of C at the
+       end.  This was a serious wrong-code bug when the condition of C had
+       side-effects; otherwise it was only a waste of time and space.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-cond): Fix.
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
+       Add test case.
+
+2023-03-02  Mattias Engdegård  <mattiase@acm.org>
+
+       Small unwind-protect optimisation improvement
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       Use the current for-effect mode when optimising the body form,
+       instead of always optimising it for value.
+
+2023-03-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp cleanup
+
+       * lisp/net/tramp.el (tramp-handle-unlock-file): Raise a warning
+       only when `create-lockfiles'.
+
+       * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion):
+       Extend test.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Fix bootstrap failure
+
+       * lisp/man.el (Man-prefer-synchronous-call): Fix version
+       specification.
+
+2023-03-02  Augusto Stoffel  <arstoffel@gmail.com>
+
+       Add option to keep some columns in dired-hide-details-mode
+
+       * lisp/dired.el (dired-hide-details-preserved-columns): New user
+       option.
+       (dired-insert-set-properties): Use it.  (Bug#61785)
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-02  Sebastian Tennant  <sdt@sebyte.me>  (tiny change)
+
+       Add new user option Man-prefer-synchronous-call
+
+       * lisp/man.el (Man-getpage-in-background): Add new defcustom
+       Man-prefer-synchronous-call and modify #'Man-getpage-in-background.
+       Only call #'start-process when 'make-process satisfies #'fboundp AND
+       Man-prefer-synchronous-call is bound to nil.  (Bug#61552)
+
+2023-03-02  Philippe Altherr  <philippe.altherr@gmail.com>
+
+       Add support for Zsh's case branches ;|.
+
+       * lisp/progmodes/sh-script.el (sh-font-lock-paren)
+       (sh-smie-sh-grammar, sh-smie-sh-rules, sh-smie-rc-grammar):
+       Support case branches ending with ";|", per Zsh.  (Bug#60833)
+
+       * test/manual/indent/shell.sh (bar): Add ";|".
+
+2023-03-02  Philippe Altherr  <philippe.altherr@gmail.com>
+
+       Use 'sh-indent-for-continuation' for continued lines in 'sh-script-mode'
+
+       * lisp/progmodes/sh-script.el (sh-smie--indent-continuation): Use
+       'sh-indent-for-continuation' instead of 'sh-basic-offset'.
+       (Bug#60832)
+
+       * test/lisp/progmodes/sh-script-tests.el
+       (test-indent-after-continuation): New test.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Summary: Update Android port
+
+       * INSTALL: Document where to find Android installation
+       instructions.
+       * configure.ac (CHECK_LISP_OBJECT_TYPE): Pacify
+       -Wsuggest-attribute=noreturn only on Android.
+       * cross/ndk-build/README: New file.
+       * doc/emacs/android.texi (Android):
+       * doc/emacs/emacs.texi (Top):
+       * doc/emacs/input.texi (Other Input Devices): Untabify menus.
+       * etc/NEWS: Move INSTALL.android to java/INSTALL.
+       * java/INSTALL: New file.
+       * java/README:
+       * src/coding.c (from_unicode_buffer): Make Android specific code
+       only build on Android.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       * INSTALL.android: Remove file.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Fix Makefile race conditions
+
+       * configure.ac: Make cross/* and related directories.
+       * cross/Makefile.in (src/verbose.mk, lib/libgnu.a)
+       (src/config.h): Stop making directories here.
+       (lib-src/config.h): New config.h rule.
+       ($(LIBSRC_BINARIES)): Add it.
+       (clean): Don't remove CLEAN_SUBDIRS, but clean inside.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Fix Android handle wraparound
+
+       * src/android.c (android_alloc_id): Return correct values upon
+       wraparound.
+
+2023-03-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       59365f92856 * lisp/progmodes/go-ts-mode.el: Use treesit-language-avai...
+       56cd810b9d1 Don’t signal warning when loading go-ts-mode.el without g...
+       b06d5519664 Fix c-ts-mode empty line indentation (bug#61893)
+       6b2720778dc Improve tree-sitter's prev-sibling indent anchor
+
+2023-03-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       07f3236133b * src/profiler.c (malloc_probe): Make it safe for GC (bug...
+       1f1d36fa808 * lisp/emacs-lisp/debug-early.el (debug-early-backtrace):...
+       99df815c153 Revert "Don't disable eldoc when doing edebug"
+       0a4b1c0102d ; Eglot: improve bug-reference-url-format/bug-reference-u...
+       40c9fc8e3b3 Eglot: work around Tramp instability bug#61350
+       4a6db125b9e Fix treesit-indent-region
+       7ef9a8210c9 Replace C++ comments with C style equivalents
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Improve criteria for restoring fullscreen state on Android
+
+       * java/Makefile.in ($(CLASS_FILES) &): Touch all class files,
+       even those javac chose not to rebuild.
+
+       * java/org/gnu/emacs/EmacsActivity.java (onWindowFocusChanged):
+       Restore fullscreen state here.
+       (onResume): And not here.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Fix sectioning of android texi files
+
+       * doc/emacs/android.texi (Android):
+       * doc/emacs/emacs.texi (Top, GNU Free Documentation License):
+       Rearrange menu and sectioning.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Windowing): Reword
+       documentation.
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
+       * java/org/gnu/emacs/EmacsFontDriver.java (EmacsFontDriver):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java
+       (EmacsSdk7FontDriver):
+       * java/org/gnu/emacs/EmacsService.java (queryBattery):
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Make
+       functions final and classes static where necessary.
+       * src/android.c (struct android_emacs_service): New method
+       `display_toast'.
+       (android_init_emacs_service): Load new method.
+       (android_display_toast): New function.
+       * src/android.h: Export.
+       * src/androidfns.c (Fandroid_detect_mouse):
+       * src/androidselect.c (Fandroid_clipboard_owner_p)
+       (Fandroid_set_clipboard, Fandroid_get_clipboard)
+       (Fandroid_browse_url): Prevent crashes when called from
+       libandroid-emacs.so.
+       * src/androidterm.c (handle_one_android_event): Fix out of date
+       commentary.
+
+2023-03-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Make Tramp file name completion more quiet
+
+       * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions):
+       Don't print status message.
+       (tramp-sh-handle-file-name-all-completions): Return nil when check
+       fails.  (Bug#61890)
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test26-file-name-completion-with-perl):
+       (tramp-test26-file-name-completion-with-ls): New tests.
+
+2023-03-01  Mattias Engdegård  <mattiase@acm.org>
+
+       Simplify effect-free code elimination
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       Simplify overly defensive code.  This does not affect code generation.
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix out-of-tree Android builds
+
+       * configure.ac (JAVA_PUSH_LINT): Push to WARN_JAVAFLAGS instead
+       of JAVAFLAGS.
+       (cross/lib): Always AS_MKDIR_P.
+       * cross/Makefile.in (srcdir): New variable.
+       (LIB_SRCDIR): Take realpath relative to srcdir, not
+       .:(src/verbose.mk): Depend on verbose.mk.android in srcdir.
+       (lib/Makefile): Edit srcdir and VPATH to LIB_SRCDIR.
+       (src/Makefile): Edit -I$$(top_srcdir) to -I../$(srcdir)/lib,
+       instead of ommitting it.
+       (clean): Allow ndk-build clean to fail.
+
+       * java/Makefile.in (builddir): New variable.
+       (WARN_JAVAFLAGS): Likewise.
+       (JAVAFLAGS): Define in terms of WARN_JAVAFLAGS.
+       (SIGN_EMACS, SIGN_EMACS_V2): Use emacs.keystore relative to
+       srcdir.  Allow inclusion of ndk-build.mk to fail.
+       (install_temp, emacs.apk-in)
+       (../config.status): Depend relative to top_srcdir.
+       (AndroidManifest.xml, $(APK_NAME)): Likewise.
+       (RESOURCE_FILE, CLASS_FILES, classes.dex): Output class files
+       to $(srcdir); these are arch independents, so this is okay.
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix mostlyclean rules
+
+       * cross/Makefile.in: Remove outdated comment.
+       * src/Makefile.in: (.PHONY): Clean android-emacs and
+       libemacs.so, not emacs.so and aemacs.
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android File System): Document new
+       behavior of starting a subprocess from /assets.
+       * java/org/gnu/emacs/EmacsWindow.java (onSomeKindOfMotionEvent):
+       Don't use isFromSource where not present.
+       * src/androidterm.c (android_scroll_run): Avoid undefined
+       behavior writing to bitfields.
+       * src/callproc.c (get_current_directory): When trying to run a
+       subprocess inside /assets, run it from the home directory
+       instead.
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/AndroidManifest.xml.in: Specify @style/EmacsStyle.
+       * java/org/gnu/emacs/EmacsActivity.java (onCreate): Stop setting
+       the theme here.
+       * java/res/values-v11/style.xml:
+       * java/res/values-v14/style.xml:
+       * java/res/values-v29/style.xml:
+       * java/res/values/style.xml: Extract style resources into
+       res/values.
+
+2023-03-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       97a83ff31fa Eglot: fix M-x eglot-show-workspace-configuration (bug#61...
+       48a0804d10d ruby-mode: Fix method call indentation in rhs of multiple...
+       16d012cf3bd * lisp/net/tramp.el (tramp-remote-path): Improve docstring.
+       b371697cdca Minor change in 'dired--find-possibly-alternative-file'
+       c2b5c6acc58 Implement prefix arg for 'c-ts-mode-toggle-comment-style'
+       eb2ab52fb01 Defaults to zero for image-dired--number-of-thumbnails
+       5dc163f592a ; Add a doc string for 'ediff-window-display-p' obsolescence
+
+2023-03-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update SKK-JISYO.L from upstream
+
+       * leim/SKK-DIC/SKK-JISYO.L: Update from
+       https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L
+
+2023-03-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update publicsuffix.txt from upstream
+
+       * etc/publicsuffix.txt: Update from
+       https://publicsuffix.org/list/public_suffix_list.dat
+       dated 2023-02-28 02:16:27 UTC.
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/Makefile.in (ETAGS, clean): New rules to generate tags.
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
+       * java/org/gnu/emacs/EmacsApplication.java (EmacsApplication):
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
+       * java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea):
+       * java/org/gnu/emacs/EmacsDialog.java (EmacsDialog)::(dialog.
+       Then):
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java
+       (EmacsDocumentsProvider):
+       * java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine):
+       * java/org/gnu/emacs/EmacsDrawPoint.java (EmacsDrawPoint):
+       * java/org/gnu/emacs/EmacsDrawRectangle.java
+       (EmacsDrawRectangle):
+       * java/org/gnu/emacs/EmacsFillPolygon.java (EmacsFillPolygon):
+       * java/org/gnu/emacs/EmacsFillRectangle.java
+       (EmacsFillRectangle):
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC):
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection):
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative):
+       * java/org/gnu/emacs/EmacsNoninteractive.java
+       (EmacsNoninteractive):
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity):
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java
+       (EmacsPreferencesActivity):
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (EmacsSdk11Clipboard):
+       * java/org/gnu/emacs/EmacsSdk23FontDriver.java
+       (EmacsSdk23FontDriver):
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java
+       (EmacsSdk8Clipboard):
+       * java/org/gnu/emacs/EmacsService.java (EmacsService):
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView)
+       (buffers):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, ViewGroup):
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, drawables):
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (EmacsWindowAttachmentManager): Make classes final where
+       appropriate.
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       More fixes to JNI error checking
+
+       * src/android.c (android_query_tree, android_get_geometry)
+       (android_translate_coordinates, android_query_battery):
+       Correctly handle result of GetTArrayElements.
+       (android_exception_check_nonnull): New function.
+       * src/android.h:
+       * src/androidselect.c (Fandroid_get_clipboard): Likewise.
+
+2023-03-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-28  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix some useless condition-case forms
+
+       * lisp/progmodes/cperl-mode.el (cperl-calculate-indent):
+       * lisp/progmodes/verilog-mode.el (verilog--suppressed-warnings):
+       Add error handler, seemingly the intention here.
+       * lisp/url/url-gw.el (url-open-stream): Remove condition-case;
+       it was neutered in 2006.
+
+2023-02-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve warning in tramp-handle-unlock-file
+
+       * lisp/net/tramp.el (tramp-connectable-p): Simplify.
+       (tramp-handle-unlock-file): Improve warning.
+
+2023-02-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (main):
+       * src/sfntfont.c (sfntfont_get_glyph_outline): Remove outdated
+       comment.
+
+2023-02-28  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       613de662811 Rename the newly added -ref- faces to -use-
+       f601e9666d8 Eglot: support multiple labels in same inlay hint
+       4a5eda7ed2a Eglot: don't paint hints outside requested region (bug#61...
+       11c1aa1eb12 ; * doc/misc/gnus.texi: Fix last change.
+       44949c292f9 ; Add `nnimap-user' to Gnus manual
+       6c7078c66f4 ; * lisp/progmodes/c-ts-mode.el (treesit-node-prev-siblin...
+       3d0a6c9baa6 Eglot: protect against unintended field text motion (bug#...
+       647e40f4a0c ; And yet another fix to eglot-current-linepos-function's...
+       9d0f856a167 Fix description of 'desktop-save-mode'
+       aee10ca1cbe Adjust tree-sitter defun navigation (bug#61617)
+       edf5b976869 Simplify c-ts-mode--top-level-label-matcher
+       0f15286c539 New tree-sitter indent anchor standalone-parent used by c...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-02-27  Augusto Stoffel  <arstoffel@gmail.com>
+
+       New user option 'grep-use-headings'
+
+       * lisp/progmodes/grep.el (grep-heading-regexp): New user option.
+       (grep-heading): New face (bug#59888).
+       (grep--heading-format, grep--heading-state, grep--heading-filter):
+       Filter function for grep processes and supporting variables.
+       (grep-use-headings): New user option.
+       (grep-mode): Use the above, if applicable.
+
+2023-02-27  Augusto Stoffel  <arstoffel@gmail.com>
+
+       Introduce 'compilation-annotation' text property
+
+       It is meant to mark parts of compilation buffers which do not
+       correspond to process output (bug#59888).
+
+       * lisp/progmodes/compile.el (compilation-insert-annotation): New
+       function.
+       (compilation-start, compilation-handle-exit): Use it.
+       (compilation--ensure-parse) Rely on 'compilation-annotation' property
+       instead of 'compilation-header-end'.
+
+2023-02-27  João Távora  <joaotavora@gmail.com>
+
+       * lisp/icomplete.el (fido-mode): Enable in-buffer completion 
(bug#45763).
+
+2023-02-27  Juri Linkov  <juri@linkov.net>
+
+       * lisp/icomplete.el: Fix in-buffer completion.
+
+       (icomplete-force-complete-and-exit, icomplete-force-complete): Use
+       'icomplete--field-beg/end' when not in the minibuffer to not erase
+       the current buffer.  Also disable 'completion-in-region-mode' instead
+       of calling 'exit-minibuffer' (bug#45764, bug#51575, bug#61479).
+
+2023-02-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Adjust some `pure` and `side-effect-free` function declarations
+
+       * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
+       Add `format-message` and `substring-no-properties`.
+       * lisp/subr.el (number-sequence, copy-tree, looking-at-p)
+       (string-match-p, string-trim-right, string-lines):
+       Declare side-effect-free.
+       (syntax-class, version-list-<, version-list-=, version-list-<=)
+       (version-list-not-zero): Declare pure and side-effect-free.
+       (ensure-list): Declare side-effect-free and error-free.
+       (string-equal-ignore-case): Remove `pure` declaration.
+       We may want it to be pure but right now it's not.
+
+2023-02-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about `condition-case` without handlers
+
+       Omitting handlers from a `condition-case` form makes it useless
+       since no errors are caught.
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): New warning.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings): Add test case.
+       * etc/NEWS: Announce.
+
+2023-02-27  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/calc/calc.el (calcDigit-backspace): Hush warning.
+
+2023-02-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Improve delete-consecutive-dups doc precision and add test
+
+       * lisp/subr.el (delete-consecutive-dups): Document which element of
+       each run is retained (the earliest in the list).  This matters because
+       it makes it safe to ignore the return value.
+       * test/lisp/subr-tests.el (subr--delete-dups)
+       (subr--delete-consecutive-dups): Add tests.
+
+2023-02-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       267fc6d00c4 ruby-smie-rules: Fix misindentation of a method call afte...
+       0fde314f6f6 * lib-src/etags.c (process_file_name): Free malloc'ed var...
+       dde9d149af3 ; Improve documentation of loading *.eln files
+       7c552be89da ; Another doc fix in eglot.el
+       75c65fcc98e ; Fix last change
+       a3d15c1f749 ; Fix last change
+       ca79b138d42 Eglot: rename and redocument encoding-related functions (...
+       3e3e6d71be7 Eglot: support positionEncoding LSP capability (bug#61726)
+       b0e87e930e8 Eglot: use faster strategy for moving to LSP positions (b...
+       5b174b96834 Fix mule-tests in UTF-8 locales
+       5256392a7ec Fix 'vertical-motion' when display strings are around
+       0db88d625a7 ; * src/treesit.c (treesit_predicate_match): Fix typo.
+
+2023-02-26  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp: Do not unlock when connection is broken
+
+       * lisp/net/tramp.el (tramp-handle-unlock-file): Do not unlock when
+       connection is broken.  (Bug#61663)
+
+       * test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name):
+       Extend test.
+
+2023-02-26  Po Lu  <luangruo@yahoo.com>
+
+       Get rid of android_lookup_method
+
+       * src/android.c (struct android_emacs_window): New methods.
+       (android_init_emacs_window): Add new methods.
+       (android_lookup_method): Delete now-unused function.
+       (android_change_window_attributes, android_reparent_window)
+       (android_map_window, android_unmap_window, android_resize_window)
+       (android_move_window, android_set_input_focus)
+       (android_raise_window, android_lower_window, android_get_geometry)
+       (android_translate_coordinates, android_set_dont_focus_on_map)
+       (android_set_dont_accept_focus): Don't look up the class and
+       method each time when calling a function; that's just waste.
+
+2023-02-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Disable xattr test on MS-Windows.
+
+       * nt/mingw-cfg.site (enable_xattr): Set to "no".  (Bug#61782)
+
+2023-02-26  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS build
+
+       * msdos/sedlibmk.inp: Update getopt.h conditions.
+
+2023-02-26  Po Lu  <luangruo@yahoo.com>
+
+       Update from gnulib
+
+       * cross/lib/unistd.in.h:
+       * lib/gnulib.mk.in (INT64_MAX_EQ_LONG_MAX):
+       * m4/gnulib-comp.m4 (gl_EARLY): Update from gnulib.
+
+2023-02-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-26  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       3cae0e3d96a python-ts-mode: Fix single-quote string fontification
+       68d753e3712 ; * etc/NEWS: Fix typos.
+       ab0cc4e7811 Fix infloop in bidi.c
+       3b8b23f66df ; Fix doc string of 'emacs-lisp-byte-compile'
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-02-26  Jim Porter  <jporterbugs@gmail.com>
+
+       Be more cautious in completing Eshell variable assignments
+
+       Previously, Eshell treated cases like the second argument in "tar
+       --directory=dir" as a variable assignment, but that prevented
+       'pcomplete/tar' from implementing its own completion for that
+       argument (bug#61778).
+
+       * lisp/eshell/esh-var.el (eshell-complete-variable-assignment): Only
+       handle completion when all initial arguments are variable assignments.
+
+       * test/lisp/eshell/em-cmpl-tests.el
+       (em-cmpl-test/variable-assign-completion/non-assignment): New test.
+
+2023-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (bytecomp-warn--ignore): New test
+
+       Add tests for the interaction of `ignore` with warnings.
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn--ignore): New 
test.
+       (bytecomp--with-warning-test): Really make it a function.
+
+2023-02-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/commands.texi (Misc Events): Update documentation.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (onStartCommand): Improve notification message.
+       * src/android.c (android_hack_asset_fd): Detect if ashmem is
+       available dynamically.
+       (android_detect_ashmem): New function.
+       * src/textconv.c (record_buffer_change): Use markers to
+       represent BEG and END instead.
+       (syms_of_textconv): Update doc string.
+
+2023-02-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Omit no-longer-needed SEEK_END workaround
+
+       * lib-src/ebrowse.c (SEEK_END): Remove; no longer needed
+       on any supported SunOS version.
+
+2023-02-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-02-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       bytecomp--with-warning-test: Make it a function
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--with-warning-test):
+       Make it a function.
+
+2023-02-25  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/debug.sh (is_root): Fix tee detection again for old
+       systems which don't return exit codes from adb shell.
+       * src/android.c (android_run_select_thread, NATIVE_NAME,
+       JNICALL):
+       * src/android.h (NATIVE_NAME):
+       * src/androidterm.c (JNICALL, NATIVE_NAME): Apply stack
+       alignment to all JNICALL functions.
+
+2023-02-25  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsNoninteractive.java (main): Port to
+       Android 2.2.
+       * src/android-asset.h (AAsset_openFileDescriptor): Delete stub
+       function.
+       * src/android.c (android_check_compressed_file): Delete
+       function.
+       (android_open): Stop trying to find compressed files or to use
+       the system provided file descriptor.  Explain why.
+
+2023-02-25  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Startup, Android File System)
+       (Android Environment, Android Windowing, Android
+       Troubleshooting): Improve documentation; fix typos.
+       * doc/lispref/commands.texi (Misc Events): Likewise.
+       * java/org/gnu/emacs/EmacsService.java (queryBattery): New
+       function.
+       * lisp/battery.el (battery-status-function): Set appropriately
+       for Android.
+       (battery-android): New function.
+       * src/android.c (struct android_emacs_service): New method
+       `query_battery'.
+       (android_check_content_access): Improve exception checking.
+       (android_init_emacs_service): Look up new method.
+       (android_destroy_handle, android_create_window)
+       (android_init_android_rect_class, android_init_emacs_gc_class)
+       (android_set_clip_rectangles)
+       (android_create_pixmap_from_bitmap_data, android_fill_polygon)
+       (android_get_image, android_put_image, android_bell)
+       (android_set_input_focus, android_raise_window)
+       (android_lower_window, android_query_tree, android_get_geometry)
+       (android_translate_coordinates, android_wc_lookup_string)
+       (android_damage_window, android_build_string)
+       (android_build_jstring, android_exception_check_1)
+       (android_exception_check_2): New functions.
+       (android_browse_url): Improve exception handling.  Always use
+       android_exception_check and don't leak local refs.
+       (android_query_battery): New function.
+       * src/android.h (struct android_battery_state): New struct.
+       * src/androidfns.c (Fandroid_query_battery, syms_of_androidfns):
+       New function.
+       * src/androidfont.c (androidfont_from_lisp, DO_SYMBOL_FIELD)
+       (DO_CARDINAL_FIELD, androidfont_list, androidfont_match)
+       (androidfont_draw, androidfont_open_font)
+       (androidfont_close_font):
+       * src/androidselect.c (Fandroid_set_clipboard)
+       (Fandroid_get_clipboard):
+       * src/sfnt.c (sfnt_map_glyf_table):
+       * src/sfntfont.c (sfntfont_free_outline_cache)
+       (sfntfont_free_raster_cache, sfntfont_close): Allow font close
+       functions to be called twice.
+
+2023-02-25  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Make also 'diary-lunar-phases' report eclipses
+
+       * lisp/calendar/lunar.el (diary-lunar-phases): Report eclipses.
+       (calendar-lunar-phases): Tweak.
+
+2023-02-25  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       5cf50d60041 Check the anchor along with the offset in treesit-indent-...
+       497018dd5c3 ; Fix typos in docstrings in c-ts-common.el
+       03072bbdd38 ; Set indent-tabs-mode to nil in c-ts-mode indent preproc...
+       4a25fa4586c Align to prev sibling for c-ts-mode indentation
+       d25f24fe57b Fix c-ts-common-statement-offset and c-ts-common--node-is
+       c92360c7a3b typescript-ts-mode: Highlight non-shorthand destructuring...
+       a795c51f605 Add more/finer faces for tree-sitter
+       146bce49321 Avoid crashes in batch mode due to lack of frame face cache
+       244a73cd729 Add Tramp version integrated in Emacs 28.3
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       kmacro: Simplify register code and recent change
+
+       While reviewing uses of `last-kbd-macro` for more problems like
+       those of bug#61700 I noticed that we don't need the `kmacro-register`
+       type any more (we can directly use the new `kmacro` type instead).
+       Also `macros.el` requires `kmacro` so rather than autoload
+       `macro--string-to-vector` it's simpler to move the function to
+       `kmacro.el`.  And while at it fold into it the `stringp` test that's 
used
+       before every call to that function.
+
+       * lisp/kmacro.el (kmacro--to-vector): Rename from
+       `macro--string-to-vector`, move from `mcros.el`, and make it work for
+       vectors.
+       (kmacro-ring-head, kmacro-lambda-form): Simplify accordingly.
+       (cl-print-object): Remove unused declaration.
+       (kmacro-register): Delete type.  Use `kmacro` objects instead.
+       (register-val-jump-to, register-val-describe, register-val-insert):
+       Rewrite accordingly.
+       (kmacro-to-register): Put the `kmacro` object.
+
+       * lisp/macros.el (macro--string-to-vector): Move to `kmacro.el`.
+       (insert-kbd-macro): Use `kmacro--to-vector`.
+
+       * src/macros.c (end_kbd_macro): Always generate a vector.
+
+2023-02-24  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp cleanup
+
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Ignore errors.
+
+       * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
+       (tramp-test26-interactive-file-name-completion)
+       (tramp-test29-start-file-process, tramp-test30-make-process): Fix tests.
+
+2023-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge branch 'emacs-29'
+
+2023-02-24  Mattias Engdegård  <mattiase@acm.org>
+
+       More accurate suppression of ignored return value warning
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
+       Be careful to propagate the for-effect mode through a
+       `with-suppressed-warnings` form when compiling, so that a form
+       inside isn't erroneously considered to have its value 'used'
+       by the surrounding warning suppression form itself.
+
+2023-02-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix unsafep for aliases to side-effect-free functions
+
+       * lisp/emacs-lisp/unsafep.el (unsafep-function):
+       Follow aliases when reading the `side-effect-free` property.
+
+2023-02-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Follow function aliases for `side-effect-free` and `pure` properties
+
+       This way we don't need to set these properties on aliases at all;
+       it was always easy to forget doing so.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-opt--fget): New function.
+       (byte-optimize-form-code-walker, byte-optimize-form): Use it.
+       (side-effect-free-fns, side-effect-and-error-free-fns, pure-fns):
+       Remove aliases from lists, leaving only built-in functions.
+
+2023-02-24  Po Lu  <luangruo@yahoo.com>
+
+       Improve Android configury
+
+       * configure.ac (JAVA_PUSH_LINT): New macro.
+       (JAVAFLAGS): New variable.  Check for various lint flags and
+       macros and enable them.
+       * java/Makefile.in (ANDROID_ABI):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java: Remove compiler
+       warning.
+
+2023-02-24  Po Lu  <luangruo@yahoo.com>
+
+       Enable normal-erase-is-backspace on Android
+
+       * lisp/frame.el (display-symbol-keys-p):
+       * lisp/simple.el (normal-erase-is-backspace-setup-frame): Return
+       appropriate values on Android.
+
+2023-02-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-24  Po Lu  <luangruo@yahoo.com>
+
+       Fix auto-revert-mode on Android
+
+       * src/inotify.c (Finotify_add_watch): Handle asset files.
+
+2023-02-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       b0cbd5590b2 Eglot: simplify inlay hints implementation with jit-lock
+       91e24c5b5a6 Eglot: update inlay hints on window configuration changes
+       79fead1709f ; Fix a typo in a doc string in c-ts-common.el (bug#61736).
+       a0b273ef300 ; Clarify documentation of 'file-modes-number-to-symbolic'
+       5c2be6a2632 ; Fix recently-added doc strings in eglot.el
+       e3be0dbf85c Eglot: display completion label when safe
+       5286111ea1f Improve documentation of VC commands, including in Dired
+       990f4027131 * doc/emacs/maintaining.texi: More mentions of marked fil...
+
+2023-02-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-23  Jim Porter  <jporterbugs@gmail.com>
+
+       Don't add a space after the trailing slash when completing ~USER in 
Eshell
+
+       This provides a programmed completion function that works similarly to
+       ~USER completion in 'completion-file-name-table'.
+
+       * lisp/eshell/em-dirs.el (eshell-complete-user-reference): Throw a
+       programmed completion function.
+
+       * test/lisp/eshell/em-cmpl-tests.el
+       (em-cmpl-test/user-ref-completion): Update test.
+
+2023-02-23  Jim Porter  <jporterbugs@gmail.com>
+
+       Add support for completing quoted variables in Eshell like $'FOO'
+
+       This also adds the ability for Pcomplete handlers to set their own
+       exit functions that will get called as appropriate.
+
+       * lisp/pcomplete.el (pcomplete-default-exit-function): New function.
+       (pcomplete-exit-function): New variable...
+       (pcomplete-completions-at-point): ... let-bind and use it.
+
+       * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Handle
+       quoted variables.  We also build the 'posns' list from right-to-left
+       now.
+
+       * lisp/eshell/esh-var.el (eshell-envvar-names): Ensure that variable
+       aliases are included in this list.
+       (eshell-complete-variable-reference): Handle quoted variables and set
+       the exit function on the completions.
+       (eshell-variables-list): Simplify.  We now add the trailing slash for
+       directories in the exit function inside
+       'eshell-complete-variable-reference'.
+
+       * test/lisp/eshell/em-cmpl-tests.el
+       (em-cmpl-test/quoted-variable-ref-completion)
+       (em-cmpl-test/variable-ref-completion/directory): New tests.
+
+2023-02-23  andrés ramírez  <rrandresf@hotmail.com>
+
+       Additional change for Bug#61432
+
+       * lisp/emulation/viper-cmd.el (viper-set-mode-vars-for): Check
+       'viper-enable-minibuffer-faces' before enabling minibuffer overlays.
+
+2023-02-23  Po Lu  <luangruo@yahoo.com>
+
+       Make sure scroll-bar.el is loaded on Android
+
+       * lisp/loadup.el: Update commentary.
+       * src/androidterm.c (syms_of_androidterm): Define
+       Vx_toolkit_scroll_bars.
+       * src/xterm.c (syms_of_xterm): Update doc string.xf64
+
+2023-02-23  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-23  Po Lu  <luangruo@yahoo.com>
+
+       Fix ImageMagick build on Android
+
+       * INSTALL.android (-linux_arm_sources):
+       * build-aux/ndk-build-helper-1.mk:
+       (NDK_$(LOCAL_MODULE)_STATIC_LIBRARIES)::(NDK_CXX_FLAG_$(LOCAL_MODULE)):
+       * build-aux/ndk-build-helper-2.mk:
+       (NDK_$(LOCAL_MODULE)_STATIC_LIBRARIES)::(NDK_CXX_FLAG_$(LOCAL_MODULE)):
+       * cross/ndk-build/ndk-build-shared-library.mk (objname)::($(call
+       objname,$(LOCAL_MODULE),$(basename
+       $(1))))::(ALL_OBJECT_FILES$(LOCAL_MODULE)):
+       * cross/ndk-build/ndk-build-static-library.mk (objname)::($(call
+       objname,$(LOCAL_MODULE),$(basename
+       $(1))))::(ALL_OBJECT_FILES$(LOCAL_MODULE)):
+       (ALL_SOURCE_FILES): Update ImageMagick build instructions and
+       C++ module detection.
+
+2023-02-23  Po Lu  <luangruo@yahoo.com>
+
+       Make android_select more robust
+
+       * src/android.c (android_run_select_thread): Lock select_mutex
+       before signalling condition variable.
+       (android_select): Unlock event queue mutex prior to waiting for
+       it.
+
+2023-02-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       94e70ed4261 ; * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area)...
+       1841299a11d Eglot: implement inlay hints (bug#61412, bug#61066)
+       28ed0d1840f Eglot: run eglot-managed-mode-hook after LSP didOpen
+       7ad5d9babed Eglot: restore eldoc-documentation-functions on shutdown
+       711a775ba76 Eglot: simplify capability-checking code
+       ea7251ad6df Eglot: go back to setting eldoc-documentation-strategy again
+       6016f1982d3 ; * etc/NEWS: Fix typo again
+       d411b4d1fd3 ; * etc/NEWS (C-x v !): Additional text.
+       a0b67252346 ; * doc/emacs/vc1-xtra.texi (Preparing Patches): Wording ...
+       43c4dd6f962 ; * doc/emacs/anti.texi (Antinews): Adjust to latest chan...
+       20c654b6f8f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       177d0cf2a9a ; * etc/NEWS: Fix typos.
+       db7096a532c Yield to erc-move-to-prompt before unhiding prompt
+       db21c84bc94 ; Improve doc string of 'C-q'
+       a6be0be1db6 ; Clarify "kill files" in Gnus manual
+       d816429e2f2 * lisp/progmodes/python.el (python--import-sources): Fix ...
+       1f4886fdb09 Do not error out on non image file (bug#61639)
+       003759a6dca Explain effect of variable-pitch fonts on fill-column
+       ba91a76659b Avoid division by zero in get_narrowed_* functions
+       fb5dbf6de73 ; Fix documentation of 'icon-title-format'.
+       48c9a507713 * etc/NEWS: Mention new buffer display action alist entries
+       4dc1f2b9a01 ; * src/xterm.c (x_update_end): Condition on HAVE_XDBE
+       f1c83898060 Fix build --without-xdbe
+       ef38774c02c Improve dnd-direct-save-remote-files docstring
+       cf53e62a791 Add 'process-status' to process shortdoc
+       68df9e5953c * lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename)...
+       06ba9484166 Improve text about deleting windows
+       1976ca1634d Make 'emacs-news-cycle-tag' work at all levels
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-02-22  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Update Modus themes to version 4.1.0
+
+       * doc/misc/modus-themes.org: Update the manual.
+
+       * etc/themes/modus-operandi-deuteranopia-theme.el:
+       * etc/themes/modus-operandi-theme.el:
+       * etc/themes/modus-operandi-tinted-theme.el:
+       * etc/themes/modus-vivendi-deuteranopia-theme.el:
+       * etc/themes/modus-vivendi-theme.el:
+       * etc/themes/modus-vivendi-tinted-theme.el: Update theme files.
+
+       * etc/themes/modus-themes.el: Update main file to the latest version.
+
+       Detailed release notes here:
+       <https://protesilaos.com/codelog/2023-02-22-modus-themes-4-1-0/>.
+
+2023-02-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Declare `indirect-function` to be side-effect-free and error-free
+
+       * lisp/emacs-lisp/byte-opt.el (side-effect-and-error-free-fns):
+       Add `indirect-function` which is now error-free.
+
+2023-02-22  Po Lu  <luangruo@yahoo.com>
+
+       * src/image.c (imagemagick_load_image): Check HAVE_DECL_xxx.
+
+2023-02-22  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       ImageMagick now builds but does not link yet some of the time.
+
+       * INSTALL.android: Document ImageMagick and caveats.
+       * build-aux/ndk-build-helper-1.mk (NDK_SO_NAMES):
+       * build-aux/ndk-build-helper-2.mk (NDK_A_NAMES):
+       * build-aux/ndk-build-helper.mk (TARGET_ARCH_ABI): Define architecture
+       and don't respect explicitly specified library names.
+       * configure.ac: Enable ImageMagick and lcms2 on Android.
+       * cross/ndk-build/ndk-build-shared-library.mk (objname)::($(call
+       objname,$(LOCAL_MODULE),$(basename
+       $(1))))::(ALL_OBJECT_FILES$(LOCAL_MODULE)):
+       * cross/ndk-build/ndk-build-static-library.mk (objname)::($(call
+       objname,$(LOCAL_MODULE),$(basename $(1)))):
+       (NDK_CFLAGS, ALL_SOURCE_FILES): Handle sources files which start with
+       $(LOCAL_PATH).
+       * cross/ndk-build/ndk-clear-vars.mk: Don't undefine; clear variables
+       instead.
+       * m4/ndk-build.m4 (ndk_SEARCH_MODULE): Redirect make stderr to
+       config.log.xf64
+
+2023-02-22  Mattias Engdegård  <mattiase@acm.org>
+
+       Use delete-char instead of backward-delete-char
+
+       * lisp/bs.el (bs-delete):
+       * lisp/dired-aux.el (dired-show-file-type):
+       * lisp/emulation/viper-cmd.el (viper-insert-prev-from-insertion-ring):
+       * lisp/man.el (Man-fontify-manpage, Man-cleanup-manpage):
+       * lisp/net/mailcap.el (mailcap-parse-mailcap):
+       * lisp/progmodes/antlr-mode.el (antlr-insert-makefile-rules):
+       * lisp/textmodes/reftex-ref.el (reftex-reference):
+       * lisp/vc/emerge.el:
+       * lisp/woman.el (woman-man-buffer):
+       * test/src/fns-tests.el (fns-tests-hash-buffer):
+       Replace some calls to backward-delete-char with delete-char (negating
+       the argument) since the former is intended for interactive use.
+       This silences most of the interactive-only warnings.
+
+2023-02-22  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/input.texi (On-Screen Keyboards): Document changes
+       to text conversion.
+       * java/org/gnu/emacs/EmacsInputConnection.java (getExtractedText)
+       (EmacsInputConnection):
+       * src/keyboard.c (read_key_sequence): Disable text conversion
+       after reading prefix key.
+       * src/textconv.c (get_extracted_text): Fix returned value when
+       request length is zero.
+
+2023-02-22  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-22  Po Lu  <luangruo@yahoo.com>
+
+       Add cross-compilation test for cleanup attribute
+
+       * configure.ac: Per title.
+
+2023-02-22  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Port to MIPS.
+       * configure.ac (modules): Default to ifavailable.
+       Write actual test for __attribute__((cleanup)).
+       * m4/ndk-build.m4: Recognize mips and mips64.
+       * src/emacs-module.c: Remove broken HAS_ATTRIBUTE test.
+
+2023-02-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove stray quotes
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
+       * lisp/help-fns.el (help-fns--interactive-only): Fix obvious mistake.
+       Since `interactive-only` is not supposed to be anything other than
+       a symbol at these points it was not a very consequential bug.
+
+2023-02-21  Robert Pluim  <rpluim@gmail.com>
+
+       Say whether we're using X11 double buffering
+
+       * configure.ac (EMACS_CONFIG_FEATURES): Output value of HAVE_XDBE.
+
+2023-02-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-21  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
+       (addSubmenu, inflateMenuItems): Handle tooltips correctly.
+       * src/android.c (android_scan_directory_tree): Fix limit
+       generation for root directory.
+       * src/androidmenu.c (android_init_emacs_context_menu)
+       (android_menu_show): Implement menu item help text on Android
+       8.0 and later.
+
+2023-02-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Follow aliases for `interactive-only` declarations
+
+       Make `interactive-only` declarations apply to aliases of the same
+       function as well since this quality isn't in the name but in what
+       the function does.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
+       * lisp/help-fns.el (help-fns--interactive-only):
+       Follow aliases when retrieving the `interactive-only` property.
+
+2023-02-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       5a864f23eb8 regex-emacs.c: Reduce the use of backtracking a bit further
+       e83c78b8c77 Eglot: respect user's Eldoc configuration by default
+       5d0b45cd67b Make the native compiler always use `make-temp-file' for ...
+       88ee92e61d7 ; * lisp/progmodes/rust-ts-mode.el (treesit-node-end): De...
+       02aba20d528 Update to Transient v0.3.7-216-gfe40342
+       d7010d64b21 Add declaration_list to c-ts-common-indent-type-regexp-alist
+       19480aa30e3 Typescript-ts-mode: Add switch case handling
+       dfc850ca022 Fix object initializer for csharp-mode (bug#61541)
+       fc4bfa76db9 Update to Org 9.6.1-34-geea8da
+       afbce8bb467 Improve tree-sitter indent anchor prev-adaptive-prefix (b...
+       2e6093b425e Adjust jsx indentation
+       c544df4fa3f Cleanup preproc indent for c-ts-mode (bug#61558)
+       d397f3d5084 Add comment style toggle for c-ts-mode (bug#61550)
+       683961cd733 * lisp/simple.el (choose-completion): Check for completio...
+       1ac05eac74b rust-ts-mode--font-lock-settings: Avoid the explicit 'def...
+       b5bea14ca17 * lisp/progmodes/xref.el: Bump the version.
+
+       # Conflicts:
+       #       src/comp.c
+
+2023-02-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Detect and prevent function alias loops in `fset` and `defalias`
+
+       Make `fset` and `defalias` signal an error on attempts to create
+       circular alias chains.  This is more effective, efficient and
+       convenient than permitting alias loops to be created and trying to
+       detect them at run time each time a function is called, which is what
+       we have been doing until now, badly.
+
+       * lisp/help-fns.el (help-fns--analyze-function):
+       Don't pass obsolete argument.
+       * lisp/subr.el (function-alias-p):
+       * src/data.c (indirect_function, Findirect_function): Simplify.
+       Now error-free, second argument obsolete.
+       (Ffset): Detect loops.
+       * test/lisp/help-fns-tests.el (help-fns--analyze-function-recursive):
+       * test/lisp/subr-tests.el (test-alias-p):
+       Adapt tests.
+       * test/src/data-tests.el (data-tests-fset, data-tests-defalias): New.
+       * doc/lispref/eval.texi (Function Indirection):
+       * doc/lispref/functions.texi (Defining Functions, Function Cells):
+       Update manual.
+       * etc/NEWS: Announce.
+
+2023-02-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       ad6c6a3a115 ; Merge from origin/emacs-28
+       9a6f22fd0b4 Merge from origin/emacs-28
+       a44d906740f ; Commit files changed by "autoreconf -i -I m4 --force"
+       f5a99945b6f ; Update ChangeLog for Emacs 28.3
+       f7bd5ac5521 Update HISTORY for Emacs 28.3
+
+       # Conflicts:
+       #       build-aux/config.guess
+       #       build-aux/config.sub
+
+2023-02-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       1630bfb5d08 Merge from origin/emacs-28
+       e2ac0d416b9 ; Merge from origin/emacs-28
+       068b53500e2 ; Improve image-dired-thumbnail-storage docstring
+       497ed0fb42e ; * doc/emacs/dired.texi (Image-Dired): Fix last change.
+       4aa397e71b2 More doc on image-dired-dired-* (bug#61624)
+       893ddd5903e Eglot: improve treatment of completion items without :sor...
+       4a77fcb1478 Update ChangeLog and AUTHORS for Emacs 28.3
+       e339926272a Fix etags local command injection vulnerability
+       5d05ea803e9 Fixed ctags local command execute vulnerability
+       22fb5ff5126 Fix ruby-mode.el local command injection vulnerability (b...
+       807d2d5b3a7 Fix htmlfontify.el command injection vulnerability.
+       ae9bfed50db Fix storing email into nnmail by Gnus
+
+2023-02-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       f5a99945b6f ; Update ChangeLog for Emacs 28.3
+       f7bd5ac5521 Update HISTORY for Emacs 28.3
+
+2023-02-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+2023-02-21  Po Lu  <luangruo@yahoo.com>
+
+       Update from gnulib
+
+       * admin/merge-gnulib (GNULIB_MODULES):
+       * cross/lib/getopt-pfx-core.h (optind):
+       * cross/lib/limits.in.h (BOOL_WIDTH):
+       * cross/lib/math.in.h:
+       * cross/lib/stpncpy.c (__stpncpy):
+       * cross/lib/string.in.h:
+       * lib/getopt-pfx-core.h (optind):
+       * lib/gnulib.mk.in (ANDROID_MIN_SDK):
+       (GL_COND_OBJ_STDIO_READ_CONDITION):
+       (LIBS):
+       (NDK_BUILD_AR):
+       (REPLACE__EXIT):
+       (libgnu_a_SOURCES):
+       * lib/limits.in.h (BOOL_WIDTH):
+       * lib/math.in.h:
+       * lib/strncpy.c (__stpncpy):
+       * lib/string.in.h:
+       * m4/assert_h.m4 (gl_ASSERT_H):
+       * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR):
+       * m4/getdelim.m4 (gl_FUNC_GETDELIM):
+       * m4/getline.m4 (gl_FUNC_GETLINE):
+       * m4/gnulib-common.m4 (gl_COMMON_BODY):
+       (gl_CONDITIONAL_HEADER):
+       (gl_CHECK_FUNCS_ANDROID):
+       * m4/gnulib-comp.m4 (gl_EARLY):
+       (gl_INIT):
+       (gl_FILE_LIST):
+       * m4/limits-h.m4:
+       * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
+       * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
+       * m4/printf.m4 (gl_PRINTF_SIZES_C99):
+       (gl_PRINTF_INFINITE):
+       (gl_PRINTF_INFINITE_LONG_DOUBLE):
+       (gl_PRINTF_DIRECTIVE_A):
+       (gl_PRINTF_DIRECTIVE_F):
+       (gl_PRINTF_FLAG_ZERO):
+       (gl_SNPRINTF_PRESENCE):
+       (gl_SNPRINTF_DIRECTIVE_N):
+       (gl_VSNPRINTF_ZEROSIZE_C99):
+       * m4/pselect.m4 (gl_FUNC_PSELECT):
+       * m4/readlink.m4 (gl_FUNC_READLINK):
+       * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
+       * m4/signbit.m4 (gl_SIGNBIT):
+       * m4/stpncpy.m4 (gl_FUNC_STPNCPY):
+       * m4/symlink.m4 (gl_FUNC_SYMLINK): Add gnulib module stpncpy.
+       * src/android.c: Include string.h.
+
+2023-02-21  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Startup): Document `content'
+       special directory.
+       * java/debug.sh (is_root): Improve /bin/tee detection.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function `dup'.
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
+       (checkReadableOrCopy, onCreate): Create content directory names
+       when the file is not readable.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (openContentUri, checkContentUri): New functions.
+       * src/android.c (struct android_emacs_service): New methods.
+       (android_content_name_p, android_get_content_name)
+       (android_check_content_access): New function.
+       (android_fstatat, android_open): Implement opening content URIs.
+       (dup): Export to Java.
+       (android_init_emacs_service): Initialize new methods.
+       (android_faccessat): Implement content file names.
+
+2023-02-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure): Tweak
+       docstring
+
+2023-02-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Explain where to get tree-sitter.
+
+       * configure.ac: Add support for dynamic modules and tree-sitter.
+
+       * doc/emacs/android.texi (Android Windowing):
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (EmacsSdk11Clipboard, ownsClipboard): Improve clipboard handling
+       and documentation.
+
+2023-02-20  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/macroexp.el (mapcan): Set funarg-positions.
+
+2023-02-20  Mattias Engdegård  <mattiase@acm.org>
+
+       Repair mistake in a previous edmacro-sanitize-string change
+
+       * lisp/edmacro.el (edmacro-sanitize-for-string):
+       This condition should not have been 'repaired' but removed altogether.
+       Do so now, fixing bug#61647.
+
+       Reported by Eduardo Ochs.
+
+2023-02-20  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash inside font-list-family
+
+       * src/androidfont.c (androidfont_list_family): Don't
+       unconditionally initialize the Android font driver.
+
+2023-02-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-20  Po Lu  <luangruo@yahoo.com>
+
+       Improve SFNT driver lookup efficiency
+
+       * src/fontset.c (fontset_find_font): Add compatibility test to
+       registry strangeness case.
+       * src/sfnt.c (sfnt_read_cmap_table): Don't read subtable data if
+       DATA is NULL.
+       * src/sfntfont.c (struct sfnt_font_desc): New field `registry'.
+       (sfnt_registry_for_subtable): New function.
+       (sfntfont_identify_cmap): Move above sfnt_grok_registry.
+       (sfnt_grok_registry): New function.
+       (sfnt_enum_font_1): Call it.
+       (sfntfont_registries_compatible_p): New function.
+       (sfntfont_list_1): Check registry compatibility.
+       (sfntfont_registry_for_desc): New function.
+       (mark_sfntfont): Mark desc->registry.
+
+2023-02-20  Po Lu  <luangruo@yahoo.com>
+
+       Improve reliability of Java code rebuilds
+
+       * java/Makefile.in ($(CLASS_FILES)): Depend on the Java
+       compiler's internal dependency tracking.
+
+2023-02-20  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Help Elisp xref recognize defclass parent classes
+
+       * lisp/progmodes/elisp-mode.el (elisp--xref-infer-namespace):
+       Handle defclass parents (bug#61640).
+
+       * test/lisp/progmodes/elisp-mode-tests.el (elisp-mode-infer-namespace):
+       New case in the test.
+
+2023-02-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp cleanup
+
+       * lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
+       (tramp-smb-action-set-acl): Use timeout.
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test26-interactive-file-name-completion): Fix test.
+
+2023-02-19  Alan Mackenzie  <acm@muc.de>
+
+       imenu: Make the test for a single category of map (e.g. "Class") 
rigorous
+
+       This fixes bug #61629.
+
+       * lisp/imenu.el (imenu--mouse-menu): Test (consp (cdadr menu)) to avoid
+       confusion with a single entry for a single function.
+       (imenu-update-menubar): Change the code to match that above.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Match font registry after font is opened
+
+       * src/fontset.c (fontset_find_font): Work around TrueType
+       performance problem.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+       * cross/Makefile.in (src/libemacs.so): Depend on libgnu.a.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       More fixes to parallel Make
+
+       * cross/ndk-build/ndk-build.mk.in (NDK_BUILD_MODULES)
+       (NDK_BUILD_SHARED, NDK_BUILD_STATIC): Define group rule to build
+       all files so that they are built within one make process.
+       * java/Makefile.in: Reorganize cross compilation and make sure
+       there is only one make subprocess for each subdirectory of
+       cross.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       More parallel build fixes
+
+       * cross/Makefile.in: (.PHONY):
+       * java/Makefile.in: (.PHONY):
+       * src/Makefile.in: (libemacs.so): Avoid calling ndk-build from
+       two places at once.  Build android-emacs separately from
+       libemacs.so.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix parallel compilation of Android port
+
+       * cross/Makefile.in ($(top_builddir)/lib/libgnu.a):
+       * java/Makefile.in (CROSS_LIBS): Explicitly depend on gnulib
+       to prevent it from being built at the same time from different
+       jobs.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix sfntfont.c build without mmap
+
+       * src/sfntfont.c (sfntfont_close): Don't unlink font if mmap is
+       not available.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Improve Android documentation
+
+       * INSTALL.android: Say where building Emacs is supported.
+       * doc/emacs/android.texi (Android Startup): Describe how to
+       connect via ADB.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Report both sides of the region to the input method upon setup
+
+       * java/org/gnu/emacs/EmacsNative.java (getSelection): Return
+       array of ints.
+       * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
+       Adjust accordingly.
+       * src/androidterm.c (struct android_get_selection_context): New
+       field `mark'.
+       (android_get_selection): Set the mark field as appropriate.
+       (getSelection): Adjust accordingly.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix gamegrid.el with high resolution displays
+
+       * lisp/play/gamegrid.el (gamegrid-setup-default-font): Clamp
+       font size at eight.
+
+2023-02-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       871cf33a450 ; * admin/make-tarball.txt: Minor copyedit.
+       4faebba2fed Fix invocation of File->Close from the menu bar
+       cd05fca5f78 ; Improve documentation of 'native-comp-enable-subr-tramp...
+       c61a30e1601 Update thumbnail buffer's header more
+       4c49452cdef (treesit-query-validate): Fix reusing the output buffer
+       d560dc5044a (rust-ts-mode--font-lock-settings): Highlight closure par...
+       c15bc91e1bf * Fix `native-comp-enable-subr-trampolines' semantic
+       774051873d5 Fix documentation of 'just-one-space' and 'delete-horizon...
+       7337f072500 ; Remove NEWS entry about deleted variable.
+       fb5299ba099 ; Fix wording of last change.
+       9f508cef85d Fix 'display-buffer-use-least-recent-window'
+       5190ea6259a Fix point moving when calling python-shell-send-region
+       6c0d8210175 (project-try-vc): Remove unused defvar/require
+       4f9862e4356 ; Fix typo
+       a638c79bc5c Delete redundant question from Gnus FAQ
+       4a90d67eb68 Slightly improve hashcash documentation
+       6ea3c105ab1 Fix cursor motion when there's line-prefix and display st...
+       e985466556c Fix comment in treesit_record_change (bug#61369)
+       1e5cebc88bb Spell out RPN abbreviation in Calc manual intro
+
+       # Conflicts:
+       #       etc/NEWS
+       #       lisp/window.el
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Allow opening more files in emacsclient on Android
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
+       (checkReadableOrCopy): New function.
+       (onCreate): If the file specified is not readable from C, read
+       it into a temporary file and ask Emacs to open that.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Implement `fullscreen' on Android 4.0 and later
+
+       * doc/emacs/android.texi (Android Windowing): Document what new
+       frame parameters are now supported.
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): New
+       field `isFullscreen'.
+       (detachWindow, attachWindow): Sync fullscreen state.
+       (onWindowFocusChanged): Add more logging.
+       (onResume): Restore previous fullscreen state.
+       (syncFullscreen): New function.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
+       (setFullscreen): New function.
+       * src/android.c (struct android_emacs_window): Add new method.
+       (android_init_emacs_window): Look up new method.
+       (android_set_fullscreen): New function.
+       * src/androidgui.h:
+       * src/androidterm.c (android_fullscreen_hook): Implement
+       accordingly.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Fix crashes in desktop-save-mode
+
+       * lisp/subr.el (overriding-text-conversion-style, y-or-n-p):
+       Disable text conversion when reading from minibuffer.
+       * src/androidfns.c (android_make_monitor_attribute_list): New
+       function.
+       (Fandroid_display_monitor_attributes_list): Call it to set
+       monitor_frames, which avoids a NULL pointer dereference.
+       Reported by Angelo Graziosi <angelo.g0@libero.it>.
+
+2023-02-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Don't rely on dynamic scoping to fix bug#59213
+
+       Rather than look up a dynamically scoped var to decide whether to trim
+       closures, use an ad-hoc marker on those closures which should not be 
trimmed.
+
+       * lisp/emacs-lisp/cconv.el (cconv-dont-trim-unused-variables): Delete 
var.
+       (cconv-make-interpreted-closure): Use a `:closure-dont-trim-context`
+       markers instead.
+
+       * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Use
+       `:closure-dont-trim-context` rather than 
`cconv-dont-trim-unused-variables`.
+
+       * lisp/emacs-lisp/testcover.el (testcover-analyze-coverage): Remove
+       workaround for `cconv-dont-trim-unused-variables`.
+
+       * test/lisp/emacs-lisp/cconv-tests.el (cconv-safe-for-space): New test.
+
+2023-02-18  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp's user and host name completion
+
+       * lisp/net/tramp.el (tramp-completion-handle-file-exists-p):
+       Improve user name completion.
+       (tramp-skeleton-file-exists-p): New defmacro, which also handles
+       host name completion.
+       (tramp-handle-file-exists-p):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-file-exists-p):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p):
+       Use it.
+
+2023-02-18  andrés ramírez  <rrandresf@hotmail.com>  (tiny change)
+
+       Allow disabling viper faces in the minibuffer
+
+       * lisp/emulation/viper-cmd.el (viper-enable-minibuffer-faces): New
+       defcustom.
+       (viper-set-mode-vars-for): Use it to decide whether to use
+       distinct faces in the minibuffer.  (Bug#61432)
+
+2023-02-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/input.texi (On-Screen Keyboards): Document
+       `touch-screen-always-display'.
+       * doc/lispref/commands.texi (Misc Events): Improve documentation
+       of text conversion events.
+       * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog, display1):
+       Reorder buttons to make more sense.
+       * lisp/elec-pair.el (electric-pair-analyze-conversion): New
+       function.
+       * lisp/simple.el (analyze-text-conversion): Improve integration
+       with electric pair modes.
+       * lisp/term.el (term-mode): Always display the onscreen
+       keyboard.
+       * lisp/touch-screen.el (touch-screen-display-keyboard)
+       (touch-screen-handle-point-up): Respect new options.
+       * src/textconv.c (really_set_composing_text): Stop widenining
+       unnecessarily.
+       (really_delete_surrounding_text): Really delete surrounding
+       text.  Give text conversion analyzers the buffer text.
+       (syms_of_textconv): Update doc string.
+
+2023-02-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Remove redundant requires from package.el
+
+       * lisp/emacs-lisp/package.el (package-check-signature)
+       (package-untar-buffer): Simplify by removing redundant require for
+       autoloaded function.
+
+2023-02-18  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       1769a588300 Fix some uses of 'use-dialog-box'
+       deef41a8259 Fix hi-lock-tests when 'use-dialog-box' is non-nil
+       5093a534960 Fix regression due to change in face sort order by 'face-...
+       3e747630999 * lisp/files.el (file-equal-p): Work around Haiku stat bug.
+       13fd7667f9c ; * src/treesit.c: Improve sectioning.
+       a40b1745d4a (project-vc-backend-markers-alist): Add entry for vc-got
+       18e96ed7c8a project.el: Extract backend->marker association for a defvar
+       0a5615669a4 Don't completely clip into visible range in treesit_recor...
+       5b34fc07085 * lisp/treesit.el (treesit-node-at): Update docstring (bu...
+       1c7d7623781 ; Minor copyedit of NEWS wrt *-ts-modes
+       09fad246de8 * lisp/calc/calc.el (calc-mode): Improve docstring.
+       8aad8d75aa9 ; Improve and update documentation of native compilation
+       d6e4f243720 Merge 'emacs-29' into 'feature/inhibit-native-comp-cleanup'
+       a555abc56d5 Fix order of faces in 'face-list'
+       b44a7ff85dc Allow 'icon-title-format' to have the value t
+       f1f571e72ae Add electric indent for preproc directives
+       83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
+       5bc88b3b175 Add menu to news-mode
+       40f4bc4e0aa ; Avoid installing VC package dependencies multiple times
+       1c9d81a2b42 Attempt to recognise if a VC package has no Elisp files
+       2550e8bb0b0 Fix mule-tests under en_US.UTF-8 locale
+       32795309939 Move block closer above declaration_list rule (bug#61531)
+       b18754bb179 Minor improvements in c-ts-mode and docs
+       3c6b726a7b4 Add super node as a keyword
+       1917c51fe68 ; Prevent ERC-induced false positive in JUnit report
+       b16965ef7e6 Delete perplexing paragraph from Gnus manual
+       43c62a4732d ; Fix typo
+       fdac69b45e6 ; Auto-commit of loaddefs files.
+       7678b7e46f2 Eglot: check server capability before sending didSave (bu...
+       a3a1ef7bd5e Fix rust-ts-mode type and module highlighting (Bug#61302)
+       477aa047ee7 rust-ts-mode: Highlight variable reassignments
+       5206a551c16 Improve backward compatibility of save-restriction
+       accd88d5545 Don't indent template_string contents (bug#61503)
+       d97a3839967 csharp-ts-mode: fontify compiler directives (bug#61512)
+       420d2cae846 Update to Transient v0.3.7-209-gdab1dfa
+       a3751b5d0c1 ; Raise an error if a VC package checkout is empty
+       6a32ba8b69c ; Fix the installation of dependencies for VC packages
+       4eac80fcc39 ; Prepare to update ERC version to 5.5
+       4f099a72173 ; Remove failing erc-reuse-buffers test
+       ce4a066ed1e * Generate trampolines in a temporary directory if no oth...
+       4bb27a5ca93 ; Minor docs copyedits
+       13bcff3da5c Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       3d572ae0d50 Rename with/without-narrowing to with/without-restriction
+       d806b0e33cf * lisp/repeat.el: Rename internal function and variable (...
+       1a64f326e0a * Fix previous change
+       95692f6754c Rename native-comp-deferred-compilation-deny-list
+       8d8464bd5a9 Rename native-comp-deferred-compilation into native-comp-...
+       5d0912f1445 Rename comp-enable-subr-trampolines into native-comp-enab...
+       dd8b720ee74 ; * etc/NEWS: Fix typos.
+       909bd04cf5f ; * lisp/calendar/lunar.el: Add comments. (bug#61460)
+       10f2aedea9a ; * lisp/progmodes/c-ts-mode.el (c-ts-base-mode): delete ...
+       abfd00e5c02 * lisp/emacs-lisp/comp.el (native-comp-never-optimize-fun...
+       1795839babc Support `comp-enable-subr-trampolines' as string value
+       865758130a1 ; * admin/git-bisect-start: Update failing commits
+       b948d0d7efe Merge branch 'scratch/fix-locked-narrowing'
+       b6e2799aa1c * Some more `inhibit-native-compile' clean-up
+       dcb2379a463 Minor improvements to labeled narrowing
+       c0681cd3477 Revert "Add new variable 'inhibit-native-compilation'"
+       3969a34fa1b Revert "Rename to inhibit-automatic-native-compilation"
+       4297039bd13 Save and restore the absence of narrowing locks
+       2956e54b1dd Add an extensive test for labeled (locked) narrowing
+       79ce185ad13 Update the documentation about labeled (locked) narrowing
+       a6cd4553d48 Rename two long line optimizations variables
+       0d73e4aa261 Add specific symbols for narrowings
+       d8438e2bb44 Add 'without-narrowing' macro
+       97314447e60 Make 'narrowing-lock' and 'narrowing-unlock' internal
+       a4aa32bdfff Fix 'save-restriction' for narrowing locks
+
+2023-02-18  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Rename 'display-time-time-and-date-indicator' to 
'display-time-date-and-time' (bug#61567)
+
+       * etc/NEWS:
+       * lisp/time.el (display-time-time-and-date-indicator)
+       (display-time-date-and-time, display-time-string-forms): Update symbol.
+
+2023-02-18  Po Lu  <luangruo@yahoo.com>
+
+       Notify input methods when editing fails
+
+       * INSTALL.android: Clarify build instructions.
+       * src/textconv.c (struct complete_edit_check_context): New
+       structure.
+       (complete_edit_check): New function.
+       (handle_pending_conversion_events_1): If the window is known,
+       then ensure that any editing failures are reported to the input
+       method.
+
+2023-02-18  Po Lu  <luangruo@yahoo.com>
+
+       * configure.ac: Fix typo.
+
+2023-02-18  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac: Check for madvise.
+       * lisp/international/fontset.el (script-representative-chars):
+       Improve detection of CJK fonts.
+       * src/pdumper.c (dump_discard_mem): Use madvise if possible.
+       * src/sfnt.c (sfnt_map_glyf_table, sfnt_unmap_glyf_table): New
+       functions.
+       * src/sfnt.h (struct sfnt_glyf_table): New field.
+       * src/sfntfont.c (struct sfnt_font_info, sfntfont_open)
+       (sfntfont_close, sfntfont_detect_sigbus): Allow mmapping fonts
+       if possible.
+       * src/sfntfont.h: Update prototypes.
+       * src/sysdep.c (handle_sigbus, init_sigbus, init_signals):
+       Initialize SIGBUS correctly.
+
+2023-02-18  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use more recent public_suffix_list.dat where possible
+
+       * lisp/url/url-domsuf.el (url-domsuf--public-suffix-file): New
+       function to look for a more recent version of public_suffix_list.dat
+       on the system than the one that is shipped with Emacs.
+       (url-domsuf-parse-file): Use above new function.
+       * test/lisp/url/url-domsuf-tests.el
+       (url-domsuf--public-suffix-file): New test.
+
+2023-02-17  Alan Mackenzie  <acm@muc.de>
+
+       Make the byte compiler give correct warning positions in 
eval-and-compile
+
+       This fixes bug #61579.
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-environment): 
Remove a
+       spurious `byte-run-strip-symbol-position' from the core form of the
+       eval-and-compile element.
+
+2023-02-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Use substitute-command-keys more in Calc help
+
+       * lisp/calc/calc-ext.el (calc-do-prefix-help):
+       * lisp/calc/calc-help.el (calc-help-prefix, calc-help-for-help)
+       (calc-h-prefix-help, calc-inverse-prefix-help)
+       (calc-hyperbolic-prefix-help, calc-inv-hyp-prefix-help)
+       (calc-f-prefix-help, calc-s-prefix-help, calc-r-prefix-help)
+       (calc-j-prefix-help, calc-a-prefix-help, calc-b-prefix-help)
+       (calc-c-prefix-help, calc-d-prefix-help, calc-g-prefix-help)
+       (calc-k-prefix-help, calc-m-prefix-help, calc-t-prefix-help)
+       (calc-u-prefix-help, calc-l-prefix-help, calc-v-prefix-help):
+       * lisp/calc/calc-misc.el (calc-dispatch-help, calc-help):
+       * lisp/calc/calc.el (calc-do-dispatch): Use substitute-command keys.
+
+2023-02-17  Mattias Engdegård  <mattiase@acm.org>
+
+       Move side-effect-free and pure declarations to function definitions
+
+       Some Lisp functions still had their `side-effect-free` and `pure`
+       properties declared in byte-opt.el; do it at their definition instead.
+       The lists in byte-opt.el now only contain functions implemented in C
+       and function aliases.
+
+       * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
+       (side-effect-and-error-free-fns, pure-fns):
+       Remove functions whose properties are now declared elsewhere
+       and some obsolete entries.
+       * lisp/custom.el (custom-variable-p):
+       * lisp/emacs-lisp/lisp.el (buffer-end):
+       * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
+       * lisp/env.el (getenv):
+       * lisp/simple.el (count-lines, mark, string-empty-p, lax-plist-get):
+       * lisp/subr.el (ignore, always, zerop, fixnump, bignump, lsh, last)
+       (eventp, mouse-movement-p, log10, memory-limit, string-greaterp)
+       (interactive-p):
+       * lisp/window.el (get-lru-window, get-largest-window, (window-edges)
+       (window-body-edges, window-pixel-edges, window-body-pixel-edges)
+       (window-absolute-pixel-edges, window-absolute-body-pixel-edges)
+       (one-window-p):
+       Declare functions `side-effect-free` and/or `pure` as appropriate.
+
+2023-02-17  Po Lu  <luangruo@yahoo.com>
+
+       Work around race condition bug in Android 13's input manager
+
+       * src/androidterm.c (android_get_selection): Use ephemeral last
+       point.
+       * src/textconv.c (report_selected_window_change): Set
+       w->ephemeral_last_point to the window's point now.
+
+2023-02-17  Po Lu  <luangruo@yahoo.com>
+
+       Update emacsbug and version.el for the Android port
+
+       * java/Makefile.in (install_temp/assets/version): New generated
+       file.
+       * lisp/loadup.el: Set emacs versions appropriately prior to
+       dumping on Android.
+       * lisp/mail/emacsbug.el (emacs-build-description): Insert
+       Android build fingerprint.
+       * lisp/version.el (emacs-repository-version-android)
+       (emacs-repository-get-version, emacs-repository-get-branch):
+       Implement for Android.
+       * src/androidterm.c (android_set_build_fingerprint): New
+       function.
+       (syms_of_androidterm): New variable `android-build-fingerprint'.
+
+2023-02-17  Po Lu  <luangruo@yahoo.com>
+
+       * src/android.c (android_exception_check): Fix typo.
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-17  Po Lu  <luangruo@yahoo.com>
+
+       Improve logging of Java exceptions
+
+       * src/android.c (android_exception_check): Print more detailed
+       information.
+
+2023-02-17  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash on old versions of Android
+
+       * java/org/gnu/emacs/EmacsService.java (nameKeysym): Implement
+       stub on Android 3.0 and earlier.
+
+2023-02-17  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Define 'display-time-time-and-date-indicator' face
+
+       * etc/NEWS: Announce the new face for the 'display-time-format'.
+       * lisp/time.el (display-time-time-and-date-indicator): Define new face.
+       (display-time-string-forms): Use the new face. (Bug#61567)
+
+2023-02-17  Alan Mackenzie  <acm@muc.de>
+
+       Add handling of the C11 _Generic construct to C Mode
+
+       This fixes bug #61481.
+
+       * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): Add a new CASE 6 
for
+       _Generic.
+
+       * lisp/progmodes/cc-fonts.el (c-fontify-types-and-refs): Use `let*' 
rather
+       than `let'.
+       (c-get-fontification-context): Add the new result `generic', and add 
handling
+       to determine it.
+       (c-font-lock-declarations): Call c-font-lock-c11-generic-clause when 
needed.
+       (c-font-lock-c11-generic-clause): New function.
+
+       * lisp/progmodes/cc-langs.el (c-generic-kwds, c-generic-key): New lang
+       constants/variable.
+
+2023-02-17  Po Lu  <luangruo@yahoo.com>
+
+       Fix build and running on Android 2.2
+
+       * INSTALL.android: Document that Android 2.2 is now supported,
+       with caveats.
+       * configure.ac (ANDROID_MIN_SDK, ANDROID_SDK_18_OR_EARLIER)
+       (SYSTEM_TYPE, ANDROID_STUBIFY, SIZEOF_LONG): Correctly detect
+       things missing on Android 2.2.
+       * java/Makefile.in (ANDROID_JAR, JARSIGNER_FLAGS):
+       * java/debug.sh (jdb, gdbserver, line):
+       * java/org/gnu/emacs/EmacsApplication.java (findDumpFile):
+       * java/org/gnu/emacs/EmacsService.java (onCreate):
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread, run): Run
+       parameter initialization on main thread.
+       * src/android-asset.h (struct android_asset_manager)
+       (struct android_asset, AAssetManager_fromJava, AAssetManager_open)
+       (AAsset_close, android_asset_create_stream)
+       (android_asset_read_internal, AAsset_openFileDescriptor)
+       (AAsset_getLength, AAsset_getBuffer, AAsset_read): New file.
+       * src/android.c (android_user_full_name, android_hack_asset_fd)
+       (android_check_compressed_file): Implement for Android 2.2.
+       * src/process.c (Fprocess_send_eof): Don't call tcdrain if
+       unavailable.
+       * src/sfntfont-android.c (system_font_directories): Fix compiler
+       warning.
+       * src/sfntfont.c (sfntfont_read_cmap): Correctly test rc of
+       emacs_open.
+       * src/textconv.c (handle_pending_conversion_events_1): Mark
+       buffer UNINIT.
+
+2023-02-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       f1f571e72ae Add electric indent for preproc directives
+       83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
+       5bc88b3b175 Add menu to news-mode
+       40f4bc4e0aa ; Avoid installing VC package dependencies multiple times
+       1c9d81a2b42 Attempt to recognise if a VC package has no Elisp files
+
+2023-02-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Fonts):
+       * doc/emacs/input.texi (On-Screen Keyboards):
+       * doc/lispref/commands.texi (Misc Events): Update documentation.
+       * java/org/gnu/emacs/EmacsInputConnection.java (setSelection):
+       New function.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView)
+       (reconfigureFrontBuffer): Make bitmap references weak
+       references.
+       * java/org/gnu/emacs/EmacsView.java (handleDirtyBitmap): Don't
+       clear surfaceView bitmap.
+       * lisp/comint.el (comint-mode):
+       * lisp/international/fontset.el (script-representative-chars)
+       (setup-default-fontset): Improve detection of CJK fonts.
+       * lisp/isearch.el (set-text-conversion-style): New variable.
+       (isearch-mode, isearch-done): Save and restore the text
+       conversion style.
+       * lisp/minibuffer.el (minibuffer-mode): Set an appropriate text
+       conversion style.
+       * lisp/simple.el (analyze-text-conversion): Run
+       post-self-insert-hook properly.
+       * lisp/subr.el (read-char-from-minibuffer): Disable text
+       conversion when reading character.
+       * src/androidterm.c (show_back_buffer): Don't check that F is
+       not garbaged.
+       (android_update_selection, android_reset_conversion): Use the
+       ephemeral last point and handle text conversion being disabled.
+       * src/buffer.c (syms_of_buffer): Convert old style DEFVAR.
+       * src/keyboard.c (kbd_buffer_get_event): Handle text conversion
+       first.
+       * src/lisp.h: Update prototypes.
+       * src/lread.c (read_filtered_event): Temporarily disable text
+       conversion.
+       * src/sfnt.c (sfnt_decompose_glyph_1, sfnt_decompose_glyph_2):
+       New functions.
+       (sfnt_decompose_glyph, sfnt_decompose_instructed_outline):
+       Refactor contour decomposition to those two functions.
+       (main): Update tests.
+       * src/sfntfont-android.c (system_font_directories): Add empty
+       field.
+       (Fandroid_enumerate_fonts, init_sfntfont_android): Enumerate
+       fonts in a user fonts directory.
+       * src/sfntfont.c (struct sfnt_font_desc): New field
+       `num_glyphs'.
+       (sfnt_enum_font_1): Set num_glyphs and avoid duplicate fonts.
+       (sfntfont_glyph_valid): New function.
+       (sfntfont_lookup_char, sfntfont_list_1): Make sure glyphs found
+       are valid.
+
+       * src/textconv.c (sync_overlay, really_commit_text)
+       (really_set_composing_text, really_set_composing_region)
+       (really_delete_surrounding_text, really_set_point_and_mark)
+       (handle_pending_conversion_events_1)
+       (handle_pending_conversion_events, conversion_disabled_p)
+       (disable_text_conversion, resume_text_conversion)
+       (Fset_text_conversion_style, syms_of_textconv): Update to
+       respect new options.
+       * src/textconv.h:
+       * src/window.h (GCALIGNED_STRUCT): New field
+       `ephemeral_last_point'.
+       * src/xdisp.c (mark_window_display_accurate_1): Set it.
+
+2023-02-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix test errors when run with fancy charset (bug#61534)
+
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-tests--unescaped-char-literals, test-suppression):
+       Bind `text-quoting-style` to `grave` around tests to force
+       generation of ASCII quotes.
+       * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
+       Subject the reference string to the same text styling as that
+       under scrutiny.
+
+2023-02-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       2550e8bb0b0 Fix mule-tests under en_US.UTF-8 locale
+       32795309939 Move block closer above declaration_list rule (bug#61531)
+       b18754bb179 Minor improvements in c-ts-mode and docs
+       3c6b726a7b4 Add super node as a keyword
+       1917c51fe68 ; Prevent ERC-induced false positive in JUnit report
+       b16965ef7e6 Delete perplexing paragraph from Gnus manual
+       43c62a4732d ; Fix typo
+
+2023-02-16  Jim Porter  <jporterbugs@gmail.com>
+
+       Allow unloading Eshell
+
+       * lisp/eshell/em-extpipe.el (eshell-extpipe):
+       * lisp/eshell/esh-opt.el (eshell-opt): New groups.  Eshell uses these
+       to identify modules to unload.
+
+       * lisp/eshell/em-hist.el (eshell-hist-unload-hook):
+       * lisp/eshell/em-ls.el (eshell-ls-unload-hook):
+       * lisp/eshell/em-smart.el (eshell-smart-unload-hook):
+       * lisp/eshell/eshell.el (eshell-unload-hook): Make obsolete and move
+       to...
+
+       * lisp/eshell/em-smart.el (em-smart-unload-function):
+       * lisp/eshell/em-hist.el (em-hist-unload-function):
+       * lisp/eshell/em-ls.el (em-ls-unload-function):
+       * lisp/eshell/eshell.el (eshell-unload-function): ... these.
+
+       * lisp/eshell/esh-mode.el (eshell-mode-unload-hook):
+       * lisp/eshell/esh-module.el (eshell-module-unload-hook): Make
+       obsolete.
+
+       * lisp/eshell/em-ls.el (eshell-ls-enable-in-dired,
+       eshell-ls-disable-in-dired): New functions...
+       (eshell-ls-use-in-dired): ... use them.
+
+       * lisp/eshell/esh-module.el (eshell-module--feature-name,
+       eshell-unload-modules): New functions.
+       (eshell-unload-extension-modules): Use 'eshell-unload-modules'.
+
+       * lisp/eshell/eshell.el (eshell-unload-all-modules): Remove.
+
+       * test/lisp/eshell/eshell-tests-unload.el: New file.
+
+       * doc/misc/eshell.texi (Bugs and ideas): Remove item about unloading
+       Eshell not working.
+
+       * etc/NEWS: Announce this change (bug#61501).
+
+2023-02-15  Robert Pluim  <rpluim@gmail.com>
+
+       Describe the effect of 'guess' for 'ido-use-filename-at-point'
+
+       * lisp/ido.el (ido-use-filename-at-point): Document 'guess' value 
better.
+
+2023-02-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/input.texi (On-Screen Keyboards):
+       * doc/lispref/commands.texi (Misc Events): Improve documentation
+       of text conversion stuff.
+       * java/org/gnu/emacs/EmacsInputConnection.java (beginBatchEdit)
+       (endBatchEdit, commitCompletion, commitText, deleteSurroundingText)
+       (finishComposingText, getSelectedText, getTextAfterCursor)
+       (EmacsInputConnection, setComposingRegion, performEditorAction)
+       (getExtractedText): Condition debug code on DEBUG_IC.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService, updateIC):
+       Likewise.
+       * lisp/bindings.el (global-map):
+       * lisp/electric.el (global-map): Make `text-conversion'
+       `analyze-text-conversion'.
+       * lisp/progmodes/prog-mode.el (prog-mode): Enable text
+       conversion in input methods.
+       * lisp/simple.el (analyze-text-conversion): New function.
+       * lisp/textmodes/text-mode.el (text-conversion-style)
+       (text-mode): Likewise.
+       * src/androidterm.c (android_handle_ime_event): Handle
+       set_point_and_mark.
+       (android_sync_edit): Give Emacs 100 ms instead.
+       (android_perform_conversion_query): Skip the active region, not
+       the conversion region.
+       (getSelectedText): Implement properly.
+       (android_update_selection): Expose mark to input methods.
+       (android_reset_conversion): Handle `text-conversion-style'.
+       * src/buffer.c (init_buffer_once, syms_of_buffer): Add buffer
+       local variable `text-conversion-style'.
+       * src/buffer.h (struct buffer, bset_text_conversion_style): New
+       fields.
+       * src/emacs.c (android_emacs_init): Call syms_of_textconv.
+       * src/frame.h (enum text_conversion_operation): Rename
+       TEXTCONV_SET_POINT.
+       * src/lisp.h: Export syms_of_textconv.
+
+       * src/marker.c (set_marker_internal): Force redisplay when the
+       mark is set and the buffer is visible on builds that use text
+       conversion.  Explain why.
+
+       * src/textconv.c (copy_buffer): Fix copying past gap.
+       (get_mark): New function.
+       (textconv_query): Implement new flag.
+       (sync_overlay): New function.  Display conversion text in an
+       overlay.
+       (record_buffer_change, really_commit_text)
+       (really_set_composing_text, really_set_composing_region)
+       (really_delete_surrounding_text, really_set_point)
+       (handle_pending_conversion_events_1, decrement_inside)
+       (handle_pending_conversion_events, textconv_set_point)
+       (get_extracted_text, register_textconv_interface): Various fixes
+       and improvements.
+
+       * src/textconv.h (struct textconv_interface): Update
+       documentation.
+       * src/window.h (GCALIGNED_STRUCT): New field `prev_mark'.
+       * src/xdisp.c (mark_window_display_accurate_1): Handle
+       prev_mark.
+
+2023-02-15  Robert Pluim  <rpluim@gmail.com>
+
+       New option 'diff-ignore-whitespace-switches'
+
+       Allows specifying the switches to use when ignoring whitespace for
+       those of us who don't like "-b".
+
+       * lisp/vc/diff-mode.el (diff-ignore-whitespace-switches): New defcustom.
+       (diff-refresh-hunk): Use it when ignoring whitespace.
+       * doc/emacs/files.texi (Diff Mode): Describe the new option.
+       * etc/NEWS: Announce the new option.
+
+2023-02-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       7678b7e46f2 Eglot: check server capability before sending didSave (bu...
+       a3a1ef7bd5e Fix rust-ts-mode type and module highlighting (Bug#61302)
+       477aa047ee7 rust-ts-mode: Highlight variable reassignments
+       5206a551c16 Improve backward compatibility of save-restriction
+       accd88d5545 Don't indent template_string contents (bug#61503)
+       d97a3839967 csharp-ts-mode: fontify compiler directives (bug#61512)
+       420d2cae846 Update to Transient v0.3.7-209-gdab1dfa
+       a3751b5d0c1 ; Raise an error if a VC package checkout is empty
+       6a32ba8b69c ; Fix the installation of dependencies for VC packages
+       4eac80fcc39 ; Prepare to update ERC version to 5.5
+       4f099a72173 ; Remove failing erc-reuse-buffers test
+       4bb27a5ca93 ; Minor docs copyedits
+       13bcff3da5c Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       3d572ae0d50 Rename with/without-narrowing to with/without-restriction
+       d806b0e33cf * lisp/repeat.el: Rename internal function and variable (...
+       dd8b720ee74 ; * etc/NEWS: Fix typos.
+       909bd04cf5f ; * lisp/calendar/lunar.el: Add comments. (bug#61460)
+       10f2aedea9a ; * lisp/progmodes/c-ts-mode.el (c-ts-base-mode): delete ...
+       865758130a1 ; * admin/git-bisect-start: Update failing commits
+       b948d0d7efe Merge branch 'scratch/fix-locked-narrowing'
+       dcb2379a463 Minor improvements to labeled narrowing
+       cc30422825a Fix spurious display of eclipses in Calendar
+       f2114e8d89f Fix indentation for closing bracket in c-ts-mode (bug#61398)
+       f49caaa8925 ; * src/pdumper.c (dump_buffer): Update hash.
+       fe2ea5ddd8d Update to Org 9.6.1-31-gaf1bb1
+       8280d721d7c * src/.gdbinit (nextcons): Amend $.u.cdr to $.u.s.u.cdr (...
+       eb2b0931cf1 Add lambda_expression to c-ts-common-indent-type-regexp-a...
+       2da05876edb ; Use the right name when specifying VC packages
+       d4fc7012978 Tolerate missing elpa-packages.eld files
+       8bc1b7d0b27 Avoid warning about 'load-path' in non-interactive sessions
+       3d17aee13d9 ; Fix installation of dependencies for VC packages
+       86ca7df6a34 ; Mention Hunspell private-dictionary misfeature in doc s...
+       7287b7b53a1 Support webkit2gtk-4.1
+       048a2dabfc4 ; Fix typo
+       8f3091defb3 ; Fix typo in buffer.h
+       4da398d8b57 ; Fix typos
+       074008ee2d2 ; Fix doc strings in lisp/image/ directory
+       2d1e43436da ; Improve documentation of hash functions.
+       900f7e07275 ; Remove extraneous local variables from image-dired-*.el...
+       4297039bd13 Save and restore the absence of narrowing locks
+       4f053afe8e7 bug-reference: prevent match-data clobbering (bug#61395)
+       10af9fbcad1 ; * admin/notes/tree-sitter/starter-guide: Typos.
+       9ac242ce93d ; Fix recent changes in treesit docs
+       f5789aefc2e Rename LIMIT to DEPTH in tree-sitter functions (bug#61231)
+       b39821fdcef ; Fix incorrect function name in treesit manual
+       51901736965 Add 'live' property to treesit-node-check (bug#61235)
+       56960a6558b Update to Transient v0.3.7-205-gb8ad0da
+       68a6b364d1c Fix 'rmail-summary-output'
+       67c6ec25590 lisp-mode: add docstring recognition for more common lisp...
+       417a8ed8b05 ; Improve discoverability of empty file names handling
+       e47cf6ca15a Update to Transient v0.3.7-204-gecff8c2
+       b04cce02ff4 Fix Scala entry in Eglot's DB of LSP servers
+       973c1d24c6a ruby-ts-mode: Also don't reindent 'identifier' when insid...
+       a5651c0c403 ruby-ts-mode: Fix indentation inside empty if/unless/case...
+       2956e54b1dd Add an extensive test for labeled (locked) narrowing
+       79ce185ad13 Update the documentation about labeled (locked) narrowing
+       a6cd4553d48 Rename two long line optimizations variables
+       0d73e4aa261 Add specific symbols for narrowings
+       d8438e2bb44 Add 'without-narrowing' macro
+       97314447e60 Make 'narrowing-lock' and 'narrowing-unlock' internal
+       a4aa32bdfff Fix 'save-restriction' for narrowing locks
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-02-15  Robert Pluim  <rpluim@gmail.com>
+
+       Teach 'diff-ignore-whitespace-hunk' how to regenerate all hunks
+
+       This implements the request from Bug#58516.
+
+       * lisp/vc/diff-mode.el (diff--ignore-whitespace-all-hunks): New
+       function.  Iterate over all hunks, regenerate ignoring whitespace
+       changes.
+       (diff-ignore-whitespace-hunk): Call `diff--ignore-whitespace-all-hunks'
+       when called with a prefix arg.
+
+       * doc/emacs/files.texi (Diff Mode): Describe new functionality.
+       * etc/NEWS: Announce the change.
+
+2023-02-15  Mattias Engdegård  <mattiase@acm.org>
+
+       Add some `pure` and `side-effect-free` declarations
+
+       * lisp/subr.el (string-to-list, string-to-vector, string-or-null-p)
+       (booleanp, special-form-p, plistp, macrop, compiled-function-p)
+       (flatten-tree):
+       * lisp/emacs-lisp/subr-x.el (string-join, string-truncate-left)
+       (string-blank-p, string-remove-prefix, string-remove-suffix)
+       (string-pad, string-chop-newline):
+       Declare functions pure, side-effect-free, and/or error-free.
+
+2023-02-15  Po Lu  <luangruo@yahoo.com>
+
+       Make debug.sh detect adb running as root
+
+       * java/debug.sh: Run gdbserver directly if possible.
+
+2023-02-15  Po Lu  <luangruo@yahoo.com>
+
+       Fix small bugs
+
+       * src/androidterm.c (android_handle_ime_event): Pacify compiler
+       warnings.
+       * src/textconv.c (really_set_composing_text)
+       (handle_pending_conversion_events, get_extracted_text): Fix
+       reentrancy problems and uses of uninitialized values.
+
+2023-02-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-15  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (HAVE_TEXT_CONVERSION): Define on Android.
+       * doc/emacs/input.texi (On-Screen Keyboards): Document ``text
+       conversion'' slightly.
+       * doc/lispref/commands.texi (Misc Events): Document new
+       `text-conversion' event.
+       * java/org/gnu/emacs/EmacsContextMenu.java (display): Use
+       `syncRunnable'.
+       * java/org/gnu/emacs/EmacsDialog.java (display): Likewise.
+       * java/org/gnu/emacs/EmacsEditable.java: Delete file.
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection): Reimplement from scratch.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Add new
+       functions.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService, getEmacsView)
+       (getLocationOnScreen, sync, getClipboardManager, restartEmacs):
+       Use syncRunnable.
+       (syncRunnable): New function.
+       (updateIC, resetIC): New functions.
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView): New field
+       `inputConnection' and `icMode'.
+       (onCreateInputConnection): Update accordingly.
+       (setICMode, getICMode): New functions.
+
+       * lisp/bindings.el (global-map): Ignore text conversion events.
+       * src/alloc.c (mark_frame): Mark text conversion data.
+       * src/android.c (struct android_emacs_service): New fields
+       `update_ic' and `reset_ic'.
+       (event_serial): Export.
+       (android_query_sem): New function.
+       (android_init_events): Initialize new semaphore.
+       (android_write_event): Export.
+       (android_select): Check for UI thread code.
+       (setEmacsParams, android_init_emacs_service): Initialize new
+       methods.
+       (android_check_query, android_begin_query, android_end_query)
+       (android_run_in_emacs_thread):
+       (android_update_ic, android_reset_ic): New functions for
+       managing synchronous queries from one thread to another.
+
+       * src/android.h: Export new functions.
+       * src/androidgui.h (enum android_event_type): Add input method
+       events.
+       (enum android_ime_operation, struct android_ime_event)
+       (union android_event, enum android_ic_mode): New structs and
+       enums.
+
+       * src/androidterm.c (android_window_to_frame): Allow DPYINFO to
+       be NULL.
+       (android_decode_utf16, android_handle_ime_event)
+       (handle_one_android_event, android_sync_edit)
+       (android_copy_java_string, beginBatchEdit, endBatchEdit)
+       (commitCompletion, deleteSurroundingText, finishComposingText)
+       (getSelectedtext, getTextAfterCursor, getTextBeforeCursor)
+       (setComposingText, setComposingRegion, setSelection, getSelection)
+       (performEditorAction, getExtractedText): New functions.
+       (struct android_conversion_query_context):
+       (android_perform_conversion_query):
+       (android_text_to_string):
+       (struct android_get_selection_context):
+       (android_get_selection):
+       (struct android_get_extracted_text_context):
+       (android_get_extracted_text):
+       (struct android_extracted_text_request_class):
+       (struct android_extracted_text_class):
+       (android_update_selection):
+       (android_reset_conversion):
+       (android_set_point):
+       (android_compose_region_changed):
+       (android_notify_conversion):
+       (text_conversion_interface): New functions and structures.
+       (android_term_init): Initialize text conversion.
+
+       * src/coding.c (syms_of_coding): Define Qutf_16le on Android.
+       * src/frame.c (make_frame): Clear conversion data.
+       (delete_frame): Reset conversion state.
+
+       * src/frame.h (enum text_conversion_operation)
+       (struct text_conversion_action, struct text_conversion_state)
+       (GCALIGNED_STRUCT): Update structures.
+       * src/keyboard.c (read_char, readable_events, kbd_buffer_get_event)
+       (syms_of_keyboard): Handle text conversion events.
+       * src/lisp.h:
+       * src/process.c: Fix includes.
+
+       * src/textconv.c (enum textconv_batch_edit_flags, textconv_query)
+       (reset_frame_state, detect_conversion_events)
+       (restore_selected_window, really_commit_text)
+       (really_finish_composing_text, really_set_composing_text)
+       (really_set_composing_region, really_delete_surrounding_text)
+       (really_set_point, complete_edit)
+       (handle_pending_conversion_events_1)
+       (handle_pending_conversion_events, start_batch_edit)
+       (end_batch_edit, commit_text, finish_composing_text)
+       (set_composing_text, set_composing_region, textconv_set_point)
+       (delete_surrounding_text, get_extracted_text)
+       (report_selected_window_change, report_point_change)
+       (register_texconv_interface): New functions.
+
+       * src/textconv.h (struct textconv_interface)
+       (TEXTCONV_SKIP_CONVERSION_REGION): Update prototype.
+       * src/xdisp.c (mark_window_display_accurate_1):
+       * src/xfns.c (xic_string_conversion_callback):
+       * src/xterm.c (init_xterm): Adjust accordingly.
+
+2023-02-14  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Rewrite emoji's usage of transient
+
+       * lisp/international/emoji.el:
+       (emoji--done-derived): Remove variable.
+       (emoji-insert, emoji-recent, emoji-search, emoji-list-select):
+       Define using 'transient-define-prefix'.  Use a base suffix group
+       whose value is calculated dynamically.
+       (emoji--setup-prefix, emoji--setup-suffixes, emoji-group-description):
+       New functions used to dynamically calculate suffixes.
+       (emoji--narrow): New suffix class, used to pass state to recursive,
+       narrowed invocations of the prefix command the user initially invoked.
+       (emoji-insert-glyph): New suffix command that is used for all glyphs
+       that have no derivations.  Previously a separate command was define
+       for each glyph.
+       (emoji--fontify-glyph): Replace 'inhibit-derived' argument with
+       'done-derived' argument.
+       (emoji--define-transient): Remove function.
+       (emoji--layout): New function, replacing 'emoji--define-transient'.
+       Return the suffixes in 'define-transient-prefix' format.  Unlike
+       the replaced function, do not define any new commands, instead use
+       either the current prefix command or 'emoji-insert-glyph'.
+       (emoji--recent-transient): Remove function.
+       (emoji--char-sequence): New function.
+       (emoji--add-recent): Remove all text properties from glyph.
+       (emoji--choose-emoji): Remove function.
+
+2023-02-14  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp cleanup
+
+       * lisp/net/tramp.el:
+       * lisp/net/tramp-integration.el:
+       * lisp/net/tramp-sh.el: Use `string-join'.
+
+       * test/lisp/net/tramp-tests.el: Use `string-join'.
+
+2023-02-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix recent LAP optimiser error
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Fix a flaw in the
+
+         dup (varset|varbind|stack-set) discard -> (varset|varbind|stack-set)
+
+       rule: don't match stack-set(1) which is dealt with elsewhere, and
+       generalise to discard(N).
+
+2023-02-14  Andrea Corallo  <akrl@sdf.org>
+
+       * src/comp.c (Fcomp__compile_ctxt_to_file): Don't create output file 
twice
+
+2023-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix insert-file-contents on /proc files
+
+       This should fix Bug#9800 (2011-10-19).
+       * src/fileio.c (Finsert_file_contents):
+       Do not trust st_size even on regular files, as the file might
+       be a Linux /proc file, or it might be growing.
+       Instead, always read to EOF when END is nil.
+
+2023-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix src/fileio.c comment
+
+       * src/fileio.c (Finsert_file_contents): Fix comment.
+       Since the code relies on st_size, it’s limited to
+       regular files, not to seekable files.
+
+2023-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don’t scan text twice to guess coding system
+
+       * src/fileio.c (Finsert_file_contents): If the file shrank
+       below 4 KiB, don’t read duplicate text into READ_BUF.
+       This also removes a use of SEEK_END, which Linux /proc
+       file systems do not support (not that we should get here
+       with /proc).
+
+2023-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve insert-file-contents on non-regular files
+
+       * src/fileio.c (Finsert_file_contents):
+       If the file is not a regular file, check REPLACE and VISIT
+       before doing further syscalls that won’t matter in this case.
+
+2023-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve insert-file-contents checking
+
+       * src/fileio.c (Finsert_file_contents): Check BEG, END,
+       REPLACE for validity before launching into opening files etc.
+
+2023-02-13  Mattias Engdegård  <mattiase@acm.org>
+
+       LAP optimiser: more stack reduction hoisting
+
+       Hoisting stack reduction ops allows them to coalesce and/or cancel out
+       pushing ops, and for useful operations to sink and combine, such as
+       not + goto-if-[not-]nil.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Add the rule
+
+         UNARY discardN-preserve-tos --> discardN-preserve-tos UNARY
+
+       where UNARY pops and pushes one value.
+
+       Generalise the rule
+
+         const discardN-preserve-tos --> discardN const
+
+       to any 0-ary op, not just const: varref, point, etc.
+
+2023-02-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add new user option password-colon-equivalents
+
+       * lisp/international/mule-conf.el (password-colon-equivalents):
+       New defcustom.
+
+       * lisp/comint.el (comint-password-prompt-regexp):
+       * lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Use it.
+
+       * lisp/net/tramp-compat.el (tramp-compat-password-colon-equivalents):
+       New variable.
+
+       * lisp/net/tramp.el (tramp-password-prompt-regexp): Use it.
+
+2023-02-13  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       f2114e8d89f Fix indentation for closing bracket in c-ts-mode (bug#61398)
+       f49caaa8925 ; * src/pdumper.c (dump_buffer): Update hash.
+       fe2ea5ddd8d Update to Org 9.6.1-31-gaf1bb1
+
+2023-02-13  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       eb2b0931cf1 Add lambda_expression to c-ts-common-indent-type-regexp-a...
+       2da05876edb ; Use the right name when specifying VC packages
+       d4fc7012978 Tolerate missing elpa-packages.eld files
+       8bc1b7d0b27 Avoid warning about 'load-path' in non-interactive sessions
+       3d17aee13d9 ; Fix installation of dependencies for VC packages
+       86ca7df6a34 ; Mention Hunspell private-dictionary misfeature in doc s...
+       7287b7b53a1 Support webkit2gtk-4.1
+       048a2dabfc4 ; Fix typo
+
+2023-02-12  Michael Albinus  <michael.albinus@gmx.de>
+
+       Support Tramp multi-hop completion
+
+       * lisp/net/tramp.el (tramp-completion-handle-expand-file-name)
+       (tramp-completion-handle-file-exists-p)
+       (tramp-completion-handle-file-name-directory): Support multi-hop
+       completion.
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test26-interactive-file-name-completion): Fix test.
+
+2023-02-12  Alan Mackenzie  <acm@muc.de>
+
+       * src/.gdbinit (nextcons): Amend $.u.cdr to $.u.s.u.cdr
+
+2023-02-12  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-12  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Environment): Document
+       notifications permission.
+       * java/org/gnu/emacs/EmacsEditable.java (EmacsEditable):
+       * java/org/gnu/emacs/EmacsInputConnection.java
+       (EmacsInputConnection): New files.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Load
+       library dependencies in a less verbose fashion.
+       * java/org/gnu/emacs/EmacsView.java (EmacsView): Make imManager
+       public.
+       (onCreateInputConnection): Set InputType to TYPE_NULL for now.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, onKeyDown)
+       (onKeyUp, getEventUnicodeChar): Correctly handle key events with
+       strings.
+       * lisp/term/android-win.el (android-clear-preedit-text)
+       (android-preedit-text): New special event handlers.
+       * src/android.c (struct android_emacs_window): Add function
+       lookup_string.
+       (android_init_emacs_window): Adjust accordingly.
+       (android_wc_lookup_string): New function.
+       * src/androidgui.h (struct android_key_event): Improve
+       commentary.
+       (enum android_lookup_status): New enum.
+       * src/androidterm.c (handle_one_android_event): Synchronize IM
+       lookup code with X.
+       * src/coding.c (from_unicode_buffer): Implement on Android.
+       * src/coding.h:
+       * src/sfnt.c: Fix commentary.
+
+2023-02-12  Po Lu  <luangruo@yahoo.com>
+
+       Check in new files
+
+       * src/textconv.c (copy_buffer):
+       (textconv_query):
+       (report_selected_window_change):
+       (register_texconv_interface):
+       * src/textconv.h (struct textconv_interface):
+       (enum textconv_caret_direction):
+       (enum textconv_operation):
+       (struct textconv_conversion_text):
+       (struct textconv_callback_struct): New files.
+
+2023-02-12  Po Lu  <luangruo@yahoo.com>
+
+       Support input method ``text conversion'' on X Windows
+
+       * configure.ac (HAVE_TEXT_CONVERSION): Define on X.
+       * etc/NEWS: Announce new change.
+       * src/emacs.c (main): Always call init_xterm.
+       * src/frame.c (do_switch_frame): Use `fset_selected_window'.
+       * src/insdel.c (struct safe_del_range_context): New structure.
+       (safe_del_range_1, safe_del_range_2, safe_del_range): New
+       functions.
+       * src/lisp.h: Export new functions.
+       * src/window.c (run_window_change_functions): Report selected
+       window and buffer changes so that the input method can be reset.
+       * src/xfns.c (XICCallback, Xxic_preedit_caret_callback)
+       (Xxic_preedit_done_callback, Xxic_preedit_start_callback)
+       (Xxic_preedit_draw_callback): Fix coding style.
+       (Xxic_string_conversion_callback): New callback.
+       (create_frame_xic): Register string conversion callback.
+       (struct x_xim_text_conversion_data): New field `size'.
+       (x_encode_xim_text_1, x_encode_xim_text): New functions.
+       (xic_string_conversion_callback): New function.
+       * src/xterm.c (x_reset_conversion): New function.
+       (text_conversion_interface): New variable.
+       (init_xterm): Initialize text conversion interface.
+
+2023-02-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       8f3091defb3 ; Fix typo in buffer.h
+
+2023-02-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       4da398d8b57 ; Fix typos
+       074008ee2d2 ; Fix doc strings in lisp/image/ directory
+       2d1e43436da ; Improve documentation of hash functions.
+       900f7e07275 ; Remove extraneous local variables from image-dired-*.el...
+       4f053afe8e7 bug-reference: prevent match-data clobbering (bug#61395)
+       10af9fbcad1 ; * admin/notes/tree-sitter/starter-guide: Typos.
+       9ac242ce93d ; Fix recent changes in treesit docs
+       f5789aefc2e Rename LIMIT to DEPTH in tree-sitter functions (bug#61231)
+       b39821fdcef ; Fix incorrect function name in treesit manual
+       51901736965 Add 'live' property to treesit-node-check (bug#61235)
+       56960a6558b Update to Transient v0.3.7-205-gb8ad0da
+       68a6b364d1c Fix 'rmail-summary-output'
+       67c6ec25590 lisp-mode: add docstring recognition for more common lisp...
+       417a8ed8b05 ; Improve discoverability of empty file names handling
+       e47cf6ca15a Update to Transient v0.3.7-204-gecff8c2
+       b04cce02ff4 Fix Scala entry in Eglot's DB of LSP servers
+
+       # Conflicts:
+       #       lisp/transient.el
+
+2023-02-11  Jim Porter  <jporterbugs@gmail.com>
+
+       Make sure core Eshell modules are loaded
+
+       Previously, if you removed all (or most) extension modules from
+       Eshell, it failed to load esh-var.el, meaning that you couldn't use
+       variable expansions.  To avoid this issue, we now explicitly load the
+       core modules in esh-mode.el.
+
+       * lisp/eshell/esh-mode.el: Explicitly require core Eshell modules.
+
+2023-02-11  Michael Albinus  <michael.albinus@gmx.de>
+
+       Support Tramp user name completion
+
+       * lisp/net/tramp.el (tramp-build-completion-file-name-regexp)
+       (tramp-completion-handle-expand-file-name)
+       (tramp-completion-handle-file-name-directory): Support user name
+       completion.
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test26-interactive-file-name-completion): Fix test.
+
+2023-02-11  Mattias Engdegård  <mattiase@acm.org>
+
+       LAP peephole optimiser improvementsa
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Make the improvements:
+
+       - Add the rule
+
+           stack-ref(X) discardN-preserve-tos(Y)
+           --> discard(Y) stack-ref(X-Y),                X≥Y
+               discard(X) discardN-preserve-tos(Y-X-1),  X<Y
+
+         with the usual equivalences:
+
+           stack-set(1) = discardN-preserve-tos(1)
+           stack-ref(0) = dup
+           discard(0) = discardN-preserve-tos(0) = no-op
+
+         This rule hoists stack reduction to where it is more likely to be
+         exploited further, may reduce the op size through smaller
+         immediates, and sometimes removes either or both operations
+         outright.
+
+         The rule is inhibited by an immediately following `return` op
+         because other rules will produce better code in that case.
+
+       - Add the rule
+
+           (discardN-preserve-tos|dup) OP return --> OP return
+
+         where OP is a unary operation such as `not` or `car`.
+
+       - Generalise a previous rule to
+
+           NOEFFECT PRODUCER return  -->  PRODUCER return
+
+         where PRODUCER is now any op that pushes a value without looking at
+         the stack: const, varref, point etc.
+
+2023-02-11  Alan Mackenzie  <acm@muc.de>
+
+       Make edebug see unused variables when lexical-binding is non-nil
+
+       This fixes bug #59213.
+
+       * lisp/emacs-lisp/cconv.el (cconv-dont-trim-unused-variables): New 
variable.
+       (cconv-fv, cconv-make-interpreted-closure): Add/amend doc strings.
+       (cconv-make-interpreted-closure): Test 
cconv-dont-trim-unused-variables, and
+       if non-nil, don't "optimize" the lexical environment.
+
+       * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Compile a 
binding of
+       cconv-dont-trim-unused-variables to t around the call of edebug-enter.
+
+       * lisp/emacs-lisp/testcover.el (testcover-analyze-coverage): Add a new 
arm to
+       the pcase form to handle the new form of edebug-enter.
+
+2023-02-11  Po Lu  <luangruo@yahoo.com>
+
+       Fix displaying popup menus from a menu entry on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity, onDestroy)
+       (onWindowFocusChanged): Keep track of the last focused activity.
+       * java/org/gnu/emacs/EmacsDialog.java (display1): Use it if
+       there is no current focus.
+
+2023-02-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-10  Theodor Thornhill  <theo@thornhill.no>
+
+       Add more java indentation tests
+
+       * test/lisp/progmodes/java-ts-mode-resources/indent.erts: Use default
+       indent offset, and tweak the indentation examples.
+
+2023-02-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix last change
+
+2023-02-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix Tramp file name completion
+
+       * lisp/net/tramp.el (tramp-completion-handle-expand-file-name):
+       Reimplement.  It must also work for the non-Tramp case.
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test26-interactive-file-name-completion): Fix test.
+
+2023-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Improve appearance of the Android preferences screen
+
+       * .gitignore: Add org/gnu/emacs/R.java.
+       * cross/Makefile.in (top_builddir): Include verbose.mk.  Rewrite
+       rules to print nice looking statements.
+       * doc/emacs/android.texi (Android, Android Startup)
+       (Android Environment, Android Windowing, Android Fonts):
+       * doc/emacs/emacs.texi (Top): Add an extra ``Android
+       Troubleshooting'' node and move troubleshooting details there.
+       * java/Makefile.in: Generate R.java; improve appearance by using
+       verbose.mk.
+
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java: Reimplement
+       in terms of PreferencesActivity.
+       * java/org/gnu/emacs/EmacsView.java (handleDirtyBitmap): Avoid
+       flicker.
+       * java/res/xml/preferences.xml: New file.
+       * src/verbose.mk.in (AM_V_AAPT, AM_V_SILENT): New variables.
+
+2023-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Implement more features for the Emacs ``documents provider''
+
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java (queryRoots):
+       Implement isChild.
+       (getNotificationUri, notifyChange): New functions.
+       (queryDocument1): Set rename and remove flags.
+       (queryDocument, queryChildDocuments): Allow the requester to
+       detect changes in the directory hierarchy.
+       (createDocument, deleteDocument, removeDocument): Signal changes
+       to the directory hierarchy.
+
+2023-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix buffer swapping on Android 7.1 and earlier
+
+       * java/org/gnu/emacs/EmacsSurfaceView.java
+       (reconfigureFrontBuffer): Don't use function only present on
+       Android 8.0 and later.
+
+2023-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Windowing): Remove yet another
+       limitation.
+       * java/debug.sh: Make this work on systems which prohibit
+       attaching to app processes from adbd.
+       * java/org/gnu/emacs/EmacsCopyArea.java (perform): Avoid
+       creating copies whenever possible.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       Remove SurfaceView based implementation and use manual double
+       buffering with invalidate instead.
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, handleDirtyBitmap)
+       (raise, lower, onDetachedFromWindow): Adjust accordingly.
+       * java/org/gnu/emacs/EmacsWindow.java (windowUpdated): Remove
+       function.
+       * src/sfntfont.c (sfntfont_open): Set font->max_width correctly.
+
+2023-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix IUP for contours which start past end
+
+       Found with Droid Sans Mono hinted with ttfautohint 1.8.4.
+
+       * src/sfnt.c (IUP_SINGLE_PAIR): If i is initially more than end,
+       make it start.
+       (sfnt_verbose): Handle cases where interpreter->glyph_zone is
+       NULL.
+       (main): Update tests.
+
+2023-02-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Ensure that Eshell users can run lines of command output as input
+
+       Previously, this failed to work properly because any additional input
+       the user entered would have no 'field' property, confusing
+       'eshell-get-old-input'.  To fix this, we simply ensure that any
+       user-entered text in the output field retains said output field
+       (bug#61310).
+
+       * lisp/eshell/esh-util.el (eshell-command-output-properties): New
+       variable.
+       (eshell--mark-as-output, eshell--mark-yanked-as-output): New
+       functions, mostly copied from comint.
+
+       * lisp/eshell/esh-proc.el (eshell-interactive-process-filter):
+       * lisp/eshell/esh-mode.el (eshell-interactive-print): Call
+       'eshell--mark-as-output'.
+       (eshell-get-old-input): Remove properties from the returned string
+       just to be safe.
+
+       * test/lisp/eshell/eshell-tests.el (eshell-test-value): New variable.
+       (eshell-test/get-old-input/rerun-command)
+       (eshell-test/get-old-input/run-output): New tests.
+
+       * test/lisp/eshell/em-prompt-tests.el
+       (em-prompt-test/field-properties)
+       (em-prompt-test/field-properties/no-highlight): Use
+       'eshell-command-output-properties'.
+
+2023-02-10  Jim Porter  <jporterbugs@gmail.com>
+
+       Ensure that deferred commands don't make Eshell forget let-bound values
+
+       * lisp/eshell/esh-cmd.el (Command evaluation macros): Expand this
+       documentation to list allowed special forms and caveats for working
+       with 'if' and 'while'.
+       (eshell-do-eval): Provide more detail in docstring.  Handle
+       'eshell-defer' inside 'let' forms.
+
+       * test/lisp/eshell/esh-cmd-tests.el
+       (esh-cmd-test/let-rebinds-after-defer): New test (bug#59469).
+
+2023-02-10  Po Lu  <luangruo@yahoo.com>
+
+       Fix typo
+
+       * src/sfnt.c (sfnt_read_cmap_table): Fix typo.
+       (main): Update tests.
+
+2023-02-09  Dmitry Gutov  <dgutov@yandex.ru>
+
+       xref--insert-xrefs: Use 'shadow' for the line number colon
+
+       * lisp/progmodes/xref.el (xref--insert-xrefs): Use face 'shadow' for
+       the line number colon instead of continuing it face (bug#61340).
+
+2023-02-09  Juri Linkov  <juri@linkov.net>
+
+       * lisp/icomplete.el (icomplete-exhibit): Check validity of the current 
buffer.
+
+       This function is applicable only in buffers where functions like
+       icomplete--field-beg can be called, and they expects either non-nil
+       completion-in-region--data or window-minibuffer-p (bug#61308).
+
+2023-02-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-09  Po Lu  <luangruo@yahoo.com>
+
+       Allow other text editors to edit files in Emacs' home directory
+
+       * java/AndroidManifest.xml.in: Declare the new documents
+       provider.
+       * java/README: Describe the meaning of files in res/values.
+       * java/org/gnu/emacs/EmacsDocumentsProvider.java
+       (EmacsDocumentsProvider): New file.
+       * java/res/values-v19/bool.xml:
+       * java/res/values/bool.xml: New files.
+
+2023-02-09  Po Lu  <luangruo@yahoo.com>
+
+       Implement instructing compound glyphs
+
+       * src/sfnt.c (sfnt_read_simple_glyph, sfnt_read_compound_glyph)
+       (sfnt_read_glyph): Take size_t offsets.
+       (struct sfnt_compound_glyph_context)
+       (sfnt_expand_compound_glyph_context)
+       (sfnt_decompose_compound_glyph): Take size_t contour offsets.
+       (sfnt_decompose_glyph): Always close contour even if the first
+       point isn't on-curve.
+       (sfnt_build_outline_edges): Fix coding style.
+       (sfnt_interpret_iup): Skip phantom points during IUP.
+       (sfnt_decompose_instructed_outline): Clarify documentation.
+       Always close contour even if the first point isn't on-curve.
+       (struct sfnt_test_dcontext, sfnt_test_move_to, sfnt_test_line_to)
+       (sfnt_test_curve_to, sfnt_transform_f26dot6, sfnt_test_get_glyph)
+       (sfnt_test_free_glyph, sfnt_test_span, sfnt_test_edge_ignore)
+       (sfnt_interpret_compound_glyph_2, sfnt_test_edges, main): Update
+       tests.
+
+       * src/sfnt.h: Export new function.
+
+       * src/sfntfont.c (sfntfont_get_glyph_outline): Handle compound
+       glyphs.
+       (sfntfont_measure_instructed_pcm, sfntfont_measure_pcm)
+       (sfntfont_draw): Update accordingly.
+
+2023-02-09  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       973c1d24c6a ruby-ts-mode: Also don't reindent 'identifier' when insid...
+       a5651c0c403 ruby-ts-mode: Fix indentation inside empty if/unless/case...
+       0ec0a610ed2 * lisp/iimage.el (iimage-mode-buffer): Handle multiple re...
+       d11d7aee1a6 ; Fix memory leak in treesit.c
+
+2023-02-09  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       31bf35935f2 ; Fix doc strings in iimage.el
+
+2023-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (SCFS): Fix order of arguments.
+       (sfnt_normalize_vector): Make sure vx and vy are within a
+       reasonable range.
+       (sfnt_move): Don't move when vectors are orthogonal.
+       (main): Update.
+
+2023-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Startup): Fix typos.
+       * src/sfnt.c (sfnt_interpret_msirp): Fix order in which operands
+       to MSIRP are popped.
+       (main): Reduce ppem values.
+
+2023-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/lispref/frames.texi (On-Screen Keyboards): Describe return
+       value of `frame-toggle-on-screen-keyboard'.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (surfaceChanged)
+       (surfaceCreated, EmacsSurfaceView): Remove unuseful
+       synchronization code.  The framework doesn't seem to look at
+       this at all.
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView):
+       (onLayout): Lay out the window after children.
+       (swapBuffers): Properly implement `force'.
+       (windowUpdated): Delete function.
+
+       * lisp/frame.el (frame-toggle-on-screen-keyboard): Return
+       whether or not the on screen keyboard might've been displayed.
+
+       * lisp/minibuffer.el (minibuffer-on-screen-keyboard-timer):
+       (minibuffer-on-screen-keyboard-displayed):
+       (minibuffer-setup-on-screen-keyboard):
+       (minibuffer-exit-on-screen-keyboard): Improve OSK dismissal when
+       there are consecutive minibuffers.
+
+       * lisp/touch-screen.el (touch-screen-window-selection-changed):
+       New function.
+       (touch-screen-handle-point-up): Register it as a window
+       selection changed function.
+
+       * src/android.c (struct android_emacs_window)
+       (android_init_emacs_window): Remove references to
+       `windowUpdated'.
+       (android_window_updated): Delete function.
+       * src/android.h (struct android_output): Remove
+       `last_configure_serial'.
+       * src/androidterm.c (handle_one_android_event)
+       (android_frame_up_to_date):
+       * src/androidterm.h (struct android_output): Remove frame
+       synchronization, as that does not work on Android.
+
+2023-02-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Flatten nested `concat` calls
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-concat):
+       Flatten nested forms; concat is associative.  This reduces the number
+       of calls and may coalesce adjacent constant strings.
+
+2023-02-08  Mattias Engdegård  <mattiase@acm.org>
+
+       Simplify and speed up parts of elisp optimiser
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-constant-args): Simplify.
+       (byte-optimize--constant-symbol-p): Speed up.
+       (byteopt--eval-const): New.
+       (byte-optimize-member, byte-optimize-concat, byte-optimize-append):
+       Use byteopt--eval-const instead of eval which is much slower.
+
+2023-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Fix graphics state when instructing glyphs
+
+       * src/sfntfont.c (sfntfont_get_glyph_outline): Take new argument
+       STATE and restore it prior to instructing the glyph.
+       (sfntfont_measure_instructed_pcm, sfntfont_measure_pcm)
+       (sfntfont_draw): Adjust accordingly.
+
+2023-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Correctly round bearing values while computing pcm
+
+       * src/sfntfont.c (sfntfont_measure_instructed_pcm)
+       (sfntfont_measure_pcm): Ceil rbearing value.
+
+2023-02-08  Po Lu  <luangruo@yahoo.com>
+
+       Improve text display on Android port
+
+       * src/sfnt.c (sfnt_build_glyph_outline): Clear
+       build_outline_context.
+       (sfnt_poly_coverage): Extend coverage map.
+       (sfnt_prepare_raster): Always floor coordinates, since the
+       increase in coverage makes this hack unnecessary.
+       (sfnt_build_outline_edges): Likewise.
+       (sfnt_compare_edges): Remove function.
+       (sfnt_edge_sort): New function.  Since edges are already
+       partially sorted, and there are not many, insertion sort
+       suffices.
+       (sfnt_poly_edges): Use sfnt_edge_sort.
+       (sfnt_fill_span): Stop rounding x0 and x1 to the grid, and make
+       coverage computation static.
+       (sfnt_lookup_glyph_metrics): Fix return code for unscaled
+       metrics.
+       (sfnt_scale_metrics): New function.
+       (SFNT_ENABLE_HINTING): Remove define.
+       (struct sfnt_cvt_table, struct sfnt_fpgm_table)
+       (struct sfnt_prep_table): Move to sfnt.h.
+       (sfnt_read_cvt_table):
+       (sfnt_read_fpgm_table, sfnt_read_prep_table): Make TEST_STATIC.
+       (struct sfnt_unit_vector, struct sfnt_interpreter_definition)
+       (struct sfnt_interpreter_zone, struct sfnt_graphics_state):
+       (struct sfnt_interpreter): Move to sfnt.h.
+       (sfnt_make_interpreter): Make TEST_STATIC.
+       (POP, PUSH, DELTAP1, DELTAP2, DELTAP3): When TEST, define to
+       regular push and pop.
+       (sfnt_deltac):
+       (sfnt_deltap): Fix order of arguments.
+       (IUP_SINGLE_PAIR): Fix interpolation loop wraparound.
+       (sfnt_interpret_font_program):
+       (sfnt_interpret_control_value_program): Make TEST_STATIC.
+       (struct sfnt_instructed_outline): Move to sfnt.h.
+       (sfnt_build_instructed_outline): Make TEST_STATIC.
+       (sfnt_interpret_simple_glyph):
+       (sfnt_x_raster):
+       (sfnt_test_raster):
+       (all_tests):
+       (sfnt_verbose):
+       (main): Improve test code.
+
+       * src/sfnt.h (SFNT_ENABLE_HINTING, struct sfnt_cvt_table)
+       (struct sfnt_fpgm_table, struct sfnt_prep_table)
+       (struct sfnt_unit_vector, struct sfnt_interpreter_definition)
+       (struct sfnt_interpreter_zone, struct sfnt_graphics_state)
+       (struct sfnt_interpreter, struct sfnt_instructed_outline)
+       (PROTOTYPE): New definitions.
+       * src/sfntfont-android.c (sfntfont_android_put_glyphs): Make
+       coordinate generation more straightforward.
+       * src/sfntfont.c (sfntfont_get_glyph_outline): New arguments
+       INTERPRETER and METRICS.
+       (struct sfnt_font_info): New tables.
+       (sfntfont_setup_interpreter): New function.
+       (sfntfont_open): Avoid memory leak.  Set up interpreter.
+       (sfntfont_measure_instructed_pcm): New function.
+       (sfntfont_measure_pcm): Delegate to measure_instructed_pcm where
+       appropriate.
+       (sfntfont_close): Free new tables.
+       (sfntfont_draw): Scale metrics properly.
+
+2023-02-08  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/xref.el (xref--insert-xrefs): Remove extra space 
(bug#61340).
+
+2023-02-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       c9ba05af8df Fix crashes inside 'xfree' called from treesit.c
+       746748f5c28 Make java-ts-mode use the c-ts-common-indent-type-regexp-...
+       87d39a30b12 Fix c-ts-mode indentation
+       7cb92b53987 Fix c-ts-mode indentation
+       d68ff6016d0 Fix c-ts-mode indentation (bug#61291)
+       2ac8c4bbd6f (eglot-completion-at-point): Return correct values in :co...
+       321cbd9a601 Tighten and simplify typescript compilation-mode regexps ...
+       97533e73ad6 ; * lisp/progmodes/c-ts-common.el (treesit-node-prev-sibl...
+       9dfccb89fc5 Clarify bug-reference-auto-setup-functions docstring.
+       17ab426670a * lisp/treesit.el (treesit): Fix shortdoc example form (b...
+       5a6dfab1e4d Use c-ts-common-statement-offset in java-ts-mode (bug#61142)
+       c3262216abb Add array_initializer to java-ts-mode
+       79ab62e0bb5 go-ts-mode: Highlight variable declarations
+       1fab91d852e go-ts-mode: Fix highlighting of function name in call_exp...
+       07ffe902c63 c-ts-mode: Highlight "property functions" as functions
+       a529b0d6463 rust-ts-mode: Fix highlighting of function name in call_e...
+       088425538f2 rust-ts-mode--font-lock-settings: Improve consistency
+       793c24a6ac7 Make sure 'M-x show-paren-local-mode' turns on right away
+       60089dcfe06 Add to bug-reference-auto-setup-functions after its decla...
+       26e947ccb14 * lisp/vc/vc.el (vc-find-revision-no-save): Fix parens (b...
+       948e343496b ; Fix byte-compilation warning
+       6568a1aaf9a Fix inability to turn show-paren-local-mode on manually (...
+       24085ba6105 ; go-ts-mode--indent-rules: Indent to 0 at top level
+       0862a79fef5 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       bb999df5d6f ; Fix whitespace of last change
+       929daafa1d6 ; Fix trivial mistake in emoji--choose-emoji
+       d7b4a8487f6 ; * lisp/isearch.el (emoji--read-emoji): Avoid compilatio...
+       e38ff004631 rust-ts-mode: Highlight variable declarations
+       d12727057d4 rust-ts-mode--indent-rules: Indent to 0 at top level
+       85705a7059f ; Move misplaces parenthesis in emoji--choose-emoji
+       18c43bb9d6c Ensure upper bound of font-lock region is less than point...
+       94f291d1505 ; * lisp/paren.el (show-paren-predicate): Doc fix.  (Bug#...
+       3ffd0eddce6 Highlight more complex function parameters
+       58dc03ba7e4 No longer use transient in isearch-emoji-by-name
+       0c125fcc67a Make highlighting more regular across TS modes (bug#61205)
+       1dd751c3ac4 ; Improve documentation of 'proper-list-p'
+       96181ed3f09 Document 'plistp'
+       03d9d18513b Fix display of raised/lowered composed text
+       f13479d9556 Fix installation of tree-sitter grammar on MS-Windows
+       0358267204d Update the Emacs FAQ for Emacs 29
+       2c33e2889b4 Fix byte-compilation of *-ts-mode.el files
+       b40a929a3f2 ; ruby-ts--syntax-propertize: Amend commentary
+       b80f36b88c7 Make c-ts-mode-set-style's effect local (bug#61245)
+       671e5d9fad5 ; * lisp/treesit.el (treesit--font-lock-level-setter): Mi...
+       69380a88e92 c-ts-mode: Highlight name in parameter declarations
+       89b550eac29 Fix switch statement indentation for go-ts-mode (bug#61238)
+       1a123feb181 Fix bidi reordering of sequence of whitespace characters ...
+       8870b54db99 Add tests for compilation support for TypeScript (bug#61104)
+       873a0a15085 Add support for TypeScript compilation to compile.el (bug...
+       3a64f81ebc1 Don't clobber match data in 'y-or-n-p'
+       4c765d93ab3 Refine the previous change
+       d99b5151f8c Add syntax-propertize-function to ruby-ts-mode
+       f25c15ceb7d ; Fix typos
+       35e238cae8b Improve documentation of 'header-line-indent-mode'
+       c3f58a66514 Don't casemap erc-sasl-user when set to :nick
+       e444115d026 Improve keymap-global-set and keymap-local-set interactiv...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/edmacro.el (edit-kbd-macro): Fix thinko (bug#61333)
+
+2023-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (cconv-convert): Fix regression
+
+       * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyze-form):
+       Since we can't always remove the wrapper, make sure the wrapper
+       accepts the expected calling convention (i.e. called with no args).
+
+2023-02-07  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove unnecessary cons in lexical eval
+
+       * src/eval.c (list_of_t): New.
+       (Feval): Use list_of_t instead of consing every time.
+       (syms_of_eval): Set list_of_t to (t) and staticpro it.
+
+2023-02-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix last Tramp commit
+
+       * lisp/net/tramp.el (tramp-completion-file-name-handler): Run only
+       when `minibuffer-completing-file-name' is non-nil.
+
+       * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion):
+       Fix test.
+
+2023-02-07  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-07  Po Lu  <luangruo@yahoo.com>
+
+       Remove junk from instruction table
+
+       * src/sfnt.c (sfnt_name_instruction): Do so.
+
+2023-02-07  Po Lu  <luangruo@yahoo.com>
+
+       Remove bresenham stuff
+
+       * src/sfnt.c (sfnt_step_edge, sfnt_step_edge_n)
+       (sfnt_build_outline_edges, sfnt_test_edge, main):
+       * src/sfnt.h (struct sfnt_edge): Stop using error corrected line
+       drawing, as it's actually slower.
+
+2023-02-07  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Describe patches for BoringSSL on ARM.
+
+       * src/sfnt.c (sfnt_build_glyph_outline): Remove redundant
+       multiplication.
+       (sfnt_prepare_raster): Update offset calculation for changes.
+       (sfnt_step_edge, sfnt_step_edge_n): Handle bresenham terms.
+       (sfnt_build_outline_edges): Don't subtract floored xmin, just
+       xmin.
+       (sfnt_saturate_short): Make clang generate better code.
+       (sfnt_fill_span): Stop rounding coordinates.
+       (sfnt_poly_span): Poly consecutive on transitions all in one go.
+       (sfnt_lookup_glyph_metrics): Remove redundant multiplication.
+       (struct sfnt_interpreter): New hooks for debugging.
+       (sfnt_large_integer_add): New function.
+       (sfnt_mul_f26dot6_fixed): Round product.
+       (sfnt_make_interpreter): Remove redundant multiplication.
+
+       (CHECK_STACK_ELEMENTS, POP_UNCHECKED, PUSH_UNCHECKED): New
+       macros.
+       (MOVE, POP, SWAP, CINDEX, RS, RCVT, LT, LTEQ, GT, GTEQ, EQ, NEQ)
+       (EVEN, AND, OR, NOT, ADD, SUB, DIV, MUL, ABS, NEG, FLOOR, CEILING)
+       (GETINFO, ROLL, _MAX, _MIN, ROUND, NROUND, GC, MD): Don't check
+       SP redundantly, especially when pushing an element right after
+       popping one.
+       (sfnt_move_glyph_zone): Don't touch points by passing NULL as
+       flags.
+       (sfnt_direct_move_zp2): Touch P in the directions of the
+       movement.
+       (sfnt_interpret_scfs): Fix coding style.
+       (sfnt_interpret_simple_glyph): Don't round Y coordinates.
+       (sfnt_test_span, sfnt_test_edges, sfnt_debug_edges, sfnt_test_edge)
+       (sfnt_x_raster, sfnt_test_raster, rcvt_test_args)
+       (deltac1_test_args, deltac2_test_args, deltac3_test_args)
+       (roll_1_test_args, sfnt_run_hook, sfnt_identify_instruction)
+       (sfnt_verbose, main): Improve debug code and tests.
+
+       * src/sfnt.h (struct sfnt_edge): Add bresenham terms.
+
+2023-02-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp file name completion
+
+       This fixes Bug#51386, Bug#52758, Bug#53513, Bug#54042 and Bug#60505.
+
+       * doc/misc/tramp.texi (File name completion): Remove completion
+       styles restrictions.
+
+       * lisp/minibuffer.el (completion-styles): Fix docstring.
+
+       * lisp/net/tramp.el (tramp-methods) <->: Add.
+       (tramp-completion-file-name-handler-alist):
+       Add `expand-file-name', `file-exists-p', `file-name-directory' and
+       `file-name-nondirectory'.
+       (tramp-dissect-file-name): Do not extra check for
+       `tramp-default-method-marker'.
+       (tramp-completion-handle-expand-file-name)
+       (tramp-completion-handle-file-exists-p)
+       (tramp-completion-handle-file-name-directory)
+       (tramp-completion-handle-file-name-nondirectory): New defuns.
+       (tramp-completion-handle-file-name-all-completions): Remove duplicates.
+
+       * test/lisp/net/tramp-tests.el
+       (tramp-test26-interactive-file-name-completion): New test.
+
+2023-02-06  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix 'hack-local-variables' when EOL conversion is inhibited
+
+       * lisp/files.el (hack-local-variables--find-variables): Replace
+       CRs with newlines only if the original buffer is under explicit
+       selective-display.  (Bug#61321)
+
+2023-02-06  Po Lu  <luangruo@yahoo.com>
+
+       Port emacsclient wrapper to Android 7.1 and earlier
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Load every
+       native library on which Emacs depends prior to loading libemacs
+       itself.
+
+       * java/org/gnu/emacs/EmacsOpenActivity.java (readEmacsClientLog)
+       (EmacsOpenActivity, startEmacsClient): Don't use redirectError
+       on Android 7.1 and earlier.
+
+2023-02-06  Po Lu  <luangruo@yahoo.com>
+
+       Adjust ndk-build implementation for old NDK versions
+
+       * configure.ac: Pass ANDROID_CFLAGS to ndk_INIT.
+       * cross/ndk-build/Makefile.in (NDK_BUILD_CFLAGS):
+       * cross/ndk-build/ndk-build-shared-library.mk
+       ($(call objname,$(LOCAL_MODULE),$(basename $(1)))):
+       ($$(error Unsupported suffix):
+       * cross/ndk-build/ndk-build-static-library.mk
+       ($(call objname,$(LOCAL_MODULE),$(basename $(1)))):
+       ($$(error Unsupported suffix): Use NDK_BUILD_CFLAGS.
+       * m4/ndk-build.m4 (ndk_INIT): Accept cflags.
+       (ndk_CONFIG_FILES): Export NDK_BUILD_CFLAGS.
+
+2023-02-06  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/AndroidManifest.xml.in: Prevent the Emacs activity from
+       being overlayed by the emacsclient wrapper.
+       * java/org/gnu/emacs/EmacsOpenActivity.java (run): Likewise.
+       (onCreate): Set an appropriate theme on ICS and up.
+
+       * java/org/gnu/emacs/EmacsWindow.java (onTouchEvent): Handle
+       ACTION_CANCEL correctly.
+
+2023-02-06  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (struct sfnt_build_glyph_outline_context)
+       (sfnt_build_glyph_outline, sfnt_fill_span): Improve glyph
+       appearance by rounding coordinate values.
+
+       (struct sfnt_interpreter): New fields `twilight_original_x',
+       `twilight_original_y'.
+       (sfnt_make_interpreter): Set new fields.
+       (DELTAP1, DELTAP2, DELTAP3, SVTCAy, SPVTL, SFVTL, MD): Implement
+       instructions.
+       (sfnt_save_projection_vector): New argument `dual_only'.  All
+       callers changed.
+       (sfnt_address_zp2, sfnt_address_zp1, sfnt_address_zp0): Obtain
+       original positions in the twilight zone as well.
+       (sfnt_check_zp1, sfnt_interpret_fliprgoff, sfnt_interpret_fliprgon)
+       (sfnt_interpret_flippt, sfnt_interpret_scfs, sfnt_interpret_miap)
+       (sfnt_interpret_alignrp, sfnt_line_to_vector, P)
+       (sfnt_interpret_msirp, sfnt_interpret_ip, sfnt_interpret_call)
+       (load_point, sfnt_interpret_iup_1, sfnt_interpret_iup)
+       (sfnt_interpret_run, struct sfnt_scaled_outline)
+       (struct sfnt_instructed_outline, sfnt_decompose_instructed_outline)
+       (sfnt_build_instructed_outline, sfnt_compute_phantom_points)
+       (sfnt_interpret_simple_glyph, all_tests, sfnt_setup_debugger)
+       (sfnt_name_instruction, sfnt_draw_debugger, sfnt_run_hook)
+       (sfnt_verbose, main): Make glyph instructing work.
+
+       * src/sfnt.h (SFNT_POLY_ROUND): New enumerator.
+
+2023-02-05  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Prevent infinite recursion in c-determine-limit.
+
+       This was happening particularly with long-lines, possibly because the 
position
+       was inside a literal when calling c-determine-limit.
+
+       * lisp/progmodes/cc-engine.el (c-determine-limit): Guard a recursive 
call by
+       checking (- base try-size).
+
+2023-02-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix misleading LAP optimiser debug log message
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Correct message in a conditional jump threading rule.
+
+2023-02-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Allow unbind to commute with discardN and discardN-preserve-tos
+
+       * lisp/emacs-lisp/byte-opt.el (byte-after-unbind-ops):
+       Add discardN and discardN-preserve-tos, both of which
+       commute with unbind.  This enables subsequent optimisations.
+
+2023-02-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Remove compatibility hacks in LAP optimiser
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Remove code forcing forward motion after applying certain
+       transformations; these were only there to keep output identical across
+       refactorings.
+
+2023-02-05  Mattias Engdegård  <mattiase@acm.org>
+
+       LAP optimiser: bind local variables instead of mutating them
+
+       This is a refactoring step: there is no change in how the optimiser
+       works.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Instead of re-using local variables through mutation, bind them at
+       point of use.  This ensures that there is no value leakage by mistake
+       and actually reduces the static size of the bytecode of this function
+       somewhat.
+       The lousy variable names (tmp, tmp2 etc) are retained but
+       can at least now be changed into something more descriptive.
+
+2023-02-05  Mattias Engdegård  <mattiase@acm.org>
+
+       Get rid of delq in LAP optimiser
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Instead of using the O(n) `delq' to remove single instructions, use
+       the O(1) `setcdr'. To do this, anchor the instruction list in a cons
+       cell and use the predecessor cell in iteration.
+
+2023-02-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Explain how to build selinux.
+       * configure.ac: Enable selinux on Android.
+       * cross/ndk-build/ndk-build-shared-library.mk: ($(call
+       objname,$(LOCAL_MODULE),$(basename $(1))))::($$(error
+       Unsupported suffix)::(NDK_CFLAGS_$(LOCAL_MODULE)):
+       * cross/ndk-build/ndk-build-static-library.mk: ($(call
+       objname,$(LOCAL_MODULE),$(basename $(1))))::($$(error
+       Unsupported suffix)::(NDK_CFLAGS_$(LOCAL_MODULE)): Correctly
+       handle files with a .cc suffix, and clang-specific asflags.
+       * cross/ndk-build/ndk-clear-vars.mk: Handle AOSP extensions
+       LOCAL_ADDITIONAL_DEPENDENCIES,
+       LOCAL_CLANG_ASFLAGS_$(NDK_BUILD_ARCH) and LOCAL_IS_HOST_MODULE.
+
+       * doc/emacs/android.texi (Android Startup): Explain emacsclient
+       wrapper.
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView): New flag
+       `isCurrentlyTextEditor'.
+       (showOnScreenKeyboard, hideOnScreenKeyboard): Set as
+       appropriate.
+       (onCheckIsTextEditor): Return its value.
+
+       * lisp/touch-screen.el (touch-screen-handle-scroll): Don't ding
+       at buffer limits.
+       * m4/ndk-build.m4: Improve doc.
+
+       * src/Makefile.in (LIBSELINUX_CFLAGS): New variable.
+       (EMACS_CFLAGS): Add it.
+
+2023-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cconv.el (cconv-convert): Fix thinko
+
+2023-02-05  Po Lu  <luangruo@yahoo.com>
+
+       Update from gnulib
+
+       * admin/merge-gnulib (avoided_flags):
+       * cross/lib/cdefs.h (__bos):
+       (__glibc_unsigned_or_positive):
+       (__glibc_unsafe_len):
+       (__glibc_fortify):
+       (__glibc_fortify_n):
+       * cross/lib/isnan.c:
+       * cross/lib/libc-config.h:
+       * cross/lib/openat-proc.c (openat_proc_name):
+       * cross/lib/vasnprintf.c (VASNPRINTF):
+       * cross/lib/verify.h (_Static_assert):
+       (_GL_SA3):
+       * lib/gnulib.mk.in (HAVE_GRANTPT):
+       (HAVE_SPAWN_H):
+       (NEXT_AS_FIRST_DIRECTIVE_LIMITS_H):
+       (NEXT_LIMITS_H):
+       (REPLACE_GETSUBOPT):
+       (REPLACE_ILOGB):
+       (SYSTEM_TYPE):
+       (BUILT_SOURCES):
+       * lib/isnan.c:
+       * lib/vasnprintf.c (VASNPRINTF):
+       * lib/verify.h (_GL_SA3):
+       * m4/gnulib-common.m4 (gl_COMMON_BODY):
+       * m4/gnulib-comp.m4 (gl_INIT): Update from gnulib.
+
+2023-02-05  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-05  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (struct sfnt_graphics_state):
+       (LOOPCALL):
+       (DELTAC3):
+       (PROJECT):
+       (SHPIX):
+       (sfnt_save_projection_vector):
+       (sfnt_check_zp0):
+       (sfnt_dual_project_vector):
+       (sfnt_interpret_scfs):
+       (sfnt_round_symmetric):
+       (sfnt_interpret_miap):
+       (sfnt_interpret_alignrp_1):
+       (sfnt_interpret_alignrp):
+       (sfnt_measure_distance):
+       (sfnt_interpret_msirp):
+       (sfnt_interpret_ip):
+       (sfnt_interpret_mdap):
+       (sfnt_deltap):
+       (sfnt_dual_project_onto_any_vector):
+       (sfnt_validate_gs):
+       (sfnt_set_projection_vector):
+       (sfnt_interpret_shp):
+       (sfnt_interpret_run):
+       (sfnt_check_sloop):
+       (main): Check in more WIP font code.
+
+2023-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update some commentary for C23
+
+2023-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use Gnulib module alignasof instead of stdalign
+
+       * admin/merge-gnulib (GNULIB_MODULES):
+       Replace obsolescent Gnulib module stdalign with alignasof.
+       * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+       * lib/stdalign.in.h: Remove; no longer needed.
+
+2023-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer https: to git: URIs
+
+       Prefer https: to git: URIs on Savannah.
+       The idea is to avoid some adversary-in-the-middle attacks
+       on developers.
+
+2023-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       nadvice: Fix bug#61179
+
+       Advising interactive forms relies on the ability to distinguish
+       interactive forms that do nothing else than return a function.
+       So, be careful to preserve this info.
+       Furthermore, interactive forms are expected to be evaluated in
+       the lexical context captured by the closure to which they belong,
+       so be careful to preserve that context when manipulating those forms.
+
+       * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyze-form) <lambda>:
+       Preserve the info that an interactive form does nothing else than
+       return a function.
+
+       * lisp/emacs-lisp/nadvice.el (advice--interactive-form-1): New function.
+       (advice--interactive-form): Use it.
+       (advice--make-interactive-form): Refine to also accept function values
+       quoted with `quote`.  Remove obsolete TODO.
+
+       * test/lisp/emacs-lisp/nadvice-tests.el: Don't disallow 
byte-compilation.
+       (advice-test-bug61179): New test.
+
+       * lisp/emacs-lisp/oclosure.el (cconv--interactive-helper): Allow
+       the `if` arg to be a form.
+       * lisp/simple.el (oclosure-interactive-form): Adjust accordingly.
+
+2023-02-04  Po Lu  <luangruo@yahoo.com>
+
+       Add emacsclient desktop file equivalent on Android
+
+       * doc/emacs/android.texi (Android File System):
+       * java/AndroidManifest.xml.in: Update with new activity.  Remove
+       Android 10 restrictions through a special flag.
+
+       * java/org/gnu/emacs/EmacsNative.java (getProcName): New
+       function.
+       * java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity):
+       New file.
+       * java/org/gnu/emacs/EmacsService.java (getLibraryDirection):
+       Remove unused annotation.
+       * lib-src/emacsclient.c (decode_options): Set alt_display on
+       Android.
+       * src/android.c (android_proc_name): New function.
+       (NATIVE_NAME): Export via JNI.
+
+2023-02-04  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-04  Po Lu  <luangruo@yahoo.com>
+
+       Add additional permissions to Android port
+
+       * doc/emacs/android.texi (Android Environment):
+       * java/AndroidManifest.xml.in: Add network state permissions.
+
+2023-02-04  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (sfnt_multiply_divide_signed):
+       (struct sfnt_interpreter_zone):
+       (struct sfnt_graphics_state):
+       (struct sfnt_interpreter):
+       (sfnt_mul_f2dot14):
+       (sfnt_interpret_trap):
+       (WCVTF):
+       (ALIGNPTS):
+       (sfnt_scale_by_freedom_vector):
+       (sfnt_interpret_utp):
+       (sfnt_address_zp2):
+       (sfnt_address_zp1):
+       (sfnt_address_zp0):
+       (sfnt_check_zp2):
+       (sfnt_move_zp0):
+       (sfnt_move_zp1):
+       (sfnt_move_glyph_zone):
+       (sfnt_move_twilight_zone):
+       (sfnt_direct_move_zp2):
+       (sfnt_interpret_alignpts):
+       (sfnt_interpret_isect):
+       (sfnt_line_to_vector):
+       (sfnt_deltac):
+       (sfnt_interpret_mdap):
+       (sfnt_interpret_call):
+       (sfnt_dot_fix_14):
+       (sfnt_move_x):
+       (sfnt_move_y):
+       (sfnt_move):
+       (sfnt_validate_gs):
+       (sfnt_interpret_shz):
+       (sfnt_interpret_shc):
+       (sfnt_interpret_shp):
+       (sfnt_interpret_iup_1):
+       (sfnt_interpret_iup):
+       (sfnt_interpret_run):
+       (sfnt_interpret_font_program):
+       (sfnt_interpret_control_value_program):
+       (sfnt_interpret_simple_glyph):
+       (jrot_test_args):
+       (jrof_test_args):
+       (all_tests):
+       (main): Check in more WIP code.
+
+2023-02-04  Theodor Thornhill  <theo@thornhill.no>
+
+       Add test for java indentation (bug#61115)
+
+       * test/lisp/progmodes/java-ts-mode-resources/indent.erts: Add new test
+       case.
+
+2023-02-03  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Fontify a certain foo * bar class by the asymmetric space 
heuristic
+
+       This fixes bug #61144.  If the space around the * is "symmetric" we 
leave foo
+       * bar unfontified, a multiplication operation.  If it is "asymmetric" we
+       fontify it as a pointer declaration.
+
+       * lisp/progmodes/cc-engine.el (c-fdoc-assymetric-space-about-asterisk): 
New
+       macro, extracted from c-forward-decl-or-cast-1.
+       (c-forward-decl-or-cast-1): Invoke the new macro twice, in CASE 16 
(new) and
+       CASE 17.5 (the source of the macro).  In CASE 16, additionally set
+       unsafe-maybe when appropriate.
+
+2023-02-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       96ea27278b4 ; Fix c-ts-mode indent test
+       d963a8f1355 Make c-ts-mode indent tests side-effect-free
+       8a6bdf88b4b Call treesit_record_change in insert_from_gap_1
+       a2b77c79dcc Use c-ts-common-statement-offset for closing brackets too
+       74e715cb729 ; Go back to original point when filling comments in c-ts...
+       b8009bbf2d8 ; Fix error where we pass t to treesit-node-type in c-ts-...
+       88ccf78b206 ; * src/treesit.c (treesit_predicate_match): Simplify las...
+       20454128b8b Minor improvements in sqlite.c
+       3b3c47d977b (treesit_predicate_match): Match node text against regexp...
+       e8334781c9f Improve documentation of gdb-mi's dedicated windows
+       c4988840598 Avoid spurious pause in kill-ring-save (Bug#60841)
+       382ab516cef Change the default of 'treesit-defun-tactic' for 'c-ts-mode'
+       4d3428e95a9 Fix docstring fontification of CL's 'defstruct'
+       1c125baa3f0 Teach 'hs-minor-mode' about tree-sitter based modes
+       2de0ab5cbd3 ; Doc fixes in keymap.el
+       c6660a6d6de Improve documentation of 'repeat-mode' and related variables
+       be304bb3286 ; * etc/NEWS: Mention the 'utf-8-auto' bugfix (bug#60750).
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-02-02  Mattias Engdegård  <mattiase@acm.org>
+
+       LAP peephole optimisation improvements
+
+       - Since discardN-preserve-tos(1) and stack-set(1) have the same
+         effect, treat them as equivalent in all transformations.
+
+       - Move the rule
+
+               discardN-preserve-tos(X) discardN-preserve-tos(Y)
+           --> discardN-preserve-tos(X+Y)
+
+         from the final pass to the main iteration since it may enable
+         further optimisations.
+
+       - Don't apply the rule
+
+           goto(X) ... X: DISCARD --> DISCARD goto(Y) ... X: DISCARD Y:
+
+         when DISCARD could be merged or deleted instead, which is even better.
+
+       - Add the rule
+
+           OP const return -> <deleted> const return
+
+         where OP is effect-free.
+
+       - Generalise the push-pop annihilation rule to
+
+           PUSH(K) discard(N) -> discard(N-K), N>K
+           PUSH(K) discard(N) -> <deleted>,    N=K
+
+         to any N, not just N=1.
+
+       - Add the rule
+
+           OP goto(X) Y: OP X: -> <deleted> Y: OP X:
+
+         for any operation OP.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Make the changes described above.
+
+2023-02-02  Mattias Engdegård  <mattiase@acm.org>
+
+       Clean up LAP peephole logging
+
+       Make `byte-compile-log-lap` more robust and produce nicer output.
+       This is of interest for Elisp compiler maintainers only.
+
+       * lisp/emacs-lisp/byte-opt.el (bytecomp--log-lap-arg): New.
+       (byte-compile-log-lap-1): Extract argument conversion and rewrite
+       in a more modern way, fixing bugs.  In particular, tags are now
+       displayed as "X:" where X is the tag number, and that tag number
+       is shown as argument to goto-like ops.
+       (byte-optimize-lapcode): Clean up and simplify logging, producing
+       useful information when `byte-optimize-log` is `byte` as intended.
+
+2023-02-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       9715715ac16 (eshell--complete-commands-list): Fix regression in fix t...
+       ea1bb263153 * doc/emacs/basic.texi (Repeating): Mention describe-repe...
+       f91bf9df892 Unbreak the MS-Windows build
+
+2023-02-02  Po Lu  <luangruo@yahoo.com>
+
+       Add Emacs icon for Android package
+
+       * java/AndroidManifest.xml.in: Add new icon.
+       * java/Makefile.in (srcdir): New variable.
+       (JAVA_FILES, RESOURCE_FILES): Update variables.
+       (emacs.apk-in): Apply resources.
+       * java/README: Describe directory tree.
+
+2023-02-02  Po Lu  <luangruo@yahoo.com>
+
+       Add Emacs icon for Android
+
+       * java/res/drawable/emacs.png: New file.
+
+2023-02-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_get_current_api_level): New function.
+       * src/android.h: Export it.
+       * src/sfntfont-android.c (init_sfntfont_android): Make device
+       API level detection always work.
+
+2023-02-02  Po Lu  <luangruo@yahoo.com>
+
+       Clean up compiler warnings
+
+       * src/sfnt.c (sfnt_multiply_divide_signed): Add MAYBE_UNUSED.
+
+2023-02-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-02-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/sfnt.c (xmalloc, xrealloc): Improve behavior upon
+       allocation failures during test.
+       (sfnt_table_names): Add prep.
+       (sfnt_transform_coordinates): Allow applying offsets during
+       coordinate transform.
+       (sfnt_decompose_compound_glyph): Defer offset computation until
+       any component compound glyph is loaded, then apply it during the
+       transform process.
+
+       (sfnt_multiply_divide): Make available everywhere.  Implement on
+       64 bit systems.
+       (sfnt_multiply_divide_signed): New function.
+       (sfnt_mul_fixed): Fix division overflow.
+
+       (sfnt_curve_to_and_build_1, sfnt_build_glyph_outline): Remove
+       outdated comment.
+       (sfnt_build_outline_edges): Fix coding style.
+       (sfnt_lookup_glyph_metrics): Allow looking up metrics without
+       scaling.
+       (struct sfnt_cvt_table): Fix type of cvt values.
+       (struct sfnt_prep_table): New structure.
+       (sfnt_read_cvt_table): Read cvt values in terms of fwords, not
+       longs (as Apple's doc seems to say).
+       (sfnt_read_fpgm_table): Fix memory allocation for font program
+       table.
+       (sfnt_read_prep_table): New function.
+       (struct sfnt_interpreter_zone): New structure.
+       (struct sfnt_interpreter_graphics_state): New fields `project',
+       `move', `vector_dot_product'.  Rename to `sfnt_graphics_state'.
+       (struct sfnt_interpreter, sfnt_mul_f26dot6): Stop doing rounding
+       division.
+       (sfnt_init_graphics_state):
+       (sfnt_make_interpreter):
+       (MOVE):
+       (SSW):
+       (RAW):
+       (SDS):
+       (ADD):
+       (SUB):
+       (ABS):
+       (NEG):
+       (WCVTF):
+       (_MIN):
+       (S45ROUND):
+       (SVTCAx):
+       (sfnt_set_srounding_state):
+       (sfnt_skip_code):
+       (sfnt_interpret_unimplemented):
+       (sfnt_interpret_fdef):
+       (sfnt_interpret_idef):
+       (sfnt_interpret_if):
+       (sfnt_interpret_else):
+       (sfnt_round_none):
+       (sfnt_round_to_grid):
+       (sfnt_round_to_double_grid):
+       (sfnt_round_down_to_grid):
+       (sfnt_round_up_to_grid):
+       (sfnt_round_to_half_grid):
+       (sfnt_round_super):
+       (sfnt_validate_gs):
+       (sfnt_interpret_run):
+       (sfnt_interpret_font_program):
+       (struct sfnt_test_dcontext):
+       (sfnt_test_move_to):
+       (sfnt_test_line_to):
+       (sfnt_test_curve_to):
+       (sfnt_test_get_glyph):
+       (sfnt_test_free_glyph):
+       (sfnt_test_span):
+       (sfnt_test_edge_ignore):
+       (sfnt_test_edge):
+       (sfnt_test_raster):
+       (test_interpreter_profile):
+       (test_cvt_values):
+       (test_interpreter_cvt):
+       (test_interpreter_head):
+       (sfnt_make_test_interpreter):
+       (struct sfnt_interpreter_test):
+       (sfnt_run_interpreter_test):
+       (struct sfnt_generic_test_args):
+       (sfnt_generic_check):
+       (sfnt_check_srp0):
+       (sfnt_check_szp0):
+       (sfnt_check_sloop):
+       (struct sfnt_rounding_test_args):
+       (sfnt_check_rounding):
+       (sfnt_check_smd):
+       (sfnt_check_scvtci):
+       (sfnt_check_sswci):
+       (sfnt_check_ssw):
+       (sfnt_check_flipon):
+       (sfnt_check_flipoff):
+       (npushb_test_args):
+       (npushw_test_args):
+       (pushb_test_args):
+       (pushw_test_args):
+       (stack_overflow_test_args):
+       (stack_underflow_test_args):
+       (rtg_test_args):
+       (rtg_symmetric_test_args):
+       (rtg_1_test_args):
+       (rtg_1_symmetric_test_args):
+       (rthg_test_args):
+       (rthg_1_test_args):
+       (rtdg_test_args):
+       (rtdg_1_test_args):
+       (rtdg_2_test_args):
+       (rtdg_3_test_args):
+       (else_test_args):
+       (jmpr_test_args):
+       (dup_test_args):
+       (pop_test_args):
+       (clear_test_args):
+       (swap_test_args):
+       (depth_test_args):
+       (cindex_test_args):
+       (mindex_test_args):
+       (raw_test_args):
+       (loopcall_test_args):
+       (call_test_args):
+       (fdef_test_args):
+       (fdef_1_test_args):
+       (endf_test_args):
+       (ws_test_args):
+       (rs_test_args):
+       (wcvtp_test_args):
+       (rcvt_test_args):
+       (mppem_test_args):
+       (mps_test_args):
+       (debug_test_args):
+       (lt_test_args):
+       (all_tests):
+       (main): Implement more instructions.
+
+       * src/sfnt.h (enum sfnt_table, struct sfnt_glyph_metrics): Add
+       new tables.  Add comment.
+
+2023-02-01  Juri Linkov  <juri@linkov.net>
+
+       * lisp/progmodes/ruby-ts-mode.el: Extend treesit-sexp-type-regexp.
+
+       (ruby-ts-mode): Add more node types to treesit-sexp-type-regexp.
+
+2023-02-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       Handle large process output strings for Tramp
+
+       * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
+       Improve handling of connection-type `pipe'.
+
+       * test/lisp/tramp-tests.el (tramp-test29-start-file-process)
+       (tramp-test30-make-process): Extend tests.
+
+2023-02-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       66aa9cb450a ; (Ftreesit_query_capture): Fix typo
+       f711f4e99f7 (Ftreesit_query_capture): Cache list of predicates for gi...
+       47ab9ba55d7 * lisp/keymap.el (keymap-global-unset): Correct prompt
+       49b61405582 Fix cursor-in-echo-area on TTY frames
+
+2023-01-31  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       1684e254a3b Update to Transient v0.3.7-196-gb91f509
+       327941b2112 CC Mode: Fix a coding bug in c-make-keywords-re.  This sh...
+       2f3683cd4dc * lisp/isearch.el (isearch-emoji-by-name): Disable derive...
+       86b03046c00 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       e866490a077 Fix keymap inheritance in descendants of 'c-ts-base-mode'
+       f67a9a12b7b Fix interactive use of `keymap-local-set' and `keymap-glo...
+
+2023-01-31  Jim Porter  <jporterbugs@gmail.com>
+
+       During completion, convert all Eshell arguments to strings
+
+       Eshell was already converting some types (numbers, nil) to strings, as
+       well as fixing up multiple-dot forms like ".../", so this way is more
+       consistent and should produce fewer problems for Pcomplete functions.
+
+       * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Always
+       convert parsed arguments to strings.
+
+       * test/lisp/eshell/em-cmpl-tests.el (eshell-arguments-equal,
+       eshell-arguments-equal--equal-explainer): New functions.
+       (em-cmpl-test/parse-arguments/pipeline)
+       (em-cmpl-test/parse-arguments/multiple-dots)
+       (em-cmpl-test/parse-arguments/variable/numeric)
+       (em-cmpl-test/parse-arguments/variable/nil)
+       (em-cmpl-test/parse-arguments/variable/list)
+       (em-cmpl-test/parse-arguments/variable/splice): Use
+       'eshell-arguments-equal'.
+
+2023-01-31  Jim Porter  <jporterbugs@gmail.com>
+
+       Properly parse Eshell variable splices for interactive completion
+
+       Previously, the code simply ignored the splice operator, which usually
+       worked, but isn't actually correct.
+
+       * lisp/eshell/em-cmpl.el (eshell-complete-eval-argument-form): New
+       function.
+       (eshell-complete-parse-arguments): Properly parse variable splices.
+
+       * test/lisp/eshell/em-cmpl-tests.el
+       (em-cmpl-test/parse-arguments/variable/splice): New test.
+
+2023-01-31  Jim Porter  <jporterbugs@gmail.com>
+
+       Add regression tests for Eshell completions
+
+       * lisp/eshell/esh-cmd.el (eshell-complete-lisp-symbols): Fix
+       docstring.
+
+       * test/lisp/eshell/em-cmpl-tests.el: New file.
+
+2023-01-30  Eli Zaretskii  <eliz@gnu.org>
+
+       Revert "Fix incremental build failures with tree-sitter"
+
+       This reverts commit 176830fe2bb1c80ee128e515f6223cddc8b0a2ca.
+       That commit isn't needed, since the problem was fixed
+       in another way, in the defcustom's :set function.
+
+2023-01-30  Eric Abrahamsen  <eric@ericabrahamsen.net>
+
+       Gnus nnimap date search string must use C locale
+
+       * lisp/gnus/gnus-search.el (gnus-search-imap-handle-date): The %b
+       needs to be the English month name for IMAP search.
+
+2023-01-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       f67a9a12b7b Fix interactive use of `keymap-local-set' and `keymap-glo...
+       dda4baa58b7 ; Fix build and startup without tree-sitter
+
+2023-01-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-30  Po Lu  <luangruo@yahoo.com>
+
+       Fix incremental build failures with tree-sitter
+
+       * lisp/treesit.el (treesit-subtree-stat): Declare missing
+       function.
+       (treesit-buffer-root-node): Return nil if tree-sitter not
+       present.
+
+2023-01-30  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-30  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * cross/ndk-build/ndk-build-shared-library.mk: ($(call
+       objname,$(LOCAL_MODULE),$(basename $(1)))):
+       * cross/ndk-build/ndk-build-static-library.mk: ($(call
+       objname,$(LOCAL_MODULE),$(basename $(1)))): Revert broken typo
+       fixes.
+       * src/sfnt.c (TEST_STATIC): Define ARRAYELTS.
+       (sfnt_table_names): New CVT and FPGM tables.
+       (sfnt_decompose_compound_glyph, sfnt_decompose_glyph)
+       (struct sfnt_large_integer, sfnt_multiply_divide_1)
+       (sfnt_count_leading_zero_bits, sfnt_multiply_divide_2)
+       (sfnt_multiply_divide, sfnt_mul_fixed, sfnt_div_fixed)
+       (sfnt_ceil_fixed, sfnt_build_glyph_outline): Fix fixed point
+       multiplication routines on systems without 64 bit long long
+       type.
+       (SFNT_ENABLE_HINTING, struct sfnt_test_dcontext, sfnt_test_move_to)
+       (sfnt_test_line_to, sfnt_test_curve_to, sfnt_test_get_glyph)
+       (sfnt_test_free_glyph, sfnt_test_span, sfnt_test_edge_ignore)
+       (sfnt_read_cvt_table, sfnt_test_edge, sfnt_test_raster)
+       (sfnt_read_fpgm_table, struct sfnt_unit_vector)
+       (struct sfnt_interpreter_definition)
+       (struct sfnt_interpreter_graphics_state, struct sfnt_interpreter)
+       (sfnt_div_f26dot6, sfnt_mul_f26dot6, sfnt_floor_f26dot6)
+       (sfnt_ceil_f26dot6, sfnt_round_f26dot6, sfnt_init_graphics_state)
+       (sfnt_make_interpreter, enum sfnt_interpreter_run_context)
+       (sfnt_interpret_trap, STACKSIZE, sfnt_set_srounding_state)
+       (sfnt_skip_code, sfnt_interpret_unimplemented, sfnt_interpret_fdef)
+       (sfnt_interpret_idef, sfnt_interpret_if, sfnt_interpret_else)
+       (sfnt_round_none, sfnt_round_to_grid, sfnt_round_to_double_grid)
+       (sfnt_round_down_to_grid, sfnt_round_up_to_grid)
+       (sfnt_round_to_half_grid, sfnt_round_super, sfnt_validate_gs)
+       (sfnt_interpret_run, sfnt_interpret_font_program)
+       (test_interpreter_profile, test_cvt_values, test_interpreter_cvt)
+       (test_interpreter_head, sfnt_make_test_interpreter)
+       (struct sfnt_interpreter_test, sfnt_run_interpreter_test)
+       (struct sfnt_generic_test_args, sfnt_generic_check)
+       (sfnt_check_srp0, sfnt_check_szp0, sfnt_check_sloop)
+       (struct sfnt_rounding_test_args, sfnt_check_rounding)
+       (sfnt_check_smd, sfnt_check_scvtci, sfnt_check_sswci)
+       (sfnt_check_ssw, sfnt_check_flipon, sfnt_check_flipoff)
+       (npushb_test_args, npushw_test_args, pushb_test_args)
+       (pushw_test_args, stack_overflow_test_args)
+       (stack_underflow_test_args, rtg_test_args, rtg_symmetric_test_args)
+       (rtg_1_test_args, rtg_1_symmetric_test_args, rthg_test_args)
+       (rthg_1_test_args, rtdg_test_args, rtdg_1_test_args)
+       (rtdg_2_test_args, rtdg_3_test_args, else_test_args)
+       (jmpr_test_args, dup_test_args, pop_test_args, clear_test_args)
+       (swap_test_args, depth_test_args, cindex_test_args)
+       (mindex_test_args, raw_test_args, loopcall_test_args)
+       (call_test_args, fdef_test_args, fdef_1_test_args, endf_test_args)
+       (ws_test_args, rs_test_args, wcvtp_test_args, rcvt_test_args)
+       (mppem_test_args, mps_test_args, debug_test_args, lt_test_args)
+       (all_tests, main): Check in WIP hinting code.
+
+       * src/sfnt.h (enum sfnt_table): Add `cvt ' and `fpgm' tables.
+
+2023-01-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix password prompt in Tramp
+
+       * lisp/net/tramp.el (tramp-password-prompt-regexp):
+       Allow alternative trailing colons.  (Bug#61168)
+
+2023-01-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       8360e12f0ea Update to Org 9.6.1-23-gc45a05
+       9058601308d ; * doc/emacs/misc.texi (Document View): Remove @footnote...
+       197f994384c Document tree-sitter features in the user manual
+       b73539832d9 ; Remove treesit--font-lock-fast-mode-grace-count
+       64fee21d5f8 Fix dockerfile-ts-mode line continuation indentation (bug...
+       1970726e26a Use treesit-subtree-stat to determine treesit--font-lock-...
+       382e018856a Add treesit-subtree-stat
+       a3003492ace Move c-ts-mode--statement-offset to c-ts-common.el
+       4b1714571c8 ; Fix byte-compile warnings in c-ts-mode.el
+       f50cb7d7c4b ; Improve docstring of c-ts-mode--indent-style-setter
+       1c3ca3bb649 Fix <> syntax in rust-ts-mode
+       56e8607dc99 Fix spurious errors on Windows when deleting temporary *....
+       2bd0b947538 Fix java class member without access modifier (bug#61115)
+       1de6ebf2878 Make treesit-font-lock-level a defcustom
+       6e50ee8bbb5 Add c-ts-mode-set-style and :set for c-ts-mode-indent-style
+       450db0587a9 Minor documentation improvements for outline-minor-mode (...
+       578e8926713 ; * doc/lispref/variables.texi (File Local Variables): Im...
+       bc5ee2b7bf0 ; * src/comp.c: Remove Local Variables section to avoid w...
+       362678d90e1 python.el: Use correct regexp when enabling python-ts-mode
+       76bb46db9df ; * doc/emacs/frames.texi (Mouse References): Improve ind...
+
+       # Conflicts:
+       #       doc/emacs/programs.texi
+       #       etc/NEWS
+       #       lisp/progmodes/c-ts-mode.el
+
+2023-01-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Better commutative binary numerical op codegen
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-variadic-numeric):
+       Put a constant argument last for better LAP code opportunities.
+       This applies to commutative binary operations (+ and *).
+       `min` and `max` are not included being not quite commutative.
+
+2023-01-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Better compilation of n-ary comparisons
+
+       Transform n-ary comparisons to a chain of binary comparisons in the
+       Lisp optimiser instead of in codegen, to allow for subsequent
+       optimisations.  This generalises the transform, so that
+
+          (< 1 X 10)  ->  (let ((x X)) (and (< 1 x) (< x 10)))
+
+       where (< 1 x) is then flipped to (> x 1) in codegen since it's
+       slightly more efficient to have the constant argument last.  Arguments
+       that are neither constants nor variables are given temporary bindings.
+
+       This results in about 2× speedup for 3-ary comparisons of fixnums with
+       nontrivial arguments, and also improves the code slightly for binary
+       comparisons with a constant first argument.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-opt--nary-comparison): New,
+       set as the `byte-optimizer` property for =, <, <=, >, and >=.
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-and-folded):
+       Rename to...
+       (byte-compile-cmp): ...and rewrite.
+
+2023-01-29  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       Fix host name completion for Tramp "podman" method
+
+       * lisp/net/tramp-container.el (tramp-container--completion-function):
+       Rename from `tramp-docker--completion-function'.  Add argument
+       PROGRAM.  Use it for "docker" and "podman" host name completion.
+
+       * lisp/net/tramp.el (tramp-set-completion-function): Check, that
+       cdr of FUNCTION-LIST entries is a string.
+
+2023-01-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * src/comp.c (F_RELOC_MAX_SIZE): Bump to 1600 (bug#60996).
+
+2023-01-29  Po Lu  <luangruo@yahoo.com>
+
+       Check in missing files
+
+       * .gitignore:
+       * cross/lib/_Noreturn.h (_Noreturn): Add missing gnulib files.
+
+2023-01-29  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android (module_target): Clarify documentation.
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       * cross/ndk-build/ndk-build-static-library.mk: Fix building Neon 
objects.
+       * java/AndroidManifest.xml.in: Add a version code.
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Implement `restart-emacs' on Android
+
+       * java/org/gnu/emacs/EmacsService.java (restartEmacs): New
+       function.
+       * src/android.c (struct android_emacs_service)
+       (android_init_emacs_service): Add new method.
+       (android_restart_emacs): New function.
+       * src/android.h: Update prototypes.
+       * src/emacs.c (Fkill_emacs): Call android_restart_emacs whenever
+       appropriate.
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Add libtiff support to Android port
+
+       * INSTALL.android: Document how to build with libtiff.
+
+       * build-aux/ndk-build-helper-1.mk (NDK_SO_NAME):
+       * build-aux/ndk-build-helper-2.mk (NDK_A_NAME):
+       * build-aux/ndk-build-helper-4.mk: Decrease number of duplicate
+       dependencies found.
+       * configure.ac (ANDROID_SDK_18_OR_EARLIER, XCONFIGURE, PNG_CFLAGS)
+       (HAVE_TIFF): Allow using libtiff on Android.
+       * cross/ndk-build/ndk-clear-vars.mk: Undefine additional
+       variables.
+       * cross/ndk-build/ndk-resolve.mk: Split CFLAGS resolution from
+       a-name resolution, and do not recursively add archive or shared
+       object names for dependencies of shared libraries.
+
+       * src/Makefile.in (TIFF_CFLAGS): New variable.
+       (EMACS_CFLAGS): Use it.
+
+2023-01-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       Tramp cleanup from recent test campaign
+
+       * lisp/net/tramp.el (tramp-barf-if-file-missing): Fix docstring.
+       (tramp-handle-file-directory-p): Don't suppress errors.
+       (tramp-handle-shell-command):
+       * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
+       Make insertion of a stderr file more robust.
+
+       * lisp/net/tramp-archive.el (tramp-archive-handle-directory-files):
+       Use `tramp-barf-if-file-missing'.
+
+       * lisp/net/tramp-sudoedit.el
+       (tramp-sudoedit-handle-file-name-all-completions): Protect against
+       errors from `file-directory-p'.
+
+       * lisp/net/tramp.el (tramp-wrong-passwd-regexp):
+       * lisp/net/tramp-adb.el (tramp-adb-prompt):
+       * lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
+       * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Unify 
regexps.
+
+       * test/lisp/net/tramp-tests.el (tramp-test48-auto-load)
+       (tramp-test48-delay-load): Unify regexps.
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android File System): Describe an
+       easier way to disable scoped storage.
+       * java/AndroidManifest.xml.in: Add new permission to allow that.
+       * java/README: Add more text describing Java.
+       * java/org/gnu/emacs/EmacsContextMenu.java (Item): New fields
+       `isCheckable' and `isChecked'.
+       (EmacsContextMenu, addItem): New arguments.
+       (inflateMenuItems): Set checked status as appropriate.
+
+       * java/org/gnu/emacs/EmacsCopyArea.java (perform): Disallow
+       operations where width and height are less than or equal to
+       zero.
+       * lisp/menu-bar.el (menu-bar-edit-menu): Make
+       execute-extended-command available as a menu item.
+       * src/androidmenu.c (android_init_emacs_context_menu)
+       (android_menu_show):
+       * src/menu.c (have_boxes): Implement menu check boxes.
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Set up fontset stuff on Android
+
+       * lisp/term/android-win.el (window-system-initialization):
+       Create default fontset.
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Fix file descriptor leaks
+
+       * src/sfntfont.c (sfntfont_read_cmap):
+       (sfntfont_open): Fix leaks of file descriptors.
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Update from gnulib
+
+       * cross/lib/stdalign.in.h (_GL_STDALIGN_H):
+       (_):
+       (__alignof_is_defined):
+       * cross/lib/vasnprintf.c:
+       * lib/gnulib.mk.in (ANDROID_MIN_SDK):
+       (HAVE_SPAWN_H):
+       (LIBGCCJIT_LIBS):
+       (NATIVE_COMPILATION_AOT):
+       (NEXT_AS_FIRST_DIRECTIVE_LIMITS_H):
+       (NEXT_LIMITS_H):
+       (SIZEOF_LONG):
+       (stdalign.h):
+       * ../../../../dev/null:
+       * lib/stdalign.in.h (_GL_STDALIGN_H):
+       (_):
+       (__alignof_is_defined):
+       * lib/vasnprintf.c:
+       * m4/gnulib-common.m4 (gl_COMMON_BODY):
+       * m4/stdalign.m4 (gl_ALIGNASOF):
+       * m4/stddef_h.m4: Update from gnulib.
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-28  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Document support for gnutls and libgmp.
+       * build-aux/ndk-build-helper-1.mk (NDK_SO_NAMES, NDK_INCLUDES)
+       (SYSTEM_LIBRARIES):
+       * build-aux/ndk-build-helper-2.mk: Recursively resolve and add
+       shared library dependencies; even those of static libraries.
+       * build-aux/ndk-module-extract.awk: Fix makefile_imports code.
+       * configure.ac (ANDROID_SDK_18_OR_EARLIER, XCONFIGURE)
+       (LIBGMP_CFLAGS): Enable GMP and gnutls on Android.
+
+       * cross/ndk-build/Makefile.in (LOCAL_EXPORT_C_INCLUDES):
+       * cross/ndk-build/ndk-build-shared-library.mk: ($(call
+       objname,$(LOCAL_MODULE),$(basename $(1))))::($$(error
+       Unsupported suffix)::($(LOCAL_MODULE_FILENAME)):
+       * cross/ndk-build/ndk-build-static-library.mk: ($(call
+       objname,$(LOCAL_MODULE),$(basename $(1))))::($$(error
+       Unsupported suffix):
+       * cross/ndk-build/ndk-clear-vars.mk:
+       * cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES):
+       (NDK_LOCAL_EXPORT_C_INCLUDES_$(LOCAL_MODULE)):
+       (NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)):
+       Implement ``LOCAL_ASM_RULE'' and ``LOCAL_C_ADDITIONAL_FLAGS''
+       extensions for libgmp.
+
+       * doc/emacs/input.texi (Touchscreens): Document how to
+       horizontally scroll.
+       * java/org/gnu/emacs/EmacsActivity.java (attachWindow): Give the
+       view focus again if necessary.
+       (onPause): Call right super function.
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java (onClick):
+       Clear dumpFileName lest Emacs try to load a nonexistent dump
+       file.
+       * java/org/gnu/emacs/EmacsView.java (onDetachedFromWindow)
+       (onAttachedToWindow): Call super functions.
+       (onCreateInputConnection): Make sure the IME never obscures
+       Emacs.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, onKeyDown)
+       (onKeyUp): Improve tracking of quit keys.
+
+       * lisp/isearch.el (isearch-mode): Bring up the onscreen
+       keyboard.
+       * lisp/touch-screen.el (touch-screen-current-tool): Add three
+       fields.
+       (touch-screen-handle-scroll): Allow hscrolling as well.
+       (touch-screen-handle-touch): Add additional fields to
+       `touch-screen-current-tool'.
+       * src/Makefile.in (LIBGMP_CFLAGS, EMACS_CFLAGS): Add new
+       variable.
+       * src/android.c (android_run_select_thread):
+       (android_write_event): Use pthread_cond_broadcast because
+       pthread_cond_signal does nothing on some Android
+       versions/devices?
+
+2023-01-28  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       128a999bfe7 Make project-current not error out inside non-existent dirs
+       194bc97879d Improve documentation of 'shell-command-dont-erase-buffer'
+       00629c03964 Fix errors in fontification of JavaScript import-statemen...
+       fd145499bbd Fix fontification TypeScript of import-statements (bug#61...
+       752c526585f ; Fix typos
+
+2023-01-28  Jim Porter  <jporterbugs@gmail.com>
+
+       Make 'eshell-number-regexp' into a regular defvar
+
+       This isn't a very useful thing to customize, since it needs to detect
+       numbers that can successfully be parsed by 'string-to-number'.
+       Changes to this variable would therefore likely requiring adjusting
+       'eshell-convert-to-number' as well.
+
+       * lisp/eshell/esh-util.el (eshell-number-regexp): Make into a defvar
+       and improve the regexp to support more numbers (including infinity and
+       NaN).
+
+       * test/lisp/eshell/esh-util-tests.el
+       (esh-util-test/eshell-convert-to-number/floating-point)
+       (esh-util-test/eshell-convert-to-number/floating-point-exponent)
+       (esh-util-test/eshell-convert-to-number/non-numeric)
+       (esh-util-test/eshell-convert-to-number/no-convert): New tests.
+
+2023-01-28  Jim Porter  <jporterbugs@gmail.com>
+
+       Add support for negative indices and index ranges in Eshell
+
+       * lisp/eshell/esh-util.el (eshell-integer-regexp): New defvar.
+
+       * lisp/eshell/esh-var.el (eshell-parse-indices): Expand docstring.
+       (eshell-parse-index): New function.
+       (eshell-apply-indices): Use 'eshell-parse-index' to determine whether
+       to treat the first index as a regexp.  Simplify the implementation a
+       bit.
+       (eshell-index-range): New pcase macro...
+       (eshell-index-value): ... use it, and restructure the implementation.
+
+       * test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-var-indices):
+       New function...
+       (esh-var-test/interp-var-indices/list)
+       (esh-var-test/interp-var-indices/vector)
+       (esh-var-test/interp-var-indices/ring)
+       (esh-var-test/interp-var-indices/split): ... use it.
+       (esh-var-test/interp-var-string-split-indices)
+       (esh-var-test/interp-var-regexp-split-indices)
+       (esh-var-test/interp-var-assoc): Expand tests to cover things that
+       look like numbers or ranges, but aren't.
+
+       * doc/misc/eshell.texi (Variables): Describe how to get all arguments
+       of the last command.
+       (Dollars Expansion): Explain negative indices and index ranges.
+       (Bugs and ideas): Remove now-implemented ideas.
+
+       * etc/NEWS: Announce this change.
+
+2023-01-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Repair hideif regexp problems
+
+       * lisp/progmodes/hideif.el (hif-white-regexp, hif-tokenize):
+       Avoid superlinear backtracking behaviour by rewriting regexps
+       to avoid nested repetitions and make positive progress each time.
+       Use lazy matching of the innards of /*...*/ comments to avoid
+       matching too much.
+
+2023-01-27  Mattias Engdegård  <mattiase@acm.org>
+
+       Don't inhibit LAP-level DCE when switch ops are present
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
+       Allow removal of unreachable basic blocks in the LAP peephole
+       optimiser even when switch ops are present.  The origins of
+       this apparently unnecessary condition are unclear.
+
+2023-01-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       5859413df23 ; * lisp/progmodes/cc-engine.el: Delete trailing whitespace.
+       f72a394716f Work around package.el transitive dependency bug
+
+2023-01-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       f8c95d1a768 Fix xt-mouse on terminals that report UTF-8 encoded coord...
+       4bf7cb71edc Fix go-ts-mode indentation and set indent offset to 8 (Bu...
+       ff9498624fc ; * src/insdel.c (insert_from_buffer): Fix assertions.
+       41f497c8bee Fix doc strings of window-splitting commands
+       cdf74254ffa Fix indentation for c-ts-mode (bug#61026)
+       4bd06ce2a9f Fix call to treesit_record_change in insdel.c
+       00675aa724a Add support for building tree-sitter modules with MinGW
+       af28191b04f * lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
+       42e02480c2b * doc/emacs/text.texi (Outline Minor Mode): New node spli...
+       37c1c924666 ; * etc/NEWS: Minor reordering.
+       cfb180329b5 ruby-ts-mode: Don't reindent when "class" or "def" is und...
+       abb3becb9fb treesit-install-language-grammar: Provide default repo url
+       c6613403e5c Fix Dired face for directory symlinks
+       37454de0c8f Pacify --without-x unused function warning
+       9a21cb10751 ; * etc/NEWS: Fix typos.
+       f30a4f51fef Announce outline.el keymaps
+       8198803f660 ; Don't mention in the Gnus manual user options that were...
+       8a1498c01f7 Fix fontification of function-valued variables (bug#61053)
+       cfe26f31893 Add new java indent rules
+       987e53f3e2d ; * doc/misc/erc.texi: Improve Local Modules section.
+       3846e79c93b ; Fix filename mismatches in prop lines of ERC tests
+       ecf500b5e34 Handle relative file names in vc-resynch-window and vc-re...
+       695e9f71c3f Use named keymaps for outline buttons
+       e31a5623965 * lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's p...
+       deee3a92623 ; Fix last change in etc/NEWS
+       bc78285e686 ; * etc/NEWS: Fix typos.
+       c15c0f7f018 CC Mode: Change the default value of objc-font-lock-extra...
+       7f438ff543b Don't try to make a pipe process for remote processes in ...
+       cb9628373a8 * lisp/startup.el (command-line): Fix warning message.  (...
+       e6c5f32e77d * lisp/find-dired.el (find-dired): Fix bug where M-p skip...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-27  Andrea Corallo  <akrl@sdf.org>
+
+       * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Improve readability
+
+2023-01-26  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+       * doc/emacs/input.texi (On-Screen Keyboards): Fix typo.
+
+2023-01-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Describe that apksigner is also required.
+       * configure.ac: Correctly add cross/Makefile to
+       SUBDIR_MAKEFILES.
+       * cross/Makefile.in: (config.status): Depend on
+       $(top_srcdir)/config.status.
+       * doc/emacs/input.texi (On-Screen Keyboards): Document how to
+       quit without a physical keyboard.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function `quit'.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): New field
+       `lastVolumeButtonPress'.
+       (onKeyDown): Quit if necessary.
+       * m4/ndk-build.m4 (ndk_where_cc): Fix search if CC is not a
+       single word.
+       * src/android.c (android_open): Remove unused variable.
+       (quit): New function.
+       * src/androidmenu.c (android_process_events_for_menu): Allow
+       quitting the menu.
+       * src/xterm.c (handle_one_xevent, x_term_init, syms_of_xterm):
+       Implement features described above, so they work on free
+       operating systems.
+       * src/xterm.h (struct x_display_info): New fields `quit_keysym',
+       `quit_keysym_time'.
+
+2023-01-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Document how to install sqlite3.
+       * build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES):
+       * build-aux/ndk-build-helper-2.mk (SYSTEM_LIBRARIES): Add liblog
+       and libandroid.
+       * configure.ac (SQLITE3_LIBS, HAVE_SQLITE3)
+       (HAVE_SQLITE3_LOAD_EXTENSION): Support on Android.
+       (APKSIGNER): Look for this new required binary.
+
+       * cross/ndk-build/ndk-build-shared-library.mk (objname):
+       * cross/ndk-build/ndk-build-static-library.mk (objname): Avoid
+       duplicate rules by prefixing objects with module type.
+
+       * cross/ndk-build/ndk-build.mk.in (NDK_BUILD_SHARED): Fix
+       definition.
+       * cross/ndk-build/ndk-resolve.mk:
+       (NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Handle new system
+       libraries.
+
+       * doc/emacs/android.texi (Android File System): Document Android
+       10 system restriction.
+
+       * java/AndroidManifest.xml.in: Target Android 33, not 28.
+       * java/Makefile.in (SIGN_EMACS_V2, APKSIGNER): New variables.
+       ($(APK_NAME)): Make sure to apply a ``version 2 signature'' to
+       the package as well.
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       argument apiLevel.
+       * java/org/gnu/emacs/EmacsNoninteractive.java (main):
+       * java/org/gnu/emacs/EmacsThread.java (run): Pass API level.
+       * m4/ndk-build.m4 (ndk_package_mape): Add package mapping for
+       sqlite3.
+       * src/Makefile.in (SQLITE3_CFLAGS): New substition.
+       (EMACS_CFLAGS): Add that variable.
+
+       * src/android.c (android_api_level): New variable.
+       (initEmacs): Set it.
+       (android_file_access_p): Make static.
+       (android_hack_asset_fd): Adjust for restrictions in Android 29
+       and later.
+       (android_close_on_exec): New function.
+       (android_open): Adjust to not duplicate file descriptor even if
+       CLOEXEC.
+       (android_faccessat): Use fstatat at-func emulation.
+
+       * src/android.h: Update prototypes.
+       * src/dired.c (file_name_completion_dirp):
+       * src/fileio.c (file_access_p, Faccess_file): Now that
+       sys_faccessat takes care of everything, stop calling
+       android_file_access_p.
+
+2023-01-26  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix xref-clear-marker-stack refactoring mistake
+
+       * lisp/progmodes/xref.el (xref-clear-marker-stack):
+       Clear the history correctly.  Changing a lexical variable has no effect.
+
+2023-01-26  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * .gitignore: Ignore lib/math.h.
+       * INSTALL.android: Update accordingly.
+       * build-aux/ndk-build-helper-1.mk:
+       * build-aux/ndk-build-helper-2.mk:
+       * build-aux/ndk-build-helper.mk:
+       * build-aux/ndk-module-extract.awk: Handle C++ modules.
+       * configure.ac: Enable libxml2 on Android.
+
+       * cross/ndk-build/Makefile.in:
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       * cross/ndk-build/ndk-build-static-library.mk:
+       * cross/ndk-build/ndk-build.mk.in:
+       * cross/ndk-build/ndk-resolve.mk: Fix dependency resolution of
+       includes.
+
+       * java/org/gnu/emacs/EmacsView.java (popupMenu): Fix minimum SDK
+       version for actual popup menus.
+       * lib/math.h: Delete file.
+
+       * m4/ndk-build.m4 (ndk_SEARCH_MODULE, ndk_CHECK_MODULES): Look
+       for nasm and C++ libraries.
+
+       * src/android.c (faccessat): Rename to `android_faccessat'.
+       * src/android.h: Update prototypes.
+       * src/dired.c (file_name_completion_dirp):
+       * src/fileio.c (file_access_p, Faccess_file, file_directory_p):
+       * src/lisp.h:
+       * src/lread.c (openp):
+       * src/process.c (allocate_pty): Use sys_faccessat.
+       * src/sysdep.c (sys_faccessat): New function.
+
+2023-01-26  Po Lu  <luangruo@yahoo.com>
+
+       Remove unused file
+
+       * cross/ndk-build/ndk-build.in: Delete unused file.
+
+2023-01-26  Po Lu  <luangruo@yahoo.com>
+
+       Increase DUMPED_HEAP_SIZE
+
+       * src/w32heap.c (DUMPED_HEAP_SIZE): Add 5 megabytes.
+
+2023-01-25  Richard Stallman  <rms@gnu.org>
+
+       When base64-decoding part of decrypted text, save the decoding
+         permanently if we save the decryption permanently.
+
+       (rmail-epa-decode): Take arguments BEG and BACK-FROM-END to designate 
region.
+       (rmail-epa-decrypt-1): Call rmail-epa-decode from here, when decrypting 
one
+       encrypted passage.
+       (rmail-epa-decrypt): Not from here.
+
+2023-01-25  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/org/gnu/emacs/EmacsDrawLine.java: Fix this again.  Gosh,
+       how does Android do this.
+       * java/org/gnu/emacs/EmacsNoninteractive.java (main): Port to
+       Android 2.3.3.
+
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (EmacsSdk11Clipboard): Port to Android 4.0.3.
+       * java/org/gnu/emacs/EmacsService.java (getClipboardManager):
+       New function.
+
+       * src/alloc.c (find_string_data_in_pure): Fix Android alignment
+       issue.
+
+       * src/android-emacs.c (main): Port to Android 4.4.
+       * src/android.c (initEmacs): Align stack to 32 bytes, so it ends
+       up aligned to 16 even though gcc thinks the stack is already
+       aligned to 16 bytes.
+
+       * src/callproc.c (init_callproc): Use /system/bin/sh instead of
+       /bin/sh by default.
+
+2023-01-25  Po Lu  <luangruo@yahoo.com>
+
+       Remove extra header
+
+       * cross/lib/math.h: Delete header.
+
+2023-01-25  Po Lu  <luangruo@yahoo.com>
+
+       Minor fixes to Android port
+
+       * java/Makefile.in: (emacs.apk-in): Don't call cp with empty
+       args.
+       * java/org/gnu/emacs/EmacsDrawLine.java (perform): Fix for
+       PostScript filling semantics.
+       * src/Makefile.in (android-emacs): Build android-emacs directly.
+
+2023-01-25  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-25  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Startup, Android Environment):
+       Document that restrictions on starting Emacs have been lifted.
+
+       * java/README: Document Java for Emacs developers and how the
+       Android port works.
+
+       * java/org/gnu/emacs/EmacsApplication.java (EmacsApplication)
+       (findDumpFile): New function.
+       (onCreate): Factor out dump file finding functions to there.
+
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Update
+       function declarations.
+       * java/org/gnu/emacs/EmacsNoninteractive.java
+       (EmacsNoninteractive): New class.
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService, getApkFile)
+       (onCreate): Pass classpath to setEmacsParams.
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread): Make run an
+       override.
+       * lisp/loadup.el: Don't dump on Android when noninteractive.
+       * lisp/shell.el (shell--command-completion-data): Handle
+       inaccessible directories.
+       * src/Makefile.in (android-emacs): Link with gnulib.
+       * src/android-emacs.c (main): Implement to launch app-process
+       and then EmacsNoninteractive.
+       * src/android.c (setEmacsParams): New argument `class_path'.
+       Don't set stuff up when running noninteractive.
+       * src/android.h (initEmacs): Likewise.
+       * src/androidfont.c (init_androidfont):
+       * src/androidselect.c (init_androidselect): Don't initialize
+       when running noninteractive.
+       * src/emacs.c (load_pdump): New argument `dump_file'.
+       (android_emacs_init): Give new argument `dump_file' to
+       `load_pdump'.
+       * src/sfntfont-android.c (init_sfntfont_android): Don't
+       initialize when running noninteractive.
+
+2023-01-25  Po Lu  <luangruo@yahoo.com>
+
+       Import gnulib modules printf-posix and vasprintf-posix
+
+       These are neccessary because Android's printf is missing basic format
+       modifiers such as t.
+
+       * admin/merge-gnulib (GNULIB_MODULES): Add printf-posix and
+       vasprintf-posix.  Update from gnulib.
+       * configure.ac (CFLAGS): Add -DHAVE_CONFIG_H.
+
+2023-01-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify Apple clang version 13.0.0 (clang-1300.0.29.30):
+
+       * src/coding.c: When compiling with Apple clang, ignore
+       -Wunused-but-set-variable only in Clang 14 and greater.
+       Problem reported by Mattias Engdegård.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Make binaries distributed with Emacs work on Android
+
+       * doc/lispref/processes.texi (Subprocess Creation): Document
+       variables containing program names.
+       * etc/NEWS: Document new variables.
+       * java/Makefile.in (CROSS_BINS): Add missing etags binary.
+       * lisp/cedet/semantic/db-ebrowse.el
+       (semanticdb-create-ebrowse-database):
+       * lisp/gnus/mail-source.el (mail-source-movemail-program):
+       * lisp/hexl.el (hexl-program):
+       * lisp/htmlfontify.el (hfy-etags-bin):
+       * lisp/ielm.el (inferior-emacs-lisp-mode):
+       * lisp/mail/rmail.el (rmail-autodetect):
+       (rmail-insert-inbox-text):
+       * lisp/org/org-ctags.el (org-ctags-path-to-ctags):
+       * lisp/progmodes/cperl-mode.el (cperl-etags):
+       * lisp/speedbar.el (speedbar-fetch-etags-command):
+       * lisp/textmodes/reftex-global.el (reftex-create-tags-file): Use
+       new variables.
+       * src/callproc.c (syms_of_callproc): New variables naming
+       binaries redistributed with Emacs.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Enable libjpeg on Android
+
+       * INSTALL.android: Update documentation.
+       * build-aux/ndk-build-helper-1.mk: When building shared
+       libraries, do not link libemacs.so with dependent archive files.
+       * build-aux/ndk-build-helper-2.mk: Add whole archive
+       dependencies as well.
+
+       * configure.ac (HAVE_JPEG): Enable on Android.
+
+       * cross/ndk-build/ndk-build-shared-library.mk: Link the shared
+       object with archive file dependencies.
+       * cross/ndk-build/ndk-build-static-library.mk: Build all code
+       position-independently.
+       * cross/ndk-build/ndk-resolve.mk: Separately resolve a names of
+       archive and whole archive dependencies.
+
+       * src/Makefile.in (JPEG_CFLAGS): New variable.
+       (EMACS_CFLAGS): Add it.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * INSTALL.android: Update.
+       * build-aux/ndk-build-helper-1.mk: Fix typo.
+       * configure.ac: Enable --with-json on Android.
+       * cross/ndk-build/ndk-build-shared-library.mk:
+       (NDK_CFLAGS_$(LOCAL_MODULE)):
+       (LOCAL_MODULE_FILENAME):
+       * cross/ndk-build/ndk-build-static-library.mk:
+       (ALL_OBJECT_FILES$(LOCAL_MODULE)):
+       (LOCAL_MODULE_FILENAME): Recursively resolve dependencies.
+       * cross/ndk-build/ndk-resolve.mk: New function.
+
+       * doc/emacs/android.texi (Android Startup): Document how Emacs
+       is dumped during initial startup.
+
+       * java/Makefile.in (filename): Fix build with multiple shared
+       libraries.
+       * java/README: Improve commentary.
+       * java/org/gnu/emacs/EmacsApplication.java (onCreate): Look and
+       set dump file.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function getFingerprint.
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java (onCreate):
+       Add option to erase the dump file.
+       * java/org/gnu/emacs/EmacsService.java (browseUrl): New
+       function.
+       * java/org/gnu/emacs/EmacsThread.java (run): Specify dump file
+       if found.
+       * lisp/loadup.el: Always dump during loadup on Android.
+
+       * lisp/net/browse-url.el (browse-url--browser-defcustom-type):
+       (browse-url-default-browser):
+       (browse-url-default-android-browser): New browse url type.
+
+       * m4/ndk-build.m4 (ndk_package_map): Map jansson to libjansson.
+       * src/android.c (struct android_emacs_service): New method
+       `browse_url'.
+       (getFingerprint): New function.
+       (android_init_emacs_service): Initialize new method.
+       (android_browse_url): New function.
+
+       * src/android.h: Update prototypes.
+
+       * src/androidselect.c (Fandroid_browse_url): New function.
+       (syms_of_androidselect): Define it.
+
+       * src/emacs.c (load_pdump): Don't look in fancy places on
+       Android.
+       * src/pdumper.c (Fdump_emacs_portable): Allow dumping while
+       interactive on Android.
+       (syms_of_pdumper): New variable `pdumper-fingerprint'.
+
+       * src/sfntfont-android.c (sfntfont_android_composite_bitmap):
+       Fix unused variables.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Update from gnulib
+
+       Update from gnulib.  In addition,
+
+       * admin/merge-gnulib: Fix paths for rename.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Improve lib-src/Makefile.in
+
+       * lib-src/Makefile.in (DONT_INSTALL):
+       (clean): Correctly define asset-directory-tool.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Fix distclean target
+
+       * cross/Makefile.in (distclean bootstrap-clean): Remove Makefile.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * .gitignore: Update with new files.  Do not ignore std*.in.h.
+       * INSTALL.android: Explain how to build Emacs with external
+       dependencies.
+
+       * Makefile.in (xcompile, cross): Rename to `cross'.
+       (clean_dirs): Clean cross, not xcompile.
+
+       * README: Document new directories.
+
+       * build-aux/ndk-build-helper-1.mk (build_kind, NDK_SO_NAMES):
+       * build-aux/ndk-build-helper-2.mk (build_kind, NDK_SO_NAMES):
+       * build-aux/ndk-build-helper-3.mk (build_kind):
+       * build-aux/ndk-build-helper-4.mk:
+       * build-aux/ndk-build-helper.mk (NDK_BUILD_DIR, my-dir):
+       * build-aux/ndk-module-extract.awk: New files.
+       * configure.ac: Set up libgif, libwebp, and libpng for
+       ndk-build.
+       * cross/ndk-build/Makefile.in (srcdir, NDK_BUILD_ANDROID_MK):
+       * cross/ndk-build/ndk-build-executable.mk:
+       * cross/ndk-build/ndk-build-shared-library.mk (eq, objname):
+       * cross/ndk-build/ndk-build-static-library.mk (eq, objname):
+       * cross/ndk-build/ndk-build.in (NDK_BUILD_MODULES):
+       * cross/ndk-build/ndk-build.mk.in (NDK_BUILD_MODULES)
+       (NDK_BUILD_SHARED):
+       * cross/ndk-build/ndk-clear-vars.mk:
+       * cross/ndk-build/ndk-prebuilt-shared-library.mk:
+       * cross/ndk-build/ndk-prebuilt-static-library.mk: New files.
+       * doc/emacs/android.texi (Android, Android Environment):
+       Document clipboard support on Android.
+       * doc/emacs/emacs.texi (Top): Update menus.
+       * etc/MACHINES: Document Android.
+       * java/AndroidManifest.xml.in: Respect new
+       `--with-android-debug' option.
+       * java/Makefile.in (CROSS_BINS, CROSS_LIBS): Adjust for rename.
+       Include ndk-build.mk.:(emacs.apk-in): Depend on shared
+       libraries.  Then, package shared libraries.
+       * java/org/gnu/emacs/EmacsClipboard.java (EmacsClipboard): New
+       class.
+       * java/org/gnu/emacs/EmacsFontDriver.java: Update comment to say
+       this is unused.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       function `sendExpose'.
+       * java/org/gnu/emacs/EmacsSdk11Clipboard.java
+       (EmacsSdk11Clipboard):
+       * java/org/gnu/emacs/EmacsSdk8Clipboard.java
+       (EmacsSdk8Clipboard): New classes.
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, handleDirtyBitmap)
+       (onDetachedFromWindow): When window is reattached, expose the
+       frame.
+
+       * lib/Makefile.in (VPATH):
+       (ALL_CFLAGS): Adjust for rename.
+
+       * lisp/term/android-win.el (android-clipboard-exists-p)
+       (android-get-clipboard, android-set-clipboard)
+       (android-clipboard-owner-p, android-primary-selection)
+       (android-get-clipboard-1, android-get-primary)
+       (android-selection-bounds, android-encode-select-string)
+       (gui-backend-get-selection, gui-backend-selection-exists-p)
+       (gui-backend-selection-owner-p, gui-backend-set-selection): New
+       functions.
+
+       * m4/ndk-build.m4: New file.
+       * src/Makefile.in (GIF_CFLAGS, ANDROID_LDFLAGS): New variables.
+       (EMACS_CFLAGS): Add GIF_CFLAGS.  Include
+       ndk-build.mk.
+       (libemacs.so): Depend on and link with required
+       libraries.
+
+       * src/android.c (android_check_compressed_file): New function.
+       (android_open): Work around Android platform bug.
+       (sendExpose): New function.
+       (android_readdir): Set d_type if this is a directory.
+
+       * src/androidgui.h (enum android_event_type)
+       (struct android_expose_event, union android_event): Add expose
+       events.
+
+       * src/androidselect.c (struct android_emacs_clipboard)
+       (android_init_emacs_clipboard, Fandroid_clipboard_owner_p)
+       (Fandroid_set_clipboard, Fandroid_get_clipboard)
+       (Fandroid_clipboard_exists_p, init_androidselect)
+       (syms_of_androidselect): New file.
+
+       * src/androidterm.c (handle_one_android_event): Handle
+       exposures.
+       * src/androidterm.h: Update prototypes.
+       * src/emacs.c (android_emacs_init): Initialize androidselect.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Update android port
+
+       * xcompile: Move to cross.
+       * cross: New directory.
+
+2023-01-24  Po Lu  <luangruo@yahoo.com>
+
+       Update android port
+
+       * xcompile: Move to cross.
+       * cross: New directory.
+
+2023-01-23  Alan Mackenzie  <acm@muc.de>
+
+       CC Mode: Don't do c-backward-syntactic-ws following a forward movement
+
+       This was happening in, e.g., c-forward-type, which moves over 
whitespace at
+       the end of the scanned type.  This WS movement can exit a comment or a 
macro,
+       such that a c-backward-syntactic-ws does not return to the desired 
point, but
+       to before the entire comment/macro.
+
+       * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id)
+       (c-forward-id-comma-list, c-forward-noise-clause, 
c-forward-keyword-clause)
+       (c-forward-name, c-forward-type): Add a new &optional parameter 
`stop-at-end'
+       which when non-nil means "do not move over syntactic WS after 
performing the
+       main job", and adapt the internals of these macros and functions 
accordingly.
+       (c-forward-declarator, c-forward-decl-or-cast-1): In the calls to
+       c-forward-type and c-forward-name, set the stop-at-end argument to t, 
and call
+       c-forward-sytactic-ws later.
+
+2023-01-23  Theodor Thornhill  <theo@thornhill.no>
+
+       Swap tag and element in html-ts-mode (bug#60972)
+
+       * lisp/textmodes/html-ts-mode.el: New values for
+       'treesit-sentence-type-regexp' and 'treesit-sexp-type-regexp'.
+
+2023-01-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       Factor out some Tramp code
+
+       * lisp/net/tramp-compat.el (tramp-file-name-handler): Don't declare.
+
+       * lisp/net/tramp.el (tramp-skeleton-file-truename)
+       (tramp-skeleton-handle-make-symbolic-link): New defmacros.
+       (tramp-handle-file-truename):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
+       (tramp-sh-handle-file-truename):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename)
+       (tramp-sudoedit-handle-make-symbolic-link): Use them.
+
+       * lisp/net/tramp.el (tramp-call-process, tramp-call-process-region):
+       Let-bind `temporary-file-directory'.
+
+       * test/lisp/net/tramp-tests.el (tramp-action-yesno):
+       Suppress run in tests.
+       (tramp-test21-file-links, tramp-test29-start-file-process)
+       (tramp-test30-make-process, tramp-test42-utf8): Adapt tests.
+
+2023-01-23  Robert Pluim  <rpluim@gmail.com>
+
+       Add `yes-or-no-prompt' user option
+
+       This implements Bug#60312
+
+       * src/fns.c (syms_of_fns): Define `yes-or-no-prompt' Lisp variable.
+       (Fyes_or_no_p): Use `yes-or-no-prompt' instead of a hard-coded string.
+       * lisp/cus-start.el (standard): Add custom specification for it.
+
+       * doc/emacs/mini.texi (Yes or No Prompts): Document `yes-or-no-prompt'
+       * doc/lispref/minibuf.texi (Yes-or-No Queries): And here.
+
+       * etc/NEWS: Announce the new option.
+
+2023-01-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       647cc9c65e7 Update to Org 9.6.1-16-ge37e9b
+
+2023-01-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       b3814b43f60 (ruby-ts--predefined-variables): Fix the $` and $' entries
+       db02cbdfe02 * lisp/find-dired.el (find-dired-with-command): Quote fin...
+       2343a067c3d Generalize vc-pull-and-push to support more backends (bug...
+       846838dbab8 Add test suite for sgml-html-meta-auto-coding-function
+       0fb90f524db Fix decoding HTML files from archives
+       c854ef7a187 ; Fix last change (bug#60556).
+       8e83604dfe0 Avoid crashes in batch Emacs sub-processes on MS-Windows
+       808e101fabe Tweak BSD style indentation (bug#60984)
+       204519a2e73 Fix typo of exposed symbol name
+       9296e0c6495 Fix typo after move to common lib (bug#61001)
+       e74ba72a6a3 ruby-ts-mode: Fix two additional cases with ruby-method-c...
+       ae7e28a4372 ruby-mode.el: Expand some docstrings with examples
+       89cb3c3f157 Minor fixes for Haiku
+       6adc193ad66 Move c-like common utils into own library (bug#60961)
+
+       # Conflicts:
+       #       lisp/progmodes/typescript-ts-mode.el
+
+2023-01-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       b875c9bf67e Fix file-regular-p in Tramp
+       63fa225d443 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       9f5d6c541e5 ; * doc/emacs/custom.texi (Init Rebinding): Fix wording i...
+       a91b435d0d5 ; Reword user documentation on binding keys in Lisp
+       0400de6a7de Fix typo in c-ts-mode (bug#60932)
+
+2023-01-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       b3de81a6ee3 MH-E: handle removal of mhparam libdir from nmh 1.8
+       d63e1a89518 Use point-min to anchor top-level constructs (bug#60602)
+       34793337783 * lisp/org/ob-ruby.el: Fix outdated comments.
+       472f1425985 ; ruby-ts-mode: Add a Version tag
+       0cf053648a4 ; ruby-ts-mode: Update font-lock features list in Commentary
+       67ee627c38d (project-try-vc): Add string-start and string-end anchors...
+       06953fc8e1d Make `keymap-set-after' work for menus
+       dcd59457b48 Use `key-parse' in `keymap-lookup'
+       8904a26a9d2 Improve `keymap-set-after' documentation
+       c7e02eaa3d9 Handle after arg correctly in `keymap-set-after'
+       628b6241763 Don't load erc-goodies atop erc.el
+       40cf494b7ce ; * etc/NEWS: Fix typos.
+       6b2f85caa6c Make tree-sitter based modes optional
+       b56cf28b325 ; (ruby-ts--predefined-variables): Make it a little shorter
+       d94dc606a09 ruby-ts-mode: Claw back half of the performance drop from...
+       d0d34514097 (ruby-ts-mode): Rename 'builtin-functions' to 'builtin-fu...
+       d66ac5285f7 ruby-ts-mode: Highlight builtin methods
+       370b1ac99ec ; ruby-ts-mode.el: Add customize-group mention to commentary
+       7b7b2b95138 Fix c-ts-mode indent (bug#60873)
+       7ca71d66dc7 Fix various problems in treesit-explore-mode (bug#60800)
+       b7d6bb47ee5 ; * lisp/treesit.el (treesit-font-lock-fontify-region): M...
+       0c6bfeddb21 ; Update tree-sitter major mode manual
+       c289786886b ; Add commentary and dostring in c-ts-mode
+
+       # Conflicts:
+       #       etc/NEWS
+       #       lisp/progmodes/c-ts-mode.el
+       #       lisp/progmodes/go-ts-mode.el
+
+2023-01-22  Theodor Thornhill  <theo@thornhill.no>
+
+       Use element as a sentence in html-ts-mode
+
+       * lisp/textmodes/html-ts-mode.el (html-ts-mode): Tweak the regexp.
+
+2023-01-21  Evgeni Kolev  <evgenysw@gmail.com>
+
+       Extend go-ts-mode with command to add docstring to function
+
+       go-ts-mode is extended with command go-ts-mode-docstring which adds
+       docstring comment to the defun at point. If a comment already exists,
+       the point is instead moved to the top-most comment line. The command
+       is bound to "C-c C-d".
+
+       * lisp/progmodes/go-ts-mode.el (go-ts-mode): Extend docstring.
+       (go-ts-mode-docstring): New function.
+       (go-ts-mode--comment-on-previous-line-p): New function.
+       (go-ts-mode-map): New map variable.
+       * etc/NEWS: Mention the change.
+
+       (bug#60805)
+
+2023-01-21  Theodor Thornhill  <theo@thornhill.no>
+
+       Add sexp navigation to js/typescript/tsx-ts-mode
+
+       * lisp/progmodes/js.el (js--treesit-sexp-nodes): Add node types.
+       (js-ts-mode): Set 'treesit-sexp-type-regexp'.
+       * lisp/progmodes/typescript-ts-mode.el
+       (typescript-ts-mode--sexp-nodes): Add node types.
+       * lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode): Set
+       'treesit-sexp-type-regexp'.
+       (tsx-ts-mode): Add in jsx nodes.
+
+2023-01-21  Po Lu  <luangruo@yahoo.com>
+
+       Improve touch-screen support
+
+       * doc/lispref/commands.texi (Touchscreen Events): Document
+       changes.
+       * lisp/touch-screen.el (touch-screen-current-tool): Update doc
+       string.
+       (touch-screen-precision-scroll): New user option.
+       (touch-screen-handle-scroll): Use traditional scrolling by
+       default.
+       (touch-screen-handle-touch): Adust format of
+       touch-screen-current-tool.
+       (touch-screen-track-tap): Don't print waiting for events.
+       (touch-screen-track-drag): Likewise.  Also, don't call UPDATE
+       until threshold is reached.
+       (touch-screen-drag-mode-line-1, touch-screen-drag-mode-line):
+       Improve window dragging.
+
+2023-01-21  Theodor Thornhill  <theo@thornhill.no>
+
+       Add sentence and sexp movement to c-ts-mode
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Add
+       'treesit-sentence-type-regexp' and 'treesit-sexp-type-regexp' node
+       types.
+
+2023-01-21  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-21  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android File System): Document that
+       ls-lisp is now used by default.
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread): Name the
+       thread something meaningful.
+       * lisp/loadup.el (featurep): Load ls-lisp on Android.
+       * lisp/ls-lisp.el (ls-lisp-use-insert-directory-program):
+       Default to off on Android.
+       * src/android.c (android_is_directory): New fucntion.
+       (android_fstatat): Handle directories created by
+       `android_opendir'.
+       (android_open): Return meaningful file mode.
+       (struct android_dir): New fields `next', `asset_file' and `fd'.
+       (android_opendir): Populate those fields.
+       (android_dirfd): New function.
+       (android_closedir): Close file descriptor if set.
+       (android_lookup_asset_directory_fd): New function.
+
+       * src/android.h: Update prototypes.
+       * src/androidfont.c (androidfont_check_init): New function.
+       (androidfont_list, androidfont_match, androidfont_draw)
+       (androidfont_open_font, androidfont_close_font)
+       (androidfont_has_char, androidfont_encode_char)
+       (androidfont_text_extents, androidfont_list_family): Initialize
+       font driver if necessary.
+       (init_androidfont): Don't initialize Java font if necessary.
+
+       * src/dired.c (open_directory): Return android_dirfd if
+       appropriate.
+       (directory_files_internal, file_name_completion_dirp): Implement
+       correctly for Android.
+
+       * src/fileio.c (check_mutable_filename): New function.
+       (Fcopy_file, Fdelete_directory_internal, Fdelete_file)
+       (Frename_file, Fadd_name_to_file, Fmake_symbolic_link)
+       (Fset_file_modes, Fset_file_times, Ffile_newer_than_file_p)
+       (Fverify_visited_file_modtime, Fset_visited_file_modtime): Check
+       that files being written to do not lie in /assets.
+
+       * src/sfntfont-android.c (GET_SCANLINE_BUFFER)
+       (sfntfont_android_u255to256, sfntfont_android_over_8888_1)
+       (sfntfont_android_over_8888, sfntfont_android_composite_bitmap):
+       Optimize on 64-bit ARM devices.
+       (sfntfont_android_put_glyphs): Optimize away memset if
+       background need not be filled.
+
+2023-01-20  Theodor Thornhill  <theo@thornhill.no>
+
+       Change top-level anchor to point-min
+
+       * lisp/textmodes/html-ts-mode.el (html-ts-mode--indent-rules): Anchor
+       to point-min.
+
+2023-01-20  Theodor Thornhill  <theo@thornhill.no>
+
+       Fix typo in c-ts-mode (bug#60932)
+
+       * lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-block-type-regexp):
+       enumerator, not enumeratior.
+
+2023-01-20  Theodor Thornhill  <theo@thornhill.no>
+
+       Add html-ts-mode (bug#60972)
+
+       * lisp/textmodes/html-ts-mode.el: New major mode for HTML support
+       powered by Tree-sitter.
+       * etc/NEWS: Mention it in NEWS.
+
+2023-01-20  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_run_select_thread, android_select)
+       (android_ftruncate):
+       * src/android.h (ftruncate): Fix compilation on Android 16 and
+       up.
+
+2023-01-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * src/android.c (android_run_select_thread, android_init_events)
+       (android_select): Add alternative android_select implementation
+       for API 16 and lower.
+       * src/androidterm.c (handle_one_android_event): Fix
+       use-after-frees.
+
+2023-01-20  Po Lu  <luangruo@yahoo.com>
+
+       Remove unused file
+
+       * xcompile/lib/gnulib.mk.in: Delete.
+
+2023-01-20  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * .gitignore: Don't ignore verbose.mk.android.
+       * doc/emacs/Makefile.in (EMACSSOURCES): Add android.texi and
+       input.texi.
+       * doc/emacs/android.texi (Android): Document support for the
+       on-screen keyboard.
+       (Android Startup): Document how to start Emacs with -Q on
+       Android.
+       (Android Environment): Document how Emacs works around the
+       system ``task killer''.  Document changes to frame deletion
+       behavior.
+       * doc/emacs/emacs.texi (Top):
+       * doc/emacs/input.texi (Other Input Devices, On-Screen
+       Keyboards): Document how to use Emacs with virtual keyboards.
+       * doc/lispref/commands.texi (Touchscreen Events): Document
+       changes to `touch-screen-track-drag'.
+       * doc/lispref/frames.texi (Frames, On-Screen Keyboards): New
+       node.
+       * java/AndroidManifest.xml.in: Add settings activity and
+       appropriate OSK adjustment mode.
+       * java/org/gnu/emacs/EmacsActivity.java (onCreate): Allow
+       creating Emacs with -Q.
+       (onDestroy): Don't remove if killed by the system.
+       * java/org/gnu/emacs/EmacsContextMenu.java (inflateMenuItems):
+       Fix context menus again.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Make all
+       event sending functions return long.
+       * java/org/gnu/emacs/EmacsPreferencesActivity.java
+       (EmacsPreferencesActivity): New class.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (onStartCommand, onCreate, startEmacsService): Start as a
+       foreground service if necessary to bypass system restrictions.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread, run):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, onLayout)
+       (onDetachedFromWindow):
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, viewLayout):
+       Implement frame resize synchronization..
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (EmacsWindowAttachmentManager, removeWindowConsumer): Adjust
+       accordingly for changes to frame deletion behavior.
+       * lisp/frame.el (android-toggle-on-screen-keyboard)
+       (frame-toggle-on-screen-keyboard): New function.
+       * lisp/minibuffer.el (minibuffer-setup-on-screen-keyboard)
+       (minibuffer-exit-on-screen-keyboard): New functions.
+       (minibuffer-setup-hook, minibuffer-exit-hook): Add new functions
+       to hooks.
+
+       * lisp/touch-screen.el (touch-screen-relative-xy): Accept new
+       value of window `frame'.  Return frame coordinates in that case.
+       (touch-screen-set-point-commands): New variable.
+       (touch-screen-handle-point-up): Respect that variable.
+       (touch-screen-track-drag): Return `no-drag' where appropriate.
+       (touch-screen-drag-mode-line-1, touch-screen-drag-mode-line):
+       Refactor to use `no-drag'.
+
+       * src/android.c (struct android_emacs_window): New methods.
+       Make all event sending functions return the event serial.
+       (android_toggle_on_screen_keyboard, android_window_updated): New
+       functions.
+       * src/android.h: Update prototypes.
+       * src/androidfns.c (Fandroid_toggle_on_screen_keyboard)
+       (syms_of_androidfns): New function.
+       * src/androidgui.h (struct android_any_event)
+       (struct android_key_event, struct android_configure_event)
+       (struct android_focus_event, struct android_window_action_event)
+       (struct android_crossing_event, struct android_motion_event)
+       (struct android_button_event, struct android_touch_event)
+       (struct android_wheel_event, struct android_iconify_event)
+       (struct android_menu_event): Add `serial' fields.
+
+       * src/androidterm.c (handle_one_android_event)
+       (android_frame_up_to_date):
+       * src/androidterm.h (struct android_output): Implement frame
+       resize synchronization.
+
+2023-01-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       78b83a744fa ; * etc/NEWS: Rearrange instructions for building tree-si...
+       fb82d4e3286 (treesit-simple-indent-presets): Have n-p-gp check for gr...
+       25ddb3f7d99 ; ruby-ts--indent-rules: Minor cleanup
+       a0ce569d3b7 ruby-toggle-block: Fix in ruby-ts-mode
+       0d3b6518e39 (ruby-ts--indent-rules): Indent inside empty parens properly
+       7fb69ce233b ; * doc/emacs/modes.texi (Choosing Modes): Add index entr...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-20  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       21be03cccb6 CC Mode: Prevent two classes of "type" prematurely enteri...
+
+2023-01-20  Andrea Corallo  <andrea.corallo@arm.com>
+
+       Add new command `kill-matching-buffers-no-ask' (bug#60714)
+
+       * lisp/files.el (kill-matching-buffers-no-ask): New function.
+       * etc/NEWS: Announce `kill-matching-buffers-no-ask'.
+
+2023-01-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Pacify clang 15.0.6 on Fedora 37
+
+       * configure.ac: Suppress clang -Wbitwise-instead-of-logical,
+       as there’s nothing wrong with using & and | on bool.
+       * src/coding.c: Suppress -Wunused-but-set-variable in this file,
+       as it’s too much trouble to recode to pacify clang.
+
+2023-01-20  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix evaluation of asynchronous expansions in Eshell indices
+
+       Previously, this code passed the indices to a separate function, which
+       called 'eval' on them, but it should instead make an S-expr that
+       'eshell-do-eval' can evaluate (bug#60942).
+
+       * lisp/eshell/esh-var.el (eshell-eval-indices): Mark obsolete.
+       (eshell-prepare-indices): New function...
+       (eshell-parse-variable): ... use it.  Also, remove irrelevant comment.
+       (eshell-parse-variable-ref): Fix quoting in docstring.
+       (eshell-parse-indices): Fix typo in docstring.
+
+       * test/lisp/eshell/esh-var-tests.el
+       (esh-var-test/interp-var-indices-subcommand)
+       (esh-var-test/quoted-interp-var-indices-subcommand): New tests.
+
+2023-01-20  Po Lu  <luangruo@yahoo.com>
+
+       Check in missing file
+
+       * xcompile/verbose.mk.android: New file.
+
+2023-01-19  Theodor Thornhill  <theo@thornhill.no>
+
+       Add treesit-forward-sexp (bug#60894)
+
+       * lisp/progmodes/java-ts-mode.el (java-ts-mode): Use
+       treesit-sexp-type-regexp.
+       * lisp/treesit.el (treesit-sexp-type-regexp): New defvar.
+       (treesit-forward-sexp): New command.
+       (treesit-major-mode-setup): Conditionally set forward-sexp-function.
+       * lisp/progmodes/ruby-ts-mode.el: Add some types to ruby-ts-mode.
+       * doc/lispref/positions.texi (List Motion): Mention the change in the
+       manual.
+       * etc/NEWS: Mention the change.
+
+2023-01-19  Michael Heerdegen  <michael_heerdegen@web.de>
+
+       Fix an oversight in advice.el
+
+       This fixes an oversight from 77c3c464a16: "* lisp/emacs-lisp/advice.el
+       (ad-advised-functions): Make it a plain list" that caused an issue as
+       reported in Bug#60893.
+
+       * lisp/emacs-lisp/advice.el (ad-read-advised-function): Adjust to
+       handle the new type of elements of `ad-advised-functions'.
+
+2023-01-19  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-19  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * .gitignore: Add new files.
+       * INSTALL.android: Explain how to build Emacs for ancient
+       versions of Android.
+       * admin/merge-gnulib (GNULIB_MODULES): Add getdelim.
+       * build-aux/config.guess (timestamp, version):
+       * build-aux/config.sub (timestamp, version): Autoupdate.
+       * configure.ac (BUILD_DETAILS, ANDROID_MIN_SDK):
+       (ANDROID_STUBIFY): Allow specifying CFLAGS via ANDROID_CFLAGS.
+       Add new configure tests for Android API version when not
+       explicitly specified.
+
+       * doc/emacs/android.texi (Android): Add reference to ``Other
+       Input Devices''.
+       (Android File System): Remove restrictions on directory-files on
+       the assets directory.
+       * doc/emacs/emacs.texi (Top): Add Other Input Devices to menu.
+       * doc/emacs/input.texi (Other Input Devices): New node.
+       * doc/lispref/commands.texi (Touchscreen Events): Document
+       changes to touchscreen input events.
+       * doc/lispref/frames.texi (Pop-Up Menus): Likewise.
+       * etc/NEWS: Announce changes.
+       * java/Makefile.in: Use lib-src/asset-directory-tool to generate
+       an `directory-tree' file placed in /assets.
+       * java/debug.sh: Large adjustments to support Android 2.2 and
+       later.
+
+       * java/org/gnu/emacs/EmacsContextMenu.java (inflateMenuItems):
+       * java/org/gnu/emacs/EmacsCopyArea.java (perform):
+       * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog):
+       * java/org/gnu/emacs/EmacsDrawLine.java (perform):
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
+       * java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable):
+       * java/org/gnu/emacs/EmacsFillPolygon.java (perform):
+       * java/org/gnu/emacs/EmacsFillRectangle.java (perform):
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC):
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
+       (destroyHandle):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java (draw): Avoid
+       redundant canvas saves and restores.
+       * java/org/gnu/emacs/EmacsService.java (run):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView):
+       (handleDirtyBitmap):
+       * java/org/gnu/emacs/EmacsWindow.java (changeWindowBackground)
+       (EmacsWindow): Make compatible with Android 2.2 and later.
+
+       * lib-src/Makefile.in (DONT_INSTALL): Add asset-directory-tool
+       on Android.:(asset-directory-tool{EXEEXT}): New target.
+       * lib-src/asset-directory-tool.c (struct directory_tree, xmalloc)
+       (main_1, main_2, main): New file.
+
+       * lib, m4: Merge from gnulib.  This will be reverted before
+       merging to master.
+
+       * lisp/button.el (button-map):
+       (push-button):
+       * lisp/frame.el (display-popup-menus-p): Improve touchscreen
+       support.
+       * lisp/subr.el (event-start):
+       (event-end): Handle touchscreen events.
+       * lisp/touch-screen.el (touch-screen-handle-timeout):
+       (touch-screen-handle-point-update):
+       (touch-screen-handle-point-up):
+       (touch-screen-track-tap):
+       (touch-screen-track-drag):
+       (touch-screen-drag-mode-line-1):
+       (touch-screen-drag-mode-line): New functions.
+       ([mode-line touchscreen-begin]):
+       ([bottom-divider touchscreen-begin]): Bind new events.
+
+       * lisp/wid-edit.el (widget-event-point):
+       (widget-keymap):
+       (widget-event-start):
+       (widget-button--check-and-call-button):
+       (widget-button-click): Improve touchscreen support.
+
+       * src/alloc.c (make_lisp_symbol): Avoid ICE on Android NDK GCC.
+       (mark_pinned_symbols): Likewise.
+
+       * src/android.c (struct android_emacs_window): New struct.
+       (window_class): New variable.
+       (android_run_select_thread): Add workaround for Android platform
+       bug.
+       (android_extract_long, android_scan_directory_tree): New
+       functions.
+       (android_file_access_p): Use those functions instead.
+       (android_init_emacs_window): New function.
+       (android_init_emacs_gc_class): Update signature of `markDirty'.
+       (android_change_gc, android_set_clip_rectangles): Tell the GC
+       whether or not clip rects were dirtied.
+       (android_swap_buffers): Do not look up method every time.
+       (struct android_dir): Adjust for new directory tree lookup.
+       (android_opendir, android_readdir, android_closedir): Likewise.
+       (android_four_corners_bilinear): Fix coding style.
+       (android_ftruncate): New function.
+       * src/android.h: Update prototypes.  Replace ftruncate with
+       android_ftruncate when necessary.
+
+       * src/androidterm.c (handle_one_android_event): Pacify GCC.  Fix
+       touch screen tool bar bug.
+       * src/emacs.c (using_utf8): Fix compilation error.
+       * src/fileio.c (Ffile_system_info): Return Qnil when fsusage.o
+       is not built.
+       * src/filelock.c (BOOT_TIME_FILE): Fix definition for Android.
+       * src/frame.c (Fx_parse_geometry): Fix uninitialized variable
+       uses.
+       * src/keyboard.c (lispy_function_keys): Fix `back'.
+       * src/menu.c (x_popup_menu_1): Handle touch screen events.
+       (Fx_popup_menu): Document changes.
+
+       * src/sfnt.c (main): Improve tests.
+
+       * src/sfntfont-android.c (sfntfont_android_put_glyphs): Fix
+       minor problem.
+       (init_sfntfont_android): Check for
+       HAVE_DECL_ANDROID_GET_DEVICE_API_LEVEL.
+       * src/sfntfont.c (struct sfnt_font_desc): New fields `adstyle'
+       and `languages'.
+       (sfnt_parse_style): Append tokens to adstyle.
+       (sfnt_parse_languages): New function.
+       (sfnt_enum_font_1): Parse supported languages and adstyle.
+       (sfntfont_list_1): Handle new fields.
+       (sfntfont_text_extents): Fix uninitialized variable use.
+       (syms_of_sfntfont, mark_sfntfont): Adjust accordingly.
+
+2023-01-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       db727873803 ruby-ts-mode: Use font-lock-constant-face for true/false/nil
+       819719330ad (ruby-ts--indent-rules): Add a rule for continuation of a...
+       94b9cbf96fb (ruby-ts--parent-call-or-bol): Handle more cases with nes...
+       ba33b83ce4b (ruby-ts--statement-container-regexp): Remove "parenthesi...
+       f2bedf695c1 ruby-ts-mode: Handle indent in parenless calls much close...
+       758ac5eabbe Fix split-window-below for the case when split-window-kee...
+       8e9783b4ce4 Rebind in read-regexp-map ‘M-c’ to ‘M-s c’ compatible wit...
+       78f93d92b28 * lisp/vc/vc-dir.el: Make keys ‘% m’ and ‘* %’ compatible...
+       dc3f85fd4b0 Use proper types for Eshell warnings
+       6a8338a8bc8 ; Avoid byte-compiler warning in cc-fonts.el.
+       9186be20aeb ; Clarify doc strings of some functions in files.el
+       bd5ef3ef95e Improve the documentation of 'auto-mode-alist' search
+       1798ff5a663 ; Fix minor mistakes in documentation
+       faee7e1f1bd ; * lisp/treesit.el (treesit-font-lock-fontify-region): M...
+       24f0dfd3731 Revert "Revert "Add c-or-c++-ts-mode (bug#59613)""
+       ac3bc775b6f Make it harder to misactivate tree-sitter font-lock fast ...
+       bdd82fa7977 ; * src/treesit.c: Remove unused boilerplate.
+       343b9b3dfe3 ruby-ts-mode: Obey the option ruby-method-call-indent
+       045404d1aac ruby-ts-mode: Obey the option ruby-after-operator-indent
+       300ca6ac372 ruby-ts-mode: Fix indent after operator or conditional
+       ac5516bd7d5 ruby-ts-mode: Fix/change indentation of a continuation me...
+       5e2e68a0c2d ruby-ts-mode: Fix indent inside parenthesized_expr and el...
+       9ed9ff4690a ruby-ts-mode: Fix the rules for hanging arrays and hashes
+       c4f0b6ccea1 Add more detail about how to invoke Eshell commands
+       dbac923b9df CC Mode: On removal of "typedef", remove pertinent types ...
+       56d69c2fc47 ; Relax timeouts for failing ERC test
+       183e7492702 Don't preserve non-module minor modes in erc-open
+       7b8322f6285 Use correct buffer for local-module vars in erc-open
+       7b13422298a ; Avoid plist-get as generalized var in erc-compat
+       09e9d7c7496 Fix display of warnings on w32 console
+       bd094207c76 Fix buffer-list-update-hook for indirect buffers
+       9e7a5d58eea ; Fix tree-sitter indent anchor preset
+       7c61a304104 Fix treesit-node-first-child-for-pos (bug#60127)
+       b36cc7e7bbb ; * src/treesit.c (Ftreesit_induce_sparse_tree): Minor ch...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Improved docstring single quote warning
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-style-warn):
+       More robust regexp.  More explicit warning message.
+
+2023-01-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Better lambda quote warning
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
+       Avoid `...` shown backslash-escaped as a symbol, and render an empty
+       argument list as `()` instead of `nil`.
+
+2023-01-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port xattr handling to Fedora 9
+
+       Problem reported by Po Lu (Bug#60843).
+       * m4/xattr.m4: Sync from Gnulib.
+
+2023-01-17  Michael Albinus  <michael.albinus@gmx.de>
+
+       Complete implementation of `file-user-id'
+
+       * lisp/net/ange-ftp.el (ange-ftp-file-user-uid): New defun.  Mark
+       it as file name handler for `file-user-uid'.
+
+       * lisp/net/tramp-archive.el (tramp-archive-handle-file-user-uid):
+       Move up.  Protect `file-user-id' call for older Emacs versions.
+
+       * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
+       Remove 'file-user-uid'.
+
+       * test/lisp/net/tramp-archive-tests.el
+       (tramp-archive-test44-file-user-uid): New test.
+       (tramp-archive-test48-auto-load)
+       (tramp-archive-test48-delay-load): Rename.
+
+       * test/lisp/net/tramp-tests.el (tramp-test44-file-user-uid): New test.
+       (tramp--test-asynchronous-requests-timeout): Adapt docstring.
+       (tramp-test45-asynchronous-requests)
+       (tramp-test46-dired-compress-file)
+       (tramp-test46-dired-compress-dir, tramp-test47-read-password)
+       (tramp-test48-auto-load, tramp-test48-delay-load)
+       (tramp-test48-recursive-load, tramp-test48-remote-load-path)
+       (tramp-test49-unload): Rename.
+
+2023-01-17  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-17  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android Fonts): Document that TTC
+       format fonts are now supported.
+       * doc/emacs/emacs.texi (Top): Fix menus.
+       * doc/lispref/commands.texi (Touchscreen Events)
+       (Key Sequence Input): Document changes to touchscreen events.
+       * etc/DEBUG: Describe how to debug 64 bit binaries on Android.
+
+       * java/org/gnu/emacs/EmacsCopyArea.java (perform): Explicitly
+       recycle copy bitmap.
+       * java/org/gnu/emacs/EmacsDialog.java (EmacsDialog): New class.
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Use 5
+       point PolyLine like X, because Android behaves like Postscript
+       on some devices and X elsewhere.
+       * java/org/gnu/emacs/EmacsFillRectangle.java (perform):
+       Explicitly recycle copy bitmap.
+       * java/org/gnu/emacs/EmacsPixmap.java (destroyHandle):
+       Explicitly recycle bitmap and GC if it is big.
+       * java/org/gnu/emacs/EmacsView.java (EmacsView): Make
+       `bitmapDirty' a boolean.
+       (handleDirtyBitmap): Reimplement in terms of that boolean.
+       Explicitly recycle old bitmap and GC.
+       (onLayout): Fix lock up.
+       (onDetachedFromWindow): Recycle bitmap and GC.
+
+       * java/org/gnu/emacs/EmacsWindow.java (requestViewLayout):
+       Update call to explicitlyDirtyBitmap.
+
+       * src/android.c (android_run_select_thread, android_select):
+       Really fix android_select.
+       (android_build_jstring): New function.
+       * src/android.h: Update prototypes.
+       * src/androidmenu.c (android_process_events_for_menu): Totally
+       unblock input before process_pending_signals.
+       (android_menu_show): Remove redundant unblock_input and
+       debugging code.
+       (struct android_emacs_dialog, android_init_emacs_dialog)
+       (android_dialog_show, android_popup_dialog, init_androidmenu):
+       Implement popup dialogs on Android.
+
+       * src/androidterm.c (android_update_tools)
+       (handle_one_android_event, android_frame_up_to_date): Allow
+       tapping tool bar items.
+       (android_create_terminal): Add dialog hook.
+       (android_wait_for_event): Adjust call to android_select.
+       * src/androidterm.h (struct android_touch_point): New field
+       `tool_bar_p'.
+       * src/keyboard.c (read_key_sequence, head_table)
+       (syms_of_keyboard): Prefix touchscreen events with posn.
+       * src/keyboard.h (EVENT_HEAD): Handle touchscreen events.
+       * src/process.c (wait_reading_process_output): Adjust call to
+       android_select.
+       * src/sfnt.c (sfnt_read_table_directory): If the first long
+       turns out to be ttcf, return -1.
+       (sfnt_read_ttc_header): New function.
+       (main): Test TTC support.
+
+       * src/sfnt.h (struct sfnt_ttc_header): New structure.
+       (enum sfnt_ttc_tag): New enum.
+
+       * src/sfntfont-android.c (struct
+       sfntfont_android_scanline_buffer): New structure.
+       (GET_SCANLINE_BUFFER): New macro.  Try to avoid so much malloc
+       upon accessing the scanline buffer.
+       (sfntfont_android_put_glyphs): Do not use SAFE_ALLOCA to
+       allocate the scaline buffer.
+       (Fandroid_enumerate_fonts): Enumerate ttc fonts too.
+
+       * src/sfntfont.c (struct sfnt_font_desc): New field `offset'.
+       (sfnt_enum_font_1): Split out enumeration code from
+       sfnt_enum_font.
+       (sfnt_enum_font): Read TTC tables and enumerate each font
+       therein.
+       (sfntfont_open): Seek to the offset specified.
+
+       * xcompile/Makefile.in (maintainer-clean): Fix depends here.
+
+2023-01-17  Po Lu  <luangruo@yahoo.com>
+
+       Make tool bar highlight work correctly during touch events
+
+       * src/xterm.c (handle_one_xevent): Before activating the tool
+       bar in response to a touch event, set the mouse highlight to
+       that location.  After the touch ends, clear the mouse highlight.
+
+2023-01-17  Po Lu  <luangruo@yahoo.com>
+
+       Correctly handle touches on the tool bar
+
+       * src/xterm.c (xi_link_touch_point): New argument `frame'.  Set
+       new field `touchpoint->frame' to it.
+       (xi_unlink_touch_points): New function.
+       (xi_disable_devices): Clear the tool bar device on frames whose
+       tool bar device matches this field.
+       (handle_one_xevent): If an XI_TouchBegin event lands on the tool
+       bar, then simulate a pointer click.  Ignore future events from
+       that touchpoint from there onwards.
+       (x_make_frame_invisible, x_free_frame_resources): Unlink touch
+       points associated with the frame.
+
+       * src/xterm.h (struct xi_touch_point_t): New field `frame'.
+       (struct x_output): New fields for keeping track of tool bar
+       touches.
+
+2023-01-17  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       e8c77d9abda Fix hfy-exclude-file-rules (bug#60562)
+       c1d32d9a20d CC Mode: Prevent ids in temporary "declarators" getting i...
+       140824dc099 ; Fix more quoting in w32fns.c.
+       f367ba3ed03 ; Avoid byte-compiler warning in eglot.el
+       1b458aced72 ; * lisp/progmodes/eglot.el: Remove stray space.
+       7c8eac8fbcb ; * src/w32fns.c: Fix quoting.  Patch by Arash Esbati <ar...
+       67df34c143d Fix M-x eglot prompt when connection already exists (bug#...
+       3d1e74c82a8 Fix tree-sitter indent preset function (bug#60270)
+       352e41016bc ruby-ts-mode: Support the option ruby-block-indent
+       44c9cb8653d Improve indentation for jsx
+       82ae9caaddb * lisp/subr.el (while-let): Fix docs if-let->if-let* (bug...
+       f16bd1ead43 Revert "* lisp/subr.el (while-let): Use if-let, not if-le...
+       c8d54809727 Bump use-package version for Emacs 29.1
+
+2023-01-17  Jim Porter  <jporterbugs@gmail.com>
+
+       Add 'file-user-uid' to get the connection-local effective UID
+
+       In particular, this lets Eshell show a "#" root prompt sigil when the
+       user has sudo'ed via "cd /sudo::" (bug#60722).
+
+       * lisp/simple.el (file-user-uid): New function.
+
+       * lisp/net/tramp.el (tramp-file-name-for-operation): Add
+       'file-user-uid'.
+       (tramp-handle-file-user-uid): New function.
+
+       * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
+       * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
+       * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
+       * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
+       * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
+       * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
+       Add 'file-user-uid'.
+
+       * lisp/net/tramp-archive.el (tramp-archive-handle-file-user-uid): New
+       function...
+       (tramp-archive-file-name-handler-alist): ... use it.
+
+       * lisp/eshell/em-prompt.el (eshell-prompt-function): Use
+       'file-user-uid'.
+
+       * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$UID'.
+
+       * test/lisp/eshell/esh-var-tests.el (esh-var-test/uid-var): New test.
+
+       * doc/lispref/os.texi (User Identification): Document 'file-user-uid'.
+
+       * doc/lispref/files.texi (Magic File Names): Mention 'file-user-uid'.
+
+       * doc/misc/eshell.texi (Variables): Document '$UID'.  Add a missing
+       index entry for '$INSIDE_EMACS'.
+
+       * etc/NEWS: Announce 'file-user-uid'.
+
+2023-01-16  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/emacs-lisp/bytecomp.el (format-message): Warn on bad arity.
+
+2023-01-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Optimise `apply` with `cons` in tail argument
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Transform
+
+         (apply F ... (cons X Y)) -> (apply F ... X Y)
+
+       This pattern is seen both in hand-written code and in backquote
+       expansions.
+
+2023-01-16  Theodor Thornhill  <theo@thornhill.no>
+
+       Add sentence node regexp to json-ts-mode
+
+       * lisp/progmodes/json-ts-mode.el (json-ts-mode): Add pair for sentence
+       movement.
+
+2023-01-16  Theodor Thornhill  <theo@thornhill.no>
+
+       Add some basic tests for java-ts-mode and typescript-ts-mode
+
+       * test/lisp/progmodes/java-ts-mode-resources/indent.erts: New file
+       with tests for indentation.
+       * test/lisp/progmodes/java-ts-mode-resources/movement.erts: New file
+       with tests for movement.
+       * test/lisp/progmodes/java-ts-mode-tests.el: New tests.
+       * test/lisp/progmodes/typescript-ts-mode-resources/indent.erts: New
+       file with tests for indentation.
+       * test/lisp/progmodes/typescript-ts-mode-tests.el: New tests.
+
+2023-01-16  Theodor Thornhill  <theo@thornhill.no>
+
+       Add sentence-nodes to dockerfile-ts-mode
+
+       * lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode): Catch all
+       instructions.
+
+2023-01-16  Po Lu  <luangruo@yahoo.com>
+
+       Fix display of glyphs with word-sized component offsets on Android
+
+       * src/sfnt.c (sfnt_decompose_compound_glyph): Handle correctly
+       the Y offset in components with ARG_1_AND_2_ARE_WORDS.
+       (main): Update debugging code.
+
+2023-01-16  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-16  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * doc/emacs/android.texi (Android, Android Environment): Improve
+       documentation.
+       * doc/lispref/commands.texi (Touchscreen Events): Document
+       changes to touchscreen support.
+       * doc/lispref/display.texi (Defining Faces, Window Systems):
+       * doc/lispref/frames.texi (Frame Layout, Font and Color
+       Parameters):
+       * doc/lispref/os.texi (System Environment): Document Android in
+       various places.
+
+       * java/org/gnu/emacs/EmacsWindow.java (figureChange): Fix crash.
+       * lisp/loadup.el: ("touch-screen"): Load touch-screen.el.
+       * lisp/pixel-scroll.el: Autoload two functions.
+       * lisp/term/android-win.el: Add require 'touch-screen.
+       * lisp/touch-screen.el (touch-screen-current-tool)
+       (touch-screen-current-timer, touch-screen-delay)
+       (touch-screen-relative-xy, touch-screen-handle-scroll)
+       (touch-screen-handle-timeout, touch-screen-handle-point-update)
+       (touch-screen-handle-point-up, touch-screen-handle-touch)
+       (global-map, touch-screen): New file.
+       * src/android.c (android_run_debug_thread): Fix build on 64 bit
+       systems.
+       (JNICALL, android_put_pixel): Likewise.
+       (android_transform_coordinates, android_four_corners_bilinear)
+       (android_fetch_pixel_bilinear, android_project_image_bilinear)
+       (android_fetch_pixel_nearest_24, android_fetch_pixel_nearest_1)
+       (android_project_image_nearest): New functions.
+       * src/androidgui.h (struct android_transform): New structure.
+       * src/androidterm.c (android_note_mouse_movement): Remove
+       obsolete TODO.
+       (android_get_scale_factor): New function.
+       (android_draw_underwave): Scale underwave correctly.
+       * src/dispextern.h: Support native image transforms on Android.
+       * src/image.c (matrix_identity, matrix_rotate)
+       (matrix_mirror_horizontal, matrix_translate): New functions.
+       (image_set_transform): Implement native image transforms on
+       Android.
+       (Fimage_transforms_p): Implement on Android.
+
+       * src/keyboard.c (make_lispy_event, syms_of_keyboard): Handle
+       touch screen- menu bar events.
+       * src/sfnt.c: Fix typo in comment.
+       * src/sfntfont-android.c (sfntfont_android_blend, U255TO256)
+       (sfntfont_android_put_glyphs): Avoid redundant swizzling.
+       * src/sfntfont.c (sfntfont_lookup_char): Fix build on 64 bit
+       systems.
+
+2023-01-16  Alex Bochannek  <alex@bochannek.com>
+
+       Run newsticker's ticker only periodically (bug#59856)
+
+       * doc/misc/newsticker.texi (Frontends, Configuration): Add
+       newsticker-ticker-period
+       * lisp/net/newst-ticker.el (newsticker--ticker-period-timer): New.
+       (newsticker--ticker-timer): Modify doc string.
+       (newsticker-ticker-interval): Modify doc string.
+       (newsticker-ticker-period): New
+       (newsticker--display-tick, newsticker--display-jump)
+       (newsticker--display-scroll, newsticker-start-ticker)
+       (newsticker-stop-ticker): Use newsticker--ticker-timer and
+       newsticker--ticker-period-timer.
+
+2023-01-16  Theodor Thornhill  <theo@thornhill.no>
+
+       Rename variables from last change
+
+       * lisp/progmodes/js.el (js--treesit-sentence-nodes): Rename variable
+       from 'js--treesit-sentence-type-regexp'.
+       (js-ts-mode): Refer to it.
+       * lisp/progmodes/typescript-ts-mode.el
+       (typescript-ts-mode--sentence-nodes): Rename variable from
+       'typescript-ts-mode--sentence-type-regexp'.
+       (typescript-ts-base-mode, tsx-ts-mode): Refer to it.
+
+2023-01-15  Theodor Thornhill  <theo@thornhill.no>
+
+       Add treesit-sentence-type-regexp
+
+       * lisp/progmodes/js.el (js--treesit-sentence-type-regexp): New defvar
+       with sentence nodes.
+       (js-ts-mode): Use the new defvar for treesit-sentence-type-regexp.
+       * lisp/progmodes/typescript-ts-mode.el
+       (typescript-ts-mode--sentence-type-regexp): New defvar with sentence
+       nodes.
+       * lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode): Use
+       the new defvar for treesit-sentence-type-regexp.
+       (tsx-ts-mode): Extend treesit-sentence-type-regexp with jsx nodes.
+
+2023-01-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Improve Tramp robustness
+
+       * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
+       Protect `delete-process'.
+
+       * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
+       (tramp-test30-make-process): Don't test disabled process filter.
+
+2023-01-15  Michael Albinus  <michael.albinus@gmx.de>
+
+       Upgrade to length* functions in Tramp
+
+       * lisp/net/tramp-compat.el (tramp-compat-replace-regexp-in-region):
+       Move up.
+       (tramp-compat-length<, tramp-compat-length>)
+       (tramp-compat-length=): New defaliases.
+       (tramp-compat-file-name-unquote, tramp-compat-take)
+       (tramp-compat-ntake): Use them.
+
+       * lisp/net/tramp.el (tramp-string-empty-or-nil-p): New defsubst.
+       (tramp-find-host, tramp-buffer-name, tramp-make-tramp-file-name)
+       (tramp-completion-make-tramp-file-name, tramp-debug-buffer-name)
+       (tramp-completion-handle-file-name-all-completions)
+       (tramp-handle-directory-file-name)
+       (tramp-handle-expand-file-name)
+       (tramp-handle-file-name-as-directory)
+       (tramp-handle-file-name-completion)
+       (tramp-direct-async-process-p, tramp-call-process)
+       (tramp-read-passwd):
+       * lisp/net/tramp-adb.el (tramp-adb-get-device)
+       (tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection):
+       * lisp/net/tramp-archive.el (tramp-archive-handle-directory-file-name):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
+       (tramp-gvfs-monitor-process-filter)
+       (tramp-gvfs-handle-get-home-directory)
+       (tramp-gvfs-handler-askpassword)
+       (tramp-gvfs-maybe-open-connection, tramp-get-media-devices):
+       * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-file-directory-p)
+       (tramp-sh-handle-insert-directory)
+       (tramp-sh-handle-expand-file-name, tramp-sh-handle-make-process)
+       (tramp-sh-gio-monitor-process-filter, tramp-set-remote-path)
+       (tramp-open-connection-setup-interactive-shell)
+       (tramp-maybe-open-connection, tramp-make-copy-program-file-name):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
+       (tramp-smb-handle-expand-file-name, tramp-smb-handle-file-acl)
+       (tramp-smb-handle-insert-directory)
+       (tramp-smb-handle-set-file-acl)
+       (tramp-smb-handle-get-home-directory)
+       (tramp-smb-maybe-open-connection):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name)
+       (tramp-sudoedit-handle-file-name-all-completions): Use the new
+       functions.
+
+       * test/lisp/net/tramp-archive-tests.el
+       (tramp-archive-test43-file-system-info):
+       * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
+       (tramp-test31-memory-info, tramp-test35-remote-path)
+       (tramp-test43-file-system-info): Use new compat functions.
+
+2023-01-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       9f5008b9b2a Improve error message from sqlite-mode.el
+       73b304bb740 ; Fix last change: remove unused @anchor.
+       d2efee31edb ; Update htmlfontify documentation
+       72d2604d1fd Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       cf311826841 ; * lisp/files.el (insert-directory-wildcard-in-dir-p): D...
+       3fa10f6e54d ; Add more c-ts-mode indent and filling tests
+       25a5575f161 Fix c-ts-mode block comment indentation (bug#60270)
+       252b2c01af0 Fix c-ts-mode label indent
+       189d976dbae Fix statement indent for c-ts-mode (bug#59686) (bug#60280)
+       c78e19d99c0 Allow offset in tree-sitter indent rules to be functions
+       d13a329acff ; Minor change in c-ts-mode--indent-styles
+       d428d510664 Support filling line comments in c-ts-mode
+       f02998939c6 ; Fix c-ts-mode filling
+       b365a7cc32e Fix expansion of wildcards in ls-lisp.el
+       b5e0260f425 Fix messages displayed when diary is shown
+
+2023-01-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       920a7d38e96 ; Fix typos
+       48a62c55465 Add constructor_declaration as java-ts-mode defun
+       72c45fa9109 Further improvement for non-string values in pcomplete
+       1ef359095ec ; * etc/NEWS (--with-native-compilation=aot): Tweak wording.
+       a8eb9dd4006 Fix the case in first-completion revealed by minibuffer-t...
+
+       # Conflicts:
+       #       doc/misc/modus-themes.org
+       #       etc/NEWS
+
+2023-01-15  Po Lu  <luangruo@yahoo.com>
+
+       Implement submenus on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (onCreate): Set the
+       default theme to Theme.DeviceDefault.NoActionBar if possible.
+       (onContextMenuClosed): Add hack for Android bug.
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
+       (onMenuItemClick): Set flag upon submenu selection.
+       (inflateMenuItems): Set onClickListener for submenus as well.
+       (display1): Clear new flag.
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Fix
+       rectangle bounds.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative):
+       * java/org/gnu/emacs/EmacsService.java (onCreate): Pass cache
+       directory.
+       (sync): New function.
+       * src/android.c (struct android_emacs_service): New method
+       `sync'.
+       (setEmacsParams, initEmacs): Handle cache directory.
+       (android_init_emacs_service): Initialize new method `sync'.
+       (android_sync): New function.
+       * src/androidfns.c (Fx_show_tip): Call both functions.
+       * src/androidgui.h: Update prototypes.
+       * src/androidmenu.c (struct android_menu_subprefix)
+       (android_free_subprefixes, android_menu_show): Handle submenu
+       prefixes correctly.
+       * src/androidterm.c (handle_one_android_event): Clear help echo
+       on MotionNotify like on X.
+       * src/menu.c (single_menu_item): Enable submenus on Android.
+
+2023-01-15  Luke Lee  <luke.yx.lee@gmail.com>
+
+       hideif.el: Support C99 and GNU style variadic macros
+
+       * lisp/progmodes/hideif.el (hif-end-of-line, hif-cpp-prefix)
+       (hif-ifx-regexp, hif-macro-expr-prefix-regexp, hif-white-regexp)
+       (hif-macroref-regexp, hif-tokenize, hif-find-any-ifX)
+       (hif-find-next-relevant, hif-find-previous-relevant, hif-find-range)
+       (hif-parse-macro-arglist, hif-add-new-defines, hide-ifdef-guts):
+       Variadic macro parsing, comments and multi-line parsing.
+       (hif-line-concat, hif-etc-regexp): New regexp for better macro scans.
+       (hif-expand-token-list, hif-get-argument-list, hif-delimit)
+       (hif-macro-supply-arguments, hif-canonicalize, hif-find-define):
+       Variadic macro argument replacement and expansion.
+       (hif-display-macro): Display variadic macros.
+       (hif-is-in-comment, hif-search-ifX-regexp): New functions to better
+       handle macros in comments and comments in macros.
+
+2023-01-15  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-15  Po Lu  <luangruo@yahoo.com>
+
+       Implement toolkit menus on Android
+
+       * java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed):
+       New function.
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
+       New field `itemAlreadySelected'.
+       (onMenuItemClick): New function.
+       (inflateMenuItems): Attach onClickListener as appropriate.
+       (display1): Clear itemAlreadySelected.
+       (display): Fix runnable synchronization.
+       * java/org/gnu/emacs/EmacsNative.java (sendContextMenu): New
+       function.
+       * java/org/gnu/emacs/EmacsView.java (popupMenu):
+       (cancelPopupMenu): Set popupactive correctly.
+
+       * src/android.c (android_run_select_thread): Fix android_select
+       again.
+       (android_wait_event): New function.
+       * src/android.h: Update prototypes.
+       * src/androidgui.h (enum android_event_type): New
+       `ANDROID_CONTEXT_MENU' event.
+       (struct android_menu_event, union android_event): Add new event.
+
+       * src/androidmenu.c (struct android_emacs_context_menu): New
+       structure.
+       (android_init_emacs_context_menu): Add `dismiss' method.
+       (struct android_dismiss_menu_data): New structure.
+       (android_dismiss_menu, android_process_events_for_menu): New
+       functions.
+       (android_menu_show): Set an actual item ID.
+       (popup_activated): Define when stubify as well.
+       (Fmenu_or_popup_active_p): New function.
+       (syms_of_androidmenu): New function.
+
+       * src/androidterm.c (handle_one_android_event): Handle context
+       menu events.
+       * src/androidterm.h (struct android_display_info): New field for
+       menu item ID.
+       * src/emacs.c (android_emacs_init): Call syms_of_androidmenu.
+       * src/xdisp.c (note_mouse_highlight): Return if popup_activated
+       on Android as well.
+
+2023-01-15  Po Lu  <luangruo@yahoo.com>
+
+       Fix the MS-DOS build
+
+       * msdos/sed1v2.inp: Edit out QCOPY_ACL_LIB.
+
+2023-01-14  Theodor Thornhill  <theo@thornhill.no>
+
+       Use treesit-sentence-type-regexp in java-ts-mode
+
+       Initial support for forward/backward-sentence movement with
+       tree-sitter.  Include all statements, and some declarations.  Don't
+       include the bigger declarations we don't want to jump over too big
+       blocks of code.
+
+       * lisp/progmodes/java-ts-mode.el (java-ts-mode): Add relevant node
+       types to treesit-sentence-type-regexp.
+
+2023-01-14  Jim Porter  <jporterbugs@gmail.com>
+
+       Use the 'field' property to navigate through Eshell prompts
+
+       * lisp/eshell/esh-mode.el (eshell-skip-prompt-function): Make
+       obsolete.
+
+       * lisp/eshell/em-prompt.el (eshell-prompt-regexp): Update docstring.
+       (eshell-prompt-initialize): Don't set 'eshell-skip-prompt-function'.
+       (eshell-next-prompt): Search for the 'field' property set to 'prompt'
+       to find the next prompt.
+       (eshell-previous-prompt): Move 'forward-line' call into
+       'eshell-next-prompt'.
+       (eshell-forward-matching-input, eshell-backward-matching-input):
+       Reimplement on top of 'eshell-next-prompt'.
+       (eshell-skip-prompt): Make obsolete.
+
+       * test/lisp/eshell/em-prompt-tests.el
+       (em-prompt-test/next-previous-prompt): New test.
+
+2023-01-14  Jim Porter  <jporterbugs@gmail.com>
+
+       Make 'eshell-bol' obsolete
+
+       Now that Eshell uses fields for its output, 'eshell-bol' is no longer
+       needed, and we can just use 'beginning-of-line'.
+
+       * lisp/eshell/esh-mode.el (eshell-bol): Mark obsolete.
+       (eshell-mode-map): Remove 'C-a' mapping.
+       (eshell-command-map): Use 'move-beginning-of-line'.
+       (eshell-move-argument, eshell-kill-input): Use 'beginning-of-line'.
+       (eshell-get-old-input): Remove unnecessary call to
+       'eshell-skip-prompt-function'.
+
+       * lisp/eshell/em-rebind.el (eshell-rebind-keys-alist): Remove 'C-a'
+       and '<home>' mappings; the global mapping for these
+       ('move-beginning-of-line') does the same thing now.
+
+       * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments):
+       * lisp/eshell/em-elecslash.el (eshell-electric-forward-slash):
+       * lisp/eshell/em-hist.el (eshell-hist-word-reference)
+       (eshell-previous-matching-input-from-input, eshell-test-imatch):
+       * lisp/eshell/em-prompt.el (eshell-backward-matching-input):
+       * lisp/eshell/em-rebind.el (eshell-point-within-input-p):
+       * test/lisp/eshell/eshell-tests.el (eshell-test/forward-arg): Use
+       'beginning-of-line'.
+
+       * test/lisp/eshell/eshell-tests.el (eshell-test/run-old-command):
+       Rename to...
+       (eshell-test/get-old-input): ... this, and expand the test.
+
+2023-01-14  Jim Porter  <jporterbugs@gmail.com>
+
+       Set the 'field' property for Eshell output
+
+       This makes Eshell work more like 'M-x shell', and lets the <home> key
+       move to the beginning of the user's input at the prompt (bug#60666).
+
+       * lisp/eshell/em-prompt.el (eshell-emit-prompt): Add 'field' property
+       to prompt.
+       (eshell-bol-ignoring-prompt): New function.
+
+       * lisp/eshell/esh-io.el: Declare 'eshell-interactive-print'...
+       (eshell-output-object-to-target): ... use it.
+
+       * lisp/eshell/esh-mode.el (eshell-output-filter-functions): Update
+       docstring.
+       (eshell-interactive-print): Set the output to have a field value of
+       'command-output'.
+       (eshell-output-filter): Rename to...
+       (eshell-interactive-filter): ... this, and take a buffer instead of a
+       process.
+
+       * lisp/eshell/esh-proc.el (eshell-interactive-process-filter): New
+       function, adapted from 'eshell-output-filter'...
+       (eshell-gather-process-output): ... use it.
+
+       * test/lisp/eshell/em-prompt-tests.el: New file.
+
+       * etc/NEWS: Announce this change.
+
+2023-01-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       fd77de542d8 ; * etc/NEWS: Fix typos.
+       195afb68e31 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       cd83bc930ca ; * lisp/htmlfontify.el (hfy-exclude-file-rules): Fix :ve...
+       8d7ad656658 Fix indent and font-lock for annotation_type
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Fix android_select
+
+       * src/android.c (android_run_select_thread, android_select):
+       Handle EINTR in sem_wait and fix sigsets.
+
+2023-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (apropos-documentation): Don't try to parse .elc files
+
+       The old code scanned for #@ in .elc files, assuming they're
+       docstrings and then looking around them to try and guess to which
+       definition that docstring belongs, making many assumptions about how
+       the code happens to be layed out by bytecomp.
+       Replace that with code which relies on the (FILE . POS) info to
+       extract the docstring knowing already where they are and what def they
+       belong to.
+
+       * lisp/apropos.el (apropos-documentation-check-elc-file): Delete 
function.
+       (apropos--documentation-add-from-elc): New function to replace it.
+       (apropos--documentation-add): New function, extracted from
+       `apropos-documentation`.
+       (apropos-documentation): Use them.  Let-bind `apropos-accumulator` and
+       `apropos-files-scanned`.
+       (apropos-documentation-internal): Don't handle the `cons` case any more.
+       (apropos-item): Don't declare as global var.
+       (apropos-documentation-check-doc-file): Use `apropos-item` as a local
+       var rather than a global var.
+       (apropos-print-doc): Receive `apropos-item` as arg rather than refer to
+       it as a global variable.
+       (apropos-print): Adjust calls accordingly.
+
+2023-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Add temporary gnulib patch
+
+       * xcompile/lib/fpending.c (__fpending): Fix gnulib problem.
+
+2023-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge from origin/emacs-29
+
+       96601cd90ba apropos.el: Fix bug#60628
+       10032f424cc Fix indentation of some declarations and statements
+       e2e937300f5 Fix indentation of object_expressions in csharp-ts-mode
+       0116e27b26c ; Fix NEWS markup
+       435ba92ccc4 ; Fix last change in htmlfontify.el
+       7100ecd7a47 Replace 'hfy-find-cmd' with 'directory-files-recursively'.
+       f102145d381 ; * etc/PROBLEMS: Describe problems with MuPDF 1.21.  (Bu...
+
+2023-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Drop unneeded changes to gnulib
+
+       * xcompile/lib/fpending.c (__fpending):
+       * xcompile/lib/open.c:
+       * xcompile/lib/unistd.c (_GL_UNISTD_INLINE): Remove Android
+       patches.
+
+2023-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * java/Makefile.in (clean): Fix distclean and bootstrap-clean rules.
+       * java/debug.sh (jdb_port):
+       (attach_existing):
+       (num_pids):
+       (line): Add new options to upload a gdbserver binary to the device.
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): Make
+       focusedActivities public.
+       * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
+       New class.
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Fix
+       bounds computation.
+       * java/org/gnu/emacs/EmacsGC.java (markDirty): Set stroke width
+       explicitly.
+       * java/org/gnu/emacs/EmacsService.java (EmacsService)
+       (getLocationOnScreen, nameKeysym): New functions.
+       * java/org/gnu/emacs/EmacsView.java (EmacsView): Disable focus
+       highlight.
+       (onCreateContextMenu, popupMenu, cancelPopupMenu): New
+       functions.
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Implement a
+       kind of ``override redirect'' window for tooltips.
+       * src/android.c (struct android_emacs_service): New method
+       `name_keysym'.
+       (android_run_select_thread, android_init_events):
+       (android_select): Release select thread on semaphores instead of
+       signals to avoid one nasty race on SIGUSR2 delivery.
+       (android_init_emacs_service): Initialize new method.
+       (android_create_window): Handle CW_OVERRIDE_REDIRECT.
+       (android_move_resize_window, android_map_raised)
+       (android_translate_coordinates, android_get_keysym_name)
+       (android_build_string, android_exception_check): New functions.
+       * src/android.h: Update prototypes.
+
+       * src/androidfns.c (android_set_parent_frame, Fx_create_frame)
+       (unwind_create_tip_frame, android_create_tip_frame)
+       (android_hide_tip, compute_tip_xy, Fx_show_tip, Fx_hide_tip)
+       (syms_of_androidfns): Implement tooltips and iconification
+       reporting.
+
+       * src/androidgui.h (enum android_window_value_mask): Add
+       CWOverrideRedirect.
+       (struct android_set_window_attributes): Add `override_redirect'.
+       (ANDROID_IS_MODIFIER_KEY): Recognize Caps Lock.
+
+       * src/androidmenu.c (struct android_emacs_context_menu): New
+       struct.
+       (android_init_emacs_context_menu, android_unwind_local_frame)
+       (android_push_local_frame, android_menu_show, init_androidmenu):
+       New functions.
+
+       * src/androidterm.c (handle_one_android_event): Fix NULL pointer
+       dereference.
+       (android_fullscreen_hook): Handle fullscreen correctly.
+       (android_draw_box_rect): Fix top line.
+       (get_keysym_name): Implement function.
+       (android_create_terminal): Remove scroll bar stubs and add menu
+       hook.
+
+       * src/androidterm.h: Update prototypes.
+       * src/emacs.c (android_emacs_init): Initialize androidmenu.c.
+       * xcompile/Makefile.in: Fix clean rules.
+
+2023-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge from origin/emacs-29
+
+       f1032bf24e7 Eglot: don't use "nil" as minibuffer initial input
+       1b9ffd28116 Fix dependency bug when building lwlib
+       dc33a122230 Fix use of build_pure_c_string in treesit.c
+
+2023-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Merge from origin/emacs-29
+
+       861556c1339 Fix minibuffer-completion tests
+       c0578edc8fc ; * doc/misc/eglot.texi (Troubleshooting Eglot): Fix typo...
+       c6bbf9cc270 Add c-ts-mode tests
+       a760364f5f3 Fix c-ts-mode--fill-paragraph
+       2a2b1d09ac7 Fix minor issues with 'pp' and related commands
+       dfb38fb2ee6 ; Improve documentation of tree-sitter node comparison
+       e8a89a18b69 ; Fix non-tree-sitter builds
+       f27a330b99e ; Fix typo in ert-with-temp-file
+       956889d8ff1 Equal now recognizes tree-sitter nodes (bug#60659)
+       8f446c2d397 Fix c-ts-mode comment indentation (bug#60270)
+       083badc9c12 * lisp/subr.el (while-let): Use if-let, not if-let* (bug#...
+       9ecebcdded1 * lisp/simple.el (next-completion): Handle first completi...
+       cfd2b3504ab Fix encoding with 'utf-8-auto'
+       53b47df8229 Report cursor correctly on PGTK when there is a margin
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Teach 'eww-open-file' about prefix argument
+
+       * lisp/net/eww.el (eww-open-file): Accept a new optional argument
+       NEW-BUFFER to show FILE in a new buffer.  (Bug#60809)
+
+       * etc/NEWS:
+       * doc/misc/eww.texi (Basics): Document the new feature.
+
+2023-01-14  Laurence Warne  <laurencewarne@gmail.com>
+
+       Preserve the window position with proced (bug#60381)
+
+       Preserve the window position for windows which display a proced
+       buffer, but are not the selected window when a proced buffer is
+       updated.  Previously, the window position would be set to the
+       start of the buffer when a proced buffer was updated and it was
+       not displayed in the selected window.
+
+       Similarly, preserve the position in proced buffers which are not
+       displayed in any window by setting
+       'switch-to-buffer-preserve-window-point' to nil in proced buffers.
+
+       * lisp/proced.el (proced-auto-update-timer): Only update a given
+       proced buffer if it is displayed in a window.
+       (proced-update): Set the window position if the proced buffer is
+       displayed in a window.
+       (proced--position-info, proced--determine-pos): New Functions.
+       (proced-mode): Set 'switch-to-buffer-preserve-window-point' to
+       nil in proced buffers.
+       * test/lisp/proced-tests.el
+       (proced-update-preserves-pid-at-point-test): New test.
+
+2023-01-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+       This adds a new file m4/xattr.m4 from Gnulib,
+       for NFS v4 attribute copying.
+       Also, do these changes by hand:
+       * configure.ac: Mention $LIB_XATTR" in ACL summary.
+       * src/Makefile.in (QCOPY_ACL_LIB): New macro.
+       (LIBES): Use it.
+
+2023-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Improve reliability of Android build system
+
+       * .gitignore: Add new files.
+       * INSTALL.android: New file.
+       * Makefile.in (clean_dirs): Clean xcompile as well.
+       * admin/merge-gnulib (avoided_flags): Import gnulib into Android
+       directory as well.
+       * doc/emacs/android.texi (Android):
+       * doc/emacs/emacs.texi (Top): New node `Android'.
+       * java/org/gnu/emacs/EmacsThread.java (run): Use right
+       executable name.
+       * lib/Makefile.in (ANDROID_CFLAGS): Use better way to refer to
+       /src.
+       (vpath): Delete ugly block of vpath statements.
+       (mostlyclean): Remove Makefile.android.
+       * lib/fpending.c (__fpending):
+       * lib/open.c:
+       * lib/unistd.c (_GL_UNISTD_INLINE): Revert changes to gnulib in
+       lib/.
+       * src/android.h:
+       * src/androidterm.c: Fix build.
+       * xcompile/Makefile.in (LIB_SRCDIR):
+       (LIBSRC_BINARIES, src/verbose.mk):
+       (PRE_BUILD_DEPS, PHONY): Use gnulib in xcompile/lib/ as opposed
+       to lib/.
+       * xcompile/README: Adjust README.
+
+2023-01-14  Po Lu  <luangruo@yahoo.com>
+
+       Check in gnulib with Android patches
+
+       * xcompile/lib: Check-in gnulib with patches for Android.
+
+2023-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/apropos.el (apropos-safe-documentation): Use 
`function-documentation`
+
+2023-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       (function-documentation): Make it work for the remaining cases
+
+       * lisp/simple.el (function-documentation):
+       Use `internal-subr-documentation` and make it work also with symbols
+       and macros.
+
+       * src/doc.c (Fsubr_documentation): New function, extracted
+       from Fdocumentation.
+       (syms_of_doc): defsubr it.
+       (Fdocumentation): Don't handle subrs and module functions here.
+
+2023-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/reveal.el (reveal-open-new-overlays): Use `invisible-p`
+
+2023-01-13  Gregory Heytings  <gregory@heytings.org>
+
+       undo-tests.el: Tests for bug#60467
+
+       * test/src/undo-tests.el (undo-test-combine-change-calls-1)
+       (undo-test-combine-change-calls-2, undo-test-combine-change-calls-3):
+       New tests.
+
+2023-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/subr.el (combine-change-calls-1): Fix bug#60467
+
+       Don't stop at timestamps.
+       Also Don't burp about breakage just because (cdr old-bul) is nil.
+
+2023-01-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       Adapt tramp-tests.el
+
+       * test/lisp/net/tramp-tests.el (tramp--test-container-p):
+       Rename from `tramp--test-docker-p'.  Handle also "podman" method.
+       Adapt callees.
+
+2023-01-13  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-13  Po Lu  <luangruo@yahoo.com>
+
+       Fix crashes in Android port
+
+       * java/org/gnu/emacs/EmacsService.java (queryTree): Fix NULL
+       pointer dereference.
+       * src/android.c (android_query_tree): Set *nchildren_return.
+
+2023-01-13  Po Lu  <luangruo@yahoo.com>
+
+       * .gitignore: Add AndroidManifest.xml.
+
+       * java/AndroidManifest.xml: Remove file that is now generated.
+
+       * src/frame.c (make_monitor_attribute_list): Allow source to be NULL.
+
+2023-01-13  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * configure.ac (ANDROID_MIN_SDK): New variable.
+       (DX): Remove and replace with D8.
+       (XCONFIGURE): Check for the minimum version of Android the cross
+       compiler compiles for.  Generate java/AndroidManifest.xml from
+       java/AndroidManifest.xml.in.  Allow using Zlib on Android.
+
+       * java/AndroidManifest.xml.in: New file.  Use the minimum SDK
+       detected by configure.
+
+       * java/Makefile.in (top_srcdir, version): New variables.
+       (DX, D8): Replace with D8.
+       (ANDROID_MIN_SDK, APK_NAME): New variables.
+       (.PHONY):
+       (.PRECIOUS):
+       (classes.dex):
+       (emacs.apk): Generate $(APK_NAME) instead of `emacs.apk'.
+
+       * java/debug.sh: New option --attach-existing.  Attach to an
+       existing Emacs instance when specified.
+
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): New
+       field `isPaused'.
+       (invalidateFocus1): Fix infinite recursion.
+       (detachWindow): Deiconify window.
+       (attachWindow): Iconify the window if the activity is paused.
+       (onCreate): Use the ``no title bar'' theme.
+       (onPause, onResume): New functions.
+       * java/org/gnu/emacs/EmacsNative.java (sendTouchUp, sendTouchDown)
+       (sendTouchMove, sendWheel, sendIconified, sendDeiconified): New
+       functions.
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7Typeface):
+       (list): Remove logging for code that is mostly going to be unused.
+       * java/org/gnu/emacs/EmacsService.java (ringBell, queryTree)
+       (getScreenWidth, getScreenHeight, detectMouse): New functions.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView)
+       (surfaceChanged, surfaceCreated, surfaceDestroyed): Add extra
+       debug logging.  Avoid deadlock in surfaceCreated.
+
+       * java/org/gnu/emacs/EmacsView.java (EmacsView): Try very hard
+       to make the SurfaceView respect Z order.  It didn't work.
+       (handleDirtyBitmap): Copy over the contents from the old bitmap.
+       (explicitlyDirtyBitmap): New function.
+       (onLayout): Don't dirty bitmap if unnecessary.
+       (damageRect, swapBuffers): Don't synchronize so hard.
+       (onTouchEvent): Call window.onTouchEvent instead.
+       (moveChildToBack, raise, lower): New functions.
+
+       * java/org/gnu/emacs/EmacsWindow.java (Coordinate): New
+       subclass.
+       (pointerMap, isMapped, isIconified, dontFocusOnMap)
+       (dontAcceptFocus): New fields.
+       (EmacsWindow): Don't immediately register unmapped window.
+       (viewLayout): Send configure event outside the lock.
+       (requestViewLayout): Explicitly dirty the bitmap.
+       (mapWindow): Register the window now.  Respect dontFocusOnMap.
+       (unmapWindow): Unregister the window now.
+       (figureChange, onTouchEvent): New functions.
+       (onSomeKindOfMotionEvent): Handle scroll wheel events.
+       (reparentTo, makeInputFocus, raise, lower, getWindowGeometry)
+       (noticeIconified, noticeDeiconified, setDontAcceptFocus)
+       (setDontFocusOnMap, getDontFocusOnMap): New functions.
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (registerWindow, detachWindow): Synchronize.
+       (noticeIconified, noticeDeiconified): New functions.
+       (copyWindows): New function.
+
+       * lisp/frame.el (frame-geometry, frame-edges)
+       (mouse-absolute-pixel-position, set-mouse-absolute-pixel-position)
+       (frame-list-z-order, frame-restack, display-mouse-p)
+       (display-monitor-attributes-list): Implement on Android.
+
+       * lisp/mwheel.el (mouse-wheel-down-event):
+       (mouse-wheel-up-event):
+       (mouse-wheel-left-event):
+       (mouse-wheel-right-event): Define on Android.
+
+       * src/android.c (struct android_emacs_service): New methods
+       `ringBell', `queryTree', `getScreenWidth', `getScreenHeight',
+       and `detectMouse'.
+       (struct android_event_queue, android_init_events)
+       (android_next_event, android_write_event): Remove write limit.
+       (android_file_access_p): Handle directories correcty.
+       (android_close): Fix coding style.
+       (android_fclose): New function.
+       (android_init_emacs_service): Initialize new methods.
+       (android_reparent_window): Implement function.
+       (android_bell, android_set_input_focus, android_raise_window)
+       (android_lower_window, android_query_tree, android_get_geometry)
+       (android_get_screen_width, android_get_screen_height)
+       (android_get_mm_width, android_get_mm_height, android_detect_mouse)
+       (android_set_dont_focus_on_map, android_set_dont_accept_focus):
+       New functions.
+       (struct android_dir): New structure.
+       (android_opendir, android_readdir, android_closedir): New
+       functions.
+       (emacs_abort): Implement here on Android and poke debuggerd into
+       generating a tombstone.
+
+       * src/android.h: Update prototypes.
+
+       * src/androidfns.c (android_set_parent_frame): New function.
+       (android_default_font_parameter): Use sane font size by default.
+       (Fx_display_pixel_width, Fx_display_pixel_height)
+       (Fx_display_mm_width, Fx_display_mm_height)
+       (Fx_display_monitor_attributes_list): Rename to start with
+       `android-'.  Implement.  Fiddle with documentation to introduce
+       Android specific nuances.
+       (Fandroid_display_monitor_attributes_list): New function.
+       (Fx_frame_geometry, frame_geometry): New function.
+       (Fandroid_frame_geometry): Implement correctly.
+       (Fx_frame_list_z_order): Rename to start with `android-'.
+       (android_frame_list_z_order, Fandroid_frame_list_z_order):
+       Implement.
+       (Fx_frame_restack): Rename to start with `android-'.
+       (Fandroid_frame_restack): ``Implement''.
+       (Fx_mouse_absolute_pixel_position): Rename to start with
+       `android-'.
+       (Fandroid_mouse_absolute_pixel_position): ``Implement''.
+       (Fx_set_mouse_absolute_pixel_position): Rename to start with
+       `android-'.
+       (Fandroid_set_mouse_absolute_pixel_position): ``Implement''.
+       (Fandroid_detect_mouse): New function.
+       (android_set_menu_bar_lines): Use FRAME_ANDROID_DRAWABLE when
+       clearing area.
+       (android_set_no_focus_on_map, android_set_no_accept_focus): New
+       functions.
+       (android_frame_parm_handlers): Register new frame parameter
+       handlers.
+       (syms_of_androidfns): Update appropriately.
+
+       * src/androidfont.c (androidfont_draw): Use
+       FRAME_ANDROID_DRAWABLE instead of FRAME_ANDROID_WINDOW.
+
+       * src/androidgui.h (enum android_event_type): New events.
+       (struct android_touch_event, struct android_wheel_event)
+       (struct android_iconify_event): New structures.
+       (union android_event): Add new events.
+
+       * src/androidterm.c (android_clear_frame): Use
+       FRAME_ANDROID_DRAWABLE instead of FRAME_ANDROID_WINDOW.
+       (android_flash, android_ring_bell): Implement bell ringing.
+       (android_toggle_invisible_pointer): Don't TODO function that
+       can't be implemented.
+       (show_back_buffer, android_flush_dirty_back_buffer_on): Check if
+       a buffer flip is required before doing the flip.
+       (android_lower_frame, android_raise_frame): Implement functions.
+       (android_update_tools, android_find_tool): New functions.
+       (handle_one_android_event): Handle new iconification, wheel and
+       touch events.
+       (android_read_socket): Implement pending-autoraise-frames.
+       (android_frame_up_to_date): Implement bell ringing.
+       (android_buffer_flipping_unblocked_hook): Check if a buffer flip
+       is required before doing the flip.
+       (android_focus_frame, android_frame_highlight)
+       (android_frame_unhighlight): New function.
+       (android_frame_rehighlight): Implement functions.
+       (android_iconify_frame): Always display error.
+       (android_set_alpha): Update commentary.
+       (android_free_frame_resources): Free frame touch points.
+       (android_scroll_run, android_flip_and_flush)
+       (android_clear_rectangle, android_draw_fringe_bitmap)
+       (android_draw_glyph_string_background, android_fill_triangle)
+       (android_clear_point, android_draw_relief_rect)
+       (android_draw_box_rect, android_draw_glyph_string_bg_rect)
+       (android_draw_image_foreground, android_draw_stretch_glyph_string)
+       (android_draw_underwave, android_draw_glyph_string_foreground)
+       (android_draw_composite_glyph_string_foreground)
+       (android_draw_glyphless_glyph_string_foreground)
+       (android_draw_glyph_string, android_clear_frame_area)
+       (android_clear_under_internal_border, android_draw_hollow_cursor)
+       (android_draw_bar_cursor, android_draw_vertical_window_border)
+       (android_draw_window_divider): Use FRAME_ANDROID_DRAWABLE
+       instead of FRAME_ANDROID_WINDOW for drawing operations.
+
+       * src/androidterm.h (struct android_touch_point): New structure.
+       (struct android_output): New fields.
+       (FRAME_ANDROID_NEED_BUFFER_FLIP): New macro.
+
+       * src/dired.c (emacs_readdir, open_directory)
+       (directory_files_internal_unwind, read_dirent)
+       (directory_files_internal, file_name_completion): Add
+       indirection over readdir and opendir.  Use android variants on
+       Android.
+
+       * src/dispnew.c (Fopen_termscript):
+       * src/fileio.c (fclose_unwind): Use emacs_fclose.
+       (Faccess_file): Call android_file_access_p.
+       (file_accessible_directory_p): Append right suffix to Android
+       assets directory.
+       (do_auto_save_unwind): Use emacs_fclose.
+       * src/keyboard.c (lispy_function_keys): Use right function key
+       for page up and page down.
+       (Fopen_dribble_file): Use emacs_fclose.
+
+       * src/lisp.h: New prototype emacs_fclose.
+
+       * src/lread.c (close_infile_unwind): Use emacs_fclose.
+
+       * src/sfnt.c (sfnt_curve_is_flat): Fix area-squared computation.
+       (sfnt_prepare_raster): Compute raster width and height
+       consistently with outline building.
+       (sfnt_build_outline_edges): Use the same offsets used to set
+       offy and offx.
+       (main): Adjust debug code.
+
+       * src/sfntfont-android.c (sfntfont_android_saturate32): Delete
+       function.
+       (sfntfont_android_blend, sfntfont_android_blendrgb): Remove
+       unnecessary debug code.
+       (sfntfont_android_composite_bitmap): Prevent out of bounds
+       write.
+       (sfntfont_android_put_glyphs): Use FRAME_ANDROID_DRAWABLE.
+       (init_sfntfont_android): Initialize Monospace Serif font to
+       something sensible.
+       * src/sfntfont.c (sfntfont_text_extents): Clear glyph metrics
+       before summing up pcm.
+       (sfntfont_draw): Use s->font instead of s->face->font.
+
+       * src/sysdep.c (emacs_fclose): Wrap around android_fclose on
+       android.
+
+       * src/term.c (Fsuspend_tty):
+       (delete_tty): Use emacs_fclose.
+       * src/verbose.mk.in (AM_V_DX): Replace with D8 version.
+
+2023-01-13  Dimitri Belopopsky  <dimitri@belopopsky.com>  (tiny change)
+
+       Remove deprecated RLS server from eglot server list
+
+       * lisp/progmodes/eglot.el (eglot-server-programs) Remove deprecated
+       RLS server from list since it is no longer maintained.  (Bug#60761)
+       Ref: https://github.com/rust-lang/rls
+
+2023-01-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       f4f30ff4c44 Update to Org 9.6.1
+       09f7a920644 Add support for annotation_type_declaration
+       4a8891a462e * etc/NEWS: Mention incompatible changes in 'outline-mino...
+       384504edf35 Ensure VC package names are not empty
+       70947da708c Handle missing package description when unpacking vc pack...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-11  Theodor Thornhill  <theo@thornhill.no>
+
+       Add forward-sentence with tree sitter support (bug#60623)
+
+       * etc/NEWS: Mention the new changes.
+       * lisp/textmodes/paragraphs.el (forward-sentence-default-function):
+       Move old implementation to its own function.
+       (forward-sentence-function): New defvar defaulting to old behavior.
+       (forward-sentence): Use the variable in this function unconditionally.
+       * lisp/treesit.el (treesit-sentence-type-regexp): New defvar.
+       (treesit-forward-sentence): New defun.
+       (treesit-major-mode-setup): Conditionally set
+       forward-sentence-function.
+       * doc/emacs/programs.texi (Defuns): Add new subsection.
+       (Moving by Sentences): Add some documentation with xrefs to the elisp
+       manual and related nodes.
+       * doc/lispref/positions.texi (List Motion): Mention
+       treesit-sentence-type-regexp and describe how to enable this
+       functionality.
+
+2023-01-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-11  Po Lu  <luangruo@yahoo.com>
+
+       Bring up the sfnt-android font driver
+
+       * configure.ac (ANDROID_CFLAGS): Add sfnt-related font objects
+       to ANDROID_OBJ when not building stubs.
+       * lisp/startup.el (android-fonts-enumerated): New variable.
+       (normal-top-level): Set it.  Also enumerate fonts as early as
+       possible upon startup.
+
+       * src/alloc.c (cleanup_vector): Only finalize Android font
+       entities.
+       (garbage_collect): Mark sfntfont.c.
+
+       * src/android.c (struct android_emacs_drawable): New field
+       `damage_rect'.
+       (android_init_emacs_drawable): Initialize
+       Lorg/gnu/emacs/EmacsDrawable;#damageRect(Landroid/graphics/rect;)V.
+       (android_create_gc): Initialize cached GC fields.
+       (android_free_gc): Free cached GC clip rectangles.
+       (android_change_gc): Cache fields as appropriate.
+       (android_set_clip_rectangles): Set cached clip rectangles for
+       easy access from C.
+       (android_get_gc_values): Use cached values.
+       (android_get_image): Remove obsolete comment.
+       (android_lock_bitmap, android_damage_window): New functions that
+       don't parallel anything on X.
+
+       * src/android.h: Update prototypes.
+
+       * src/androidfns.c (android_default_font_parameter): Set Droid
+       Sans Mono as the default monospace font.
+       (Fx_create_frame): Register the sfntfont driver.
+
+       * src/androidgui.h (struct android_gc): Add C side caches for
+       clip rectangles and the foreground and background colors.
+
+       * src/androidterm.h: Update prototypes.
+
+       * src/dispextern.h (struct gui_box): New struct.
+       (gui_union_rectangles): New function.
+
+       * src/emacs.c (android_emacs_init): Initialize Android font
+       stuff late.
+       * src/font.c (font_make_entity): Clear `is_android' field on
+       Android.
+       (font_make_entity_android): Set `is_android' field.
+       * src/font.h (struct font_entity): New field `is_android'.
+
+       * src/print.c (print_vectorlike): Don't print private data,
+       which could include Lisp_Misc.
+
+       * src/sfnt.c (sfnt_read_cmap_format_0, sfnt_read_cmap_format_2)
+       (sfnt_read_cmap_format_4, sfnt_read_cmap_format_6)
+       (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12): Remove
+       buggy pragmas.
+       (sfnt_lookup_glyph_4_1): New function.
+       (sfnt_lookup_glyph_4): Handle malformed lookup tables found on
+       Android.
+       (sfnt_lookup_glyph): Fix overflow problems in glyph checks.
+       (sfnt_read_glyph): Handle empty glyphs.  This implements some
+       behavior which everyone else seems to as well, but I can't find
+       documented in the TrueType Reference Manual.
+       (sfnt_free_glyph): Export correctly.
+       (sfnt_transform_coordinates): Make faster.
+       (sfnt_lerp_half): Fix lerping in some cases.
+       (sfnt_decompose_glyph): Handle empty glyphs correctly.  Close
+       contours manually instead of waiting for the edge building
+       process to do that.  This lets curves be handled correctly.
+       (struct sfnt_build_glyph_outline_context): Move internal struct
+       back to sfnt.c.
+       (sfnt_build_append): Fix detection of initial entry.
+       (sfnt_curve_to_and_build_1): Fix De Casteljau implementation.
+       (sfnt_curve_to_and_build): Use fixed point arithmetic to scale
+       outlines.
+       (sfnt_build_glyph_outline): Clear reference counts.  Use fixed
+       point arithmetic.
+       (sfnt_prepare_raster): Align rasters to 4 bytes,
+       SFNT_POLY_ALIGNMENT.  Fix calculation of offx and offy.
+       (sfnt_step_edge_by): Step edge by previously computed step_x.
+       (sfnt_build_outline_edges): Adjust for already closed contours.
+       Ignore edges abandoned after grid fit.  Also precompute step_x
+       to avoid multiplication on each span rastered.
+       (sfnt_poly_edges): Improve alignment.
+       (sfnt_fill_span): Rewrite to avoid control flow in while loop.
+       (sfnt_poly_span): Remove unnecessary code.
+       (sfnt_raster_glyph_outline): Use raster stride instead of width.
+       (sfnt_test_edge, sfnt_test_raster, main): Improve debugging
+       code.
+
+       * src/sfnt.h (struct sfnt_glyph_outline): Add refcount field to
+       outline.
+       (struct sfnt_build_glyph_outline_context): Remove private
+       struct.
+       (struct sfnt_raster): Add refcount field to raster.
+       (struct sfnt_edge): Improve doc.  Add `source_x' field used when
+       built with TEST.
+       (SFNT_CEIL_FIXED): New macro.
+
+       * src/sfntfont-android.c (sfntfont_android_saturate32)
+       (sfntfont_android_scale32, sfntfont_android_mul8x2)
+       (sfntfont_android_blend, U255TO256)
+       (sfntfont_android_composite_bitmap, sfntfont_android_union_boxes)
+       (sfntfont_android_put_glyphs, sfntfont_android_get_cache): New
+       functions.
+       (android_sfntfont_driver): New font driver.
+       (Fandroid_enumerate_fonts): New function.
+       (syms_of_sfntfont_android_for_pdumper, init_sfntfont_android)
+       (syms_of_sfntfont_android): Initialize default fonts, special
+       family mapping and font driver.
+       * src/sfntfont.c (struct sfnt_font_desc): New fields
+       `char_cache', `cmap_invalid' and `subtable'.
+       (sfnt_setup_coding_system): Improve commentary.  Add default
+       branch.  Fix return value.
+       (sfnt_safe_encode_coding_object_1)
+       (sfnt_safe_encode_coding_object_2):
+       (sfnt_safe_encode_coding_object): Use decode_coding_object
+       instead of encode_coding_object.
+       (sfnt_decode_font_string): Adjust for rename.
+       (sfnt_decode_foundry_name): New function.
+       (sfnt_weight_descriptions, sfnt_slant_descriptions)
+       (sfnt_width_descriptions): Fix definitions.
+       (sfnt_parse_style): Make function work.
+       (sfnt_enum_font): Initialize designer, char-cache and subtable
+       platform ID.
+       (sfntfont_charset_for_name, mark_sfntfont)
+       (sfntfont_charset_for_cmap): New functions.
+       (syms_of_sfntfont): New variable `sfnt-default-family-alist'.
+
+       * src/sfntfont.h (_SFNTFONT_H_): Update prototypes.
+
+       * src/xdisp.c (gui_union_rectangles): New function.
+
+2023-01-11  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       1cbc22b9c7f CC Mode: partially revert commit from 2022-10-04
+       136c0272215 Fix reftex-citation docstring (bug#60710)
+       64fe6bdb618 Improve 'describe-char-fold-equivalences' docstring
+       fda1ad4a9ec Remove obsolete server buffers on MOTD in erc-track
+       bb98666d03f ; Fix wrong type in erc-ignore hide-list options
+       c267cd01517 ; Kill some stray buffers left behind by ERC tests
+       f31e65694ca Fix completion-auto-help docstring (bug#60709)
+
+2023-01-10  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       55aabfea4ac Fix c-ts-mode comment indent
+       8377ed5298f Highlight identifier in import statements in js-ts-mode
+       aa9df1260c3 Don't print named tree-sitter nodes with parenthesizes (b...
+       e385c099b8c Improve fontification for import-statements in typescript...
+       28dd6021384 Fix c-ts-mode indentation for 2nd line in block comment (...
+       8a36a0f44aa ; xref.el: Bump version
+       f16cc7c49c7 ; project.el: Bump version
+       ebc5263667b ; * src/callint.c (Finteractive): Doc string clarification.
+       c1401d1c6c8 * lisp/vc/diff-mode.el (diff-font-lock-keywords): Check f...
+       1f8ad353d9f Minor improvement for tree-sitter explorer
+       ef87c755660 Make sure NODE is not the root node in tree-sitter indent...
+       1238fa8e49b Fix label indent of GNU and Linux style in c-ts-mode (bug...
+       dc911e4ba5c Improve go-ts-mode Imenu, navigation and electric pair (b...
+       20f36c8f6f9 ; ruby.rb: Fix pattern matching syntax and extend the exa...
+       d46f7f4edcc Revert "Add c-or-c++-ts-mode (bug#59613)"
+       1469aac20d8 ; * src/pgtkfns.c (parse_resource_key): Use recursive sch...
+       da96a1fd741 Add back renamed function 'font-lock-fontify-syntacticall...
+       b1aa720671e ; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warni...
+       5cb01ac5d78 ; * src/callint.c (Finteractive): Fix the doc string (bug...
+       53e64cfb852 Improve options and docs of M-x command completion
+       fef4f18cc33 ; Fix NEWS
+       e04b3d41bb4 Update to Org 9.6-90-ga6523f
+       e3d806b4172 Fix string fontification on python-ts-mode (bug#60599)
+       800e15e3be0 Fix string-interpolation feature of python-ts-mode (bug#6...
+       38b63f4c3ce Add indentation rule for concatenated_string (bug#60572)
+       2cdd75a18ff Fix highlighting of variable-declarations in typescript-t...
+       73168793c01 Fix label indentation for Linux style in c-ts-mode (bug#6...
+       8575043f56b Remove duplicate entries in c-ts-mode's Imenu
+       ef7f3c6388b Fix use of treesit-ready-p in c/c++-ts-mode
+       cc1de953d4f ; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- mo...
+       16f1e47ca8b ; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.
+       508389ad2bb Add documentation for c/c++-ts-mode (bug#60443)
+       ee3e8d3f927 (ruby-ts--font-lock-settings): Improve highlighting in pa...
+       614f8c431d3 Optionally include the namespace in c-ts-mode--declarator...
+       7c356934fbb Support namespaces in c++-ts-mode (bug#60397)
+       757c2c25922 Fix c-ts-mode--looking-at-star
+       1df2826639c Add c-or-c++-ts-mode (bug#59613)
+       0cb686ffb6b Document the 'definition-name' property.
+       7f855b5297b ; Fix description of etc/DOC
+       e9341119fe4 ; Fix documentation of etc/DOC
+       86a3462e3d2 (treesit-simple-indent-presets): Do that for 'or' as well.
+       e0fef510b00 ; Minor rewording of tree-sitter terminology
+       f58452e3ae7 Fix 'python-shell-buffer-substring' when START is in midd...
+       7f9588685a0 ; Fix last change
+       e8b85f225d9 Rearrange the "Saving Emacs Sessions" section of the user...
+
+       # Conflicts:
+       #       etc/NEWS
+       #       lisp/progmodes/c-ts-mode.el
+
+2023-01-09  Theodor Thornhill  <theo@thornhill.no>
+
+       Add named defun for transpose-sexps-default-function (bug#60654)
+
+       * lisp/simple.el (transpose-sexps-default-function): Move the lambda
+       into its own function.
+       (transpose-sexps-function): Refer to it by name.
+       * etc/NEWS: Mention the change.
+
+2023-01-09  Eli Zaretskii  <eliz@gnu.org>
+
+       Remove unneeded restriction in using AEAD ciphers with GnuTLS
+
+       * src/gnutls.c (gnutls_symmetric_aead): Disable the enforcement of
+       block size on input data.  (Bug#60693)
+
+2023-01-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add remote-file-name-inhibit-delete-by-moving-to-trash
+
+       * doc/emacs/files.texi (Misc File Ops):
+       * doc/lispref/files.texi (Changing Files):
+       * doc/misc/tramp.texi (Frequently Asked Questions):
+       * etc/NEWS: Explain remote-file-name-inhibit-delete-by-moving-to-trash.
+
+       * lisp/files.el (remote-file-name-inhibit-delete-by-moving-to-trash):
+       New defcustom.  (Bug#60460)
+
+       * lisp/net/ange-ftp.el (ange-ftp-delete-file):
+       * lisp/net/tramp.el (tramp-skeleton-delete-directory):
+       Handle `remote-file-name-inhibit-delete-by-moving-to-trash'.
+       (tramp-skeleton-delete-file): New defmacro.
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-delete-file):
+       * lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-file):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-file):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-delete-file):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-delete-file):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-file): Use 
it.
+
+       * lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory)
+       (tramp-crypt-handle-delete-file): Rearrange.
+
+       * lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-directory):
+       Use `tramp-skeleton-delete-directory'.
+
+       * test/lisp/net/tramp-tests.el
+       (remote-file-name-inhibit-delete-by-moving-to-trash): Declare.
+       (tramp-test07-file-exists-p, tramp-test14-delete-directory)
+       (tramp-test48-unload): Extend tests.
+
+2023-01-08  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+       * configure.ac (ANDROID_OBJS): Add sfntfont files.
+
+2023-01-08  Po Lu  <luangruo@yahoo.com>
+
+       Check in new files
+
+       * src/sfnt.h:
+       * src/sfntfont-android.c:
+       * src/sfntfont.c:
+       * src/sfntfont.h: New files.
+
+2023-01-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       Note that the port currently does not work as of this check-in.
+
+       * src/android.c (android_change_gc): Fix situations where clip
+       rects are cleared.
+       (android_create_pixmap_from_bitmap_data): Fix bitmap data
+       iteration.
+       * src/androidfns.c (Fx_show_tip, Fx_hide_tip): Remove annoying
+       errors.
+
+       * src/androidgui.h (enum android_event_type):
+       (struct android_crossing_event):
+       (struct android_motion_event):
+       (struct android_button_event):
+       (union android_event): New crossing, motion and button events.
+
+       * src/androidterm.c (android_note_mouse_movement)
+       (mouse_or_wdesc_frame, android_construct_mouse_click)
+       (handle_one_android_event, android_mouse_position)
+       (android_wait_for_event, android_set_window_size_1)
+       (android_bitmap_icon, android_free_frame_resources)
+       (syms_of_androidterm): New functions.  Handle crossing, motion
+       and button events.
+
+       * src/androidterm.h (struct android_display_info): New field
+       `last_mouse_movement_time'.
+       (struct android_output): Remove unused `need_buffer_flip' field.
+
+       * src/emacs.c (android_emacs_init): Initialize sfntfont.
+       * src/frame.c (syms_of_frame): Set frame_inhibit_implied_resize
+       to some reasonable value.
+       * src/frame.h (GCALIGNED_STRUCT): Set wait_event_type on
+       Android.
+
+       * src/sfnt.c (eassert):
+       (TEST_STATIC):
+       (available):
+       (enum sfnt_table):
+       (sfnt_table_names):
+       (SFNT_ENDOF):
+       (struct sfnt_table_directory):
+       (enum sfnt_scaler_type):
+       (sfnt_coerce_fixed):
+       (struct sfnt_hhea_table):
+       (struct sfnt_cmap_table):
+       (enum sfnt_platform_id):
+       (enum sfnt_unicode_platform_specific_id):
+       (enum sfnt_macintosh_platform_specific_id):
+       (enum sfnt_microsoft_platform_specific_id):
+       (struct sfnt_cmap_encoding_subtable):
+       (struct sfnt_cmap_encoding_subtable_data):
+       (struct sfnt_cmap_format_0):
+       (struct sfnt_cmap_format_2_subheader):
+       (struct sfnt_cmap_format_2):
+       (struct sfnt_cmap_format_4):
+       (struct sfnt_cmap_format_6):
+       (struct sfnt_cmap_format_8_or_12_group):
+       (struct sfnt_cmap_format_8):
+       (struct sfnt_cmap_format_12):
+       (struct sfnt_maxp_table):
+       (struct sfnt_loca_table_short):
+       (struct sfnt_loca_table_long):
+       (struct sfnt_glyf_table):
+       (struct sfnt_simple_glyph):
+       (struct sfnt_compound_glyph_component):
+       (struct sfnt_compound_glyph):
+       (struct sfnt_glyph):
+       (sfnt_read_table_directory):
+       (file):
+       (sfnt_read_cmap_table):
+       (sfnt_read_head_table):
+       (success):
+       (sfnt_read_hhea_table):
+       (sfnt_read_loca_table_short):
+       (sfnt_read_loca_table_long):
+       (sfnt_read_maxp_table):
+       (sfnt_read_glyf_table):
+       (sfnt_read_compound_glyph):
+       (sfnt_read_glyph):
+       (struct sfnt_point):
+       (sfnt_expand_compound_glyph_context):
+       (sfnt_decompose_compound_glyph):
+       (struct sfnt_glyph_outline):
+       (enum sfnt_glyph_outline_flags):
+       (struct sfnt_build_glyph_outline_context):
+       (sfnt_build_append):
+       (sfnt_build_glyph_outline):
+       (struct sfnt_raster):
+       (struct sfnt_edge):
+       (sfnt_prepare_raster):
+       (sfnt_build_outline_edges):
+       (sfnt_raster_glyph_outline): Move structures to sfnt.h.
+
+       (struct sfnt_long_hor_metric):
+       (struct sfnt_hmtx_table):
+       (struct sfnt_glyph_metrics):
+       (sfnt_read_hmtx_table):
+       (sfnt_lookup_glyph_metrics):
+       (sfnt_read_name_table):
+       (sfnt_find_name):
+       (sfnt_read_meta_table):
+       (sfnt_find_metadata):
+       (sfnt_test_edge_ignore): New functions.
+       (main): Add new tests.
+       * src/xdisp.c (redisplay_tool_bar):
+
+2023-01-08  Po Lu  <luangruo@yahoo.com>
+
+       Delete unused files
+
+       * java/org/gnu/emacs/EmacsPaintQueue.java
+       * java/org/gnu/emacs/EmacsPaintReq.java: Remove files.
+
+2023-01-08  Po Lu  <luangruo@yahoo.com>
+
+       Update Java part of Android port
+
+       * java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea, perform)
+       (paintTo):
+       * java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine):
+       * java/org/gnu/emacs/EmacsDrawPoint.java (EmacsDrawPoint):
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (EmacsDrawRectangle)
+       (paintTo):
+       * java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable):
+       * java/org/gnu/emacs/EmacsFillPolygon.java (EmacsFillPolygon):
+       * java/org/gnu/emacs/EmacsFillRectangle.java
+       (EmacsFillRectangle):
+       * java/org/gnu/emacs/EmacsFontDriver.java (EmacsFontDriver):
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC):
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative):
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
+       * java/org/gnu/emacs/EmacsSdk23FontDriver.java
+       (EmacsSdk23FontDriver):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java
+       (EmacsSdk7FontDriver, textExtents1, textExtents, draw):
+       * java/org/gnu/emacs/EmacsService.java (EmacsService, copyArea):
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, onLayout)
+       (onFocusChanged):
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, run)
+       (resizeWindow, lockCanvas, getBitmap, onKeyDown, onKeyUp)
+       (onActivityDetached): Move rendering to main thread.  Make
+       drawing operations completely static.
+
+2023-01-08  Po Lu  <luangruo@yahoo.com>
+
+       Check in new file androidmenu.c
+
+       * src/androidmenu.c: New file.
+
+2023-01-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to recent Gnulib macro renaming
+
+       Also, remove some references to unused Gnulib macros.
+
+2023-01-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-01-07  Po Lu  <luangruo@yahoo.com>
+
+       Check in new file sfnt.c
+
+       * src/sfnt.c (xmalloc, xrealloc, xfree, eassert, MIN)
+       (sfnt_table_names, SFNT_ENDOF, struct sfnt_table_directory)
+       (enum sfnt_scaler_type, sfnt_coerce_fixed, struct sfnt_hhea_table)
+       (struct sfnt_cmap_table, enum sfnt_platform_id)
+       (enum sfnt_unicode_platform_specific_id)
+       (enum sfnt_macintosh_platform_specific_id)
+       (enum sfnt_microsoft_platform_specific_id)
+       (struct sfnt_cmap_encoding_subtable)
+       (struct sfnt_cmap_encoding_subtable_data)
+       (struct sfnt_cmap_format_0, struct sfnt_cmap_format_2_subheader)
+       (struct sfnt_cmap_format_2, struct sfnt_cmap_format_4)
+       (struct sfnt_cmap_format_6, struct sfnt_cmap_format_8_or_12_group)
+       (struct sfnt_cmap_format_8, struct sfnt_cmap_format_12)
+       (struct sfnt_maxp_table, struct sfnt_loca_table_short)
+       (struct sfnt_loca_table_long, struct sfnt_glyf_table)
+       (struct sfnt_simple_glyph, struct sfnt_compound_glyph_component)
+       (struct sfnt_compound_glyph, struct sfnt_glyph, _sfnt_swap16)
+       (_sfnt_swap32, sfnt_swap16, sfnt_find_table)
+       (sfnt_read_cmap_format_0, sfnt_read_cmap_format_2)
+       (sfnt_read_cmap_format_4, sfnt_read_cmap_format_6)
+       (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12)
+       (sfnt_read_cmap_table_1, sfnt_read_cmap_table, sfnt_lookup_glyph_0)
+       (sfnt_lookup_glyph_2, sfnt_bsearch_above, sfnt_compare_uint16)
+       (sfnt_lookup_glyph_4, sfnt_lookup_glyph_6, sfnt_lookup_glyph_8)
+       (sfnt_lookup_glyph_12, sfnt_lookup_glyph, sfnt_read_head_table)
+       (sfnt_read_hhea_table, sfnt_read_loca_table_short)
+       (sfnt_read_loca_table_long, sfnt_read_maxp_table)
+       (sfnt_read_glyf_table, sfnt_read_simple_glyph)
+       (sfnt_read_compound_glyph, sfnt_read_glyph, sfnt_free_glyph)
+       (struct sfnt_point, sfnt_transform_coordinates)
+       (struct sfnt_compound_glyph_context)
+       (sfnt_expand_compound_glyph_context, sfnt_round_fixed)
+       (sfnt_decompose_compound_glyph, sfnt_lerp_half)
+       (sfnt_decompose_glyph, struct sfnt_glyph_outline)
+       (enum sfnt_glyph_outline_flags)
+       (struct sfnt_build_glyph_outline_context, sfnt_build_append)
+       (sfnt_move_to_and_build, sfnt_line_to_and_build, sfnt_mul_fixed)
+       (sfnt_div_fixed, sfnt_ceil_fixed, sfnt_floor_fixed)
+       (sfnt_curve_is_flat, sfnt_curve_to_and_build_1)
+       (sfnt_curve_to_and_build, sfnt_build_glyph_outline)
+       (struct sfnt_raster, struct sfnt_edge, sfnt_poly_coverage)
+       (sfnt_poly_grid_ceil, sfnt_prepare_raster, sfnt_step_edge_by)
+       (sfnt_build_outline_edges, sfnt_compare_edges, sfnt_poly_edges)
+       (sfnt_saturate_short, sfnt_fill_span, sfnt_poly_span)
+       (sfnt_raster_span, sfnt_raster_edge, sfnt_raster_glyph_outline)
+       (struct sfnt_long_hor_metric, struct sfnt_hmtx_table)
+       (struct sfnt_glyph_metrics, sfnt_read_hmtx_table)
+       (sfnt_lookup_glyph_metrics, struct sfnt_test_dcontext)
+       (sfnt_test_move_to, sfnt_test_line_to, sfnt_test_curve_to)
+       (sfnt_test_get_glyph, sfnt_test_free_glyph, sfnt_test_span)
+       (sfnt_test_edge, sfnt_test_raster, main): Check in
+       5000-line-long file written by me for reading TrueType and
+       OpenType fonts with TrueType outlines.
+
+2023-01-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Add new Tramp method "toolbox"
+
+       * doc/misc/tramp.texi (Inline methods): Add toolbox.
+
+       * etc/NEWS: Add new Tramp method "toolbox".
+
+       * lisp/net/tramp-container.el (tramp-toolbox-program): New defcustom.
+       (tramp-toolbox-method): New defconst.
+       (tramp-toolbox--completion-function): New defun.  Set it for "toolbox".
+       (tramp-methods) <toolbox>: Add.
+       (tramp-default-host-alist): Add rule for "toolbox".
+
+2023-01-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       Minor tramp-archive.el fix
+
+       * lisp/net/tramp-archive.el (tramp-archive-file-name-regexp):
+       Use `ignore-errors'.
+
+2023-01-07  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       9d410f8de64 (treesit-simple-indent-presets): Ensure 'and' works for a...
+       ff66a5d324b (treesit--indent-rules-optimize): Optimize 'and' and 'or'...
+       f2ebe43362c (treesit-simple-indent-presets): Short-circuit 'and' and ...
+       2ea6ee5cbfa (font-lock-regexp-face): New face
+       5ab03bcc433 Unify the string interpolation delimiters face across ts ...
+       92e8c0c091c ruby-ts-mode: Highlight more kinds of parameters
+       7420b6dcc37 Fix `pr-interface'
+       699711786ac Further generic-related improvements in csharp-ts-mode (b...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to current Gnulib file-has-acl
+
+       * lib-src/Makefile.in (FILE_HAS_ACL_LIB): Rename from LIB_HAS_ACL,
+       to adjust to recent Gnulib renaming.  All uses changed.
+
+2023-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2023-01-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Add new SI prefixes R, Q in other places
+
+       * lisp/dired-x.el (dired-x--string-to-number, dired-mark-sexp):
+       * lisp/dired.el (dired-re-inode-size):
+       * lisp/files.el (directory-listing-before-filename-regexp):
+       * src/xdisp.c (power_letter):
+       * src/xdisp.c: Include stdint.h.
+       Check that the prefixes suffice for ptrdiff_t.
+
+2023-01-06  Michael Albinus  <michael.albinus@gmx.de>
+
+       Remove Emacs 26 compatibility from Tramp
+
+       * doc/misc/tramp.texi (Remote processes): Don't mention Emacs version.
+       (Frequently Asked Questions): Adapt supported Emacs versions.
+
+       * doc/misc/trampver.texi:
+       * lisp/net/trampver.el: Change version to "2.7.0-pre".
+
+       * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
+       (tramp-compat-file-name-quote, tramp-compat-file-name-unquote)
+       (tramp-compat-tramp-syntax, tramp-compat-exec-path)
+       (tramp-compat-time-equal-p, tramp-compat-flatten-tree)
+       (tramp-compat-progress-reporter-update)
+       (tramp-compat-ignore-error, tramp-compat-rx--transform-item)
+       (tramp-compat-rx--transform, tramp-compat-rx): Remove.
+
+       * lisp/net/tramp-adb.el:
+       * lisp/net/tramp-archive.el:
+       * lisp/net/tramp-cache.el:
+       * lisp/net/tramp-cmds.el:
+       * lisp/net/tramp-crypt.el:
+       * lisp/net/tramp-fuse.el:
+       * lisp/net/tramp-gvfs.el:
+       * lisp/net/tramp-integration.el:
+       * lisp/net/tramp-rclone.el:
+       * lisp/net/tramp-sh.el:
+       * lisp/net/tramp-smb.el:
+       * lisp/net/tramp-sshfs.el:
+       * lisp/net/tramp-sudoedit.el:
+       * lisp/net/tramp.el:
+       * lisp/net/trampver.el: Replace the removed `tramp-compat-*' items
+       by their real definition.  Don't use `tramp-compat-funcall' when
+       not needed.  Remove `with-no-warnings' and `ignore-errors' where
+       appropriate.
+
+       * lisp/net/tramp.el (tramp-file-name-for-operation): Rearrange list.
+       (tramp-handle-file-newer-than-file-p): Simplify.
+       (tramp-get-process-attributes): Don't check for existence of
+       `connection-local-criteria-for-default-directory'.
+       (tramp-handle-shell-command): Don't check for existence of
+       `shell-command-save-pos-or-erase', `async-shell-command-width' and
+       `shell-command-set-point-after-cmd'.
+       (tramp-handle-start-file-process): Call `make-process' directly.
+       (tramp-defined-time): New defsubst.
+       (tramp-get-local-gid): Don't check for existence of `group-name'.
+
+       * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
+       Use `tramp-defined-time'.
+       (tramp-adb-get-signal-strings): Don't bind `shell-file-name' and
+       `shell-command-switch'.
+
+       * lisp/net/tramp-archive.el (top, tramp-archive-file-name-handler):
+       Don't bind `max-specpdl-size' any longer.
+       (tramp-archive-autoload-file-name-regexp): Remove Emacs 26
+       specific code.
+       (top): Don't call `tramp-register-archive-autoload-file-name-handler'.
+
+       * lisp/net/tramp-gvfs.el (top): Don't bind `max-specpdl-size' any 
longer.
+       (tramp-gvfs-handle-set-file-times): Use `tramp-defined-time'.
+
+       * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
+       Use `tramp-defined-time'.
+
+       * test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs27-p):
+       Remove.
+       (all):
+       * test/lisp/net/tramp-tests.el (all): Don't skip for Emacs 26.
+       Replace the removed `tramp-compat-*' items by their real
+       definition.  Don't use `tramp-compat-funcall' when not needed.
+       Remove `with-no-warnings' and `ignore-errors' where appropriate.
+       (with-connection-local-variables)
+       (shell-command-dont-erase-buffer): Don't declare.
+       (tramp-test10-write-region): Don't check for `make-empty-file'.
+       (tramp-test32-shell-command): Simplify.
+       (tramp-test34-explicit-shell-file-name): Don't protect
+       `explicit-shell-file-name' any longer.
+       (tramp--test-emacs27-p): Remove.
+
+2023-01-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       0f5e74f1734 ruby-ts-mode: Highlight method and block parameters
+       f1aa306f915 ruby-ts-mode: Highlight variable assignments
+       089b08eb3eb ruby-ts-mode: Move 'self' and 'super' from constants to k...
+       7ede600273c (ruby-ts-mode): Split font-lock feature 'builtin' into two
+       ec172d748f3 Avoid assertion violation due to fill-column indicator face
+       62c2963ce60 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       2e6070f16c4 ; Another review of etc/NEWS
+       16eca92415b ; * src/gnutls.c (Fgnutls_deinit): Fix typo in doc string...
+       4753b587868 * lisp/cedet/semantic/symref/grep.el: Support ts-modes (b...
+       8a18369afdc ; Another fix for doc strings of 2 treesit.el functions
+       3fc68833517 ; Fix the doc strings of 2 treesit.el functions
+       83ce7c861e1 Make 'toml-ts-mode' optional
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       Remove obsolete Tramp items
+
+       * etc/NEWS: Obsolete user option
+       'tramp-completion-reread-directory-timeout' has been removed.  Fix 
typos.
+
+       * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
+       Ignore `make-directory-internal'.
+
+       * lisp/net/tramp-sh.el (tramp-get-remote-trash): Remove.
+
+       * lisp/net/tramp-smb.el (tramp-smb-handle-make-directory-internal):
+       Remove.
+
+       * lisp/net/tramp.el (tramp-default-user): Fix docstring.
+       (tramp-completion-reread-directory-timeout): Remove.
+
+2023-01-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       92f753dc190 ; * etc/NEWS: Fix wording in last change.
+       cef875f6c51 ; * etc/NEWS: Instructions for builds without tree-sitter...
+       8d530ca6542 ; Fix documentation of y-or-n-p/yes-or-no-p
+       c18878ee0a2 Fix bug in Tramp multi-hop
+       7eed8e050a9 * lisp/files.el (find-sibling-rules): Fix docstring.
+       6b5831c6964 Tree-sitter doc fixes (bug#60524)
+       651927ac391 ; Fix function reference in comment in c-ts-mode.el (bug#...
+       c786afcbb9f Fontify C++ function definitions in c-ts-mode (bug#60529)
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       0d98fac6bbc (ruby-ts-add-log-current-function): Fix when between two ...
+       da69f116bfc ; * doc/lispref/positions.texi (List Motion): Minor wordi...
+       0b0eae0bf76 ; Improve documentation of 'treesit-language-source-alist'
+       ae0d218d0b3 ; * etc/NEWS: Mention treesit-install-language-grammar.
+       de3df3bc51e * lisp/vc/vc-git.el (vc-git-checkin): Pass vc-git-diff-sw...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Styled quotes in compiler warnings
+
+       * lisp/emacs-lisp/byte-run.el (byte-run--parse-body)
+       (byte-run--unescaped-character-literals-warning):
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment)
+       (byte-compile-form, bytecomp--warn-dodgy-eq-arg):
+       * lisp/emacs-lisp/cconv.el (cconv--warn-unused-msg):
+       * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
+       * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
+       * lisp/emacs-lisp/eieio.el (defclass):
+       * lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda)
+       (macroexp--expand-all):
+       * lisp/emacs-lisp/pcase.el (pcase--u1):
+       * lisp/subr.el (when, unless, ignore-error, lsh, sit-for)
+       (with-demoted-errors):
+       Use format-message to ensure properly styled quotes in compiler
+       warning messages.
+
+2023-01-03  Mattias Engdegård  <mattiase@acm.org>
+
+       Data argument to `signal` should be a list
+
+       * lisp/calendar/iso8601.el (iso8601-parse, iso8601-parse-date)
+       (iso8601-parse-time, iso8601-parse-zone, iso8601-parse-duration)
+       (iso8601-parse-interval):
+       * lisp/emacs-lisp/cl-lib.el (cl-values-list):
+       * lisp/emacs-lisp/comp.el (comp-decrypt-arg-list)
+       (comp-spill-lap-function, comp-emit-switch)
+       (comp-compute-dominator-tree, comp-final):
+       * lisp/image.el (image-type):
+       * lisp/image/exif.el (exif--parse-jpeg, exif--parse-exif-chunk)
+       (exif--parse-directory, exif--read-chunk, exif--read-number-be)
+       (exif--read-number-le):
+       * lisp/vc/vc.el (vc-default-last-change):
+       Wrap obvious non-list data arguments to `signal` in a list.
+
+2023-01-03  Po Lu  <luangruo@yahoo.com>
+
+       Fix potential crash with fast mouse position enabled
+
+       * src/xterm.c (x_free_frame_resources): Clear
+       last_mouse_motion_frame and last_mouse_frame if required.
+
+2023-01-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       6dd3e352f44 Extract common code into ruby-base-mode to derive from
+       94e330243e1 ruby-ts-mode: Indentation fixes
+       9b24417dda8 ruby-ts--font-lock-settings: Use more standard faces
+       9e6536e4d96 ruby-ts-mode: Standardize the string literal highlights
+       1a9a1fdebf6 Improve fontification in java-ts-mode (bug#60492)
+       dfdf9c21cbe Fontification improvements in typescript-ts-mode (bug#60500)
+       68e68dfeefe Improve fontification consistency in js-ts-mode (bug#60503)
+       aef869e74f4 ; Update tree-sitter manual
+       4ef12cfb1fc ; Fix tree-sitter manual title case
+       aab8ddca5e1 ; nt/INSTALL: Update for Emacs 29.
+       809fbb0e8c4 ; Update copyright notice in tramp-sh.el
+       f8f5202487c (typescript/tsx-ts-mode): Split font-lock feature list in...
+       a86a213e1ac js-ts-mode: Move 'string-interpolation' to font-lock level 3
+       d26b523886e Fix shrinking of the tab-bar
+       3f7ea621b90 ; Fix typos in ruby-ts-mode.el
+       9599b054316 ; Skip ruby-ts tests if grammar is not available
+       ff35ac9dfab Fix default-port regression in erc-select-read-args
+       b7ad0b40148 ; Clarify doc strings of 'call-process' and 'call-process...
+
+2023-01-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve interactive file-saving performance
+
+       * src/fileio.c (init_fileio):
+       No longer any need to set write-region-inhibit-fsync here.
+       (syms_of_fileio): Default write-region-inhibit-fsync to t (Bug#60474).
+
+2023-01-02  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2023-01-02  Po Lu  <luangruo@yahoo.com>
+
+       Update Android port
+
+       * Makefile.in (java): Depend on info.
+       (MAKEFILE_NAME):
+       (config.status): Remove unneeded changes.
+       * configure.ac (BUILD_DETAILS, ANDROID_STUBIFY): Don't require a
+       C++ compiler on Android.
+       * java/AndroidManifest.xml: <EmacsActivity>: Set launchMode
+       appropriately.  <EmacsMultitaskActivity>: New activity.
+       * java/Makefile.in (CROSS_BINS): Add EmacsClient.
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
+       (onCreate): Use the window attachment manager.
+       * java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea)
+       (paintTo): Implement clip masks correctly.
+       * java/org/gnu/emacs/EmacsDrawRectangle.java (getRect, paintTo):
+       Fix damage tracking rectangles.
+       * java/org/gnu/emacs/EmacsFontDriver.java (FontSpec, toString):
+       New function.
+       (FontMetrics, EmacsFontDriver): Fix signature of textExtents.
+       * java/org/gnu/emacs/EmacsMultitaskActivity.java
+       (EmacsMultitaskActivity): New file.
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
+       functions sendFocusIn, sendFocusOut, sendWindowAction.
+       * java/org/gnu/emacs/EmacsPaintQueue.java (run): Fix clipping
+       handling.
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): Add
+       constructor for mutable pixmaps.
+       * java/org/gnu/emacs/EmacsSdk23FontDriver.java
+       (EmacsSdk23FontDriver): New file.
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java
+       (EmacsSdk7FontDriver, Sdk7Typeface, Sdk7FontEntity, Sdk7FontObject)
+       (checkMatch, hasChar, encodeChar): Implement text display and
+       fix font metrics semantics.
+
+       * java/org/gnu/emacs/EmacsService.java (EmacsService): Remove
+       availableChildren.
+       (getLibraryDirectory, onCreate): Pass pixel density to Emacs.
+       (clearArea): Fix arguments.  Switch to using the window
+       attachment manager.
+       * java/org/gnu/emacs/EmacsSurfaceView.java (surfaceChanged)
+       (surfaceCreated): Flip buffers on surface attachment.
+       * java/org/gnu/emacs/EmacsView.java (EmacsView, swapBuffers):
+       New argument FORCE.  Always swap if it is true.
+       (onKeyMultiple, onFocusChanged): New functions.
+
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, destroyHandle)
+       (run): Switch to using the window attachment manager.
+       * java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+       (EmacsWindowAttachmentManager): New file.
+
+       * lisp/cus-edit.el (custom-button, custom-button-mouse)
+       (custom-button-pressed):
+       * lisp/faces.el (tool-bar): Define faces correctly on Android.
+       * src/android.c (struct android_emacs_pixmap): Add mutable
+       constructor.
+       (struct android_emacs_drawable): New structure.
+       (android_write_event): Check if event queue hasn't yet been
+       initialized.
+       (android_select): Set errno to EINTR if pselect fails.
+       (android_close): Remove unused debugging code.
+       (android_get_home_directory): New function.
+       (Java_org_gnu_emacs_EmacsNative_setEmacsParams): Set pixel
+       density and compute game path.
+       (android_init_emacs_drawable): New function.
+       (Java_org_gnu_emacs_EmacsNative_sendKeyPress): New argument
+       `unicode_char'.  Pass it in events.
+       (Java_org_gnu_emacs_EmacsNative_sendKeyRelease): Likewise.
+       (Java_org_gnu_emacs_EmacsNative_sendFocusIn)
+       (Java_org_gnu_emacs_EmacsNative_sendFocusOut)
+       (Java_org_gnu_emacs_EmacsNative_sendWindowAction): New
+       functions.
+       (android_resolve_handle): Export function.
+       (android_change_gc): Clear clip rects under the right
+       circumstances.  Set right clip mask field.
+       (android_create_pixmap_from_bitmap_data): Use correct alpha
+       channels.
+       (android_create_pixmap): Create mutable pixmap and avoid
+       redundant color array allocation.
+       (android_create_bitmap_from_data, android_create_image)
+       (android_destroy_image, android_put_pixel, android_get_pixel)
+       (android_get_image, android_put_image, faccessat): New
+       functions.
+
+       * src/android.h: Update prototypes.
+
+       * src/androidfns.c (android_default_font_parameter): Prefer
+       monospace to Droid Sans Mono.
+       * src/androidfont.c (struct android_emacs_font_driver): New
+       method `draw'.
+       (struct android_emacs_font_spec): New field `dpi'.
+       (struct androidfont_info): Add font metrics cache.
+       (android_init_font_driver, android_init_font_spec): Adjust
+       accordingly.
+       (androidfont_from_lisp, androidfont_from_java): Handle new
+       fields.
+       (androidfont_draw): Implement function.
+       (androidfont_open_font): Set pixel size correctly.
+       (androidfont_close_font): Free metrics cache.
+       (androidfont_cache_text_extents)
+       (androidfont_check_cached_extents): New functions.
+       (androidfont_text_extents): Cache glyph metrics somewhere for
+       future use.
+       (androidfont_list_family): Implement function.
+
+       * src/androidgui.h (enum android_event_type): New focus and
+       window action events.
+       (enum android_modifier_mask): New masks.
+       (struct android_key_event): New field `unicode_char'.
+       (ANDROID_IS_MODIFIER_KEY): Newmacro.
+       (struct android_focus_event, struct
+       android_window_action_event): New structs.
+       (union android_event): Add new fields.
+       (enum android_image_format, struct android_image): New enums and
+       structs.
+
+       * src/androidterm.c (android_android_to_emacs_modifiers)
+       (android_emacs_to_android_modifiers, android_lower_frame)
+       (android_raise_frame, android_new_focus_frame)
+       (android_focus_changed, android_detect_focus_change): New
+       functions.
+       (handle_one_android_event): Implement focus and key event
+       handling.
+       (android_frame_rehighlight): New function.
+       (android_frame_raise_lower): Implement accordingly.
+       (android_make_frame_invisible): Clear highlight_frame if
+       required.
+       (android_free_frame_resources): Clear x_focus_event_frame if
+       required.
+       (android_draw_fringe_bitmap, android_draw_image_foreground)
+       (android_draw_image_foreground_1)
+       (android_draw_image_glyph_string): Remove unnecessary code.
+       (android_create_terminal, android_term_init): Set the baud rate
+       to something sensible.
+       * src/androidterm.h (struct android_bitmap_record): Make
+       structure the same as on X.
+       (struct android_display_info): New focus tracking fields.
+       (struct android_output): Likewise.
+       * src/dispextern.h (struct image): Add ximg and mask_img on
+       Android.
+
+       * src/emacs.c (android_emacs_init): Fix argc sorting iteration.
+
+       * src/fileio.c (user_homedir):
+       (get_homedir): Implement correctly on Android.
+
+       * src/font.h (PT_PER_INCH): Define correctly on Android.
+
+       * src/fringe.c (X, swap_nibble, init_fringe_bitmap): Swap fringe
+       bitmaps correctly on Android.
+
+       * src/image.c (GET_PIXEL, image_create_bitmap_from_data)
+       (image_create_bitmap_from_file, free_bitmap_record)
+       (image_unget_x_image_or_dc, struct image_type)
+       (prepare_image_for_display, image_clear_image_1)
+       (image_size_in_bytes, x_check_image_size)
+       (x_create_x_image_and_pixmap, x_destroy_x_image)
+       (image_check_image_size, image_create_x_image_and_pixmap_1)
+       (image_destroy_x_image, gui_put_x_image, image_put_x_image)
+       (image_get_x_image, image_unget_x_image)
+       (Create_Pixmap_From_Bitmap_Data, image_pixmap_draw_cross)
+       (MaskForeground, image_types, syms_of_image): Implement all of
+       the above on Android in terms of an API very similar to X.
+
+       * src/keyboard.c (FUNCTION_KEY_OFFSET, lispy_function_keys):
+       Define on Android to something sensible.
+
+       * src/lread.c (build_load_history): Fix problem.
+
+2023-01-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       4520f09dd8b ; * admin/git-bisect-start: Update failing commits
+       2569ede9c49 Update to Org 9.6-81-g563a43
+       d9ed736f0a7 ruby-ts-mode: Remove some currently unused functions
+       45618447203 ruby-ts-mode: Highlight singleton method definitions and ...
+       0562006da3b Add ruby-ts-mode
+       84e7c2fbc85 Fix fontification of C++ reference return types (bug#60441)
+       1864b65af60 ; Minor fix for treesit--install-language-grammar-1 (bug#...
+       8994f87ad40 Adjust function-call fontification in csharp-ts-mode (bug...
+       411647a3f65 ; Fix NEWS.
+       7b0b17df67e Rewrite Antinews in ELisp manual for Emacs 29
+       f12f72b0e09 ; * lisp/simple.el (primitive-undo): Clarify error messag...
+       7fd822e7f52 Update Antinews in the user manual for Emacs 29
+       da77d70deeb ; * test/lisp/emacs-lisp/copyright-tests.el: Fix and futu...
+       2baf9e107c1 Fix shortdoc-tests failure with respect to regexp-opt-cha...
+       5aeb8de32ee ; Fix copyright years in 2 more files.
+
+       # Conflicts:
+       #       etc/NEWS
+
+2023-01-02  Andreas Schwab  <schwab@linux-m68k.org>
+
+       Fix build with older versions of gnutls
+
+       * src/gnutls.c (key_file2_aux): Use GNUTLS_PKCS_* constants only
+       if defined.
+
+2023-01-01  Protesilaos Stavrou  <info@protesilaos.com>
+
+       Update Modus themes to version 4 and add new themes
+
+       * etc/NEWS: Document the addition of four new Modus themes.
+
+       * doc/misc/modus-themes.org: Update the manual.
+
+       * etc/themes/modus-operandi-deuteranopia-theme.el:
+       * etc/themes/modus-operandi-theme.el:
+       * etc/themes/modus-operandi-tinted-theme.el:
+       * etc/themes/modus-vivendi-deuteranopia-theme.el:
+       * etc/themes/modus-vivendi-theme.el:
+       * etc/themes/modus-vivendi-tinted-theme.el: Add theme files.
+
+       * etc/themes/modus-themes.el: Update main file to the latest version.
+
+       Detailed release notes here:
+       <https://protesilaos.com/codelog/2023-01-01-modus-themes-4-0-0/>.
+
+       The inclusion of the four new Modus themes was discussed on
+       emacs-devel:
+       <https://lists.gnu.org/archive/html/emacs-devel/2022-12/msg00834.html>.
+
+2023-01-01  Po Lu  <luangruo@yahoo.com>
+
+       Improve Haiku font size fallback
+
+       * src/haikufont.c (haikufont_open): If pixel_size is zero, don't
+       use a font parameter that doesn't exist.
+
+2023-01-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix copyright years of NEWS.29.
+
+2023-01-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       cae528457c ; Add 2023 to copyright years.
+       b394359261 Improve documentation of 'isearch-open-overlay-temporary'
+       ab3210e709 Document 'use-package' in the 2 main manuals
+
+       # Conflicts:
+       #       etc/refcards/ru-refcard.tex
+       #       lib/explicit_bzero.c
+       #       m4/explicit_bzero.m4
+
+2023-01-01  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       72a81e2022 ; * lisp/treesit.el (treesit-simple-indent-presets): Fix t...
+       ddfeee3e8a Build recipe interactively in treesit-install-language-gra...
+       6837469780 ; Add REVISION to treesit-language-source-alist
+       0dc788aa01 ; Remove GRAMMAR-DIR from treesit-language-source-alist
+       f9aef67c36 Tweak csharp-mode font-lock-settings (bug#60376)
+       46362c0a3a ; * doc/lispref/tips.texi (Documentation Tips): Add indexing.
+       9a386b682e Revert a recent change which causes errors
+       9871ee8b14 ; More fixes for documentation of 'defalias'
+       f309651b67 ; Fix handling of 'not' by 'buffer-match-p'
+       9292f595a7 ; Fix typos
+       43c7e05a2a Fix misspelled functions in shortdoc groups
+       01acecc79c Simplify introduction of use-package manual
+       2a7e072e53 ; Fix documentation of 'defalias'
+       eee2aeca25 Fix python-shell-buffer-substring when retrieving a single...
+       bfdad6c4e5 ; Fix recent treesit-related changes
+
+2023-01-01  Sean Whitton  <spwhitton@spwhitton.name>
+
+       vc-git-dir-extra-headers: Improve detection of rebases
+
+       * lisp/vc/vc-git.el (vc-git--cmds-in-progress): New function.
+       (vc-git-dir-extra-headers): Use it.
+
+2023-01-01  Sean Whitton  <spwhitton@spwhitton.name>
+
+       vc-git: Don't assume .git is a directory
+
+       * lisp/vc/vc-git.el (vc-git--git-path): New function.
+       (vc-git-dir-extra-headers)
+       (vc-git-merge-branch)
+       (vc-git-resolve-when-done): Use it.
+
+2023-01-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update publicsuffix.txt from upstream
+
+       * etc/publicsuffix.txt: Update from
+       https://publicsuffix.org/list/public_suffix_list.dat
+       dated 2022-12-19 14:09:50 UTC.
+
+2022-12-31  Po Lu  <luangruo@yahoo.com>
+
+       Merge remote-tracking branch 'origin/master' into feature/android
+
+2022-12-31  Po Lu  <luangruo@yahoo.com>
+
+       Bring up the Android operating system and its window system
+
+       * .dir-locals.el (c-mode): Add ANDROID_EXPORT noise macro.
+       * .gitignore: Add new files to ignore.
+       * Makefile.in: Adjust for Android.
+       * admin/merge-gnulib: Add new warning.
+       * configure.ac: Detect Android.  Run cross-configuration for
+       Android when appropriate.
+
+       * etc/DEBUG: Document how to debug Emacs on Android.
+
+       * java/AndroidManifest.xml:
+       * java/Makefile.in:
+       * java/README:
+       * java/debug.sh:
+       * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
+       * java/org/gnu/emacs/EmacsApplication.java (EmacsApplication):
+       * java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea):
+       * java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine):
+       * java/org/gnu/emacs/EmacsDrawPoint.java (EmacsDrawPoint):
+       * java/org/gnu/emacs/EmacsDrawRectangle.java
+       (EmacsDrawRectangle):
+       * java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable):
+       * java/org/gnu/emacs/EmacsFillPolygon.java (EmacsFillPolygon):
+       * java/org/gnu/emacs/EmacsFillRectangle.java
+       (EmacsFillRectangle):
+       * java/org/gnu/emacs/EmacsFontDriver.java (EmacsFontDriver):
+       * java/org/gnu/emacs/EmacsGC.java (EmacsGC):
+       * java/org/gnu/emacs/EmacsHandleObject.java (EmacsHandleObject):
+       * java/org/gnu/emacs/EmacsNative.java (EmacsNative):
+       * java/org/gnu/emacs/EmacsPaintQueue.java (EmacsPaintQueue):
+       * java/org/gnu/emacs/EmacsPaintReq.java (EmacsPaintReq):
+       * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
+       * java/org/gnu/emacs/EmacsSdk7FontDriver.java
+       (EmacsSdk7FontDriver):
+       * java/org/gnu/emacs/EmacsService.java (class Holder<T>)
+       (EmacsService):
+       * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
+       * java/org/gnu/emacs/EmacsThread.java (EmacsThread):
+       * java/org/gnu/emacs/EmacsView.java (EmacsView):
+       * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): New files
+       and classes.
+
+       * lib-src/Makefile.in (srcdir):
+       * lib/Makefile.in (VPATH):
+       (HAVE_NATIVE_COMP):
+       (libgnu_a_SOURCES):
+       (DEPFLAGS): Configure correctly for cross-compiling.
+
+       * lib/faccessat.c:
+       * lib/fpending.c (__fpending):
+       * lib/open.c:
+       * lib/unistd.c (_GL_UNISTD_INLINE): Temporary adjustments to
+       gnulib.
+
+       * lisp/frame.el (display-graphic-p):
+       (display-screens):
+       (display-pixel-height):
+       (display-pixel-width):
+       (display-mm-height):
+       (display-mm-width):
+       (display-backing-store):
+       (display-save-under):
+       (display-planes):
+       (display-color-cells):
+       (display-visual-class): Adjust for new window system `android'.
+
+       * lisp/image/wallpaper.el (x-open-connection): Add declaration.
+       * lisp/loadup.el (featurep): Load up files for Android.
+       * lisp/net/eww.el (eww-form-submit, eww-form-file)
+       (eww-form-checkbox, eww-form-select): Adjust faces for android.
+       * lisp/term/android-win.el: New file.
+       * src/Makefile.in: Add new targets emacs.so and android-emacs,
+       then adjust for cross compilation.
+       * src/alloc.c (cleanup_vector): Clean up Android font entities
+       as well.
+       (garbage_collect): Mark androidterm.
+       * src/android-emacs.c (main):
+       * src/android.c (ANDROID_THROW, enum android_fd_table_entry_flags)
+       (struct android_emacs_service, struct android_emacs_pixmap)
+       (struct android_graphics_point, struct android_event_container)
+       (struct android_event_queue, android_run_select_thread)
+       (android_handle_sigusr1, android_init_events, android_pending)
+       (android_next_event, android_write_event, android_select)
+       (android_run_debug_thread, android_user_full_name)
+       (android_get_asset_name, android_fstat, android_fstatat)
+       (android_file_access_p, android_hack_asset_fd, android_open)
+       (android_close, JNICALL, android_init_emacs_service)
+       (android_init_emacs_pixmap, android_init_graphics_point)
+       (MAX_HANDLE, struct android_handle_entry, android_alloc_id)
+       (android_destroy_handle, android_resolve_handle)
+       (android_resolve_handle2, android_change_window_attributes)
+       (android_create_window, android_set_window_background)
+       (android_destroy_window, android_init_android_rect_class)
+       (android_init_emacs_gc_class, android_create_gc, android_free_gc)
+       (android_change_gc, android_set_clip_rectangles)
+       (android_reparent_window, android_lookup_method)
+       (android_clear_window, android_map_window, android_unmap_window)
+       (android_resize_window, android_move_window, android_swap_buffers)
+       (android_get_gc_values, android_set_foreground)
+       (android_fill_rectangle, android_create_pixmap_from_bitmap_data)
+       (android_set_clip_mask, android_set_fill_style, android_copy_area)
+       (android_free_pixmap, android_set_background, android_fill_polygon)
+       (android_draw_rectangle, android_draw_point, android_draw_line)
+       (android_create_pixmap, android_set_ts_origin, android_clear_area):
+       * src/android.h (ANDROID_EXPORT):
+       * src/androidfns.c (android_display_info_for_name)
+       (check_android_display_info, check_x_display_info, gamma_correct)
+       (android_defined_color, android_decode_color)
+       (android_implicitly_set_name, android_explicitly_set_name)
+       (android_set_tool_bar_lines, android_change_tool_bar_height)
+       (android_set_tab_bar_lines, android_change_tab_bar_height)
+       (android_set_scroll_bar_default_height)
+       (android_set_scroll_bar_default_width, android_icon_verify)
+       (android_icon, android_make_gc, android_free_gcs)
+       (unwind_create_frame, do_unwind_create_frame)
+       (android_default_font_parameter, android_create_frame_window)
+       (Fx_create_frame, Fxw_color_defined_p, Fxw_color_values)
+       (Fxw_display_color_p, Fx_display_grayscale_p)
+       (Fx_display_pixel_width, Fx_display_pixel_height)
+       (Fx_display_planes, Fx_display_color_cells, Fx_display_screens)
+       (Fx_display_mm_width, Fx_display_mm_height)
+       (Fx_display_backing_store, Fx_display_visual_class)
+       (Fx_display_monitor_attributes_list, Fx_frame_geometry)
+       (Fx_frame_list_z_order, Fx_frame_restack)
+       (Fx_mouse_absolute_pixel_position)
+       (Fx_set_mouse_absolute_pixel_position, Fandroid_get_connection)
+       (Fx_display_list, Fx_show_tip, Fx_hide_tip)
+       (android_set_background_color, android_set_border_color)
+       (android_set_cursor_color, android_set_cursor_type)
+       (android_set_foreground_color)
+       (android_set_child_frame_border_width)
+       (android_set_internal_border_width, android_set_menu_bar_lines)
+       (android_set_mouse_color, android_set_title, android_set_alpha)
+       (android_frame_parm_handlers, syms_of_androidfns):
+       * src/androidfont.c (struct android_emacs_font_driver)
+       (struct android_emacs_font_spec, struct android_emacs_font_metrics)
+       (struct android_emacs_font_object, struct android_integer)
+       (struct androidfont_info, struct androidfont_entity)
+       (android_init_font_driver, android_init_font_spec)
+       (android_init_font_metrics, android_init_integer)
+       (android_init_font_object, androidfont_get_cache)
+       (androidfont_from_lisp, androidfont_from_java, androidfont_list)
+       (androidfont_match, androidfont_draw, androidfont_open_font)
+       (androidfont_close_font, androidfont_has_char)
+       (androidfont_encode_char, androidfont_text_extents)
+       (androidfont_list_family, androidfont_driver)
+       (syms_of_androidfont_for_pdumper, syms_of_androidfont)
+       (init_androidfont, android_finalize_font_entity):
+       * src/androidgui.h (_ANDROID_GUI_H_, struct android_rectangle)
+       (struct android_point, enum android_gc_function)
+       (enum android_gc_value_mask, enum android_fill_style)
+       (enum android_window_value_mask)
+       (struct android_set_window_attributes, struct android_gc_values)
+       (struct android_gc, enum android_swap_action, enum android_shape)
+       (enum android_coord_mode, struct android_swap_info)
+       (NativeRectangle, struct android_any_event)
+       (struct android_key_event, struct android_configure_event)
+       (union android_event):
+       * src/androidterm.c (android_window_to_frame, android_clear_frame)
+       (android_ring_bell, android_toggle_invisible_pointer)
+       (android_update_begin, android_update_end, show_back_buffer)
+       (android_flush_dirty_back_buffer_on, handle_one_android_event)
+       (android_read_socket, android_frame_up_to_date)
+       (android_buffer_flipping_unblocked_hook)
+       (android_query_frame_background_color, android_parse_color)
+       (android_alloc_nearest_color, android_query_colors)
+       (android_mouse_position, android_get_focus_frame)
+       (android_focus_frame, android_frame_rehighlight)
+       (android_frame_raise_lower, android_make_frame_visible)
+       (android_make_frame_invisible)
+       (android_make_frame_visible_invisible, android_fullscreen_hook)
+       (android_iconify_frame, android_set_window_size_1)
+       (android_set_window_size, android_set_offset, android_set_alpha)
+       (android_new_font, android_bitmap_icon, android_free_pixmap_hook)
+       (android_free_frame_resources, android_delete_frame)
+       (android_delete_terminal, android_scroll_run)
+       (android_after_update_window_line, android_flip_and_flush)
+       (android_clear_rectangle, android_reset_clip_rectangles)
+       (android_clip_to_row, android_draw_fringe_bitmap)
+       (android_set_cursor_gc, android_set_mouse_face_gc)
+       (android_set_mode_line_face_gc, android_set_glyph_string_gc)
+       (android_set_glyph_string_clipping)
+       (android_set_glyph_string_clipping_exactly)
+       (android_compute_glyph_string_overhangs)
+       (android_clear_glyph_string_rect)
+       (android_draw_glyph_string_background, android_fill_triangle)
+       (android_make_point, android_inside_rect_p, android_clear_point)
+       (android_draw_relief_rect, android_draw_box_rect)
+       (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT, android_setup_relief_color)
+       (android_setup_relief_colors, android_draw_glyph_string_box)
+       (android_draw_glyph_string_bg_rect, android_draw_image_relief)
+       (android_draw_image_foreground, android_draw_image_foreground_1)
+       (android_draw_image_glyph_string)
+       (android_draw_stretch_glyph_string, android_draw_underwave)
+       (android_draw_glyph_string_foreground)
+       (android_draw_composite_glyph_string_foreground)
+       (android_draw_glyphless_glyph_string_foreground)
+       (android_draw_glyph_string, android_define_frame_cursor)
+       (android_clear_frame_area, android_clear_under_internal_border)
+       (android_draw_hollow_cursor, android_draw_bar_cursor)
+       (android_draw_window_cursor, android_draw_vertical_window_border)
+       (android_draw_window_divider, android_redisplay_interface)
+       (frame_set_mouse_pixel_position, get_keysym_name)
+       (android_create_terminal, android_term_init, syms_of_androidterm)
+       (mark_androidterm):
+       * src/androidterm.h (_ANDROID_TERM_H_, struct android_display_info)
+       (struct android_output, FRAME_ANDROID_OUTPUT, XSCROLL_BAR): New
+       files.
+       * src/dired.c (file_attributes): Do not use openat on Android.
+       * src/dispextern.h (No_Cursor): Define appropriately on Android.
+       (struct glyph_string, struct face): Make gc field of type struct
+       android_gc on Android.
+       * src/dispnew.c (clear_current_matrices, clear_desired_matrices)
+       (adjust_frame_glyphs_for_window_redisplay, free_glyphs)
+       (update_frame, scrolling, char_ins_del_cost, update_frame_line)
+       (init_display_interactive): Disable text terminal support
+       completely on Android.  Fix non-toolkit menus for non-X systems.
+       * src/editfns.c (Fuser_full_name): Call android_user_full_name.
+       * src/emacs.c (android_emacs_init): Make main this on Android.
+       Prohibit argv sorting from exceeding end of argv.
+       * src/epaths.in: Add path definitions for Android.
+
+       * src/fileio.c (file_access_p): Call android_file_access_p.
+       (file_name_directory): Avoid using openat on Android.
+       (Fcopy_file): Adjust to call sys_fstat instead.
+       (file_directory_p):
+       (Finsert_file_contents):
+       (write_region): Likewise.
+       * src/filelock.c:
+       * src/fns.c (Flocale_info): Pacify warning on Android.
+       * src/font.c (font_make_entity_android): New function.
+       * src/font.h:
+       * src/frame.c (Fframep):
+       (Fwindow_system): Handle new window system `android'.  Update doc 
strings.
+       (Fmake_terminal_frame): Disable on Android.
+       (gui_display_get_resource): Disable get_string_resource_hook on Android.
+       (syms_of_frame): New defsym `android'.
+
+       * src/frame.h (GCALIGNED_STRUCT): Add new output data for
+       Android.
+       (ENUM_BF): Expand enumerator size.
+       (FRAME_ANDROID_P, FRAME_WINDOW_P, MOUSE_HL_INFO): Add
+       definitions for Android.
+
+       * src/image.c (GET_PIXEL):
+       (image_create_bitmap_from_file):
+       (image_create_x_image_and_pixmap_1):
+       (image_get_x_image):
+       (slurp_file):
+       (lookup_rgb_color):
+       (image_to_emacs_colors):
+       (image_from_emacs_colors):
+       (image_pixmap_draw_cross):
+       (image_disable_image):
+       (MaskForeground):
+       (gif_load): Add stubs for Android.
+
+       * src/lisp.h:
+       * src/lread.c (safe_to_load_version, maybe_swap_for_eln1, openp):
+       * src/pdumper.c (pdumper_load): Call sys_fstat instead of fstat.
+       * src/process.c (wait_reading_process_output): Use
+       android_select instead of pselect.
+       * src/scroll.c: Disable on Android.
+       * src/sysdep.c (widen_foreground_group, reset_sys_modes)
+       (init_signals, emacs_fstatat, sys_fstat): New function.
+       (emacs_open, emacs_open_noquit, emacs_close): Implement
+       differently on Android.
+       (close_output_streams): Disable what is not required on Android.
+
+       * src/term.c (OUTPUT1_IF, encode_terminal_code, string_cost)
+       (string_cost_one_line, per_line_cost, calculate_costs)
+       (struct fkey_table, tty_append_glyph, produce_glyphs)
+       (tty_capable_p, Fsuspend_tty, Fresume_tty, device, init_tty)
+       (maybe_fatal, syms_of_term): Disable text terminal support on
+       Android.
+
+       * src/termhooks.h (enum output_method): Add android output
+       method.
+       (GCALIGNED_STRUCT, TERMINAL_FONT_CACHE): Define for Android.
+
+       * src/terminal.c (Fterminal_live_p): Implement for Android.
+
+       * src/verbose.mk.in (AM_V_GLOBALS): Add JAVAC and DX.
+       * src/xdisp.c (redisplay_internal): Disable text terminals on Android.
+       (display_menu_bar):
+       (display_tty_menu_item):
+       (draw_row_with_mouse_face):
+       (expose_frame): Make the non toolkit menu bar work on Android.
+
+       * src/xfaces.c (GCGraphicsExposures):
+       (x_create_gc):
+       (x_free_gc):
+       (Fx_load_color_file): Define for Android.
+
+       * xcompile/Makefile.in (top_srcdir):
+       (top_builddir):
+       * xcompile/README:
+       * xcompile/langinfo.h (nl_langinfo): New files.
+
+2022-12-31  Richard Hansen  <rhansen@rhansen.org>
+
+       whitespace: Use `define-globalized-minor-mode' for global mode
+
+       * lisp/whitespace.el (global-whitespace-mode): Fix interoperability
+       between `whitespace-mode' and `global-whitespace-mode' by using
+       `define-globalized-minor-mode'.  (Bug#60334)
+       * test/lisp/whitespace-tests.el (whitespace-tests--global): Add a
+       regression test.
+
+2022-12-31  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix the build broken by latest GnuTLS-related changes
+
+       * src/gnutls.c (key_file2_aux): Don't use GNUTLS_PKCS_PBES2_*
+       constants that are defined only in latest versions of GnuTLS.
+       (Bug#50507)
+       (Fgnutls_boot): Mention in the doc string that some flags of
+       'gnutls_certificate_set_x509_key_file2' are only supported since
+       GnuTLS 3.6.3.
+
+2022-12-31  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       ab1f245f1a1 Show tree-sitter query source when signaling query error
+       0b58ea0e602 ; * lisp/treesit.el (treesit--install-language-grammar-1)...
+       724da28763c Add version tags and mention the new options in NEWS
+       8675f4136c7 Add new options for Ruby code indentation
+       4922de626f0 ; Fix doc strings of 'treesit-install-language-grammar'
+       69b2aaaaded ; Fix recently modified docs of 'set-face-attribute' (bug...
+       0248fc9e1ac Add treesit-install-language-grammar
+       0237c5927e9 Add treesit-language-abi-version
+       312f82d36f0 Change "language definition" to "language grammar" in man...
+       fba35657da5 ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragrap...
+       dec1b37a32b ; * doc/lispref/parsing.texi (Accessing Node Information)...
+       39265abf0cc * test/lisp/net/tramp-tests.el (tramp-test32-shell-comman...
+       ebf65c7e7e3 * lisp/eshell/em-tramp.el (tramp): Require also at runtim...
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-31  Po Lu  <luangruo@yahoo.com>
+
+       Fix last change in gnutls.c
+
+       * src/gnutls.c (Fgnutls_boot): Pacify
+       --enable-check-lisp-object-type and Haiku GCC warning involving
+       `key_file2_aux'.
+
+2022-12-30  Mattias Engdegård  <mattiase@acm.org>
+
+       Correct suppression of suspicious eq type warning
+
+       * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--warn-dodgy-eq-arg):
+       Suppress warning using (suspicious FUNCTION), where FUNCTION is
+       not always `eq`.
+
+2022-12-30  Nikolaos Chatzikonstantinou  <nchatz314@gmail.com>
+
+       Add :pass and :flags to gnutls-boot for :keylist
+
+       * lisp/net/gnutls.el (gnutls-boot-parameters): Add the keys :pass and
+       :flags, and update the documentation.
+       * src/gnutls.c (gnutls-boot): Add the keys :pass and :flags, and
+       update the documentation.
+       (syms_of_gnutls): Add the symbols :pass, :flags, and the symbols that
+       correspond to the enumeration constants of the GnuTLS enum
+       `gnutls_pkcs_encrypt_flags_t'.
+       (key_file2_aux): Private helper function that translates a list of
+       symbols to its corresponding `unsigned int' value of the GnuTLS C enum
+       `gnutls_pkcs_encrypt_flags_t'.
+
+       (Bug#50507)
+
+2022-12-30  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix reference-counting of Eshell I/O handles
+
+       This ensures that output targets in Eshell are only closed when Eshell
+       is actually done with them.  In particular, this means that
+       "{ echo foo; echo bar } | rev" prints "raboof" as expected
+       (bug#59545).
+
+       * lisp/eshell/esh-io.el (eshell-create-handles): Structure the handles
+       differently so the targets and their ref-count can be shared.
+       (eshell-duplicate-handles): Reimplement this to share targets between
+       the original and new handle sets.  Add STEAL-P argument.
+       (eshell-protect-handles, eshell-copy-output-handle)
+       (eshell-interactive-output-p, eshell-output-object): Account for
+       changes to the handle structure.
+       (eshell-close-handle): New function...
+       (eshell-close-handles, eshell-set-output-handle): ... use it.
+       (eshell-get-targets): Remove.  This only existed to make the previous
+       implementation of 'eshell-duplicate-handles' work.
+
+       * lisp/eshell/esh-cmd.el (eshell-with-copied-handles): New argument
+       STEAL-P.
+       (eshell-do-pipelines): Use STEAL-P for the last item in the pipeline.
+       (eshell-parse-command): Don't copy handles for the last command in the
+       list; explain why we can't use STEAL-P here.
+       (eshell-eval-command): When queuing input, set 'eshell-command-body'
+       and 'eshell-test-body' for the 'if' conditional (see
+       'eshell-do-eval').
+
+       * test/lisp/eshell/esh-io-tests.el (esh-io-test/redirect-pipe): Split
+       into...
+       (esh-io-test/pipeline/default, esh-io-test/pipeline/all): ... these.
+       (esh-io-test/pipeline/subcommands): New test.
+
+       * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/for-loop-pipe)
+       (esh-cmd-test/while-loop-pipe, esh-cmd-test/if-statement-pipe)
+       esh-cmd-test/if-else-statement-pipe): New tests.
+       (esh-cmd-test/while-loop): Use 'pop' to simplify the test a bit.
+
+       * test/lisp/eshell/eshell-tests-helpers.el
+       (eshell-test--max-subprocess-time): Rename to...
+       (eshell-test--max-wait-time): ... this.
+       (eshell-wait-for): New function...
+       (eshell-wait-for-subprocess): ... use it.
+
+       * test/lisp/eshell/eshell-tests.el (eshell-test/queue-input): Fix this
+       test.  Previously, it didn't correctly verify that the original
+       command completed.
+
+       * test/lisp/eshell/em-tramp-tests.el
+       (em-tramp-test/should-replace-command): New macro...
+       (em-tramp-test/su-default, em-tramp-test/su-user)
+       (em-tramp-test/su-login, em-tramp-test/sudo-shell)
+       (em-tramp-test/sudo-user-shell, em-tramp-test/doas-shell)
+       (em-tramp-test/doas-user-shell): ... use it.
+
+2022-12-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       644c71d6788 lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (...
+       ab38abfdf75 lisp/textmodes/bibtex.el: Treat $ as punctuation in BibTe...
+       d086cd6cf87 Clarify the documentation of 'set-face-attribute'
+       dafa6d6badd Handle non-string values in pcomplete
+       beed746f944 Fix completion when completion-auto-select is set
+       7ccb88486eb ; * etc/DEBUG: Update MS-Windows specifics for GDB 13 and...
+       558b59d81b9 Add color fontification in css-ts-mode (bug#60405)
+       a96a7c81151 ; * lisp/textmodes/css-mode.el (css-ts-mode): Fix imenu s...
+       793641a3db5 ; * lisp/progmodes/js.el: Fix byte-compile warning.
+       0aea1cf8190 * lisp/hi-lock.el (hi-lock--regexps-at-point): Fix bug (b...
+       60418e6f09c * src/keyboard.c (echo_add_key): Use recently rebound C-h...
+       706ed852855 Avoid assertion violations in treesit.c with --enable-che...
+       38c35bf0f6a Clean up treesit-default-defun-skipper and add comments
+       9371d488be6 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       9d814bea460 ; whitespace.el: Use the new 'ert-with-buffer-selected' i...
+       784e509bded Fix c-ts-mode bracket indentation (bug#60398)
+
+2022-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid some obsolescent tz abbrevs in doc.
+
+2022-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Document calc-time-zone abbreviation obsolescence
+
+       * doc/misc/calc.texi (Time Zones): Document that alphabetic
+       time zone abbreviations are obsolescent and in some cases wrong.
+
+2022-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use RFC 822 abbrevs in sunrise-sunset strings
+
+       * lisp/calendar/solar.el (sunrise-sunset): Use RFC 822 time zone
+       abbreviations like "+0530" instead of idiosyncratic abbreviations
+       like "UTC+330min".
+
+2022-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Add nndiary-headers obsolescence comment
+
+       * lisp/gnus/nndiary.el (nndiary-headers): Add comment
+       about alphabetic time zone names being obsolescent.
+
+2022-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Default mbox "From " time zone to -0000
+
+       * lisp/mail/rmailout.el (rmail-nuke-pinhead-header):
+       Default the time zone to "-0000" instead of "EST", as "-0000" is
+       the RFC-2822-and-later standard for unknown time zones.
+
+2022-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       In cal-dst, be consistent re default to UTC
+
+       * lisp/calendar/cal-dst.el (calendar-standard-time-zone-name)
+       (calendar-daylight-time-zone-name):
+       When using alphabetic time zone abbreviations, default to "UTC"
+       rather than to "EST" or "EDT", to be consistent with the behavior
+       when using numeric time zone abbreviations.
+       Also, in the numeric time zone use "-0000" rather than "+0000"
+       to show that the time zone is unknown; this is the RFC 5322
+       standard.
+
+2022-12-30  LdBeth  <andpuke@foxmail.com>  (tiny change)
+
+       Fix newsticker timezone decode
+
+       'newsticker--decode-rfc822-date' has the regex pattern for
+       North American timezones but the actual timezone conversion
+       for them was not implmented. Now cond cases are added to
+       handle them as specified in RFC822.
+
+2022-12-29  Theodor Thornhill  <theo@thornhill.no>
+
+       Allow for indentation in prog-fill-reindent-defun (bug#60322)
+
+       * lisp/progmodes/prog-mode.el (prog-fill-reindent-defun):
+       Adjust regexp.
+
+2022-12-29  Mattias Engdegård  <mattiase@acm.org>
+
+       * etc/NEWS: Mention some recently added byte-compiler warnings
+
+2022-12-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Consistent empty-body warning messages for let and let*
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings):
+       Make warning messages for let and let* consistent with other
+       empty-body warnings.
+
+2022-12-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Add empty-body warning for when, unless etc
+
+       Warn about code like (when SOME-CONDITION) because these may indicate
+       bugs.  Warnings currently apply to `when`, `unless`, `ignore-error`,
+       `with-suppressed-warnings` and (as before) `let` and `let*`.
+
+       * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
+       Update doc string.
+       * lisp/emacs-lisp/bytecomp.el: (byte-compile-warning-types)
+       (byte-compile-warnings): Add empty-body.
+       (byte-compile-initial-macro-environment):
+       Add empty-body warning for with-suppressed-warnings.
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
+       Use the empty-body category for let and let*.
+       * lisp/subr.el (when, unless, ignore-error): Add empty-body warning.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-test--with-suppressed-warnings): Add test cases.
+
+2022-12-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about `condition-case' with quoted condition names
+
+       * lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
+       Add warning.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-warn-quoted-condition): Add test case.
+
+2022-12-29  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about `ignore-error` with quoted condition argument
+
+       * lisp/subr.el (ignore-error):
+       Clarify condition argument in doc string and add warning.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp-warn-quoted-condition): New test.
+
+2022-12-29  Mattias Engdegård  <mattiase@acm.org>
+
+       * lisp/subr.el (with-demoted-errors): Better message and location.
+
+2022-12-29  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       909091d7578 ; Minor cleanup for tree-sitter font-lock rules in js-ts-...
+       e78e69b3318 Clean up font-lock rules in js-ts-mode
+       0a61e4e2b71 ; * doc/lispref/parsing.texi (Using Parser): Minor improv...
+       398ed75c276 ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragrap...
+       19b8733aa27 Fix syntax for < and > in c++-ts-mode (bug#60351)
+       f509246ba12 Call tree-sitter parser notifier on the first parse
+       ec6feeaa191 Fix tree-sitter parser notifier recursion
+
+2022-12-28  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       db96b1282f9 * lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' wind...
+       489865c21e4 ; Improve markup of long key sequences
+       d42c2668cf3 ; * etc/NEWS: Fix wording of a recently edited entry.
+       7a0eaee1980 * lisp/isearch.el: Small fixes.
+       b69bffeec05 * lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace ...
+       9263847ab76 ; * etc/NEWS: Move the paragraph with 'C-u RET' closer to...
+       62fb2dc37da * doc/emacs/display.texi (Text Scale): Improve section ab...
+       70480d3b6b7 * lisp/repeat.el (repeat-echo-function): Suggest 'add-fun...
+       fd48201ffe7 * lisp/tab-line.el (tab-line-cache-key-default): More cac...
+       b1646602602 * etc/package-keyring.gpg: Update with new key
+       c0be51389eb ; Yet another declare-function to avoid treesit-related w...
+       8676bec51de ; * lisp/treesit.el (treesit--simple-imenu-1): Doc fix; w...
+       2ddc480f441 Warn of absent networks module in ERC
+       19d00fab9aa Avoid "already compiled" warning in erc-compat
+       2d8f7b66bcc ; Fix one more treesit byte-compilation warning.
+       2d0a9214863 ; Avoid treesit-related byte-compiler warnings
+       8503b370be1 (python--treesit-settings): Remove duplicate matcher
+       b464e6c490b Make last change of w32 GUI dialogs conditional and rever...
+       eedc9d79aed Fix tree-sitter typos
+       248c13dcfe1 Update tree-sitter major modes to use the new Imenu facility
+       b39dc7ab27a Add tree-sitter helper functions for Imenu
+       ba1ddea9dab Fix treesit--things-around (bug#60355)
+       7512b9025a1 ; * lisp/treesit.el (treesit-traverse-parent): Remove alias.
+       5326b041982 Improve treesit-node-top-level and treesit-parent-until
+       637f5b164f2 ; Add "src" to the heuristic sub-directory heuristic
+       8ab6df0c9fd ; * lisp/epa-ks.el (epa-ks-do-key-to-fetch): Fix 'when' u...
+       2b55a48d3e3 * src/w32menu.c (simple_dialog_show): Use MB_YESNOCANCEL ...
+       8b8b7915679 ; Improve documentation of TAB/SPC indentation
+       624e3822110 ; Improve doc strings of some new faces
+       41f12e1019b ; * lisp/elide-head.el (elide-head): Doc fix to silence c...
+       e3b4cd0ac1d ; * lisp/htmlfontify.el (hfy-text-p): Fix whitespace.
+       1b4dc4691c1 Fix htmlfontify.el command injection vulnerability.
+       1fe4b98b4d5 Improve support for Scheme R6RS and R7RS libraries (bug#5...
+       2347f37f677 ; * test/src/treesit-tests.el: remove dead store (bytecom...
+       a6d961ae2fd Add a new tree-sitter query predicate 'pred'
+       835a80dcc48 ; Fix tree-sitter defun tests
+       a14821d6151 Improve gnutls-min-prime-bits docstring
+       b14bbd108e4 Improve handling of tab-bar height.
+       669160d47b2 ; * nt/INSTALL.W64: More fixes and updates.
+       26b2ec7cb8c Simplify last change (bug#60311)
+       082fc6e3088 Fix 'json-available-p' on MS-Windows
+       6c86faec29e loaddefs-gen: Group results by absolute file name
+       d90d7d15f2f ; Fix vindexes in parsing.texi
+       eb268728376 Fix imenu for c-ts-mode (bug#60296)
+       8f68b6497ee Clean up python-ts-mode font-lock features
+       28f26b11a1e Add comment indent and filling to other tree-sitter major...
+       c6b02826450 ; Remove unused function in c-ts-mode
+       6e52a9fcadc ; * doc/lispref/modes.texi (Parser-based Font Lock): Mino...
+       2bcd1e9a99d ; * doc/lispref/parsing.texi (Retrieving Nodes): Add notice.
+       7c7950fe006 Add maintainer stub for tree-sitter files
+       cf327766226 ; * doc/lispref/parsing.texi (Using Parser): Remove delet...
+
+       # Conflicts:
+       #       etc/NEWS
+       #       lisp/progmodes/c-ts-mode.el
+       #       lisp/progmodes/typescript-ts-mode.el
+       #       lisp/treesit.el
+
+2022-12-28  Theodor Thornhill  <theo@thornhill.no>
+
+       Add treesit-transpose-sexps (bug#60128)
+
+       We don't really need to rely on forward-sexp to define what to
+       transpose.  In tree-sitter we can consider siblings as "balanced
+       expressions", and swap them without doing any movement to calculate
+       where the siblings in question are.
+
+       * lisp/simple.el (transpose-sexps-function): New defvar-local.
+       (transpose-sexps): Use the new defvar-local if available.
+       (transpose-subr): Check whether the mover function returns a cons of
+       conses, then run transpose-subr-1 on the position-pairs.
+       * lisp/treesit.el (treesit-transpose-sexps): New function.
+
+2022-12-28  Theodor Thornhill  <theo@thornhill.no>
+
+       Fixes in prog-fill-reindent-defun
+
+       Ensure that we don't consider lines such as
+
+           switch (foo) {
+               case 2:  // If point on 'c' in 'case'
+                   return 2;
+
+       not to be considered for filling.
+
+       Also make sure we check for the active region, to replicate the normal
+       fill-paragraph behavior.
+
+       * lisp/progmodes/prog-mode.el (prog-fill-reindent-defun): Adjust
+       regex, and make sure fill-paragraph checks for active region.
+
+       (bug#60360, bug#60322)
+
+2022-12-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Support Apache License 2.0 in elide-head-mode
+
+       * lisp/elide-head.el (elide-head-headers-to-hide): Add the Apache
+       License, Version 2.0.
+       * test/lisp/elide-head-tests.el (apache1-1): New test.
+
+2022-12-27  Stefan Kangas  <stefankangas@gmail.com>
+
+       Make elide-head-headers-to-hide more forgiving
+
+       * lisp/elide-head.el (elide-head-headers-to-hide): Make regexp
+       more forgiving of line breaks and comment characters in address.
+       * test/lisp/elide-head-tests.el (gpl3-6): New test.
+
+2022-12-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid duplicate inclusion of stdalign.h
+
+       * src/lisp.h: Do not include stdalign.h, as Gnulib now
+       approximates C23 (where stdalign.h does nothing) and config.h
+       already includes stdalign.h as needed on pre-C23 platforms.
+
+2022-12-26  Po Lu  <luangruo@yahoo.com>
+
+       Redisplay "invisible" frames that are actually visible on modern X
+
+       * etc/NEWS: Document that "invisible" frames are now redisplayed
+       if the compositing manager is still displaying it as part of a
+       thumbnail out of Emacs's control.
+
+       * src/dispnew.c (Fredraw_display): Use FRAME_REDISPLAY_P.
+       * src/frame.h (FRAME_REDISPLAY_P): New macro.
+
+       * src/xdisp.c (clear_garbaged_frames, echo_area_display)
+       (prepare_menu_bars, redisplay_internal, display_and_set_cursor)
+       (gui_clear_cursor): Use FRAME_REDISPLAY_P to determine whether
+       or not a frame should be redisplayed.
+       * src/xfns.c (Fx_create_frame): Set visibility state initially.
+       * src/xterm.c (handle_one_xevent): Likewise.
+       * src/xterm.h (struct x_output): New field `visibility_state'.
+
+2022-12-26  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       6c00d126e7f Remove remaining mentions of 'eval-current-buffer'
+       1073e96170b ; * doc/lispref/text.texi (Database): Fix a typo.  (Bug#6...
+       b1e68a33d89 Update to Org 9.6-61-g63e073f
+       dad73e4de19 ; Review and fix NEWS and related documentation
+       72786ae237e ; Restore ARGS argument in c-ts-mode--fontify-declarator
+       940ab2423ca ; Always consider :lisp-dir when locating main file of VC...
+       9ab98cd42aa Add heuristic to locate lisp code in source packages
+       dda011c78d1 ; * doc/lispref/parsing.texi (Tree-sitter major modes): F...
+       d62b634d8fc ; * src/process.c (Fprocess_running_child_p): Doc fix.
+       f6c5b3d635e ; * doc/lispref/parsing.texi: Add a reminder.
+       e6c49c0454e ; Fix byte-copmiler warning in c-ts-mode--fontify-declarator
+       4234033a47a ; * lisp/treesit.el: Add some comments.
+       79584a206b9 Further generalize treesit-defun functions
+       a819ca5a93c Generalize treesit-defun functions to "things"
+       e8b34109eeb Reorder optional arguments to 'package-vc-install'
+       b38e56d8a98 Handle missing dependencies for source packages
+       7bc7b6b4dd9 ; Partial revert of f3e7820b
+       2cec78254ea ; * nt/INSTALL.W64: Fix wording.
+       ecee3bd4209 ; Fix recent changes in treesit documentation
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-25  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       c36fe3df17b Fix c-ts-mode imenu defun name (bug#60296)
+       a24e350170e Fix treesit--children-covering-range-recurse (bug#60301)
+       fbb4eb919b4 Support treesit-defun-name in tree-sitter major modes
+       6253184afc2 ; * lisp/treesit.el (treesit-defun-at-point): Guard again...
+       f8e219ebfaa Add treesit-defun-name and friends
+       35c2ca2ca64 Make treesit-node-at/on guess language at point
+       7f7def2ae62 ; Add treesit-no-parser error
+       b6a2e1ddf66 * nt/INSTALL.W64: update instructions for setting up W64 ...
+       265b91d891a Revert "; Bump minimum supported Windows version for MinG...
+       75155e45860 ; Bump minimum supported Windows version for MinGW64 to W...
+       677f6c79eb9 ; Update minimum requirements of MinGW-w64
+       7723af5e4aa ; * lisp/progmodes/c-ts-mode.el: quote literal string in ...
+       38866510c7c ; * src/xdisp.c (redisplay_internal): Reinstate the FRAME...
+       a825aa0b135 Fix definition of CNS 11643-15 charset
+       a42b20dd95e ; * lisp/progmodes/c-ts-mode.el: Add outline section head...
+       e4e36345399 Improve c-ts-mode block comment indent (bug#60270)
+       e30621caa2c ; Add treesit_recursion_limit
+       6a43af58802 Fix block comment indent and filling for c-ts-mode (bug#5...
+       e492c21e810 Fix treesit_cursor_helper (bug#60267)
+       4437dbedf7b Fix restart-emacs alarms (Bug#60220)
+       121a9ff9f6f Fix alternate stack test in configure
+       84888080eea Add more functions to "string" shortdoc
+       c90f97d4e5d Make the Contour terminal an alias of xterm-256color
+       c3fac9465fa ; Fix punctuation in last change.
+       756bb422a49 Correct wrong info in (info)Go to node
+       a8c3424d28b Fix typo in TUTORIAL.fr (bug#60261)
+       24cd2f0daf1 Add some diff-fixup-modifs tests
+       d32091199ae Fix quoted argument in emacsclient-mail.desktop Exec key
+       286c48137f6 ert-x: Move window selection logic to its own macro
+       823c49cea85 ; ert-x: Simplify `ert-with-test-buffer-selected'
+       38c6abe4d0b ; ert-x: Add test for buffer read-only state
+       0e39ad6fa56 Fix crash after X error
+
+2022-12-24  Juri Linkov  <juri@linkov.net>
+
+       * lisp/tab-bar.el: Fix the recent removal of substring as a gv-place.
+
+       (tab-bar-auto-width): Copy more logic from 'cl--set-substring' 
(bug#60297).
+
+2022-12-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix condition-case empty success handler misinterpretation
+
+       (condition-case X E (:success)) should return nil; the compiler
+       behaves correctly in this case.
+
+       * src/eval.c (internal_lisp_condition_case):
+       Evaluate an empty :success handler as nil instead of pretending it
+       isn't there.
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
+       Add test case.
+
+2022-12-24  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix condition-case body for-effect miscompilation
+
+       (condition-case x A (:success B)) should not compile A for-effect even
+       if the entire form is in for-effect context.
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
+       Don't optimise the condition-case body form for effect (potentially
+       discarding its value) if there is a success handler and a variable.
+       * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
+       Add test cases.
+
+2022-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Assume make-directory handler follows new API
+
+       Suggested by Michael Albinus (Bug#58919#56).
+       * lisp/files.el (files--ensure-directory): Omit recently-added arg
+       MKDIR, since it is now always make-directory again.  All uses
+       changed.
+       (make-directory): Assume the make-directory handler follows the
+       new API where it yields non-nil if DIR already exists.  This
+       reverts some of the recent changes in this area, and simplifies
+       this funciton.
+
+2022-12-24  Florian Weimer  <fweimer@redhat.com>
+
+       configure: Remove obsolete check for -b i486-linuxaout
+
+       If there are still a.out system arounds, they shouldn't need this
+       anymore because the toolchain has been fixed.
+
+       * configure.ac (emacs_cv_b_link): Remove obsolete check.
+
+2022-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2022-12-24  Po Lu  <luangruo@yahoo.com>
+
+       Print out more X error details
+
+       * src/xterm.c (x_error_quitter): Print the failing resource ID
+       and minor code on an X error.
+
+2022-12-24  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       9a3b08061fe Fix ruby-mode.el local command injection vulnerability (b...
+       4b44a395b3c ; * etc/NEWS: Fix typos.
+       458e1752701 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
+       eccb813a943 Fix "C-h k" in recursive minibuffers
+       6dda2106ece ; Improve documentation of "C-x @"
+       a0738e8ad13 ; * etc/NEWS: Announce the new behavior of 'C-h f'.  (Bug...
+       86b11981b0d Update Tramp version (don't merge with master)
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-24  Sean Whitton  <spwhitton@spwhitton.name>
+
+       vc-git-checkin: Stash other staged changes
+
+       * lisp/vc/vc-git.el (vc-git--stash-staged-changes): New function.
+       (vc-git-checkin): Use new function to avoid needing to unstage changes
+       unrelated to the patch we want to commit (bug#60126).
+
+2022-12-23  Po Lu  <luangruo@yahoo.com>
+
+       Speed up completion plugins over slow networks
+
+       * src/xterm.c (x_make_frame_invisible): Do not sync if
+       `x-lax-frame-positioning' is enabled.
+       (syms_of_xterm): Update doc string.
+
+2022-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Leap seconds are planned to go away by the year 2035.
+
+2022-12-23  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       0754173c923 ; Fix docstring
+       014232d3840 Eglot: eglot--servers-by-xrefed-file doesn't need to be v...
+       bbe35c280c2 Prevent stale servers when using eglot-extend-to-xref
+       9bf13a3fb9e ; * src/alloc.c (Fmemory_info): Doc fix.
+       baa33a5c054 * etc/tutorials/TUTORIAL.cn: Fix typos.  (Bug#60221)
+       98d7f76b451 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       a488a6870ac Add alias for removed font-lock function
+       02e046566e2 Set beginning/end-of-defun-function in treesit-major-mode...
+       7dea58b88db Add treesit-defun-at-point and fix c-ts-mode-indent-defun
+       69123d4aa4e ; Fix treesit--defuns-around
+       05d8310fb5d Use the new keyword ':repeat' in repeatable keymaps.
+
+2022-12-22  Jim Porter  <jporterbugs@gmail.com>
+
+       Simplify handling of /dev/null redirection in Eshell
+
+       This also fixes an issue where "echo hi > foo > /dev/null" didn't
+       write to the file "foo".  (Note that users can still use their
+       system's null device name when redirecting; Eshell doesn't need to do
+       anything special to support that.)
+
+       * lisp/eshell/esh-io.el (eshell-virtual-targets): Add "/dev/null".
+       (eshell-set-output-handle): Handle 'eshell-null-device'.
+
+       * test/lisp/eshell/esh-io-tests.el
+       (esh-io-test/redirect-subcommands/dev-null)
+       (esh-io-test/virtual/dev-null, esh-io-test/virtual/dev-null/multiple):
+       New tests.
+
+2022-12-22  Jim Porter  <jporterbugs@gmail.com>
+
+       Fix handling of output handles in nested Eshell forms
+
+       Previously, the output handles in nested forms would be reset to the
+       default, leading to wrong behavior for commands like
+
+         {echo a; echo b} > file
+
+       "b" would be written to "file" as expected, but "a" would go to
+       standard output (bug#59545).
+
+       * lisp/eshell/esh-cmd.el (eshell-parse-command): Use
+       'eshell-with-copied-handles' for each statement within the whole
+       Eshell command.
+
+       * test/lisp/eshell/esh-io-tests.el (esh-io-test/redirect-subcommands)
+       (esh-io-test/redirect-subcommands/override)
+       (esh-io-test/redirect-subcommands/interpolated): New tests.
+
+       * test/lisp/eshell/em-script-tests.el
+       (em-script-test/source-script/redirect)
+       (em-script-test/source-script/redirect/dev-null): New tests.
+       (em-script-test/source-script, em-script-test/source-script/arg-vars)
+       (em-script-test/source-script/all-args-var): Tweak names/docstrings.
+
+       * test/lisp/eshell/em-extpipe-tests.el (em-extpipe-tests--deftest):
+       Skip over the newly-added 'eshell-with-copied-handles' form when
+       checking the parse results.
+
+       * test/lisp/eshell/em-tramp-tests.el (em-tramp-test/su-default)
+       (em-tramp-test/su-user, em-tramp-test/su-login)
+       (em-tramp-test/sudo-shell, em-tramp-test/sudo-user-shell)
+       (em-tramp-test/doas-shell, em-tramp-test/doas-user-shell): Update
+       expected command forms.
+
+2022-12-22  Jim Porter  <jporterbugs@gmail.com>
+
+       Add 'eshell-duplicate-handles' to return a copy of file handles
+
+       * lisp/eshell/esh-io.el (eshell-create-handles): Support creating with
+       multiple targets for stdout and/or stderr.  Make the targets for a
+       handle always be a list, and store whether the targets are the default
+       in a separate 'default' field.
+       (eshell-protect-handles, eshell-close-handles)
+       (eshell-copy-output-handle, eshell-interactive-output-p)
+       (eshell-output-object): Update for changes in 'eshell-create-handles'.
+       (eshell-duplicate-handles, eshell-get-targets): New functions.
+
+       * lisp/eshell/esh-cmd.el (eshell-copy-handles): Rename and alias to...
+       (eshell-with-copied-handles): ... this function, and use
+       'eshell-duplicate-handles'.
+       (eshell-execute-pipeline): Use 'eshell-duplicate-handles'.
+
+2022-12-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       Handle make-directory return values in file name handlers
+
+       * lisp/net/ange-ftp.el (ange-ftp-make-directory): Handle return
+       values.
+
+       * lisp/net/tramp.el (tramp-skeleton-make-directory): New defmacro.
+       Handle also return values.
+       * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
+       * lisp/net/tramp-crypt.el (tramp-crypt-handle-make-directory):
+       * lisp/net/tramp-fuse.el (tramp-fuse-handle-make-directory):
+       * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
+       * lisp/net/tramp-sh.el (tramp-sh-handle-make-directory):
+       * lisp/net/tramp-smb.el (tramp-smb-handle-make-directory):
+       * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-directory):
+       Use it.
+
+       * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
+       Handle return values.
+
+2022-12-22  Po Lu  <luangruo@yahoo.com>
+
+       Simplify X premultipled pixel allocation code
+
+       * src/xterm.c (x_premultiply_pixel): New function.
+       (x_query_colors): Improve documentation.
+       (x_draw_fringe_bitmap, x_query_frame_background_color): Use
+       x_premultiply_pixel.
+
+2022-12-22  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       e59216d3be8 * Invoke spawed Emacs processes with '-Q' when native com...
+       777b383dd0f Fix Eshell electric slash when used from the root directo...
+       c088cdad9e9 Fix the --without-all build with tree-sitter
+       ec9fbad908d Fix write-region to null device on MS-Windows
+       f35da111990 message: Do not default to eudc-capf-complete yet
+       98c16a8c883 ; * lisp/tab-bar.el: Remaining renaming of "fixed-width" ...
+       d76d7a3bebf whitespace: Avoid mutating original buffer's markers in c...
+
+2022-12-21  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix broken eww desktop restore reload prompt message insertion
+
+       * lisp/net/eww.el (eww-restore-desktop): Repair a malformed `cl-case`
+       clause.  This code probably never worked as intended.
+
+2022-12-21  Mattias Engdegård  <mattiase@acm.org>
+
+       soap-client: fix validation against byte[]
+
+       * lisp/net/soap-client.el (soap-validate-xs-basic-type):
+       `byte[]` is read as the two Lisp values `byte` and `[]` but here the
+       symbol `byte[]` is intended: the brackets need escaping.
+
+2022-12-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       12b2b8864c2 Fix empty pairs in js tree-sitter imenu alist (bug#59945)
+       6d9f367ead3 ; * lisp/treesit.el (treesit-simple-indent-presets): Fix ...
+
+2022-12-21  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       d3a76db88b4 * lisp/repeat.el: Fix repeat-keep-prefix to allow customi...
+       8ef3777d544 Correct capitalization of Lisp in the manual (bug#60222)
+       d03ea893780 eglot.el: Add vscode-json-languageserver to eglot-server-...
+       8550a993785 ; * src/emacs-module.h.in (enum emacs_funcall_exit): Fix ...
+       fb7f3999c59 ; Fix ruby-method-params-indent's :version value
+       cfbfd393b45 * lisp/progmodes/project.el (project--read-file-cpd-relat...
+       2b1fdbffcb5 ruby-method-params-indent: New user option
+       b9e813f79f2 ; ruby-indent-level: Improve the docstring
+       399433cc2b9 * lisp/progmodes/project.el: Filter out empty strings fro...
+       23f7c9c2a92 Fix storing email into nnmail by Gnus
+       63cdbd986bb ; Really respect browse-url var in erc-compat
+       64163618d21 whitespace: Fix unintended change in buffer modification ...
+       a75d1da911c Make emacsclient add abbreviated file names to file-name-...
+       b3e7768a0ee Repair setopt test after error demotion to warning
+
+2022-12-21  Sean Whitton  <spwhitton@spwhitton.name>
+
+       vc-git-checkin: Don't try to apply an empty patch
+
+       * lisp/vc/vc-git.el (vc-git-checkin): Don't try to apply an empty
+       patch to the index, because in that case 'git apply' fails.
+
+2022-12-21  Sean Whitton  <spwhitton@spwhitton.name>
+
+       vc-git-checkin: Offer to unstage conflicting changes
+
+       * lisp/vc/vc-git.el (vc-git-checkin): When committing a patch, if
+       conflicting changes are already staged, offer to clear them, instead
+       of just immediately failing with "Index not empty" (bug#60126).
+
+2022-12-20  Vibhav Pant  <vibhavp@gmail.com>
+
+       Ensure that we are not aset-ing Lisp records in purespace.
+
+       * src/data.c (Faset): Enforce that Lisp records passed to aset are
+       impure with CHECK_IMPURE.
+
+2022-12-20  Po Lu  <luangruo@yahoo.com>
+
+       Improve safety of calls to vendor-specific-keysyms
+
+       * src/xterm.c (x_term_init): Wrap call to
+       vendor-specific-keysyms inside safe_call.
+
+2022-12-20  Sean Whitton  <spwhitton@spwhitton.name>
+
+       vc-prepare-patch: Number the attached patches
+
+       * lisp/gnus/mml.el (mml-attach-buffer): New FILENAME argument.
+       * lisp/vc/vc.el (vc--subject-to-file-name): New function.
+       (vc-prepare-patch): When vc-prepare-patches-separately is nil,
+       generate file names for the attached patches.
+       Call vc--subject-to-file-name, and then prepend numbers indicating the
+       ordering of the patches (bug#60147).
+
+2022-12-19  Mattias Engdegård  <mattiase@acm.org>
+
+       called-interactively-p: cut broken comparison
+
+       * lisp/subr.el (called-interactively-p): Remove attempt to detect
+       `byte-code` frames; it wasn't done right but also does not seem
+       to be necessary.  Adjust comment that was out of date.
+
+2022-12-19  Vibhav Pant  <vibhavp@gmail.com>
+
+       Add support for additional memory checks using AddressSanitizer.
+
+       When Emacs is compiled with AddressSanitizer support, enable
+       poisoning/unpoisoning freed/unused Lisp objects and other internal
+       memory management structures. If enabled, this will mark freed bytes
+       that have been put on free lists for future use and initially
+       allocated memory blocks/chunks as "poisoned", triggering an ASan error
+       if they are accessed improperly. Structures are unpoisoned when they
+       have been taken off their respective free lists. Additionally, add
+       optional macros for performing unaligned loads, which when enabled by
+       defining USE_SANITIZER_UNALIGNED_LOAD will use ASan provided functions
+       for loading from unaligned addresses, which may help catch bugs that
+       AddressSanitizer might otherwise miss.
+
+       * configure.ac: Check for the existence of address and common
+       sanitizer API headers.
+
+       * src/lisp.h (UNALIGNED_LOAD_SIZE): New macro. If enabled, and the
+       necessary sanitizer API is available, define it to
+       __sanitizer_unaligned_load(64|32) depending on the word size of the
+       architecture.
+
+       * src/fns.c [HAVE_FAST_UNALIGNED_ACCESS] (Fstring_lessp): Use
+       'UNALIGNED_LOAD_SIZE' to perform unaligned loads from the two strings.
+
+       * src/alloc.c (ASAN_POISON_ABLOCK, ASAN_UNPOISON_ABLOCK)
+       (ASAN_POISON_INTERVAL_BLOCK, ASAN_UNPOISON_INTERVAL_BLOCK)
+       (ASAN_POISON_INTERVAL, ASAN_UNPOISON_INTERVAL)
+       (ASAN_PREPARE_DEAD_SDATA, ASAN_PREPARE_LIVE_SDATA)
+       (ASAN_POISON_SBLOCK_DATA, ASAN_POISON_STRING_BLOCK)
+       (ASAN_UNPOISON_STRING_BLOCK, ASAN_POISON_STRING)
+       (ASAN_UNPOISON_STRING, ASAN_POISON_FLOAT_BLOCK)
+       (ASAN_UNPOISON_FLOAT_BLOCK, ASAN_POISON_FLOAT)
+       (ASAN_UNPOISON_FLOAT, ASAN_POISON_CONS_BLOCK)
+       (ASAN_POISON_CONS, ASAN_UNPOISON_CONS)
+       (ASAN_POISON_VECTOR_CONTENTS, ASAN_UNPOISON_VECTOR_CONTENTS)
+       (ASAN_UNPOISON_VECTOR_BLOCK, ASAN_POISON_SYMBOL_BLOCK)
+       (ASAN_UNPOISON_SYMBOL_BLOCK, ASAN_POISON_SYMBOL)
+       (ASAN_UNPOISON_SYMBOL) [ADDRESS_SANITIZER]: New macros. When
+       address sanitization is enabled, define them to poison/unpoison
+       objects.
+
+       (lisp_align_malloc): Poison newly allocated blocks on `free_ablock',
+       unpoison ablocks taken from it respectively.
+       (lisp_align_free): Poison individual ablocks when they are put on the
+       free list, unpoison them when an entire `ablocks' chunk is being
+       freed.
+
+       (make_interval): Poison interval blocks on initial allocation,
+       unpoison individual intervals on allocation and removal from
+       `interval_free_list'.
+       (sweep_intervals): Unpoison interval blocks before sweeping, poison
+       dead/unmarked intervals.
+
+       (allocate_string): Poison string blocks on initial allocation,
+       unpoison Lisp_Strings on removal from the free list.
+       (allocate_string_data): Poison `sblock' data on initial allocation,
+       unpoison individual `sdata' contents on allocation or removal from the
+       free list. Call `ASAN_PREPARE_LIVE_SDATA' on the new `sdata' struct.
+       (sweep_strings): Unpoison string blocks before sweeping them,
+       poisoning dead strings and their sdata afterwards.
+       (compact_small_strings): Call `ASAN_PREPARE_LIVE_DATA' on the `sdata'
+       to where compacted strings to moved to.
+       (pin_string): Call `ASAN_PREPARE_DEAD_SDATA' on `old_sdata'.
+
+       (make_float): Poison float blocks on allocation, unpoisoning
+       individual Lisp_Floats on allocation or removal from
+       `float_free_list'.
+       (sweep_floats): Unpoison float blocks before sweeping, poison
+       dead/unmarked floats.
+
+       (free_cons): Poison `ptr'.
+       (Fcons): Poison cons blocks on allocation, unpoisoning individual
+       Lisp_Cons on allocation or removal from `cons_free_list'.
+       (sweep_conses): Poison dead/unmarked conses.
+
+       (setup_free_list): Poison vectors put on `vector_free_lists'.
+       (allocate_vector_from_block): Unpoison vectors taken from the free
+       list, poison excess vector bytes when vectors allocated from the free
+       list are larger than requested.
+       (sweep_vectors): Unpoison vector blocks before sweeping them.
+
+       (Fmake_symbol): Poison symbol blocks on initial allocation,
+       unpoisoning individual Lisp_Symbols on allocation or removal from
+       `symbol_free_list'.
+       (sweep_symbols): Unpoison symbol blocks before sweeping, poisoning
+       dead/unmarked symbols.
+
+       (live_string_holding, live_cons_holding, live_symbol_holding)
+       (live_float_holding): When compiling with address sanitization and GC
+       poisoning enabled, return NULL if the passed address is poisoned, or
+       if the Lisp object it resides in is poisoned, avoiding a
+       use-after-poison trigger if these functions are called on a pointer
+       that might be referring to a now dead/swept object.
+
+       * etc/DEBUG: Add information about enabling ASan memory poisoning.
+
+2022-12-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Use equal and member instead of eq and memq
+
+       * lisp/cedet/semantic/complete.el (semantic-displayer-show-request):
+       * lisp/descr-text.el (describe-char-categories):
+       * lisp/mh-e/mh-identity.el (mh-select-identity):
+       * lisp/transient.el (transient--delay-post-command)
+       (transient--post-command):
+       * lisp/vc/vc-git.el (vc-git-create-tag):
+       * test/lisp/emacs-lisp/cl-lib-tests.el
+       (cl-lib-nth-value-test-multiple-values):
+       * lisp/emulation/viper-cmd.el (viper-preserve-cursor-color):
+       Use `equal` instead of `eq` and `member` instead of `memq` where
+       the comparison is with literals without guaranteed identity.
+       In some cases this change corrects evident bugs, in others it is
+       mostly cosmetic.
+
+2022-12-19  Mattias Engdegård  <mattiase@acm.org>
+
+       Elide broken but unnecessary `if` optimisations
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
+       Remove explicit clauses purposing to simplify
+
+           (if X nil t) -> (not X)
+           (if X t nil) -> (not (not X))
+
+       but never did so because of a coding mistake (eq instead of equal),
+       found by a recently added warning.  They weren't actually needed
+       thanks to the optimiser's fixpoint iteration: we eventually get the
+       same results through
+
+           (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X)
+           (if X t nil) -> (if X t) -> (not (not X))
+
+2022-12-19  Mattias Engdegård  <mattiase@acm.org>
+
+       alist-get testfn argument evaluation correction
+
+       * lisp/emacs-lisp/gv.el (alist-get):
+       Evaluate TESTFN exactly once (previously up to 3 times).
+       Reduce the macro-expansion to include a call to either assoc or assq,
+       not both; this reduces the generated code size in some cases.
+
+2022-12-19  Michael Albinus  <michael.albinus@gmx.de>
+
+       Ignore some handlers in ange-ftp.el
+
+       * lisp/net/ange-ftp.el: Return nil for `file-acl',
+       `file-notify-add-watch', `file-notify-rm-watch',
+       `file-notify-valid-p', `file-system-info',
+       `list-system-processes', `memory-info', `process-attributes',
+       `set-file-acl', `set-file-selinux-context'.
+
+2022-12-19  Po Lu  <luangruo@yahoo.com>
+
+       Improve earlier changes to xterm.c
+
+       * etc/PROBLEMS: Update for renamed variable.
+       * src/xterm.c (x_make_frame_visible): Better respect
+       `x-lax-frame-positioning'.
+
+2022-12-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       12e26cc0c1b ; * admin/git-bisect-start: Add mistakenly ommitted commi...
+       9a751e0a38b ruby-mode: Support endless singleton method definitions too
+       ce7b7e5af3d Remove comment-start-skip preset in tree-sitter indentati...
+       c1e015ae320 Fix recent change in tramp-smb.el
+       cf1b771864a ; * etc/NEWS: Fix typos.
+       50d18bb6ea7 Make tramp-archive autoloads robust for older Emacs versions
+       3941cc29df3 ; Improve documentation of 'setopt'
+       6f88de109c8 ruby-mode: Support endless methods (bug#54702)
+       91dd893e343 ; * lisp/progmodes/sql.el (sql-product-interactive): Doc ...
+       138d9dc4cb0 * lisp/cus-edit.el (setopt--set): Warn instead of rasing ...
+       d1e0542f336 Allow customising windmove user options with an empty prefix
+       c2375e77914 Improve and extend admin/git-bisect-start
+       7cc2313eb0a Make 'rmail-summary-by-thread' faster
+       88e59b16cbe ; Improve documentation of installing tree-sitter and gra...
+       897f33bf316 Fix the MS-DOS build
+       660e941235d Avoid crashes in PGTK build due to signal in 'note_mouse_...
+       0fc5fb2d054 Fix MS-Windows build broken by recent treesit.c changes
+       5b2e6d04ce2 Fix wrong capture in typescript-ts-mode (bug#60167)
+       cb8ccdd2670 Add rust-ts-mode (Bug#60136)
+       9fcf764dd73 Indentation fixes for jsx/tsx (bug#60169)
+       69f2c71135f Fix treesit-query-validate problem with view-mode
+       1fc7535546c Use cursor API in treesit-node-parent
+       5f0286c0afa Switch to use cursor API in treesit.c
+       a275e436df4 Add treesit_assume_true and treesit_cursor_helper
+       a54c7a8df0c Remove file-exists-in-trash-p
+       3e02029642c Update to Org 9.6-49-g47d129
+       4a8ff671b0e Don’t assume make-directory handler returns nil
+       44c83b239d3 Fix copy-directory bug when dest dir exists
+       bef1edc9cac make-directory now returns t if dir already exists
+       8a9579ca29d Use make-directory handlers uniformly
+       627e7e0243d Improve documentation of 'file-exists-p'
+       c9015ef55ff Fix resizing of mini-windows by 'set-minibuffer-message'
+       5a245bc786e Prevent Abort dialogs from async-compiling jobs on Windows
+       4d1e4a48938 Fix 'window-max-chars-per-line' when there are no fringes
+       d65beb820cc ; Revert "; * lisp/subr.el (internal--with-narrowing): Si...
+       1c0b90e5f7d ruby-mode: Recognize instance or global var as first arg ...
+       3356c0cb163 Fix end-of-defun in ruby-mode
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       67bc96c9d94 Remove treesit-defun-prefer-top-level and friends
+       4f9bccef556 Add yaml-ts-mode (Bug#60105)
+       f9cb144d45a Fix indentation in json-ts-mode (bug#60123)
+       3d348c46e78 ; Handle nil ARG in treesit-beginning/end-of-defun
+       1a66435dda3 New input method 'cyrillic-chuvash'
+       b9227c502d7 ; Improve wording of 'format' doc string
+
+2022-12-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       de2239a584a Revert "alist-get testfn argument evaluation correction"
+       856d889f3a8 Revert "Elide broken but unnecessary `if` optimisations"
+       8e42e20ed7f Revert "Use equal and member instead of eq and memq"
+
+2022-12-19  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       b01d0246d71 * lisp/term/xterm.el (xterm-function-map): Add M-SPC.  (B...
+       303d6ac1423 Fix moving to trash files that overwrite dangling symlink...
+       dc78779c0cd Fix SVG scaling (bug#59802)
+       10415d9651b ; Add useful hint to which-func documentation
+       c26ab22cf4e ; Improve doc strings of minibuffer-history commands
+       80f410d281c ; Fix last changes in buffer.c
+       f04680e067b Fix some naming issues involving query buffers in ERC
+       173e02f4eb4 ; Fix doc string in ERC's module-activation commands
+       5a9263a8725 Increment erc-debug-irc-protocol-version to 2
+       89f54e81576 A better fix for bug#60096
+       1b9ca1e5e64 ; Fix printing Lisp types in .gdbinit
+       7575c85efd2 Bump Eglot version to 1.10
+       a0806bc7ea9 Eglot: fix discrepant eglot-guess-contact/eglot-command-h...
+       8bf4cdcf79b Avoid recursive process filters in lisp/jsonrpc.el (bug#6...
+
+2022-12-19  Juanma Barranquero  <lekktu@gmail.com>
+
+       bs.el: Use the right buffer context to compute the mode name
+
+       * lisp/bs.el (bs--get-mode-name): The function is already called
+       with the correct buffer as current-buffer; and anyway, START-BUFFER
+       is usually the wrong one to pass to `format-mode-line'.  This fixes
+       a bug introduced in 48d33090d0 and c2699583be (back in 2008-01-04).
+
+2022-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve rename-file fix (bug#34069)
+
+       * src/fileio.c (Frename_file): No need for a special case to
+       rename a fifo, since we already tried and failed to rename it.
+       Also improve symlink handling, in that if readlink fails report an
+       error rather than trying to treat the link as a regular file.
+
+2022-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don’t hang when copying FIFOs
+
+       * src/fileio.c (Fcopy_file): Open the input file with O_NONBLOCK.
+       This prevents a hang if the input file is a FIFO.
+       If it’s a regular file O_NONBLOCK has no effect;
+       otherwise the file is soon rejected anyway.
+
+2022-12-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Suppress memql warning in test
+
+       * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-adjoin-test):
+       Suppress warning about `memql` argument inside expansion of
+       `cl-adjoin`.
+
+2022-12-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about lambda expressions in comparisons
+
+       Lambda expressions are not comparable; warn about calls such as
+       (eq x (lambda ...)) etc.
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--dodgy-eq-arg): Rename to...
+       (bytecomp--dodgy-eq-arg-p): ...this.  Use pcase.  Add lambda checks.
+       (bytecomp--value-type-description, bytecomp--arg-type-description)
+       (bytecomp--check-eq-args, bytecomp--check-memq-args): Add function
+       checks.  Update calls.  Make compiler-macro arguments optional to
+       avoid crashes in malformed code.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp--with-warning-test): Simplify argument.  Run each
+       compilation with a fresh (empty) warning cache.  Add ert-info for
+       easier debugging.
+       (bytecomp-warn-dodgy-args-eq, bytecomp-warn-dodgy-args-memq):
+       Add lambda tests.
+
+2022-12-18  Mattias Engdegård  <mattiase@acm.org>
+
+       Fix compiler macro expansion bug
+
+       * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
+       When a compiler-macro handler is re-invoked (after macro-expanding
+       arguments), actually use the result instead of pointlessly dropping it
+       on the floor.
+
+2022-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove Gnulib explicit_bzero module
+
+       It’s no longer needed, as it is now merely a thin layer around
+       C23-style memset_explicit and we might as well just call the
+       C23 standard function; that’s more forward-looking.
+       * admin/merge-gnulib (GNULIB_MODULES):
+       Remove explicit_bzero, and add memset_explicit.
+       * lib/explicit_bzero.c, m4/explicit_bzero.m4:
+       Remove these files, which were copied from Gnulib.
+       * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
+       * src/gnutls.c (gnutls_symmetric_aead):
+       Use memset_explicit instead of explicit_bzero.
+
+2022-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from Gnulib by running admin/merge-gnulib
+
+2022-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port better to glibc 2.28+ renameat2
+
+       * configure.ac: Check for renameat2.
+       * src/sysdep.c (renameat_noreplace): Prefer renameat2 (supplied by
+       glibc 2.28 and later) to doing the syscall by hand.
+
+2022-12-17  Philip Kaludercic  <philipk@posteo.net>
+
+       * lisp/emacs-lisp/package.el (package-report-bug): Autoload it.
+
+2022-12-17  Po Lu  <luangruo@yahoo.com>
+
+       Minor improvements to frame synchronization
+
+       * src/xterm.c (x_sync_wait_for_frame_drawn_event): Update
+       compositor bypass property if frame synchronization is being
+       disabled.
+
+2022-12-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Use equal and member instead of eq and memq
+
+       * lisp/cedet/semantic/complete.el (semantic-displayer-show-request):
+       * lisp/descr-text.el (describe-char-categories):
+       * lisp/mh-e/mh-identity.el (mh-select-identity):
+       * lisp/transient.el (transient--delay-post-command)
+       (transient--post-command):
+       * lisp/vc/vc-git.el (vc-git-create-tag):
+       * test/lisp/emacs-lisp/cl-lib-tests.el
+       (cl-lib-nth-value-test-multiple-values):
+       * lisp/emulation/viper-cmd.el (viper-preserve-cursor-color):
+       Use `equal` instead of `eq` and `member` instead of `memq` where
+       the comparison is with literals without guaranteed identity.
+       In some cases this change corrects evident bugs, in others it is
+       mostly cosmetic.
+
+2022-12-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Elide broken but unnecessary `if` optimisations
+
+       * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
+       Remove explicit clauses purposing to simplify
+
+           (if X nil t) -> (not X)
+           (if X t nil) -> (not (not X))
+
+       but never did so because of a coding mistake (eq instead of equal),
+       found by a recently added warning.  They weren't actually needed
+       thanks to the optimiser's fixpoint iteration: we eventually get the
+       same results through
+
+           (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X)
+           (if X t nil) -> (if X t) -> (not (not X))
+
+2022-12-16  Mattias Engdegård  <mattiase@acm.org>
+
+       alist-get testfn argument evaluation correction
+
+       * lisp/emacs-lisp/gv.el (alist-get):
+       Evaluate TESTFN exactly once (previously up to 3 times).
+       Reduce the macro-expansion to include a call to either assoc or assq,
+       not both; this reduces the generated code size in some cases.
+
+2022-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+       New option for selecting symbols by double-clicking
+
+       * lisp/mouse.el (mouse-1-double-click-prefer-symbols): New user
+       option.
+       (mouse-skip-word): If 'mouse-1-double-click-prefer-symbols' is
+       non-nil, skip over the entire symbol at point.  (Bug#60080)
+
+2022-12-16  Mattias Engdegård  <mattiase@acm.org>
+
+       Closures are always non-nil
+
+       * lisp/emacs-lisp/byte-opt.el (byte-compile-trueconstp):
+       Treat closures as true in boolean context.
+
+2022-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       tab-bar.el: Fix "void-function cl--set-substring" error
+
+       * lisp/tab-bar.el: Use #' to quote function names.
+       Try and fit within 80 columns.
+       (tab-bar--load-buttons): Silence compiler warnings about `icons` 
functions.
+       (tab-bar-auto-width): Avoid the use of `substring` as a gv-place
+       because it requires `cl-lib` which we don't (want to) preload.
+       [ Maybe a better solution would be to not preload tab-bar.el.  ]
+
+2022-12-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       033071692c7 ; Fix typos
+       f4a513344d9 Add lambda_expression-rule to java-ts-mode (bug#60091)
+       546aed35434 eglot: Add support for new language server csharp-ls
+       cb761eb7ac4 Use the new tree-sitter commands
+       037407ad95a Add "function" feature to python-ts-mode (bug#59977)
+       fee2efe1b03 Add go-ts-mode and go-mod-ts-mode (Bug#60025)
+       e8f7ab67ad1 Add basic support for hideshow in python-ts-mode (bug#60044)
+       cac070b23e4 Add "this" keyword to java-ts-mode (bug#60086)
+       c8d75046a2f When completing relative project file names, use relative...
+       3b618d0e3ed Avoid segfaults due to invalid selected-window's buffer
+
+       # Conflicts:
+       #       lisp/progmodes/sh-script.el
+
+2022-12-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix typo in rcirc function name
+
+       * lisp/net/rcirc.el (rcirc-format-strike-through): Rename from
+       'rcirc-format-strike-trough'.  Make old name into obsolete
+       function alias.  Update all uses.
+
+2022-12-16  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix typo in rcirc variable name
+
+       * lisp/net/rcirc.el (rcirc-track-abbreviate-flag): Rename from
+       misspelled 'rcirc-track-abbrevate-flag'.  Make old name into
+       obsolete variable alias.
+       * doc/misc/rcirc.texi (Channels): Update above variable name.
+
+2022-12-16  Juanma Barranquero  <lekktu@gmail.com>
+
+       Fix lisp/bs.el change in commit e0a057c16b of 2022-12-07
+
+       * lisp/bs.el (bs-default-action-list): Before creating a window
+       first try `display-buffer-reuse-window', but make sure it never
+       chooses a window in another frame.
+
+2022-12-16  Jim Porter  <jporterbugs@gmail.com>
+
+       Add support for the "splice operator" in Eshell
+
+       This allows splicing lists in-place in argument lists, which is
+       particularly important when defining aliases using the '$*' special
+       variable (bug#59960).
+
+       * lisp/eshell/esh-var.el (eshell-parse-variable): Add support for the
+       splice operator.
+       (eshell-interpolate-variable): Let 'eshell-parse-variable' handle
+       adding 'eshell-escape-arg'.
+       (eshell-complete-variable-reference): Handle the splice operator.
+
+       * lisp/eshell/esh-arg.el (eshell-concat-groups)
+       (eshell-prepare-splice): New functions...
+       (eshell-resolve-current-argument): ... use them.
+       (eshell-splice-args): New function.
+
+       * lisp/eshell/esh-cmd.el (eshell-rewrite-named-command): Handle
+       'eshell-splice-args'.
+
+       * lisp/eshell/esh-util.el (eshell-list-to-string): New function...
+       (eshell-flatten-and-stringify): ... use it.
+
+       * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Remove
+       'eshell-splice-args' sigils in Eshell command forms so that we can
+       perform completion on splice-expansions.
+
+       * lisp/eshell/em-unix.el (eshell-complete-host-reference): Don't try
+       to complete arguments containing "$@".
+
+       * test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-list-var)
+       (esh-var-test/interp-list-var-concat, esh-var-test/interp-var-splice)
+       (esh-var-test/interp-var-splice-concat)
+       (esh-var-test/quoted-interp-list-var)
+       (esh-var-test/quoted-interp-list-var-concat)
+       (esh-var-test/quoted-interp-var-splice)
+       (esh-var-test/quoted-interp-var-splice-concat): New tests.
+
+       * test/lisp/eshell/em-alias-tests.el
+       (em-alias-test/alias-all-args-var-splice): New test.
+
+       * doc/misc/eshell.texi (Dollars Expansion): Explain the splice
+       operator.
+       (Aliases): Expand documentation and use '$@*'.
+       (Built-ins, Bugs and Ideas): Use '$@*' where appropriate.
+
+       * etc/NEWS: Announce this change.
+
+2022-12-16  Jim Porter  <jporterbugs@gmail.com>
+
+       Support completion of variables with the length operator in Eshell
+
+       These are forms like '$#VARIABLE'.
+
+       * lisp/eshell/esh-var.el (eshell-complete-variable-reference): Support
+       the length operator.
+
+2022-12-16  Juanma Barranquero  <lekktu@gmail.com>
+
+       * lisp/bs.el: Use modern height preserving method instead of hooks
+
+       * lisp/bs.el (bs--track-window-changes, bs--remove-hooks): Remove.
+       (bs-mode): Do not set window-change tracking hooks.
+       (bs--set-window-height): Pass PRESERVE-SIZE to `fit-window-to-buffer'.
+
+2022-12-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       99aa00e6e34 Revert 21b387c39bd with last-minute hasty changes (bug#60...
+       386d6e74d83 Replace an erroneous eq with an equal in cc-defs.el
+       eb069470631 * lisp/tab-bar.el ([tab-bar]): Use 'make-sparse-keymap' i...
+       26243f7b65e compile.el: Fix regression with nb of errors in modeline
+       6e2923d80f8 Make tab-bar-tab-group-format-function backwards-compatib...
+       b211a63455c Make tab-bar-tab-group-format-function also handle curren...
+       367022f316e Ensure package directories for source packages from check...
+       3a633bdd6df ; * etc/NEWS: Fix recent changes.
+       6aa5d16c643 * test/README (SELECTOR): Add eglot-tests.el to remote fi...
+       bb27be36ddf Fix bug#60060 in Tramp
+       d4c2aa4f913 ; * lisp/net/tramp-crypt.el: Fix comment.
+       8404253d17a * .gitignore: Ignore GDB history files.
+       12684c3a199 Mention 'tree-sitter' in user manual and NEWS
+       49d7e0cec6a ; * etc/NEWS: Rearrange entries for tree-sitter supported...
+       0ad2112a2f0 ; Announce 'toml-ts-mode' in NEWS.
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       a15cd55044c ; Don't quote nil in comments
+       da39200c4be ; Checkdoc fixes in dired-aux.el
+       fd403a5c5a8 Fix ruby-add-log-current-method after nested class defini...
+       2ca06aed7b3 Add indent rules to js/typescript/tsx-ts-mode (bug#60074)
+       a54d5f500c1 Improve fontification in csharp-ts-mode (bug#59897)
+       3db2f560bb7 Revert "Add expression for generic_name in csharp-ts-mode"
+       1985762fbd7 Introduce support for TOML config-format
+       622838b957e Fix handling of % when searching in .tex or .dtx files
+       3b226b60248 Treat C++ classes as defuns in C Tree-sitter mode (bug#60...
+       480f41c7deb Add < and > to the syntax table in c++-ts-mode (bug#60049)
+       fbf0d3b796a Improve fontifications in Typescript mode
+       f93a5180a61 Update the documentation of overlays (bug#59996)
+       d51b66ed540 ; Improve description of scoping and let-bindings
+       752f9dde631 ; Fix a typo in window.el
+       102a3e3b445 Don't send erc-sasl-user as USER command argument
+       f0c90888781 Set erc-network to a "given" ID instead of failing
+       09c0c6b2ba3 Limit casemapping to appropriate ranges in ERC
+       44b04c0ac1c Actually accept non-symbols as IDs in erc-open
+       75f26646d4a ; Be nicer when updating browse-url var in erc-compat
+       0155fc67be3 Respect a nil erc-session-password when reconnecting
+       9ac80e8a6e4 Add dedicated auth-source section in ERC manual
+       2d96a18cd09 ; * lisp/emacs-lisp/shortdoc.el: fix mistakes in previous...
+       1d3cbba7dfa ; * lisp/progmodes/cmake-ts-mode.el (auto-mode-alist): $ ...
+       0cc199f1a61 Better shortdoc examples
+       931d97bf563 Shortdoc: read and evaluate strings after :eval
+       be165f75332 Fix Tramp tests in eglot-tests, prefix tests uniquely
+       8c30cb90ba9 * lisp/vc/vc-git.el (vc-git-checkin): Use make-nearby-tem...
+       3efe4df1d20 Delete temp files after icalendar tests
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-15  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       fafcf02c856 Fix syntax tables of tree-sitter modes (bug#59807)
+       91b8d9b7db4 ; * admin/notes/tree-sitter/build-module/build.sh: Minor ...
+       1b0e282a7f8 ; Comment and stylistic change in treesit.el
+       489b02d03cf * doc/misc/Makefile.in (need_emacsver): Add use-package.
+
+2022-12-15  Po Lu  <luangruo@yahoo.com>
+
+       Handle selection transfer errors earlier
+
+       * src/xselect.c (x_decline_selection_request, struct transfer)
+       (struct x_selection_request, x_cancel_selection_transfer)
+       (x_start_selection_transfer, x_continue_selection_transfer):
+       Give the right serial to x_ignore_errors_for_next_request.
+       (x_handle_selection_error): New function.
+       (x_reply_selection_request): Give the right serial to
+       x_ignore_errors_for_next_request.
+       * src/xterm.c (x_ignore_errors_for_next_request): New arg
+       `selection_serial'.  All callers changed.
+       (x_error_handler): Call selection error handler.
+       * src/xterm.h (struct x_failable_request): New field
+       `selection_serial'.
+
+2022-12-14  Stefan Kangas  <stefankangas@gmail.com>
+
+       Mark flymake diagnostic modes as non-interactive
+
+       * lisp/progmodes/flymake.el (flymake-diagnostics-buffer-mode)
+       (flymake-project-diagnostics-mode): Mark modes as non-interactive.
+
+2022-12-14  Mattias Engdegård  <mattiase@acm.org>
+
+       Warn about unmatchable constant args to `eq`, `memq` etc
+
+       Add a byte-compiler warning about attempts to compare literal values
+       with undefined identity relation to other values.  For example:
+
+         (eq x 2.0)
+         (memq x '("a" (b) [c]))
+
+       Such incomparable values include all literal conses, strings, vectors,
+       records and (except for eql and memql) floats and bignums.
+       The warning currently applies to eq, eql, memq, memql, assq, rassq,
+       remq and delq.
+
+       * lisp/emacs-lisp/bytecomp.el (bytecomp--dodgy-eq-arg)
+       (bytecomp--value-type-description, bytecomp--arg-type-description)
+       (bytecomp--warn-dodgy-eq-arg, bytecomp--check-eq-args)
+       (bytecomp--check-memq-args): New.
+       (eq, eql, memq, memql, assq, rassq, remq, delq):
+       Set compiler-macro property.
+       * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
+       Amend doc string.
+       * test/lisp/emacs-lisp/bytecomp-tests.el
+       (bytecomp--with-warning-test): Fix text-quoting-style and expand
+       re-warning so that it doesn't need to be a literal.
+       (bytecomp-warn-dodgy-args-eq, bytecomp-warn-dodgy-args-memq):
+       New tests.
+
+2022-12-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Make proced-tests work on more systems
+
+       * test/lisp/proced-tests.el (proced-format-test)
+       (proced-update-test, proced-revert-test, proced-color-test):
+       Remove the 'skip-unless' condition, as it is unnecessary.
+       (proced-refine-test, proced-refine-with-update-test): Use PID, not
+       Args, as the column to test, as PID is more portable.
+
+2022-12-14  Laurence Warne  <laurencewarne@gmail.com>
+
+       Add tests for proced
+
+       * test/lisp/proced-tests.el: New file.
+
+2022-12-14  Laurence Warne  <laurencewarne@gmail.com>
+
+       Make proced-update preserve refinements
+
+       Make proced-update preserve refinements by creating a new buffer local
+       variable proced-refinements which stores information about the current
+       refinements and is used by proced-update to further refine
+       proced-process-alist in the case it is non-nil.  The result is that
+       refinements are not immediately cleared when a proced buffer is
+       updated with proced-auto-update-flag non-nil.  proced-revert
+       maintains its current behaviour of clearing any active refinements.
+
+       * lisp/proced.el (proced-refinements): New buffer local variable
+       which tracks the current refinements.
+       (proced-refine): Set 'proced-refinements' variable and defer setting of
+       'proced-process-alist' to 'proced-update'.
+       (proced-update): Take into account 'proced-refinements' when setting
+       'proced-process-alist'.
+       (proced-revert): Set 'proced-refinements' to nil prior to calling
+       'proced-update'.
+
+2022-12-14  Po Lu  <luangruo@yahoo.com>
+
+       Work around primary selection clobbering during xterm DND
+
+       * src/xterm.c (x_dnd_do_unsupported_drop): Set `deactivate-mark'
+       to `dont-save'.  Explain why.
+       (syms_of_xterm): New DEFSYM `dont-save'.
+
+2022-12-14  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       cd5856e4038 Fix bug when calling `rgrep` non-interactively
+       ba4bdd6a259 Adapt Tramp specific tests in eglot-tests.el
+       1d5c35c8e46 * lisp/textmodes/texinfo.el (texinfo-flymake): Improve do...
+       a99d0e7e6c9 Support a function in the BUFFER-LIST arg of list-buffers...
+       def51dd6458 ; Fix typos
+       4980ed7a6d9 Don't allow lazy highlight from recursive minibuffers
+       4ef8b9f5441 Improve resetting face attributes when looking for suitab...
+       c4b8bc90a8e ; Fix typos in doc strings
+       c45eb138451 ; * lisp/bs.el (bs-attributes-list): Doc fix
+       d6adaf487d8 Add lexical-binding to example package header
+       03ad1a92a2d Add improved tree-sitter navigation
+       a5272e2a7cc ; * test/src/treesit-tests.el: Add outline headers.
+       489bcacc7c3 Add cross-reference to flush-lines
+       0f9e6532b14 Use font-lock-number-face for numeric values in csharp-mode
+       4bccb7b211e Make treesit-query-validate create a read-only buffer
+       c0fe6c72cec Improve dockerfile-ts-mode imenu generation (Bug#59979)
+       631908f7017 Add "->" to python--treesit-operators (bug#59968)
+       5d4274d9b65 ; * admin/notes/tree-sitter/build-module/build.sh: Add -f...
+       d264b75669d Align C++ access specifiers to their enclosing class/stru...
+       ca67d988d87 Add cmake-ts-mode
+       8ec923775de Tweak various ts-mode's indent and fontification (bug#59931)
+       647b6a8099f Add expression for generic_name in csharp-ts-mode (bug#59...
+       5b178efd85a ; Adjust eglot test to recent autopep8/pycodestyle
+       58b8ed8b55c ; Avoid compilation warning on MS-Windows
+       40c23c11e88 * lisp/outline.el: Fix the value 'insert' of outline-mino...
+       527eb11de20 * lisp/minibuffer.el (completions-group-separator): Rever...
+       42d740fb2cb ; Skip two eglot tests when typescript is missing
+       19ef86f775a ; Remove outdated text describing overlays
+       081bf583007 Skip Eglot rust-analyzer tests if 'cargo' isn't available
+
+       # Conflicts:
+       #       lisp/progmodes/typescript-ts-mode.el
+       #       lisp/treesit.el
+
+2022-12-12  Po Lu  <luangruo@yahoo.com>
+
+       Add variable to make resizing frames sometimes faster
+
+       * etc/PROBLEMS: Add documentation about new variable.
+       * src/xterm.c (x_set_offset, x_set_window_size_1): Respect new
+       variable.
+       (syms_of_xterm): Add a new variable to prevent Emacs from
+       syncing upon resize or movement.
+
+2022-12-12  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       06ef030f936 use-package.texi: New section "Manual installation"
+       f4ce6fa7d3e Revert "Revert "Improve last change to xfaces.c" (05ece1e...
+       b8d2ec920f3 Revert "Improve last change to xfaces.c" (05ece1eb8b)
+       24c8c28ae61 Do not pare arguments unnecessarily.
+       9c0d7bb73bb Add automated tests for Eglot
+       d3669cfe156 Eglot: allow skipping compile-time warnings about LSP int...
+       04b7e01885d ; project.el: Bump version.
+       f2876014adb Add customizale faces for tree-sitter explorer
+       3e349ee1198 Fix error message when installing non-existent package
+       733cdeabfb9 Don't use diff-mode buffer as a patch when it's visiting ...
+       87475f4af21 Fix pcase rx patterns using rx-let bindings (bug#59814)
+       4893a156317 Fix use-package-defaults defcustom type (bug#59941)
+       074b7e6f4d1 ; * lisp/use-package/bind-key.el: Remove ineffective back...
+       864ed9dfa1f ; * lisp/progmodes/dockerfile-ts-mode.el: use \' instead ...
+       9f7e5584a4f * lisp/language/indian.el: Improve Brahmi composition rul...
+       78ad33bb05f ; Minor cleanup of last change in xfaces.c.
+       2024ade271d ; Improve docs of relaxing face-font attribute match (bug...
+
+2022-12-11  Theodor Thornhill  <theo@thornhill.no>
+
+       Add prog-fill-reindent-defun (bug#59664)
+
+       Introduce a new command that aims to reindent code in a defun, or fill
+       a paragraph of text.  The command uses treesit.el when available,
+       otherwise falls back to using syntax-ppss and regexps.  Treesit.el
+       needs a new variable that is intended to be set by the major modes so
+       that this and other future functions can know what kind of node we are
+       looking at.
+
+       * doc/emacs/programs.texi: Mention the new command.
+       * etc/NEWS: Mention the new command.
+       * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add regexp for the new
+       variable.
+       * lisp/progmodes/csharp-mode.el (csharp-ts-mode): Add regexp for the
+       new variable.
+       * lisp/progmodes/java-ts-mode.el (java-ts-mode): Add regexp for the
+       new variable.
+       * lisp/progmodes/js.el (js-ts-mode): Add regexp for the new variable.
+       * lisp/progmodes/prog-mode.el (prog-mode-map): Bind the new command by
+       default.
+       (prog-fill-reindent-defun): New command.
+       * lisp/progmodes/sh-script.el (bash-ts-mode): Add regexp for the new
+       variable.
+       * lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode): Add
+       regexp for the new variable.
+       * lisp/treesit.el (treesit-text-type-regexp): New variable.
+
+2022-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/eshell/esh-opt.el (eshell--do-opts): Demote usage-msg to 
`user-error`
+
+2022-12-11  Basil L. Contovounesios  <contovob@tcd.ie>
+
+       Fix manual noverlay tests (again)
+
+       * src/itree.c (itree_iterator_start): Fix docstring typo.
+       * test/manual/noverlay/itree-tests.c: Stop defining unused
+       ITREE_DEBUG.  Replace removed names and APIs with current ones,
+       e.g. interval_tree_init is now called itree_init, and
+       itree_iterator_finish no longer exists.  Ensure preconditions of
+       itree API are satisfied before use, e.g. by zero-initializing
+       instances of itree_node before inserting them into a tree.
+
+2022-12-11  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       f221105723d ; * doc/misc/use-package.texi: Prepare for GNU ELPA.
+
+2022-12-11  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       80122cde3db ; Unbreak bootstrap
+
+       # Conflicts:
+       #       lisp/ldefs-boot.el
+
+2022-12-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       05ece1eb8b7 Improve last change to xfaces.c
+
+2022-12-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       79659416f95 ; * admin/git-bisect-start: Fix commit hash
+       a9037aa8e81 ; Fix use-package-ensure-system-package macOS footnote
+       7d787564c08 Actually improve detection of long lines
+       118465f6fed ; Improve checkdoc.el commentary section
+       30e3cb21351 Unset the weight/slant/width in the spec when realizing a...
+       01154166057 Update to Org 9.6-31-g954a95
+       26a8644a587 ; tabulated-list.el: Remove duplicate obsolete declaration
+       29b9aeae32a ; * doc/misc/use-package.texi: Fix misplaced @end group.
+       3c5a41b2008 ; * doc/lispref/keymaps.texi (Searching Keymaps): Fix a t...
+       1753da24cd4 Fix infloop in 'shell-resync-dirs' with tcsh
+       2f1269c3331 ; Fix some minor issues in use-package.texi
+
+2022-12-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       44c5f361497 ; Fix two byte-compiler warnings
+       a8ee046fb50 Ensure 'package-vc--version' always returns a version
+       022ab1061b2 Ensure 'package-vc--main-file' always returns an existing...
+       357fe91996b Check if package already exists before installing from ch...
+       5e8bc79f6b2 ; Fix reference in docstring to 'package-vc-install-from-...
+       af88b00b19c Refresh the package quickstart file in package-vc
+       5a092c8e461 ; * admin/notes/tree-sitter/starter-guide (Indent): Minor...
+       ebef8905b0d Make indirect buffers use tree-sitter parsers of their ba...
+       8f53fa10d94 Fontify "this" as a keyword in c++-ts-mode (bug#59924)
+       8de8f1dc051 Add class_body indentation for typescript (bug#59680)
+       839341d7370 Make more granular defun-type-regexp (bug#59873)
+       8f49137c9bf Add dockerfile-ts-mode (Bug#59894)
+       1014bcc8e32 Fix fontification of method-invocations in js-ts-mode (bu...
+       7141920c6af Fix escape-sequence feature in typescript-ts-mode (bug#59...
+       4df35e3491c Improve fontification in csharp-ts-mode (bug#59909)
+       33a8415eb7e Use 'project--value-in-dir' for 'project-vc-include-untra...
+       594267395d5 Update Turkish Hello
+       940d9070e97 Support newer glib versions (Bug#59061)
+       0bd26abf7fb ; * doc/misc/use-package.texi: Fix @file.
+       bcf235acd58 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
+       2ea7a357fd1 ; * doc/misc/use-package.texi: Fix @acronym.
+       d268ab1c5d7 Bring back the project--value-in-dir logic
+
+2022-12-11  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       5fbd12ff494 Adapt manual names in emacs-news-mode
+       b36bc692671 ; * etc/NEWS: Fix typos.
+       f626b9f3856 ; * doc/misc/use-package.texi: Fix indexing.
+       56a6712bd6f ; * lisp/erc/erc.el (erc-default-target): Fix comment.
+       dcf69a1da4a Respect some spaces in auth-source-pass--match-regexp
+       acd462b0306 ; Improve the use-package manual
+       801c1c22de8 ; Prefer HTTPS to HTTP in some URLs
+       74a009dd96a Eglot: Handle LSP progress with Emacs progress reporters ...
+       0cfeb1c2bc9 Eglot: cleanup whitespace and indentation
+       465a9e78b96 Better test-custom-opts diagnostics
+       bdbb7099784 ; Fix groff warnings in man pages
+       d3d9676bf88 New script admin/check-man-pages
+       c2aea9d1323 ; Mention flush-lines in kill-matching-lines docstring
+       f5c3585e4dd ; Fix typos
+       58a483960dd ; Improve use-package-autoload-keymap docstring
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-10  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Fix GDB save history (bug#59838)
+
+       * lisp/progmodes/gdb-mi.el (gdb-reset): Save GDB comint history.
+       (gdb-delchar-or-quit): Remove useless progn and add comment.
+
+2022-12-10  Gustaf Waldemarson  <gustaf.waldemarson@gmail.com>
+
+       gdb-mi.el: Configure variable order and length in local-vars window
+
+       This changes allows users to configure the order of various properties
+       as well as truncating their length.  The full description of each
+       property is available as a help-text (tooltip).
+       * lisp/progmodes/gdb-mi.el (gdb-locals-table-row-config): New user
+       option.
+       (gdb-locals-value-filter): Don't limit the values here.
+       (gdb-locals-table-columns-list): New function.
+       (gdb-locals-handler-custom): Call it.  (Bug#59730)
+
+       * etc/NEWS: Announce the change.
+
+2022-12-10  Po Lu  <luangruo@yahoo.com>
+
+       Improve X error messages
+
+       * src/xterm.c (x_connection_closed): Don't print handler blurb
+       if nothing is there to be printed.
+
+2022-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Resurrect changes omitted by a recent merge from emacs-29 (bug#59921)
+
+       This includes the changes for the following commits:
+
+         670daa8b
+         b429e524
+         c83c95634e7
+         6479691cf07
+         b710ca62c00
+         d31a2539834
+         a669d5fae54
+         f7262b8f81e
+         fef17557365
+         bf81df86e52
+         bfc00f1c120
+         d2411615e8b
+         dcf69a1d
+
+2022-12-09  Michael Albinus  <michael.albinus@gmx.de>
+
+       * admin/notes/git-workflow: Replace emacs-28 by emacs-29 branch.
+
+2022-12-09  Po Lu  <luangruo@yahoo.com>
+
+       Improve some behavior when the X server does not trust Emacs
+
+       * src/xterm.c (x_dnd_begin_drag_and_drop): Display error when
+       Emacs is untrusted instead of hanging indefinitely.
+       (x_focus_frame): Simply return instead of wasting time when
+       Emacs is untrusted.
+
+2022-12-09  Sean Whitton  <spwhitton@spwhitton.name>
+
+       Make eshell-read-aliases-list an interactive command
+
+       * lisp/eshell/em-alias.el (eshell-read-aliases-list): Add interactive
+       specification.  Note in docstring that the command is useful after
+       manually editing eshell-aliases-file.
+       * etc/NEWS:
+       * doc/misc/eshell.texi (Aliases): Document the change.
+
+2022-12-09  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       5b640f0abd3 Improve :delight keyword example in use-package manual
+       c417fe4df3b ; Refer to the manual in use-package docstring
+       0b3116971af Clarify :after keyword in use-package docstring
+       a17a6036dd4 Add conditional loading examples to use-package manual
+
+2022-12-09  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       67ef92fb0e9 Revert "; * src/emacs.c (main): Improvements to last chan...
+       6ccdda3df2e server-eval-at: Don't call server--file-name
+       90895773293 ; Improve use-package Commentary sections
+       15dda8cd5b3 ; Don't say to require bind-key in use-package manual
+       26267040549 ; Normalize GPLv3 license statements in new files
+
+2022-12-08  Stefan Kangas  <stefankangas@gmail.com>
+
+       Fix namespacing issues in bind-key.el
+
+       * lisp/use-package/bind-key.el (get-binding-description)
+       (compare-keybindings): Rename from this...
+       (bind-key--get-binding-description)
+       (bind-key--compare-keybindings): ...to this.
+
+2022-12-08  Eli Zaretskii  <eliz@gnu.org>
+
+       Merge from origin/emacs-29
+
+       e950f5a663 Merge branch 'feature/use-package' into emacs-29
+       5bcd0cee0f * etc/USE-PACKAGE-NEWS: Delete file.
+       6bb4267a54 * admin/git-bisect-start: Prune use-package merge commits.
+       b9fa81514f ; Minor doc fixes in bind-key.el
+       15fb115551 Update use-package defgroups
+       4be96c9dcb Drop key-chord.el support from use-package
+       9c21eae60c ; lisp/progmodes/java-ts-mode.el: Fix more typos.
+       2659311e06 ; * lisp/progmodes/java-ts-mode.el (java-ts-mode--keywords...
+       b4a3724d3b Remove unneeded (require 'edebug) from which-func.el
+       5899cac111 Change use-package custom :group to `initialization`
+       8fb2afe051 ; Fix typos
+       a37df90276 Treat escaped newlines in Eshell as the empty string
+       d3e9bd3b57 ; Document use-package-reset-statistics
+       c65e087068 ; use-package: Improve :ensure-system-package docstrings
+       141fe8b827 use-package: Improve :mode keyword documentation
+       888558ec42 Improve bind-keys* and override-global-mode docstrings
+       c774e83e36 ; * src/emacs.c (main): Improvements to last change.
+       537f11f8cd ; * doc/misc/use-package.texi: Improve indexing.
+       98e54f597e Add new use-package manual
+       01bfbd186a Fix use-package tests
+       97c8a58787 * doc/misc/Makefile.in (INFO_COMMON): Add use-package.
+       500c459eff ; * etc/NEWS: Mention use-package.
+       4a1e9d61b5 ; Merge from https://github.com/jwiegley/use-package
+       58cc931e92 Merge pull request from skangas/revert-for-copyright
+       c74b5c16f8 Merge pull request from skangas/revert-for-copyright2
+       ebbd98edb3 Revert "Add: 'local' keyword"
+       8296164eab Remove tests lacking a copyright assignment for now
+       a6cbfdd8f1 Merge pull request from skangas/package-requires
+       efae6048dd Add package keyword from finder-known-keywords
+       06f92d1cc0 Fix Package-Requires for bind-{chord,key}.el
+       e42c8479ec Merge pull request from skangas/dir-locals
+       7b689942f0 Merge pull request from skangas/fix-headers
+       30fa366737 Add .dir-locals.el
+       79c2c3a3ad Delete redundant headers
+       2399d0d5ce Normalize GPLv3 license statements
+       7087a97a24 Merge pull request from jwiegley/revert-1019-johnw/multi-k...
+       3e81af80a2 Revert "Allow multiple keymaps in :map argument"
+       f4ee1c3839 Merge pull request from jwiegley/johnw/multi-keymap
+       49fffe7cf4 Merge remote-tracking branch 'origin/master' into pr-830
+       cf8ab8b52e Merge pull request from skangas/texinfo-wip
+       2efc869866 Merge branch 'master' into texinfo-wip
+       9b476ae71c Merge pull request from skangas/gnu-elpa
+       8cf8631c69 Fix makeinfo warnings
+       a6b1b62763 Use two spaces to end sentences
+       6a26c55d70 Recommend GNU ELPA over MELPA
+       4e8b72efc8 manual: Regenerate texi file
+       ae301ad36d Merge pull request from skangas/checkdoc
+       5dad5ff0fe Merge pull request from skangas/ci
+       ff30d22909 Various checkdoc fixes
+       971634e3f9 Merge pull request from bhankas/master
+       43254ae62f Fix building on Emacs 24.3
+       45e6ee1371 Fix tests on Emacs 26 or older
+       7122ac5397 Bump version to 2.4.4
+       6b25a41bc6 Merge pull request from andreyorst/face-spec-set-third-arg...
+       76a5ce5d86 Allow passing the SPEC-TYPE argument via :custom-face
+       67d7d1fda0 Merge pull request from bhankas/master
+       370890e518 Bump version to 2.4.3
+       2ee9b31ca4 bind-key.el: Bump version for ELPA
+       407b1bf4f0 Merge pull request from andreyorst/face-spec-set
+       0be7f5dd53 Merge pull request from bhankas/master
+       abd655c99e Update version to 2.4.2
+       9188b3edf1 Merge pull request from bhankas/master
+       0fafd98513 Update copyright for submission to ELPA
+       6b344a9197 Use face-spec-set instead of custom-set-faces
+       c0338e06cd Merge pull request from conao3/add-commands-keyword
+       ec96b47664 bind-keys supports passing a list of keymaps as :map argument
+       daa124e1cc Fix bind-chords docs: :map argument may be a list of keymaps
+       4107bbfbdb Merge pull request from sdwolfz/native-compiler-warning
+       1494f65f61 Fix emacs native compilation warning for bind-key
+       c12deb31fe Merge pull request from CeleritasCelery/master
+       d4aeda77a9 Merge pull request from sdwolfz/native-compiler-warning
+       3feedce08d Fix emacs native compilation warning
+       6c2fdaffd9 Revert "Remove use-package-font-lock-keywords"
+       09e837dfae Merge pull request from belak/remove-extra-font-lock-keywords
+       89d6e7a5ec Merge pull request from realcomplex/override-global-mode-fix
+       a05b9e28ed Go back to making `override-global-mode` non-global
+       85c1287c26 Make sure that bind-key's `override-global-mode` is initia...
+       3dd5bee4aa Merge pull request from tarsiiformes/quote-quote
+       53c1889342 Quote single quotes in docstrings or use different quoting
+       e8626100f3 Merge pull request from tarsiiformes/cleanup-manual
+       835fdb16be manual: Regenerate texi file
+       0dc78ef4c8 Merge pull request from conao3/fix-declare-style
+       2967849846 Merge pull request from waymondo/ensure-system-packages-us...
+       28e7b96fcf Merge pull request from waymondo/use-package-hook-handler-...
+       b1fbfe66eb Merge pull request from waymondo/use-package-chords-autolo...
+       cf3bfecced Merge pull request from matzebond/master
+       a0ba027ee5 Merge pull request from wcy123/master
+       ca426a7732 Merge pull request from phst/lex
+       f270623768 Merge pull request from phst/flet
+       0503611b71 Merge pull request from conao3/add-custom-face-description
+       e9b297a9fa Merge pull request from iaeerfung/master
+       6484e5fdfe Merge pull request from wyuenho/set-default-use-package-en...
+       a7259411f6 Merge pull request from wyuenho/statistics-sorting
+       de0c8c36c7 Merge pull request from Hugo-Heagren/bind-keys-repeat-map
+       015c921a2e Merge pull request from danielpza/add-update-custom-package
+       b143663f12 Merge pull request from tarsiiformes/silencio
+       debab131f0 Merge pull request from DamienCassou/update-texi
+       22de8991c1 Merge pull request from skangas/fix-typo
+       620fe443c2 Add: 'local' keyword
+       4004dde6ea Avoid positional arguments to define-minor-mode
+       cb85f9c274 Fix typo in use-package docstring
+       30b35d6d62 Update use-package.texi
+       9be2580f5f optimization: constand folding for read-kbd-macro
+       1143f14d65 bind-keys-form: error for repeat sub-keywords without :rep...
+       c4bd2aa3b8 bind-key-form: allow :continue keyword inside repeat map
+       5ef327ce9f bind-key-form: allow :exit keyword inside repeat map
+       2203246454 bind-keys-form: new keyword :repeat-map, for defining repe...
+       ee292b80be Fix tests and documentation for hook
+       24c50da3b2 Auto detect mode suffix in hook keyword
+       1343783532 feat: add update custom packages command
+       f3ff593a84 Properly sort use-package-statistics-report
+       c09cb1301b Fix void-variable use-package-enable-imenu-support
+       11b2184c8d Remove uses of deprecated ‘flet’ macro
+       a35b924054 add testcase
+       dbfb3484cd add autoload keyword
+       40d2541331 fix docstring. was: invalid function name
+       ffa5f0397a Merge pull request from minad/improved-unbind
+       5ca7bc321d unbind-key: Ensure that keys are removed from the keymap
+       ec750952f4 bind-key: Use new symbols for kmapvar
+       a248658910 Merge pull request from tzz/tzz/use-package-use-theme
+       2b9536f242 Add use-package-use-theme and avoid missing theme errors
+       c425e67a19 Merge pull request from kljohann/custom-use-single-let
+       e3938e7b26 Use a single let binding when expanding consecutive :custo...
+       e4daf0cd42 Merge pull request from tzz/tzz/remove-use-package-from-cu...
+       6b7ab46e57 Remove use-package theme from global list of custom-enable...
+       3ffb662dcc Merge pull request from tzz/tzz/set-comment-and-synthetic-...
+       a3c310c11a Create new "use-package" themse and use it for :custom wit...
+       5ceb51ae19 set property theme-value to avoid saving variable
+       3e24a7363b Revert "use-package-core.el: use the Emacs set-default fun...
+       8ef7978028 set saved-variable-comment from :custom
+       99643f8873 Update version to 2.4.1
+       215dd35e49 add multiple and eval :custom-face usage
+       4938167bff Remove use-package-font-lock-keywords
+       10c6400d34 Merge pull request from wyuenho/patch-1
+       5bd7e0ca7d Migrate remaining files to lexical binding
+       1f54de9210 Merge branch 'master' into patch-1
+       c358eedcf9 Merge pull request from tzz/custom-set-default
+       13b1e202bf Update the documentation for :custom as per
+       d3f847eaee Fix broken test due to
+       2ca2212f73 better tests
+       de49954965 add test for
+       950068809b Support keymap symbol in bind-key
+       3e96664ffe Merge pull request from tzz/custom-set-default
+       8c31c57106 use-package-core.el: use the Emacs set-default function to...
+       4e72885f85 Merge pull request from jjlee/call-hooks-even-if-no-config
+       203d15e34e Merge branch 'master' into call-hooks-even-if-no-config
+       218687d897 Merge pull request from nahuel/patch-1
+       44c837879e typo, should be a vector, not a bytecode object
+       0ec4660f74 Add special value back again, in case needed for backwards...
+       f30d5761af Even when there's no :config, run any pre/post config hooks
+       91e5d275af Merge pull request from jwiegley/johnw/clarify
+       8b8522650e Clarify the documentation for :after
+       8e81459dad Merge pull request from DamienCassou/typos
+       3a58f53b14 Fix typos
+       0456f878fc Merge pull request from tarsiiformes/typos
+       8c7fa11a3f Fix typos
+       165f2dd968 Use `require', not `load', when byte-compiling ()
+       20415fb9be Update tests
+       4c8d5f0b21 Switch from `require' to `load' + `featurep'
+       27fd32c47b Use `require', not `load', when byte-compiling
+       0d720a0f61 update bind-chords to use of eval-after-load when maps dec...
+       8f1a345b5b rename function
+       8ec41be418 extract use-package-hook-handler-flatten-mode-symbols func...
+       4149ec6cfa use `use-package-as-one` for normalizing `:ensure-system-p...
+       97f0287e19 Make custom-face evaluate elisp. ()
+       c297dfdd20 Make custom-face evaluate elisp
+       8fe0ac2983 * use-package-core.el (use-package): fix declare style
+       3e36cbfb6d Merge pull request from stribb/master
+       95f24f9628 Add a line of documentation for (use-pacakage ... :hook)
+       7e40a9c424 Merge pull request from conao3/fix_default_value
+       77ad44639f Merge pull request from tarsiiformes/silencio
+       fc6fef6869 Silence byte-compiler on Emacs 25
+       3f96971feb Merge pull request from jwiegley/use-package-chords-suppre...
+       63886cb15f Merge pull request from lrochfort/ensure-system-package_us...
+       ca39ed155f [] Install system packages using system-packages-install
+       607879e647 prefix argument with _ to suppress Unused lexical argument...
+       4a34b41f96 Merge pull request from justbur/autoload-keymap
+       c169644637 Merge pull request from jwiegley/ensure-system-package-fil...
+       2a8c2ffea2 allow :ensure-system-package to check the presence of file...
+       0a4d082054 Merge pull request from killdash9/patch-1
+       38dcba6872 Place :chords at beginning of use-package-keywords
+       1fb4198933 Merge pull request from killdash9/patch-1
+       5fb369c968 Merge branch 'master' into patch-1
+       87e26db44f Merge pull request from jabranham/enable-lexical-binding
+       bdd7fd3565 Fix use-package-normalize-function
+       09b7e8e129 Fix use-package-normalize-function tests
+       e2e6f9a44b Enable lexical binding
+       cc9ec36f1a Merge pull request from taingra/master
+       b1d9ce08a6 Update use-package.texi
+       b84a77bcdc Added an Introduction taken from the README
+       c980371f6f Correct prefix keys after use-package-autoload-keymap
+       36f9a9b9b4 Merge pull request from akhramov/fix/ensure-system-package...
+       f38a100917 Ensure system package cleanup
+       db35639457 fix gethash default value for use-package-statistics-time
+       642417ac05 Merge pull request from andschwa/remap-command
+       d2fec5e5e3 Document that remapping commands is supported with bind-key
+       85e580a5e4 Merge pull request from akhramov/fix/ensure-system-package...
+       9f034a0bcf [] ensure-system-package: honor system-packages customizat...
+       dc83e2f035 Update use-package-chords.el
+       c9f6cae603 Update use-package-chords.el
+       e2a322d870 Merge pull request from waymondo/master
+       e5d3826b62 :ensure-system-package allow cdr of cons to be a package n...
+       ad601fb49a Merge pull request from valignatev/master
+       8a27cd3a8b Encourage installation via https instead of http
+       742cf27b0e Merge pull request from DamienCassou/fix-report-again
+       69a561b86b Fix compile-time warnings due to the statistics-reporting ...
+       2a47998844 Add missing require
+       dd8ef12112 Merge pull request from jwiegley/revert-645-fix-report
+       cba5a11368 Revert "Fix report"
+       b1429951b1 Merge pull request from DamienCassou/fix-report
+       b28efb4847 Fix compile-time warnings due to the statistics-reporting ...
+       bce655f616 Add missing require
+       4cc7f91270 Merge pull request from DamienCassou/tabulated-list
+       ae22d74a16 Use a tabulated-list to display package configuration stat...
+       76e6d3e8bc Merge pull request from matthewbauer/patch-1
+       2250f89ac0 Support ":package" in use-package
+       10b4dcb53a Merge pull request from justbur/normalize-fix
+       46503b194c Fix usage of plist argument in use-package-normalize-plist
+       e379221166 Merge pull request from justbur/ignore-keywords
+       09266283b9 Add use-package-ignore-unknown-keywords option
+       ab918196fa Revert "Merge pull request from jabranham/lexical-bindings"
+       566a2ea3a1 Revert "Move variable bindings to the bottom of each file"
+       c29193bf07 Move variable bindings to the bottom of each file
+       d21787f1d6 Merge pull request from jabranham/lexical-bindings
+       109167e8f5 Don't remove sharp quotes
+       2274130b40 Test still requires cl
+       4c3abcf4eb Fix byte compiler warnings
+       88bcb8b96d Use lexical bindings and remove cl package
+       fd8a3510fd Merge pull request from jabranham/system-packages-update
+       b7252f8e63 lexical binding
+       46ee100327 Prefer non-obsolete var names
+       567df21f26 Merge pull request from jabranham/fix-byte-compiler
+       8a6430835f Prefer org-table-align to orgtbl-ctrl-c-ctrl-c
+       13a9e339f2 Merge pull request from justbur/elisp-cap
+       44cb99fcc7 Merge pull request from nickmccurdy/render-report-table
+       1fdfd46fb2 Fix sanity check for correct :custom-face format
+       9638870f53 Handle automatic macro expansion by elisp-completion-at-point
+       13fb5f4f2e Guard a call to display-warning with ignore
+       cb15dffbd7 Render the use-package-report table using Org
+       2d226310f1 All the second argument in use-package-defaults lists to b...
+       51eceb4238 Add a test related to
+       31fa2f24a1 Add more tests related to issue
+       4aa9b0cd6a Minor simplification of a function
+       a4d2e77961 bind-keys fixes related to
+       3850281f88 Add a clarifying test for
+       ec84ed0dfb Fix a scoping issues with multiple occurrences of :bind
+       5a02d61ac6 Start building a use-package linter in use-package-lint.el
+       7e458c640c use-package-normalize/:disabled has the wrong number of ar...
+       0068501aa0 Remove several unnecessary calls to `ignore'
+       ae0d243681 Add another :bind test
+       e6c54b54ab Add further note to NEWS.md
+       4714380696 Add tests for two more issues
+       93231ecbab Fix the tests
+       8cf7b17dae Clarify a note in NEWS.md
+       8fefa49d39 Changes to the way auto-deferral is indicated
+       80e8a599b4 Introduce new customization variable `use-package-merge-ke...
+       96ecfab9e4 Use cl-gentemp in another place
+       7803571280 Correctly fix the problem of unreferenced symbols after co...
+       20694696b2 Revert "Pre-expand lexical-let, since otherwise it require...
+       7cc17cee8f Pre-expand lexical-let, since otherwise it requires cl to ...
+       71fc224961 Add documentation for `use-package-report'
+       beee6b8d4d use-package-defaults predicate must also receive the packa...
+       75428f870d Remove Package-Requires for diminish and delight, as these...
+       9a6d8a4cf2 Add a comment as to why max-lisp-eval-depth is set in -tes...
+       b001edf162 Add missing autoload cookie, and make lack of a normalizer...
+       ce36e68817 Don't compute the verbose debug text unless it's requested
+       e8a7ae1ea1 Add :bind test for a single cons cell
+       2a85d81c47 Add support for gathering statistics on use-package declar...
+       894e95aa4b Respect keyword ordering in use-package-deferring-keywords
+       0939993935 Clarify :config with setq versus :custom
+       c272c6b56b Update some GPL version references
+       2cd3ebd5d5 Allow the expansion of :after (:or foo bar) to be byte-com...
+       b2b91af2e5 Make the expanded text for :after cleaner
+       de12a5ae86 Several changes as suggested by flycheck
+       3343cca33b Don't auto-defer if the package itself was given to :load
+       2a9904b9e8 Enable all tests on Travis
+       0c110ebd67 Allow `:load t' to mean the same as :load of the package name
+       4882df8285 Whitespace change
+       7b8e94a61a Default running-on-travis to t
+       5f13924885 Enable 4 tests that work when not run on Travis
+       cdb250e766 For now, stub out test that breaks Travis
+       7c3a6cd70b Stub some referenced variables, for Travis
+       b5a0cd4f30 Add note in NEWS.md about :requires vs. :if
+       b25a305c58 Lower the priority of :if/:when/:unless in use-package-key...
+       64ffdb6863 Enhance fix-expansion to take surrounding let bindings int...
+       65caa3b423 Rewrite normalization of :bind and :bind*
+       725d749b7c Normalize errors should be errors, that are then caught by...
+       0a628a2767 Avoid using pcase and many other macros in macro-expanded ...
+       a090961f10 Fix bad interaction between bind-keys* and the :package ke...
+       10fd4577d0 Add missing autoload cookies
+       f037c2daeb Fix function accidentally made interactive
+       43f1be12b7 Use cl-gensym
+       ee07e709ea Fix the case where :ensure is given no arguments
+       afdf1c3638 Some Emacsen don't have gensym
+       2892c026f4 Add note in NEWS.md about :after and autoloaded keybindings
+       277384d151 Add a note to `bind-key` on the usage of the KEYMAP argument
+       2790bfc006 Add a bind-key test
+       62d33b2143 Support :ensure (pkg :pin archive)
+       e34fdb580a Add several missing comments
+       6c836985b1 Swap the order of two definitions
+       6470eaf3d5 Fix an argument process problem with bind-key
+       a2ddc18065 Comment out two tests that break on Travis
+       4b83f9525c Rename up-* files to use-package-* for consistency
+       f869036115 Merge branch 'split-bind-key'
+       1e42c867b6 Commit .texi file, as it requires several dependencies to ...
+       08e5406cc3 Merge branch 'master' into next
+       5382941ac3 Add a test-in-progress for issue 506
+       057814ae24 Add new customization variables `use-package-hook-name-suf...
+       d5feff862a Split key binding functionality out into its own file
+       d771e8d719 Please the byte-compiler
+       9245d08ebc Require cl for the use-package tests
+       e36d208c69 Expand use-package-core as a macro, to avoid load time dep...
+       01c3d75606 :ensure can be a list; correct handling of multiple :ensur...
+       101dc9793b Ensure that :commands always declare-function at compile time
+       fe85f246b0 Add a new :catch keyword, and move :preface before such ha...
+       8489206db4 Fix duplication in an error message
+       4042b87c72 Add expand-maximally macro to up-tests.el
+       026433a8a0 Revert "Reduce some code duplication"
+       fb9d159632 Move :preface handling within the code
+       4efd355108 Add two new tests
+       1e560c5140 Reduce some code duplication
+       ac906479a7 Normalize some whitespace and ordering in new code
+       0239ee227a Move :init back to happening after all autoloads have occu...
+       5d973a0188 Move :init back to happening after all autoloads have occu...
+       5d9c854a6c Add `use-package-chords` and `use-package-ensure-system-pa...
+       05dfea96e5 Change order of :defines and :functions within `use-packag...
+       20ea11b71a Add further notes to NEWS.md, in light of recent breakages
+       0be575766c Add new customization variable `use-package-deferring-keyw...
+       6d51e52342 Minor comment change
+       49752db41b up-ensure's customization variables are now in their own g...
+       f4f3e01044 Remove code from up-core.el that is now in up-diminish.el
+       bd2589e4be Add notes to NEWS.md
+       8bf5de28c3 Correction to a macro expansion
+       62f866caf7 Delete an unneeded blank line
+       a1bdd958d3 Reduce some code duplication
+       28084551ac Normalize the code emitted by :mode, :interpreter, :magic,...
+       36cf799853 Add 'errors as another option to `use-package-verbose'
+       f08f8a7ba9 Only emit the debugging context text once
+       35b975563c Correction to error detection at both :init and :config times
+       8428dafcfa Report errors during deferred :config as intelligent warni...
+       8dd0f274d0 Drop some unnecessary detail from a warning message
+       f356c838c1 Minor simplification
+       99200a1642 Fix a byte-compiler warning in up-ensure.el
+       7c95d0a0e0 Move optional jumping functionality to its own module
+       fff47a1331 Break out ensure/diminish/delight into their own support f...
+       cdbb2cbe97 Move the use-package-keywords defcustom to the top of the ...
+       22fb8f8c4b Disable a test that is not working on Travis
+       0c148eb777 Move functions around for better logical grouping
+       3625b3f712 More variable renaming needed in the tests
+       149c4878fc Change most use-package-- prefixes to just use-package-
+       d5c1fdf4e8 Remove a local variable binding
+       223c321a1d Always catch errors during configuration
+       e5aa510d48 Separate out all tests, the better to identify which one f...
+       4c1b82aed5 Define macroexpand-1 for older Emacsen
+       9ab797cccd A great deal of internal reorganization and simplification
+       a9429350d5 Fix `use-package-ensure-function' docstring typo
+       dee6b36286 If use-package-verbose is t, show loading times when :afte...
+       af3b34b022 Remove the :defer-install keyword
+       09be976c18 :demand should not override an explicit use of :after
+       9e8e9aa4ee Remove some debug code that crept in
+       cb846d188a Add tests for the last two keywords
+       cd4790b3df Add many more tests
+       f5b034154f Always wrap the expanded body from use-package in (progn)
+       21b9b6551d Comment out :no-require test for now
+       6954c3f582 Don't factor out a volatile variable
+       7f2eec9e65 Add many new tests
+       88f8c1bb8f Generate :defines and :functions correctly
+       b5b432d0fe Correct the ordering of :preface, :load-path, :defines and...
+       07ab280741 Whitespace fix
+       f674a75b61 Move :hook before :defer
+       2c618e17c6 Don't macroexpand bind-keys, leave that to the evaluator
+       5f1e8b6b72 Always use `load' when loading for the sake of compilation
+       669e8527fb Sort keywords at the appropriate time
+       af8b961716 Change the :config default, if none has been set in vars
+       1a09f8fef2 :no-require t should never require
+       0791e3fefe Code reformatting
+       dfd3194d80 Allow match-expansion to take multiple cases
+       7a562f10cb Add test for use-package-test-normalize/:ensure
+       9465b915a8 Add the missing plist-delete
+       98ee89a752 Remove an unneeded defvar
+       0be868d39b A final fix to :ensure + :load-path
+       ca94036dce Add a test case for :ensure, following up from
+       1fc543a212 Don't check for an :ensure that use-package-always-ensure ...
+       2ff8af6495 Add a use-package-version variable
+       c3b9cc2403 Add two new tests
+       3ea2d34219 Add stubs for future tests of all keywords
+       3847ec28ca Allow :ensure to take a nil value again
+       3cb64648fc Only add :ensure nil on :load-path if use-package-always-e...
+       35f46f7b42 Restructure some code
+       5e1a656e06 Using :load-path without also using :ensure now implies :e...
+       fab33fef3a Correction to use-package--recognize-function
+       5f2b0cbe8f Allow keys to be bound to nil
+       1167e7d063 Fix a missing `and'
+       6a62122e9c Use backquote rather than quote
+       0887e1f9d0 Correct use-package-normalize-mode
+       d8c1f02bf4 Whitespace fix
+       8051c9f5cd Update version and copyright
+       bff472ea80 Allow :bind ("C-c C-c" . (lambda () (ding))) and #'(lambda...
+       f256943f9b Reorder some items in NEWS.md
+       7499c8812a Add NEWS.md file
+       c0a884dfa2 Merge pull request from basil-conto/version
+       3db39c0573 Require Emacs version >= 24.3
+       2aea700500 Merge pull request from basil-conto/520
+       9870843e1c Merge branch 'master' into 520
+       9ea305beb6 Add a missing (require 'seq)
+       4303a2faf6 Require cl-lib and do not use seq functions
+       b7041c0f29 When use-package-inject-hooks is non-nil, always fire init...
+       2825987619 Print map keys in describe-personal-keybindings
+       606284e374 Repeating a bind no longer causes duplicates in personal-k...
+       a392f6da55 When byte-compiling, correctly output declare-function dir...
+       2c32857d57 Make diminish a soft dependency, as delight already was
+       7531c374bf Allow :diminish to take no argument, once again
+       c811637b30 Fix for single :custom (foo bar)
+       2ebf076733 Allow :custom (foo1 bar1) (foo2 bar2) etc
+       4ad4a59685 Add support for `:hook`
+       700c92c5de Append to *use-package* when debugging, don't clear it
+       6f9d4342ca Make unrecognized keywords a warning
+       9b523d7c4e Upgrade license to GPL 3
+       18b9bf18ad Don't allow :commands, :bind, etc., to be given an empty list
+       4ddf42185a Explicit :defer t should override use-package-always-demand
+       5ac5f8bc63 Merge pull request from drrlvn/patch-1
+       c72d8567d2 Corrections to the normalization of :custom
+       903ff82219 Merge pull request from joewreschnig/implicit-diminish
+       eda2db4f18 Merge pull request from waymondo/master
+       57ec21a013 allow customized values to be nil
+       9bf8264523 Merge pull request from canatella/add-customization-keywords
+       d8bbc3a95d Add support for face customization
+       fcf219701b Add support for variable customization
+       3c763f3169 Merge pull request from carldotac/master
+       5396491aec Fix typos in docstring
+       426a319e1b Merge pull request from emacsjanitors/demote-manually
+       85643eaf18 Cosmetic changes to use-package-ensure-elpa
+       68c9ee4bff Don't use with-demoted-errors in use-package-ensure-elpa
+       3f58555ed8 Merge pull request from raxod502/feat/fix-install-deferred
+       c3455b2a67 Remove duplicate documentation of :mode
+       c845776677 Merge pull request from joewreschnig/481-delight-docs
+       d0dcd95d80 Document :delight in the doc string and README
+       ca83649a32 Allow `:diminish` with no arguments
+       463e38b188 Merge pull request from joewreschnig/477-delight-wrappers
+       7eec86f5cd Allow :major as the third argument in :delight calls
+       4b8b850cf0 Allow multiple :delight arguments, or omitting the mode. ()
+       6e6b533aaf Fix bug in use-package-install-deferred-package
+       99e4045122 Merge pull request from joewreschnig/magic-469
+       ac4a3a4aa8 Add `:magic` and `:magic-fallback` keywords (issue)
+       ec088b747a Protect against errors during package install
+       c38c33e6fa Merge pull request from raxod502/feat/failed-autoload-msg
+       3823a9059e Fix quoting error in failed autoload message
+       0a12111d2f Merge pull request from raxod502/normalize-nil
+       a9ffffcee5 Make use-package-normalize-value handle nil better
+       2db2b56b17 Merge pull request from raxod502/fix-bind-key-filter
+       e5e335424c Add comment explaining keyword-argument patch
+       d5d320e607 Don't mutilate keyword arguments in :bind
+       9f90129b95 Merge pull request from raxod502/fix-after
+       0f547bc807 Merge pull request from raxod502/always-defer-install
+       bca84ee71a Add use-package-always-defer-install
+       9ad6f2ef1a Fix :after keyword
+       bd2afa53c7 Merge pull request from raxod502/defer-install
+       249de4b44d Merge remote-tracking branch 'origin/master' into defer-in...
+       b2e674de0a Update docstring, installation prompt message
+       ecc5fddda4 Various improvements for deferred installation
+       57e38152e1 Get :defer-install completely working, in theory
+       855a2afbe3 Improve deferred installation mechanism
+       89a8f94672 Merge branch 'generalized-ensure' into defer-install
+       a233f01ff6 Update docstring for use-package-ensure-function
+       f6224b2956 First cut at :defer-install keyword
+       4e6115214b Extend capabilities of use-package-ensure-function
+       45442561d3 Revert "Return `t' after calling `eval-after-load'"
+       0517689cf3 Support multiple symbols passed to :after
+       f1fa65d773 :mode and :interpreter can now accept (rx ...) forms
+       87a8ff6d69 Return `t' after calling `eval-after-load'
+       61d6a8e449 Add autoload cookie for use-package-autoload-keymap
+       a4c3244f30 Merge remote-tracking branch 'origin/pr/349'
+       0905a7b1c7 Merge pull request from justbur/find-form
+       c287aa3085 Merge pull request from justbur/imenu3
+       f95d487d03 Merge pull request from raxod502/fix-use-package-defaults
+       482c8e5728 Fix use-package-defaults
+       8fa6e8823b Unrevert "Add use-package-defaults"
+       013425edeb Revert "Add use-package-defaults"
+       a1550a7746 Merge pull request from raxod502/use-package-defaults
+       3dec23c086 Add use-package-defaults
+       c637f2be43 Merge pull request from raxod502/use-package-ensure-function
+       e853355714 Add use-package-ensure-function
+       ad8094c22d Add new customization option `use-package-always-demand`
+       dbf46d97be Merge pull request from basil-conto/preface
+       6c35742992 Merge pull request from tarsius/outline
+       ba3064ed80 Merge pull request from tarsius/bind-later
+       75e0cd93c5 Delay decision whether to use eval-after-load until run-time
+       134ecb3c88 Support outline-minor-mode
+       aad07daa8d Increase :preface priority
+       42b7a774cf Merge pull request from phst/bug398
+       baa9e25a6b Declare package-read-all-archive-contents
+       c15c616eb1 Remove tests, which don’t work
+       9688d2f64b Don't allow implicit package name arg for binders
+       65c7b42a14 Don't allow nil as a mode function
+       fc57b34299 Refactor pair normalizers; add tests for them
+       5ed9a6b5a5 Remove obsolete mplist tests
+       fc7fc42f13 Bump version to 2.3
+       bcfb149517 Merge pull request from appleby/master
+       ef0cbfdc73 Ensure package-pinned-packages is bound before referencing it
+       4629e86240 Remove the use of a tab
+       72452b5548 Merge pull request from ketbra/master
+       5053f75e00 Make pin and ensure compatible
+       811c99da52 Merge pull request from npostavs/state-noconst
+       79c38c5184 Fix declare-function call: FILE must be a string
+       71057bc20f use-package-as-string: use noerror parameter
+       be7a0e4649 Don't pass a constant as the state
+       758739e6db Version 2.2
+       1f03bec96b Merge pull request from justbur/bump-init
+       59d34cf9ce Move :init forms before :after and :demand
+       c13ca927c2 Add function use-package-jump-to-package-form
+       75bdb87833 Improve imenu support
+       ff0a5e281d Merge pull request from justbur/imenu2
+       da08a04652 Fix imenu support for older versions
+       1d6b3174f5 Merge pull request from justbur/imenu
+       2b5668df20 Merge pull request from robario/patch-1
+       d34fb2bdc9 Add imenu support for use-package forms
+       858a7f9b7c Fix to ignore load error caused via :after
+       153b542421 Merge pull request from xuchunyang/fix-package-install
+       3aa6aecb7f Mark package as selected with package-install
+       af65fbea63 :map no longer accepts lists; only eval-after-load if nece...
+       a1c4e6d0ab Normalize some error text
+       f150691c78 Only printing debug messages if use-package-verbose is `de...
+       8e128b29f5 Merge pull request from ljos/master
+       6ca19531bb Repair :map handling in bind-key.el
+       b0b5cfbfb2 Quote variable in `bind-keys*'
+       6a90a9f16d Add configuration variable `use-package-check-before-init'
+       ce51ea2055 Use `add-to-list' defensively instead of `push'
+       6da4e0ce9d Add variable `use-package-always-defer'
+       eeba14ef07 Restore :bind-keymap, it does something special still
+       828563a756 Remove :bind-keymaps, and only apply :map bindings after load
+       856e8ee245 Support multiples uses of :map with :bind
+       23a61c8f6b Add some variable settings to use-package-tests.el, thanks...
+       4593f178e3 Merge pull request from alezost/keymap-doc-fix
+       947345028e Add another `declare'
+       c65a334276 Handle :unless correctly
+       543935482f Add a comment about a recent change
+       416096bfdc Merge pull request from waymondo/master
+       57af7dd571 Merge pull request from dudebout/patch-1
+       ee8ac83641 Add an autoload cookie for `use-package'
+       32748d0657 Upper casing Cs corresponding to Ctrl
+       2b967a3c18 Merge pull request from thierryvolpiatto/fix_package_install
+       c5e98d87da Ensure package-install support a second argument
+       5cbfd926c5 When :ensure is used install package as a selected package
+       9e2dcf8655 Merge pull request from kovrik/fix-pin-performance
+       cc4333a1be Merge pull request from phillord/fix/always-pin-typo
+       ba4aeb600d Fix errant variable name
+       3f48ff4648 Merge pull request from phillord/feature/always-pin
+       f4a01f3e00 Add new option `-always-pin'
+       c42e3f5669 Change condition that checks if package has been initialized
+       19474a1711 Do not package-initialize on each :pin
+       38c170e17b Merge pull request from kovrik/issue-299
+       3ce3b3a98c Add a missing comma
+       b4ec5abad2 Add a PREDICATE option to bind-key, and :filter to `bind-k...
+       cd867dfe2f allow string values in cons for :bind keywords
+       95038f96f1 Guard against a case where :load-paths is nil
+       d1c78a646c Move :pin out of macro expansion phase fixes
+       308e4e3f2c Move :pin out of macro expansion phase
+       ed2e85e4a7 Use cl-mapcan rather than apply 'nconc; thanks wasamasa
+       189c8b5422 Merge pull request from kovrik/byte-compile-ensure-fix
+       d9f37b4f0c Install packages when byte-compiling (fix by @npostavs)
+       b1f442c15b Apply a fix from npostavs relating to
+       734c5e7119 Merge pull request from kovrik/master
+       96add4d4c0 Merge pull request from phillord/feature/after
+       564f9bb74b Support for after keyword
+       ac47f783da Move :ensure option from macro expansion phase to runtime ...
+       ff8bdfcdca Bump version to 2.1
+       5dffc8c7cf Merge pull request from waymondo/extend-bind-handler
+       6298e7e477 pass in symbol of bind macro, for more extensible re-use o...
+       3e2747f174 Revert "Merge pull request from edvorg/master"
+       9c1156dbf8 error handling for use-package
+       2276ed7607 Merge pull request from matklad/master
+       d514592746 fix quotation error
+       fa36aa682c Merge pull request from npostavs/string-packages
+       3cdc6c39bf Re-add support for string package names
+       282241cf7d Merge pull request from nickalcock/master
+       1cbcd66ebe Support :bind (:map '(...))
+       269b1080ae Merge pull request from thomasf/master
+       d81390f6de Handle the case when keymap has a broken documentation
+       d3f47a7401 Merge pull request from killdash9/keymap
+       4502a5ecb1 Merge pull request from syl20bnr/fix_hook_injection
+       90e3f48111 Fix calls to run-hooks for :init and :config injected hooks
+       6f0586ef52 Refresh package.el archives if package is missing
+       a53b5062c4 bind-keymap fixes
+       f1a00054b1 Keymap bindings must be interactive
+       c850481d06 Failed to require a package is just a message
+       d1e91745b3 Minor fix to :diminish
+       c3a4b03b5f Fix a bug in the :delight support
+       800669d9da Add :delight support, thanks to darkfeline on GitHub
+       80aad34a39 Add new customization use-package-always-ensure
+       348bc57141 unbind-key now removes key from personal-keybindings
+       47586c714e Fix file headers
+       53bb14cfb7 Add autoload stanzas to bind-key
+       d70d70843a Correction to an eval-after-load expansion
+       8c00f108bf Change use-package to use bind-keys and bind-keys*
+       012c37d722 Change bind-key* behavior to mimic bind-keys*
+       029e46a874 Whitespace cleanups
+       eb6b81dfec Allow :map in bind-keys to accept multiple maps
+       2abf565af2 :pin should return `t'
+       e7f3f97a71 Modular support appears to be working
+       f1ab3291f6 Began work on modular handling of keywords
+       94ad68330d Rename use-package-with-elapsed-timer at an internal name
+       b30b279a99 Remove code I did not intend to commit
+       f45c4f0edd Merge pull request from npostavs/macroexp-progn
+       c2f5b2479d Fix some docstrings
+       3467e4eaa6 use-package-progn: replace with macroexp-progn
+       23ec1ca719 Merge pull request from npostavs/name-keymap
+       f5f4102ca1 get-binding-description: return keymap symbol
+       1b6605652c Use push instead of add-to-list
+       38f907cc5d Remove a hack that is not needed anymore
+       2778e85a39 macroexpand nested uses of use-package in :init and :config
+       19ab94cf39 Wrap the :preface in an eval-and-compile block
+       8769309fbf Remove a use of macroexpand
+       658d103b70 Make a warning more specific
+       5787ff074c More work to silence the byte-compiler
+       46435d7b84 Other minor improvements for byte-compiling
+       d2679595fa Several minor improvements and fixes
+       eda8246fc6 Change some code for consistency's sake
+       c819beebf0 Merge pull request from killdash9/keymap
+       8d7a0c2185 minor fixes to get bind-keymap working in 2.0
+       771f2edc83 Always return t on a successful init-time load
+       db69a3f81c Add to the load-path before the :preface
+       9e35dd95d9 More fixes related to byte-compilation
+       34bc31e1d4 A few changes for byte-compilation
+       1fe2c1c056 :defer now accepts an optional number of seconds
+       302c008b45 Permit minimal expansion of macro bodies, and other fixes
+       21a091f17a Collapse some whitespace
+       05c02aee86 Allow vectors to be passed to :bind again
+       55d6bb00ca Add code to workaround an inefficiency with eval-after-load
+       4029030eb5 Output Compiling message only if verbose is enabled
+       b75c1cb47e Allow :pin to accept a symbol
+       5c85433fac Relax a path normalization check
+       a203028871 Correct an erroneous symbol reference
+       a66d1952e3 Update docstring for :disabled
+       1c5f9247aa Merge pull request from npostavs/eval-after-name
+       98b642b794 Undo an erroneous change
+       199399e552 Add -hook to the injected hooks
+       03ea5d6dbf Restore an earlier fix to
+       9385ab417a BREAKING CHANGE: Remove :idle and :idle-priority
+       1f20acfd57 use--package: eval-after-load name
+       81f5e48d32 Support optional injection of hooks, for Spacemacs
+       f637380fed Add :preface, occurring before everything except :disabled
+       b4a00d2eb5 Some minor code reformatting
+       71f894fe78 Fix to :ensure normalization
+       a6edb08122 Merge pull request from thomasf/master
+       9748de389c Merge pull request from npostavs/warning
+       e68d00d525 Fix :ensure value interpretation
+       27cba067ee use-package-expand: use display-warning
+       4ae584f3ff Begin refactoring for 2.0; NOTE: BREAKING CHANGES
+       0f76d766d9 Many stylistics cleanups and simplifications
+       a4a696572d Revert "Don't add autoload for existing commands"
+       30da0769bf Stylistic changes
+       f8bf1b0986 Minor style edits
+       f334f230eb Minor changes
+       aa6e3f47c7 Show more informative errors when they occur
+       24ace89e5a Merge pull request from tarsius/master
+       719115cf47 Allow using expanded macro without loading feature
+       89a957efa9 Merge pull request from killdash9/keymap
+       b8f0799ce8 Passing t into keymap function
+       60029cb0ab Merge pull request from killdash9/keymap
+       7252e29ec4 Merge pull request from thiagowfx/patch-1
+       7db9b920df fix small typo (key > keymap)
+       1ae2236854 :bind-keymap - bind a key prefix to an autoloaded package ...
+       647950fd16 Merge pull request from vermiculus/master
+       5a5aeca797 Do not quote lambda expressions
+       f8db1f1740 Merge pull request from YoungFrog/fixautoloads
+       99642725c1 Merge pull request from peterhoeg/master
+       b3bf1b2587 Check if package-archives are valid when pinning
+       a2b23f8326 Don't add autoload for existing commands
+       435d4b4078 pure cleanup
+       18f04bfb99 Merge pull request from peterhoeg/master
+       fe7fe61528 support for pinning package to archive
+       6570447a05 Merge pull request from Silex/master
+       0bfa356148 Merge pull request from waymondo/master
+       e8ce1b20ca add :bind* keyword for `bind-key*`
+       f07ecde5a1 Fix "compiling" typo
+       4c927efbd5 Merge pull request from thomasf/master
+       351c102010 Display which package that has compile errors
+       4cf50ffbca Merge pull request from tarsius/master
+       31bb0cde56 assume the declare-function macro exists
+       91953b08e0 Merge pull request from BernardHurley/master
+       471869269a bind-keys macro changed to allow prefix map to have a menu...
+       3cbf510468 Merge pull request from npostavs/desc-vector
+       b3e96443ad bind-key: cleanup
+       de9f6814e7 bind-key: no vector keys in personal-keybindings
+       91b439c8e7 personal-keybindings: add docstring
+       0d0e8db731 Merge pull request from alezost/bind-keys
+       c4ebcaa953 Add bind-keys* macro
+       2d67e1dca1 Merge pull request from thomasf/master
+       1c82b2377f Don't abort compiling if package loading fails
+       a4939e7ef3 Revert "Merge pull request from alexko/master"
+       8c04377608 Merge pull request from alexko/master
+       a9ba368fa7 Merge pull request from YoungFrog/fix-mult-mode
+       6d02a320f6 if package can't be located, treat it the same way as disa...
+       4e80d29daf Eval backquote earlier and support non-`progn' lists
+       d63972eb29 Merge pull request from YoungFrog/keynameeval
+       9ca3690b59 * bind-key.el (bind-key): don't eval key-name at macro exp...
+       978094589e Merge pull request from npostavs/bind-vectors
+       01196c81ac bind-keys: bind directly to prefix-map
+       869ff53ab9 bind-keys: ,@(when map (list map)) => map
+       053a1514a1 fix typo
+       efe2419a22 Merge pull request from YoungFrog/idle-interval
+       0ab0d77691 Add new option use-package-idle-interval
+       db9cba9a31 Merge pull request from ffevotte/idle-priority
+       6b30c15823 :idle-priority keyword to change the running order of idle...
+       c7ff480095 Merge pull request from tarsius/master
+       f32d24350c use-package-font-lock-keywords: add use-package-with-elaps...
+       2d7ecd867a use-package-with-elapsed-timer: add declare indent rule
+       ea3a475d0b use-package-with-elapsed-timer: respect option at runtime
+       11195fa213 Merge pull request from npostavs/bind-vector
+       f0776c2aeb let bind-key accept vectors, add docstring
+       0f7d54d1db Merge pull request from Fuco1/variable-col-width
+       e23bce4c2f Merge pull request from Fuco1/special-form-desc
+       38d4d2e2da Add variable column width
+       f90d65e149 Add better descriptions for lambdas, closures, keymaps
+       aec1268960 Merge pull request from Fuco1/bind-keys
+       7d0779114e Add `bind-keys` macro
+       dd937c4e36 Move tests to separate file
+       2676ff5d95 Allow multiple forms after keywords
+       58ca076647 stop describe-personal-keybindings adding trailing space
+       6ca942d780 Merge pull request from aspiers/best-practices
+       21cabfd334 fix bind-key URL (fixes)
+       8f7e878caf add 'use-package-' prefix to 'with-elapsed-timer'
+       283653ff4b Merge pull request from aspiers/hyperlink-all-bindings
+       ebe59c7da1 Merge pull request from aspiers/docs
+       2dbee4cd75 fix DRY violation by only having documentation in one place
+       984850be80 hyperlink functions in Comments column
+       25ea8ea840 Merge pull request from aspiers/short-mode
+       75206228dd allow :mode and :interpreter to accept a string
+       7de292c0e9 Merge pull request from tarsius/defun
+       d588d0b382 use-package: use defun as lisp-indent-function
+       c3704ac36e Add a :demand directive, to override deferred loading ()
+       9d395a4019 fboundp is a function, not a variable
+       d4bf41eb82 Merge pull request from dabrahams/patch-1
+       f3e9e871a6 Backward compatibility with emacs-22.1
+       90ca8adc41 Default use-package-verbose to nil
+       ee0060c3a7 Merge pull request from Silex/master
+       c7560f7be7 Remove el-get support
+       f3ed771481 Merge pull request from aethanyc/add-missing-keyword
+       36cf13ef47 Add :pre-load to use-package-keywords
+       c3cbe3a69a Merge pull request from PhilHudson/master
+       a116fc2136 Properly enable runtime dependency for :idle stanza (issue)
+       e8b5ea3b70 Merge pull request from npostavs/comma
+       94072fba77 remove extra comma (added by 026c46c)
+       e367788005 Merge pull request from npostavs/cleanup
+       026c46c057 let with-elapsed-timer return last form
+       3d871c7994 make `with-elapsed-timer' hygienic
+       61fd933807 with-elapsed-timer: only check verbosity once
+       9921a76e86 remove after-init-hook for override-global-mode
+       29abf59bad macroexpand not needed
+       119a30f2ba cl not needed since flet was removed in 82903da
+       901272a8c7 Merge pull request from phillord/first-keyword
+       d6a5c43915 Merge pull request from npostavs/quasiquote
+       8c1c572857 use plist-get-value for all non-sexp args
+       dd20db220d plist-get-value treats arg as backquoted
+       9c9329f522 Merge pull request from dudebout/fixes-
+       818c78f466 Removes `plist-get-sexp`
+       ff03bef1d1 Merge pull request from dudebout/variable-and-function-sup...
+       fd8af80f08 Enables using variables and functions as arguments
+       6fdeb0c044 Merge pull request from npostavs/eval-after-name
+       c6d79d2cb4 pass name (not name-string) to eval-after-load
+       6efc084cdf Merge pull request from aethanyc/fix-highlight
+       bbf2b5034b Fix highlight use-package for Emacs snapshot
+       749295c052 Merge pull request from npostavs/hilite-redux
+       71150a79c5 Merge pull request from aethanyc/improve-output-buffer
+       8de5c29ed5 Improve (describe-personal-keybindings) output
+       57f80d4ff1 highlight use-package before typing package name
+       a56244378f Merge pull request from npostavs/master
+       48975f791b also check `byte-compile-current-file' for compile time lo...
+       aa357bc96a Changed :first to :pre-load
+       3d0b14eac2 Merge pull request from npostavs/master
+       a76d16730d use lambda around deferred :config forms to compile them, ...
+       ac0c9633bc use `eval-when-compile' for loading package at compile tim...
+       e7a343828a Add a ":first" keyword for those occasions that it's neces...
+       e481d97891 Merge pull request from npostavs/master
+       2a1e7e418a refine use-package highlighting regexp
+       3a4556a906 Merge pull request from purcell/patch-2
+       a5859a7c8d Fix initial line to satisfy package.el
+       f98b9d08fe Validate keywords. Error if any keyword is unrecognized
+       ed2b339783 Merge pull request from phillord/ensure-doc
+       01cfa0358f Added documentation to use-package macro
+       7161c09b30 Documentation added for :ensure keyword
+       e38cfff8b6 Merge pull request from milkypostman/master
+       19c65ea3ab package header should, hold, sold be the full filename + ext
+       2da6318930 Merge pull request from tarsius/font-lock
+       9741bdb189 Merge pull request from tarsius/master
+       5b696d1918 fontify use-package form
+       d2460b9276 add dots; cleanup whitespace
+       a5e4a6d938 quiet byte-compiler; ensure package.el is loaded
+       82903da9d8 don't use obsolete flet
+       17a1a4659a enforce use of spaces for indentation
+       5a799db5a1 Merge pull request from purcell/patch-1
+       b901618607 Add Package-Requires header for ELPA installations
+       ef6b97c29f Merge pull request from npostavs/easy-diminish
+       0df0e18c4b needed extra layer of nesting for diminish calls
+       984e0f1044 Merge pull request from npostavs/easy-diminish
+       094830716d Merge pull request from npostavs/bind-override
+       2abe5f9480 let :diminish "string" guess correct mode symbol
+       09b9ef3ae3 let bind-key* override minor modes with emulation-mode-map...
+       26bfd9ce2f Merge pull request from PhilHudson/master
+       34d3f115dd Runtime client code independence redux
+       1758c5faea Corrected a typo
+       d718c0cefa Merge pull request from phillord/master
+       52a48a77c3 Merge branch 'master' of https://github.com/jwiegley/use-p...
+       35685f120b idle initiation of packages
+       49d25ce022 Merge pull request from phillord/master
+       aa8d5fab19 Added minimum load time display option
+       447004740c Merge pull request from bdd/master
+       c680b57ebf Cleanup trailing whitespace
+       1a65b11731 Merge pull request from PhilHudson/macroexpand
+       593f18aff5 Macroexpand quoted eval-after-load block early
+       c4cf68f6e4 Merge pull request from phillord/master
+       eaf9677409 Support packages where autoload and elpa name are different
+       445d0245fc Merge pull request from phillord/master
+       8d72a6c1d6 Documentation for the use-package macro
+       b8406ce9f0 Reverting "Documentation for the use-package macro."
+       abc0ebc92d Documentation for the use-package macro
+       75b30bfd9b Merge pull request from phillord/master
+       c28874e956 ELPA package support
+       2a63e3f2ef Merge pull request from PhilHudson/master
+       fbead83731 Support diminishing to a replacement string as well as to ...
+       8b93cee99b Use-package now accepts function as argument
+       fe7997d2b7 Only use user-site-lisp-directory if defined
+       89a844fd9c Correct return value from with-elapsed-timer
+       28c6509148 More updates to support el-get
+       ece5f93919 Byte-compilation related fix
+       d9f6c0f370 Added :pre-init
+       82a8d10a46 Establish autoloads after :init
+       bdf1505f44 Added :mode and :interpreter keywords
+       0736be8e67 Add a note about how to use :load-path
+       f6d65ce876 If :load-path is absolute, don't expand it
+       0bde0b4c02 Die typos, die
+       debf2c23f3 Fixed a typo
+       aea35b2370 Minor reformatting
+       80b010a748 Minor grammatical nit
+       334f6e085e Integrated support for working with el-get
+       01c8245b29 Make use-package-verbose customizable
+       4bd492f606 Have loading timer include time to require
+       bf6c23044b Fixed a typo in bind-key.el
+       31ea42e15e README and other updates
+
+       # Conflicts:
+       #       etc/NEWS
+       #       lisp/external-completion.el
+
+2022-12-08  Andrea Corallo  <akrl@sdf.org>
+
+       * Enable native speed 2 EMBA build and tests and disable speed 0
+
+               * test/infra/gitlab-ci.yml (build-native-comp-speed2): 
Uncomment.
+               (build-native-comp-speed0): Comment.
+               (test-native-comp-speed0): Remove.
+               (test-native-comp-speed2): Add.
+
+2022-12-08  Jim Porter  <jporterbugs@gmail.com>
+
+       Make 'server-stop-automatically' into a defcustom
+
+       This changes the meaning of the (formerly internal) variable
+       'server-stop-automatically': it now always holds the requested
+       configuration, even when Emacs was not started as a daemon
+       (bug#59668).
+
+       * lisp/server.el (server-stop-automatically): Convert the variable to
+       a defcustom, and make the function simply set the defcustom.
+       (server-stop-automatically--timer): New variable.
+       (server-apply-stop-automatically): New function...
+       (server-stop, server-start): ... call it.
+       (server-save-buffers-kill-terminal): Adjust the conditions for
+       stopping automatically to account for the change of meaning for
+       'server-stop-automatically'.
+       (server-stop-automatically--handle-delete-frame): Remove unnecessary
+       test of the 'server-stop-automatically' option; this hook is only set
+       when it should do its job.
+       (server-stop-automatically--maybe-kill-emacs): Update docstring.
+
+       * doc/emacs/misc.texi (Emacs Server): Update documentation.
+
+2022-12-08  Po Lu  <luangruo@yahoo.com>
+
+       Remove conversion_fail_tag from selection requests
+
+       * src/xselect.c (struct x_selection_request): Delete
+       `conversion_fail_tag'.
+       (x_push_current_selection_request, x_start_selection_transfer):
+       Stop checking against conversion_fail_tag.
+       (x_handle_selection_request): Adjust callers.
+       (x_convert_selection): Remove arg `for_multiple'.  Never link
+       nonconvertible data onto frame->converted_selections.
+
+2022-12-07  Sean Whitton  <spwhitton@spwhitton.name>
+
+       Font lock Commit: and CommitDate: lines in Git logs
+
+       * lisp/vc/vc-git.el (vc-git-log-view-mode): Additionally recognize and
+       font lock Commit: and CommitDate: lines.  This is relevant when, for
+       example, the user has added "--format=fuller" to vc-git-log-switches.
+
+2022-12-07  Rudolf Adamkovič  <salutis@me.com>
+
+       Capitalize unit names in Calc uniformly
+
+       * lisp/calc/calc-units.el (math-unit-prefixes): Unify the
+       inconsistent capitalization of the metric prefixes to
+       lowercase.  (Bug#59706)
+
+2022-12-07  Miha Rihtaršič  <miha@kamnitnik.top>  (tiny change)
+
+       comint-fontify-input: Fix field boundary issue (bug#59626)
+
+       * lisp/comint.el (comint--intersect-regions): Don't call
+       'field-end' if we are on a field boundary already.
+
+2022-12-07  Po Lu  <luangruo@yahoo.com>
+
+       Fix some more problems with running Emacs as untrusted
+
+       * etc/PROBLEMS (X security problems): Describe new variable.
+       * src/xfns.c (append_wm_protocols): Don't support ping when it
+       does not work.
+       * src/xterm.c (x_wm_supports_1): Don't support anything when
+       untrusted.
+       (x_term_init): Implement Vx_detect_server_trust.
+       (syms_of_xterm): New variable `x-detect-server-trust'.
+       * src/xterm.h (struct x_display_info): New field `untrusted'.
+
+2022-12-07  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       9ae1c2762d7 EUDC: Outline deprecation plans in NEWS
+       6acf95cbea6 Fix admin/notes/tree-sitter/build-module/build.sh (bug#59...
+       cc63c086971 * doc/misc/eww.texi (Overview): Improve introduction.
+       b8790e320e1 Consistent fontification of using-directives in csharp-ts...
+       5257b9cda43 ; Rename c-ts-fontify-error to c-ts-mode--fontify-error
+       c6b454df339 ; Improve docstring of c-ts-mode--fontify-variable
+       6187d001f28 Fontify some keywords in type face in c-ts-mode
+       b3847c02083 ; Minor cleanup in treesit.c
+       40af27859e0 ; * lib-src/etags.c (escape_shell_arg_string): Minor doc ...
+       43b7e7efbf4 Fix etags builds on non-Windows non-MS-DOS machines
+       7e6d1d1c471 ; Fix last change in etags.c.
+       01a4035c869 Fix etags local command injection vulnerability
+       ed4734405df Avoid crashes in a build --without-modules
+       70a2eb4a0b3 Fix 'add-display-text-property' when OBJECT is non-nil
+       d58d1dd48ac Do not run slow tests on EMBA
+       9b9b39a2d89 Lisp reader undefined behaviour excision
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-07  Juanma Barranquero  <lekktu@gmail.com>
+
+       * etc/NEWS: Mention new bs option
+
+2022-12-07  Juanma Barranquero  <lekktu@gmail.com>
+
+       * lisp/bs.el: Improve compatibility with previous version
+
+       * lisp/bs.el (bs-default-action-list):
+       Remove display-buffer-reuse-window.
+       Ask for a minimum height window, not maximum.
+       (bs-show-in-buffer): Create window here, and afterwards make
+       sure it's the only window showing the *bs-selection* buffer.
+       (bs--show-with-configuration): Move window creation to
+       bs-show-in-buffer.
+
+2022-12-06  Juanma Barranquero  <lekktu@gmail.com>
+
+       * lisp/bs.el: Adapt to modern display-buffer-alist window setup
+
+       * lisp/bs.el (bs--window-config-coming-from): Delete.
+       (bs-default-action-list): New user customizable option.
+       (bs--restore-window-config): Delete.
+       (bs-kill, bs-select, bs-select-other-window)
+       (bs-select-other-frame): Use `quit-window' instead.
+       (bs--show-with-configuration): Use `pop-to-buffer' to display
+       the "*buffer-selection*" buffer.
+
+2022-12-06  Po Lu  <luangruo@yahoo.com>
+
+       Work around sample server bug
+
+       * src/xterm.c (XTring_bell): Catch Access errors from XBell when
+       Emacs is running as an untrusted client.
+
+2022-12-06  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       717f8477284 ; Fix typo in js--treesit-imenu
+       c26fe45cb80 Fix treesit-query-capture
+       318bf42b410 Improve fontification of typescript-ts-mode (bug#59831)
+       64271bbb7d9 Add back pair feature in json-ts-mode fontification (bug#...
+       16b94888429 Fix mouse clicks on a non-selected frame
+       ca0da3b83df ; Clarify description of display on the margins
+
+2022-12-06  Po Lu  <luangruo@yahoo.com>
+
+       Fix crash on Windows 9X
+
+       * src/emacs.c (main): Call init_bignum before init_window_once.
+
+2022-12-05  Po Lu  <luangruo@yahoo.com>
+
+       Fix build with old XCB
+
+       * src/xfns.c (x_get_net_workarea):
+       * src/xterm.c (x_dnd_compute_toplevels, x_dnd_get_proxy_proto)
+       (x_dnd_get_wm_state_and_proto, handle_one_xevent): Do not
+       include xcb_aux.h.  Use XA_ constants instead of XCB_ATOM_ ones.
+
+2022-12-05  Po Lu  <luangruo@yahoo.com>
+
+       Don't excessively sync in some other code
+
+       * configure.ac (USE_XCB): Remove xcb-util dependency.
+       * src/frame.h: Remove x_sync.
+       * src/gtkutil.c (xg_frame_restack, xg_update_scrollbar_pos)
+       (xg_update_horizontal_scrollbar_pos): Call XSync manually
+       instead of x_sync.
+       * src/xfns.c (x_sync): Delete unused function.
+       * src/xterm.c (x_send_hourglass_message): New function.
+       (x_show_hourglass, x_hide_hourglass): Avoid XSync in these two
+       pieces of frequently used code.
+       (handle_one_xevent): Handle hourglass messages.
+       (x_make_frame_invisible): Stop using x_sync.
+
+2022-12-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       ec00d292ec0 Improve treesit-fontify-with-override
+       4bcdb1cc65b Make killing a non-last client work the same no matter th...
+       a27f61f6f48 Use the function 'window-system' on the tab-bar/tab-line ...
+       432b9655ae0 Restore font-lock-type-face for lisp mode &symbols
+
+2022-12-05  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       3768b100777 ; * lisp/pcomplete.el (pcomplete-allow-modifications): Fi...
+       84214578f5a Fix markup in ERC manual
+
+2022-12-05  Sean Whitton  <spwhitton@spwhitton.name>
+
+       Improve passing user switches to Git log commands (bug#59414)
+
+       * lisp/vc/vc-git.el (vc-git-log-switches): Revise docstring.
+       (vc-git-shortlog-switches): New defcustom.
+       (vc-git-print-log): Use vc-git-log-switches or
+       vc-git-shortlog-switches depending on whether printing a shortlog.
+       (vc-git-log-outgoing, vc-git-log-incoming): Use
+       vc-git-shortlog-switches.
+       (vc-git-log-search, vc-git-expanded-log-entry): Use
+       vc-git-log-switches.
+       * etc/NEWS: Document the new defcustom.
+
+2022-12-04  Po Lu  <luangruo@yahoo.com>
+
+       Fix potential crash deselecting for property change notifications
+
+       * src/xselect.c (x_cancel_selection_transfer): Catch errors
+       around XSelectInput.
+
+2022-12-04  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Make a boxed menu bar have a shadow at its right end (bug#59778)
+
+       * src/xdisp.c (display_menu_bar) [HAVE_X_WINDOWS]: Make a boxed
+       menu bar have a shadow at its right end in non-toolkit X builds.
+
+2022-12-04  Po Lu  <luangruo@yahoo.com>
+
+       Make Emacs build with Xfixes support on old versions of the library
+
+       * src/xterm.c (xfixes_toggle_visible_pointer):
+       (x_toggle_visible_pointer):
+       (XTtoggle_invisible_pointer, x_term_init): Disable code
+       requiring fixes 4.0 or later when the fixes library is older.
+       * src/xterm.h: Define missing types needed by other extensions
+       when the fixes library is too old.
+       * configure.ac: Allow building with any version of the Xfixes
+       extension library.
+
+2022-12-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       96af584af6c Fix comment-start-skip in tree-sitter modes (bug#59690)
+       520a4e12f8e ; * lisp/treesit.el (treesit-end-of-defun): Guard against...
+       2c4d92d30f6 ; * lisp/subr.el (posn-col-row): Revert inadvertent change.
+       6fb9a03cbdf ; Remove debugging leftover message
+       c5ba47c889e Speed up Unicode normalisation tests by a factor of 5
+       afa4fcb95b4 Fix "C-h k" when clicking on another frame
+       f6e2f30f394 ; Fix typos
+       bd58dcedfb9 Fix and expand tests broken by commit 2772ebe366 of 2022-...
+       a0dd9fdebe3 ; Add cross-reference to string-equal docstring
+       11c3c54d8ad Fix handling of relative directories in "--init-directory...
+       401f76cc3d6 Make sure 'user-emacs-directory' ends in a slash
+
+2022-12-04  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       17d40c163e0 vc-git-print-log: Don't assume vc-git-log-switches is a list
+
+2022-12-03  Po Lu  <luangruo@yahoo.com>
+
+       Improve performance of other_frames and XTfullscreen_hook
+
+       * src/frame.c (other_frames):
+       * src/xterm.c (XTfullscreen_hook, x_check_fullscreen)
+       (x_set_window_size_1): Avoid extraneous calls to x_sync.
+
+2022-12-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       1e36ad9458 ; server-tests: remove CI debugging
+       54633fcd76 ; * lisp/subr.el (string-equal-ignore-case): Doc fix (bug#...
+       8413e95138 ; server-test CI debugging
+       4b3eb928fe Fix server-tests run noninteractively (bug#59742)
+       1b567f5a67 Use file-name-nondirectory to determine default project-name
+       f72cda2b82 Speed up auto-completion in 'sh-script-mode'
+       e5b0141b0d Fix error editing multisession variables (bug#59710)
+
+2022-12-03  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       2b9cd50f93 Add tsx-ts-mode to eglot-server-programs
+
+2022-12-03  Juanma Barranquero  <lekktu@gmail.com>
+
+       * lisp/bindings.el (bound-and-true-p): Verify argument is a symbol
+
+2022-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp/emacs-lisp/cl-macs.el (cl-flet): Optimize a bit more
+
+       Also optimize the case where we use `cl-flet` to introduce a local 
alias.
+
+2022-12-02  Po Lu  <luangruo@yahoo.com>
+
+       More behind the scenes transparent speedups around xselect.c
+
+       * src/xdisp.c (display_menu_bar): Fix compiler warning about
+       NULL pointer dereference.
+       * src/xfns.c (Fx_begin_drag): Use x_intern_atoms.
+       (Fx_change_window_property): Pass dpyinfo to
+       x_fill_property_data.
+       * src/xselect.c (lisp_data_to_selection_data): Use
+       x_intern_atoms instead of syncing for each atom.
+       (x_fill_property_data, x_send_client_event): Use
+       x_intern_cached_atom.
+       * src/xterm.c (x_intern_atoms): New function.
+       * src/xterm.h: Update prototypes.
+
+2022-12-02  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       39e0c60176 * lisp/tab-bar.el (tab-bar-format-align-right): Fix alignm...
+       bf66b90b9a Fix the width of margins for icons in outline-minor-mode (...
+       2e4960d63d ; Change c-ts-mode--base-mode to c-ts-base-mode
+       1aa1f8432b Add new TypeScript mode tsx-ts-mode
+       ad0563855f Add case and match to python--treesit-keywords (bug#59720)
+       16e68e64f9 ; * lisp/progmodes/c-ts-mode.el: Change rx to regexp-opt.
+       3bccef6f52 project-files (VC-aware): Make sure the VC backend is loaded
+       03a40b974c term--update-term-menu: Add the menu to term-terminal-menu
+       368c7c7d8e Improve detection of very long lines
+       9c58ea37af ; Fix last change in proced.el
+       0c1495574a Add colors to Proced (bug#59407)
+       91dba5b066 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/e...
+       70ecdebc92 ; Fix typos (don't abbreviate "with" or "without")
+       d94c5870c0 ; * lisp/tab-bar.el (tab-bar-change-tab-group): Doc fix.
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       70ecdebc92 ; Fix typos (don't abbreviate "with" or "without")
+       a86ccb5f9d ; Fix recently added treesit documentation
+       2d5cf7329e ; * etc/NEWS: Fix wording and punctuation of recently adde...
+       61311d6862 ; Fix test failure on CI
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       91a9598baf Update project docs and NEWS
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       5d1a1019c6 Add highlighting Python operators (bug#59629)
+       8b3baadf67 Fix compilation of Org 9.6 on MS-Windows
+       3b5b99ac91 * doc/lispref/frames.texi (Input Focus): Clarify for XInpu...
+       4b2f5425d7 Fix types in various defcustom declarations
+
+2022-12-01  Manuel Giraud  <manuel@ledu-giraud.fr>
+
+       Make sure the menu-bar height is updated on X when fonts change
+
+       * src/xdisp.c (display_menu_bar) [HAVE_X_WINDOWS]: Update
+       menu_bar_window height in non-toolkit X builds.  (Bug#59351)
+
+2022-12-01  Po Lu  <luangruo@yahoo.com>
+
+       Finish up last change with more speedups
+
+       * src/xterm.c (x_atom_refs):
+       * src/xterm.h (struct x_display_info): Add some new atoms to be
+       interned at connection setup.
+
+2022-12-01  Po Lu  <luangruo@yahoo.com>
+
+       Remove unnecessary error checks in xselect.c
+
+       * src/xselect.c (x_own_selection): Don't sync around
+       XSetSelectionOwner, as the atom and window specified are always
+       correct.
+
+2022-12-01  Po Lu  <luangruo@yahoo.com>
+
+       Fix pdumper build
+
+       * src/xselect.c (mark_xselect): Don't mark if
+       outstanding_transfers.next is still NULL.
+
+2022-12-01  Po Lu  <luangruo@yahoo.com>
+
+       Speed up handling X selection requests
+
+       * etc/NEWS: Announce speedup.
+       * src/alloc.c (garbage_collect): Call mark_xselect.
+       * src/xftfont.c (xftfont_end_for_frame): Fix crash on display IO
+       error.
+       * src/xselect.c (struct selection_data, struct transfer): New
+       structures.
+       (outstading_transfers): New variable.
+       (SELECTED_EVENTS, x_selection_request_lisp_error): Stop checking
+       cs->nofree.
+       (x_catch_errors_unwind): Delete function.
+       (c_size_for_format, x_size_for_format, selection_data_for_offset)
+       (selection_data_size, transfer_selecting_event)
+       (x_continue_selection_transfer, x_remove_selection_transfers)
+       (x_selection_transfer_timeout): New functions.
+       (x_reply_selection_request): When handling selection requests,
+       never wait for property notifications synchronously.  Instead,
+       write out the selection data as the client reads it from the
+       event loop.
+       (x_handle_selection_request, x_convert_selection)
+       (x_handle_property_notify, x_get_window_property)
+       (lisp_data_to_selection_data): Don't ever use pointers to Lisp
+       string data! Instead, just store the string object itself.
+       (syms_of_xselect): Initialize outstanding transfer list.
+       (syms_of_xselect_for_pdumper):
+       * src/xterm.c (x_delete_display): Remove outstanding selection
+       transfers.
+       * src/xterm.h: Update prototypes.
+
+2022-12-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       4161023a63 Fix crashes and memory leaks during display deinitialization
+       785fa80159 New user option: project-vc-extra-root-markers
+       7a1f1825fd Add inline to c-ts-mode--keywords
+       3d976d6a03 Remove duplicate "friend" from c-ts-mode--keywords
+       01e7d4b2a1 Make treesit-defun-prefer-top-level more flexible
+       fb5d9ff559 Fix c-ts-mode defun movement (bug#59628)
+       7397f2099b * lisp/tab-bar.el: Keep tabs of the same group together (b...
+       832b013ef0 Insert news for installed packages only
+       cc6efa7992 ; Fix type error in 'package-maintainers'
+       ee32ae7c36 ; * etc/NEWS: Add missing tree-sitter based modes.
+       33546d6dd2 ; * etc/NEWS: Move an entry to a proper place.  (bug#59718)
+       8617edfffd ; Fix typos
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-12-01  Po Lu  <luangruo@yahoo.com>
+
+       Merge from origin/emacs-29
+
+       2a8f31b996 project-current: Improve the docstring
+
+2022-12-01  Stefan Kangas  <stefankangas@gmail.com>
+
+       Update publicsuffix.txt from upstream
+
+       * etc/publicsuffix.txt: Update from
+       https://publicsuffix.org/list/public_suffix_list.dat
+       dated 2022-11-29 18:15:27 UTC.
+
+2022-11-30  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Update to Transient v0.3.7-182-gfe7dcbd
+
+2022-11-30  Matt Armstrong  <matt@rfc20.org>
+
+       Add itree_empty_p for clarity and reduced coupling
+
+       * src/itree.h (itree_empty_p): New predicate.
+       * src/buffer.h (buffer_has_overlays):
+       * src/pdumper.c (dump_buffer):
+       * src/alloc.c (mark_buffer): Call it.  (Bug#59137)
+
+2022-11-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       c3466099c5 Org regexp style fixes
+
+2022-11-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       af1a99d53f Sink python indent offset guessing to avoid test failure
+       dc0f2ec2db * etc/NEWS: Announce Org update.
+       0625651e8a Update to Org 9.6-3-ga4d38e
+       edd64e64a3 Fix interactive selection of emacs-lock mode, broken by 2a...
+       a699f65936 Fix typo in flag to load Emacs-specific LLDB commands
+       f6aa7c335f ; Typo fixes in etc/NEWS and lisp/ files
+       f373a23e51 CC Mode: Prevent lone ids being parsed as types unless in ...
+       00cb6e052a ; Improve error message when LSP server not found
+       7ea95d1b92 ; * doc/misc/eglot.texi (Setting Up LSP Servers): Improve ...
+       c43cdfd639 Allow csharp-mode in c-default-style
+       13bb49bc0b In project-find-file, add abbreviated file names to history
+       4dab5f8671 * lisp/progmodes/project.el (project-vc-name): Fix the :ty...
+       079625d3c6 Tramp cleanup
+       067c65578e Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/e...
+       4313279e34 ; Fix typo in NEWS
+       afc7ed987b Allow be-resources to fail
+       00de296d1b Simplify erc-sasl's auth-source API
+       83b9496a19 * doc/misc/erc.texi: Revise SASL and modules chapters.
+       35e2b8a26b Add erc-sasl-auth-source-function to cached options
+       7336520fe7 Improve fontification in csharp-ts-mode
+       2661c51953 Improve fontification in typescript-ts-mode
+       bbf1b93d43 Add more font-lock settings to css-ts-mode
+       f794263da2 Reparse tree-sitter tree when buffer restriction changes
+       78663ad78b ; typos
+
+       # Conflicts:
+       #       etc/NEWS
+
+2022-11-30  Stefan Kangas  <stefankangas@gmail.com>
+
+       Merge from origin/emacs-29
+
+       a7b0b20c1b Fix GUD item on the menu bar in source buffers
+
+2022-11-28  Mattias Engdegård  <mattiase@acm.org>
+
+       Skip one python test case on macOS
+
+       * test/lisp/progmodes/python-tests.el (python-ffap-module-path-1):
+       This test fails with a standard macOS Python installation;
+       see bug#59477 and bug#25753.
+
+2022-11-28  Eli Zaretskii  <eliz@gnu.org>
+
+       Bump master Emacs version to 30.0.50
+
+       * README:
+       * configure.ac:
+       * nt/README.W32:
+       * msdos/sed2v2.inp:
+       * etc/refcards/ru-refcard.tex: Bump Emacs version to 30.0.50.
+
+       * etc/NEWS.29: New file.
+       * etc/NEWS: Empty for Emacs 30.
+
+       * configure.ac: Add boilerplate for module-env-XX.h.
+
+       * src/emacs-module.h.in (struct emacs_env_30): Add.
+       * src/module-env-29.h: Remove header comment.
+       * src/module-env-30.h: New file.
+
+       * lisp/cus-edit.el (customize-changed-options-previous-release):
+       Set last version to 29.1.
+
+2022-08-11  Justin Burkett  <justin@burkett.cc>
+
+       Merge commit 'pullreqs/343'
+
+       Ignore .DS_Store
+
+2022-08-11  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #342 from tarsiiformes/quote-quote
+
+       Replace or quote certain single quotes in docstrings
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Allow truncating without using any ellipsis
+
+       Depending on how bindings are displayed showing docstrings can result
+       in most lines being too long and adding ellipses to most lines can be
+       quite ugly and distracting.
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Don't make description longer than allowed when truncating
+
+       Truncating the description to the allowed maximal length and then
+       appending an ellipsis, makes the final text longer than allowed.
+       The length of the ellipsis has to be taken into account.
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Support different types for which-key-max-description-length
+
+       Using a function is useful, e.g., to use a different maximal
+       width, depending on the value of `which-key-show-docstrings'.
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Avoid unnecessary work
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Fix vertical off-by-one error
+
+       When the usage information is displayed at the top or bottom (as
+       controlled by `which-key-show-prefix'), then we already accounted
+       for that by putting (- max-height 1) bindings in each row.  But
+       we did not ensure that the max-height is used when displaying the
+       result.  Instead we used (- max-height 1) here too.
+
+       When trying to display usage information at the bottom, the result is
+       that it is not displayed because it is off-window.  When displaying at
+       the top, then it is displayed, but the last binding is off-window and
+       never displayed.
+
+       This bug did not matter (much) when using the default settings because
+       then the code used for displaying the window actually ignores the
+       max-height and just uses the height appropriate to display all lines
+       in the buffer (i.e., (+ max-height 1)).  However, other display
+       methods, including but not necessarily limited to third-party methods
+       (such as `which-key-posframe') may choose to, or absolutely have to,
+       respect max-height.  In particular, anything that tries to use the
+       full height of a frame or window, will be affected by this.
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Fix horizontal off-by-one error
+
+       Delay increasing width used by columns until we know that we have to
+       do so because we have determined that there is enough room to add an
+       additional column and a space between the last two columns.
+
+       If we don't do that, then we can easily get an off-by-one error.  If
+       docstrings are shown and the window is narrow, then it is likely that
+       we end up using the maximal width.  If we then add one to the actual
+       width and later compare that again with the maximal width, then that
+       is too width.
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Don't pad beyond maximal width
+
+       The old implementation behaved as if the "description" is the only
+       information that is being displayed, however in actuality the
+       available width has to be shared with the key (and the separator
+       between the two).
+
+       Failing to take that into account meant that every binding whose
+       description isn't *by itself* wider than the width available to
+       display all the information got excessive padding, which later has to
+       be removed during truncation again (resulting in misleading ellipses).
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Displaying just one column means pages are arranged vertically
+
+       Third-party display methods may do that without using a side-window,
+       and therefore they don't set `which-key-popup-type' to `side-window'.
+       Likewise they might not set `which-key-side-window-location', e.g.,
+       because their display method only supports one location.
+
+       `which-key-max-display-columns' being 1 is by itself already enough
+       of an indicator to know that there won't be multiple columns.
+
+2022-08-04  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Calculate format string only once
+
+2022-05-28  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Replace or quote certain single quotes in docstrings
+
+       The byte-compiler recently got more fussy about quotes.
+
+2022-05-18  Justin Burkett  <justin@burkett.cc>
+
+       Add group to minor-mode definition
+
+       Fixes #339
+
+2022-04-19  Justin Burkett  <justin@burkett.cc>
+
+       Add an example to README for keymap binding
+
+       See #338
+
+2022-02-14  Justin Burkett  <justin@burkett.cc>
+
+       Bump version
+
+2022-02-14  Justin Burkett  <justin@burkett.cc>
+
+       Don't allow transient maps when prefix length is zero.
+
+       Fixes #335
+
+2022-01-02  Justin Burkett  <justin@burkett.cc>
+
+       Fix typo in ellipsis
+
+2022-01-02  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #329 from hans-d/feat-elipsis
+
+       add which-key-elipsis
+
+2022-01-02  Justin Burkett  <justin@burkett.cc>
+
+       Merge branch 'feat-columnsize'
+
+       Fix code column width
+
+2022-01-02  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #331 from skangas/gnu-elpa-badge
+
+       Add GNU ELPA badge
+
+2022-01-01  Stefan Kangas  <stefan@marxist.se>
+
+       Add GNU ELPA badge to README.org
+
+2021-12-24  Hans Donner  <hans@hansdonner.nl>
+
+       add which-key-elipsis
+
+       add which-key-min-column-description-width
+
+2021-12-14  Justin Burkett  <justin@burkett.cc>
+
+       Update to the newer advice API
+
+       Patch submitted by Stefan Monnier
+
+2021-12-09  Justin Burkett  <justin@burkett.cc>
+
+       Fix key-chord handling
+
+       It turns out we don't need to do anything too tricky for key-chords, 
because
+       this-single-command-raw-keys returns the correct key-sequence
+
+       Fixes #254
+
+2021-11-26  Justin Burkett  <justin@burkett.cc>
+
+       Respect which-key-min-display-lines setting
+
+       Fixes #325
+
+2021-11-26  Justin Burkett  <justin@burkett.cc>
+
+       Allow binding to symbols in which-key-C-h-dispatch
+
+       Fixes #326
+
+2021-11-26  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #327 from anis-semmar/patch-1
+
+       README.org: fix page flipping command names
+
+2021-11-26  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #321 from 
fredericgiquel/preserve-window-configuration
+
+       Preserve window configuration
+
+2021-11-18  anis-semmar  <78486514+anis-semmar@users.noreply.github.com>
+
+       README.org: fix page flipping command names
+
+       `which-key-show-next-page` / `which-key-show-previous-page` do not 
exist, state the correct command name.
+
+2021-08-24  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #323 from Zetagon/master
+
+       Add missing argument to function call
+
+2021-08-23  Leo Okawa Ericson  <git@relevant-information.com>
+
+       Add missing argument to function call
+
+2021-08-18  Frédéric Giquel  <frederic.giquel@laposte.net>
+
+       Add option (default off) to restore window configuration
+
+2021-08-17  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #313 from duncanburke/master
+
+       Add support for help-char being a generalized input event
+
+2021-07-30  Frédéric Giquel  <frederic.giquel@laposte.net>
+
+       Preserve window configuration
+
+2021-07-28  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #315 from peniblec/keymap-names
+
+       Fix some keymap names not showing up
+
+2021-07-18  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
+
+       Fix some keymap names not showing up
+
+       Closes #314.
+
+2021-07-13  Duncan Burke  <duncankburke@gmail.com>
+
+       Add support for help-char being a generalized input event
+
+       Not all keyboard events can be represented as a character. For example,
+       while ?\C-h is a character, represented as 8 in decimal, C-M-h is
+       represented by 134217736 in decimal, as can be obtained from:
+
+       (elt (kbd "C-M-h") 0)
+
+       It is useful to allow help-char to be set to something other than a
+       character, as characters cover only a very small region of possible
+       input events. This is especially important because help-char is used to
+       bring up the pagination menu (when which-key-use-C-h-commands is t), and
+       this won't work if it conflicts with any keybinding within the prefix
+       command that led to the activation of which-key.
+
+       If help-char is left set to ?\C-h things work fine because as a
+       convention keymaps avoid binding that due to it being the default
+       binding for help. That is just a convention, however, and things become
+       more difficult with a heavily user-customized set of keybindings that
+       preclude the use of ?\C-h for that purpose.
+
+       In that case, if ?\C-h cannot be used, it is much easier to find a
+       binding for help-char that is unlikely to conflict with any bindings if
+       it is permitted to use the full range of modifier keys.
+
+       This patch modifies which-key--next-page-hint, which is the only place
+       that broke when I set help-char to a keyboard event that wasn't a
+       character. Rather than doing a string comparison, help-char and prefix
+       keys are put in vectors and equality is checked that way.
+
+2021-07-12  Justin Burkett  <justin@burkett.cc>
+
+       Remove more instances of obsolete variables.
+
+2021-07-11  Justin Burkett  <justin@burkett.cc>
+
+       Remove some obsolete variables/functions
+
+2021-07-06  Justin Burkett  <justin@burkett.cc>
+
+       Don't require evil in which-key-tests.el
+
+       Patch from Stefan Monnier
+
+2021-06-30  Justin Burkett  <justin@burkett.cc>
+
+       Fix compiler warnings
+
+       Fixes #312
+
+2021-06-30  Justin Burkett  <justin@burkett.cc>
+
+       Handle closure definition type
+
+       Fixes #311
+
+2021-06-22  Justin Burkett  <justin@burkett.cc>
+
+       Improve which-key-add-keymap-based-replacements.
+
+       Also, teach which-key--safe-lookup-key to handle numeric results.
+
+2021-06-22  Justin Burkett  <justin@burkett.cc>
+
+       Clarify usage of keymap replacements in docstrings and README
+
+       Clean up some docstrings
+
+       Clean up which-key--maybe-replace
+
+2021-06-22  Justin Burkett  <justin@burkett.cc>
+
+       Improve which-key-add-keymap-based-bindings
+
+       Add a test
+
+2021-06-22  Justin Burkett  <justin@burkett.cc>
+
+       Fix key sort order functions
+
+       We now always get the full key description (prefix + binding)
+
+2021-06-22  Justin Burkett  <justin@burkett.cc>
+
+       Try again to fix tests
+
+       Turn off fail-fast in github action
+
+       Try without cask
+
+       Add install python step to github action
+
+2021-06-22  Justin Burkett  <justin@burkett.cc>
+
+       Fix which-key--group-p
+
+       length> is a new function maybe
+
+2021-06-22  Justin Burkett  <justin@burkett.cc>
+
+       Try with cask again
+
+       Fix github action
+
+2021-06-21  Justin Burkett  <justin@burkett.cc>
+
+       Fix test
+
+       Update README
+
+       Make enable-extended-define-key obsolete
+
+       Merge branch 'alt-get-bindings'
+
+       Fix detection of named prefix bindings
+
+       Fix menu-item bidning retrieval
+
+       Fix prefix sorting
+
+       Fix add-keymap-based-bindings and associated test
+
+       Expand get-keymap-bindings test
+
+       Fix type usage and arglists for new functions
+
+       Fix default of which-key-replacement-alist
+
+       Update tests
+
+2021-06-21  Justin Burkett  <justin@burkett.cc>
+
+       Remove pseudo binding stuff
+
+       It's not necessary anymore with manual parsing of the keymaps
+
+2021-06-21  Justin Burkett  <justin@burkett.cc>
+
+       Alternative approach to retrieving bindings (WIP)
+
+2021-06-20  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #305 from tarsiiformes/first-line
+
+       Improve first doc-string line in trivial cases
+
+2021-06-17  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Improve first doc-string line in trivial cases
+
+       The first line of a doc-string should form a complete sentence.
+       Many doc-strings in this package do not follow that convention
+       but fixing them all would be difficult and is beyond the scope
+       of this commit.  However, in a few cases the fix is trivial and
+       this commit tackles those instances.
+
+2021-06-15  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Fix whitespace
+
+2021-06-01  Justin Burkett  <justin@burkett.cc>
+
+       Fix whitespace
+
+       Fix recent commit
+
+       Fix README links
+
+2021-06-01  Justin Burkett  <justin@burkett.cc>
+
+       Reference issues #93 and #175 in README
+
+       Fixes #291
+
+2021-06-01  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #303 from tarsiiformes/posframe
+
+       Support packages that use another frame to display bindings
+
+2021-05-30  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Get which-key--buffer's window from any frame
+
+       Previously we assumed the buffer was being displayed in a window
+       of the current frame, which isn't the case if e.g. a child frame
+       is being used.
+
+       We also cannot assume that the third-party code that sets up such
+       a child frame also deletes it.  `which-key-posframe' for example
+       merely hides it.
+
+2021-05-30  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Cosmetics
+
+       Avoid code-duplication in which-key--hide-popup
+
+       Fix nesting-level of "God-mode" section
+
+2021-05-23  Jiangbin Zhao  <zhaojiangbin@gmail.com>
+
+       fix which-key--show-keymap for which-key-enable-extended-define-key
+
+       With which-key-enable-extended-define-key set to 't, given the keymap
+       and bindings below:
+
+         (setq a-map (make-sparse-keymap))
+         (bind-keys :map a-map
+                    ("a" . ("key 1" . command-1))
+                    ("b" . ("key b" . command-2)))
+
+       The output of (which-key--get-keymap-bindings a-map) was having
+       "unknown" as the key descriptions.
+
+       This change fixes it therefore allows the following to work as
+       expected:
+
+       (which-key--show-keymap "A map" a-map)
+
+2021-04-07  Frank Terbeck  <ft@bewatermyfriend.org>
+
+       Unset header-line-format format in " *which-key*" buffer
+
+       Similarly to mode-line-format, header-line-format just takes up space 
and
+       currently also breaks window size calculations for the buffer. This sets
+       it to nil in order to suppress its display.
+
+2021-03-24  Celestial Nebula  
<41875671+CelestialNebula@users.noreply.github.com>
+
+       Update reference to obsolete variable in DOCSTRING (#285)
+
+2021-01-31  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.5.1
+
+2020-12-16  Justin Burkett  <justin@burkett.cc>
+
+       Further simplify which-key--pseudo-key
+
+2020-12-15  Daniel Mendler  <mail@daniel-mendler.de>
+
+       simplify pseudo key
+
+2020-11-13  BlaCk_Void  <alstjr7375@daum.net>
+
+       REAMDE code's Number of parentheses pairs (#270)
+
+2020-10-19  Justin Burkett  <justin@burkett.cc>
+
+       Add tests for keymap-based-bindings
+
+2020-10-18  Justin Burkett  <justin@burkett.cc>
+
+       Clarify README's description of keymap-based replacement
+
+2020-09-09  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.5.0
+
+2020-09-09  Justin Burkett  <justin@burkett.cc>
+
+       Fix which-key--next-page-hint
+
+       prefix-keys might be a vector.
+
+       Fixes #265
+
+2020-09-08  Justin Burkett  <justin@burkett.cc>
+
+       Hide paging hint when prefix is help-char
+
+       We can't do paging in this case.
+
+2020-09-04  Justin Burkett  <justin@burkett.cc>
+
+       Improve keymap-based-replacement description in README
+
+       Ref #263
+
+2020-09-02  Justin Burkett  <justin@burkett.cc>
+
+       Remove use of focus-{in,out}-hook
+
+       Fix #259 #260 #262
+
+2020-08-28  Justin Burkett  <justin@burkett.cc>
+
+       Remove testing badge from README
+
+       Github integrates the results into the interface already, and it 
doesn't seem to
+       work.
+
+2020-08-28  Justin Burkett  <justin@burkett.cc>
+
+       Stop testing against v24.5
+
+       It's old enough now
+
+2020-08-28  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-add-keymap-based-replacements
+
+       This is an alternative to advising define-key using
+       which-key-enable-extended-define-key, but functions the same beneath the
+       surface.
+
+       Ref #226 #261
+
+2020-08-18  Rudi Grinberg  <me@rgrinberg.com>
+
+       Fix #257 (#258)
+
+       * Add test for #257
+
+       Explicitly distinguish between replacing with `nil` and not replacing at
+       all.
+
+       I'm also simplifying the code by making all the branches more explicit.
+       This is a little longer, but makes all the clauses obvious.
+
+2020-07-21  Rudi Grinberg  <me@rgrinberg.com>
+
+       Speed up which-key--maybe-replace
+
+       The first optimization is avoiding the intermediate list created by
+       append. Instead we just iterate over the two lists in turn
+
+       The second opimitization occurs where
+       which-key-allow-multiple-replacements is nil, in which case we can stop
+       the iteration once we've found a replacement
+
+2020-07-21  Justin Burkett  <justin@burkett.cc>
+
+       Add basic PR template
+
+2020-07-02  N V  <44036031+progfolio@users.noreply.github.com>
+
+       Fix which-key--propertize-description use make-text-button return value 
(#249)
+
+       As of:
+
+       
https://github.com/emacs-mirror/emacs/commit/7ac79872aed63110c0d26c1e62e1838d6101c9bd
+
+       make-text-button no longer modifies a string when it is passed as the
+       first argument. which-key--propertize-description relied on the mutation
+       of the string argument. Using the return value of make-text-button will
+       return the propertized string with both the new and old behavior.
+
+       Fixes #248
+
+2020-02-17  Justin Burkett  <justin@burkett.cc>
+
+       Fix last commit
+
+2020-02-16  Justin Burkett  <justin@burkett.cc>
+
+       Test once a month
+
+2020-02-16  Yunhao Zhao  <yunhaozhaots@gmail.com>
+
+       Fix prefix argument for which-key-show-major-mode (#239)
+
+2020-02-12  Justin Burkett  <justin@burkett.cc>
+
+       Fix case sorting in alpha sort functions
+
+2020-02-12  Justin Burkett  <justin@burkett.cc>
+
+       Fix short windows being resized
+
+       fit-window-to-buffer defaults to a min height of 4. For some reason, 
the order
+       in which fit-window-to-buffer is called in 
display-buffer-in-side-window seems
+       to have changed. This makes the order not matter.
+
+2020-02-08  Justin Burkett  <justin@burkett.cc>
+
+       Simplify last commit
+
+2020-02-08  Justin Burkett  <justin@burkett.cc>
+
+       Replace use of xor
+
+       Apparently this is a recent function
+
+2020-02-08  Justin Burkett  <justin@burkett.cc>
+
+       Change name of workflow
+
+2020-02-08  Justin Burkett  <justin@burkett.cc>
+
+       Fix sorting of keys and add test
+
+       Fixes #233
+
+2020-02-07  Justin Burkett  <justin@burkett.cc>
+
+       Revive Cask file
+
+       Replace travis badge with github workflow badge
+
+       Disable travis and cask
+
+       More workflow fixes
+
+       Fix workflow
+
+       Fix previous commit
+
+       Try purcell's workflow action
+
+       Update travis versions
+
+2020-02-07  Henrik Lissner  <accounts@v0.io>
+
+       Refactor regexp & fix incompatibility + error
+
+       Strip out advice in command docstrings
+
+2020-02-04  Justin Burkett  <justin@burkett.cc>
+
+       Make which-key-show prefix mode-line work like top and bottom
+
+       Fixes #234
+
+2020-01-19  Justin Burkett  <justin@burkett.cc>
+
+       Add full keymap versions of show-{major,minor}-mode
+
+       Fixes #236
+
+2020-01-02  Henrik Lissner  <accounts@v0.io>
+
+       Refactor regexp & fix incompatibility + error
+
+2019-12-26  Henrik Lissner  <accounts@v0.io>
+
+       Strip out advice in command docstrings
+
+2019-12-21  Justin Burkett  <justin@burkett.cc>
+
+       Make next page hint more consistent
+
+2019-12-21  Justin Burkett  <justin@burkett.cc>
+
+       Generalize C-h commands to use help-char
+
+       help-char defaults to C-h. This removes the assumption that help-char 
is set to
+       C-h.
+
+       See #228
+
+2019-11-27  Justin Burkett  <justin@burkett.cc>
+
+       Default to imprecise window fitting on terminal
+
+       See #225.
+
+2019-11-11  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Fix typos (#222)
+
+2019-08-02  Justin Burkett  <justin@burkett.cc>
+
+       Rework implementation of manual updating
+
+       Instead of having people mess with prefix-help-command, use a new 
variable
+       which-key-show-early-on-C-h and control everything through
+       which-key-C-h-dispatch.
+
+2019-08-01  Justin Burkett  <justin@burkett.cc>
+
+       Use which-key-idle-secondary-delay value in manual updates
+
+2019-07-31  Justin Burkett  <justin@burkett.cc>
+
+       Fix paging in which-key-manual-update
+
+       Cleanup whitespace in README
+
+       Announce which-key-manual-update
+
+2019-07-31  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-manual-update
+
+       Intended to be used for prefix-help-command
+
+       Ref #66
+
+2019-07-23  Justin Burkett  <justin@burkett.cc>
+
+       Add no-paging optional arg to which-key-show-keymap
+
+       which-key-persistent-popup-p -> which-key-persistent-popup
+
+2019-07-20  Uros Perisic  <uros.m.perisic@gmail.com>
+
+       Add which-key-persistent-popup-p variable (#213)
+
+       I did not remove the `pre-command-hook', because that would require me
+       to add the hook back every time `which-key--hide-popup' is called,
+       which seems excessive. Hercules.el already handles this more
+       conservatively. But if you want me to, I can add it.
+
+2019-05-29  D.K  <beerandhot@gmail.com>
+
+       Add translation keymap support (#210)
+
+2019-05-18  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-dump-bindings
+
+       Fixes #209
+
+2019-03-15  Justin Burkett  <justin@burkett.cc>
+
+       Add note to docstring for which-key-idle-delay
+
+       Ref #206
+
+2019-03-06  Justin Burkett  <justin@burkett.cc>
+
+       Add debugging messages for buffer sizing
+
+2019-03-01  Justin Burkett  <justin@burkett.cc>
+
+       Don't ignore case when making replacements
+
+       Fixes #204
+
+2019-02-25  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.3.2
+
+       Always check non-major-mode replacements in which-key--maybe-replace
+
+2019-02-25  Justin Burkett  <justin@burkett.cc>
+
+       Simplify finding and matching replacements
+
+       Don't try to grab all matching replacements ahead of time, because 
later ones
+       may not match if earlier ones make deletions.
+
+       Fixes #202
+
+2018-11-14  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.3.1
+
+2018-11-14  Justin Burkett  <justin@burkett.cc>
+
+       Fix use of describe-prefix-bindings in which-key-show-standard-help
+
+       Use describe-prefix-bindings directly if we do not enter through
+       which-key-C-h-dispatch.
+
+       Fixes #198
+
+2018-11-08  Justin Burkett  <justin@burkett.cc>
+
+       Check for existence of buffer in which-key--popup-showing-p
+
+       Fixes #197
+
+2018-08-28  Justin Burkett  <justin@burkett.cc>
+
+       Mention #130 in README
+
+2018-06-27  Justin Burkett  <justin@burkett.cc>
+
+       Make Travis test on v26.1
+
+2018-06-21  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.3.0
+
+2018-06-08  Justin Burkett  <justin@burkett.cc>
+
+       Fix handling of duplicate (evil) bindings in show keymap
+
+2018-06-01  Justin Burkett  <justin@burkett.cc>
+
+       Use window-size-change-functions for detecting size changes
+
+       Fixes #193
+
+2018-05-31  Justin Burkett  <justin@burkett.cc>
+
+       Add support for evil's auxiliary maps in show-keymap functions
+
+       Fix prefix bindings in which-key-show-major-mode
+
+2018-05-22  Justin Burkett  <justin@burkett.cc>
+
+       Fix behavior of f and t in evil operator map
+
+       f and t (also F and T) read characters manually, so the popup should 
not be
+       shown after these commands. This only applies if
+       which-key-show-operator-state-maps is non-nil.
+
+       Fixes #191
+
+2018-04-26  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.2.0
+
+2018-03-21  Michał K  <k.michal@zoho.com>
+
+       Fix and improve defcustoms
+
+2018-03-01  Justin Burkett  <justin@burkett.cc>
+
+       Fix switching to top-level from which-key-undo-key
+
+       Factor out which-key--this-command-keys function
+
+       Fixes related to removal of which-key--current-prefix
+
+2018-02-28  Justin Burkett  <justin@burkett.cc>
+
+       Fix display of meta bindings in which-key-show-keymap
+
+       Fix which-key--create-pages
+
+       Remove which-key--current-prefix
+
+2018-02-28  Justin Burkett  <justin@burkett.cc>
+
+       Add prefix arg to which-key--get-current-bindings and ..
+
+       which-key--get-bindings
+
+2018-02-28  Justin Burkett  <justin@burkett.cc>
+
+       Remove a bunch of global variables
+
+       Remove need for which-key--using-top-level. Add prefix-title slot to
+       which-key--pages object.  Remove which-key--using-show-keymap. Remove
+       which-key--current-show-keymap-name. Remove
+       which-key--using-show-operator-keymap.
+
+2018-02-28  Justin Burkett  <justin@burkett.cc>
+
+       Add and use which-key--automatic-display
+
+2018-02-27  Justin Burkett  <justin@burkett.cc>
+
+       Use cl-struct to hold which-key pages
+
+2018-02-26  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-toggle-docstrings
+
+       Consolidate key binding collection into which-key--get-bindings
+
+       Refactor show keymap functions
+
+       Use symbol at point in whow keymap functions
+
+2018-02-26  Justin Burkett  <justin@burkett.cc>
+
+       Fix which-key--show-keymap when no bidnings found
+
+       which-key--get-formatted-key-bindings takes a nil argument to mean look 
for
+       global bindings which is not what we want here.
+
+2018-02-26  Justin Burkett  <justin@burkett.cc>
+
+       Detect menu-items in which-key--get-keymap-bindings
+
+2018-02-24  Justin Burkett  <justin@burkett.cc>
+
+       Fix typo in previous commit
+
+       Fix docstring of which-key--get-keymap-bindings
+
+       Fix descriptions of keys involving meta when showing keymaps
+
+2018-02-23  Justin Burkett  <justin@burkett.cc>
+
+       Autoload the show keymap functions
+
+2018-02-23  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-show-full-keymap
+
+       Command to show all bindings in a keymap recursively.
+
+       Add test for new which-key--get-keymap-bindings functionality.
+
+2018-02-23  Justin Burkett  <justin@burkett.cc>
+
+       Extract which-key--ignore-keys-regexp and which-key-show-keymap-1
+
+2018-01-31  Justin Burkett  <justin@burkett.cc>
+
+       Improve which-key--format-and-replace
+
+       Do a better job with nil descriptions
+
+2018-01-31  Justin Burkett  <justin@burkett.cc>
+
+       Handle null description in which-key--propertize-description
+
+       Fixes #186
+
+2018-01-31  Justin Burkett  <justin@burkett.cc>
+
+       Use safe version of propertize
+
+       Should fix #186
+
+2018-01-31  Justin Burkett  <justin@burkett.cc>
+
+       Fix description truncation when showing docstrings
+
+2018-01-31  Justin Burkett  <justin@burkett.cc>
+
+       Improve which-key-show-docstrings option
+
+       Add setting docstring-only to omit command names. Add 
which-key-docstring-face.
+
+       See #185
+
+2018-01-31  Justin Burkett  <justin@burkett.cc>
+
+       Add option to show docstrings in which-key buffer
+
+       Implements a simple version of the suggestion in #185
+
+2018-01-09  Justin Burkett  <justin@burkett.cc>
+
+       Remove debugging message
+
+2018-01-09  Justin Burkett  <justin@burkett.cc>
+
+       Implement #182
+
+       Allow single digit arg to be set after C-h
+
+2018-01-09  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.1.0
+
+2017-12-18  Justin Burkett  <justin@burkett.cc>
+
+       Fix and improve define-key based replacements
+
+       Check for equality of definition as well as the key sequence. Unless 
it's a
+       prefix binding, in which case only check the key sequence.
+
+       Make sure we apply kbd when looking up pseudo bindings.
+
+       Move the logic into which-key--get-pseudo-binding.
+
+2017-12-17  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #183 from tarsiiformes/silencio
+
+       Define which-key--current-key-list before using it
+
+2017-12-17  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Define which-key--current-key-list before using it
+
+       Actually move the definition of the caller which-key--pseudo-key
+       instead.
+
+2017-12-17  Justin Burkett  <justin@burkett.cc>
+
+       Simplify implementation of define-key based replacements
+
+       When a description is provided through define-key using a definition
+       like ("description" . def) place a additional binding in the map to a 
"pseudo
+       key" making it easy for which-key to find these descriptions on the fly 
and at
+       the right time (i.e., when the binding is active).
+
+       which-key-enable-extended-define-key must be enabled for this to have an
+       effect.
+
+2017-12-15  Justin Burkett  <justin@burkett.cc>
+
+       Improve which-key--process-define-key-args
+
+       Specify Prefix Command as an explicit match string to cut down on false
+       positives.
+
+2017-12-14  Justin Burkett  <justin@burkett.cc>
+
+       Announce which-key-enable-extended-define-key in README
+
+       Demote errors in which-key--process-define-key-args
+
+2017-12-13  Justin Burkett  <justin@burkett.cc>
+
+       Fix .travis.yml
+
+       Didn't install cask
+
+2017-12-13  Justin Burkett  <justin@burkett.cc>
+
+       Fix travis build
+
+       Add support for 25.3. Remove for 24.3
+
+2017-12-13  Justin Burkett  <justin@burkett.cc>
+
+       Allow null DEF in which-key--process-define-key-args
+
+       This is useful for naming prefixes
+
+2017-12-13  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-enable-extended-define-key customization option
+
+       Adds supporting which-key--process-define-key-args.
+
+       The docstring for the option is
+
+       Advise `define-key' to make which-key aware of definitions of the form
+
+         (define-key KEYMAP KEY '("DESCRIPTION" . DEF))
+
+       With the advice, this definition will have the side effect of creating a
+       replacement in `which-key-replacement-alist' that replaces DEF with 
DESCRIPTION
+       when the key sequence ends in KEY. Using a cons cell like this is a 
valid
+       definition for `define-key'. All this does is to make which-key aware 
of it.
+
+       Since many higher level keybinding functions use `define-key' 
internally, this
+       will affect most if not all of those as well.
+
+       This variable must be set before loading which-key.
+
+2017-12-07  Justin Burkett  <justin@burkett.cc>
+
+       Fix ordering of default replacement-alist
+
+       When which-key-allow-multiple-replacements is nil, this order is 
required to get
+       the intended behavior with left and right.
+
+       Ref #181
+
+2017-12-05  Justin Burkett  <justin@burkett.cc>
+
+       Add notes about paging commands not working with minibuffer
+
+2017-11-14  Justin Burkett  <justin@burkett.cc>
+
+       Re-indent README
+
+       Mention which-key-show-major-mode in README
+
+       Consolidate use of binding filters
+
+       Improve echo area note for which-key-show-major-mode
+
+2017-11-13  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-show-major-mode
+
+       This is a new function to discover bindings, including evil ones, in 
the keymap
+       of the current major mode. It should be considered experimental at the 
moment.
+
+2017-08-17  Justin Burkett  <justin@burkett.cc>
+
+       Update which-key version for GNU ELPA
+
+2017-08-09  Justin Burkett  <justin@burkett.cc>
+
+       Make minor changes to commentary in which-key.el
+
+2017-08-07  Justin Burkett  <justin@burkett.cc>
+
+       Assign copyright to FSF for ELPA
+
+2017-05-30  Justin Burkett  <justin@burkett.cc>
+
+       Fix which-key-show-remaining-keys option
+
+2017-05-28  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.0.1
+
+2017-05-27  Justin Burkett  <justin@burkett.cc>
+
+       Handle C-h when buffer not showing
+
+       which-key-C-h-dispatch was not doing anything different if the 
which-key buffer
+       was not showing. This makes it fall back to the standard Emacs behavior.
+
+       Fixes #172
+
+2017-05-21  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #171 from wyuenho/patch-1
+
+       Customize which-key-sort-order with list
+
+2017-05-21  Jimmy Yuen Ho Wong  <wyuenho@users.noreply.github.com>
+
+       Customize which-key-sort-order with list
+
+       This will display a list the user can choose from in customize instead 
of having them to type
+
+2017-05-19  Justin Burkett  <justin@burkett.cc>
+
+       Adhere to 80 chars per column
+
+2017-05-19  Justin Burkett  <justin@burkett.cc>
+
+       Use regexp-opt for regexps
+
+       * lisp/which-key.el (which-key--get-keymap-bindings): Update
+
+2017-05-19  Justin Burkett  <justin@burkett.cc>
+
+       Fixup previous commit
+
+       * lisp/which-key.el (which-key--compute-binding): Need to copy name of 
remapped
+         command
+
+       Fixes #170
+
+2017-05-19  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-compute-remaps option
+
+       * lisp/which-key.el (which-key--compute-binding): Add
+       (which-key--get-current-bindings): Modify to use prev function
+       (which-key-compute-remaps): Add option
+
+       Fixes #169
+
+2017-05-16  Justin Burkett  <justin@burkett.cc>
+
+       Version 3.0
+
+2017-05-16  Justin Burkett  <justin@burkett.cc>
+
+       Prepare for ELPA release
+
+       Update min emacs version to 24.4 to remove backported functions. Remove 
outdated
+       comments.
+
+2017-05-16  Justin Burkett  <justin@burkett.cc>
+
+       Add .cask to gitignore
+
+       Update emacs versions for Travis
+
+2017-05-01  Justin Burkett  <justin@burkett.cc>
+
+       Make -init-buffer-hook a custom var
+
+2017-04-27  Justin Burkett  <justin@burkett.cc>
+
+       Add option to show transient maps
+
+       Set which-key-show-transient-maps to a non-nil value to use this 
feature.
+
+       When a transient map is active and it is not a hydra, show the keys 
from the
+       map.
+
+       Fixes #164
+
+2017-04-18  Justin Burkett  <justin@burkett.cc>
+
+       Improve which-key--any-match-p
+
+2017-04-07  Justin Burkett  <justin@burkett.cc>
+
+       Fix customize type for replacement-alist
+
+       Ref #165
+
+2017-03-15  Justin Burkett  <justin@burkett.cc>
+
+       Fix replacement of keys when prefix is nil
+
+       The prefix is nil at the top-level keymap
+
+       Fixes #163
+
+2017-02-09  Justin Burkett  <justin@burkett.cc>
+
+       Fix handling of key ranges ("a .. d")
+
+       When the last key in the key sequence is a range, extract the whole 
range
+       instead of just the final key.
+
+       Fixes #161
+
+2017-02-07  Justin Burkett  <justin@burkett.cc>
+
+       Version 2.0
+
+       Increased major version for replacement list changes
+
+2016-12-22  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-show-prefix 'mode-line option
+
+       See #157
+
+2016-12-20  Justin Burkett  <justin@burkett.cc>
+
+       Update README
+
+2016-12-20  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-max-display-columns
+
+       See #157
+
+2016-12-15  Justin Burkett  <justin@burkett.cc>
+
+       Remove unused variable
+
+2016-12-15  Justin Burkett  <justin@burkett.cc>
+
+       Fix #156 by allowing multiple replacements
+
+       Add which-key-allow-multiple-replacements which can be set to allow 
multiple
+       replacements from which-key-replacement-alist to apply to a key binding.
+
+       Switch from using assoc-default to find replacements to
+       which-key--get-replacements.
+
+       Adjusts tests and add a new one for multiple replacements.
+
+2016-12-12  Justin Burkett  <justin@burkett.cc>
+
+       Tweak TOC in README and fix a link
+
+2016-12-07  Justin Burkett  <justin@burkett.cc>
+
+       Add a missing type declaration
+
+2016-12-05  Justin Burkett  <justin@burkett.cc>
+
+       Prevent display from occurring twice in a row
+
+       Found some cases where this could happen with a secondary idle delay.
+
+2016-12-05  Justin Burkett  <justin@burkett.cc>
+
+       Add basic timing facility for debugging.
+
+2016-12-01  Justin Burkett  <justin@burkett.cc>
+
+       Remove old obsolete variables/functions
+
+       Add some docstrings
+
+       Remove some unused functions
+
+       Fixup last commit part 2
+
+       Fixup last commit
+
+       Support functions in -add-key-based-replacements
+
+2016-11-30  Justin Burkett  <justin@burkett.cc>
+
+       Fix links to users in README
+
+       Add @pdcawley's example to README
+
+       Add test for #155
+
+2016-11-30  Justin Burkett  <justin@burkett.cc>
+
+       Fix bug in last commit
+
+       The regexp-quote docstring is misleading since (regexp-quote "SPC x") 
will match
+       "SPC x c". Added back the beginning and end markers in the regexp.
+
+2016-11-30  Justin Burkett  <justin@burkett.cc>
+
+       Quote regexp in -add-key-based-replacements
+
+       Should fix #154
+
+2016-11-29  Justin Burkett  <justin@burkett.cc>
+
+       Fix a README link
+
+       Normalize key sequences from -add-key-based-replacements
+
+2016-11-28  Justin Burkett  <justin@burkett.cc>
+
+       Simplify --format-and-replace
+
+2016-11-25  Justin Burkett  <justin@burkett.cc>
+
+       Fix use of function in -replacement-alist
+
+       Wasn't actually deleting nil results
+
+2016-11-25  Justin Burkett  <justin@burkett.cc>
+
+       Don't use case-fold-search in --maybe-replace
+
+       See 
https://github.com/syl20bnr/spacemacs/issues/7837#issuecomment-262938480
+
+2016-11-22  Justin Burkett  <justin@burkett.cc>
+
+       Update test
+
+2016-11-22  Justin Burkett  <justin@burkett.cc>
+
+       Consolidate replacements into one alist
+
+       New list is which-key-replacement-alist. See docstring.
+
+       The following lists are deprecated. Some basic backwards compatibility 
is
+       attempted, but more complicated configs will likely break.
+
+       which-key-key-replacement-alist
+       which-key-key-based-description-replacement-alist
+       which-key-description-replacement-alist
+
+       which-key-binding-filter-function was removed, since it's functionality 
is
+       mostly replaced by which-key-replacement-alist
+
+       Updated README
+
+2016-11-06  Justin Burkett  <justin@burkett.cc>
+
+       Move sort after filter op in --get-formatted-key-bindings
+
+2016-10-31  Justin Burkett  <justin@burkett.cc>
+
+       Update comment in --show-buffer-side-window for prior change
+
+2016-10-31  Justin Burkett  <justin@burkett.cc>
+
+       Remove use of display-buffer-in-major-side-window
+
+       According to emacs bug #24828, this is an internal function and should
+       not be used. Following the advice from that report, switch to
+       display-buffer-in-side-window and add an option for the user to specify
+       the slot value for that function.
+
+       Fixes #146
+
+2016-10-29  Justin Burkett  <justin@burkett.cc>
+
+       Add which-key-binding-filter-function
+
+       Can be used to arbitrarily manipulate key bindings, including deleting
+       them, before they are processed by which-key. See docstring for usage.
+
+       Fixes #152
+       https://github.com/syl20bnr/spacemacs/issues/7582
+
+2016-10-29  Justin Burkett  <justin@burkett.cc>
+
+       Add sort option -prefix-then-key-order-reverse
+
+       Fixes #145
+
+2016-10-29  Justin Burkett  <justin@burkett.cc>
+
+       Add global option for how to sort case
+
+       which-key-sort-uppercase-first (default t)
+
+       See #145
+
+2016-10-18  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #149 from rdotdk/patch-1
+
+       fix link
+
+2016-10-16  Hariharan R  <hariharanrangasamy@gmail.com>
+
+       fix link
+
+2016-10-05  Justin Burkett  <justin@burkett.cc>
+
+       Fix test for recent prefix-name change
+
+2016-10-05  Justin Burkett  <justin@burkett.cc>
+
+       Make 458c8d9 backwards compatible
+
+       The prefix titles need to be in cons cells to stay consistent with how
+       they were used before.
+
+2016-10-05  Justin Burkett  <justin@burkett.cc>
+
+       Move a function for the compiler
+
+2016-10-05  Justin Burkett  <justin@burkett.cc>
+
+       Consolidate prefix names and key-based replacements
+
+       Make obsolete several redundant functions, the most important of which
+       is which-key-declare-prefixes. This is just an alias for
+       which-key-add-key-based-replacements now. The additional functionality
+       that declare-prefixes had (for declaring prefix titles) is now rolled
+       into the add-key-based-replacements function. See that functions doc
+       string.
+
+2016-10-04  Justin Burkett  <justin@burkett.cc>
+
+       Fix -maybe-get-prefix-title use of key-binding
+
+       key-binding doesn't work with all forms of key strings.
+
+       See #143
+
+2016-09-11  justbur  <justin@burkett.cc>
+
+       Resize popup when frame resized
+
+       Fixes #139
+
+2016-09-01  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #137 from tarsius/outlines
+
+       Follow conventions for section headers
+
+2016-09-01  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #136 from tarsius/fixup
+
+       Move definition of which-key--local-binding-p
+
+2016-09-01  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Follow conventions for section headers
+
+       Doing so allows the use of `outline-minor-mode' makes it possible
+       to navigate sections similarly to how that is done in `org-mode'.
+
+2016-08-31  Jonas Bernoulli  <jonas@bernoul.li>
+
+       Move definition of which-key--local-binding-p
+
+       It has to be defined after the inline functions which it uses.
+
+2016-08-17  Justin Burkett  <justin@burkett.cc>
+
+       Version 1.1.15
+
+       Add note about setting delay to zero
+
+2016-08-17  Justin Burkett  <justin@burkett.cc>
+
+       Fix minibuffer echo not displaying
+
+       See #133
+
+2016-07-28  justbur  <justin@burkett.cc>
+
+       Version 1.1.14
+
+       Tagged wrong commit
+
+2016-07-28  justbur  <justin@burkett.cc>
+
+       Disable hack for echo area
+
+       Seems to cause more problems (like completion commands sometimes being
+       overwritten) than it solves.
+
+2016-07-27  justbur  <justin@burkett.cc>
+
+       Fix Makefile
+
+2016-07-09  justbur  <justin@burkett.cc>
+
+       Add allow-imprecise-window-fit option
+
+       Possible fix for #130
+
+       When enabled this option avoids the use of fit-window-to-buffer to
+       resize the popup. My profiling suggested that emacs was spending a lot
+       of time in this function (and hanging sometimes) with different fonts. I
+       noticed this with Roboto Mono on MSWindows, which should explain #130.
+
+2016-07-06  justbur  <justin@burkett.cc>
+
+       Explicitly set tab-width when collecting bindings
+
+       For some reason indent-tabs-mode doesn't use tabs with strange
+       tab-widths.
+
+       See https://github.com/syl20bnr/spacemacs/issues/6497
+
+2016-07-05  justbur  <justin@burkett.cc>
+
+       Fix previous commit
+
+2016-07-05  justbur  <justin@burkett.cc>
+
+       Add whitelist and blacklist options
+
+       which-key-allow-regexps is a list of regexps that allow the popup when
+       one is matched
+
+       which-key-inhibit-regexps inhibits the popup when one regexp matches
+
+       The string matched against is the current key sequence as produced by
+       key-description.
+
+       Fixes #129
+
+2016-06-17  justbur  <justin@burkett.cc>
+
+       Remove setup code
+
+       It's no longer necessary and makes changing echo-keystrokes annoying.
+
+2016-06-16  justbur  <justin@burkett.cc>
+
+       Make current-prefix nil when not showing popup
+
+       Use sit-for instead of timer for delay functions
+
+2016-06-15  justbur  <justin@burkett.cc>
+
+       Fix arg to which-key-delay-functions
+
+2016-06-15  justbur  <justin@burkett.cc>
+
+       Redesign delayed keys implementation
+
+       Everything is controlled through which-key-delay-functions now.
+
+       Ref #128
+
+2016-06-10  justbur  <justin@burkett.cc>
+
+       Fix bug in previous commit
+
+2016-06-10  justbur  <justin@burkett.cc>
+
+       Introduce delayed prefixes
+
+       One version of idea in #128. This design is subject to change.
+
+2016-05-27  justbur  <justin@burkett.cc>
+
+       Bump version
+
+2016-05-27  justbur  <justin@burkett.cc>
+
+       Fix performance issue with secondary timer
+
+       The secondary timer option was restarting the timer every time through
+       the update function, which caused the cpu to max out. Adds a flag so
+       that the timer is only restarted when necessary.
+
+       Fixes #126
+
+2016-05-26  justbur  <justin@burkett.cc>
+
+       Bump version
+
+       Fix --echo when echo-keystrokes nil
+
+2016-05-25  justbur  <justin@burkett.cc>
+
+       Remove some unused code in comments
+
+2016-05-24  justbur  <justin@burkett.cc>
+
+       Change name of arg in define-key-recursively
+
+       Also clarify docstring
+
+2016-05-17  justbur  <justin@burkett.cc>
+
+       New screenshots
+
+       More cleanup of README
+
+       README typo
+
+       Fix comment about special keys in README
+
+       Update docs for new sort function
+
+2016-05-16  justbur  <justin@burkett.cc>
+
+       Add which-key-local-then-key-order
+
+       To use (setq which-key-sort-order 'which-key-local-then-key-order)
+
+       See #125
+
+2016-05-13  justbur  <justin@burkett.cc>
+
+       Bump version
+
+2016-05-12  justbur  <justin@burkett.cc>
+
+       Account for echo-keystrokes = which-key-idle-delay
+
+       Ref #123
+
+2016-05-07  justbur  <justin@burkett.cc>
+
+       Bump version
+
+2016-05-07  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #122 from redguardtoo/master
+
+       tooltip-mode does in exist in emacs-nox #120
+
+2016-05-07  Chen Bin  <chenbin.sh@gmail.com>
+
+       tooltip-mode does in exist in emacs-nox #120
+
+2016-05-05  justbur  <justin@burkett.cc>
+
+       Bump version
+
+2016-05-05  justbur  <justin@burkett.cc>
+
+       Backport two frame width functions for 24.3 support
+
+       Fixes #119
+
+2016-04-27  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #116 from cute-jumper/master
+
+       Fix god mode advice
+
+2016-04-27  Junpeng Qiu  <qjpchmail@gmail.com>
+
+       Fix god mode advice
+
+       See https://github.com/justbur/emacs-which-key/pull/115
+
+2016-04-26  justbur  <justin@burkett.cc>
+
+       Merge branch 'god-mode'
+
+2016-04-26  justbur  <justin@burkett.cc>
+
+       Add advice for god-mode support to hide popup
+
+       The standard way to hide the popup before the command is not working.
+
+2016-04-26  justbur  <justin@burkett.cc>
+
+       Fix minor issues with god-mode support
+
+       Make sure advice is activated for god-mode-lookup-command
+
+       Check for null which-key--god-mode-key-string
+
+2016-04-26  justbur  <justin@burkett.cc>
+
+       Better default for which-key-echo-keystrokes
+
+       Fixes #114
+
+2016-04-26  justbur  <justin@burkett.cc>
+
+       Add third-party section to which-key.el
+
+       Add third-party support section to readme
+
+2016-04-26  justbur  <justin@burkett.cc>
+
+       Add support for god-mode
+
+       Needs to be explicitly activated by calling
+       (which-key-enable-god-mode-support)
+
+2016-04-19  justbur  <justin@burkett.cc>
+
+       Bump version
+
+       Use new history var for keymap selection
+
+2016-04-17  justbur  <justin@burkett.cc>
+
+       Bump version
+
+2016-04-17  justbur  <justin@burkett.cc>
+
+       Explicitly initialize variable-name-history
+
+       See #110
+
+2016-04-17  justbur  <justin@burkett.cc>
+
+       Bump version
+
+2016-04-17  justbur  <justin@burkett.cc>
+
+       Declare variable-name-history
+
+       Fixes #110
+
+2016-04-10  justbur  <justin@burkett.cc>
+
+       Bump version
+
+       Support key ranges below top level
+
+2016-04-06  justbur  <justin@burkett.cc>
+
+       Add badge
+
+2016-04-05  justbur  <justin@burkett.cc>
+
+       Trigger travis
+
+       Set up travis
+
+       Bump version
+
+       Fix problem where prefix-title-alist was not updated
+
+       Fix docstring typo
+
+       Add tests
+
+       Bump version
+
+2016-04-05  justbur  <justin@burkett.cc>
+
+       Fix bug in declare-prefixes-for-mode
+
+       Fixes #109
+
+2016-03-31  justbur  <justin@burkett.cc>
+
+       Fix key-chord problem
+
+       See the note in which-key--update
+
+2016-03-31  justbur  <justin@burkett.cc>
+
+       Support key-chord
+
+       Fixes #108
+
+2016-03-22  justbur  <justin@burkett.cc>
+
+       Version 1.0
+
+       Cleanup for 1.0 release
+
+2016-03-17  justbur  <justin@burkett.cc>
+
+       Make show-standard-help narrow to prefix
+
+       This is what describe-prefix-bindings does and it should be consistent.
+
+2016-03-14  justbur  <justin@burkett.cc>
+
+       Shorten lighter name
+
+2016-03-14  Will S. Medrano  <will.s.medrano@gmail.com>
+
+       made minor mode lighter customizable
+
+2016-03-11  justbur  <justin@burkett.cc>
+
+       Disable special-keys option by default
+
+       It's probably too surprising to have enabled by default.
+
+2016-03-10  justbur  <justin@burkett.cc>
+
+       Fix compiler warnings
+
+       Fixes #106
+
+2016-03-03  justbur  <justin@burkett.cc>
+
+       Increment version
+
+2016-03-03  justbur  <justin@burkett.cc>
+
+       Fix bug when show-prefix is left and there is one line
+
+       Fixes #104
+
+2016-02-29  justbur  <justin@burkett.cc>
+
+       Export reload-key-sequence function
+
+       Fixes #103
+
+2016-02-13  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #102 from zonuexe/master
+
+       Disable show-trailing-whitespace
+
+2016-02-13  USAMI Kenta  <tadsan@zonu.me>
+
+       Disable show-trailing-whitespace
+
+2016-02-09  justbur  <justin@burkett.cc>
+
+       Add missing case for which-key-show-prefix
+
+       nil is a valid value for this option.
+
+2016-02-07  justbur  <justin@burkett.cc>
+
+       Add which-key-is-verbose
+
+       Allows one to silence messages which may not indicate an error.
+
+2016-02-03  justbur  <justin@burkett.cc>
+
+       Refactor create-pages and show-page
+
+       Improve some function names
+
+       Don't pass window-width around
+
+2016-02-03  justbur  <justin@burkett.cc>
+
+       Fix problems with operator keymap function
+
+       1. Introduce using-show-keymap and using-show-operator-keymap vars to
+       make it clear how we are entering which-key
+
+       2. Add inhibit-next-operator-keymap for keys in the operator maps that
+       are bound to commands that read the next key "manually"
+
+       3. Fix problem where the next page hint was only being shown sometimes
+       in the operator maps. Need to distinguish between show-operator-keymap
+       and the possibility that an operator is active but the usual which-key
+       popup is showing.
+
+2016-02-03  justbur  <justin@burkett.cc>
+
+       Simplify page turning function
+
+2016-02-03  justbur  <justin@burkett.cc>
+
+       Use keyboard-quit in abort key sequence
+
+       Need to do this for the operator keymap function. Otherwise the operator
+       state doesn't exit properly
+
+2016-02-03  justbur  <justin@burkett.cc>
+
+       Comment out window var and add new func
+
+       The window var is not being used.
+
+2016-01-30  justbur  <justin@burkett.cc>
+
+       Don't listify key sequence repeatedly
+
+       This function is not idempotent it turns out.
+
+2016-01-30  justbur  <justin@burkett.cc>
+
+       Interpret ESC in operator popup
+
+       See #99
+
+2016-01-28  justbur  <justin@burkett.cc>
+
+       Improve previous commit
+
+       Filter out keys with :suppress-keymap property, which seem to be the
+       primary ones ignored in operator state
+
+2016-01-28  justbur  <justin@burkett.cc>
+
+       Merge branch 'master' of https://github.com/justbur/emacs-which-key
+
+       Initial try at addressing #99
+
+2016-01-26  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #100 from yatesco/patch-1
+
+       Trivial fix correcting SpacEmacs
+
+2016-01-26  Colin Yates  <colin@colinyates.co.uk>
+
+       Trivial fix correcting SpacEmacs
+
+2016-01-18  justbur  <justin@burkett.cc>
+
+       Add which-key-idle-secondary-delay
+
+       Allows the delay time to be different for popups that follow an initial
+       popup within the same key sequence.
+
+2016-01-11  justbur  <justin@burkett.cc>
+
+       Fix problem with side-window dimension calculation
+
+       The fringes were not being included in version 24. This makes the
+       calculation consistent with the left/right side-window calculation and
+       fixes #97.
+
+2015-12-21  justbur  <justin@burkett.cc>
+
+       Fix C-h prompt for show-keymap commands
+
+       Fix undo for show-keymap
+
+2015-12-20  justbur  <justin@burkett.cc>
+
+       Distinguish using-show-keymap
+
+       Allow traversal of keymaps in new commands
+
+       Filter out empty keymaps in new functions
+
+2015-12-20  justbur  <justin@burkett.cc>
+
+       Add which-key-show-minor-mode-keymap
+
+       Version of which-key-show-keymap that only looks in minor-mode-map-alist
+
+2015-12-20  justbur  <justin@burkett.cc>
+
+       Add which-key-show-keymap
+
+       Basic version of this command that only shows the top-level of a keymap.
+       Waiting for feedback on how this should work.
+
+2015-12-17  justbur  <justin@burkett.cc>
+
+       New stable version
+
+2015-12-11  justbur  <justin@burkett.cc>
+
+       Ignore evil-state bindings
+
+       These are the fake keys that evil uses to store maps under
+
+2015-12-11  justbur  <justin@burkett.cc>
+
+       Merge branch 'master' of https://github.com/justbur/emacs-which-key
+
+       Add which-key-init-buffer-hook
+
+2015-12-09  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #91 from Amorymeltzer/prefix-prefix-doc
+
+       Document which-key-prefix-prefix
+
+2015-12-09  Amory Meltzer  <Amorymeltzer@gmail.com>
+
+       Document which-key-prefix-prefix
+
+       
https://github.com/justbur/emacs-which-key/commit/30bc0c224bac091fcf2759c8e8853e7237196090
+
+2015-12-09  justbur  <justin@burkett.cc>
+
+       Allow custom prefix-prefix
+
+       Suggested in #90. Thanks @Amorymeltzer
+
+2015-12-06  justbur  <justin@burkett.cc>
+
+       Tweak display of key sequence in one case
+
+       This is for the C-h commands when the which-key message is not shown in
+       the echo area but the echo-keystrokes prefix is
+
+2015-12-06  justbur  <justin@burkett.cc>
+
+       echo-keystrokes should never be nil
+
+       The correct test is to test if it's 0.
+
+2015-12-05  justbur  <justin@burkett.cc>
+
+       Preserve prefx-arg when paging
+
+2015-12-04  justbur  <justin@burkett.cc>
+
+       Work on handling prefix args better
+
+       Make C-h command hint respect C-h-map commands
+
+       Merge branch 'master' of https://github.com/justbur/emacs-which-key
+
+2015-12-04  justbur  <justin@burkett.cc>
+
+       Don't abort key seq after unbound key in C-h-map
+
+       Allows to recover from accidentally pressing C-h.
+
+       This commit also fixes some echo area problems that become apprent after
+       introducing the C-h-map stuff
+
+2015-12-03  Justin Burkett  <justin@burkett.cc>
+
+       Clarify C-h commands description in readme
+
+2015-12-03  justbur  <justin@burkett.cc>
+
+       Fix top-level note and satisfy compiler
+
+2015-12-03  justbur  <justin@burkett.cc>
+
+       Add C-h commands to what's new in readme
+
+       Still need to update the rest of the content
+
+2015-12-03  justbur  <justin@burkett.cc>
+
+       Fix note on right and add abort keys
+
+       Fix undo and timer usage
+
+2015-12-03  justbur  <justin@burkett.cc>
+
+       Introduce C-h command dispatch function
+
+       Replace role of show-next-page with C-h-dispatch which immediately reads
+       a key and calls a command from C-h-map, which may be one of several
+       paging commands, a command to undo the last keypress, or a command to
+       directly access describe-prefix-bindings.
+
+       This commit does not include documenting these changes in the readme.
+
+       Note that several options become deprecated here as they no longer have
+       the same (if any effect).
+
+2015-12-01  justbur  <justin@burkett.cc>
+
+       Remove dependencies from README
+
+       Cleanup make-text-button call
+
+2015-12-01  justbur  <justin@burkett.cc>
+
+       Fix return value problem for make-text-button
+
+       Apparently in versions before 24.5 the return value was not always the
+       button itself when a string was used as the argument
+
+2015-11-30  justbur  <justin@burkett.cc>
+
+       Merge branch 'grammati'
+
+       Use safe version of string-width
+
+2015-11-30  justbur  <justin@burkett.cc>
+
+       Use key-description for canonical keys
+
+       This takes the idea in the previous commit and translates the
+       representations of keys in the alists to be the output of
+       key-description. The issue is that `M-x` for example has two
+       representations with listify-key-sequence, but only one (it seems) from
+       key-description.
+
+2015-11-28  Chris Perkins  <chrisperkins99@gmail.com>
+
+       Display prefix names in terminal-mode
+
+       When running emacs in a terminal (or at least, in iTerm), keys are not
+       passed through to emacs the same way that they are in graphical mode.
+
+       For example, M-m (important in spacemacs) is the key-sequence
+       `[134217837]` in graphical emacs, but `[27 109]` ("ESC m") in terminal.
+
+       The variable `which-key-prefix-name-alst` only has a mapping for the
+       former (the 134217837), and so the names of submenus all show up as
+       "+prefix", limiting discoverability.
+
+       This commit converts the key sequence into a canonical form (eg:
+       converts `[27 109]` into `[134217837]`) in
+       `which-key--maybe-replace-prefix-name`, so that the prefixes are found.
+
+       I think some work is probably needed for
+       `which-key-prefix-title-alist` too, but I'm not entirely sure what
+       that's used for, so I didn't mess with it.
+
+2015-11-20  justbur  <justin@burkett.cc>
+
+       Add README note about last commit
+
+       Show docstring on hover in echo area for commands
+
+2015-11-20  justbur  <justin@burkett.cc>
+
+       Fix mistake in reverting defaults
+
+       Ref 9dd0ceaaabe6b4ac5f3268747b6103fb04d65e5f
+
+       Accidentally changed the side window location instead of the show-prefix
+       one.
+
+2015-11-20  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #87 from cute-jumper/master
+
+       Fix the value of `which-key-side-window-location'
+
+2015-11-20  Junpeng Qiu  <qjpchmail@gmail.com>
+
+       Fix the value of `which-key-side-window-location'
+
+2015-11-19  justbur  <justin@burkett.cc>
+
+       Check for nil as a binding in previous commit
+
+       Provide alternate prefix-title for echo area
+
+       Forgot line in last commit
+
+2015-11-19  justbur  <justin@burkett.cc>
+
+       Revert change in default of side-window-bottom
+
+       Not happy with the look of it yet, even though it's probably better to
+       avoid the echo area
+
+2015-11-19  justbur  <justin@burkett.cc>
+
+       Automatically close popup when prefix goes away
+
+       It was necessary to hit C-g twice to close the popup before this change.
+
+2015-11-19  justbur  <justin@burkett.cc>
+
+       Provide alternative for prefix-title
+
+       If echo-keystrokes is non nil, we're showing in the bottom window, and
+       the prefix is shown in the top or bottom line, there's not much reason
+       to show the prefix again since it's so close to the echo area.
+
+2015-11-18  justbur  <justin@burkett.cc>
+
+       Fix spacing in last commit
+
+       Mention new show-prefix option and format README
+
+2015-11-18  justbur  <justin@burkett.cc>
+
+       Add show-prfx 'bottom and change top-level msg
+
+       'bottom is a "safer" default because it's impossible to control the echo
+       area completely, so the message gets wiped out occasionally.
+
+       Use prefix-titles for the top-level bindings message, since top-level is
+       not really a key
+
+2015-11-18  justbur  <justin@burkett.cc>
+
+       Ignore key translations only at top-level
+
+       C-x 8 is a valid place to put translations for example
+
+2015-11-18  justbur  <justin@burkett.cc>
+
+       Option to remove default unicode characters
+
+2015-11-18  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #86 from syohex/byte-compile-warnings
+
+       Fix byte compile warnings
+
+2015-11-18  Syohei YOSHIDA  <syohex@gmail.com>
+
+       Use bound-and-true-p for byte compile warning
+
+       Move definition position for byte-compile warning
+
+2015-11-18  justbur  <justin@burkett.cc>
+
+       Sort character ranges properly
+
+       Fix #85
+
+2015-11-17  justbur  <justin@burkett.cc>
+
+       Make special-key matching case sensitive
+
+       Refactor sorting functions and move fn keys up
+
+       Silence warnings for obsolete function
+
+2015-11-17  justbur  <justin@burkett.cc>
+
+       Turn on case-sensitivity in replacements
+
+       Should avoid situations like #84
+
+2015-11-17  justbur  <justin@burkett.cc>
+
+       Satisfy compiler
+
+2015-11-17  justbur  <justin@burkett.cc>
+
+       Bring in new describe-buffer-bindings parsing func
+
+       based on similar function in helm-descbinds. This parses the output of
+       describe-buffer-bindings line by line, and is easier to follow and
+       manipulate than the previous one that uses complicated regexp
+       expressions.
+
+2015-11-16  justbur  <justin@burkett.cc>
+
+       Mention show-top-level in the README
+
+2015-11-13  justbur  <justin@burkett.cc>
+
+       Minor stylistic changes to previous pr
+
+2015-11-13  Iqbal Ansari  <iqbalansari02@yahoo.com>
+
+       Ignore self-insert-command bindings
+
+       Include keybindings of the form 'a .. z' in which key popup
+
+       Use `set-temporary-overlay-map` to setup paging keys for toplevel popup
+
+       Manually flush headings for keybindings
+
+       Allow function key bindings to be displayed in toplevel help
+
+       Add a command to popup toplevel bindings
+
+       Fix some minor bugs
+
+       Improve regexp to match toplevel bindings
+
+2015-11-13  Iqbal Ansari  <iqbalansari02@yahoo.com>
+
+       Change code to handle nil which-key--current-prefix
+
+       This would happen when viewing toplevel bindings
+
+2015-11-13  justbur  <justin@burkett.cc>
+
+       Fix sort order of function keys
+
+2015-11-13  justbur  <justin@burkett.cc>
+
+       Don't use face for prefix if using echo area
+
+       With some themes the switch from the text from echo-keystrokes with no
+       face to the which-key text with a face is annoying.
+
+2015-11-12  justbur  <justin@burkett.cc>
+
+       Bump minor version
+
+2015-11-12  justbur  <justin@burkett.cc>
+
+       Add option to pad key columns on the left
+
+       Allows you to make more space between the columns if you think the
+       layout is too tight.
+
+2015-11-04  justbur  <justin@burkett.cc>
+
+       Fix #79
+
+       Explicitly set word-wrap in which-key buffer. Fix unicode correction
+
+2015-11-04  justbur  <justin@burkett.cc>
+
+       Add example of adding Unicode replacements in README
+
+       Thanks @epitzer for the suggestion.
+       https://github.com/justbur/emacs-which-key/issues/52
+
+2015-10-30  justbur  <justin@burkett.cc>
+
+       Don't show help hint for evil operators
+
+       Paging and help doesn't work for these, so don't offer
+
+2015-10-30  justbur  <justin@burkett.cc>
+
+       Add option to show popup for evil operators
+
+       Default is to enable if evil is loaded before which-key. Otherwise, it
+       is disabled.
+
+2015-10-29  justbur  <justin@burkett.cc>
+
+       Add melpa stable banner
+
+2015-10-22  justbur  <justin@burkett.cc>
+
+       Don't warn when same cons is added to alist twice
+
+2015-10-20  justbur  <justin@burkett.cc>
+
+       Move sorting functions and add to readme
+
+2015-10-19  justbur  <justin@burkett.cc>
+
+       Better choices for built-in functions
+
+       Thanks @xuchunyang!
+
+2015-10-18  justbur  <justin@burkett.cc>
+
+       Cleanup previous commit
+
+       Remove dash.el dependency
+
+       Remove s.el dependency
+
+2015-10-15  justbur  <justin@burkett.cc>
+
+       Satisfy compiler for golden-ratio-mode
+
+2015-10-09  justbur  <justin@burkett.cc>
+
+       Preliminary support for undo
+
+2015-10-08  justbur  <justin@burkett.cc>
+
+       Add new sort function for testing
+
+       This is a variation on key order, which uses alphabetical sorting for
+       characters, putting lowercase before uppercase.
+
+       @syl20bnr
+
+2015-10-07  justbur  <justin@burkett.cc>
+
+       Fix problem with two locations for side-window
+
+       Can't always reuse the same window in this case when we go to a deeper
+       set of keybindings, because we may need to switch sides.
+
+2015-10-07  justbur  <justin@burkett.cc>
+
+       Switch to defun in last commit
+
+2015-10-07  justbur  <justin@burkett.cc>
+
+       Add new sort function
+
+       As suggested by @hmelman, sort by whether a key is a prefix or not (no
+       prefix takes priority) then by key.
+
+2015-10-06  justbur  <justin@burkett.cc>
+
+       Bump version to 0.6.2
+
+2015-10-05  justbur  <justin@burkett.cc>
+
+       readme: Remove what's new and add dependency note
+
+2015-10-03  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #71 from justbur/refactor
+
+       Refactor
+
+2015-10-03  justbur  <justin@burkett.cc>
+
+       Remove comment
+
+       Refactor show-next-page
+
+2015-10-03  justbur  <justin@burkett.cc>
+
+       Move golden-ratio-mode let binding
+
+       Let bind golden-ratio-mode earlier in show-page function which may help
+       prevent golden-ratio from moving the whihc-key buffer
+
+2015-10-02  Iqbal Ansari  <iqbalansari02@yahoo.com>
+
+       Do not display which-key popup if an interactive command is in progress
+
+       This prevents the which-key popup from being displayed if
+       `read-key-sequence` is invoked from a command as opposed to the editor's
+       main loop.
+
+       The changes introduced in #b96481 and #6d20c0 have been removed since
+       they are not needed now
+
+2015-10-02  justbur  <justin@burkett.cc>
+
+       Add remove-hook to previous commit
+
+2015-10-02  Iqbal Ansari  <iqbalansari02@yahoo.com>
+
+       Run `which-key--hide-popup` in post-command-hook also
+
+2015-10-02  justbur  <justin@burkett.cc>
+
+       Revert preserve-size setting on buffer
+
+       It's preventing the buffer from automatically shrinking
+
+2015-09-29  justbur  <justin@burkett.cc>
+
+       Let bind golden-ratio-mode when showing window
+
+       Prevents golden-ratio from changing size of which-key buffer
+
+       Fix #67
+
+2015-09-29  justbur  <justin@burkett.cc>
+
+       Add preserve-size option to side-window display
+
+       Beginning of fix for #67
+
+2015-09-27  justbur  <justin@burkett.cc>
+
+       Don't fail if buffer was killed somehow
+
+2015-09-24  justbur  <justin@burkett.cc>
+
+       Fix merge conflicts
+
+       Bump version
+
+2015-09-24  justbur  <justin@burkett.cc>
+
+       Better fix for #65
+
+       Go back to using the original strategy of backing up
+       `prefix-help-command` but make sure it never gets set to
+       `which-key-show-next-page`.
+
+2015-09-24  justbur  <justin@burkett.cc>
+
+       Revert "Fix #65"
+
+       This reverts commit c1873df76dc8d1907405ccb8af8ef7a0da1c63e9.
+
+2015-09-23  justbur  <justin@burkett.cc>
+
+       Fix #65
+
+       Don't try to backup the value of `prefix-help-command` because it was
+       getting set to `which-key-show-next-page` somehow creating an infinite
+       recursion error. Just call `describe-prefix-bindings` directly, which
+       should cover almost all cases.
+
+2015-09-22  justbur  <justin@burkett.cc>
+
+       Fix docstring typo
+
+       Thanks @hmelman
+
+2015-09-21  justbur  <justin@burkett.cc>
+
+       Add alist-name arg to add-key-val-to-alist
+
+       Otherwise the name of the alist is not available to this function
+
+2015-09-21  justbur  <justin@burkett.cc>
+
+       Add faces group
+
+2015-09-19  justbur  <justin@burkett.cc>
+
+       Better messages for add-key-val-to-alist
+
+2015-09-18  justbur  <justin@burkett.cc>
+
+       Remove some alists from customize and update docs
+
+       The helper functions should be used now due to the nature of the lists.
+       Removing the variables from customize should encourage this.
+
+       Also add automatic conversion of old format of
+       `which-key-key-based-description-replacement-alist`.
+
+2015-09-18  justbur  <justin@burkett.cc>
+
+       Update README for key-based replacements
+
+2015-09-16  justbur  <justin@burkett.cc>
+
+       Add ability to highlight certain commands
+
+       Adds `which-key-highlighted-command-list` and
+       `which-key-highlighted-command-face` as user-customizable means of
+       highlighting arbitrary commands (selected through regexp) with arbitrary
+       faces.
+
+2015-09-09  Justin Burkett  <justin@burkett.cc>
+
+       typo in readme
+
+2015-09-08  justbur  <justin@burkett.cc>
+
+       Mute echo-keystrokes message
+
+       It seems to be too much information to display on *every* startup
+
+2015-09-03  justbur  <justin@burkett.cc>
+
+       Better warning for add-key-val-to-alist
+
+       Fix typo
+
+       Minor fix on last commit
+
+       Common interface for prefix names and titles
+
+       Minor changes to key-seq functions
+
+       Change default indentation of helpers
+
+       Add support for prefix-names
+
+2015-09-02  justbur  <justin@burkett.cc>
+
+       Make preventing C-h cycling the default
+
+       Allow disabling truncation
+
+2015-09-02  justbur  <justin@burkett.cc>
+
+       Add min-display-lines option
+
+       Ref #60
+
+2015-09-02  justbur  <justin@burkett.cc>
+
+       Shorten next page hint
+
+       It's too long with the buffer on the right
+
+2015-09-02  justbur  <justin@burkett.cc>
+
+       Factor out next page hint
+
+       Change wording of hint
+
+2015-09-02  justbur  <justin@burkett.cc>
+
+       Add missing autoload
+
+       Fix #60
+
+2015-09-01  justbur  <justin@burkett.cc>
+
+       Describe new paging options in readme
+
+       Fix compiler warning
+
+       Fix implementation of prevent-C-h-from-cycling
+
+2015-09-01  justbur  <justin@burkett.cc>
+
+       Add experimental support for using descbinds
+
+       Adds a new variable which is disabled by default, called
+       which-key-prevent-C-h-from-cycling. If both this new variable and
+       which-key-use-C-h-for-paging are t, then C-h will page through to the
+       last page, but then drop into the default emacs behavior of calling
+       describe-prefix-bindings instead of cycling to page 1 again.
+
+2015-08-27  justbur  <justin@burkett.cc>
+
+       Fix echo-keystrokes backup
+
+       Fix which-key-echo-keystrokes docstring
+
+2015-08-17  justbur  <justin@burkett.cc>
+
+       Add helper function for prefix titles
+
+2015-08-16  justbur  <justin@burkett.cc>
+
+       One more change to format of prefix-title-alist
+
+       Switch prefix-titles to key-seq as key
+
+2015-08-15  justbur  <justin@burkett.cc>
+
+       Add support for "prefix titles". See #58
+
+2015-08-10  justbur  <justin@burkett.cc>
+
+       show-remaining-keys cleanup
+
+       Add missing save-match-data call
+
+2015-08-03  justbur  <justin@burkett.cc>
+
+       Tweak partition-columns
+
+       Fix ref to free var
+
+       Replace ?? with lambda by default
+
+       Clean-up partition-columns implementation
+
+       Add README intro to commentary section.
+
+       Bump version
+
+2015-08-01  justbur  <justin@burkett.cc>
+
+       Allow for nil local-map. Fixes #57
+
+2015-07-30  justbur  <justin@burkett.cc>
+
+       README links working again
+
+       Second try to fix links
+
+       Fix a link in readme
+
+       Add local-map face to readme
+
+2015-07-29  justbur  <justin@burkett.cc>
+
+       Add local-map face
+
+       Possible solution for #45. Does not change any default settings.
+
+2015-07-29  justbur  <justin@burkett.cc>
+
+       README fixes
+
+2015-07-28  justbur  <justin@burkett.cc>
+
+       README typos
+
+       Reorg README and new pictures
+
+2015-07-28  Justin Burkett  <justin@burkett.cc>
+
+       Minor wording change to readme
+
+2015-07-28  justbur  <justin@burkett.cc>
+
+       Add note to readme
+
+2015-07-28  justbur  <justin@burkett.cc>
+
+       Revert "Fix some parts of readme"
+
+       This reverts commit a5413c2b8af110225fabbe64bcad4703c353327c.
+
+2015-07-28  justbur  <justin@burkett.cc>
+
+       More docstrings
+
+       Allow show-next-page to force update before timer
+
+2015-07-27  justbur  <justin@burkett.cc>
+
+       Add a docstring
+
+       Fix some parts of readme
+
+2015-07-26  justbur  <justin@burkett.cc>
+
+       C-h for paging is awesome
+
+2015-07-25  justbur  <justin@burkett.cc>
+
+       Add next page hint to show-prefix top
+
+       Also introduce which-key-note-face for notes and hints, and change
+       format of next page hint slightly.
+
+2015-07-25  justbur  <justin@burkett.cc>
+
+       Add hint for next page key
+
+       Only shows when using echo for which-key-show-prefix
+
+       See #53
+
+2015-07-25  justbur  <justin@burkett.cc>
+
+       Fix show-next-page problem with mult events
+
+       Need to add (t . event) to unread-command-events to force emacs to add
+       each event to the current command's sequence. See docs for
+       unread-command-events.
+
+2015-07-24  justbur  <justin@burkett.cc>
+
+       Documentation is better now :-)
+
+       Add link to README about disabling special keys
+
+       Allow which-key-special-keys to be nil
+
+       Switch to lexical binding and fix warnings
+
+2015-07-23  justbur  <justin@burkett.cc>
+
+       Fix echo function
+
+2015-07-23  Justin Burkett  <justin@burkett.cc>
+
+       Add suggestion about tiling wm to readme
+
+2015-07-23  justbur  <justin@burkett.cc>
+
+       Better strategy for dealing with minibuffer paging
+
+       Hack to fix #48
+
+2015-07-22  justbur  <justin@burkett.cc>
+
+       Allow side-window bottom to be shorter than 4
+
+       Fix key/page count and bug in create-pages
+
+       Simplify show page a little
+
+       Bump version for new defaults
+
+2015-07-22  justbur  <justin@burkett.cc>
+
+       Make side-window bottom the default
+
+       Also adds echo as the new default for the prefix key information (to use
+       the echo area).
+
+       Making side-window bottom the default location, because it seems to have
+       the best behavior overall after adding paging. Don't want to use the
+       minibuffer because it's misbehaving right now.
+
+       Change echo-keystrokes if prefix is echo
+
+2015-07-22  justbur  <justin@burkett.cc>
+
+       Add default replacement for next page
+
+       Factor out paging timer and only start once
+
+       Fix some hash quotes
+
+       Protect 2-side-window function from too many args
+
+       Remove show and hide functions for minibuffer
+
+       Tweak next-page timer
+
+2015-07-22  justbur  <justin@burkett.cc>
+
+       Fix for #49
+
+       Need to check if the prefix has changed when possibly restarting the
+       timer after paging.
+
+2015-07-22  justbur  <justin@burkett.cc>
+
+       Fix #50 - Don't show pages if only 1 page
+
+       No need to call show-popup for minibuffer
+
+2015-07-22  justbur  <justin@burkett.cc>
+
+       Use real-last-command instead of last-command
+
+       for which-key-show-next-page
+
+2015-07-22  justbur  <justin@burkett.cc>
+
+       Fix a default regexp
+
+       Fix sort order in readme again
+
+       Fix latex in readme
+
+       Move paging defcustoms
+
+       Update readme with new features
+
+2015-07-21  justbur  <justin@burkett.cc>
+
+       Much better paging implementation
+
+       Don't prevent changing paging bindings
+
+       Add options for paging (disabled by default)
+
+       Fix readme
+
+       Add check for no keys
+
+       Add new setup function for right-bottom
+
+       Bump version
+
+       Turn off show remaining keys by default
+
+       Merge branch 'develop'
+
+       Basic paging works
+
+       Show page count with prefix
+
+2015-07-20  justbur  <justin@burkett.cc>
+
+       Put spaces in separator so they can be changed
+
+       Don't show page if first column doesn't fit
+
+2015-07-20  justbur  <justin@burkett.cc>
+
+       Fix bug in page layout
+
+       Pages were getting dropped
+
+2015-07-20  justbur  <justin@burkett.cc>
+
+       Ability to specify two locations for side-window
+
+       echo-keystrokes might be nil
+
+       Start on right-bottom and bottom-right sw impl
+
+       Add description sort and make key order default
+
+       Typo in lighter-status function
+
+       Fix mode line status
+
+       Add status to mode line
+
+       Move all prefix adding code to one place
+
+2015-07-20  Justin Burkett  <justin@burkett.cc>
+
+       Update README.org
+
+2015-07-20  justbur  <justin@burkett.cc>
+
+       Add a couple of docstrings
+
+2015-07-20  justbur  <justin@burkett.cc>
+
+       Merge branch 'master' into develop
+
+       Conflicts:
+               README.org
+               which-key.el
+
+2015-07-20  justbur  <justin@burkett.cc>
+
+       Fix prefix code
+
+       Also delete old code
+
+2015-07-20  justbur  <justin@burkett.cc>
+
+       Paging works barely
+
+       Rewrite of page creation alg
+
+2015-07-17  justbur  <justin@burkett.cc>
+
+       Typo in docstring
+
+       Add special key handling to key sort order
+
+       Add option to sort output by key (off by default)
+
+2015-07-17  justbur  <justin@burkett.cc>
+
+       Fix potential bug when no keys exist
+
+       Need to check for no keys before checking the number of keys on the
+       first page in case the latter is nil
+
+2015-07-17  justbur  <justin@burkett.cc>
+
+       Start on new status key impl
+
+2015-07-16  justbur  <justin@burkett.cc>
+
+       Use string-width instead of length for strings
+
+       Reformat source
+
+       Move badge below header
+
+       Add MELPA badge and change README indentation
+
+       Add MELPA badge and change README indentation
+
+       Add MELPA to install insructions
+
+       Merge branch 'master' of https://github.com/justbur/emacs-which-key
+
+       Bump version
+
+2015-07-16  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #40 from xuchunyang/master
+
+       Make which-key buffer uninteresting
+
+2015-07-16  justbur  <justin@burkett.cc>
+
+       Change echo-keystrokes logic
+
+2015-07-16  Chunyang Xu  <xuchunyang56@gmail.com>
+
+       Make which-key buffer uninteresting
+
+2015-07-16  justbur  <justin@burkett.cc>
+
+       Erase truncate-lines message
+
+       Tweak setup breaking out echo-keystrokes stuff
+
+       Cleanup comments
+
+       Add another key translation map to check
+
+2015-07-16  justbur  <justin@burkett.cc>
+
+       Fix #39
+
+       `iso-transl-ctl-x-8-map' is not checked with `key-binding' because it's
+       stored in the `key-translation-map', so this adds a test against this
+       map.
+
+2015-07-15  justbur  <justin@burkett.cc>
+
+       Better notes
+
+2015-07-15  justbur  <justin@burkett.cc>
+
+       Don't show echo-keystroke note more than once
+
+       Fix #38
+
+2015-07-15  justbur  <justin@burkett.cc>
+
+       Fix typos
+
+       Add ability to temporarily prevent popups
+
+       Remove useless when
+
+2015-07-15  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #36 from syohex/fix-funcall
+
+       Remove hash quotes
+
+2015-07-15  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #37 from purcell/patch-1
+
+       Misc formatting fixes
+
+2015-07-15  Steve Purcell  <steve@sanityinc.com>
+
+       Misc formatting fixes
+
+       - Inline standard license blurb
+       - Define parent of custom group
+       - Insert missing blank lines between top-level declarations
+
+2015-07-15  Syohei YOSHIDA  <syohex@gmail.com>
+
+       Remove hash quotes
+
+       They are variables, not functions, so hash quotes are not necessary.
+
+2015-07-15  justbur  <justin@burkett.cc>
+
+       Switch to only using dashes for symbol names
+
+       Matches elisp conventions to the letter
+
+2015-07-14  justbur  <justin@burkett.cc>
+
+       Merge branch 'master' of https://github.com/justbur/emacs-which-key
+
+       Be consistent with use of double slash
+
+2015-07-14  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #34 from bmag/master
+
+       Updated images for split frame
+
+2015-07-14  Bar Magal  <barmagal@gmail.com>
+
+       Updated images for split frame
+
+2015-07-14  justbur  <justin@burkett.cc>
+
+       Typo in readme
+
+       Fix url in header
+
+       flycheck-package fixes
+
+       Reorg the readme and add key features to intro
+
+       Cleanup replacement functions again
+
+2015-07-14  justbur  <justin@burkett.cc>
+
+       Fix add-replacement functions
+
+       Also cleanup use of push in code
+
+2015-07-14  justbur  <justin@burkett.cc>
+
+       Fix #33
+
+       Check for group before replacements occur
+
+2015-07-13  justbur  <justin@burkett.cc>
+
+       New default pictures
+
+       Convert custom functions to defcustom
+
+       Fix weird no room error
+
+       Autoloads for helper functions
+
+       Remove defaults related to outside packages
+
+       Minor change to previous refactor
+
+       Refactor column layout
+
+       Fix a message
+
+       Remove some old code
+
+       Add docstring for propertize-description
+
+       Move unicode-correction and bump default to 3
+
+2015-07-13  justbur  <justin@burkett.cc>
+
+       Fix #32
+
+       Main problem was a replacement regexp that looked for a forward slash in
+       the description, which removed group:x/y
+
+2015-07-12  justbur  <justin@burkett.cc>
+
+       Fix unicode-correction docstring
+
+       Add support for custom display functions
+
+       Change default unicode-correction
+
+       Update commentary
+
+       Fixes #24 (Update docstrings)
+
+       Cleanup replacement helper functions
+
+2015-07-11  justbur  <justin@burkett.cc>
+
+       Add note to README about side-window defaults
+
+       Add unicode correction for wide unicode chars
+
+       Add default replacement for select-window-[N]
+
+       Mention customize-group in README
+
+       Readme typo
+
+       Merge branch 'master' of https://github.com/justbur/emacs-which-key
+
+2015-07-11  justbur  <justin@burkett.cc>
+
+       Add replacement descriptions to readme.
+
+       Also move status list to end
+
+2015-07-11  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #30 from bmag/readme
+
+       Start special-features section in readme #29
+
+2015-07-11  justbur  <justin@burkett.cc>
+
+       Merge branch 'readme' of https://github.com/bmag/emacs-which-key into 
readme
+
+       Show prefix in can't show messages
+
+       Merge status-key
+
+       Add status defcustom and clean-up layout funcs
+
+2015-07-11  Bar Magal  <barmagal@gmail.com>
+
+       readme: explain different popup types
+
+       Start special-features section in readme #29
+
+2015-07-11  justbur  <justin@burkett.cc>
+
+       Add better check for no room in frame
+
+       Protect against infinite loops
+
+       Protect against infinite loops
+
+       Start to fix lock up on small vertical window
+
+       Merge status-key and layout changes
+
+2015-07-10  justbur  <justin@burkett.cc>
+
+       Fix bug when frame too small
+
+       Remove message
+
+       Merge branch 'fill-columns'
+
+       Reorganize code and clean-up comments a little
+
+       Re-enable the prefix option
+
+       Require dash
+
+2015-07-10  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #26 from bmag/fill-columns
+
+       Use toggle-truncate-lines; reduce -> cl-reduce
+
+2015-07-10  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #27 from bmag/master
+
+       Fix some defcustoms
+
+2015-07-10  Bar Magal  <barmagal@gmail.com>
+
+       Fix some defcustoms
+
+2015-07-10  Bar Magal  <barmagal@gmail.com>
+
+       Check frame width in a non-buggy way
+
+       `(window-width (frame-root-window))` throws an error when the frame is
+       split (frame's root window is not live).
+
+2015-07-10  Bar Magal  <barmagal@gmail.com>
+
+       Use toggle-truncate-lines; reduce -> cl-reduce
+
+       Enabling toggle-truncate-lines in which-key--buffer, to avoid empty
+       lines when the window is just a bit too narrow.
+
+2015-07-10  justbur  <justin@burkett.cc>
+
+       Bring back error message for too small of a frame
+
+       Fix bug (layout wasn't going to 1 line)
+
+2015-07-10  justbur  <justin@burkett.cc>
+
+       Fill columns first with variable column width
+
+       Allows for more compact layout
+
+2015-07-10  justbur  <justin@burkett.cc>
+
+       Fix bug in populate buffer
+
+       Try out status-key option
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Fix #6: TODO for defcustom
+
+       Make variables stand-out in readme
+
+       Fix add replacement functions
+
+       Another typo
+
+       Typo in add-major-mode-key-based-...
+
+       Merge branch 'better-window-sizes'
+
+       remove mode-line
+
+       Merge branch 'better-window-sizes' of 
https://github.com/bmag/emacs-which-key into better-window-sizes
+
+       Change side-window params to percentages
+
+2015-07-09  Bar Magal  <barmagal@gmail.com>
+
+       Use fit-window-to-buffer again
+
+       Allow percentages for side-window max sizes #19
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Add functions for adding to replacement alists
+
+2015-07-09  Bar Magal  <barmagal@gmail.com>
+
+       Fix text vs. total window width handling #22
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Remove mode-line and tweak max-height
+
+       max-height for side-window could still be more precise, but this seems
+       to work
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Make user setup functions interactive and autoload
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Fix #22
+
+       Check for keymap instead of not a symbol.
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Remove hidden-mode-line-mode
+
+       Add minibuffer picture
+
+2015-07-09  Justin Burkett  <justin@burkett.cc>
+
+       Delete which-key-minibuffer.PNG
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Add bottom section and picture to readme
+
+       Add minibuffer picture
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Add config setup functions and more
+
+       Fix a problem where the frame-height was not accouting for the
+       minibuffer. Also, set the buffer to hidden-mode-line-mode to hide the
+       mode-line for now (#16).
+
+2015-07-09  justbur  <justin@burkett.cc>
+
+       Update readme
+
+       Possible fix for #18
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Fix #21
+
+       Fix act-width in populate-buffer
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Rework key-based replacement
+
+       Previous implementation didn't work for multiple major-mode bindings
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Fix replace-match and rewrite propertize-key
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Break out key-based replacement function.
+
+       Seems simpler to use `assoc-string` in this case.
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Fixes #19
+
+       Kind of a hack, but seems a lot easier than trying to get an exact
+       calculation of the width
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Remove hide-popup call from update function
+
+       Doesn't seem to be needed anymore after adding hide-popup to the
+       pre-command-hook.
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Fix bug in format-matches
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Add option to specify major-mode in replacements
+
+       Note all replacements need to be proper lists instead of cons cells now
+       to add the option to check the third argument. If the third argument is
+       missing it defaults to replacing in all major modes
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Revert unintended change to act-height calc
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Fix #17 errors when not enough room is available.
+
+       Also gives more control over whether and where to show prefix keys. When
+       the buffer is vertical showing in first line seems to make more sense.
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Add :group to faces
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Require cl-lib
+
+       Addresses #15
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Add key-based replacement list
+
+       Add regexp to remove namespace (w minor cleanup)
+
+2015-07-08  justbur  <justin@burkett.cc>
+
+       Remove column-width from max-dimensions
+
+       It's not needed
+
+2015-07-07  justbur  <justin@burkett.cc>
+
+       Show prefix in popup
+
+2015-07-07  justbur  <justin@burkett.cc>
+
+       Remove commented out close timer stuff
+
+       Closes #10
+
+2015-07-07  justbur  <justin@burkett.cc>
+
+       Make echo-keystrokes a variable and speed it up.
+
+       Be consistent in defining faces.
+
+2015-07-07  justbur  <justin@burkett.cc>
+
+       Make default delay less aggressive.
+
+       Also avoids touching echo-keystrokes if it is already low.
+
+2015-07-07  justbur  <justin@burkett.cc>
+
+       Maek special keys bold
+
+       Add DEL to special keys
+
+       Add small indication of more pages
+
+2015-07-07  justbur  <justin@burkett.cc>
+
+       Pull out faces and add special key face
+
+       Special keys (SPC, TAB, RET and ESC) are now truncated to one character
+       and shown in inverse-video to distinguish them from S, T, R and E
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Need cl for emacs < 25
+
+       Fix compiler warnings
+
+       Change side-window default position to right
+
+       Try without close timer
+
+2015-07-06  Justin Burkett  <justin@burkett.cc>
+
+       Merge pull request #13 from bmag/pre-command-hook
+
+       Hide buffer right before command execution
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Merge branch 'frame-popup' of https://github.com/bmag/emacs-which-key 
into pr12
+
+       Work on docstrings
+
+       Redo replacement logic
+
+       Make arrow separator into variable
+
+       Refactor replacement alists
+
+2015-07-06  Bar Magal  <barmagal@gmail.com>
+
+       Hide buffer right before command execution
+
+       Fixes #9, this is also what guide-key uses.
+
+       When quoting functions, using "#'" tells the compiler that you're
+       quoting a function, and allows it to catch void function errors.
+
+2015-07-06  Bar Magal  <barmagal@gmail.com>
+
+       Try to fix focus problems with popup frame #7
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Allow echo-keystrokes but make it quick
+
+       Add .gitignore
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Fix problem with echo-keystrokes and minibuffer
+
+       If the echo-keystrokes delay is too long, it clobbers which-key in the
+       minibuffer
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Remove popwin requirement; Add require cl
+
+       Merge branch 'master' of https://github.com/bmag/emacs-which-key into 
pr5
+
+       Delete old defvars and minor docstring cleanup
+
+2015-07-06  Bar Magal  <barmagal@gmail.com>
+
+       Fix doc, new frame parameters
+
+2015-07-06  Bar Magal  <barmagal@gmail.com>
+
+       Frame popup support and some small fixes
+
+       Summary of changes:
+       - add emacs 24.3 as a dependency, because
+         `display-buffer-in-major-side-window` doesn't exist in older emacsen
+       - add option to show which-key buffer in a popup frame
+         `(setq which-key-popup-type 'frame)`
+       - stop close timer when disabling which-key-mode
+       - don't hide which-key buffer before showing it. instead, show methods
+         handle the case that the buffer is already shown
+       - `which-key/hide-popup` calls function depending on popup
+         type (similar to `which-key/show-popup`)
+       - use `display-buffer-in-major-side-window` instead of
+         `display-buffer-in-side-window`, for popup type side-window. ensures
+         new side window is created properly even if other side windows already
+         exist.
+       - erase previous contents of which-key buffer before inserting new
+         contents, and adjust buffer display in window by moving point to
+         the buffer's beginning
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Rename config variables, simplifying interface
+
+       The primary config variable is now which-key-popup-type, which
+       supports 'minibuffer and 'side-window. 'side-window has further
+       associated options, primarily which-key-side-window-location
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Merge bmag changes
+
+       See PR #1
+
+2015-07-06  justbur  <justin@burkett.cc>
+
+       Organize keys by pages
+
+2015-07-05  Bar Magal  <barmagal@gmail.com>
+
+       Undo unintentional delete of end-of-file comment
+
+       Undo unintentional delete of provide line
+
+2015-07-05  Bar Magal  <barmagal@gmail.com>
+
+       Refactor before work on window display
+
+       Wanted to add support for using display-buffer or popwin, ran into some
+       bugs, had to make changes to the code so future work will be easier.
+       Details below:
+
+       - separate between code to display window and code to populate buffer
+         contents
+       - add `which-key-horizontal-buffer-height` similar to
+         `which-key-vertical-buffer-width`
+       - abstract handling of different display methods into
+         `which-key/show-buffer` and `which-key/hide-buffer`, instead of mixed
+         in other functions
+       - remove `which-key/make-display-method-aliases`
+       - support two display methods: `minibuffer` and `side-window`, will add
+         popwin later
+       - create start/stop functions for which-key--close-timer
+       - a few other changes
+
+2015-07-04  justbur  <justin@burkett.cc>
+
+       Reorganize code a little
+
+2015-07-04  justbur  <justin@burkett.cc>
+
+       Factor out display functions
+
+       To add customization options later
+
+2015-07-04  justbur  <justin@burkett.cc>
+
+       Change formatting of groups
+
+       Toggle timer on frame focus
+
+       Fix index error for subseq
+
+2015-07-04  justbur  <justin@burkett.cc>
+
+       Switch default to minibuffer
+
+       There are a lot of changes here.
+         1. Reorganized and factored a bunch of code.
+         2. Rewrote the logic to calculate line breaks (much cleaner).
+         3. Switched to using the minibuffer by default, which seems more
+         foolproof and saves line space (I'm sure there's something wrong with
+         this).
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Update docstrings and fix packaging
+
+       Move cursor code to setup
+
+       Try to hide cursor
+
+       Better picture
+
+       Get the cursor out of the way
+
+       Add picture to readme
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Arrows are more fun
+
+       Also add padding between entries
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Switch readme to org-mode
+
+       Switch back to popwin for now
+
+       Remove unnecessary checks
+
+       Save popwin functions as comments
+
+       Merge branch 'display-buffer'
+
+       Remove commented funcs and messages
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Add option to select display-buffer function.
+
+       Only 2 are implemented at the moment.
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Declare `which-key--close-timer'
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Fix close timer randomly kicking in
+
+       when you take too long to decide
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Fix text replacement alist
+
+       Conflicts:
+               which-key.el
+
+2015-07-03  justbur  <justin@burkett.cc>
+
+       Fix text replacement alist
+
+       Switch from popwin to display-buffer
+
+2015-07-02  justbur  <justin@burkett.cc>
+
+       Start working on MELPA requirements
+
+       Add provide line
+
+       Fix variable names
+
+       Make internal variables stand out
+
+       Reorganize main update function
+
+       Cleanup
+
+       Less rough now
+
+       Add option to force buffer closed after certain amount of time
+
+2015-07-02  justbur  <justin@burkett.cc>
+
+       Fix vertical buffer width
+
+       I think
+
+2015-07-02  justbur  <justin@burkett.cc>
+
+       Improve choice of buffer width and height
+
+2015-07-02  Justin Burkett  <justin@burkett.cc>
+
+       Create README.md
+
+2015-07-02  justbur  <justin@burkett.cc>
+
+       Add docstrings
+
+2015-07-02  justbur  <justin@burkett.cc>
+
+       Remove hardcoded variables and switch popwin method
+
+       Use display-buffer with popwin:special-display-config
+
+2015-07-02  justbur  <justin@burkett.cc>
+
+       Initial Commit
+
+2015-07-02  Justin Burkett  <justin@burkett.cc>
+
+       Add license
+
 2024-06-22  Stefan Kangas  <stefankangas@gmail.com>
 
        * Version 29.4 released.
@@ -121986,7 +200165,7 @@
 
 This file records repository revisions from
 commit f2ae39829812098d8269eafbc0fcb98959ee5bb7 (exclusive) to
-commit 959eacc2a705caf067442a96ac17dcb8616f6d96 (inclusive).
+commit f9d229e925ad634acf772d4066c72b5954ea4f9c (inclusive).
 See ChangeLog.3 for earlier changes.
 
 ;; Local Variables:
diff --git a/etc/AUTHORS b/etc/AUTHORS
index 14ede21281b..13da8e285c5 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -10,8 +10,8 @@ Aaron Ecay: changed ob-R.el ob-core.el org-src.el ox-latex.el 
nsterm.m
   org.el org.texi package.el paren.el
 
 Aaron Jensen: changed nsterm.m frameset.el xdisp-tests.el xdisp.c
-  Info.plist.in flyspell.el icomplete.el mouse.el server.el systhread.c
-  w32term.c xterm.c
+  Info.plist.in comp.el flyspell.el icomplete.el mouse.el server.el
+  systhread.c w32term.c xterm.c
 
 Aaron Larson: co-wrote bibtex.el
 
@@ -44,8 +44,8 @@ Adam Gołębiowski: changed lib-src/Makefile.in
 Adam Hupp: changed emacs.py emacs2.py emacs3.py gud.el
   progmodes/python.el
 
-Adam Porter: changed tab-line.el cl-macs.el map.el control.texi
-  map-tests.el pcase-tests.el tab-bar.el variables.texi
+Adam Porter: changed vtable.el tab-line.el cl-macs.el map.el control.texi
+  map-tests.el pcase-tests.el tab-bar.el variables.texi vtable.texi
 
 Adam Sjøgren: changed mml2015.el shr.el spam.el xterm.c blink.xpm
   braindamaged.xpm cry.xpm dead.xpm evil.xpm forced.xpm frown.xpm
@@ -74,14 +74,12 @@ Adrian Robert: co-wrote ns-win.el
 and changed nsterm.m nsfns.m nsfont.m nsterm.h nsmenu.m configure.ac
   src/Makefile.in macos.texi README config.in emacs.c font.c keyboard.c
   nsgui.h nsimage.m xdisp.c image.c lib-src/Makefile.in lisp.h menu.c
-  Makefile.in and 78 other files
+  Makefile.in and 79 other files
 
 Ævar Arnfjörð Bjarmason: changed rcirc.el
 
 Agustín Martín: changed ispell.el flyspell.el fixit.texi
 
-Ahmed Khanzada: changed battery.el nsterm.m
-
 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
@@ -111,10 +109,10 @@ Alakazam Petrofsky: changed hanoi.el
 Alan Mackenzie: wrote cc-awk.el debug-early.el
 and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el
   cc-langs.el cc-mode.el cc-styles.el cc-vars.el
-and changed cc-mode.texi bytecomp.el minibuf.c window.c edebug.el
-  follow.el frame.c lisp.h display.texi eval.c keyboard.c subr.el lread.c
-  syntax.texi xdisp.c progmodes/compile.el programs.texi font-lock.el
-  modes.texi window.el windows.texi and 191 other files
+and changed cc-mode.texi bytecomp.el minibuf.c edebug.el subr.el window.c
+  follow.el frame.c lisp.h display.texi eval.c keyboard.c lread.c
+  syntax.texi xdisp.c macroexp.el progmodes/compile.el programs.texi
+  fns.c font-lock.el modes.texi and 203 other files
 
 Alan Modra: changed unexelf.c
 
@@ -128,19 +126,18 @@ Alan Shutko: changed diary-lib.el calendar.el bindings.el 
cal-hebrew.el
 Alan Third: wrote dabbrev-tests.el image-transforms-tests.el
 and changed nsterm.m nsterm.h nsfns.m image.c nsmenu.m configure.ac
   nsimage.m ns-win.el macfont.m dispextern.h nsfont.m frame.el
-  display.texi xdisp.c frame.c frame.h image.el macos.texi nsselect.m
-  xterm.c .gitlab-ci.yml and 39 other files
+  display.texi xdisp.c emacs.c frame.c frame.h image.el macos.texi
+  nsselect.m xterm.c and 39 other files
 
 Alan Zimmerman: changed eglot.el
 
-Alastair Burt: changed gnus-art.el smiley.el
-
 Albert Krewinkel: co-wrote sieve-manage.el
 and changed sieve.el gnus-msg.el gnus.texi message.el sieve.texi
 
 Albert L. Ting: changed gnus-group.el mail-hist.el
 
-Aleksandr Vityazev: changed cl.texi tramp-compat.el treesit.el
+Aleksandr Vityazev: changed cl.texi epa.el epa.texi tramp-compat.el
+  treesit.el
 
 Aleksei Gusev: changed progmodes/compile.el
 
@@ -205,7 +202,8 @@ Alexandr Vityazev: changed shortdoc.el
 
 Alex Bochannek: changed gnus-sum.el gnus.texi gnus-score.el gnus-topic.el
   gnus-util.el gnus-fun.el gnus-group.el gnus.el ange-ftp.el gnus-art.el
-  nnimap.el tramp-sh.el
+  kmacro-tests.el kmacro.el newst-ticker.el newsticker.texi nnimap.el
+  tramp-sh.el
 
 Alex Coventry: changed files.el
 
@@ -265,18 +263,21 @@ Alp Aker: changed nsfont.m nsterm.m buff-menu.el nsfns.m 
nsmenu.m
   nsterm.h configure.ac macfont.m mule-cmds.el nsselect.m process.c
   window.el
 
+Al Petrofsky: changed term.el
+
 Álvar Jesús Ibeas Martín: changed TUTORIAL.es emacs-lisp-intro.texi
 
-Alyssa Ross: changed progmodes/compile.el simple.el
+Alyssa Ross: changed progmodes/compile.el simple.el vc-git.el
 
 Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c
   savehist.el vc-git.el
 
-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 11 other files
+Amin Bandali: changed erc.el erc-button.el erc.texi erc-backend.el
+  erc-compat.el erc-match.el erc-track.el erc-dcc.el
+  erc-desktop-notifications.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 11 other files
 
 Amos Bird: changed xfns.c
 
@@ -295,12 +296,12 @@ and changed nsterm.m nsfns.m nsmenu.m nsterm.h 
font-lock.el nsimage.m
 
 Anders Waldenborg: changed emacsclient.c
 
-Andrea Corallo: wrote comp-cstr-tests.el comp-cstr.el comp-tests.el
-  comp.el
-and changed comp.c pdumper.c lread.c bytecomp.el startup.el configure.ac
-  comp.h loadup.el lisp.h data.c elisp-mode.el alloc.c emacs.c subr.el
-  .gitlab-ci.yml cl-macs.el nadvice.el comp-test-funcs.el
-  lisp/Makefile.in Makefile.in advice.el and 70 other files
+Andrea Corallo: wrote comp-common.el comp-cstr-tests.el comp-cstr.el
+  comp-run.el comp-tests.el comp.c comp.el syncdoc-type-hierarchy.el
+and changed pdumper.c lread.c bytecomp.el startup.el configure.ac
+  loadup.el comp.h lisp.h cl-macs.el cl-preloaded.el comp-test-funcs.el
+  subr.el Makefile.in data.c elisp-mode.el nadvice.el alloc.c byte-run.el
+  emacs.c lisp/Makefile.in advice.el and 98 other files
 
 André A. Gomes: changed ispell.el
 
@@ -366,6 +367,8 @@ Andre Spiegel: changed vc.el vc-hooks.el vc-cvs.el 
vc-rcs.el vc-sccs.el
   parse-time.el startup.el tramp-vc.el vc-arch.el vc-mcvs.el vc-svn.el
   vcdiff viper-util.el
 
+Andrés Ramírez: changed viper-cmd.el
+
 Andre Srinivasan: changed gnus-group.el gnus-sum.el gnus.texi message.el
   mm-decode.el mml.el nnmail.el
 
@@ -388,10 +391,10 @@ Andrew Eggenberger: changed cl-extra.el seq.el
 
 Andrew G Cohen: wrote nnselect.el spam-wash.el
 and changed nnir.el gnus-sum.el nnimap.el gnus-group.el gnus.texi
-  gnus-msg.el gnus-int.el gnus-search.el auth-source.el gnus-art.el
-  gnus-cache.el gnus.el nnheader.el nnspool.el deps.mk dns.el
-  fns-tests.el fns.c gnus-agent.el gnus-cloud.el gnus-registry.el
-  and 15 other files
+  gnus-search.el gnus-msg.el gnus-art.el gnus-int.el gnus.el
+  auth-source.el gnus-cache.el mailcap.el nnagent.el nnheader.el
+  nnspool.el deps.mk dns.el doc-view.el fns-tests.el fns.c
+  and 21 other files
 
 Andrew Hall: changed paren.el
 
@@ -401,7 +404,7 @@ Andrew Hyatt: changed bug-triage CONTRIBUTE buffer.c 
face-remap.el
 Andrew Innes: changed makefile.nt w32fns.c w32term.c w32.c w32proc.c
   fileio.c ms-w32.h w32-fns.el dos-w32.el w32term.h makefile.def
   unexw32.c w32menu.c w32xfns.c addpm.c cmdproxy.c emacs.c w32-win.el
-  w32inevt.c configure.bat lread.c and 128 other files
+  w32inevt.c configure.bat lread.c and 126 other files
 
 Andrew L. Moore: changed executable.el
 
@@ -413,6 +416,8 @@ Andrew Schein: changed sql.el
 
 Andrew Schwartzmeyer: changed eglot.el subr-tests.el subr.el
 
+Andrew Tropin: changed notifications.el os.texi
+
 Andrew Whatson: changed comp.el
 
 Andrew W. Nosenko: changed tramp.el
@@ -446,7 +451,8 @@ Andy Sawyer: changed saveplace.el
 Andy Seaborne: changed keyboard.c
 
 Andy Stewart: wrote ol-w3m.el
-and changed erc.el
+and co-wrote erc-nicks.el
+and changed erc.el erc-nicks-tests.el erc-tests.el erc.texi
 
 Angelo Graziosi: changed sysdep.c term.c
 
@@ -456,6 +462,9 @@ Anna M. Bigatti: wrote cal-html.el
 
 Ansgar Burchardt: changed latin-ltx.el
 
+Antero Mejr: changed custom.texi eww.el files.el variables.texi
+  em-unix.el eshell.texi files-tests.el pcmpl-git.el pcmpl-unix.el
+
 Antoine Beaupré: changed vc-git.el
 
 Antoine Kalmbach: changed README.md eglot.el
@@ -470,10 +479,10 @@ Antonin Houska: changed newcomment.el
 
 Antonio Ruiz: changed handwrite.el
 
-Arash Esbati: changed reftex-vars.el efaq-w32.texi reftex.el gnus.texi
-  reftex-auc.el reftex-cite.el reftex-parse.el reftex-ref.el
-  reftex-tests.el tex-mode.el eglot.el ispell.el nnmaildir.el
-  reftex-dcr.el reftex-global.el reftex-toc.el
+Arash Esbati: changed reftex-vars.el efaq-w32.texi reftex-cite.el
+  reftex-tests.el reftex-parse.el reftex.el gnus.texi reftex-auc.el
+  reftex-dcr.el reftex-ref.el tex-mode.el align.el eglot.el ffap.el
+  ispell.el maintaining.texi nnmaildir.el reftex-global.el reftex-toc.el
 
 Arik Mitschang: changed smime.el
 
@@ -498,6 +507,8 @@ and changed frames.texi generic-x.el texinfo.el
 
 Arnold Noronha: changed ido.el
 
+Arsen Arsenović: changed typescript-ts-mode.el
+
 Artem Chuprina: changed message.el
 
 Artem Loenko: changed src/Makefile.in
@@ -527,6 +538,8 @@ Asher Gordon: changed gomoku.el mml.el
 
 Ashish Shukla: changed emacs-gnutls.texi gnutls.el comp.el
 
+Ashwin Kafle: changed calc.el
+
 Ashwin Ram: wrote refer.el
 
 Ata Etemadi: wrote cdl.el
@@ -541,10 +554,10 @@ Augustin Chéneau: changed c-ts-mode.el treesit.el
 
 Augusto Stoffel: co-wrote ansi-osc.el
 and changed progmodes/python.el isearch.el eglot.el comint.el eldoc.el
-  project.el README.md font-lock.el man.el misc.texi modes.texi
-  outline.el pcmpl-git.el pcmpl-gnu.el pcmpl-linux.el pcmpl-rpm.el
-  pcmpl-unix.el pcmpl-x.el pcomplete-tests.el pcomplete.el
-  progmodes/compile.el and 6 other files
+  progmodes/compile.el project.el README.md dired.el files.el
+  font-lock.el glasses.el man.el misc.texi modes.texi outline.el
+  pcmpl-git.el pcmpl-gnu.el pcmpl-linux.el pcmpl-rpm.el pcmpl-unix.el
+  and 11 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
@@ -557,6 +570,9 @@ Axel Svensson: changed characters.el display.texi x-win.el
 
 Aymeric Agon-Rambosson: changed indent.el
 
+Azeem Hasan: wrote pakistan.el
+and changed shr.el eww.el proced.el
+
 Bahodir Mansurov: changed quail/cyrillic.el
 
 Bake Timmons: changed gnus.texi mail-source.el
@@ -583,9 +599,10 @@ Bartosz Duszel: changed allout.el bib-mode.el cc-cmds.el 
hexl.el icon.el
   xscheme.el
 
 Basil L. Contovounesios: changed simple.el subr.el message.el eww.el
-  modes.texi custom.el text.texi bibtex.el gnus-sum.el internals.texi
-  js.el customize.texi display.texi files.texi gnus-group.el gnus-win.el
-  gnus.texi gravatar.el json.el map.el shr.el and 346 other files
+  modes.texi custom.el text.texi bibtex.el eglot-tests.el js.el
+  gnus-sum.el internals.texi subr-tests.el customize.texi display.texi
+  files.texi gnus-art.el gnus-group.el gnus-win.el gnus.texi gravatar.el
+  and 369 other files
 
 Bastian Beischer: changed semantic/complete.el calc-yank.el include.el
   mru-bookmark.el refs.el senator.el
@@ -639,7 +656,7 @@ Ben Menasha: changed nnmh.el
 Ben North: changed outline.el buffer.c fill.el isearch.el lisp-mode.el
   paren.el w32term.c xfaces.c
 
-Benson Chu: changed font-lock.el tab-bar.el
+Benson Chu: changed font-lock.el tab-bar.el tramp-sh.el
 
 Bernhard Herzog: changed vc-hg.el menu.c xsmfns.c
 
@@ -709,8 +726,8 @@ Bob Olson: co-wrote cperl-mode.el
 Bob Rogers: wrote ietf-drums-date-tests.el ietf-drums-date.el
   ietf-drums-tests.el
 and changed ietf-drums.el vc-dir.el time-date.el vc-svn.el cperl-mode.el
-  diff.el ewoc.el ffap.el files.el maintaining.texi os.texi sql.el
-  thingatpt.el vc.el vc1-xtra.texi
+  diff.el ewoc.el ffap.el files.el maintaining.texi os.texi shell.el
+  sql.el thingatpt.el vc-git.el vc.el vc1-xtra.texi
 
 Bob Weiner: changed info.el quail.el dframe.el etags.c rmail.el
   rmailsum.el speedbar.el
@@ -726,7 +743,7 @@ and changed fill.el simple.el indent.el paragraphs.el 
cmds.c intervals.c
   text-mode.el textprop.c ada.el allout.el awk-mode.el bibtex.el buffer.c
   buffer.h c-mode.el and 38 other files
 
-Boris Samorodov: changed imap.el
+Boris Samorodov: changed net/imap.el
 
 Boruch Baum: co-wrote footnote.el
 and changed bookmark.el apropos.el autorevert.el calc.el cua-rect.el
@@ -738,9 +755,7 @@ Bozhidar Batsov: changed ruby-mode.el subr-x.el subr.el 
bytecomp.el
   comint.el js.el lisp-mode.el package.el progmodes/python.el prolog.el
   ruby-mode-tests.el scheme.el
 
-Brad Howes: changed gnus-demon.el
-
-Brad Knotwell: changed calc.texi
+Brad Howes: changed ansi-osc.el gnus-demon.el
 
 Brady Trainor: changed README.md eglot.el
 
@@ -776,7 +791,7 @@ Brian Jenkins: changed frame.c frames.texi hooks.texi
 Brian Leung: changed eglot.el README.md comint.el c-ts-mode.el gud.el
   shell.el Makefile advice.el comp.c comp.el eglot-tests.el em-hist.el
   em-prompt.el esh-mode.el files.el find-func.el flymake.el gdb-mi.el
-  help.el nadvice.el progmodes/python.el shortdoc.el
+  help.el lisp-mode.el nadvice.el and 3 other files
 
 Brian Marick: co-wrote hideif.el
 
@@ -826,8 +841,6 @@ Campbell Barton: changed bookmark.el subr.el
 
 Cao Zhenxiang: changed fw.el project.el
 
-Carl D. Roth: changed gnus-nocem.el
-
 Carl Edman: co-wrote ns-win.el
 
 Carl Henrik Lunde: changed format-spec.el
@@ -873,6 +886,8 @@ Changwoo Ryu: changed files.el
 
 Chao-Hong Liu: changed TUTORIAL.cn TUTORIAL.zh
 
+Charalampos Mitrodimas: changed keymap.el locate.el srecode/find.el
+
 Charles A. Roelli: changed vc.el nsterm.m simple.el nsfns.m isearch.el
   nsmenu.m nsterm.h process.c register.el diff-mode.el display.texi
   files.el files.texi fixit.texi macfont.m minibuf.c nsfont.m nsimage.m
@@ -887,8 +902,6 @@ Charles Rendleman: changed eww.el
 
 Charles Sebold: changed org-plot.el
 
-Charlie Martin: wrote autoinsert.el
-
 Charl P. Botha: changed js.el
 
 Chen Bin: changed fns.c subr-tests.el
@@ -1078,7 +1091,7 @@ Constantin Kulikov: changed server.el startup.el
 
 Constantino Calancha: changed dired.el
 
-Corwin Brust: changed erc-services.el package.el
+Corwin Brust: changed erc-services.el erc.el package.el
 
 Courtney Bane: changed term.c
 
@@ -1090,6 +1103,8 @@ Craig Tanis: changed ox-latex.el
 
 Cyril Arnould: changed vhdl-mode.el
 
+Dagfinn Ilmari Mannsåker: changed url-util-tests.el url-util.el
+
 Daiki Ueno: wrote epa-dired.el epa-file.el epa-hook.el epa-mail.el epa.el
   epg-config.el epg.el pgg-def.el pgg-gpg.el pgg-parse.el pgg-pgp.el
   pgg-pgp5.el pgg.el plstore.el sasl.el starttls.el
@@ -1112,10 +1127,10 @@ Damien Cassou: wrote auth-source-pass-tests.el 
hierarchy-tests.el
   hierarchy.el
 and co-wrote auth-source-pass.el auth-source-tests.el
 and changed seq.el seq-tests.el sequences.texi simple.el auth.texi
-  bindings.el checkdoc.el ispell.el message.el sending.texi shortdoc.el
-  simple-tests.el auth-source.el autorevert.el checkdoc-tests.el
-  emacsbug.el imenu-tests.el imenu.el info.el isearch.el json-tests.el
-  and 7 other files
+  bindings.el checkdoc.el cl-macs.el ispell.el js.el message.el
+  sending.texi shortdoc.el simple-tests.el auth-source.el autorevert.el
+  bytecomp-tests.el c-ts-common.el checkdoc-tests.el emacsbug.el
+  imenu-tests.el and 13 other files
 
 Damien Elmes: changed erc.el erc-dcc.el erc-track.el erc-log.el
   erc-pcomplete.el README erc-button.el erc-nets.el erc-ring.el Makefile
@@ -1145,6 +1160,8 @@ Daniel Bergey: changed indian.el
 
 Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el
 
+Daniel Brooks: changed calc-aent.el calc-tests.el calc.texi
+
 Daniel Clemente: changed generic-x.el ox-html.el
 
 Daniel Colascione: wrote alloc-tests.el generator-tests.el generator.el
@@ -1191,7 +1208,7 @@ Daniel LaLiberte: wrote edebug.el isearch.el
 and co-wrote hideif.el
 and changed cust-print.el mlconvert.el eval-region.el
 
-Daniel Laurens Nicolai: changed doc-view.el facemenu.el files.el
+Daniel Laurens Nicolai: changed files.el doc-view.el facemenu.el
   misc.texi re-builder.el searching.texi
 
 Daniel Lenski: changed speedbar.el
@@ -1200,18 +1217,19 @@ Daniel Lopez: changed progmodes/compile.el
 
 Daniel Lublin: changed dns-mode.el
 
-Daniel Martín: changed c-ts-mode.el nsterm.m shortdoc.el ns-win.el
-  simple.el diff-mode-tests.el erc.texi files.el files.texi indent.erts
-  msdos-xtra.texi progmodes/python.el search.texi .lldbinit basic.texi
-  c-ts-mode-tests.el cmacexp.el compilation.txt compile-tests.el
-  compile.texi configure.ac and 47 other files
+Daniel Martín: changed nsterm.m c-ts-mode.el shortdoc.el files.el
+  help.texi ns-win.el simple.el diff-mode-tests.el doc-view.el erc.texi
+  files.texi frame.c indent.erts msdos-xtra.texi progmodes/python.el
+  search.texi treesit.el .lldbinit basic.texi c-ts-mode-tests.el
+  cmacexp.el and 50 other files
 
 Daniel McClanahan: changed lisp-mode.el
 
 Daniel M Coffman: changed arc-mode.el
 
-Daniel Mendler: changed minibuffer.el minibuf.texi simple.el elp.el
-  help-fns.el info.el minibuf.c minibuffer-tests.el xref.el
+Daniel Mendler: co-wrote compat.el
+and changed minibuffer.el minibuf.texi simple.el elp.el help-fns.el
+  info.el minibuf.c minibuffer-tests.el xref.el
 
 Daniel M German: co-wrote org-protocol.el
 
@@ -1219,7 +1237,8 @@ Daniel Néri: changed message.el
 
 Daniel Ortmann: changed paragraphs.el
 
-Daniel Pettersson: changed em-cmpl.el
+Daniel Pettersson: changed jsonrpc.el em-cmpl.el erc-dcc-tests.el
+  erc-dcc.el
 
 Daniel Pfeiffer: wrote conf-mode.el copyright.el executable.el
   sh-script.el skeleton.el two-column.el
@@ -1241,7 +1260,8 @@ Daniel Ralston: changed rcirc.el
 
 Daniel Schoepe: changed gnus-sum.el
 
-Daniel Semyonov: changed mairix.el package-vc.el
+Daniel Semyonov: wrote nnatom.el nnfeed.el
+and changed mairix.el gnus.el gnus.texi package-vc.el
 
 Dani Moncayo: changed msys-to-w32 Makefile.in configure.ac buffers.texi
   lists.texi mini.texi INSTALL README.W32 basic.texi custom.texi
@@ -1255,14 +1275,14 @@ and co-wrote hideshow.el
 and changed vc.el configure.ac vc-hg.el vc-git.el src/Makefile.in
   vc-bzr.el sysdep.c emacs.c process.c vc-cvs.el lisp.h term.c
   vc-hooks.el xterm.c keyboard.c vc-svn.el xterm.el callproc.c darwin.h
-  term.el gnu-linux.h and 919 other files
+  term.el gnu-linux.h and 918 other files
+
+Danny Freeman: changed treesit-tests.el treesit.el
 
 Danny Roozendaal: wrote handwrite.el
 
 Danny Siu: changed gnus-sum.el gnus-picon.el nndoc.el nnimap.el smiley.el
 
-Dan Ports: changed configure.ac
-
 Dan Rosenberg: changed movemail.c
 
 Dario Gjorgjevski: changed progmodes/python.el project.el auth-source.el
@@ -1293,7 +1313,7 @@ and co-wrote latin-ltx.el socks.el
 and changed configure.ac help.el mule-cmds.el fortran.el mule-conf.el
   xterm.c browse-url.el mule.el coding.c src/Makefile.in european.el
   fns.c mule-diag.el simple.el wid-edit.el cus-edit.el cus-start.el
-  files.el keyboard.c byte-opt.el info.el and 771 other files
+  files.el keyboard.c byte-opt.el info.el and 772 other files
 
 Dave Pearson: wrote 5x5.el quickurl.el
 
@@ -1329,12 +1349,12 @@ David De La Harpe Golden: changed files.el mouse.el 
simple.el fileio.c
   cus-start.el nsselect.m select.el w32-fns.el x-win.el xterm.c
 
 David Edmondson: changed message.el erc.el mml2015.el process.c
-  gnus-cite.el gnus-cloud.el gnus.texi imap.el mm-uu.el mm-view.el
+  gnus-cite.el gnus-cloud.el gnus.texi mm-uu.el mm-view.el net/imap.el
   nnfolder.el nnimap.el nnml.el rcirc.el shr.el
 
-Davide Masserut: changed bindings.el sh-script.el Makefile.in basic.texi
-  dictionary.el eglot.el faces.el go-ts-mode-tests.el go-ts-mode.el
-  indent.erts
+Davide Masserut: changed sh-script.el bindings.el Makefile.in basic.texi
+  dictionary.el eglot.el em-prompt-tests.el em-prompt.el esh-io.el
+  eshell.texi faces.el go-ts-mode-tests.el go-ts-mode.el indent.erts
 
 David Engster: wrote mairix.el nnmairix.el
 and co-wrote gitmerge.el
@@ -1344,6 +1364,8 @@ and changed cedet/semantic.el db.el insert.el 
semantic/complete.el c.by
   wisent/python.el analyze.el bovine/el.el bovine/grammar.el
   decorate/mode.el and 88 other files
 
+Davide Pola: changed comp-cstr.el comp-run.el
+
 David Florness: changed eglot.el
 
 David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el
@@ -1367,6 +1389,8 @@ David Hansen: changed dbusbind.c nnrss.el cc-cmds.el 
dired.el em-dirs.el
 
 David Hedbor: changed nnmail.el
 
+David Hedlund: changed efaq.texi
+
 David Hull: changed etags.c vc-hg.el
 
 David Hunter: changed flymake.el ms-w32.h process.c
@@ -1376,21 +1400,16 @@ David J. Biesack: changed antlr-mode.el quickurl.el
 David J. MacKenzie: changed configure.ac Makefile.in etags.c fakemail.c
   cvtmail.c movemail.c termcap.c wakeup.c yow.c Makefile avoid.el b2m.c
   config.in digest-doc.c emacsclient.c emacsserver.c emacstool.c
-  etags-vmslib.c fortran.el hexl.c isearch.el and 14 other files
-
-David Kågedal: wrote tempo.el
-and changed sendmail.el xmenu.c
-
-David Kastrup: changed greek.el replace.el subr.el efaq.texi search.c
-  ange-ftp.el calc.el gnus-art.el help.el keymaps.texi mouse.el woman.el
-  cperl-mode.el desktop.el ebrowse.el info.el keyboard.c keymap.c
-  keymap.h kmacro.el lisp-mnt.el and 102 other files
+  etags-vmslib.c fortran.el hexl.c isearch.el and 13 other files
 
 David Lawrence: changed comint.el simple.el files.el c++-mode.el
   compile.el inf-lisp.el shell.el emerge.el tex-mode.el c-mode.el cl.el
   dired.el getdate.y gnus.el history.el lisp-mode.el lisp.el mh-e.el
   rnews.el subr.el Makefile and 79 other files
 
+David Leatherman: co-wrote erc-nicks.el
+and changed erc-nicks-tests.el erc-tests.el erc.el erc.texi
+
 David Lord: changed timeclock.el
 
 David Maus: changed org.el org-agenda.el ox.el org-feed.el org-wl.el
@@ -1411,15 +1430,15 @@ and changed mode-clone.el
 David Michael: changed files.el
 
 David M. Koppelman: wrote hi-lock.el
-and changed display.texi userlock.el
+and changed userlock.el
 
 David Moore: co-wrote nnvirtual.el
 and changed gnus-xmas.el
 
 David Mosberger-Tang: changed alpha.h unexelf.c cm.h config.in
   configure.ac cvtmail.c data.c dispnew.c emacsserver.c etags.c
-  fakemail.c keyboard.c mem-limits.h process.c profile.c sorted-doc.c
-  sysdep.c terminfo.c unexelf1.c yow.c
+  fakemail.c keyboard.c mem-limits.h process.c sorted-doc.c sysdep.c
+  terminfo.c unexelf1.c yow.c
 
 David M. Smith: wrote ielm.el
 and changed imenu.el pgg-def.el xterm.c
@@ -1434,10 +1453,10 @@ 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 w32menu.c w32term.c close.png close.xpm empty.png empty.xpm
-  end-guide.png end-guide.xpm files.el guide.png guide.xpm handle.png
-  handle.xpm image.el keyboard.c leaf.png leaf.xpm no-guide.png
-  no-guide.xpm no-handle.png no-handle.xpm and 22 other files
+and changed image.el w32menu.c w32term.c close.png close.xpm empty.png
+  empty.xpm end-guide.png end-guide.xpm files.el guide.png guide.xpm
+  handle.png handle.xpm keyboard.c leaf.png leaf.xpm no-guide.png
+  no-guide.xpm no-handle.png no-handle.xpm and 25 other files
 
 David Raynes: changed ns-win.el
 
@@ -1499,7 +1518,7 @@ Denys Duchier: changed pop3.el
 
 Denys Nykula: changed TUTORIAL.uk language/cyrillic.el
 
-Derek Atkins: changed imap.el pgg-pgp.el
+Derek Atkins: changed net/imap.el pgg-pgp.el
 
 Derek L. Davies: changed gud.el
 
@@ -1520,6 +1539,8 @@ Devon Sean McCullough: changed url-http.el buff-menu.el 
comint.el
 Dhruva Krishnamurthy: changed emacsclient.c fontset.c image.c sound.c
   w32proc.c
 
+Diancheng Wang: changed gdb-mi.el gud.el
+
 Diane Murray: changed erc.el erc-backend.el erc-menu.el erc-button.el
   erc-track.el erc-match.el erc-nets.el erc-list.el erc-autoaway.el
   erc-capab.el erc-nickserv.el erc-stamp.el erc-compat.el erc-fill.el
@@ -1552,6 +1573,10 @@ and changed diff-mode.el erc-backend.el image.c 
comint.el font.c gud.el
   PCRE.tests PTESTS TESTS align.el alloc.c ediff-mult.el ediff.el
   erc-button.el isearch.el keyboard.c and 12 other files
 
+Dimitri Belopopsky: changed eglot.el
+
+Dionisio E Alonso: changed eglot.el
+
 Dirk Herrmann: co-wrote bibtex.el
 
 Dirk-Jan C. Binnema: changed org-agenda.el
@@ -1565,7 +1590,7 @@ Dmitri Paduchikh: changed advice.el
 Dmitry Antipov: changed lisp.h xdisp.c alloc.c xterm.c frame.c buffer.c
   xfns.c window.c font.c w32term.c frame.h keyboard.c nsterm.m w32fns.c
   editfns.c xterm.h xfaces.c dispnew.c fileio.c dispextern.h fns.c
-  and 277 other files
+  and 276 other files
 
 Dmitry Bolshakov: changed hideshow.el
 
@@ -1574,13 +1599,13 @@ Dmitry Dzhus: changed gdb-mi.el gud.el fadr.el all.xpm 
building.texi
 
 Dmitry Gorbik: changed org.el
 
-Dmitry Gutov: wrote elisp-mode-tests.el jit-lock-tests.el json-tests.el
-  vc-hg-tests.el xref-tests.el
-and changed xref.el ruby-mode.el project.el vc-git.el ruby-ts-mode.el
-  elisp-mode.el js.el etags.el ruby-mode-tests.el vc.el package.el
-  vc-hg.el symref/grep.el treesit.el dired-aux.el progmodes/python.el
-  ruby-ts-mode-tests.el simple.el typescript-ts-mode.el log-edit.el
-  ruby-ts.rb and 159 other files
+Dmitry Gutov: wrote elisp-mode-tests.el etags-regen.el jit-lock-tests.el
+  json-tests.el vc-hg-tests.el xref-tests.el
+and changed xref.el project.el ruby-mode.el ruby-ts-mode.el vc-git.el
+  js.el elisp-mode.el ruby-mode-tests.el vc.el etags.el package.el
+  vc-hg.el minibuffer.el simple.el symref/grep.el progmodes/python.el
+  treesit.el dired-aux.el ruby-ts-mode-tests.el log-edit.el
+  rust-ts-mode.el and 171 other files
 
 Dmitry Kurochkin: changed isearch.el
 
@@ -1590,7 +1615,7 @@ Dmitry Safronov: changed outline.el
 
 Dominique de Waleffe: changed pcvs-info.el
 
-Dominique Quatravaux: changed tramp-sh.el
+Dominique Quatravaux: changed tramp-sh.el treesit.c
 
 Don March: changed keymap.c
 
@@ -1619,16 +1644,21 @@ and changed dired.el cus-edit.el imenu.el info.el 
ls-lisp.el menu-bar.el
 
 Duncan Findlay: changed frame.el keyboard.c xterm.el
 
-Earl Hyatt: changed autotype.texi ffap.el seq-tests.el sequences.texi
-  windows.texi control.texi cus-edit.el eshell.texi hi-lock.el misc.texi
-  package-vc.el package.texi pcase-tests.el pcase.el replace.el
-  search.texi seq.el tab-bar.el texinfo.el
+Earl Hyatt: changed kmacro.el autotype.texi ffap.el kmacro.texi map.el
+  seq-tests.el sequences.texi windows.texi control.texi cus-edit.el
+  edmacro.el eshell.texi hi-lock.el map-tests.el misc.texi package-vc.el
+  package.texi pcase-tests.el pcase.el replace.el search.texi
+  and 4 other files
 
 E. Choroba: changed cperl-mode.el simple.el
 
 Edison Ibañez: changed auth-source-pass-tests.el
 
-Ed L. Cashin: changed gnus-sum.el imap.el
+Editorconfig Team: wrote editorconfig-conf-mode.el
+  editorconfig-core-handle.el editorconfig-core.el
+  editorconfig-fnmatch.el editorconfig-tools.el editorconfig.el
+
+Ed L. Cashin: changed gnus-sum.el net/imap.el
 
 Ed Swarthout: changed hexl.el textmodes/table.el
 
@@ -1653,9 +1683,6 @@ Edward Trumbo: changed Makefile.in
 
 Edwin Steiner: changed gnus-nocem.el
 
-Ehud Karni: changed rmail.el aviion-intel.h complete.el configure.ac
-  frame.el progmodes/compile.el rmailsum.el sort.el xdisp.c
-
 Eirik Fuller: changed ralloc.c xterm.c
 
 E. Jay Berkenbilt: changed b2m.c flyspell.el ispell.el unrmail.el
@@ -1663,6 +1690,10 @@ E. Jay Berkenbilt: changed b2m.c flyspell.el ispell.el 
unrmail.el
 
 Elad Lahav: changed configure.ac
 
+Elias G. B. Perez: changed flymake.el flymake.texi
+
+Elias G. Perez: changed flymake.el image.c w32term.c w32term.h
+
 Elias Oltmanns: changed tls.el gnus-agent.el gnus-cite.el gnus-int.el
   gnus-srvr.el gnus.el nnimap.el
 
@@ -1679,16 +1710,19 @@ 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 emacs.c text.texi configure.ac w32term.c
-  dispnew.c frames.texi w32proc.c files.texi window.c xfaces.c
-  dispextern.h lisp.h and 1339 other files
+  files.el fileio.c keyboard.c emacs.c configure.ac text.texi w32term.c
+  dispnew.c frames.texi w32proc.c files.texi xfaces.c window.c
+  dispextern.h lisp.h and 1395 other files
 
-Eliza Velasquez: changed server.el
+Eliza Velasquez: changed server.el simple.el
 
 Ellington Santos: changed battery.el
 
 Emacs-F: changed rmail-spam-filter.el
 
+Emanuel Berg: changed amsg-barnet.eld amsg-foonet.eld
+  erc-scenarios-misc-commands.el erc.el
+
 Emanuele Giaquinta: changed configure.ac rxvt.el charset.c etags.c
   fontset.c frame.el gnus-faq.texi loadup.el lread.c sh-script.el
   text.texi
@@ -1702,18 +1736,17 @@ Emilio C. Lopes: changed woman.el cmuscheme.el help.el 
vc.el advice.el
   and 58 other files
 
 Emmanuel Briot: wrote xml.el
-and changed ada-stmt.el
 
 Era Eriksson: changed bibtex.el dired.el json.el ses.el ses.texi shell.el
   tramp.el tramp.texi
 
 Eric Abrahamsen: wrote gnus-dbus.el gnus-search-tests.el gnus-search.el
   gnus-test-headers.el
-and changed gnus-registry.el gnus-sum.el gnus.texi gnus-group.el
-  gnus-start.el nnimap.el eieio-base.el nnir.el gnus-agent.el gnus.el
-  registry.el gnus-srvr.el eieio.el gnus-cache.el gnus-msg.el
-  gnus-score.el message.el nnmaildir.el files.el files.texi gnus-art.el
-  and 51 other files
+and changed gnus-sum.el gnus.texi gnus-group.el gnus-registry.el
+  gnus-start.el nnimap.el eieio-base.el gnus-agent.el nnir.el gnus-msg.el
+  gnus.el message.el registry.el gnus-srvr.el eieio.el gnus-art.el
+  gnus-cache.el gnus-score.el gnus-util.el nnmaildir.el files.el
+  and 60 other files
 
 Eric Bélanger: changed image.c
 
@@ -1771,10 +1804,10 @@ Eric M. Ludlam: wrote analyze.el analyze/complete.el 
analyze/debug.el
   tag-ls.el tag-write.el tag.el test.el
 and co-wrote db-ebrowse.el srecode/cpp.el util-modes.el
 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
+  ede-autoconf.srt ede-make.srt eieio.texi gud.el
+  lisp/obsolete/inversion.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 and 37 other files
 
 Eric Schulte: wrote ob-awk.el ob-calc.el ob-comint.el ob-css.el
   ob-ditaa.el ob-dot.el ob-emacs-lisp.el ob-eval.el ob-forth.el
@@ -1801,7 +1834,7 @@ and co-wrote make-mode.el
 and changed vc.el vc-hooks.el vc-svn.el vc-cvs.el vc-git.el vc-rcs.el
   vc-sccs.el vc-hg.el vc-bzr.el vc-dispatcher.el files.texi vc-mcvs.el
   vc-mtn.el files.el vc-arch.el comint.el emacsbug.el simple.el vc-src.el
-  Makefile.in add-log.el and 274 other files
+  Makefile.in add-log.el and 275 other files
 
 Eric Youngdale: changed etags-vmslib.c
 
@@ -1817,7 +1850,7 @@ and changed simple.el emacs.c files.el lread.c rmail.el 
alloc.c editfns.c
   lisp.h print.c process.c add-log.el buffer.c casetab.c cl-macs.el
   and 114 other files
 
-Erik Toubro Nielsen: changed gnus-topic.el
+Erik Toubro Nielsen: changed gnus-sum.el gnus-topic.el
 
 Ernest Adrogué: changed european.el latin-pre.el mule-cmds.el
 
@@ -1827,14 +1860,18 @@ Ernesto Alfonso: changed simple.el
 
 E Sabof: changed hi-lock.el image-dired.el
 
-Eshel Yaron: changed eglot.el emacs.texi emoji.el eww.el indent.texi
+Eshel Yaron: wrote completion-preview.el
+and changed eglot.el emoji.el eww.el help-fns.el info.el programs.texi
+  text-mode.el window.c xdisp.c bookmark.el completion-preview-tests.el
+  dictionary.el easy-mmode.el eldoc.el emacs.texi eww.texi fixit.texi
+  frames.texi help-mode.el help.el indent.texi and 14 other files
 
 Espen Skoglund: wrote pascal.el
 
 Espen Wiborg: changed utf-7.el
 
-Ethan Bradford: changed ispell.el ange-ftp.el gnus.el gnuspost.el lpr.el
-  mailalias.el vt-control.el
+Ethan Bradford: changed ispell.el ange-ftp.el gnus.el gnuspost.el
+  lisp/obsolete/vt-control.el lpr.el mailalias.el
 
 Ethan Ligon: changed org-docbook.el ox-html.el
 
@@ -1844,6 +1881,8 @@ Eugene Exarevsky: changed sql.el
 
 Eugene Ha: changed configure.ac
 
+Eval Exec: changed tab-line.el
+
 Evangelos Evangelou: changed progmodes/f90.el
 
 Evan Klitzke: changed cc-langs.el
@@ -1852,7 +1891,7 @@ Evan Moses: changed progmodes/python.el
 
 Evgeni Dobrev: changed man.el
 
-Evgeni Kolev: changed eglot.el perl-mode.el README.md go-ts-mode.el
+Evgeni Kolev: changed eglot.el go-ts-mode.el perl-mode.el README.md
 
 Evgeny Fraimovitch: changed emacsclient.c
 
@@ -1901,7 +1940,7 @@ Felicián Németh: changed eglot.el EGLOT-NEWS README.md 
eglot-tests.el
 
 Felipe Ochoa: changed faces.el js.el paren.el
 
-Felix Dietrich: changed tramp-archive.el mailcap-tests.el mailcap.el
+Felix Dietrich: changed mailcap-tests.el mailcap.el tramp-archive.el
 
 Felix E. Klee: co-wrote svg.el
 and changed display.texi
@@ -1934,12 +1973,14 @@ Filipp Gunbin: changed ldap.el compilation.txt 
progmodes/compile.el
   compile-tests.el custom.el dabbrev.el epa-ks.el ert.el eudc-vars.el
   eudc.texi and 19 other files
 
-F. Jason Park: changed erc.el erc-backend.el erc-tests.el foonet.eld
-  erc.texi erc-networks.el erc-dcc.el erc-compat.el erc-sasl.el
-  barnet.eld erc-scenarios-misc.el erc-services.el erc-common.el
-  erc-networks-tests.el erc-scenarios-base-reconnect.el
-  erc-scenarios-common.el socks-tests.el auth-source-pass-tests.el
-  auth-source-pass.el erc-join.el erc-sasl-tests.el and 106 other files
+Filippo Argiolas: changed eglot.el eglot.texi
+
+F. Jason Park: changed erc.el erc-tests.el erc-backend.el erc-common.el
+  erc-stamp.el erc-fill.el erc-goodies.el erc-button.el erc.texi
+  erc-networks.el erc-fill-tests.el foonet.eld erc-compat.el erc-dcc.el
+  erc-match.el erc-speedbar.el erc-sasl.el erc-scenarios-common.el
+  erc-networks-tests.el erc-stamp-tests.el erc-track.el
+  and 191 other files
 
 Flemming Hoejstrup Hansen: changed forms.el
 
@@ -1953,9 +1994,11 @@ Florian Rommel: changed configure.ac frames.texi 
pgtkterm.c window.c
 
 Florian V. Savigny: changed sql.el
 
-Florian Weimer: changed message.el gnus.el coding.c configure.ac
+Florian Weimer: changed message.el configure.ac gnus.el coding.c
   gnus-sum.el gnus.texi mm-decode.el mm-util.el
 
+F. Moukayed: changed erc-goodies.el mm-view.el
+
 Francesco Pizzolante: changed org-clock.el org-macs.el org.el ox-html.el
 
 Francesco Potortì: wrote cmacexp.el
@@ -2040,11 +2083,11 @@ Fujii Hironori: changed w32fns.c
 
 Gábor Vida: changed gnus-demon.el auth-source.el ido.el
 
-Gabriel Do Nascimento Ribeiro: changed remember.el mb-depth.el repeat.el
-  tab-bar.el tab-line.el bookmark.el cmuscheme.el comint.el
+Gabriel Do Nascimento Ribeiro: changed remember.el tab-line.el
+  mb-depth.el repeat.el tab-bar.el bookmark.el cmuscheme.el comint.el
   dired-tests.el dired.el esh-mode.el etags.el faces.el gnus-sum.el
   goto-addr.el hl-line.el ibuf-ext.el idlwave.el inf-lisp.el mh-gnus.el
-  mh-letter.el and 17 other files
+  mh-letter.el and 18 other files
 
 Gaby Launay: changed auth-source-pass.el
 
@@ -2067,7 +2110,8 @@ Gary Oberbrunner: changed eglot.el gud.el
 
 Gary Wong: changed termcap.c tparam.c
 
-Gaute B Strokkenes: changed imap.el gnus-fun.el mail-source.el process.c
+Gaute B Strokkenes: changed net/imap.el gnus-fun.el mail-source.el
+  process.c
 
 Gautier Ponsinet: changed calendar.texi
 
@@ -2083,6 +2127,8 @@ and changed edebug.el cl-print.el edebug.texi 
emacs-lisp/debug.el
   elisp.texi ert.el ert.texi eval-tests.el generator.el print.c
   and 23 other files
 
+Gene Goykhman: changed tramp-container.el tramp.el tramp.texi
+
 Geoff Gole: changed align.el ibuffer.el whitespace.el
 
 Geoff Greene: changed message.el
@@ -2100,6 +2146,8 @@ Georg C. F. Greve: changed pgg-gpg.el
 
 George D. Plymale Ii: changed esh-cmd.el
 
+George Huebner: changed xwidget.el
+
 George Kettleborough: changed org-clock.el org-timer.el
 
 George Kuzler: changed calc.el
@@ -2114,7 +2162,7 @@ Gerd Möllmann: wrote authors.el ebrowse.el jit-lock.el 
tooltip.el
 and changed xdisp.c xterm.c dispnew.c dispextern.h xfns.c xfaces.c
   window.c keyboard.c lisp.h faces.el alloc.c buffer.c startup.el xterm.h
   fns.c term.c configure.ac simple.el frame.c xmenu.c emacs.c
-  and 618 other files
+  and 621 other files
 
 Gergely Nagy: changed erc.el
 
@@ -2124,6 +2172,8 @@ Germano Caronni: changed ralloc.c
 
 Gernot Heiser: changed refer.el
 
+Géza Herman: changed json.c
+
 Giorgos Keramidas: changed configure.ac erc-backend.el erc.el alloc.c
   amdx86-64.h apropos.el display.texi erc-services.el filelock.c fringe.c
   fringe.el lisp.h rcirc.el windows.texi xmenu.c
@@ -2142,7 +2192,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 1791 other files
+  ack.texi subr.el and 1790 other files
 
 Glynn Clements: wrote gamegrid.el snake.el tetris.el
 
@@ -2159,6 +2209,8 @@ Gordon Matzigkeit: changed gnus-uu.el
 
 Graham Dobbins: changed lisp-mode.el
 
+Graham Marlow: changed yaml-ts-mode.el
+
 Grant Shangreaux: changed HELLO latin-post.el latin-pre.el
 
 Greg A. Woods: co-wrote pcvs.el
@@ -2190,9 +2242,9 @@ Gregor Schmid: changed intervals.c intervals.h 
tcl-mode.el textprop.c
 Gregory Chernov: changed nnslashdot.el
 
 Gregory Heytings: changed xdisp.c editfns.c subr.el keyboard.c buffer.c
-  dispextern.h lisp.h buffer.h display.texi efaq.texi files.el isearch.el
-  minibuffer.el Makefile.in bytecode.c composite.c positions.texi
-  bytecomp.el emake help-fns.el lread.c and 78 other files
+  dispextern.h lisp.h buffer.h Makefile.in display.texi efaq.texi emake
+  files.el isearch.el minibuffer.el bytecode.c composite.c positions.texi
+  bytecomp.el help-fns.el lread.c and 80 other files
 
 Grégory Mounié: changed display.texi hi-lock.el man.el xfns.c
 
@@ -2250,8 +2302,11 @@ Han-Wen Nienhuys: changed emacsclient.c server.el
 Harald Hanche-Olsen: changed misc.texi server.el sgml-mode.el skeleton.el
 
 Harald Jörg: wrote cperl-mode-tests.el
-and changed cperl-mode.el perl-mode.el grammar.pl cperl-bug-19709.pl
-  cperl-indent-exp.pl cperl-indent-styles.pl gud.el
+and changed cperl-mode.el grammar.pl perl-mode.el cperl-bug-64364.pl
+  cperl-bug-19709.pl cperl-bug-64190.pl cperl-bug-65834.pl
+  cperl-bug-66161.pl cperl-indent-exp.pl cperl-indent-styles.pl
+  cperl-indents.erts extra-delimiters.pl gud.el perl-class.pl
+  proto-and-attrs.pl sub-names.pl
 
 Harald Maier: changed w32heap.c
 
@@ -2266,10 +2321,11 @@ H. Dieter Wilhelm: changed calc-help.el 
maintaining.texi paragraphs.el
 
 Heiko Muenkel: changed b2m.c
 
-Helmut Eller: changed emacs-lisp/debug.el lisp-mode.el xref.el CTAGS.good
+Helmut Eller: wrote peg.el
+and changed emacs-lisp/debug.el lisp-mode.el xref.el  CTAGS.good
   ETAGS.good_1 ETAGS.good_2 ETAGS.good_3 ETAGS.good_4 ETAGS.good_5
-  ETAGS.good_6 cl-indent.el cl-macs.el elisp-mode.el ert.el etags.c
-  etags.el eval.c process-tests.el process.c test-forth.fth
+  ETAGS.good_6 bytecomp-tests.el bytecomp.el cl-indent.el cl-macs.el
+  elisp-mode.el ert.el etags.c etags.el eval.c faces.el and 5 other files
 
 Helmut Waitzmann: changed gnus-sum.el gnus.texi
 
@@ -2289,8 +2345,6 @@ Henry Weller: changed mairix.el
 
 Hewlett-Packard: changed emacsclient.c keyboard.c server.el
 
-Hideki Iwamoto: changed etags.c
-
 Hiroshi Fujishima: changed efaq.texi gnus-score.el mail-source.el
   spam-stat.el
 
@@ -2325,7 +2379,9 @@ Hrvoje Nikšić: wrote croatian.el savehist.el
 and changed gnus-xmas.el message.el nnmail.el fileio.c fns.c gnus-art.el
   gnus-salt.el gnus-spec.el mm-decode.el simple.el add-log.el appt.el
   arc-mode.el avoid.el bookmark.el cal-china.el cal-tex.el calendar.el
-  cl-indent.el cmacexp.el comint.el and 82 other files
+  cl-indent.el cmacexp.el comint.el and 83 other files
+
+Huan Nguyen: changed treesit.el
 
 Hubert Chan: changed spam.el
 
@@ -2333,7 +2389,7 @@ Hugh Brown: changed progmodes/grep.el building.texi
 
 Hugh Daschbach: changed dbus-tests.el dbus.el org.gnu.Emacs.TestDBus.xml
 
-Hugo Heagren: changed window.el windows.texi
+Hugo Heagren: changed window.el windows.texi bindings.el modes.texi
 
 Hynek Schlawack: changed gnus-art.el gnus-sum.el
 
@@ -2360,9 +2416,12 @@ Igor Kuzmin: wrote cconv.el
 
 Igor Saprykin: changed ftfont.c
 
-Ihor Radchenko: wrote org-fold-core.el org-fold.el org-persist.el
-and changed org.el ox.el files.el fns.c mm-view.el org-macro.el
-  emacsclient.desktop help-mode.el oc.el ol.el org-element.el
+Ihor Radchenko: wrote org-element-ast.el org-fold-core.el org-fold.el
+  org-persist.el
+and changed org.el files.el ox.el buffer.c emacsclient.desktop
+  eval-tests.el fns.c lisp.h mm-view.el org-macro.el buffer.h editfns.c
+  filelock.c help-mode.el internals.texi mhtml-mode.el minibuf.c oc.el
+  ol.el org-element.el pdumper.c and 3 other files
 
 Iku Iwasa: changed auth-source-pass-tests.el auth-source-pass.el
 
@@ -2373,7 +2432,8 @@ Ilja Weis: co-wrote gnus-topic.el
 
 Illia Danko: changed README.md eglot.el
 
-Illia Ostapyshyn: changed cus-start.el calc-graph.el
+Illia Ostapyshyn: changed cus-start.el calc-graph.el emacs-mime.texi
+  mml-smime.el mml.el
 
 Ilya N. Golubev: changed mm-util.el shell.el
 
@@ -2429,7 +2489,8 @@ Itai Y. Efrat: changed browse-url.el
 Itai Zukerman: changed mm-decode.el
 
 Ivan Andrus: changed editfns.c epg.el ffap.el find-file.el ibuf-ext.el
-  ibuffer.el newcomment.el nxml-mode.el progmodes/python.el
+  ibuffer.el newcomment.el nextstep/templates/Info.plist.in nxml-mode.el
+  progmodes/python.el
 
 Ivan Boldyrev: changed mml1991.el
 
@@ -2485,7 +2546,8 @@ Jai Flack: changed gnus-search.el
 
 Jake Moss: changed gdb-mi.el
 
-Jakub Ječmínek: changed rmail.texi
+Jakub Ječmínek: changed gnus-score.el TUTORIAL.cs org-table.el
+  progmodes/python.el python-tests.el rmail.texi
 
 Jakub-W: changed calculator.el
 
@@ -2527,7 +2589,8 @@ James TD Smith: changed org.el org-colview.el org-clock.el
   org-remember.el org-plot.el org-agenda.el org-compat.el org-habit.el
   org.texi
 
-James Thomas: changed quail/indian.el gnus-msg.el ind-util.el nnmail.el
+James Thomas: changed eww.el nnmail.el quail/indian.el gnus-cache.el
+  gnus-msg.el ind-util.el info-look.el progmodes/python.el
 
 James Troup: changed gnus-sum.el
 
@@ -2576,10 +2639,11 @@ and changed gnus-score.el gnus-logic.el
 
 Jan Vroonhof: changed gnus-cite.el gnus-msg.el nntp.el
 
-Jared Finder: changed menu-bar.el term.c commands.texi xt-mouse.el
-  frame.c isearch.el mouse.el tmm.el wid-edit.el artist.el dired.el
-  dispnew.c ediff-wind.el ediff.el faces.el foldout.el frames.texi
-  keyboard.c lread.c mouse-drag.el progmodes/compile.el and 9 other files
+Jared Finder: wrote window-tool-bar.el
+and changed commands.texi menu-bar.el term.c tab-line.el xt-mouse.el
+  frame.c frames.texi isearch.el modes.texi mouse.el tmm.el tool-bar.el
+  wid-edit.el windows.texi artist.el dired.el dispnew.c ediff-wind.el
+  ediff.el elisp.texi emacs.texi and 16 other files
 
 Jarek Czekalski: changed keyboard.c callproc.c mini.texi minibuf.c
   misc.texi server.el shell.el w32fns.c xgselect.c
@@ -2610,7 +2674,7 @@ Jason Kim: changed shell.el
 
 Jason L. Wright: changed smtpmail.el
 
-Jason Merrill: changed gnus-sum.el add-log.el gnus-salt.el imap.el
+Jason Merrill: changed gnus-sum.el add-log.el gnus-salt.el net/imap.el
   nnfolder.el
 
 Jason Riedy: changed org-table.el org.texi
@@ -2623,6 +2687,8 @@ and changed w32fns.c w32term.c w32font.c w32menu.c 
w32-win.el w32term.h
 
 Jason S. Cornez: changed keyboard.c
 
+Javier Olaechea: changed sqlite-tests.el sqlite.c text.texi
+
 Jay Belanger: changed calc.texi calc.el calc-ext.el calc-units.el
   calc-aent.el calc-embed.el calc-help.el calc-prog.el calc-forms.el
   calc-lang.el calccomp.el calc-math.el calc-yank.el calc-arith.el
@@ -2640,13 +2706,14 @@ 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 idlw-toolbar.el comint.el idlwave.texi vc.el
-  bibtex.el files.texi hideshow.el idlw-complete-structtag.el misc.texi
-  mouse.el tree-widget.el
+  bibtex.el eglot.el files.texi hideshow.el idlw-complete-structtag.el
+  misc.texi mouse.el shr.el table.html table.txt tree-widget.el
 
 Jean Abou Samra: changed scheme.el
 
-Jean-Christophe Helary: changed back.texi emacs-lisp-intro.texi ns-win.el
-  package-tests.el package.el strings.texi subr-x.el ucs-normalize.el
+Jean-Christophe Helary: changed README back.texi emacs-lisp-intro.texi
+  ns-win.el package-tests.el package.el strings.texi subr-x.el
+  ucs-normalize.el
 
 Jean Forget: changed cal-french.el
 
@@ -2706,8 +2773,10 @@ and changed mml-sec.el gnus-util.el message.texi 
mml-smime.el mml1991.el
 Jens Petersen: wrote find-func.el
 and changed mule-cmds.el pcmpl-rpm.el
 
-Jens Schmidt: changed plstore.el epa.texi auth.texi comint.el
-  elisp-mode.el epa-file.el epg.el gnus.texi isearch.el ldap.el
+Jens Schmidt: changed plstore.el comint.el elisp-mode.el epa.texi
+  isearch.el auth.texi comp-common.el comp.el epa-file.el epg.el
+  files-tests.el files.el gnus.texi ldap.el lisp.el loadup.el macroexp.el
+  nadvice.el sgml-mode.el
 
 Jens Toivo Berger Thielemann: changed word-help.el
 
@@ -2723,8 +2792,9 @@ Jérémie Courrèges-Anglas: changed kqueue.c org.texi 
ox-latex.el
 Jeremy Bertram Maitin-Shepard: changed erc.el erc-backend.el
   erc-button.el erc-track.el mml.el
 
-Jeremy Bryant: changed abbrev.el cl-extra.el emacs-lisp/cl-lib.el
-  files.texi functions.texi simple.el
+Jeremy Bryant: changed which-key.el cl-extra.el abbrev.el cl-macs.el
+  display.texi emacs-lisp/cl-lib.el files.texi functions.texi help.texi
+  rmail.el simple.el
 
 Jérémy Compostella: changed tramp-sh.el mml.el battery.el keyboard.c
   windmove.el window.el xdisp.c
@@ -2763,7 +2833,7 @@ and co-wrote pcvs.el wyse50.el
 and changed keyboard.c xterm.c xfns.c window.c process.c ymakefile
   dispnew.c xdisp.c sysdep.c configure.ac lisp.h Makefile.in keymap.c
   configure make-dist buffer.c frame.c screen.c simple.el alloc.c emacs.c
-  and 403 other files
+  and 404 other files
 
 Jim Diamond: changed server.el
 
@@ -2776,20 +2846,19 @@ Jim Meyering: changed lread.c make-docfile.c w32.c 
w32font.c configure.ac
   charset.c and 55 other files
 
 Jimmy Aguilar Mena: changed xdisp.c simple.el xfaces.c minibuffer.el
-  dispextern.h mini.texi mouse.el face-remap.el hl-line.el icomplete.el
-  uniquify.el xwidget.c
+  dispextern.h mini.texi mouse.el compilation.txt face-remap.el
+  hl-line.el icomplete.el progmodes/compile.el uniquify.el xwidget.c
 
-Jimmy Yuen Ho Wong: changed nsm.el gnutls.c gnutls.el disass.el
+Jimmy Yuen Ho Wong: changed nsm.el gnutls.c gnutls.el disass.el eglot.el
   net-utils.el
 
 Jim Paris: changed process.c
 
-Jim Porter: changed eshell.texi esh-cmd.el esh-var-tests.el
-  eshell-tests.el esh-var.el esh-proc-tests.el esh-io.el esh-proc.el
-  esh-util.el eshell-tests-helpers.el em-pred.el esh-arg.el
-  esh-cmd-tests.el tramp.el em-pred-tests.el em-dirs-tests.el server.el
-  em-basic.el em-extpipe-tests.el esh-opt-tests.el esh-opt.el
-  and 94 other files
+Jim Porter: changed eshell.texi esh-cmd.el esh-var.el esh-var-tests.el
+  eshell-tests.el esh-proc.el esh-cmd-tests.el esh-io.el esh-util.el
+  esh-arg.el esh-mode.el esh-proc-tests.el eshell-tests-helpers.el
+  tramp.el em-cmpl.el em-pred.el em-unix.el em-dirs.el eshell/eshell.el
+  em-cmpl-tests.el em-glob.el and 137 other files
 
 Jim Radford: changed gnus-start.el
 
@@ -2838,10 +2907,10 @@ 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 README.md eldoc.el minibuffer.el
-  flymake-proc.el EGLOT-NEWS elisp-mode.el flymake.texi flymake-tests.el
-  eglot.texi flymake-elisp.el electric.el elisp-mode-tests.el lread.c
-  Makefile flymake-ui.el progmodes/python.el text.texi xref.el
-  json-tests.el and 64 other files
+  EGLOT-NEWS flymake-proc.el flymake.texi eglot.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 xref.el
+  json-tests.el and 69 other files
 
 Jochen Hein: changed gnus-art.el
 
@@ -2944,7 +3013,10 @@ John Mastro: changed auth-source.el ibuffer.el w32heap.c
 
 John Mongan: changed progmodes/f90.el
 
-John Muhl: changed calculator.el sqlite-mode.el
+John Muhl: wrote lua-ts-mode.el
+and changed indent.erts batch.sh lua-ts-mode-tests.el align-tests.el
+  align.el calculator.el font-lock.lua java-ts-mode.el lua-ts-mode.erts
+  movement.erts mpc.el speedbar.el sqlite-mode.el which-function.lua
 
 John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el help-fns.el
   rmail.el files.el thumbs.el bindings.el fns.c xfns.c arc-mode.el
@@ -2985,11 +3057,11 @@ John Yates: changed hideshow.el
 Jon Anders Skorpen: changed ox-publish.el
 
 Jonas Bernoulli: wrote transient.el
-and changed epa.el epa-file.el emoji.el lisp-mnt.el tips.texi
+and changed emoji.el epa.el epa-file.el lisp-mnt.el tips.texi
   dired-aux.el dired-x.el dired.el eieio.el epa-dired.el font-lock.el
   progmodes/compile.el simple.el transient.texi allout.el button.el
-  comint.el cus-edit.el eldoc.el emacs-module-tests.el epa-hook.el
-  and 14 other files
+  check-declare.el comint.el cus-edit.el editorconfig-conf-mode.el
+  editorconfig-core-handle.el and 25 other files
 
 Jonas Hoersch: changed org-inlinetask.el org.el
 
@@ -3032,7 +3104,8 @@ Jon K Hellan: wrote utf7.el
 
 Joost Diepenmaat: changed org.el
 
-Joost Kremers: changed reftex-toc.el
+Joost Kremers: changed reftex-toc.el vtable-tests.el vtable.el
+  vtable.texi
 
 Joram Schrijver: changed eglot.el
 
@@ -3040,6 +3113,8 @@ Jordan Wilson: changed doc-view.el
 
 Jordon Biondo: changed subr.el
 
+Jörg Bornemann: changed cmake-ts-mode.el
+
 Jorge A. Alfaro-Murillo: changed message.el
 
 Jorgen Schäfer: wrote erc-autoaway.el erc-goodies.el erc-spelling.el
@@ -3068,7 +3143,9 @@ and changed xterm.c xfns.c keyboard.c screen.c dispnew.c 
xdisp.c window.c
 
 Joseph M. Kelsey: changed fileio.c skeleton.el
 
-Joseph Turner: changed package-vc.el minibuffer.el subr.el
+Joseph Turner: changed package-vc.el minibuffer.el image.el subr.el
+  display.texi image-tests.el info.el ispell.el lists.texi package.el
+  package.texi records.texi shortdoc.el shorthands.el subr-tests.el
 
 Josh Elsasser: changed eglot.el README.md configure.ac
 
@@ -3085,7 +3162,10 @@ Joshua Datko: changed fortune.el
 Joshua Varner: changed intro.texi
 
 Jostein Kjønigsen: changed csharp-mode.el typescript-ts-mode.el js.el
-  eglot.el progmodes/compile.el json-ts-mode.el nxml-mode.el treesit.el
+  eglot.el progmodes/compile.el README dotnet-appconfig.rnc
+  dotnet-packages-config.rnc dotnet-packages-props.rnc dotnet-resx.rnc
+  json-ts-mode.el msbuild.rnc nuget.rnc nuspec.rnc nxml-mode.el
+  schemas.xml treesit.el
 
 Jouni K. Seppänen: changed gnus.texi nnimap.el mm-url.el
 
@@ -3099,14 +3179,14 @@ and changed files.el perl-mode.el
 
 Juanma Barranquero: wrote emacs-lock.el frameset.el
 and co-wrote help-tests.el keymap-tests.el
-and changed subr.el desktop.el w32fns.c faces.el simple.el emacsclient.c
-  files.el server.el bs.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 1225 other files
+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 1222 other files
 
 Juan Pechiar: changed ob-octave.el
 
-Juergen Kreileder: changed imap.el nnimap.el
+Juergen Kreileder: changed net/imap.el nnimap.el
 
 Juergen Nickelsen: wrote ws-mode.el
 
@@ -3138,6 +3218,8 @@ Junya Takahashi: changed epa-file.el
 
 Jure Cuhalev: changed ispell.el
 
+Jurgen De Backer: changed progmodes/compile.el
+
 Jürgen Hartmann: changed window.el
 
 Jürgen Hötzel: wrote tramp-adb.el
@@ -3149,16 +3231,17 @@ 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 info.el replace.el dired.el dired-aux.el
-  progmodes/grep.el minibuffer.el window.el subr.el vc.el outline.el
-  mouse.el diff-mode.el repeat.el image-mode.el files.el menu-bar.el
-  search.texi startup.el display.texi and 472 other files
+  minibuffer.el window.el progmodes/grep.el outline.el subr.el vc.el
+  mouse.el diff-mode.el repeat.el files.el image-mode.el menu-bar.el
+  vc-git.el project.el search.texi and 490 other files
 
 Jussi Lahdenniemi: changed w32fns.c ms-w32.h msdos.texi w32.c w32.h
   w32console.c w32heap.c w32inevt.c w32term.h
 
 Justin Bogner: changed fortune.el
 
-Justin Burkett: changed window.el
+Justin Burkett: wrote which-key-tests.el which-key.el
+and changed window.el
 
 Justin Gordon: changed ox-md.el
 
@@ -3180,7 +3263,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
@@ -3226,7 +3309,7 @@ and changed simple.el files.el CONTRIBUTE doc-view.el 
image-mode.el
 Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c
   alloc.c files.el frame.c configure.ac window.c data.c minibuf.c
   editfns.c fns.c process.c Makefile.in fileio.c simple.el keymap.c
-  indent.c and 446 other files
+  indent.c and 445 other files
 
 Karl Kleinpaste: changed gnus-sum.el gnus-art.el gnus-picon.el
   gnus-score.el gnus-uu.el gnus-xmas.el gnus.el mm-uu.el mml.el nnmail.el
@@ -3269,10 +3352,11 @@ Kaveh R. Ghazi: changed delta88k.h xterm.c
 
 Kayvan Sylvan: changed supercite.el
 
-Kazuhiro Ito: changed coding.c uudecode.el flow-fill.el font.c image.c
-  japan-util.el keyboard.c make-mode.el starttls.el xdisp.c
+Kazuhiro Ito: changed coding.c epg.el japan-util.el uudecode.el
+  flow-fill.el font.c image.c keyboard.c language/japanese.el
+  make-mode.el starttls.el xdisp.c
 
-Kazushi Marukawa: changed filelock.c hexl.c profile.c unexalpha.c
+Kazushi Marukawa: changed filelock.c hexl.c unexalpha.c
 
 Keiichi Suzuki: changed nntp.el
 
@@ -3299,7 +3383,7 @@ Kelvin White: changed erc.el erc-pcomplete.el erc.texi 
erc-backend.el
 Ken Brown: changed configure.ac gmalloc.c sheap.c emacs.c w32fns.c
   fileio.c w32term.c unexcw.c conf_post.h cygwin.h filenotify-tests.el
   src/Makefile.in sysdep.c keyboard.c lisp.h atimer.c browse-url.el
-  dispextern.h emacs.rc.in fileio-tests.el frame.c and 54 other files
+  dispextern.h emacs.rc.in fileio-tests.el frame.c and 60 other files
 
 Ken Brush: changed emacsclient.c
 
@@ -3359,20 +3443,19 @@ and changed makefile.nt dispnew.c addpm.c config.w95 
dispextern.h emacs.c
   mouse.el ms-w32.h ntterm.c process.c scroll.c startup.el sysdep.c
   term.c and 18 other files
 
-Kevin Greiner: wrote legacy-gnus-agent.el
-and changed gnus-agent.el gnus-sum.el gnus-start.el gnus-int.el nntp.el
-  gnus-util.el gnus.el gnus-cus.el gnus-group.el gnus-art.el
-  gnus-cache.el gnus-range.el gnus-draft.el gnus-srvr.el gnus.texi
-  nnagent.el nnheader.el gnus-async.el gnus-registry.el gnus-salt.el
-  gnus-uu.el and 3 other files
+Kevin Greiner: changed gnus-agent.el gnus-sum.el gnus-start.el
+  gnus-int.el nntp.el gnus-util.el gnus.el gnus-cus.el gnus-group.el
+  gnus-art.el gnus-cache.el gnus-range.el gnus-draft.el gnus-srvr.el
+  gnus.texi nnagent.el nnheader.el gnus-async.el gnus-registry.el
+  gnus-salt.el gnus-uu.el and 3 other files
 
 Kevin Layer: changed mml.el w32proc.c
 
-Kévin Le Gouguec: changed progmodes/python.el font-lock.el gnus-sum.el
-  configure.ac dired-aux-tests.el dired-aux.el electric-tests.el faces.el
-  font-lock-tests.el fontset.el gnus.el leim/Makefile.in message.texi
-  project.el python-tests.el sh-script.el shr.el simple.el subr-tests.el
-  subr.el use-package.texi xfaces.c
+Kévin Le Gouguec: changed files-tests.el files.el progmodes/python.el
+  font-lock.el gnus-sum.el shr.el vc-git-tests.el blockquote.html
+  blockquote.txt conceal.svg configure.ac dired-aux-tests.el dired-aux.el
+  electric-tests.el faces.el font-lock-tests.el fontset.el gnus.el
+  leim/Makefile.in message.texi project.el and 11 other files
 
 Kevin Rodgers: changed compile.el mailabbrev.el progmodes/compile.el
   dired-x.el files.el ange-ftp.el byte-opt.el desktop.el diff-mode.el
@@ -3398,7 +3481,7 @@ and changed xdisp.c dispextern.h process.c simple.el 
window.c keyboard.c
 Kimit Yada: changed copyright.el
 
 Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el
-  gnus-win.el gnus-xmas.el gnus.texi imap.el message.el nndraft.el
+  gnus-win.el gnus-xmas.el gnus.texi message.el net/imap.el nndraft.el
   nnml.el
 
 Kira Bruneau: changed files.el pgtk-win.el
@@ -3413,6 +3496,8 @@ Kiso Katsuyuki: changed tab-line.el
 
 Kjartan Óli Ágústsson: changed doc-view.el
 
+Kjetil Orbekk: changed vc-hg-tests.el vc-hg.el
+
 Klaus Straubinger: changed url-http.el url-history.el pcmpl-rpm.el
   url-cookie.el url.el
 
@@ -3426,7 +3511,7 @@ Koaunghi Un: wrote hanja3.el
 and changed hanja.el hangul.el hangul3.el hanja-jis.el symbol-ksc.el
 
 Kobarity-: changed progmodes/python.el python-tests.el hideshow-tests.el
-  hideshow.el
+  hideshow.el package-test-server.py package-tests.el
 
 Kobayashi Yasuhiro: changed w32fns.c configure.bat indent.c info.el
   w32term.c w32term.h window.c xfns.c
@@ -3441,10 +3526,10 @@ Konrad Hinsen: wrote ol-eshell.el
 and changed ob-python.el
 
 Konstantin Kharlamov: changed smerge-mode.el diff-mode.el files.el
-  autorevert.el calc-aent.el calc-ext.el calc-lang.el cc-mode.el
+  alloc.c autorevert.el calc-aent.el calc-ext.el calc-lang.el cc-mode.el
   cperl-mode.el css-mode.el cua-rect.el dnd.el ebnf-abn.el ebnf-dtd.el
   ebnf-ebx.el emacs-module-tests.el epg.el faces.el gnus-art.el gtkutil.c
-  hideif.el and 27 other files
+  and 30 other files
 
 Konstantin Kliakhandler: changed org-agenda.el
 
@@ -3476,7 +3561,7 @@ Kyle Hubert: changed ediff-util.el
 Kyle Jones: wrote life.el
 and changed saveconf.el buffer.c mail-utils.el sendmail.el
 
-Kyle Meyer: changed loaddefs-gen.el org-compat.el ox.el
+Kyle Meyer: changed loaddefs-gen.el misc/Makefile.in org-compat.el ox.el
 
 Kyotaro Horiguchi: changed coding.c indent.c
 
@@ -3484,6 +3569,8 @@ Laimonas Vėbra: changed european.el ispell.el
 
 Lambda Coder: changed tramp.texi
 
+Lämppi Lütti: changed vtable.el
+
 Lara Rios: co-wrote cal-menu.el
 
 Lars Balker Rasmussen: changed gnus-art.el gnus-agent.el message.el
@@ -3492,7 +3579,7 @@ Lars Brinkhoff: changed records.texi fns.c lread.c data.c 
elisp.texi
   lisp.h objects.texi print.c alloc-colors.c alloc-tests.el alloc.c
   building.texi chartab.c cl-extra.el cl-generic.el cl-lib-tests.el
   cl-macs.el cl-preloaded.el cl-print-tests.el cl-print.el cl.texi
-  and 17 other files
+  and 19 other files
 
 Lars Hansen: changed desktop.el tramp.el info.el mh-e.el dired-x.el
   dired-x.texi dired.el ls-lisp.el rmail.el dired.c files.texi
@@ -3527,7 +3614,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 1061 other files
+  auth-source.el smtpmail.el and 1063 other files
 
 Lars Rasmusson: changed ebrowse.c
 
@@ -3535,7 +3622,8 @@ Lasse Rasinen: changed gnus-start.el
 
 Lassi Kortela: changed dns-mode.el
 
-Laurence Warne: changed proced.el progmodes/python.el python-tests.el
+Laurence Warne: changed proced.el proced-tests.el progmodes/python.el
+  python-tests.el
 
 Laurent Martelli: changed mm-decode.el
 
@@ -3606,11 +3694,15 @@ Liang Wang: changed etags.el
 
 Liāu, Kiong-Gē 廖宮毅: changed comp.c mingw-cfg.site
 
-Lin Sun: changed calc.el package.el
+Lin Sun: changed python-tests.el progmodes/python.el calc.el esh-mode.el
+  eww.el ls-lisp-tests.el ls-lisp.el master.el package-test-server.py
+  package-tests.el package.el
 
 Lin Zhou: changed w32fns.c w32term.h
 
-Liu Hui: changed eglot.el pcmpl-linux.el
+Liu Hui: changed python-tests.el em-hist.el progmodes/python.el bibtex.el
+  dired.el eglot.el em-hist-tests.el eshell.texi pcmpl-linux.el
+  saveplace.el strokes.el wdired.el
 
 Lixin Chin: changed bibtex.el
 
@@ -3654,8 +3746,8 @@ Lukas Huonker: changed tetris.el
   auth-source-pass.el
 
 Łukasz Stelmach: changed erc.el message.el ps-print.el cookie1.el
-  gnus-group.el gtkutil.c org-agenda.el org-bbdb.el org.el org.texi
-  ox-html.el ox.el shr.el simple.el
+  gnus-group.el gnus-logic.el gnutls.c gtkutil.c nsm.el org-agenda.el
+  org-bbdb.el org.el org.texi ox-html.el ox.el shr.el simple.el
 
 Luke Lee: changed hideif.el
 
@@ -3669,8 +3761,6 @@ Lute Kamstra: changed modes.texi emacs-lisp/debug.el 
generic-x.el
 
 Lynn Slater: wrote help-macro.el
 
-Maciej Kalandyk: changed progmodes/python.el
-
 Maciek Pasternacki: changed nnrss.el
 
 Madan Ramakrishnan: changed org-agenda.el
@@ -3688,11 +3778,11 @@ Malcolm Purvis: changed spam-stat.el
 
 Manoj Srivastava: wrote manoj-dark-theme.el
 
-Manuel Giraud: changed vc.el ox-html.el bookmark.el image-dired.el
-  longlines.el ox-publish.el keyboard.c paragraphs.el simple.el
-  basic.texi battery.el bookmark-tests.el cus-start.el dired.texi
-  dispextern.h easymenu.el find-dired.el ibuf-ext.el ibuf-macs.el
-  idlwave.el image-mode.el and 12 other files
+Manuel Giraud: changed image-dired.el xdisp.c vc.el ox-html.el
+  bookmark.el doc-view.el find-dired.el image-dired-util.el keyboard.c
+  longlines.el ox-publish.el dired.el dispextern.h gdb-mi.el gnus.el
+  image.c paragraphs.el simple.el androidterm.c basic.texi battery.el
+  and 29 other files
 
 Manuel Gómez: changed speedbar.el
 
@@ -3741,6 +3831,8 @@ Marcus Karlsson: changed image.c
 
 Marcus Swanson: changed README.md eglot.el
 
+Marc Van Der Wal: changed dns.el
+
 Marek Martin: changed nnfolder.el
 
 Marien Zwart: changed progmodes/python.el
@@ -3800,7 +3892,7 @@ Mark Oteiza: wrote mailcap-tests.el md4-tests.el 
xdg-tests.el xdg.el
 and changed image-dired.el dunnet.el mpc.el eww.el json.el calc-units.el
   lcms.c subr-x.el subr.el message.el tex-mode.el cl-macs.el cl.texi
   ibuffer.el lcms-tests.el mailcap.el progmodes/python.el cl-print.el
-  eldoc.el emacs-lisp/chart.el files.el and 173 other files
+  eldoc.el emacs-lisp/chart.el files.el and 172 other files
 
 Mark Plaksin: changed nnrss.el term.el
 
@@ -3825,7 +3917,7 @@ and changed cus-edit.el files.el progmodes/compile.el 
rmail.el
   tex-mode.el find-func.el rmailsum.el simple.el cus-dep.el dired.el
   mule-cmds.el rmailout.el checkdoc.el configure.ac custom.el emacsbug.el
   gnus.el help-fns.el ls-lisp.el mwheel.el sendmail.el
-  and 125 other files
+  and 124 other files
 
 Markus Sauermann: changed lisp-mode.el
 
@@ -3874,7 +3966,7 @@ Martin Pohlack: changed iimage.el pc-select.el
 Martin Rudalics: changed window.el window.c windows.texi frame.c xdisp.c
   xterm.c frames.texi w32fns.c w32term.c xfns.c frame.el display.texi
   frame.h help.el cus-start.el buffer.c window.h mouse.el dispnew.c
-  keyboard.c nsfns.m and 213 other files
+  keyboard.c nsfns.m and 215 other files
 
 Martin Stjernholm: wrote cc-bytecomp.el
 and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
@@ -3928,10 +4020,10 @@ Mathieu Othacehe: changed tramp-adb.el
 
 Mats Lidell: changed TUTORIAL.sv european.el gnus-art.el org-element.el
 
-Matt Armstrong: changed itree.c buffer-tests.el buffer.c itree.h alloc.c
-  display.texi editfns.c filelock-tests.el package.el .clang-format
-  buffer.h coding.c commands.texi eval.c filelock.c files.el
-  gnus-topic.el gnus.el imap.el lisp-mnt.el lisp.h and 12 other files
+Matt Armstrong: changed itree.c buffer-tests.el itree.h buffer.c alloc.c
+  buffer.h display.texi editfns.c filelock-tests.el package.el pdumper.c
+  .clang-format coding.c commands.texi eval.c filelock.c files.el
+  gnus-topic.el gnus.el lisp-mnt.el lisp.h and 12 other files
 
 Matt Beshara: changed js.el nsfns.m
 
@@ -3976,8 +4068,8 @@ Matthias Förste: changed files.el
 
 Matthias Meulien: wrote ansi-osc-tests.el
 and co-wrote ansi-osc.el
-and changed diff-mode.el bookmark.el vc-dir.el comint.el outline.el
-  progmodes/python.el vc.el buff-menu.el doc-view.el eww.el gnus-sum.el
+and changed diff-mode.el progmodes/python.el bookmark.el vc-dir.el
+  comint.el outline.el vc.el buff-menu.el doc-view.el eww.el gnus-sum.el
   help-mode.el image-dired.el info.el man.el prog-mode.el project.el
   simple.el tab-bar.el tabify.el vc-git.el and 3 other files
 
@@ -3994,11 +4086,11 @@ Matt Hodges: changed textmodes/table.el faces.el 
iswitchb.el simple.el
   edebug.texi eldoc.el em-hist.el em-pred.el fixit.texi icon.el ido.el
   locate.el paragraphs.el pcomplete.el repeat.el and 3 other files
 
-Mattias Engdegård: changed byte-opt.el rx.el bytecomp.el
-  bytecomp-tests.el rx-tests.el searching.texi fns.c subr.el bytecode.c
-  eval.c calc-tests.el lread.c progmodes/compile.el lisp.h files.el
-  fns-tests.el print.c autorevert.el gdb-mi.el alloc.c
-  regex-emacs-tests.el and 678 other files
+Mattias Engdegård: changed byte-opt.el bytecomp.el bytecomp-tests.el
+  fns.c subr.el rx.el lisp.h rx-tests.el lread.c searching.texi eval.c
+  bytecode.c print.c calc-tests.el progmodes/compile.el alloc.c
+  fns-tests.el macroexp.el subr-tests.el cconv.el data.c
+  and 789 other files
 
 Mattias M: changed asm-mode-tests.el asm-mode.el
 
@@ -4009,6 +4101,8 @@ Matt Lundin: changed org-agenda.el org.el org-bibtex.el 
org-footnote.el
 
 Matt McClure: changed progmodes/python.el
 
+Matto Fransen: changed rcirc.el rcirc.texi
+
 Matt Pharr: changed message.el
 
 Matt Simmons: changed message.el
@@ -4016,11 +4110,11 @@ Matt Simmons: changed message.el
 Matt Swift: changed dired.el editfns.c lisp-mode.el mm-decode.el
   outline.el progmodes/compile.el rx.el simple.el startup.el
 
-Mauro Aranda: changed wid-edit.el cus-edit.el widget.texi custom.el
-  wid-edit-tests.el perl-mode.el custom-tests.el checkdoc-tests.el
-  checkdoc.el cperl-mode-tests.el cus-edit-tests.el cus-theme.el
-  customize.texi files.texi gnus.texi octave.el pong.el align.el
-  auth-source.el autorevert.el base.el and 62 other files
+Mauro Aranda: changed wid-edit.el cus-edit.el wid-edit-tests.el custom.el
+  widget.texi perl-mode.el cperl-mode-tests.el cus-edit-tests.el
+  custom-tests.el checkdoc-tests.el checkdoc.el cus-theme.el custom.texi
+  customize.texi files.texi filesets.el gnus.texi octave.el pong.el
+  align.el auth-source.el and 79 other files
 
 Maxime Edouard Robert Froumentin: changed gnus-art.el mml.el
 
@@ -4028,6 +4122,8 @@ Maxim Nikulin: changed mailcap.el os.texi timefns.c
 
 Max Mikhanosha: changed org-agenda.el org-habit.el keyboard.c org.el
 
+Mekeor Melire: changed info-tests.el info.el gnus.el
+
 Memnon Anon: changed org.texi
 
 Micah Anderson: changed spook.lines
@@ -4036,15 +4132,15 @@ Michael Albinus: wrote autorevert-tests.el 
dbus-tests.el dbus.el
   filenotify-tests.el filenotify.el files-x-tests.el secrets-tests.el
   secrets.el shadowfile-tests.el tramp-archive-tests.el tramp-archive.el
   tramp-cmds.el tramp-compat.el tramp-crypt.el tramp-ftp.el tramp-fuse.el
-  tramp-gvfs.el tramp-integration.el tramp-rclone.el tramp-smb.el
-  tramp-sshfs.el tramp-sudoedit.el tramp-tests.el url-tramp-tests.el
-  url-tramp.el vc-tests.el zeroconf.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 vc-tests.el zeroconf.el
 and co-wrote tramp-cache.el tramp-sh.el tramp.el
-and changed tramp.texi tramp-adb.el trampver.el trampver.texi dbusbind.c
-  files.el ange-ftp.el files.texi file-notify-tests.el dbus.texi
-  gitlab-ci.yml autorevert.el tramp-fish.el kqueue.c Dockerfile.emba
-  os.texi tramp-gw.el test/Makefile.in README files-x.el shell.el
-  and 309 other files
+and changed tramp.texi tramp-adb.el trampver.el trampver.texi files.el
+  dbusbind.c files.texi gitlab-ci.yml ange-ftp.el file-notify-tests.el
+  dbus.texi Dockerfile.emba autorevert.el tramp-container.el
+  tramp-fish.el kqueue.c os.texi files-x.el shell.el simple.el README
+  and 329 other files
 
 Michael Ben-Gershon: changed acorn.h configure.ac riscix1-1.h riscix1-2.h
   unexec.c
@@ -4080,11 +4176,11 @@ Michael Gschwind: wrote iso-cvt.el
 
 Michael Harnois: changed nnimap.el
 
-Michael Heerdegen: changed bytecomp.el cl-macs.el subr.el control.texi
-  copyright.el css-mode.el dired.el easy-mmode.el eieio-core.el
-  filesets.el gv.el hi-lock.el macroexp.el modula2.el ob-C.el ob-core.el
-  ob-exp.el ob-groovy.el ob-haskell.el ob-lisp.el ob-lob.el
-  and 235 other files
+Michael Heerdegen: changed pp.el subr.el bytecomp.el cl-macs.el advice.el
+  control.texi copyright.el css-mode.el dired.el easy-mmode.el
+  eieio-core.el filesets.el gv.el hi-lock.el macroexp.el modula2.el
+  ob-C.el ob-core.el ob-exp.el ob-groovy.el ob-haskell.el
+  and 237 other files
 
 Michael Hendricks: changed help.el
 
@@ -4226,8 +4322,8 @@ Mike Hamrick: changed dispextern.h term.c termchar.h 
xfaces.c
 Mike Kazantsev: changed erc-dcc.el
 
 Mike Kupfer: changed mh-comp.el mh-e.el mh-mime.el mh-utils.el files.el
-  ftcrfont.c mh-compat.el mh-utils-tests.el emacs-mime.texi files.texi
-  gnus-mh.el gnus.texi mh-acros.el mh-e.texi mh-funcs.el mh-identity.el
+  ftcrfont.c mh-compat.el mh-funcs.el mh-utils-tests.el emacs-mime.texi
+  files.texi gnus-mh.el gnus.texi mh-acros.el mh-e.texi mh-identity.el
   mh-scan.el xftfont.c
 
 Mike Lamb: changed em-unix.el esh-util.el pcmpl-unix.el
@@ -4284,19 +4380,24 @@ Miyoshi Masanori: changed mouse.el smtpmail.el xdisp.c
 Mohsen Banan: wrote persian.el
 and changed TUTORIAL.fa loadup.el misc-lang.el
 
-Mohsin Kaleem: changed eglot.el
+Mohsin Kaleem: changed cus-face.el dispextern.h eglot.el term.c
+  termchar.h xfaces.c xterm.c
 
 Mon Key: changed animate.el imap.el syntax.el
 
-Morgan Smith: changed image-dired.el doc-view.el gnus-group-tests.el
-  minibuffer-tests.el minibuffer.el url-vars.el vc-git.el window.el
+Morgan Smith: changed image-dired.el doc-view.el window.el
+  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 Willcock: changed tempo.el
 
-Morten Welinder: wrote [many MS-DOS files] arc-mode.el desktop.el
-  dosfns.c internal.el msdos.h pc-win.el
-and changed msdos.c sed1.inp config.bat keyboard.c sed2.inp fileio.c
-  sed3.inp dos-fns.el callproc.c add-log.el alpha.h data.c editfns.c
-  emacs.c etags.c files.el info.el lread.c mainmake osf1.h tar-mode.el
-  and 74 other files
+Moritz Maxeiner: changed commands.texi cus-start.el dispnew.c xdisp.c
+
+Morten Welinder: wrote [many MS-DOS files] arc-mode.el dosfns.c msdos.h
+and changed alpha.h editfns.c keyboard.c osf1.h data.c emacs.c lisp.h
+  Makefile.in add-log.el alloc.c buffer.h comint.el config.bat config.in
+  configure.ac desktop.el dispextern.h dispnew.c doprnt.c dos-fns.el
+  dosfns.h and 37 other files
 
 Mosur Mohan: changed etags.c
 
@@ -4309,10 +4410,9 @@ Muchenxuan Tong: changed org-agenda.el org-mobile.el 
org-timer.el
 Murata Shuuichirou: changed coding.c
 
 M Visuwesh: changed dired-aux.el image.el ind-util.el quail/indian.el
-  delsel.el eww.el find-dired.el mailcap.el mouse.el arc-mode.el
-  comint.el doc-view.el emacsbug.el gnus-group.el gnus-srvr.el
-  gnus-sum.el gnus.el help-fns.el image-crop.el language/indian.el
-  mark.texi and 9 other files
+  delsel.el doc-view.el eww.el find-dired.el mailcap.el mouse.el shr.el
+  arc-mode.el comint.el dired-x.el dired.el easy-mmode.el emacsbug.el
+  ffap.el files.el files.texi gnus-group.el and 18 other files
 
 Myles English: changed org-clock.el
 
@@ -4321,7 +4421,7 @@ Nacho Barrientos: changed url-http.el bindat-tests.el 
bindat.el
 Nachum Dershowitz: co-wrote cal-hebrew.el
 
 Nagy Andras: co-wrote gnus-sieve.el
-and changed imap.el gnus.el
+and changed net/imap.el gnus.el
 
 Nakagawa Makoto: changed ldap.el
 
@@ -4331,7 +4431,7 @@ Nakamura Toshikazu: changed w32fns.c
 
 Nali Toja: changed configure.ac
 
-Naofumi Yasufuku: changed tramp-sh.el
+Naofumi Yasufuku: changed search.c tramp-sh.el
 
 Naohiro Aota: changed fontset.c ftfont.c gnus-art.el mm-view.el tls.el
   xftfont.c
@@ -4352,14 +4452,14 @@ Nathan Trapuzzano: changed cconv.el cl-macs.el 
cperl-mode.el gnus.texi
 
 Nathan Weizenbaum: changed js.el progmodes/python.el
 
+Neal Sidhwaney: changed lisp-mode-tests.el lisp-mode.el
+
 Neal Ziring: co-wrote vi.el (public domain)
 
 Neil Mager: wrote appt.el
 
 Neil Roberts: changed custom.texi display.texi files.el xdisp.c
 
-Neil W. Van Dyke: wrote webjump.el
-
 Nelson H. F. Beebe: changed configure.ac
 
 Nelson Jose dos Santos Ferreira: changed nnsoup.el emacs.el gnus-art.el
@@ -4383,15 +4483,12 @@ Nicholas Maniscalco: changed term.el
 
 Nicholas Strauss: changed lunar.el
 
-Nicholas Vollmer: changed emacs.1.in easy-mmode.el
+Nicholas Vollmer: changed emacs.1.in checkdoc.el easy-mmode.el
 
 Nick Alcock: changed control.texi customize.texi display.texi files.el
   frames.texi gnus.el keymaps.texi modes.texi nonascii.texi syntax.texi
   text.texi windows.texi
 
-Nick Dokos: changed org-table.el ox.el icalendar.el mh-search.el
-  org-mobile.el org.el ox-ascii.el url-cache.el
-
 Nick Drozd: changed quail/georgian.el eww.el eww.texi shr.el HELLO
   cc-mode-tests.el ido.texi replace-tests.el
 
@@ -4442,7 +4539,7 @@ and changed README authors.el configure.ac sed2v2.inp 
sequences.texi
   README.W32 emacs.png HISTORY emacs23.png arc-mode.el cl-extra.el
   emacs.svg manoj-dark-theme.el Emacs.icns Makefile.in auth-source.el
   emacs.ico fns.c make-tarball.txt obarray-tests.el obarray.el
-  and 37 other files
+  and 36 other files
 
 Nicolas Richard: wrote cl-seq-tests.el cmds-tests.el replace-tests.el
 and changed ffap.el package.el use-package.el byte-run.el help.el
@@ -4464,6 +4561,8 @@ Nikolai Weibull: changed org.el
 Nikolaj Schumacher: changed flymake.el progmodes/compile.el eldoc.el
   elp.el nsfont.m rx.el
 
+Nikolaos Chatzikonstantinou: changed gnutls.c gnutls.el
+
 Nikolaus Rath: changed nnimap.el gnus-sum.el gnus.texi
 
 Nikolay Kudryavtsev: changed bytecomp.el checkdoc.el sql.el vc-git.el
@@ -4487,8 +4586,10 @@ and changed rsz-mini.el emacs-buffer.gdb comint.el 
files.el Makefile
 
 Noah Lavine: changed tramp.el
 
-Noah Peart: changed typescript-ts-mode.el indent.erts js.el treesit.el
-  c-ts-mode.el js-tests.el js-ts-indents.erts
+Noah Peart: changed typescript-ts-mode.el go-ts-mode.el indent.erts
+  progmodes/python.el js.el lua-ts-mode.el rust-ts-mode.el treesit.el
+  c-ts-mode.el erts-mode.el font-lock.go font-lock.rs go-ts-mode-tests.el
+  js-tests.el js-ts-indents.erts python-tests.el rust-ts-mode-tests.el
 
 Noah Swainland: changed calc.el goto-addr.el misc.texi
 
@@ -4505,6 +4606,8 @@ Nobuyuki Hikichi: changed news-risc.h
 
 Noel Cragg: changed mh-junk.el
 
+Noé Lopez: changed misc.texi xwidget.c
+
 Noorul Islam: changed ox-latex.el org.el org.texi ox-html.el
   org-capture.el org-gnus.el org-habit.el package.el
 
@@ -4526,7 +4629,7 @@ Ognyan Kulev: changed TUTORIAL.bg cyrillic.el
 
 Okazaki Tetsurou: changed cc-fonts.el vc-svn.el vc.el
 
-Olaf Rogalsky: changed keyboard.c help.el mouse.el xt-mouse.el
+Olaf Rogalsky: changed keyboard.c xt-mouse.el help.el mouse.el
 
 Olaf Sylvester: wrote bs.el
 
@@ -4561,8 +4664,9 @@ and changed gamegrid.el gnus-cite.el nonascii.texi rx.el 
startup.el
 Oliver Seidel: wrote otodo-mode.el
 and co-wrote todo-mode.el
 
-Olivier Certner: changed erc-track.el erc-ibuffer.el ediff-diff.el
-  erc-services.el erc-stamp.el
+Olivier Certner: wrote vc-cvs-tests.el
+and changed erc-track.el erc-ibuffer.el vc-cvs.el ediff-diff.el
+  erc-services.el erc-stamp.el vc.el
 
 Olivier Laurens: changed forms.el
 
@@ -4592,12 +4696,17 @@ and changed ph.el
   em-cmpl.el emacsclient.c keyboard.c ms-w32.h preprep.c vc-bzr.el
   and 11 other files
 
+Osmo Karppinen: changed erc.el
+
 Øyvind Stegard: changed gnus-msg.el
 
 Pablo Barbáchano: wrote ansi-color-tests.el
 and changed ansi-color.el
 
-Pankaj Jangid: changed gnus-sum.el gnus.texi semantic.texi frame.c
+Pankaj Jangid: changed gnus-sum.el gnus.texi semantic.texi eglot.el
+  frame.c
+
+Pär Bohrarper: changed project.el
 
 Pascal Dupuis: changed octave.el
 
@@ -4619,9 +4728,9 @@ and changed imenu.el make-mode.el
 Paul Eggert: wrote rcs2log
 and co-wrote cal-dst.el
 and changed lisp.h configure.ac alloc.c fileio.c process.c editfns.c
-  sysdep.c xdisp.c fns.c image.c emacs.c keyboard.c data.c lread.c
-  xterm.c eval.c gnulib-comp.m4 callproc.c Makefile.in buffer.c frame.c
-  and 1860 other files
+  sysdep.c xdisp.c fns.c image.c data.c emacs.c keyboard.c lread.c
+  xterm.c eval.c gnulib-comp.m4 merge-gnulib callproc.c Makefile.in
+  buffer.c and 1886 other files
 
 Paul Fisher: changed fns.c
 
@@ -4663,15 +4772,15 @@ Paul Stodghill: changed gnus-agent.el gnus-util.el
 
 Paul Van Der Walt: changed message.el
 
-Paul W. Rankin: changed bookmark.el font-lock.el nsterm.m outline.el
-  which-func.el
+Paul W. Rankin: changed bookmark.el files.el font-lock.el help-macro.el
+  nsterm.m outline.el which-func.el
 
 Pavel Janík: co-wrote eudc-bob.el eudc-export.el eudc-hotlist.el
   eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el
 and changed keyboard.c xterm.c COPYING xdisp.c process.c emacs.c lisp.h
   menu-bar.el ldap.el make-dist xfns.c buffer.c coding.c eval.c fileio.c
   flyspell.el fns.c indent.c Makefile.in callint.c cus-start.el
-  and 699 other files
+  and 697 other files
 
 Pavel Kobiakov: wrote flymake-proc.el flymake.el
 and changed flymake.texi
@@ -4753,8 +4862,9 @@ Peter O'Gorman: changed configure.ac frame.h hpux10-20.h 
termhooks.h
 
 Peter Oliver: changed emacsclient.desktop emacsclient-mail.desktop
   Makefile.in emacs-mail.desktop misc.texi server.el configure.ac
-  emacs.desktop emacs.metainfo.xml emacsclient.1 perl-mode.el
-  ruby-mode-tests.el vc-sccs.el
+  dired-tests.el ediff-diff.el emacs.c emacs.desktop emacs.metainfo.xml
+  emacsclient.1 perl-mode.el ruby-mode-tests.el vc-sccs.el
+  wdired-tests.el
 
 Peter Povinec: changed term.el
 
@@ -4793,11 +4903,12 @@ Petri Kaurinkoski: changed configure.ac iris4d.h 
irix6-0.h irix6-5.h
 
 Petr Salinger: changed configure.ac gnu-kfreebsd.h
 
-Petteri Hintsanen: changed sequences.texi Makefile.in emacs/Makefile.in
-  lispintro/Makefile.in lispref/Makefile.in misc/Makefile.in tab-bar.el
+Petteri Hintsanen: changed sequences.texi tab-bar.el Makefile.in
+  bindat.el emacs/Makefile.in lispintro/Makefile.in lispref/Makefile.in
+  misc/Makefile.in
 
 Phil Hagelberg: wrote ert-x-tests.el
-and changed package.el pcmpl-unix.el subr.el
+and changed package.el pcmpl-unix.el eglot.el subr.el
 
 Philip Brown: changed comp.el
 
@@ -4807,10 +4918,13 @@ Philip Jackson: wrote find-cmd.el ol-irc.el
 and changed org-irc.el
 
 Philip Kaludercic: wrote epa-ks.el package-vc.el
-and changed rcirc.el package.el rcirc.texi vc-git.el vc.el package.texi
-  project.el message.el loaddefs-gen.el simple.el subr.el vc-hg.el
-  .dir-locals.el custom.el gravatar.el outline.el vc-svn.el vc/vc-bzr.el
-  windmove.el window.el bytecomp.el and 65 other files
+and co-wrote compat.el
+and changed rcirc.el package.el vc.el rcirc.texi vc-git.el package.texi
+  project.el which-key.el eglot.el message.el loaddefs-gen.el simple.el
+  subr.el vc-hg.el .dir-locals.el bytecomp.el custom.el gravatar.el
+  help.el outline.el vc-svn.el and 73 other files
+
+Philippe Altherr: changed sh-script.el sh-script-tests.el shell.sh
 
 Philipp Edelmann: changed eglot.el
 
@@ -4838,6 +4952,8 @@ and changed emacs-module.c emacs-module-tests.el 
configure.ac json.c
   bytecomp.el lisp.h seccomp-filter.c callproc.c cl-macs.el gtkutil.c
   and 189 other files
 
+Philipp Uhl: changed secrets.el
+
 Phillip Dixon: changed eglot.el
 
 Phillip Lord: wrote ps-print-tests.el w32-feature.el
@@ -4850,10 +4966,10 @@ and changed build-zips.sh build-dep-zips.py 
lisp/Makefile.in undo.c
 Phil Sainty: wrote autoload-longlines-mode-tests.el
   autoload-major-mode-tests.el autoload-minor-mode-tests.el
   so-long-tests-helpers.el so-long-tests.el so-long.el spelling-tests.el
-and changed term.el comint.el buffer.c diff.el goto-addr.el modes.texi
-  cl-macs.el derived.el easy-mmode.el ecomplete.el emacs.texi files.texi
-  lisp.el misc.texi package.el progmodes/grep.el simple.el subr-x.el
-  subword.el trouble.texi xdisp.c
+and changed buffer.c modes.texi term.el comint.el diff.el goto-addr.el
+  xdisp.c cl-macs.el derived.el easy-mmode.el ecomplete.el emacs.texi
+  files.texi lisp.el misc.texi package.el progmodes/grep.el simple.el
+  subr-x.el subword.el trouble.texi
 
 Phil Sung: changed wdired.el dired.texi follow.el progmodes/python.el
 
@@ -4893,17 +5009,18 @@ Piotr Zieliński: wrote org-mouse.el
 
 Pip Cet: wrote image-circular-tests.el
 and changed xdisp.c comp.c byte-opt.el fns.c pdumper.c alloc.c
-  display.texi ftcrfont.c image.c xterm.c bytecomp-tests.el bytecomp.el
-  ccl-tests.el ccl.c ccl.el cmds.c comint.el comp-test-funcs.el
-  comp-tests.el comp.el composite.c and 29 other files
+  display.texi ftcrfont.c image.c sfnt.c xterm.c bytecomp-tests.el
+  bytecomp.el ccl-tests.el ccl.c ccl.el cmds.c comint.el
+  comp-test-funcs.el comp-tests.el comp.el and 32 other files
 
 Platon Pronko: changed tramp.el
 
-Po Lu: changed xterm.c haikuterm.c haiku_support.cc xfns.c xterm.h
-  xwidget.c haiku_support.h haikufns.c nsterm.m pgtkterm.c
-  pixel-scroll.el gtkutil.c haiku-win.el x-dnd.el frames.texi
-  haikuselect.c xselect.c xwidget.el keyboard.c haikuterm.h xmenu.c
-  and 200 other files
+Po Lu: wrote tramp-androidsu.el
+and changed xterm.c haikuterm.c xfns.c haiku_support.cc android.c xterm.h
+  configure.ac xwidget.c sfnt.c EmacsService.java haiku_support.h
+  androidterm.c haikufns.c android.texi keyboard.c pgtkterm.c frames.texi
+  nsterm.m pixel-scroll.el sfntfont.c EmacsWindow.java
+  and 534 other files
 
 Pontus Michael: changed simple.el
 
@@ -4913,12 +5030,15 @@ Prestoo Ten: changed screen.el
 
 Primoz Peterlin: changed TUTORIAL.sl
 
-Protesilaos Stavrou: wrote modus-operandi-theme.el modus-themes.el
-  modus-vivendi-theme.el
+Protesilaos Stavrou: wrote modus-operandi-deuteranopia-theme.el
+  modus-operandi-theme.el modus-operandi-tinted-theme.el
+  modus-operandi-tritanopia-theme.el modus-themes.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 vc-git.el apropos.el custom.el diff-mode.el
-  language/greek.el log-edit.el minibuffer.el perl-mode.el shortdoc.el
-  shr.el vc-cvs.el vc-hg.el vc-svn.el vc/vc-bzr.el
+  modus-themes.texi time.el vc-git.el appt.el apropos.el custom.el
+  diff-mode.el language/greek.el log-edit.el minibuffer.el perl-mode.el
+  shortdoc.el shr.el vc-cvs.el vc-hg.el vc-svn.el vc/vc-bzr.el
 
 Przemysław Wojnowski: wrote obarray-tests.el sgml-mode-tests.el
 and changed abbrev-tests.el abbrev.el cl-lib-tests.el loadup.el
@@ -4929,7 +5049,8 @@ Puneeth Chaganti: changed org.texi ox.el org-agenda.el 
org-capture.el
 
 Qiantan Hong: changed xwidget.c
 
-Qifan Wang: changed eww.texi shr.el
+Qifan Wang: changed auth-source-tests.el auth-source.el eww.texi
+  newst-backend.el newst-plainview.el shr.el
 
 Radon Rosborough: changed package.el custom.texi package.texi startup.el
   eval.c lread.c org.texi os.texi xterm.c
@@ -4940,6 +5061,8 @@ Rafael Sepúlveda: changed TUTORIAL.es
 
 Raffael Mancini: changed misc.el
 
+Raffael Stocker: changed w32.c w32console.c w32fns.c w32term.h w32xfns.c
+
 Raimon Grau: changed thingatpt.el calc-fin.el eww.el replace.el
   thingatpt-tests.el
 
@@ -4985,7 +5108,7 @@ Randall Smith: changed dired.el
 Randal Schwartz: wrote pp.el
 
 Randy Taylor: changed build.sh dockerfile-ts-mode.el eglot.el batch.sh
-  rust-ts-mode.el cmake-ts-mode.el go-ts-mode.el c-ts-mode.el
+  cmake-ts-mode.el rust-ts-mode.el go-ts-mode.el c-ts-mode.el
   cus-theme.el font-lock.el java-ts-mode.el js.el json-ts-mode.el
   modes.texi progmodes/python.el project.el sh-script.el
   typescript-ts-mode.el yaml-ts-mode.el
@@ -5050,16 +5173,12 @@ Richard Dawe: changed config.in src/Makefile.in
 
 Richard G. Bielawski: changed modes.texi paren.el
 
-Richard Hansen: changed bindat-tests.el bindat.el whitespace.el
+Richard Hansen: changed whitespace.el bindat-tests.el bindat.el
   processes.texi whitespace-tests.el ert-x.el easy-mmode.el
   ert-x-tests.el info-edit.el info.el
 
 Richard Hoskins: changed message.el
 
-Richard Kim: wrote wisent/python.el
-and changed bovine.texi db-global.el gud.el loading.texi python-wy.el
-  texnfo-upd.el wisent.texi
-
 Richard King: wrote filelock.c uniquify.el userlock.el
 
 Richard Lawrence: changed org-agenda.el ox-latex.el
@@ -5084,10 +5203,12 @@ and co-wrote cc-align.el cc-cmds.el cc-defs.el 
cc-engine.el cc-langs.el
 and changed files.el keyboard.c simple.el xterm.c xdisp.c rmail.el
   fileio.c process.c sysdep.c buffer.c xfns.c window.c subr.el
   configure.ac startup.el sendmail.el emacs.c Makefile.in editfns.c
-  info.el dired.el and 1337 other files
+  info.el dired.el and 1336 other files
 
 Richard Ryniker: changed sendmail.el
 
+Richard Sent: changed simple.el
+
 Richard Sharman: wrote hilit-chg.el
 and changed sh-script.el ediff-init.el regexp-opt.el simple.el
 
@@ -5104,16 +5225,20 @@ Rob Browning: changed tls.el configure.ac 
ibuffer-tests.el tramp-tests.el
 
 Rob Christie: changed nsmenu.m
 
+Robert A. Burks: changed flymake.el
+
 Robert Bihlmeyer: changed gnus-score.el gnus-util.el message.el
 
 Robert Brown: changed lisp-mode.el
 
+Robert Church: changed color-tests.el color.el dbus-tests.el
+
 Robert Cochran: changed tab-bar.el bytecomp.el checkdoc.el data.c
   frames.texi map.el
 
 Robert Fenk: changed desktop.el
 
-Robert Jarzmik: changed ede/linux.el inversion.el
+Robert Jarzmik: changed ede/linux.el lisp/obsolete/inversion.el
 
 Robert J. Chassell: wrote makeinfo.el page-ext.el texinfo.el
   texnfo-upd.el
@@ -5131,11 +5256,11 @@ Roberto Rodríguez: changed glossary.texi widget.texi
 Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el
 
 Robert Pluim: wrote nsm-tests.el
-and changed configure.ac process.c blocks.awk keymap.el font.c
-  network-stream-tests.el processes.texi custom.texi emoji-zwj.awk
-  ftfont.c gtkutil.c process-tests.el unicode vc-git.el terminal.c
-  char-fold.el gnutls.el keymaps.texi network-stream.el nsm.el nsterm.m
-  and 193 other files
+and changed configure.ac process.c keymap.el blocks.awk custom.texi
+  font.c network-stream-tests.el processes.texi emoji-zwj.awk ftfont.c
+  gtkutil.c process-tests.el unicode vc-git.el files.texi nsterm.m
+  terminal.c char-fold.el display.texi gnutls.el help.el
+  and 214 other files
 
 Robert Thorpe: changed cus-start.el indent.el rmail.texi
 
@@ -5144,16 +5269,21 @@ Robert Weiner: changed cus-edit.el etags.el 
positions.texi simple.el
 
 Rob Giardina: changed org-agenda.el
 
+Robin Joy: changed em-hist-tests.el em-hist.el
+
 Rob Kaut: changed vhdl-mode.el
 
 Rob Riepel: wrote tpu-edt.doc tpu-edt.el tpu-extras.el tpu-mapper.el
   vt-control.el
+and changed lisp/obsolete/vt-control.el
 
 Roderick Schertler: changed dgux.h dgux4.h gud.el sysdep.c
 
 Rodney J. Whitby: co-wrote vhdl-mode.el
 and changed vhdl-mode.texi
 
+Rodrigo Kassick: changed window.el
+
 Rodrigo Real: changed pt-br-refcard.tex
 
 Roger Breitenstein: changed smtpmail.el
@@ -5161,8 +5291,6 @@ Roger Breitenstein: changed smtpmail.el
 Roland B. Roberts: changed buffer.h callproc.c dired.c files.el
   gnus-group.el gnus-sum.el process.c sort.el sysdep.c systty.h
 
-Roland Kaufmann: changed configure.ac ox.el
-
 Roland McGrath: wrote autoload.el etags.el map-ynp.el progmodes/grep.el
 and co-wrote find-dired.el progmodes/compile.el
 and changed compile.el add-log.el configure.ac files.el vc.el simple.el
@@ -5211,12 +5339,15 @@ and changed eww.el octave.el shr.el bibtex.el 
configure.ac
   building.texi bytecomp.el calc-lang.el cc-langs.el dired.texi editfns.c
   emacs.c emacs.texi epa.el erc.el eww.texi and 39 other files
 
+Rudi Schlatte: changed iso-transl.el
+
 Rudolf Adamkovič: co-wrote quail/slovak.el
-and changed files.el scheme.el
+and changed compilation.txt compile-tests.el progmodes/compile.el
+  calc-units.el files.el scheme.el
 
 Rudolf Schlatte: changed README.md eglot.el
 
-Ruijie Yu: changed TUTORIAL.cn
+Ruijie Yu: changed TUTORIAL.cn arc-mode-tests.el arc-mode.el
 
 Rui-Tao Dong: changed nnweb.el
 
@@ -5254,12 +5385,10 @@ Ryo Takaishi: changed ob-tangle.el org-capture.el 
org-protocol.el
 Ryo Yoshitake: changed xterm.c frame.c frame.h mac.c macfns.c w32fns.c
   xfns.c
 
-Ryszard Kubiak: co-wrote ogonek.el
-
 R-Zip: changed eglot.el
 
 Sacha Chua: wrote erc-pcomplete.el
-and changed erc.el org.el erc-button.el org.texi
+and changed erc.el org.el erc-button.el org.texi shr.el
 
 Saito Takuya: changed mule.el progmodes/compile.el
 
@@ -5277,9 +5406,9 @@ Sam Kendall: changed etags.c etags.el
 
 Sam Steingold: wrote gulp.el midnight.el
 and changed progmodes/compile.el cl-indent.el simple.el vc-cvs.el vc.el
-  mouse.el vc-hg.el files.el tex-mode.el etags.el font-lock.el
-  sgml-mode.el subr.el window.el ange-ftp.el gnus-sum.el inf-lisp.el
-  message.el package.el rcirc.el vc-git.el and 213 other files
+  mouse.el vc-hg.el files.el gnus-sum.el tex-mode.el etags.el
+  font-lock.el sgml-mode.el subr.el window.el ange-ftp.el inf-lisp.el
+  message.el package.el rcirc.el shell.el and 214 other files
 
 Samuel Bronson: changed custom.el emacsclient.c keyboard.c
   progmodes/grep.el semantic/format.el unexmacosx.c
@@ -5328,6 +5457,7 @@ Scott A Crosby: changed gnus-logic.el
 Scott Bender: co-wrote ns-win.el
 
 Scott Byer: co-wrote nnfolder.el
+and changed gnus-sum.el
 
 Scott Corley: changed scroll.c
 
@@ -5351,11 +5481,10 @@ Sean O'Rourke: changed complete.el comint.el dabbrev.el 
find-func.el
 Sean Sieger: changed emacs-lisp-intro.texi
 
 Sean Whitton: wrote em-elecslash.el em-extpipe-tests.el em-extpipe.el
-and changed vc-git.el project.el bindings.el vc-dispatcher.el
-  eshell-tests.el server.el simple.el vc.el window.el .dir-locals.el
-  cl-macs.el eshell-tests-helpers.el eshell.texi files.texi ftfont.c
-  startup.el subr.el term.el INSTALL buffer.c calc-yank.el
-  and 22 other files
+and changed vc-git.el project.el bindings.el server.el simple.el
+  vc-dispatcher.el vc.el eshell-tests.el eshell.texi subr-x.el window.el
+  .dir-locals.el cl-macs.el eshell-tests-helpers.el files.texi ftfont.c
+  startup.el subr.el term.el INSTALL buffer.c and 30 other files
 
 Sebastian Fieber: changed gnus-art.el mm-decode.el mm-view.el
 
@@ -5367,14 +5496,14 @@ Sebastian Kremer: wrote dired-aux.el dired.el ls-lisp.el
 and co-wrote dired-x.el find-dired.el
 and changed add-log.el
 
-Sebastian Miele: changed strings.texi
+Sebastian Miele: changed simple-tests.el simple.el strings.texi
 
 Sebastian Reuße: changed find-dired.el
 
 Sebastian Rose: co-wrote org-protocol.el
 and changed ox-publish.el ftfont.c ox-jsinfo.el
 
-Sebastian Tennant: changed desktop.el
+Sebastian Tennant: changed desktop.el man.el
 
 Sebastian Urban: changed display.texi text.texi basic.texi docstyle.texi
   emacs.texi fixit.texi help.el
@@ -5394,8 +5523,9 @@ Sébastien Vauban: changed org.el org-agenda.el 
ox-latex.el ob-core.el
   org-clock.el ox-ascii.el ox-html.el
 
 Seiji Zenitani: changed nsfns.m frame.c xterm.c PkgInfo document.icns
-  find-func.el frame.h help-fns.el macfns.c nsfont.m nsterm.m w32fns.c
-  xdisp.c xfns.c
+  find-func.el frame.h help-fns.el macfns.c
+  nextstep/templates/Info.plist.in nsfont.m nsterm.m w32fns.c xdisp.c
+  xfns.c
 
 Sen Nagata: wrote crm.el rfc2368.el
 
@@ -5477,6 +5607,8 @@ Shun-ichi Goto: changed url-http.el
 
 Shyam Karanatt: changed image-mode.el
 
+Siddharth Sharma: changed eglot.el
+
 Sidney Markowitz: changed doctor.el nsmenu.m
 
 Sigbjorn Finne: changed gnus-srvr.el
@@ -5491,7 +5623,7 @@ and changed css-mode.el project.el json-tests.el json.el 
scss-mode.scss
   sgml-mode.el less-css-mode.less maintaining.texi modes.texi page.el
   ring.el rot13.el scheme.el sql.el apropos.el asm-mode.el autoconf.el
   autoinsert.el browse-url.el check-declare.el color.el
-  and 16 other files
+  and 18 other files
 
 Simona Arizanova: changed help.el
 
@@ -5501,10 +5633,11 @@ Simon Josefsson: wrote dig.el dns-mode.el flow-fill.el 
fringe.el imap.el
   url-imap.el
 and co-wrote gnus-sieve.el gssapi.el mml1991.el nnfolder.el nnimap.el
   nnml.el rot13.el sieve-manage.el
-and changed message.el gnus-sum.el gnus-art.el smtpmail.el pgg-gpg.el
-  pgg.el gnus-agent.el mml2015.el mml.el gnus-group.el mm-decode.el
-  gnus-msg.el gnus.texi pgg-pgp5.el browse-url.el gnus-int.el gnus.el
-  hashcash.el mm-view.el password.el gnus-cache.el and 99 other files
+and changed message.el gnus-sum.el net/imap.el gnus-art.el smtpmail.el
+  pgg-gpg.el pgg.el gnus-agent.el mml2015.el mml.el gnus-group.el
+  mm-decode.el gnus-msg.el gnus.texi pgg-pgp5.el browse-url.el
+  gnus-int.el gnus.el hashcash.el mm-view.el password.el
+  and 100 other files
 
 Simon Lang: changed building.texi icomplete.el misterioso-theme.el
   progmodes/grep.el
@@ -5532,11 +5665,17 @@ Skip Collins: changed w32fns.c w32term.c w32term.h
 
 Skykanin-: changed eglot.el
 
+Slava Akhmechet: changed eglot.texi
+
 Sławomir Nowaczyk: changed emacs.py progmodes/python.el TUTORIAL.pl
   flyspell.el ls-lisp.el w32proc.c
 
-Spencer Baugh: changed data-tests.el minibuffer.el alloc.c autorevert.el
-  flymake.el menu-bar.el mini.texi processes.texi simple.el
+Spencer Baugh: wrote uniquify-tests.el which-func-tests.el
+and changed project.el minibuffer.el simple.el progmodes/grep.el vc-hg.el
+  data-tests.el flymake.el mini.texi startup.el uniquify.el which-func.el
+  alloc.c autorevert.el bindings.el casefiddle-tests.el casefiddle.c
+  comint.el crm.el dired-aux.el dired-x.el dired-x.texi
+  and 22 other files
 
 Spencer Thomas: changed dabbrev.el emacsclient.c gnus.texi server.el
   unexcoff.c
@@ -5547,6 +5686,8 @@ Sriram Thaiyar: changed ruby-mode-tests.el ruby-mode.el
 
 Stanislav Shalunov: wrote uce.el
 
+Stanislav Yaglo: changed macfont.m
+
 Stefan Baums: changed misc-lang.el HELLO
 
 Stefan Bruda: co-wrote prolog.el
@@ -5561,10 +5702,10 @@ Stefan Kangas: wrote bookmark-tests.el 
cal-julian-tests.el
   studly-tests.el tabify-tests.el time-tests.el timezone-tests.el
   underline-tests.el uudecode-tests.el wallpaper.el warnings-tests.el
 and co-wrote help-tests.el keymap-tests.el
-and changed image-dired.el efaq.texi package.el cperl-mode.el help.el
-  subr.el checkdoc.el bookmark.el simple.el dired.el files.el gnus.texi
-  dired-x.el keymap.c image-mode.el erc.el ediff-util.el speedbar.el
-  woman.el browse-url.el bytecomp-tests.el and 1689 other files
+and changed image-dired.el efaq.texi package.el cperl-mode.el checkdoc.el
+  subr.el help.el simple.el bookmark.el dired.el files.el dired-x.el
+  gnus.texi browse-url.el erc.el keymap.c image-mode.el ediff-util.el
+  speedbar.el woman.el ffap.el and 1799 other files
 
 Stefan Merten: co-wrote rst.el
 
@@ -5576,12 +5717,12 @@ Stefan Monnier: wrote bibtex-style.el bytecomp-tests.el
   macroexp-tests.el minibuffer-tests.el minibuffer.el mpc.el nadvice.el
   oclosure.el pcase.el pcvs-defs.el pcvs-info.el pcvs-parse.el
   pcvs-util.el radix-tree.el regexp-opt-tests.el reveal.el smerge-mode.el
-  smie.el subword-tests.el vc-mtn.el
-and co-wrote font-lock.el gitmerge.el pcvs.el
-and changed subr.el simple.el keyboard.c bytecomp.el cl-macs.el files.el
-  lisp.h vc.el xdisp.c alloc.c eval.c buffer.c sh-script.el
-  progmodes/compile.el tex-mode.el keymap.c window.c help-fns.el lread.c
-  lisp-mode.el package.el and 1657 other files
+  smie.el subword-tests.el track-changes.el vc-mtn.el
+and co-wrote font-lock.el gitmerge.el pcvs.el visual-wrap.el
+and changed subr.el simple.el cl-macs.el bytecomp.el keyboard.c lisp.h
+  files.el vc.el eval.c xdisp.c alloc.c buffer.c sh-script.el help-fns.el
+  progmodes/compile.el tex-mode.el lread.c keymap.c package.el window.c
+  edebug.el and 1724 other files
 
 Stefano Facchini: changed gtkutil.c
 
@@ -5597,7 +5738,7 @@ Stefan-W. Hahn: changed org-bibtex.el ps-print.el 
simple.el subr.el
 
 Stefan Wiens: changed gnus-sum.el
 
-Steinar Bang: changed gnus-setup.el imap.el
+Steinar Bang: changed gnus-setup.el net/imap.el
 
 Štěpán Němec: changed loadhist.el files.el gnus-sum.el loading.texi
   subr.el INSTALL calc-ext.el checkdoc.el cl.texi comint.el edebug.texi
@@ -5613,12 +5754,12 @@ Stephan Stahl: changed which-func.el buff-menu.el 
buffer.c dired-x.texi
 Stephen A. Wood: changed fortran.el
 
 Stephen Berman: wrote todo-mode-tests.el
-and co-wrote todo-mode.el
-and changed wdired.el todo-mode.texi wdired-tests.el diary-lib.el
-  dired.el dired-tests.el doc-view.el files.el info.el minibuffer.el
-  outline.el todo-test-1.todo allout.el eww.el find-dired.el frames.texi
-  hl-line.el menu-bar.el mouse.el otodo-mode.el simple.el
-  and 65 other files
+and co-wrote todo-mode.el visual-wrap.el
+and changed wdired.el wid-edit.el todo-mode.texi wdired-tests.el
+  diary-lib.el dired.el dired-tests.el doc-view.el files.el info.el
+  minibuffer.el outline.el todo-test-1.todo widget.texi allout.el eww.el
+  find-dired.el frames.texi hl-line.el ibuffer.el menu-bar.el
+  and 70 other files
 
 Stephen C. Gilardi: changed configure.ac
 
@@ -5633,19 +5774,19 @@ and changed diary-lib.el octave.el org-agenda.el 
locate.el replace.el
 Stephen Gildea: wrote refcard.tex
 and co-wrote mh-funcs.el mh-search.el
 and changed time-stamp.el time-stamp-tests.el mh-e.el mh-utils-tests.el
-  mh-junk.el mh-utils.el mh-comp.el mh-show.el mh-e.texi files.el
-  mh-customize.el mh-folder.el mh-scan.el mh-xface-tests.el
-  test-all-mh-variants.sh backups.texi comp-tests.el compile.texi
+  mh-junk.el mh-utils.el mh-comp.el mh-show.el mh-e.texi
+  test-all-mh-variants.sh files.el mh-customize.el mh-folder.el
+  mh-scan.el mh-xface-tests.el backups.texi comp-tests.el compile.texi
   dns-mode.el fileio.c files.texi and 20 other files
 
 Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el
 
 Stephen Leake: wrote elisp-mode-tests.el
 and changed elisp-mode.el xref.el eglot.el window.el mode-local.el
-  project.el CONTRIBUTE vc-mtn.el ada-stmt.el cedet-global.el
-  ede/generic.el simple.el autoload.el bytecomp.el cl-generic.el
-  ede/locate.el files.texi functions.texi package.el progmodes/grep.el
-  windows.texi and 33 other files
+  project.el CONTRIBUTE vc-mtn.el cedet-global.el ede/generic.el
+  simple.el autoload.el bytecomp.el cl-generic.el ede/locate.el
+  files.texi functions.texi package.el progmodes/grep.el windows.texi
+  INSTALL.REPO and 32 other files
 
 Stephen Pegoraro: changed xterm.c
 
@@ -5657,8 +5798,9 @@ Steve Fisk: co-wrote cal-tex.el
 
 Steve Grubb: changed vcdiff
 
-Steven Allen: changed em-prompt.el esh-mode.el tramp-gvfs.el
-  tramp-integration.el url-expand.el xdg.el
+Steven Allen: changed functions.texi nadvice.el package-vc.el
+  em-prompt.el esh-mode.el tramp-gvfs.el tramp-integration.el
+  url-expand.el use-package-core.el use-package-tests.el xdg.el
 
 Steven De Herdt: changed vc/vc-bzr.el
 
@@ -5827,11 +5969,10 @@ Thamer Mahmoud: changed arabic.el
 Theodore Jump: changed makefile.nt makefile.def w32-win.el w32faces.c
 
 Theodor Thornhill: changed typescript-ts-mode.el java-ts-mode.el
-  c-ts-mode.el eglot.el csharp-mode.el js.el css-mode.el project.el
-  indent.erts json-ts-mode.el treesit.el c-ts-common.el eglot-tests.el
-  EGLOT-NEWS README.md c-ts-mode-tests.el compile-tests.el
-  csharp-mode-tests.el go-ts-mode.el indent-bsd.erts
-  java-ts-mode-tests.el and 9 other files
+  c-ts-mode.el eglot.el js.el csharp-mode.el css-mode.el indent.erts
+  project.el treesit.el json-ts-mode.el html-ts-mode.el eglot-tests.el
+  prog-mode.el simple.el EGLOT-NEWS c-ts-common.el java-ts-mode-tests.el
+  movement.erts positions.texi programs.texi and 17 other files
 
 Theresa O'Connor: wrote json.el
 and changed erc.el erc-viper.el erc-log.el erc-track.el viper.el
@@ -5846,18 +5987,18 @@ and co-wrote hideshow.el
 and changed ewoc.el vc.el info.el processes.texi zone.el lisp-mode.el
   scheme.el text.texi vc-rcs.el display.texi fileio.c files.el vc-git.el
   TUTORIAL.it bindat.el cc-vars.el configure.ac dcl-mode.el diff-mode.el
-  dired.el elisp.texi and 168 other files
+  dired.el elisp.texi and 167 other files
 
 Thierry Banel: co-wrote ob-C.el
 and changed calc-arith.el
 
 Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el
 
-Thierry Volpiatto: changed bookmark.el files.el dired-aux.el
+Thierry Volpiatto: changed register.el bookmark.el files.el dired-aux.el
   eshell/eshell.el gnus-sum.el keyboard.c net-utils.el package.el
-  tramp.el eldoc.el files.texi image-mode.el info.el man.el minibuffer.el
-  pcmpl-gnu.el subr.el use-package.el winner.el woman.el avoid.el
-  and 18 other files
+  tramp.el woman.el eldoc.el files.texi image-mode.el info.el man.el
+  minibuffer.el pcmpl-gnu.el subr.el use-package.el winner.el
+  and 22 other files
 
 Thomas Bach: changed wisent/python.el
 
@@ -5873,7 +6014,7 @@ Thomas Dorner: changed ange-ftp.el
 Thomas Dye: changed org.texi org-bibtex.el ob-R.el org.el
 
 Thomas Fitzsimmons: wrote soap-client.el
-and changed soap-inspect.el eudc.el eudc-vars.el eudc.texi ldap.el
+and changed soap-inspect.el eudc-vars.el eudc.el eudc.texi ldap.el
   ntlm.el url-http.el eudcb-bbdb.el eudcb-ldap.el eudc-bob.el
   eudc-tests.el ntlm-tests.el eudc-export.el eudcb-ph.el package.el
   README authinfo bbdb diary-lib.el display.texi eudc-capf.el
@@ -5944,14 +6085,15 @@ Timo Taipalus: changed display.texi image.c image.el
 
 Timothee Denizou: changed tetris.el
 
-Tim Ruffing: changed emacs.service term.c
+Tim Ruffing: changed keyboard.c calc-prog.el emacs.service keyboard.h
+  macros.c dbus.el macros.h process.c subr.el term.c
 
 Tim Van Holder: changed emacsclient.c Makefile.in configure.ac
   progmodes/compile.el which-func.el
 
 Tino Calancha: wrote buff-menu-tests.el ediff-ptch-tests.el
   em-ls-tests.el ffap-tests.el hi-lock-tests.el ls-lisp-tests.el
-  register-tests.el rmc-tests.el
+  rmc-tests.el
 and changed ibuffer.el dired.el ibuf-ext.el dired-tests.el replace.el
   dired-aux.el simple.el replace-tests.el subr.el dired.texi files.el
   ibuf-macs.el ibuffer-tests.el ls-lisp.el cl-macs.el diff-mode.el
@@ -5988,8 +6130,12 @@ Tokuya Kameshima: changed org-mew.el org-agenda.el
 
 Tomas Abrahamsson: wrote artist.el
 
+Tomas Fabrizio Orsi: changed net-utils.el
+
 Tomas Nordin: changed progmodes/python.el
 
+Tomas Volf: changed esh-mode.el
+
 Tomasz Gajewski: changed cpp-root.el
 
 Tomasz Hołubowicz: changed EGLOT-NEWS README.md eglot.el
@@ -6014,9 +6160,9 @@ Tommi Vainikainen: changed gnus-sum.el message.el 
mml-sec.el
 
 Tomohiko Morioka: co-wrote mm-bodies.el mm-decode.el mm-encode.el
   mm-util.el rfc2047.el
-and changed rmail.el nnmail.el rmailout.el nnfolder.el nnheader.el
-  nnmh.el nnml.el rmailsum.el coding.c fns.c gnus-art.el gnus-ems.el
-  gnus-mule.el gnus-sum.el message.el nnspool.el nntp.el rmailkwd.el
+and changed rmail.el nnmail.el rmailout.el gnus-sum.el nnfolder.el
+  nnheader.el nnmh.el nnml.el rmailsum.el coding.c fns.c gnus-art.el
+  gnus-ems.el gnus-mule.el message.el nnspool.el nntp.el rmailkwd.el
   smiley.el
 
 Tomohiro Matsuyama: wrote profiler.el
@@ -6043,10 +6189,15 @@ and changed data.c lisp.h js.el buffer.c data-tests.el 
mhtml-mode.el
 Tom Willemse: changed elec-pair.el package.el perl-mode.el prog-mode.el
   progmodes/python.el simple.el
 
+Tony Zorman: changed use-package-core.el use-package-tests.el
+  em-prompt-tests.el em-prompt.el use-package-ensure.el use-package.texi
+
 Toon Claes: changed latin-alt.el
 
 Torbjörn Axelsson: changed options.el
 
+Tor-Björn Claesson: changed haiku_support.cc haiku_support.h haikufns.c
+
 Torbjörn Einarsson: wrote progmodes/f90.el
 and changed f90.el
 
@@ -6066,6 +6217,8 @@ Toru Tsuneyoshi: changed ange-ftp.el buff-menu.el 
cus-start.el fileio.c
 
 Toshiaki Nomura: changed uxpds.h
 
+Toshi Umehara: changed scheme.el
+
 Travis Jeffery: changed nextstep/templates/Info.plist.in
 
 Trent W. Buck: changed rcirc.el remember.el rx.el
@@ -6083,6 +6236,8 @@ Troels Henriksen: changed EGLOT-NEWS README.md eglot.el
 
 Troels Nielsen: changed process.c buffer.c progmodes/compile.el window.el
 
+Troy Brown: changed eglot.el
+
 Troy Hinckley: changed progmodes/compile.el
 
 Trung Tran-Duc: changed nntp.el
@@ -6120,11 +6275,11 @@ and changed org-gnus.el smime.el
 
 Ulrich Leodolter: changed w32proc.c
 
-Ulrich Müller: changed configure.ac calc-units.el
+Ulrich Müller: changed configure.ac calc-units.el Makefile.in
   emacsclient-mail.desktop lib-src/Makefile.in src/Makefile.in version.el
-  Makefile.in doctor.el emacs.1 files.el gamegrid.el gud.el server.el
-  ChgPane.c ChgSel.c HELLO INSTALL XMakeAssoc.c authors.el bindings.el
-  bytecomp.el and 46 other files
+  bindings.el doctor.el emacs.1 files.el gamegrid.el gud.el
+  language/cyrillic.el server.el strings.texi ChgPane.c ChgSel.c HELLO
+  INSTALL XMakeAssoc.c and 52 other files
 
 Ulrich Neumerkel: changed xterm.c
 
@@ -6135,7 +6290,7 @@ and changed files.el
 
 Ury Marshak: changed nsfns.m
 
-Usami Kenta: changed eglot.el htmlfontify.el
+Usami Kenta: changed browse-url.el eglot.el htmlfontify.el
 
 Utkarsh Singh: changed em-script.el files.el outline.el tex-mode.el
   vc-git.el window.el
@@ -6172,12 +6327,10 @@ Vasily Korytov: changed cyrillic.el message.el 
cperl-mode.el gnus-art.el
 Vegard Øye: changed viper-init.el
 
 Vibhav Pant: changed bytecomp.el byte-opt.el bytecode.c bytecomp-tests.el
-  erc.el esh-mode.el cperl-mode.el disass.el erc-backend.el
-  erc-services.el alloc.c browse-url.el category.c emacs-module.c
-  erc-dcc.el eshell.texi fns.c hangul.el image.c lisp.h lread.c
-  and 4 other files
-
-Victor J. Orlikowski: changed erc-dcc.el
+  erc.el esh-mode.el alloc.c cperl-mode.el disass.el erc-backend.el
+  erc-services.el fns.c lisp.h DEBUG browse-url.el category.c
+  cconv-tests.el cconv.el configure.ac data.c emacs-module.c
+  and 9 other files
 
 Victor Zandy: wrote zone.el
 
@@ -6190,17 +6343,18 @@ Ville Skyttä: changed mh-comp.el pgg.el tcl.el
 
 Vincent Belaïche: wrote ses-tests.el
 and changed ses.el ses.texi 5x5.el calc-alg.el calc-vec.el calc.texi
-  compilation.txt autotype.texi cal-tex.el calc-embed.el calc-help.el
-  calc-misc.el calc.el configure.bat floatfns.c macroexp.el org.el
-  package.el progmodes/compile.el recentf.el reftex-parse.el
-  and 3 other files
+  compilation.txt doc/translations/fr/misc/ses-fr.texi autotype.texi
+  cal-tex.el calc-embed.el calc-help.el calc-misc.el calc.el
+  configure.bat floatfns.c macroexp.el org.el package.el
+  progmodes/compile.el recentf.el and 4 other files
 
 Vincent Bernat: changed gnus-int.el nnimap.el xsettings.c
 
 Vincent Del Vecchio: changed info.el mh-utils.el
 
-Vincenzo Pupillo: changed js.el cmake-ts-mode.el typescript-ts-mode.el
-  java-ts-mode.el
+Vincenzo Pupillo: wrote php-ts-mode.el
+and changed js.el cmake-ts-mode.el typescript-ts-mode.el c-ts-mode.el
+  c-ts-common.el Makefile.in java-ts-mode.el
 
 Vince Salvino: changed msdos.texi w32.c w32fns.c
 
@@ -6227,7 +6381,9 @@ and changed erc-backend.el erc.el erc-services.el hexl.el 
emacs.c
 
 Vladimir Alexiev: changed arc-mode.el nnvirtual.el tmm.el
 
-Vladimir Kazanov: changed java.srt
+Vladimir Kazanov: wrote ert-font-lock-tests.el ert-font-lock.el
+and changed ert.texi broken.js correct.js display.texi frame.c java.srt
+  no-asserts.js text.texi xdisp.c
 
 Vladimir Lomov: changed ox-html.el
 
@@ -6236,6 +6392,8 @@ Vladimir Nikishkin: changed scm.el textmodes/table.el
 Vladimir Panteleev: wrote bat-mode-tests.el
 and changed eglot.el ert.texi xselect.c bat-mode.el
 
+Vladimir Sedach: changed shell.el
+
 Vladimir Volovich: changed smime.el
 
 Volker Sobek: changed programs.texi
@@ -6264,9 +6422,6 @@ and changed TUTORIAL.de calc.texi chinese.el emacs.1 
european.el
 
 Werner Meisner: changed lwlib-Xm.c
 
-Wes Hardaker: changed gnus-score.el gnus-art.el gnus-sum.el gnus-win.el
-  spam.el
-
 Wesley Dawson: changed icomplete.el
 
 W. Garrett Mitchener: changed ipa-praat.el
@@ -6276,6 +6431,12 @@ Wieland Hoffmann: changed auth-source.el custom.el
 Wilfred Hughes: changed button.el byte-opt.el css-mode.el find-func.el
   help-mode.el help.el hexl.el sh-script.el subr.el vc-git.el
 
+Wilhelm H Kirschbaum: wrote elixir-ts-mode.el heex-ts-mode.el
+and changed indent.erts batch.sh build.sh eglot.el
+  elixir-ts-mode-tests.el heex-ts-mode-tests.el
+
+Wilhelm Kirschbaum: changed elixir-ts-mode.el
+
 Will Glozer: changed macterm.c
 
 William Denton: changed ruby-mode.el
@@ -6314,9 +6475,6 @@ Wim Nieuwenhuizen: changed TUTORIAL.nl
 
 Win Treese: changed nsmenu.m
 
-Wlodzimierz Bzyl: co-wrote ogonek.el
-and changed pl-refcard.tex
-
 Włodzimierz Bzyl: changed latin-pre.el pl-refcard.tex survival.tex
 
 W. Martin Borgert: changed files.el schemas.xml
@@ -6352,15 +6510,15 @@ Wolfram Gloger: changed emacs.c
 
 W. Trevor King: changed xterm.el
 
-Xavier Maillard: changed gnus-faq.texi gnus-score.el mh-utils.el spam.el
+Xavier Maillard: changed mh-utils.el
 
 Xiaoyue Chen: changed esh-proc.el
 
 Xi Lu: changed etags.c htmlfontify.el ruby-mode.el CTAGS.good_crlf
-  CTAGS.good_update Makefile TUTORIAL.cn crlf eww.el shortdoc.el
-  tramp-sh.el
+  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 functions.texi strings.texi
+Xiyue Deng: changed emacs-lisp-intro.texi strings.texi functions.texi
   symbols.texi
 
 Xuan Wang: changed warnings.el
@@ -6410,7 +6568,8 @@ Yilkal Argaw: changed manoj-dark-theme.el
 
 Yoav Marco: changed sqlite-mode.el
 
-Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el
+Yoichi Nakayama: changed browse-url.el finder.el
+  lisp/obsolete/mail/rfc2368.el man.el
 
 Yong Lu: changed charset.c coding.c language/greek.el
 
@@ -6422,23 +6581,25 @@ Yoshiaki Kasahara: changed buffer.c term.c
 
 Yoshiki Hayashi: changed texinfmt.el nnheader.el
 
+Yoshiku Onu: changed latin-post.el
+
 Yoshinari Nomura: changed ox-html.el ox.el
 
 Yoshinori Koseki: wrote iimage.el
 and changed fontset.el message.el nnheader.el nnmail.el
 
-Yuan Fu: changed treesit.el c-ts-mode.el treesit.c parsing.texi
-  progmodes/python.el modes.texi js.el treesit-tests.el indent.erts
-  typescript-ts-mode.el treesit.h css-mode.el print.c configure.ac
-  java-ts-mode.el sh-script.el c-ts-common.el gdb-mi.el go-ts-mode.el
-  rust-ts-mode.el starter-guide and 55 other files
+Your Name: changed configure.ac
+
+Yuan Fu: changed treesit.el treesit.c c-ts-mode.el parsing.texi
+  progmodes/python.el modes.texi treesit-tests.el js.el indent.erts
+  treesit.h typescript-ts-mode.el c-ts-common.el css-mode.el
+  java-ts-mode.el print.c rust-ts-mode.el configure.ac sh-script.el
+  gdb-mi.el go-ts-mode.el lisp.h and 71 other files
 
 Yuanle Song: changed rng-xsd.el
 
 Yuchen Pei: changed calendar.texi diary-lib.el icalendar-tests.el
 
-Yue Daian: wrote cl-font-lock.el
-
 Yu-ji Hosokawa: changed README.W32
 
 Yukihiro Matsumoto: co-wrote ruby-mode.el
@@ -6476,8 +6637,10 @@ Yves Baumes: changed package.el
 Zachary Kanfer: changed org.el cus-edit.el files.el files.texi keyboard.c
   newcomment.el simple.el
 
-Zajcev Evgeny: changed display.texi image.c battery.el buffer.c fileio.c
-  lread.c svg.el window.el xdisp.c
+Zajcev Evgeny: changed display.texi image.c battery.el buffer.c
+  dispextern.h fileio.c lread.c svg.el window.el xdisp.c
+
+Zaz Brown: changed misc.el
 
 Zhang Wei: changed chinese.el characters.el mule-cmds.el xfns.c erc.el
   faces.el fontset.el mm-util.el mule.el org-publish.el rfc2047.el
@@ -6515,3 +6678,8 @@ Local Variables:
 mode: emacs-authors
 coding: utf-8
 End:
+
+Local Variables:
+mode: emacs-authors
+coding: utf-8
+End:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]