[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:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 6827335538d: ; Merge changes to files modified on the release branch,
Eli Zaretskii <=