aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo Lu2024-08-29 08:53:52 +0800
committerPo Lu2024-08-29 08:53:52 +0800
commit413489fe80a4736d6dc026cfc3b6d2ce3af44005 (patch)
treebadcfd28962a0dbc06f04c624916a8e5eb71140b
parente97ab1c41332e179939f457cc010a606a5124ff8 (diff)
parente6c72aec9d7eba8f3312811a1b6dc925850460f4 (diff)
downloademacs-413489fe80a4736d6dc026cfc3b6d2ce3af44005.tar.gz
emacs-413489fe80a4736d6dc026cfc3b6d2ce3af44005.zip
Merge from savannah/emacs-30
e6c72aec9d7 ; Fix typos 9ffa38d3925 Eglot: fix completion highlighting (bug#72824) d6880bc24dd ; * admin/make-tarball.txt: Document gotcha. afee71273b7 Discuss commit log messages on feature branches 77302ccb6aa * admin/authors.el (authors-fixed-entries): Update docstr... 3a4839d1427 More consistent treesit-forward-sexp around comments (bug... 31293155879 Improve php-ts-mode font lock and support latest grammar ... b8c05d73a11 Fix tree-sitter local parser overlay cleanup routine aa6ed7f67ec Fix copyright years by hand (Bug#72809)
-rw-r--r--ChangeLog.4378
-rw-r--r--admin/authors.el7
-rw-r--r--admin/codespell/codespell.exclude59
-rw-r--r--admin/codespell/codespell.ignore3
-rw-r--r--admin/make-tarball.txt5
-rw-r--r--admin/notes/git-workflow14
-rw-r--r--configure.ac3
-rw-r--r--doc/lispref/tips.texi2
-rw-r--r--doc/misc/gnus.texi2
-rw-r--r--etc/images/gud/README4
-rw-r--r--lisp/progmodes/eglot.el2
-rw-r--r--lisp/progmodes/make-mode.el12
-rw-r--r--lisp/progmodes/php-ts-mode.el41
-rw-r--r--lisp/treesit.el130
-rw-r--r--msdos/autogen/Makefile.in4
-rw-r--r--nt/emacs.rc.in2
-rw-r--r--nt/emacsclient.rc.in2
-rw-r--r--test/lisp/which-key-tests.el2
18 files changed, 397 insertions, 275 deletions
diff --git a/ChangeLog.4 b/ChangeLog.4
index e2c6c9f9f26..6dd76dae86d 100644
--- a/ChangeLog.4
+++ b/ChangeLog.4
@@ -769,7 +769,7 @@
769 769
770 * src/treesit.c (Ftreesit_parser_included_ranges) 770 * src/treesit.c (Ftreesit_parser_included_ranges)
771 (Ftreesit_query_capture, treesit_traverse_sibling_helper) 771 (Ftreesit_query_capture, treesit_traverse_sibling_helper)
772 (treesit_traverse_match_predicate): Fix punctiation and documentation 772 (treesit_traverse_match_predicate): Fix punctuation and documentation
773 style in comments and docstrings. 773 style in comments and docstrings.
774 774
7752024-07-21 Manuel Giraud <manuel@ledu-giraud.fr> 7752024-07-21 Manuel Giraud <manuel@ledu-giraud.fr>
@@ -1790,7 +1790,7 @@
1790 1790
17912024-07-01 Alan Mackenzie <acm@muc.de> 17912024-07-01 Alan Mackenzie <acm@muc.de>
1792 1792
1793 Remove a reference to a non-existant variable from a doc-string 1793 Remove a reference to a non-existent variable from a docstring
1794 1794
1795 * lisp/progmodes/cc-langs.el (c-opt-extra-label-key): Remove 1795 * lisp/progmodes/cc-langs.el (c-opt-extra-label-key): Remove
1796 reference to c-nonlabel-decl-prefix-re from the doc string. 1796 reference to c-nonlabel-decl-prefix-re from the doc string.
@@ -1952,7 +1952,7 @@
1952 tree, but the tree is already deleted. Commenting out the 1952 tree, but the tree is already deleted. Commenting out the
1953 ts_tree_delete line in treesit_ensure_parsed can "fix" the crash. 1953 ts_tree_delete line in treesit_ensure_parsed can "fix" the crash.
1954 1954
1955 What happended, I think, is this: 1955 What happened, I think, is this:
1956 1956
1957 1. Buffer modified, parser->need_reparse set to true, 1957 1. Buffer modified, parser->need_reparse set to true,
1958 parser->timestamp incremented. 1958 parser->timestamp incremented.
@@ -2091,13 +2091,13 @@
2091 2091
20922024-06-28 Po Lu <luangruo@yahoo.com> 20922024-06-28 Po Lu <luangruo@yahoo.com>
2093 2093
2094 Correct ommissions in rmc.el 2094 Correct omissions in rmc.el
2095 2095
2096 * lisp/emacs-lisp/rmc.el (touch-screen-scroll) 2096 * lisp/emacs-lisp/rmc.el (touch-screen-scroll)
2097 (touch-screen-pinch): Declare functions. 2097 (touch-screen-pinch): Declare functions.
2098 (read-multiple-choice--short-answers): Call the same functions 2098 (read-multiple-choice--short-answers): Call the same functions
2099 directly and prevent the on-screen keyboard from being 2099 directly and prevent the on-screen keyboard from being
2100 deactivated immedately before it is reopened. 2100 deactivated immediately before it is reopened.
2101 2101
21022024-06-28 Juri Linkov <juri@linkov.net> 21022024-06-28 Juri Linkov <juri@linkov.net>
2103 2103
@@ -2639,7 +2639,7 @@
2639 If the value of a property is text representing a CSS color, 2639 If the value of a property is text representing a CSS color,
2640 it will be fontified such that its background is the color 2640 it will be fontified such that its background is the color
2641 itself. 'php-ts-mode-css-fontify-colors' can be used to 2641 itself. 'php-ts-mode-css-fontify-colors' can be used to
2642 disable this behaviour. 2642 disable this behavior.
2643 * lisp/progmodes/php-ts-mode.el (php-ts-mode-css-fontify-colors): 2643 * lisp/progmodes/php-ts-mode.el (php-ts-mode-css-fontify-colors):
2644 New custom var. 2644 New custom var.
2645 * lisp/progmodes/php-ts-mode.el (php-ts-mode--colorize-css-value): 2645 * lisp/progmodes/php-ts-mode.el (php-ts-mode--colorize-css-value):
@@ -3464,7 +3464,7 @@
3464 3464
3465 * Prepare v0.11.0 3465 * Prepare v0.11.0
3466 3466
3467 * Update CHANGLOG for v0.11.0 3467 * Update CHANGELOG for v0.11.0
3468 3468
3469 * 2024 3469 * 2024
3470 3470
@@ -3701,7 +3701,7 @@
3701 3701
3702 chore: Place emacs dependency to the front (#285) 3702 chore: Place emacs dependency to the front (#285)
3703 3703
3704 * chore: Place emacs dependency infront 3704 * chore: Place emacs dependency in front
3705 3705
3706 * Update copyright year 3706 * Update copyright year
3707 3707
@@ -4116,8 +4116,6 @@
4116 4116
4117 * Update 4117 * Update
4118 4118
4119 * Updat
4120
4121 commit c0789e2d537fb609af72a1edf51e1c5e4673ab2e 4119 commit c0789e2d537fb609af72a1edf51e1c5e4673ab2e
4122 Author: 10sr <8.slashes@gmail.com> 4120 Author: 10sr <8.slashes@gmail.com>
4123 Date: Fri May 22 23:13:55 2020 +0900 4121 Date: Fri May 22 23:13:55 2020 +0900
@@ -4715,7 +4713,7 @@
4715 Author: 10sr <8.slashes@gmail.com> 4713 Author: 10sr <8.slashes@gmail.com>
4716 Date: Thu Jul 26 12:30:09 2018 +0900 4714 Date: Thu Jul 26 12:30:09 2018 +0900
4717 4715
4718 Remove numeric-range related vairables 4716 Remove numeric-range related variables
4719 4717
4720 commit c687ecda080521c00ceaa8aec05a7dd8fb2be48a 4718 commit c687ecda080521c00ceaa8aec05a7dd8fb2be48a
4721 Author: 10sr <8.slashes@gmail.com> 4719 Author: 10sr <8.slashes@gmail.com>
@@ -6782,7 +6780,7 @@
6782 6780
67832024-06-11 Visuwesh <visuweshm@gmail.com> 67812024-06-11 Visuwesh <visuweshm@gmail.com>
6784 6782
6785 Fix customisation buffer for dired group 6783 Fix customization buffer for dired group
6786 6784
6787 * lisp/dired-aux.el 6785 * lisp/dired-aux.el
6788 (dired-create-destination-dirs-on-trailing-dirsep): Actually 6786 (dired-create-destination-dirs-on-trailing-dirsep): Actually
@@ -8095,7 +8093,7 @@
8095 Provide additional Android metadata 8093 Provide additional Android metadata
8096 8094
8097 * java/AndroidManifest.xml.in: Enable preserving user data 8095 * java/AndroidManifest.xml.in: Enable preserving user data
8098 beyond uninstallation, restarting activities without persiting 8096 beyond uninstallation, restarting activities without persisting
8099 state, increase maximum number of simultaneously open 8097 state, increase maximum number of simultaneously open
8100 activities, and provide a sensible category. 8098 activities, and provide a sensible category.
8101 8099
@@ -8212,7 +8210,7 @@
8212 Revert "Add support for Rust compilation messages" 8210 Revert "Add support for Rust compilation messages"
8213 8211
8214 This reverts commit 2e862f81a355435fb7e837ffebee2f657c26ff23. 8212 This reverts commit 2e862f81a355435fb7e837ffebee2f657c26ff23.
8215 It had serveral problems; see bug#70794. 8213 It had several problems; see bug#70794.
8216 8214
82172024-06-03 Robert Pluim <rpluim@gmail.com> 82152024-06-03 Robert Pluim <rpluim@gmail.com>
8218 8216
@@ -8337,9 +8335,9 @@
8337 treesit-primary-parser. I also added code that makes Emacs guess the 8335 treesit-primary-parser. I also added code that makes Emacs guess the
8338 primary parser if that variable isn't set. 8336 primary parser if that variable isn't set.
8339 8337
8340 Documentation fot treesit-primary-parser will come later. 8338 Documentation for treesit-primary-parser will come later.
8341 8339
8342 For futher reference, the message id for the message that prompted 8340 For further reference, the message id for the message that prompted
8343 this change is <dc94733b-df75-446c-980e-1c8ea65826cf@gutov.dev> 8341 this change is <dc94733b-df75-446c-980e-1c8ea65826cf@gutov.dev>
8344 8342
8345 * lisp/treesit.el (treesit-primary-parser): New variable. 8343 * lisp/treesit.el (treesit-primary-parser): New variable.
@@ -8442,7 +8440,7 @@
8442 * src/w32term.h (w32_bitmap_record): Add stipple value. 8440 * src/w32term.h (w32_bitmap_record): Add stipple value.
8443 * src/image.c (image_create_bitmap_from_data): Create stipple 8441 * src/image.c (image_create_bitmap_from_data): Create stipple
8444 bitmap. 8442 bitmap.
8445 (image_create_bitmap_from_file): Add suuport for pixmap and 8443 (image_create_bitmap_from_file): Add support for pixmap and
8446 create stipple bitmap. 8444 create stipple bitmap.
8447 (free_bitmap_record): Release stipple. 8445 (free_bitmap_record): Release stipple.
8448 8446
@@ -8824,7 +8822,7 @@
8824 8822
8825 * etc/tutorials/TUTORIAL.cs: Update TUTORIAL.cs according to its 8823 * etc/tutorials/TUTORIAL.cs: Update TUTORIAL.cs according to its
8826 English counterpart. 8824 English counterpart.
8827 * etc/tutorials/TUTORIAL.translators: Update maintaner of 8825 * etc/tutorials/TUTORIAL.translators: Update maintainer of
8828 TUTORIAL.cs. 8826 TUTORIAL.cs.
8829 8827
88302024-05-30 Jim Porter <jporterbugs@gmail.com> 88282024-05-30 Jim Porter <jporterbugs@gmail.com>
@@ -9870,7 +9868,7 @@
9870 9868
98712024-05-24 Andrea Corallo <acorallo@gnu.org> 98692024-05-24 Andrea Corallo <acorallo@gnu.org>
9872 9870
9873 * src/comp.c (check_comp_unit_relocs): Remove unneccesary double access. 9871 * src/comp.c (check_comp_unit_relocs): Remove unnecessary double access.
9874 9872
98752024-05-23 Eshel Yaron <me@eshelyaron.com> 98732024-05-23 Eshel Yaron <me@eshelyaron.com>
9876 9874
@@ -10900,7 +10898,7 @@
10900 10898
10901 vc-git-root-log-format: Explicitly match periods 10899 vc-git-root-log-format: Explicitly match periods
10902 10900
10903 * lisp/vc/vc-git.el (vc-git-root-log-format): Explicity match 10901 * lisp/vc/vc-git.el (vc-git-root-log-format): Explicitly match
10904 periods, rather than matching them only because '.' matches any 10902 periods, rather than matching them only because '.' matches any
10905 chars. 10903 chars.
10906 10904
@@ -11781,7 +11779,7 @@
11781 Fix #if defined directive fontification in c-ts-mode 11779 Fix #if defined directive fontification in c-ts-mode
11782 11780
11783 * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Fontify 11781 * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Fontify
11784 each part separately so the identifier isn't overriden. 11782 each part separately so the identifier isn't overridden.
11785 11783
117862024-05-09 john muhl <jm@pub.pink> 117842024-05-09 john muhl <jm@pub.pink>
11787 11785
@@ -12266,7 +12264,7 @@
12266 * lisp/international/mule.el (load-with-code-conversion): 12264 * lisp/international/mule.el (load-with-code-conversion):
12267 * lisp/startup.el (command-line--load-script): 12265 * lisp/startup.el (command-line--load-script):
12268 * etc/NEWS: 12266 * etc/NEWS:
12269 Revert all changes, except for the generalised 12267 Revert all changes, except for the generalized
12270 `lisp_file_lexical_cookie` which may prove useful in the future. 12268 `lisp_file_lexical_cookie` which may prove useful in the future.
12271 12269
122722024-05-05 Alan Mackenzie <acm@muc.de> 122702024-05-05 Alan Mackenzie <acm@muc.de>
@@ -12483,7 +12481,7 @@
12483 (android_init_emacs_gc_class, android_init_emacs_cursor): Adjust 12481 (android_init_emacs_gc_class, android_init_emacs_cursor): Adjust
12484 to match signature changes in constructors. 12482 to match signature changes in constructors.
12485 (android_init_emacs_handle): New function. 12483 (android_init_emacs_handle): New function.
12486 (initEmacs): Initialize the handle class, its fields and metods. 12484 (initEmacs): Initialize the handle class, its fields and methods.
12487 (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn) 12485 (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn)
12488 (sendFocusOut, sendWindowAction, sendEnterNotify) 12486 (sendFocusOut, sendWindowAction, sendEnterNotify)
12489 (sendLeaveNotify, sendMotionNotify, sendButtonPress) 12487 (sendLeaveNotify, sendMotionNotify, sendButtonPress)
@@ -13553,7 +13551,7 @@
13553 13551
135542024-04-27 Po Lu <luangruo@yahoo.com> 135522024-04-27 Po Lu <luangruo@yahoo.com>
13555 13553
13556 Fix ommissions in window scrolling commands that ought to clear vscroll 13554 Fix omissions in window scrolling commands that ought to clear vscroll
13557 13555
13558 * src/window.c (Fdelete_other_windows_internal) 13556 * src/window.c (Fdelete_other_windows_internal)
13559 (window_scroll_for_long_lines, Frecenter, Fmove_to_window_line): 13557 (window_scroll_for_long_lines, Frecenter, Fmove_to_window_line):
@@ -14165,7 +14163,7 @@
14165 14163
14166 * lisp/progmodes/rust-ts-mode.el 14164 * lisp/progmodes/rust-ts-mode.el
14167 (rust-ts-mode--font-lock-settings): Add font-locking for Rust 14165 (rust-ts-mode--font-lock-settings): Add font-locking for Rust
14168 macro metavariables, fragment specifiers and repitition patterns. 14166 macro metavariables, fragment specifiers and repetition patterns.
14169 14167
141702024-04-22 Yuan Fu <casouri@gmail.com> 141682024-04-22 Yuan Fu <casouri@gmail.com>
14171 14169
@@ -14600,7 +14598,7 @@
14600 (erc-fill--wrap-massage-legacy-indicator-type): New function to warn 14598 (erc-fill--wrap-massage-legacy-indicator-type): New function to warn
14601 of obsolete `erc-fill-wrap-merge-indicator' value and perform a 14599 of obsolete `erc-fill-wrap-merge-indicator' value and perform a
14602 migration for the current session. 14600 migration for the current session.
14603 (erc-fill-wrap, erc-fill-wrap-enable): Preform preflight compat check 14601 (erc-fill-wrap, erc-fill-wrap-enable): Perform preflight compat check
14604 for obsolete `erc-fill-wrap-merge-indicator' value types. 14602 for obsolete `erc-fill-wrap-merge-indicator' value types.
14605 (erc-fill-wrap-disable): Don't bother killing nonexistent variable 14603 (erc-fill-wrap-disable): Don't bother killing nonexistent variable
14606 `erc-fill--wrap-merge-indicator-post'. 14604 `erc-fill--wrap-merge-indicator-post'.
@@ -15770,7 +15768,7 @@
15770 15768
157712024-04-08 Stefan Monnier <monnier@iro.umontreal.ca> 157692024-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
15772 15770
15773 (cl--describe-class): Improve based on dicussion in bug#70077 15771 (cl--describe-class): Improve based on discussion in bug#70077
15774 15772
15775 * lisp/emacs-lisp/cl-extra.el (cl--describe-class): Move docstring 15773 * lisp/emacs-lisp/cl-extra.el (cl--describe-class): Move docstring
15776 after the class' slots. 15774 after the class' slots.
@@ -16327,7 +16325,7 @@
16327 16325
16328 json-insert doc fixes 16326 json-insert doc fixes
16329 16327
16330 * src/json.c (Fjson_insert): Precise the behaviour when the current 16328 * src/json.c (Fjson_insert): Precise the behavior when the current
16331 buffer is multibyte and unibyte, respectively. 16329 buffer is multibyte and unibyte, respectively.
16332 * doc/lispref/text.texi (Parsing JSON): Refer to the right function. 16330 * doc/lispref/text.texi (Parsing JSON): Refer to the right function.
16333 16331
@@ -19121,7 +19119,7 @@
19121 19119
191222024-03-08 Stefan Monnier <monnier@iro.umontreal.ca> 191202024-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
19123 19121
19124 EIEIO: Fix regession (bug#69631) 19122 EIEIO: Fix regression (bug#69631)
19125 19123
19126 Not sure why earlier tests did not catch it, but there are more 19124 Not sure why earlier tests did not catch it, but there are more
19127 places where we bump into problems because `eieio--class-precedence-list` 19125 places where we bump into problems because `eieio--class-precedence-list`
@@ -19485,7 +19483,7 @@
19485 * doc/lispref/Makefile.in (auxfiles) 19483 * doc/lispref/Makefile.in (auxfiles)
19486 ($(buildinfodir)/type_hierarchy.txt) 19484 ($(buildinfodir)/type_hierarchy.txt)
19487 ($(buildinfodir)/type_hierarchy.jpg): New targets. 19485 ($(buildinfodir)/type_hierarchy.jpg): New targets.
19488 ($(buildinfodir)/elisp.info): Add dependecy. 19486 ($(buildinfodir)/elisp.info): Add dependency.
19489 19487
194902024-03-05 Michael Albinus <michael.albinus@gmx.de> 194882024-03-05 Michael Albinus <michael.albinus@gmx.de>
19491 19489
@@ -19605,7 +19603,7 @@
19605 19603
19606 This reverts commit 4a0d430bdc3650ca3dfd8bdd14781764fbcbdc7e. 19604 This reverts commit 4a0d430bdc3650ca3dfd8bdd14781764fbcbdc7e.
19607 19605
19608 AFAICT that commit was made to accomodate regressions introduced 19606 AFAICT that commit was made to accommodate regressions introduced
19609 in the new `cl-preloaded.el` code and these have been fixed. 19607 in the new `cl-preloaded.el` code and these have been fixed.
19610 19608
196112024-03-04 Michael Albinus <michael.albinus@gmx.de> 196092024-03-04 Michael Albinus <michael.albinus@gmx.de>
@@ -19637,7 +19635,7 @@
19637 Repair miscompilation of single-arg `apply` (bug#69533) 19635 Repair miscompilation of single-arg `apply` (bug#69533)
19638 19636
19639 * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): 19637 * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply):
19640 Don't optimise single-argument `apply`; it's a legacy construct. 19638 Don't optimize single-argument `apply`; it's a legacy construct.
19641 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): 19639 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
19642 Add test case. 19640 Add test case.
19643 19641
@@ -21259,7 +21257,7 @@
21259 However, nstrftime now requires localename-unsafe-limited which 21257 However, nstrftime now requires localename-unsafe-limited which
21260 pulls in some Gnulib-specific locale code, and it’s likely this 21258 pulls in some Gnulib-specific locale code, and it’s likely this
21261 needs to be replaced with Emacs-specific locale code. In the 21259 needs to be replaced with Emacs-specific locale code. In the
21262 meantime let’s continue to finess this by avoiding 21260 meantime let’s continue to finesse this by avoiding
21263 localename-unsafe-limited. 21261 localename-unsafe-limited.
21264 * admin/merge-gnulib (AVOIDED_MODULES): 21262 * admin/merge-gnulib (AVOIDED_MODULES):
21265 Avoid localename-unsafe-limited instead of localename. 21263 Avoid localename-unsafe-limited instead of localename.
@@ -21456,7 +21454,7 @@
21456 Properly record mtime after insert-file-contents on Android 21454 Properly record mtime after insert-file-contents on Android
21457 21455
21458 * src/fileio.c (write_region): Do not verify file identity after 21456 * src/fileio.c (write_region): Do not verify file identity after
21459 retreiving file status for the second time if st_ino is 0. 21457 retrieving file status for the second time if st_ino is 0.
21460 21458
214612024-02-16 Po Lu <luangruo@yahoo.com> 214592024-02-16 Po Lu <luangruo@yahoo.com>
21462 21460
@@ -21822,7 +21820,7 @@
21822 (cl--generic-describe): Refactor to ease reuse 21820 (cl--generic-describe): Refactor to ease reuse
21823 21821
21824 * lisp/emacs-lisp/cl-generic.el (cl--map-methods-documentation): 21822 * lisp/emacs-lisp/cl-generic.el (cl--map-methods-documentation):
21825 New function, extrated from `cl--generic-describe`. 21823 New function, extracted from `cl--generic-describe`.
21826 (cl--generic-describe): Use it. 21824 (cl--generic-describe): Use it.
21827 21825
218282024-02-12 Juri Linkov <juri@linkov.net> 218262024-02-12 Juri Linkov <juri@linkov.net>
@@ -22340,7 +22338,7 @@
22340 22338
223412024-02-09 Jeremy Bryant <jb@jeremybryant.net> 223392024-02-09 Jeremy Bryant <jb@jeremybryant.net>
22342 22340
22343 * lisp/which-key.el: Add two spaces in docstrings and punctation 22341 * lisp/which-key.el: Add two spaces in docstrings and punctuation
22344 22342
22345 (which-key-echo-keystrokes): 22343 (which-key-echo-keystrokes):
22346 (which-key-popup-type): 22344 (which-key-popup-type):
@@ -23161,7 +23159,7 @@
23161 `.elc` files. So this patch lifts the first restriction, 23159 `.elc` files. So this patch lifts the first restriction,
23162 using `print-number-table`. 23160 using `print-number-table`.
23163 23161
23164 The rest of the patch then simplifies and regularises the 23162 The rest of the patch then simplifies and regularizes the
23165 bytecompiler's generation of dynamic docstrings, which can 23163 bytecompiler's generation of dynamic docstrings, which can
23166 now also easily be done for "inner" defvars and other places. 23164 now also easily be done for "inner" defvars and other places.
23167 23165
@@ -23338,7 +23336,7 @@
23338 Bytecode engine fast-path streamlining of plain symbols 23336 Bytecode engine fast-path streamlining of plain symbols
23339 23337
23340 * src/bytecode.c (exec_byte_code): 23338 * src/bytecode.c (exec_byte_code):
23341 Only use fast-path optimisations for calls and dynamic variable 23339 Only use fast-path optimizations for calls and dynamic variable
23342 reference and setting where the symbol is plain, which is much faster. 23340 reference and setting where the symbol is plain, which is much faster.
23343 23341
233442024-01-31 Mattias Engdegård <mattiase@acm.org> 233422024-01-31 Mattias Engdegård <mattiase@acm.org>
@@ -24130,7 +24128,7 @@
24130 * etc/EGLOT-NEWS: Update. 24128 * etc/EGLOT-NEWS: Update.
24131 24129
24132 * lisp/progmodes/eglot.el (Version): Bump to 1.17 24130 * lisp/progmodes/eglot.el (Version): Bump to 1.17
24133 (Package-Requires): Bump jsonrpc depedency to 1.24 24131 (Package-Requires): Bump jsonrpc dependency to 1.24
24134 24132
241352024-01-25 João Távora <joaotavora@gmail.com> 241332024-01-25 João Távora <joaotavora@gmail.com>
24136 24134
@@ -25004,7 +25002,7 @@
25004 * Update a comp test (bug#68523) 25002 * Update a comp test (bug#68523)
25005 25003
25006 * test/src/comp-tests.el (comp-tests-ret-type-spec-71): Update a test 25004 * test/src/comp-tests.el (comp-tests-ret-type-spec-71): Update a test
25007 due to new 'sxhash-equal' behaviour. 25005 due to new 'sxhash-equal' behavior.
25008 25006
250092024-01-17 Po Lu <luangruo@yahoo.com> 250072024-01-17 Po Lu <luangruo@yahoo.com>
25010 25008
@@ -25027,7 +25025,7 @@
25027 More efficient hash table thawing 25025 More efficient hash table thawing
25028 25026
25029 * src/fns.c (hash_table_thaw): Don't allocate anything for empty 25027 * src/fns.c (hash_table_thaw): Don't allocate anything for empty
25030 tables. Don't initialise the next vector twice. 25028 tables. Don't initialize the next vector twice.
25031 (maybe_resize_hash_table): Factor out min_size constant. 25029 (maybe_resize_hash_table): Factor out min_size constant.
25032 25030
250332024-01-16 Juri Linkov <juri@linkov.net> 250312024-01-16 Juri Linkov <juri@linkov.net>
@@ -25072,7 +25070,7 @@
25072 25070
25073 Jsonrpc: fix bug in jsonrpc--remove 25071 Jsonrpc: fix bug in jsonrpc--remove
25074 25072
25075 * lisp/jsonrpc.el (jsonrpc--remove): Check timer before cancelling it. 25073 * lisp/jsonrpc.el (jsonrpc--remove): Check timer before canceling it.
25076 (Version): Bump to 1.2.24 25074 (Version): Bump to 1.2.24
25077 25075
25078 See https://github.com/joaotavora/eglot/issues/1342 25076 See https://github.com/joaotavora/eglot/issues/1342
@@ -25210,7 +25208,7 @@
25210 * src/lisp.h (hash_unused): Remove. 25208 * src/lisp.h (hash_unused): Remove.
25211 All uses adapted to calling hash_unused_entry_key_p on the key instead. 25209 All uses adapted to calling hash_unused_entry_key_p on the key instead.
25212 The hash values for unused hash table entries are now undefined; all 25210 The hash values for unused hash table entries are now undefined; all
25213 initialisation and assignment to hash_unused has been removed. 25211 initialization and assignment to hash_unused has been removed.
25214 25212
252152024-01-13 Mattias Engdegård <mattiase@acm.org> 252132024-01-13 Mattias Engdegård <mattiase@acm.org>
25216 25214
@@ -25289,7 +25287,7 @@
25289 25287
252902024-01-13 Mattias Engdegård <mattiase@acm.org> 252882024-01-13 Mattias Engdegård <mattiase@acm.org>
25291 25289
25292 Inlined and specialised hash table look-up 25290 Inlined and specialized hash table look-up
25293 25291
25294 This improves performance in several ways. Separate functions are 25292 This improves performance in several ways. Separate functions are
25295 used depending on whether the caller has a hash value computed or not. 25293 used depending on whether the caller has a hash value computed or not.
@@ -25353,7 +25351,7 @@
25353 (allocate_hash_table): Allocate without automatically GCed slots. 25351 (allocate_hash_table): Allocate without automatically GCed slots.
25354 (alloc_larger_vector): Remove. 25352 (alloc_larger_vector): Remove.
25355 (make_hash_table, copy_hash_table, maybe_resize_hash_table): 25353 (make_hash_table, copy_hash_table, maybe_resize_hash_table):
25356 Adapt vector allocation and initialisation. 25354 Adapt vector allocation and initialization.
25357 * src/pdumper.c (hash_table_freeze, hash_table_thaw, dump_hash_table) 25355 * src/pdumper.c (hash_table_freeze, hash_table_thaw, dump_hash_table)
25358 (dump_hash_table_contents): 25356 (dump_hash_table_contents):
25359 Adapt dumping and loading to field changes. 25357 Adapt dumping and loading to field changes.
@@ -25424,7 +25422,7 @@
25424 Represent hash table weakness as an enum internally 25422 Represent hash table weakness as an enum internally
25425 25423
25426 This takes less space (saves an entire word) and is more type-safe. 25424 This takes less space (saves an entire word) and is more type-safe.
25427 No change in behaviour. 25425 No change in behavior.
25428 25426
25429 * src/lisp.h (hash_table_weakness_t): New. 25427 * src/lisp.h (hash_table_weakness_t): New.
25430 (struct Lisp_Hash_Table): Replace Lisp object `weak` with enum 25428 (struct Lisp_Hash_Table): Replace Lisp object `weak` with enum
@@ -25877,7 +25875,7 @@
25877 25875
258782024-01-10 Michael Albinus <michael.albinus@gmx.de> 258762024-01-10 Michael Albinus <michael.albinus@gmx.de>
25879 25877
25880 Fix file name completion with Tramp on MS Windoes 25878 Fix file name completion with Tramp on MS Windows
25881 25879
25882 * doc/misc/trampver.texi: 25880 * doc/misc/trampver.texi:
25883 * lisp/net/trampver.el (tramp-version): Adapt Tramp versions. 25881 * lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
@@ -26236,7 +26234,7 @@
26236 466d1c98a9e Fix icons.el when icon does not exist as a file 26234 466d1c98a9e Fix icons.el when icon does not exist as a file
26237 2a861124e89 ; Improve documentation of 'buffer-match-p' 26235 2a861124e89 ; Improve documentation of 'buffer-match-p'
26238 dc9d02f8a01 * lisp/isearch.el (isearch-search-and-update): Let-bind '... 26236 dc9d02f8a01 * lisp/isearch.el (isearch-search-and-update): Let-bind '...
26239 9308d9a74ab * src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash tabl... 26237 9308d9a74ab * src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash table...
26240 a2a6619b282 Provide decent documentation for 'help-quick' 26238 a2a6619b282 Provide decent documentation for 'help-quick'
26241 ab66b749a27 ; * src/window.c (Fset_window_margins): Doc fix. 26239 ab66b749a27 ; * src/window.c (Fset_window_margins): Doc fix.
26242 1a677d1429d treesit--pre-syntax-ppss: Fix args-out-of-range in intern... 26240 1a677d1429d treesit--pre-syntax-ppss: Fix args-out-of-range in intern...
@@ -26720,7 +26718,7 @@
26720 26718
267212024-01-02 Richard Stallman <rms@gnu.org> 267192024-01-02 Richard Stallman <rms@gnu.org>
26722 26720
26723 Fix non-permenent decryption to show up temperarily. 26721 Fix non-permenent decryption to show up temporarily.
26724 26722
26725 In a decrypted mime part, replace CRLF with newline, 26723 In a decrypted mime part, replace CRLF with newline,
26726 26724
@@ -26935,7 +26933,7 @@
26935 26933
269362024-01-01 Vincent Belaïche <vincentb1@users.sourceforge.net> 269342024-01-01 Vincent Belaïche <vincentb1@users.sourceforge.net>
26937 26935
26938 Typoes in SES manual. 26936 Typos in SES manual.
26939 26937
26940 Also @samp{...}-ify cell/row/column reference given as in-line examples. 26938 Also @samp{...}-ify cell/row/column reference given as in-line examples.
26941 26939
@@ -27366,7 +27364,7 @@
27366 distortion to METRICS, and return the metrics as altered by 27364 distortion to METRICS, and return the metrics as altered by
27367 compound glyphs in there. 27365 compound glyphs in there.
27368 (sfnt_lookup_glyph_metrics): Trim away two unused parameters, 27366 (sfnt_lookup_glyph_metrics): Trim away two unused parameters,
27369 PIXEL_SIZE and HEAD, whose functionality has been superseeded by 27367 PIXEL_SIZE and HEAD, whose functionality has been superseded by
27370 sfnt_scale_metrics and the implicit scaling the interpreter 27368 sfnt_scale_metrics and the implicit scaling the interpreter
27371 performs. 27369 performs.
27372 (sfnt_interpret_compound_glyph_2): Save phantom points within 27370 (sfnt_interpret_compound_glyph_2): Save phantom points within
@@ -27644,7 +27642,7 @@
27644 * etc/EGLOT-NEWS: Update. 27642 * etc/EGLOT-NEWS: Update.
27645 27643
27646 * lisp/progmodes/eglot.el (Version): Bump to 1.15 27644 * lisp/progmodes/eglot.el (Version): Bump to 1.15
27647 (Package-Requires): Bump jsonrpc depedency to 1.23 27645 (Package-Requires): Bump jsonrpc dependency to 1.23
27648 27646
276492023-12-27 João Távora <joaotavora@gmail.com> 276472023-12-27 João Távora <joaotavora@gmail.com>
27650 27648
@@ -28210,7 +28208,7 @@
28210 28208
282112023-12-22 Mattias Engdegård <mattiase@acm.org> 282092023-12-22 Mattias Engdegård <mattiase@acm.org>
28212 28210
28213 Slight funcall_subr optimisation 28211 Slight funcall_subr optimization
28214 28212
28215 * src/eval.c (funcall_subr): Help the compiler by reducing aliasing 28213 * src/eval.c (funcall_subr): Help the compiler by reducing aliasing
28216 problems, and compensate for a missed-optimisation bug in LLVM where 28214 problems, and compensate for a missed-optimisation bug in LLVM where
@@ -28475,7 +28473,7 @@
28475 Fix issue with register commands in kmacro 28473 Fix issue with register commands in kmacro
28476 28474
28477 Using post-command-hook in minibuffer-setup-hook instead of a timer 28475 Using post-command-hook in minibuffer-setup-hook instead of a timer
28478 allow running exit-minibuffer without delay and ensure the serie of 28476 allow running exit-minibuffer without delay and ensure the series of
28479 commands used in a kmacro run synchronously. 28477 commands used in a kmacro run synchronously.
28480 28478
28481 * lisp/register.el (register-read-with-preview-fancy): Do it. 28479 * lisp/register.el (register-read-with-preview-fancy): Do it.
@@ -29874,7 +29872,7 @@
29874 values if exist. 29872 values if exist.
29875 29873
29876 * doc/lispref/variables.texi (Applying Connection Local Variables): 29874 * doc/lispref/variables.texi (Applying Connection Local Variables):
29877 Fix decription of connection-local-default-application. 29875 Fix description of connection-local-default-application.
29878 29876
29879 * lisp/dired.el (dired-listing-switches): Adapt docstring. 29877 * lisp/dired.el (dired-listing-switches): Adapt docstring.
29880 (dired-internal-noselect, dired-mode): 29878 (dired-internal-noselect, dired-mode):
@@ -30023,7 +30021,7 @@
30023 30021
30024 * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Wait for all 30022 * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Wait for all
30025 system operations to have been completed, before proceeding to remove 30023 system operations to have been completed, before proceeding to remove
30026 old package descriptors from 'package-alist'. This avoids loosing a 30024 old package descriptors from 'package-alist'. This avoids losing a
30027 package if an error occurs during upgrades. 30025 package if an error occurs during upgrades.
30028 30026
300292023-12-09 john muhl <jm@pub.pink> 300272023-12-09 john muhl <jm@pub.pink>
@@ -30214,7 +30212,7 @@
30214 30212
30215 M-x eldoc is ElDoc's interactive entry point for on-demand 30213 M-x eldoc is ElDoc's interactive entry point for on-demand
30216 documentation for users that don't want the behind-the-scenes idle 30214 documentation for users that don't want the behind-the-scenes idle
30217 timer behaviour. 30215 timer behavior.
30218 30216
30219 However, eldoc-display-in-echo-area, a member of 30217 However, eldoc-display-in-echo-area, a member of
30220 eldoc-display-functions, refused to do anything because it thought it 30218 eldoc-display-functions, refused to do anything because it thought it
@@ -30548,7 +30546,7 @@
30548 30546
30549 Move malformed-function warning from byte-opt to cconv (bug#67483) 30547 Move malformed-function warning from byte-opt to cconv (bug#67483)
30550 30548
30551 We shouldn't be warning inside the optimiser in the first place. 30549 We shouldn't be warning inside the optimizer in the first place.
30552 30550
30553 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form): 30551 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
30554 Remove byte-compile-form-stack manipulation. 30552 Remove byte-compile-form-stack manipulation.
@@ -30602,7 +30600,7 @@
30602 (register-of-type-alist): New, filter register-alist according to 30600 (register-of-type-alist): New, filter register-alist according to
30603 type. 30601 type.
30604 (register-preview): Signature changed, use TYPES now. 30602 (register-preview): Signature changed, use TYPES now.
30605 (register-preview-get-defaults): New generic, compute defauts 30603 (register-preview-get-defaults): New generic, compute defaults
30606 according to action. 30604 according to action.
30607 (register-read-with-preview): Now use read-from-minibuffer and 30605 (register-read-with-preview): Now use read-from-minibuffer and
30608 minibuffer-setup-hook. 30606 minibuffer-setup-hook.
@@ -30670,7 +30668,7 @@
30670 30668
30671 Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLOS (bug#67480) 30669 Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLOS (bug#67480)
30672 30670
30673 EIEIO is an innacurate emulation of CLOS in many aspects and one of 30671 EIEIO is an inaccurate emulation of CLOS in many aspects and one of
30674 them in accessor definition. Before this commit 30672 them in accessor definition. Before this commit
30675 30673
30676 commit 6c47931a1ad4de4af3f147b9604169c2441100fe 30674 commit 6c47931a1ad4de4af3f147b9604169c2441100fe
@@ -32301,7 +32299,7 @@
32301 y)) 32299 y))
32302 32300
32303 would incorrectly substitute y->x in the body form despite x being 32301 would incorrectly substitute y->x in the body form despite x being
32304 already modified at that point, which normally should have cancelled 32302 already modified at that point, which normally should have canceled
32305 the aliasing. 32303 the aliasing.
32306 32304
32307 Bug reported by Alan Mackenzie. 32305 Bug reported by Alan Mackenzie.
@@ -32633,7 +32631,7 @@
32633 assumptions about implementation details. 32631 assumptions about implementation details.
32634 32632
32635 In others, like the ones about the completions-first-difference face, 32633 In others, like the ones about the completions-first-difference face,
32636 minor parts of the actual user-visible behaviour were broken. 32634 minor parts of the actual user-visible behavior were broken.
32637 32635
32638 * test/lisp/minibuffer-tests.el (completion-test1): Robustify test. 32636 * test/lisp/minibuffer-tests.el (completion-test1): Robustify test.
32639 (completion--pcm-score): Don't assume completion-score is stored 32637 (completion--pcm-score): Don't assume completion-score is stored
@@ -33089,7 +33087,7 @@
33089 Simplify 'project-remember-projects-under' 33087 Simplify 'project-remember-projects-under'
33090 33088
33091 * lisp/progmodes/project.el (project-remember-projects-under): Instead 33089 * lisp/progmodes/project.el (project-remember-projects-under): Instead
33092 of traversing the directories manually, re-use 33090 of traversing the directories manually, reuse
33093 `directory-files-recursively' to reduce complexity. (Bug#66649) 33091 `directory-files-recursively' to reduce complexity. (Bug#66649)
33094 33092
330952023-11-08 Juri Linkov <juri@linkov.net> 330932023-11-08 Juri Linkov <juri@linkov.net>
@@ -34000,7 +33998,7 @@
34000 (dnd-handle-multiple-urls): Prevent calling the same handler 33998 (dnd-handle-multiple-urls): Prevent calling the same handler
34001 multiple times for a single URI. 33999 multiple times for a single URI.
34002 34000
34003 * lisp/gnus/mml.el (mml-dnd-protocol-alist): Apply an anologous 34001 * lisp/gnus/mml.el (mml-dnd-protocol-alist): Apply an analogous
34004 adjustment here. Delete now redundant redefinition of 34002 adjustment here. Delete now redundant redefinition of
34005 dnd-open-file. 34003 dnd-open-file.
34006 (mml-dnd-attach-file): Inquire whether to apply the default 34004 (mml-dnd-attach-file): Inquire whether to apply the default
@@ -34786,7 +34784,7 @@
34786 34784
347872023-10-23 Mattias Engdegård <mattiase@acm.org> 347852023-10-23 Mattias Engdegård <mattiase@acm.org>
34788 34786
34789 Modernise text about using dynamic variables 34787 Modernize text about using dynamic variables
34790 34788
34791 * doc/lispref/variables.texi (Dynamic Binding Tips): 34789 * doc/lispref/variables.texi (Dynamic Binding Tips):
34792 Give more useful advice. 34790 Give more useful advice.
@@ -34810,7 +34808,7 @@
34810 Alter the presentation order from the point of view that lexical 34808 Alter the presentation order from the point of view that lexical
34811 binding is the standard discipline (if not always the default) and 34809 binding is the standard discipline (if not always the default) and
34812 dynamic binding an alternative, which corresponds better to Elisp 34810 dynamic binding an alternative, which corresponds better to Elisp
34813 today. Modernise parts of the text. 34811 today. Modernize parts of the text.
34814 * doc/lispref/elisp.texi (Top): Update menu. 34812 * doc/lispref/elisp.texi (Top): Update menu.
34815 34813
348162023-10-23 Mattias Engdegård <mattiase@acm.org> 348142023-10-23 Mattias Engdegård <mattiase@acm.org>
@@ -35108,7 +35106,7 @@
35108 35106
35109 (sleep-for): Make the `millisec` argument obsolete 35107 (sleep-for): Make the `millisec` argument obsolete
35110 35108
35111 * lisp/subr.el (sleep-for): Set new advertized calling convention. 35109 * lisp/subr.el (sleep-for): Set new advertised calling convention.
35112 * src/dispnew.c (Fsleep_for): Adjust docstring. 35110 * src/dispnew.c (Fsleep_for): Adjust docstring.
35113 * doc/lispref/commands.texi (Waiting): Adjust doc. 35111 * doc/lispref/commands.texi (Waiting): Adjust doc.
35114 35112
@@ -35298,7 +35296,7 @@
35298 Repair detection of empty mailto URLs 35296 Repair detection of empty mailto URLs
35299 35297
35300 * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): 35298 * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
35301 Additonally regard mailto:// as an empty URL, since Android does 35299 Additionally regard mailto:// as an empty URL, since Android does
35302 interpret them as such. 35300 interpret them as such.
35303 35301
353042023-10-20 Gerd Möllmann <gerd.moellmann@gmail.com> 353022023-10-20 Gerd Möllmann <gerd.moellmann@gmail.com>
@@ -35599,7 +35597,7 @@
35599 35597
356002023-10-16 Po Lu <luangruo@yahoo.com> 355982023-10-16 Po Lu <luangruo@yahoo.com>
35601 35599
35602 Properly initialize argment list supplied to android_init_emacs 35600 Properly initialize argument list supplied to android_init_emacs
35603 35601
35604 * src/android.c (initEmacs): NULL-terminate c_argv. 35602 * src/android.c (initEmacs): NULL-terminate c_argv.
35605 35603
@@ -37376,7 +37374,7 @@
37376 Fix last change 37374 Fix last change
37377 37375
37378 * src/search.c (Fre__describe_compiled): Correct typos and 37376 * src/search.c (Fre__describe_compiled): Correct typos and
37379 pointer signedness missmatch. 37377 pointer signedness mismatch.
37380 37378
373812023-09-29 Stefan Monnier <monnier@iro.umontreal.ca> 373792023-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
37382 37380
@@ -37775,7 +37773,7 @@
37775 37773
37776 Instead of scanning vector_free_lists from the appropriate size until 37774 Instead of scanning vector_free_lists from the appropriate size until
37777 we find a nonempty bucket, start at the last bucket where we last put 37775 we find a nonempty bucket, start at the last bucket where we last put
37778 something in. This may favour splitting larger vectors than necessary 37776 something in. This may favor splitting larger vectors than necessary
37779 but in general saves a lot of time in the allocation of small vectors. 37777 but in general saves a lot of time in the allocation of small vectors.
37780 37778
37781 Original patch by Ihor Radchenko. 37779 Original patch by Ihor Radchenko.
@@ -37870,7 +37868,7 @@
37870 37868
37871 Flymake: unbreak tests 37869 Flymake: unbreak tests
37872 37870
37873 Flymake's normal behaviour implies catching the errors of misbehaving 37871 Flymake's normal behavior implies catching the errors of misbehaving
37874 backends. This behavior is tested by Flymake's automated tests, built 37872 backends. This behavior is tested by Flymake's automated tests, built
37875 on top of ERT, which means that debug-on-error is always t in the 37873 on top of ERT, which means that debug-on-error is always t in the
37876 bodies of said tests (I don't know the rationale for this, but it's 37874 bodies of said tests (I don't know the rationale for this, but it's
@@ -38375,7 +38373,7 @@
38375 pointer arithmetic in C. In particular, a null pointer can be neither 38373 pointer arithmetic in C. In particular, a null pointer can be neither
38376 an operand in nor the result of pointer arithmetic. 38374 an operand in nor the result of pointer arithmetic.
38377 38375
38378 C compilers know this and would, prior to this change, optimise 38376 C compilers know this and would, prior to this change, optimize
38379 38377
38380 XUNTAG(obj, Lisp_Int0, mytype) != NULL 38378 XUNTAG(obj, Lisp_Int0, mytype) != NULL
38381 38379
@@ -38424,16 +38422,16 @@
38424 Offset ranges before applying embedded tree-sitter parser 38422 Offset ranges before applying embedded tree-sitter parser
38425 38423
38426 This feature would allow treesitter major modes to easily specify 38424 This feature would allow treesitter major modes to easily specify
38427 offsets when using embeded parsers. A potential use case for this is 38425 offsets when using embedded parsers. A potential use case for this is
38428 javascript template strings, when we want to apply a different parser 38426 javascript template strings, when we want to apply a different parser
38429 to the string's contents, but do not want to include the template 38427 to the string's contents, but do not want to include the template
38430 string's delimiters. 38428 string's delimiters.
38431 38429
38432 * lisp/treesit.el 38430 * lisp/treesit.el
38433 (treesit-query-range): Accept an optional offest arg, apply the offset 38431 (treesit-query-range): Accept an optional offset arg, apply the offset
38434 to all returned ranges. 38432 to all returned ranges.
38435 (treesit-range-rules): Accept an optional :offset keyword arg to adjust 38433 (treesit-range-rules): Accept an optional :offset keyword arg to adjust
38436 ranges an embded parser is applied to. 38434 ranges an embedded parser is applied to.
38437 (treesit-update-ranges): Forward optional :offset setting from 38435 (treesit-update-ranges): Forward optional :offset setting from
38438 `treesit-range-rules' to `treesit-query-rang'. 38436 `treesit-range-rules' to `treesit-query-rang'.
38439 * test/src/treesit-tests.el 38437 * test/src/treesit-tests.el
@@ -38729,7 +38727,7 @@
38729 pointer arithmetic in C. In particular, a null pointer can be neither 38727 pointer arithmetic in C. In particular, a null pointer can be neither
38730 an operand in nor the result of pointer arithmetic. 38728 an operand in nor the result of pointer arithmetic.
38731 38729
38732 C compilers know this and would, prior to this change, optimise 38730 C compilers know this and would, prior to this change, optimize
38733 38731
38734 XUNTAG(obj, Lisp_Int0, mytype) != NULL 38732 XUNTAG(obj, Lisp_Int0, mytype) != NULL
38735 38733
@@ -39227,7 +39225,7 @@
39227 39225
39228 Make sure undefined tree-sitter thing doesn't raise an error 39226 Make sure undefined tree-sitter thing doesn't raise an error
39229 39227
39230 A previous change should've achived this, but that wasn't enough. 39228 A previous change should've achieved this, but that wasn't enough.
39231 This one actually achieves the intended effect, namely, 39229 This one actually achieves the intended effect, namely,
39232 treesit-node-match-p doesn't raise an error if IGNORE-MISSING is 39230 treesit-node-match-p doesn't raise an error if IGNORE-MISSING is
39233 non-nil, and traverse functions don't raise error by default. 39231 non-nil, and traverse functions don't raise error by default.
@@ -39776,7 +39774,7 @@
39776 (say "goodbye")) 39774 (say "goodbye"))
39777 39775
39778 because they are very much an indicator of a mistake (such as 39776 because they are very much an indicator of a mistake (such as
39779 misplaced brackets), and since they are deleted by the optimiser, any 39777 misplaced brackets), and since they are deleted by the optimizer, any
39780 other warnings there are lost and the user wouldn't know that 39778 other warnings there are lost and the user wouldn't know that
39781 something is wrong otherwise. 39779 something is wrong otherwise.
39782 39780
@@ -39994,7 +39992,7 @@
39994 Fix treesit-thing-settings for c++-ts-mode (bug#65810) 39992 Fix treesit-thing-settings for c++-ts-mode (bug#65810)
39995 39993
39996 * lisp/progmodes/c-ts-mode.el: 39994 * lisp/progmodes/c-ts-mode.el:
39997 (c-ts-mode--thing-settings): New varaible. 39995 (c-ts-mode--thing-settings): New variable.
39998 (c-ts-base-mode): Use c-ts-mode--thing-settings. 39996 (c-ts-base-mode): Use c-ts-mode--thing-settings.
39999 39997
400002023-09-08 Yuan Fu <casouri@gmail.com> 399982023-09-08 Yuan Fu <casouri@gmail.com>
@@ -40459,7 +40457,7 @@
40459 (eglot-path-to-uri) 40457 (eglot-path-to-uri)
40460 (eglot-range-region) 40458 (eglot-range-region)
40461 (eglot-server-capable) 40459 (eglot-server-capable)
40462 (eglot-server-capable-or-lose): New functions and backward compability 40460 (eglot-server-capable-or-lose): New functions and backward compatibility
40463 aliases. 40461 aliases.
40464 40462
404652023-09-04 Stefan Kangas <stefankangas@gmail.com> 404632023-09-04 Stefan Kangas <stefankangas@gmail.com>
@@ -40648,7 +40646,7 @@
40648 (eglot-path-to-uri) 40646 (eglot-path-to-uri)
40649 (eglot-range-region) 40647 (eglot-range-region)
40650 (eglot-server-capable) 40648 (eglot-server-capable)
40651 (eglot-server-capable-or-lose): New functions and backward compability 40649 (eglot-server-capable-or-lose): New functions and backward compatibility
40652 aliases. 40650 aliases.
40653 40651
406542023-09-03 Jonas Bernoulli <jonas@bernoul.li> 406522023-09-03 Jonas Bernoulli <jonas@bernoul.li>
@@ -40853,7 +40851,7 @@
40853 * lisp/eshell/em-prompt.el (eshell-next-prompt): Make N optional. 40851 * lisp/eshell/em-prompt.el (eshell-next-prompt): Make N optional.
40854 When navigating, first move to the end of the prompt. This makes the 40852 When navigating, first move to the end of the prompt. This makes the
40855 subsequent navigation more predictable. 40853 subsequent navigation more predictable.
40856 (eshell-previous-prompt): Mane N optional. 40854 (eshell-previous-prompt): Make N optional.
40857 40855
40858 * test/lisp/eshell/em-prompt-tests.el 40856 * test/lisp/eshell/em-prompt-tests.el
40859 (em-prompt-test--with-multiline): Move to "Code" section. 40857 (em-prompt-test--with-multiline): Move to "Code" section.
@@ -41184,7 +41182,7 @@
41184 41182
411852023-09-01 Eli Zaretskii <eliz@gnu.org> 411832023-09-01 Eli Zaretskii <eliz@gnu.org>
41186 41184
41187 Fix VC mode-line indication for registerd but ignored files 41185 Fix VC mode-line indication for registered but ignored files
41188 41186
41189 * lisp/vc/vc-hooks.el (vc-ignored-state): New face. 41187 * lisp/vc/vc-hooks.el (vc-ignored-state): New face.
41190 (vc-default-mode-line-string): Add special indication and tooltip 41188 (vc-default-mode-line-string): Add special indication and tooltip
@@ -42061,11 +42059,11 @@
42061 Properly parse format 4 cmap tables 42059 Properly parse format 4 cmap tables
42062 42060
42063 * src/sfnt.c (sfnt_read_cmap_format_4): Read range_shift field 42061 * src/sfnt.c (sfnt_read_cmap_format_4): Read range_shift field
42064 propery. Prior to this, it would be inadvertently treated as an 42062 property. Prior to this, it would be inadvertently treated as an
42065 entry within the segment end code array, which only functioned 42063 entry within the segment end code array, which only functioned
42066 by happenstance. 42064 by happenstance.
42067 (sfnt_lookup_glyph_4): Remove workaround grounded upon an 42065 (sfnt_lookup_glyph_4): Remove workaround grounded upon an
42068 erroneous interpretation of the bug fixed by the aformentioned 42066 erroneous interpretation of the bug fixed by the aforementioned
42069 change. 42067 change.
42070 42068
42071 * src/sfnt.h (struct sfnt_cmap_format_4): Introduce previously 42069 * src/sfnt.h (struct sfnt_cmap_format_4): Introduce previously
@@ -42990,7 +42988,7 @@
42990 42988
429912023-08-16 Mattias Engdegård <mattiase@acm.org> 429892023-08-16 Mattias Engdegård <mattiase@acm.org>
42992 42990
42993 tibetan.el: compute constants at compile time, optimise regexps 42991 tibetan.el: compute constants at compile time, optimize regexps
42994 42992
42995 * lisp/language/tibetan.el (tibetan-subjoined-transcription-alist) 42993 * lisp/language/tibetan.el (tibetan-subjoined-transcription-alist)
42996 (tibetan-regexp, tibetan-precomposed-regexp) 42994 (tibetan-regexp, tibetan-precomposed-regexp)
@@ -43894,7 +43892,7 @@
43894 43892
43895 * lisp/eshell/esh-cmd.el (eshell-parse-command): Do all modifications 43893 * lisp/eshell/esh-cmd.el (eshell-parse-command): Do all modifications
43896 to each command in a single pass. 43894 to each command in a single pass.
43897 (eshell-parse-pipeline): Remove unncessary reversing of parsed 43895 (eshell-parse-pipeline): Remove unnecessary reversing of parsed
43898 results. 43896 results.
43899 43897
439002023-08-10 Po Lu <luangruo@yahoo.com> 438982023-08-10 Po Lu <luangruo@yahoo.com>
@@ -44229,7 +44227,7 @@
44229 Teach byte-compiler about Aristotelian identity 44227 Teach byte-compiler about Aristotelian identity
44230 44228
44231 * lisp/emacs-lisp/byte-opt.el (byte-optimize-equal, byte-optimize-eq): 44229 * lisp/emacs-lisp/byte-opt.el (byte-optimize-equal, byte-optimize-eq):
44232 Optimise (eq X X) -> t where X is a variable; idem for eql and equal. 44230 Optimize (eq X X) -> t where X is a variable; idem for eql and equal.
44233 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): 44231 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
44234 Add test case. 44232 Add test case.
44235 44233
@@ -44683,7 +44681,7 @@
44683 platform-specific file descriptor replacement is possible, place 44681 platform-specific file descriptor replacement is possible, place
44684 one there. 44682 one there.
44685 (build_load_history): Fix typos in comments. 44683 (build_load_history): Fix typos in comments.
44686 (skip_lazy_string): Implement in terms of the aformentioned 44684 (skip_lazy_string): Implement in terms of the aforementioned
44687 macros. 44685 macros.
44688 44686
44689 * src/lisp.h: Add declarations for new functions. 44687 * src/lisp.h: Add declarations for new functions.
@@ -45563,7 +45561,7 @@
45563 * test/lisp/align-resources/c-mode.erts: Make test agree with Emacs 45561 * test/lisp/align-resources/c-mode.erts: Make test agree with Emacs
45564 45562
45565 This eliminates a failure in align-tests. There doesn't seem to be 45563 This eliminates a failure in align-tests. There doesn't seem to be
45566 anything obviously wrong with Emacs's behaviour in this case. 45564 anything obviously wrong with Emacs's behavior in this case.
45567 45565
455682023-08-05 Michael Albinus <michael.albinus@gmx.de> 455662023-08-05 Michael Albinus <michael.albinus@gmx.de>
45569 45567
@@ -45692,7 +45690,7 @@
45692 Don't allow the `eq` and `unbind` byte-ops to commute (bug#65017) 45690 Don't allow the `eq` and `unbind` byte-ops to commute (bug#65017)
45693 45691
45694 * lisp/emacs-lisp/byte-opt.el (byte-after-unwind-ops): 45692 * lisp/emacs-lisp/byte-opt.el (byte-after-unwind-ops):
45695 Cease sinking `eq` past `unwind`, because that optimised away the 45693 Cease sinking `eq` past `unwind`, because that optimized away the
45696 let-binding in 45694 let-binding in
45697 45695
45698 (let ((symbols-with-pos-enabled nil)) 45696 (let ((symbols-with-pos-enabled nil))
@@ -46286,7 +46284,7 @@
46286 46284
46287 Merge from origin/emacs-29 46285 Merge from origin/emacs-29
46288 46286
46289 a9b28224af0 ; Last-minute changes befor releasing 29.1 46287 a9b28224af0 ; Last-minute changes before releasing 29.1
46290 7da1cee56b3 Update CMake support due to upstream changes (bug#64922) 46288 7da1cee56b3 Update CMake support due to upstream changes (bug#64922)
46291 c2d95dd00e6 Remove nullptr named node from c++-ts-mode (bug#64818) 46289 c2d95dd00e6 Remove nullptr named node from c++-ts-mode (bug#64818)
46292 4e977136d31 Make compat check also check typescript 46290 4e977136d31 Make compat check also check typescript
@@ -46795,7 +46793,7 @@
46795 46793
46796 Implement char-before, backward-char and backward-word as compiler 46794 Implement char-before, backward-char and backward-word as compiler
46797 macros instead of byte-compile handlers so that the source-level 46795 macros instead of byte-compile handlers so that the source-level
46798 optimiser gets to simplify the result. In particular, this removes 46796 optimizer gets to simplify the result. In particular, this removes
46799 some branches. 46797 some branches.
46800 46798
46801 * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before) 46799 * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
@@ -47746,7 +47744,7 @@
47746 (python-shell-interpreter-interactive-arg): Improve 47744 (python-shell-interpreter-interactive-arg): Improve
47747 documentation. 47745 documentation.
47748 (python--list-imports, python--do-isort) 47746 (python--list-imports, python--do-isort)
47749 (python-fix-imports): Make process use customisable 47747 (python-fix-imports): Make process use customizable
47750 arguments. 47748 arguments.
47751 47749
477522023-07-20 Mauro Aranda <maurooaranda@gmail.com> 477502023-07-20 Mauro Aranda <maurooaranda@gmail.com>
@@ -47801,7 +47799,7 @@
47801 47799
47802 4bd8e8c6d2b ; * src/xdisp.c: Fix wording in commentary. 47800 4bd8e8c6d2b ; * src/xdisp.c: Fix wording in commentary.
47803 3af27a4b815 Improve commentary in nsfns.m 47801 3af27a4b815 Improve commentary in nsfns.m
47804 5de5e4b4d0a Fix typos and ommissions in cus-edit.el 47802 5de5e4b4d0a Fix typos and omissions in cus-edit.el
47805 9d93c6ba14a ; * src/xdisp.c: Fix typos in the commentary. 47803 9d93c6ba14a ; * src/xdisp.c: Fix typos in the commentary.
47806 86f2d6d62fc ; * src/xdisp.c: Improve commentary. (Bug#64596) 47804 86f2d6d62fc ; * src/xdisp.c: Improve commentary. (Bug#64596)
47807 ac075176bf0 ; * admin/notes/bugtracker: Fix punctuation. 47805 ac075176bf0 ; * admin/notes/bugtracker: Fix punctuation.
@@ -48034,7 +48032,7 @@
48034 (build-counter.c): New target. Generate this file using 48032 (build-counter.c): New target. Generate this file using
48035 makecounter.sh upon changes to lisp.mk or shortlisp. 48033 makecounter.sh upon changes to lisp.mk or shortlisp.
48036 (lisp.mk): Make and load relative to abs_top_builddir. 48034 (lisp.mk): Make and load relative to abs_top_builddir.
48037 (emacs$(EXEEXT)): Adjust acordingly. 48035 (emacs$(EXEEXT)): Adjust accordingly.
48038 (mostlyclean): Remove build-counter.c. 48036 (mostlyclean): Remove build-counter.c.
48039 48037
480402023-07-19 Po Lu <luangruo@yahoo.com> 480382023-07-19 Po Lu <luangruo@yahoo.com>
@@ -48137,7 +48135,7 @@
48137 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Update JNI 48135 * java/org/gnu/emacs/EmacsNative.java (EmacsNative): Update JNI
48138 prototypes. 48136 prototypes.
48139 * java/org/gnu/emacs/EmacsWindow.java (motionEvent): Set 48137 * java/org/gnu/emacs/EmacsWindow.java (motionEvent): Set
48140 cancelation flag in events sent where appropriate. 48138 cancellation flag in events sent where appropriate.
48141 * lisp/touch-screen.el (touch-screen-handle-point-update): 48139 * lisp/touch-screen.el (touch-screen-handle-point-update):
48142 Improve treatment of horizontal scrolling near window edges. 48140 Improve treatment of horizontal scrolling near window edges.
48143 (touch-screen-handle-touch): Don't handle point up if the touch 48141 (touch-screen-handle-touch): Don't handle point up if the touch
@@ -48147,7 +48145,7 @@
48147 * src/androidgui.h (enum android_touch_event_flags): New enum. 48145 * src/androidgui.h (enum android_touch_event_flags): New enum.
48148 (struct android_touch_event): New field `flags'. 48146 (struct android_touch_event): New field `flags'.
48149 * src/androidterm.c (handle_one_android_event): Report 48147 * src/androidterm.c (handle_one_android_event): Report
48150 cancelation in TOUCHSCREEN_END_EVENTs. 48148 cancellation in TOUCHSCREEN_END_EVENTs.
48151 * src/keyboard.c (make_lispy_event): Fix botched merge. 48149 * src/keyboard.c (make_lispy_event): Fix botched merge.
48152 48150
481532023-07-18 Po Lu <luangruo@yahoo.com> 481512023-07-18 Po Lu <luangruo@yahoo.com>
@@ -48212,7 +48210,7 @@
48212 48210
48213 To make rx produce a translation that works as intended, split ranges 48211 To make rx produce a translation that works as intended, split ranges
48214 that that go from ordinary characters to raw bytes. Such ranges may 48212 that that go from ordinary characters to raw bytes. Such ranges may
48215 appear from set manipulation and regexp optimisation. 48213 appear from set manipulation and regexp optimization.
48216 48214
48217 * lisp/emacs-lisp/rx.el (rx--generate-alt): Split intervals that 48215 * lisp/emacs-lisp/rx.el (rx--generate-alt): Split intervals that
48218 straddle the char-raw boundary when rendering a string regexp from an 48216 straddle the char-raw boundary when rendering a string regexp from an
@@ -49254,7 +49252,7 @@
49254 49252
49255 Autodetect coding system when yanking media 49253 Autodetect coding system when yanking media
49256 49254
49257 Some browers send eg 'text/html' selections formatted as UTF-8, but 49255 Some browsers send eg 'text/html' selections formatted as UTF-8, but
49258 with a type of STRING, which actually means iso-latin-1. Autodetect 49256 with a type of STRING, which actually means iso-latin-1. Autodetect
49259 the correct coding system to use by calling 'gui-get-selection'. 49257 the correct coding system to use by calling 'gui-get-selection'.
49260 49258
@@ -49421,7 +49419,7 @@
49421 onGenericMotionEvent. 49419 onGenericMotionEvent.
49422 * java/org/gnu/emacs/EmacsWindow.java (Coordinate): New fields 49420 * java/org/gnu/emacs/EmacsWindow.java (Coordinate): New fields
49423 `button' and `id'. 49421 `button' and `id'.
49424 (<init>): Add new arguments to the construtor. 49422 (<init>): Add new arguments to the constructor.
49425 (whatButtonWasIt): Return 0 if the button state has not changed. 49423 (whatButtonWasIt): Return 0 if the button state has not changed.
49426 (buttonForEvent): New function. 49424 (buttonForEvent): New function.
49427 (figureChange): Return the Coordinate object associated to 49425 (figureChange): Return the Coordinate object associated to
@@ -50210,7 +50208,7 @@
50210 (cperl-mode): Add "ADJUST" to defun-prompt-regexp. 50208 (cperl-mode): Add "ADJUST" to defun-prompt-regexp.
50211 (cperl-after-block-p): Add new keywords for Perl 5.36 and 5.38. 50209 (cperl-after-block-p): Add new keywords for Perl 5.36 and 5.38.
50212 (cperl-indent-exp): Add "field" to expression starters. 50210 (cperl-indent-exp): Add "field" to expression starters.
50213 (cperl-imenu--create-perl-index): Rename variables refering to 50211 (cperl-imenu--create-perl-index): Rename variables referring to
50214 "package", because they also contain classes. 50212 "package", because they also contain classes.
50215 (cperl-init-faces): Add new keywords for Perl 5.36 and 5.38. 50213 (cperl-init-faces): Add new keywords for Perl 5.36 and 5.38.
50216 (cperl-find-tags): Add support for "class". 50214 (cperl-find-tags): Add support for "class".
@@ -51317,7 +51315,7 @@
51317 Use prefix syntax for ,@ to avoid the @ becoming part of a symbol 51315 Use prefix syntax for ,@ to avoid the @ becoming part of a symbol
51318 that follows. 51316 that follows.
51319 * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env): 51317 * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env):
51320 Propertise inserted Lisp code to keep the test working. 51318 Propertize inserted Lisp code to keep the test working.
51321 51319
513222023-06-21 Mattias Engdegård <mattiase@acm.org> 513202023-06-21 Mattias Engdegård <mattiase@acm.org>
51323 51321
@@ -52752,10 +52750,10 @@
52752 52750
527532023-06-04 Mattias Engdegård <mattiase@acm.org> 527512023-06-04 Mattias Engdegård <mattiase@acm.org>
52754 52752
52755 Better internal-make-closure optimisation 52753 Better internal-make-closure optimization
52756 52754
52757 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): 52755 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
52758 Optimise closed-over values in closure creation like any other, which 52756 Optimize closed-over values in closure creation like any other, which
52759 can lead to stack variables being eliminated. 52757 can lead to stack variables being eliminated.
52760 52758
527612023-06-04 Andrea Corallo <akrl@sdf.org> 527592023-06-04 Andrea Corallo <akrl@sdf.org>
@@ -52845,7 +52843,7 @@
52845 dc7acb1aafe Avoid errors in 'delete-forward-char' deleting static com... 52843 dc7acb1aafe Avoid errors in 'delete-forward-char' deleting static com...
52846 2f94f6de9d6 Make VS-15 and VS-16 compositions work correctly 52844 2f94f6de9d6 Make VS-15 and VS-16 compositions work correctly
52847 753f8aa1f14 Fix project-name for vc-aware backend in non-file buffers 52845 753f8aa1f14 Fix project-name for vc-aware backend in non-file buffers
52848 17c7915ab94 ; Fix 'package-install-upgrade-built-in' check for packag... 52846 17c7915ab94 ; Fix 'package-install-upgrade-built-in' check for package...
52849 e252ce26eab Add type_predicate 'is' as keyword in typescript-ts-mode ... 52847 e252ce26eab Add type_predicate 'is' as keyword in typescript-ts-mode ...
52850 0a354d65784 Fix infloop in info-look.el 52848 0a354d65784 Fix infloop in info-look.el
52851 83b22139e4c Fix several todo-mode.el item editing bugs (bug#63811) 52849 83b22139e4c Fix several todo-mode.el item editing bugs (bug#63811)
@@ -54022,7 +54020,7 @@
54022 54020
540232023-05-20 Mattias Engdegård <mattiase@acm.org> 540212023-05-20 Mattias Engdegård <mattiase@acm.org>
54024 54022
54025 Minor optimisation of string-trim-left and string-trim-right 54023 Minor optimization of string-trim-left and string-trim-right
54026 54024
54027 * lisp/subr.el (string-trim-left, string-trim-right): 54025 * lisp/subr.el (string-trim-left, string-trim-right):
54028 Use a constant string when no REGEXP argument is given. 54026 Use a constant string when no REGEXP argument is given.
@@ -54052,7 +54050,7 @@
54052 Use `ansi-color-control-seq-regexp'. (Bug#63539) 54050 Use `ansi-color-control-seq-regexp'. (Bug#63539)
54053 54051
54054 * test/lisp/net/tramp-tests.el (tramp-display-escape-sequence-regexp): 54052 * test/lisp/net/tramp-tests.el (tramp-display-escape-sequence-regexp):
54055 Dont't declare. 54053 Don't declare.
54056 (tramp-test28-process-file, tramp-test32-shell-command): 54054 (tramp-test28-process-file, tramp-test32-shell-command):
54057 Use `ansi-color-control-seq-regexp'. 54055 Use `ansi-color-control-seq-regexp'.
54058 (tramp-test45-asynchronous-requests): Adapt test. 54056 (tramp-test45-asynchronous-requests): Adapt test.
@@ -55027,7 +55025,7 @@
55027 d2e82817a3f Add two typescript-ts-mode faces (bug#62429) 55025 d2e82817a3f Add two typescript-ts-mode faces (bug#62429)
55028 10918fc9d24 Fix scrolling window when point moves up 55026 10918fc9d24 Fix scrolling window when point moves up
55029 9b32bc134c4 Improve documentation of 'defcustom's :set keyword 55027 9b32bc134c4 Improve documentation of 'defcustom's :set keyword
55030 ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b... 55028 ab4273056e0 Comp fix calls to redefined primitives with op-bytecode (b...
55031 c98929c7e18 ; Fix last change 55029 c98929c7e18 ; Fix last change
55032 a14c3f62a67 ; Fix last change 55030 a14c3f62a67 ; Fix last change
55033 09fece5722f Fix duplicate defcustom in eww.el 55031 09fece5722f Fix duplicate defcustom in eww.el
@@ -55053,7 +55051,7 @@
55053 (nreverse [1 2 3]) 55051 (nreverse [1 2 3])
55054 (put-text-property 0 3 'face 'highlight "moo") 55052 (put-text-property 0 3 'face 'highlight "moo")
55055 55053
55056 Such code can result in surprising behaviour and problems that 55054 Such code can result in surprising behavior and problems that
55057 are difficult to debug. 55055 are difficult to debug.
55058 55056
55059 * lisp/emacs-lisp/bytecomp.el (byte-compile-form, mutating-fns): 55057 * lisp/emacs-lisp/bytecomp.el (byte-compile-form, mutating-fns):
@@ -55843,7 +55841,7 @@
55843 55841
558442023-05-05 Mattias Engdegård <mattiase@acm.org> 558422023-05-05 Mattias Engdegård <mattiase@acm.org>
55845 55843
55846 Remove useless handling of erroneous code in Lisp optimiser 55844 Remove useless handling of erroneous code in Lisp optimizer
55847 55845
55848 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): 55846 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
55849 ((closure ...) ...) is a malformed function call; treat it as such. 55847 ((closure ...) ...) is a malformed function call; treat it as such.
@@ -56578,7 +56576,7 @@
56578 * lisp/ls-lisp.el (ls-lisp-ignore-case): 56576 * lisp/ls-lisp.el (ls-lisp-ignore-case):
56579 * lisp/mail/binhex.el (binhex-use-external): 56577 * lisp/mail/binhex.el (binhex-use-external):
56580 * lisp/progmodes/cperl-mode.el (cperl-electric-parens-mark): 56578 * lisp/progmodes/cperl-mode.el (cperl-electric-parens-mark):
56581 Normalise default values to nil or t. 56579 Normalize default values to nil or t.
56582 56580
565832023-04-28 Po Lu <luangruo@yahoo.com> 565812023-04-28 Po Lu <luangruo@yahoo.com>
56584 56582
@@ -56627,7 +56625,7 @@
56627 56625
566282023-04-27 Mattias Engdegård <mattiase@acm.org> 566262023-04-27 Mattias Engdegård <mattiase@acm.org>
56629 56627
56630 Clarify `nconc` behaviour for dotted lists (bug#63103) 56628 Clarify `nconc` behavior for dotted lists (bug#63103)
56631 56629
56632 * doc/lispref/lists.texi (Rearrangement): Explicitly say that dotted 56630 * doc/lispref/lists.texi (Rearrangement): Explicitly say that dotted
56633 lists are valid args to `nconc` and give an example. 56631 lists are valid args to `nconc` and give an example.
@@ -56950,7 +56948,7 @@
56950 56948
569512023-04-22 Mattias Engdegård <mattiase@acm.org> 569492023-04-22 Mattias Engdegård <mattiase@acm.org>
56952 56950
56953 Improved nconc and append compiler optimisations 56951 Improved nconc and append compiler optimizations
56954 56952
56955 Add the transforms: 56953 Add the transforms:
56956 56954
@@ -56964,7 +56962,7 @@
56964 (list X) Y -> (cons X Y) 56962 (list X) Y -> (cons X Y)
56965 56963
56966 * lisp/emacs-lisp/byte-opt.el (byte-optimize-nconc): New. 56964 * lisp/emacs-lisp/byte-opt.el (byte-optimize-nconc): New.
56967 (byte-optimize-append): Fix minor flaws and generalise. 56965 (byte-optimize-append): Fix minor flaws and generalize.
56968 56966
569692023-04-22 Po Lu <luangruo@yahoo.com> 569672023-04-22 Po Lu <luangruo@yahoo.com>
56970 56968
@@ -57511,7 +57509,7 @@
57511 * lisp/progmodes/cc-engine.el (c-forward-over-compound-identifier): Don't 57509 * lisp/progmodes/cc-engine.el (c-forward-over-compound-identifier): Don't
57512 move forward over whitespace following the identifier. 57510 move forward over whitespace following the identifier.
57513 (c-forward-primary-expression): Add parameter stop-at-end meaning don't move 57511 (c-forward-primary-expression): Add parameter stop-at-end meaning don't move
57514 forward over whitespace after the construct when non-nil. Don't recognise a 57512 forward over whitespace after the construct when non-nil. Don't recognize a
57515 primary expression when an open brace follows a parenthesized expression. 57513 primary expression when an open brace follows a parenthesized expression.
57516 (c-forward-constraint-clause): Extracted from c-forward-c++-requires-clause. 57514 (c-forward-constraint-clause): Extracted from c-forward-c++-requires-clause.
57517 Add parameter stop-at-end as above. 57515 Add parameter stop-at-end as above.
@@ -57873,7 +57871,7 @@
57873 57871
578742023-04-12 João Távora <joaotavora@gmail.com> 578722023-04-12 João Távora <joaotavora@gmail.com>
57875 57873
57876 Flymake: futher enhance echo-area appearance of diagnostics 57874 Flymake: further enhance echo-area appearance of diagnostics
57877 57875
57878 Also describe new 'echo-face' property in the Flymake manual, and fix 57876 Also describe new 'echo-face' property in the Flymake manual, and fix
57879 it's mistaken mention of a non-existing 'flymake-severity' property. 57877 it's mistaken mention of a non-existing 'flymake-severity' property.
@@ -59065,7 +59063,7 @@
59065 Consolidate existing warnings about unused return values 59063 Consolidate existing warnings about unused return values
59066 59064
59067 Move the warning about unused return values from calls to 59065 Move the warning about unused return values from calls to
59068 side-effect-free functions from the source-level optimiser to the code 59066 side-effect-free functions from the source-level optimizer to the code
59069 generator, where it can be unified with the special-purpose warning 59067 generator, where it can be unified with the special-purpose warning
59070 about unused values from `mapcar`. This change also cures spurious 59068 about unused values from `mapcar`. This change also cures spurious
59071 duplicate warnings about the same code, makes the warnings amenable to 59069 duplicate warnings about the same code, makes the warnings amenable to
@@ -59584,7 +59582,7 @@
59584 d2e82817a3f Add two typescript-ts-mode faces (bug#62429) 59582 d2e82817a3f Add two typescript-ts-mode faces (bug#62429)
59585 10918fc9d24 Fix scrolling window when point moves up 59583 10918fc9d24 Fix scrolling window when point moves up
59586 9b32bc134c4 Improve documentation of 'defcustom's :set keyword 59584 9b32bc134c4 Improve documentation of 'defcustom's :set keyword
59587 ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b... 59585 ab4273056e0 Comp fix calls to redefined primitives with op-bytecode (b...
59588 c98929c7e18 ; Fix last change 59586 c98929c7e18 ; Fix last change
59589 a14c3f62a67 ; Fix last change 59587 a14c3f62a67 ; Fix last change
59590 09fece5722f Fix duplicate defcustom in eww.el 59588 09fece5722f Fix duplicate defcustom in eww.el
@@ -59851,15 +59849,15 @@
59851 59849
598522023-03-31 Mattias Engdegård <mattiase@acm.org> 598502023-03-31 Mattias Engdegård <mattiase@acm.org>
59853 59851
59854 Make string-lessp vectorisation safer 59852 Make string-lessp vectorization safer
59855 59853
59856 Use memcpy for loading unaligned words on platforms where this can be 59854 Use memcpy for loading unaligned words on platforms where this can be
59857 done efficiently. This guards against problems arising from future 59855 done efficiently. This guards against problems arising from future
59858 compiler autovectorisation improvements that might cause instructions 59856 compiler autovectorisation improvements that might cause instructions
59859 that require aligned addresses to be emitted, and should also work 59857 that require aligned addresses to be emitted, and should also work
59860 with an address sanitiser enabled. 59858 with an address sanitizer enabled.
59861 59859
59862 * src/fns.c (HAVE_FAST_UNALIGNED_ACCESS): Only define when optimising. 59860 * src/fns.c (HAVE_FAST_UNALIGNED_ACCESS): Only define when optimizing.
59863 (load_unaligned_size_t): New. 59861 (load_unaligned_size_t): New.
59864 (Fstring_lessp): Use load_unaligned_size_t. 59862 (Fstring_lessp): Use load_unaligned_size_t.
59865 * src/lisp.h (UNALIGNED_LOAD_SIZE): Remove now unused macro. 59863 * src/lisp.h (UNALIGNED_LOAD_SIZE): Remove now unused macro.
@@ -60016,7 +60014,7 @@
60016 Update Android port 60014 Update Android port
60017 60015
60018 * src/sfntfont.c (sfntfont_setup_interpreter): Don't create 60016 * src/sfntfont.c (sfntfont_setup_interpreter): Don't create
60019 interpreter for blatently broken fonts. 60017 interpreter for blatantly broken fonts.
60020 60018
600212023-03-29 Stefan Kangas <stefankangas@gmail.com> 600192023-03-29 Stefan Kangas <stefankangas@gmail.com>
60022 60020
@@ -60024,7 +60022,7 @@
60024 60022
60025 3965c65d5e2 ; * lisp/subr.el (read-char-choice): Fix last change. 60023 3965c65d5e2 ; * lisp/subr.el (read-char-choice): Fix last change.
60026 c1eac5b6586 Improve documentation of 'read-choice' and related symbols 60024 c1eac5b6586 Improve documentation of 'read-choice' and related symbols
60027 a8c9283e170 Revert "Comp fix calls to redefined primtives with op-byt... 60025 a8c9283e170 Revert "Comp fix calls to redefined primitives with op-byt...
60028 8b66d8abd01 Revert "* lisp/emacs-lisp/comp.el (comp-emit-set-call-sub... 60026 8b66d8abd01 Revert "* lisp/emacs-lisp/comp.el (comp-emit-set-call-sub...
60029 4ec4f614c71 ; Fix incompatibility in 'display-buffer-assq-regexp' 60027 4ec4f614c71 ; Fix incompatibility in 'display-buffer-assq-regexp'
60030 ba3ade58f3b Skip ruby-ts-imenu-index test if needed 60028 ba3ade58f3b Skip ruby-ts-imenu-index test if needed
@@ -60067,7 +60065,7 @@
60067 subcommands). For globbing, we want to pass the literal glob to 60065 subcommands). For globbing, we want to pass the literal glob to
60068 Pcomplete so it can use the glob for selecting completion candidates. 60066 Pcomplete so it can use the glob for selecting completion candidates.
60069 For subcommands (including Lisp forms), we especially want to avoid 60067 For subcommands (including Lisp forms), we especially want to avoid
60070 evaluation, since they can produce arbitary side effects! (Bug#50470) 60068 evaluation, since they can produce arbitrary side effects! (Bug#50470)
60071 60069
60072 * lisp/eshell/esh-cmd.el (eshell-allow-commands): New variable... 60070 * lisp/eshell/esh-cmd.el (eshell-allow-commands): New variable...
60073 (eshell-commands-forbidden): New error... 60071 (eshell-commands-forbidden): New error...
@@ -60537,7 +60535,7 @@
60537 60535
605382023-03-25 Mattias Engdegård <mattiase@acm.org> 605362023-03-25 Mattias Engdegård <mattiase@acm.org>
60539 60537
60540 Generalise a LAP optimisation rule 60538 Generalize a LAP optimization rule
60541 60539
60542 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 60540 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
60543 Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a 60541 Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a
@@ -60821,7 +60819,7 @@
60821 4a7a0c9a9f5 * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Impr... 60819 4a7a0c9a9f5 * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Impr...
60822 4a6eefb93a5 Expand defvar-keymap documentation 60820 4a6eefb93a5 Expand defvar-keymap documentation
60823 7a1272168af * lisp/treesit.el (treesit-end-of-defun): Guard arg again... 60821 7a1272168af * lisp/treesit.el (treesit-end-of-defun): Guard arg again...
60824 263d6c38539 Comp fix calls to redefined primtives with op-bytecode (b... 60822 263d6c38539 Comp fix calls to redefined primitives with op-bytecode (b...
60825 6bf441ff115 Warn package authors away from keymap-unset with REMOVE 60823 6bf441ff115 Warn package authors away from keymap-unset with REMOVE
60826 786de66ec3c Comment out jobs on EMBA 60824 786de66ec3c Comment out jobs on EMBA
60827 eed240bc022 Improve defvar-keymap docstring. 60825 eed240bc022 Improve defvar-keymap docstring.
@@ -61095,7 +61093,7 @@
61095 CC Mode: Eliminate duplicate function c-list-of-strings 61093 CC Mode: Eliminate duplicate function c-list-of-strings
61096 61094
61097 Replace it with the existing c-string-list-p. Also put an autoload cookie in 61095 Replace it with the existing c-string-list-p. Also put an autoload cookie in
61098 front of c-string-list-p so that it will not be signalled as undefined by 61096 front of c-string-list-p so that it will not be signaled as undefined by
61099 loaddefs.el. 61097 loaddefs.el.
61100 61098
61101 lisp/progmodes/cc-vars.el (c-string-list-p): Make this autoload. 61099 lisp/progmodes/cc-vars.el (c-string-list-p): Make this autoload.
@@ -61503,14 +61501,14 @@
61503 Better jsonrpc.el workaround for debug-on-error check 61501 Better jsonrpc.el workaround for debug-on-error check
61504 61502
61505 Some extensions, notably ert.el, set `debug-on-error' to non-nil, 61503 Some extensions, notably ert.el, set `debug-on-error' to non-nil,
61506 which makes it hard to test the behaviour catching of the Elisp 61504 which makes it hard to test the behavior catching of the Elisp
61507 error when processing a request and replying to the endpoint with 61505 error when processing a request and replying to the endpoint with
61508 an JSONRPC-error. 61506 an JSONRPC-error.
61509 61507
61510 The previous workaround relied on requiring lisp/emacs-lisp/ert.el in 61508 The previous workaround relied on requiring lisp/emacs-lisp/ert.el in
61511 lisp/jsonrpc.el, which really doesn't make sense. 61509 lisp/jsonrpc.el, which really doesn't make sense.
61512 61510
61513 This is better. For the single test of that behaviour, set a new 61511 This is better. For the single test of that behavior, set a new
61514 variable, jsonrpc-inhibit-debug-on-error. 61512 variable, jsonrpc-inhibit-debug-on-error.
61515 61513
61516 Not only is this cleaner, it allows us to use ert.el's useful 61514 Not only is this cleaner, it allows us to use ert.el's useful
@@ -61558,7 +61556,7 @@
61558 1de513a29fa Fix enums and unions appearing as structs in c-ts-base-mo... 61556 1de513a29fa Fix enums and unions appearing as structs in c-ts-base-mo...
61559 ecdfd584a52 ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086) 61557 ecdfd584a52 ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086)
61560 29228e24f20 python-info-dedenter-opening-block-positions: Fix to supp... 61558 29228e24f20 python-info-dedenter-opening-block-positions: Fix to supp...
61561 01b65d442ad Autoload Eglot helper funtion eglot--debbugs-or-github-bu... 61559 01b65d442ad Autoload Eglot helper function eglot--debbugs-or-github-bu...
61562 50a3559c5a7 Add chapter on advanced server configuration to Eglot manual 61560 50a3559c5a7 Add chapter on advanced server configuration to Eglot manual
61563 2e7460c2315 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture... 61561 2e7460c2315 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture...
61564 255eeee0e06 java-ts-mode: detect if text_block is supported. 61562 255eeee0e06 java-ts-mode: detect if text_block is supported.
@@ -61655,7 +61653,7 @@
61655 (c-font-lock-extra-types, c++-font-lock-extra-types) 61653 (c-font-lock-extra-types, c++-font-lock-extra-types)
61656 (objc-font-lock-extra-types, java-font-lock-extra-types) 61654 (objc-font-lock-extra-types, java-font-lock-extra-types)
61657 (idl-font-lock-extra-types, pike-font-lock-extra-types): Add a :safe entry 61655 (idl-font-lock-extra-types, pike-font-lock-extra-types): Add a :safe entry
61658 into each of thes defcustoms for c-list-of-string. 61656 into each of these defcustoms for c-list-of-string.
61659 (Top level): Add an autoload entry for each of the above. 61657 (Top level): Add an autoload entry for each of the above.
61660 61658
616612023-03-13 Po Lu <luangruo@yahoo.com> 616592023-03-13 Po Lu <luangruo@yahoo.com>
@@ -62908,7 +62906,7 @@
62908 * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): 62906 * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
62909 Eliminate uses of condition-case without handlers. These seem to have 62907 Eliminate uses of condition-case without handlers. These seem to have
62910 been there for quite a long time. This change does not affect the 62908 been there for quite a long time. This change does not affect the
62911 behaviour of the code and makes some warnings go away. 62909 behavior of the code and makes some warnings go away.
62912 62910
629132023-03-03 Po Lu <luangruo@yahoo.com> 629112023-03-03 Po Lu <luangruo@yahoo.com>
62914 62912
@@ -62981,11 +62979,11 @@
62981 62979
629822023-03-02 Mattias Engdegård <mattiase@acm.org> 629802023-03-02 Mattias Engdegård <mattiase@acm.org>
62983 62981
62984 Small unwind-protect optimisation improvement 62982 Small unwind-protect optimization improvement
62985 62983
62986 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): 62984 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
62987 Use the current for-effect mode when optimising the body form, 62985 Use the current for-effect mode when optimizing the body form,
62988 instead of always optimising it for value. 62986 instead of always optimizing it for value.
62989 62987
629902023-03-02 Michael Albinus <michael.albinus@gmx.de> 629882023-03-02 Michael Albinus <michael.albinus@gmx.de>
62991 62989
@@ -63193,7 +63191,7 @@
63193 .:(src/verbose.mk): Depend on verbose.mk.android in srcdir. 63191 .:(src/verbose.mk): Depend on verbose.mk.android in srcdir.
63194 (lib/Makefile): Edit srcdir and VPATH to LIB_SRCDIR. 63192 (lib/Makefile): Edit srcdir and VPATH to LIB_SRCDIR.
63195 (src/Makefile): Edit -I$$(top_srcdir) to -I../$(srcdir)/lib, 63193 (src/Makefile): Edit -I$$(top_srcdir) to -I../$(srcdir)/lib,
63196 instead of ommitting it. 63194 instead of omitting it.
63197 (clean): Allow ndk-build clean to fail. 63195 (clean): Allow ndk-build clean to fail.
63198 63196
63199 * java/Makefile.in (builddir): New variable. 63197 * java/Makefile.in (builddir): New variable.
@@ -63895,7 +63893,7 @@
63895 Make android_select more robust 63893 Make android_select more robust
63896 63894
63897 * src/android.c (android_run_select_thread): Lock select_mutex 63895 * src/android.c (android_run_select_thread): Lock select_mutex
63898 before signalling condition variable. 63896 before signaling condition variable.
63899 (android_select): Unlock event queue mutex prior to waiting for 63897 (android_select): Unlock event queue mutex prior to waiting for
63900 it. 63898 it.
63901 63899
@@ -64605,7 +64603,7 @@
64605 83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag' 64603 83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
64606 5bc88b3b175 Add menu to news-mode 64604 5bc88b3b175 Add menu to news-mode
64607 40f4bc4e0aa ; Avoid installing VC package dependencies multiple times 64605 40f4bc4e0aa ; Avoid installing VC package dependencies multiple times
64608 1c9d81a2b42 Attempt to recognise if a VC package has no Elisp files 64606 1c9d81a2b42 Attempt to recognize if a VC package has no Elisp files
64609 2550e8bb0b0 Fix mule-tests under en_US.UTF-8 locale 64607 2550e8bb0b0 Fix mule-tests under en_US.UTF-8 locale
64610 32795309939 Move block closer above declaration_list rule (bug#61531) 64608 32795309939 Move block closer above declaration_list rule (bug#61531)
64611 b18754bb179 Minor improvements in c-ts-mode and docs 64609 b18754bb179 Minor improvements in c-ts-mode and docs
@@ -64876,7 +64874,7 @@
64876 83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag' 64874 83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
64877 5bc88b3b175 Add menu to news-mode 64875 5bc88b3b175 Add menu to news-mode
64878 40f4bc4e0aa ; Avoid installing VC package dependencies multiple times 64876 40f4bc4e0aa ; Avoid installing VC package dependencies multiple times
64879 1c9d81a2b42 Attempt to recognise if a VC package has no Elisp files 64877 1c9d81a2b42 Attempt to recognize if a VC package has no Elisp files
64880 64878
648812023-02-16 Po Lu <luangruo@yahoo.com> 648792023-02-16 Po Lu <luangruo@yahoo.com>
64882 64880
@@ -65356,7 +65354,7 @@
65356 65354
653572023-02-14 Mattias Engdegård <mattiase@acm.org> 653552023-02-14 Mattias Engdegård <mattiase@acm.org>
65358 65356
65359 Fix recent LAP optimiser error 65357 Fix recent LAP optimizer error
65360 65358
65361 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 65359 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
65362 Fix a flaw in the 65360 Fix a flaw in the
@@ -65364,7 +65362,7 @@
65364 dup (varset|varbind|stack-set) discard -> (varset|varbind|stack-set) 65362 dup (varset|varbind|stack-set) discard -> (varset|varbind|stack-set)
65365 65363
65366 rule: don't match stack-set(1) which is dealt with elsewhere, and 65364 rule: don't match stack-set(1) which is dealt with elsewhere, and
65367 generalise to discard(N). 65365 generalize to discard(N).
65368 65366
653692023-02-14 Andrea Corallo <akrl@sdf.org> 653672023-02-14 Andrea Corallo <akrl@sdf.org>
65370 65368
@@ -65415,7 +65413,7 @@
65415 65413
654162023-02-13 Mattias Engdegård <mattiase@acm.org> 654142023-02-13 Mattias Engdegård <mattiase@acm.org>
65417 65415
65418 LAP optimiser: more stack reduction hoisting 65416 LAP optimizer: more stack reduction hoisting
65419 65417
65420 Hoisting stack reduction ops allows them to coalesce and/or cancel out 65418 Hoisting stack reduction ops allows them to coalesce and/or cancel out
65421 pushing ops, and for useful operations to sink and combine, such as 65419 pushing ops, and for useful operations to sink and combine, such as
@@ -65428,7 +65426,7 @@
65428 65426
65429 where UNARY pops and pushes one value. 65427 where UNARY pops and pushes one value.
65430 65428
65431 Generalise the rule 65429 Generalize the rule
65432 65430
65433 const discardN-preserve-tos --> discardN const 65431 const discardN-preserve-tos --> discardN const
65434 65432
@@ -65619,7 +65617,7 @@
65619 65617
656202023-02-11 Mattias Engdegård <mattiase@acm.org> 656182023-02-11 Mattias Engdegård <mattiase@acm.org>
65621 65619
65622 LAP peephole optimiser improvementsa 65620 LAP peephole optimizer improvementsa
65623 65621
65624 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 65622 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
65625 Make the improvements: 65623 Make the improvements:
@@ -65650,7 +65648,7 @@
65650 65648
65651 where OP is a unary operation such as `not` or `car`. 65649 where OP is a unary operation such as `not` or `car`.
65652 65650
65653 - Generalise a previous rule to 65651 - Generalize a previous rule to
65654 65652
65655 NOEFFECT PRODUCER return --> PRODUCER return 65653 NOEFFECT PRODUCER return --> PRODUCER return
65656 65654
@@ -65939,7 +65937,7 @@
65939 * doc/lispref/frames.texi (On-Screen Keyboards): Describe return 65937 * doc/lispref/frames.texi (On-Screen Keyboards): Describe return
65940 value of `frame-toggle-on-screen-keyboard'. 65938 value of `frame-toggle-on-screen-keyboard'.
65941 * java/org/gnu/emacs/EmacsSurfaceView.java (surfaceChanged) 65939 * java/org/gnu/emacs/EmacsSurfaceView.java (surfaceChanged)
65942 (surfaceCreated, EmacsSurfaceView): Remove unuseful 65940 (surfaceCreated, EmacsSurfaceView): Remove useless
65943 synchronization code. The framework doesn't seem to look at 65941 synchronization code. The framework doesn't seem to look at
65944 this at all. 65942 this at all.
65945 65943
@@ -65983,7 +65981,7 @@
65983 65981
659842023-02-08 Mattias Engdegård <mattiase@acm.org> 659822023-02-08 Mattias Engdegård <mattiase@acm.org>
65985 65983
65986 Simplify and speed up parts of elisp optimiser 65984 Simplify and speed up parts of elisp optimizer
65987 65985
65988 * lisp/emacs-lisp/byte-opt.el (byte-optimize-constant-args): Simplify. 65986 * lisp/emacs-lisp/byte-opt.el (byte-optimize-constant-args): Simplify.
65989 (byte-optimize--constant-symbol-p): Speed up. 65987 (byte-optimize--constant-symbol-p): Speed up.
@@ -66300,7 +66298,7 @@
66300 Update Android port 66298 Update Android port
66301 66299
66302 * java/AndroidManifest.xml.in: Prevent the Emacs activity from 66300 * java/AndroidManifest.xml.in: Prevent the Emacs activity from
66303 being overlayed by the emacsclient wrapper. 66301 being overlaid by the emacsclient wrapper.
66304 * java/org/gnu/emacs/EmacsOpenActivity.java (run): Likewise. 66302 * java/org/gnu/emacs/EmacsOpenActivity.java (run): Likewise.
66305 (onCreate): Set an appropriate theme on ICS and up. 66303 (onCreate): Set an appropriate theme on ICS and up.
66306 66304
@@ -66350,7 +66348,7 @@
66350 66348
663512023-02-05 Mattias Engdegård <mattiase@acm.org> 663492023-02-05 Mattias Engdegård <mattiase@acm.org>
66352 66350
66353 Fix misleading LAP optimiser debug log message 66351 Fix misleading LAP optimizer debug log message
66354 66352
66355 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 66353 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
66356 Correct message in a conditional jump threading rule. 66354 Correct message in a conditional jump threading rule.
@@ -66361,11 +66359,11 @@
66361 66359
66362 * lisp/emacs-lisp/byte-opt.el (byte-after-unbind-ops): 66360 * lisp/emacs-lisp/byte-opt.el (byte-after-unbind-ops):
66363 Add discardN and discardN-preserve-tos, both of which 66361 Add discardN and discardN-preserve-tos, both of which
66364 commute with unbind. This enables subsequent optimisations. 66362 commute with unbind. This enables subsequent optimizations.
66365 66363
663662023-02-05 Mattias Engdegård <mattiase@acm.org> 663642023-02-05 Mattias Engdegård <mattiase@acm.org>
66367 66365
66368 Remove compatibility hacks in LAP optimiser 66366 Remove compatibility hacks in LAP optimizer
66369 66367
66370 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 66368 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
66371 Remove code forcing forward motion after applying certain 66369 Remove code forcing forward motion after applying certain
@@ -66374,9 +66372,9 @@
66374 66372
663752023-02-05 Mattias Engdegård <mattiase@acm.org> 663732023-02-05 Mattias Engdegård <mattiase@acm.org>
66376 66374
66377 LAP optimiser: bind local variables instead of mutating them 66375 LAP optimizer: bind local variables instead of mutating them
66378 66376
66379 This is a refactoring step: there is no change in how the optimiser 66377 This is a refactoring step: there is no change in how the optimizer
66380 works. 66378 works.
66381 66379
66382 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 66380 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
@@ -66389,7 +66387,7 @@
66389 66387
663902023-02-05 Mattias Engdegård <mattiase@acm.org> 663882023-02-05 Mattias Engdegård <mattiase@acm.org>
66391 66389
66392 Get rid of delq in LAP optimiser 66390 Get rid of delq in LAP optimizer
66393 66391
66394 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 66392 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
66395 Instead of using the O(n) `delq' to remove single instructions, use 66393 Instead of using the O(n) `delq' to remove single instructions, use
@@ -66675,7 +66673,7 @@
66675 66673
666762023-02-02 Mattias Engdegård <mattiase@acm.org> 666742023-02-02 Mattias Engdegård <mattiase@acm.org>
66677 66675
66678 LAP peephole optimisation improvements 66676 LAP peephole optimization improvements
66679 66677
66680 - Since discardN-preserve-tos(1) and stack-set(1) have the same 66678 - Since discardN-preserve-tos(1) and stack-set(1) have the same
66681 effect, treat them as equivalent in all transformations. 66679 effect, treat them as equivalent in all transformations.
@@ -66686,7 +66684,7 @@
66686 --> discardN-preserve-tos(X+Y) 66684 --> discardN-preserve-tos(X+Y)
66687 66685
66688 from the final pass to the main iteration since it may enable 66686 from the final pass to the main iteration since it may enable
66689 further optimisations. 66687 further optimizations.
66690 66688
66691 - Don't apply the rule 66689 - Don't apply the rule
66692 66690
@@ -66700,7 +66698,7 @@
66700 66698
66701 where OP is effect-free. 66699 where OP is effect-free.
66702 66700
66703 - Generalise the push-pop annihilation rule to 66701 - Generalize the push-pop annihilation rule to
66704 66702
66705 PUSH(K) discard(N) -> discard(N-K), N>K 66703 PUSH(K) discard(N) -> discard(N-K), N>K
66706 PUSH(K) discard(N) -> <deleted>, N=K 66704 PUSH(K) discard(N) -> <deleted>, N=K
@@ -67148,8 +67146,8 @@
67148 Better compilation of n-ary comparisons 67146 Better compilation of n-ary comparisons
67149 67147
67150 Transform n-ary comparisons to a chain of binary comparisons in the 67148 Transform n-ary comparisons to a chain of binary comparisons in the
67151 Lisp optimiser instead of in codegen, to allow for subsequent 67149 Lisp optimizer instead of in codegen, to allow for subsequent
67152 optimisations. This generalises the transform, so that 67150 optimizations. This generalizes the transform, so that
67153 67151
67154 (< 1 X 10) -> (let ((x X)) (and (< 1 x) (< x 10))) 67152 (< 1 X 10) -> (let ((x X)) (and (< 1 x) (< x 10)))
67155 67153
@@ -67448,7 +67446,7 @@
67448 Repair hideif regexp problems 67446 Repair hideif regexp problems
67449 67447
67450 * lisp/progmodes/hideif.el (hif-white-regexp, hif-tokenize): 67448 * lisp/progmodes/hideif.el (hif-white-regexp, hif-tokenize):
67451 Avoid superlinear backtracking behaviour by rewriting regexps 67449 Avoid superlinear backtracking behavior by rewriting regexps
67452 to avoid nested repetitions and make positive progress each time. 67450 to avoid nested repetitions and make positive progress each time.
67453 Use lazy matching of the innards of /*...*/ comments to avoid 67451 Use lazy matching of the innards of /*...*/ comments to avoid
67454 matching too much. 67452 matching too much.
@@ -67459,7 +67457,7 @@
67459 67457
67460 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): 67458 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
67461 Allow removal of unreachable basic blocks in the LAP peephole 67459 Allow removal of unreachable basic blocks in the LAP peephole
67462 optimiser even when switch ops are present. The origins of 67460 optimizer even when switch ops are present. The origins of
67463 this apparently unnecessary condition are unclear. 67461 this apparently unnecessary condition are unclear.
67464 67462
674652023-01-27 Stefan Kangas <stefankangas@gmail.com> 674632023-01-27 Stefan Kangas <stefankangas@gmail.com>
@@ -67581,7 +67579,7 @@
67581 * java/org/gnu/emacs/EmacsThread.java (run): Pass API level. 67579 * java/org/gnu/emacs/EmacsThread.java (run): Pass API level.
67582 * m4/ndk-build.m4 (ndk_package_mape): Add package mapping for 67580 * m4/ndk-build.m4 (ndk_package_mape): Add package mapping for
67583 sqlite3. 67581 sqlite3.
67584 * src/Makefile.in (SQLITE3_CFLAGS): New substition. 67582 * src/Makefile.in (SQLITE3_CFLAGS): New substitution.
67585 (EMACS_CFLAGS): Add that variable. 67583 (EMACS_CFLAGS): Add that variable.
67586 67584
67587 * src/android.c (android_api_level): New variable. 67585 * src/android.c (android_api_level): New variable.
@@ -67754,7 +67752,7 @@
67754 67752
67755 Import gnulib modules printf-posix and vasprintf-posix 67753 Import gnulib modules printf-posix and vasprintf-posix
67756 67754
67757 These are neccessary because Android's printf is missing basic format 67755 These are necessary because Android's printf is missing basic format
67758 modifiers such as t. 67756 modifiers such as t.
67759 67757
67760 * admin/merge-gnulib (GNULIB_MODULES): Add printf-posix and 67758 * admin/merge-gnulib (GNULIB_MODULES): Add printf-posix and
@@ -68185,7 +68183,7 @@
68185 (touch-screen-precision-scroll): New user option. 68183 (touch-screen-precision-scroll): New user option.
68186 (touch-screen-handle-scroll): Use traditional scrolling by 68184 (touch-screen-handle-scroll): Use traditional scrolling by
68187 default. 68185 default.
68188 (touch-screen-handle-touch): Adust format of 68186 (touch-screen-handle-touch): Adjust format of
68189 touch-screen-current-tool. 68187 touch-screen-current-tool.
68190 (touch-screen-track-tap): Don't print waiting for events. 68188 (touch-screen-track-tap): Don't print waiting for events.
68191 (touch-screen-track-drag): Likewise. Also, don't call UPDATE 68189 (touch-screen-track-drag): Likewise. Also, don't call UPDATE
@@ -68216,7 +68214,7 @@
68216 * lisp/loadup.el (featurep): Load ls-lisp on Android. 68214 * lisp/loadup.el (featurep): Load ls-lisp on Android.
68217 * lisp/ls-lisp.el (ls-lisp-use-insert-directory-program): 68215 * lisp/ls-lisp.el (ls-lisp-use-insert-directory-program):
68218 Default to off on Android. 68216 Default to off on Android.
68219 * src/android.c (android_is_directory): New fucntion. 68217 * src/android.c (android_is_directory): New function.
68220 (android_fstatat): Handle directories created by 68218 (android_fstatat): Handle directories created by
68221 `android_opendir'. 68219 `android_opendir'.
68222 (android_open): Return meaningful file mode. 68220 (android_open): Return meaningful file mode.
@@ -68266,7 +68264,7 @@
68266 Fix typo in c-ts-mode (bug#60932) 68264 Fix typo in c-ts-mode (bug#60932)
68267 68265
68268 * lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-block-type-regexp): 68266 * lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-block-type-regexp):
68269 enumerator, not enumeratior. 68267 Fix typo for "enumerator".
68270 68268
682712023-01-20 Theodor Thornhill <theo@thornhill.no> 682692023-01-20 Theodor Thornhill <theo@thornhill.no>
68272 68270
@@ -68870,7 +68868,7 @@
68870 68868
688712023-01-16 Mattias Engdegård <mattiase@acm.org> 688692023-01-16 Mattias Engdegård <mattiase@acm.org>
68872 68870
68873 Optimise `apply` with `cons` in tail argument 68871 Optimize `apply` with `cons` in tail argument
68874 68872
68875 * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Transform 68873 * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Transform
68876 68874
@@ -69328,7 +69326,7 @@
69328 The old code scanned for #@ in .elc files, assuming they're 69326 The old code scanned for #@ in .elc files, assuming they're
69329 docstrings and then looking around them to try and guess to which 69327 docstrings and then looking around them to try and guess to which
69330 definition that docstring belongs, making many assumptions about how 69328 definition that docstring belongs, making many assumptions about how
69331 the code happens to be layed out by bytecomp. 69329 the code happens to be laid out by bytecomp.
69332 Replace that with code which relies on the (FILE . POS) info to 69330 Replace that with code which relies on the (FILE . POS) info to
69333 extract the docstring knowing already where they are and what def they 69331 extract the docstring knowing already where they are and what def they
69334 belong to. 69332 belong to.
@@ -69704,7 +69702,7 @@
69704 and `detectMouse'. 69702 and `detectMouse'.
69705 (struct android_event_queue, android_init_events) 69703 (struct android_event_queue, android_init_events)
69706 (android_next_event, android_write_event): Remove write limit. 69704 (android_next_event, android_write_event): Remove write limit.
69707 (android_file_access_p): Handle directories correcty. 69705 (android_file_access_p): Handle directories correctly.
69708 (android_close): Fix coding style. 69706 (android_close): Fix coding style.
69709 (android_fclose): New function. 69707 (android_fclose): New function.
69710 (android_init_emacs_service): Initialize new methods. 69708 (android_init_emacs_service): Initialize new methods.
@@ -71470,7 +71468,7 @@
71470 71468
71471 'newsticker--decode-rfc822-date' has the regex pattern for 71469 'newsticker--decode-rfc822-date' has the regex pattern for
71472 North American timezones but the actual timezone conversion 71470 North American timezones but the actual timezone conversion
71473 for them was not implmented. Now cond cases are added to 71471 for them was not implemented. Now cond cases are added to
71474 handle them as specified in RFC822. 71472 handle them as specified in RFC822.
71475 71473
714762022-12-29 Theodor Thornhill <theo@thornhill.no> 714742022-12-29 Theodor Thornhill <theo@thornhill.no>
@@ -71779,7 +71777,7 @@
71779 if the entire form is in for-effect context. 71777 if the entire form is in for-effect context.
71780 71778
71781 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): 71779 * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
71782 Don't optimise the condition-case body form for effect (potentially 71780 Don't optimize the condition-case body form for effect (potentially
71783 discarding its value) if there is a success handler and a variable. 71781 discarding its value) if there is a success handler and a variable.
71784 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): 71782 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
71785 Add test cases. 71783 Add test cases.
@@ -71795,7 +71793,7 @@
71795 (make-directory): Assume the make-directory handler follows the 71793 (make-directory): Assume the make-directory handler follows the
71796 new API where it yields non-nil if DIR already exists. This 71794 new API where it yields non-nil if DIR already exists. This
71797 reverts some of the recent changes in this area, and simplifies 71795 reverts some of the recent changes in this area, and simplifies
71798 this funciton. 71796 this function.
71799 71797
718002022-12-24 Florian Weimer <fweimer@redhat.com> 717982022-12-24 Florian Weimer <fweimer@redhat.com>
71801 71799
@@ -71973,7 +71971,7 @@
71973 71971
71974 Merge from origin/emacs-29 71972 Merge from origin/emacs-29
71975 71973
71976 e59216d3be8 * Invoke spawed Emacs processes with '-Q' when native com... 71974 e59216d3be8 * Invoke spawned Emacs processes with '-Q' when native com...
71977 777b383dd0f Fix Eshell electric slash when used from the root directo... 71975 777b383dd0f Fix Eshell electric slash when used from the root directo...
71978 c088cdad9e9 Fix the --without-all build with tree-sitter 71976 c088cdad9e9 Fix the --without-all build with tree-sitter
71979 ec9fbad908d Fix write-region to null device on MS-Windows 71977 ec9fbad908d Fix write-region to null device on MS-Windows
@@ -72189,7 +72187,7 @@
72189 72187
721902022-12-19 Mattias Engdegård <mattiase@acm.org> 721882022-12-19 Mattias Engdegård <mattiase@acm.org>
72191 72189
72192 Elide broken but unnecessary `if` optimisations 72190 Elide broken but unnecessary `if` optimizations
72193 72191
72194 * lisp/emacs-lisp/byte-opt.el (byte-optimize-if): 72192 * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
72195 Remove explicit clauses purposing to simplify 72193 Remove explicit clauses purposing to simplify
@@ -72236,7 +72234,7 @@
72236 72234
72237 Merge from origin/emacs-29 72235 Merge from origin/emacs-29
72238 72236
72239 12e26cc0c1b ; * admin/git-bisect-start: Add mistakenly ommitted commi... 72237 12e26cc0c1b ; * admin/git-bisect-start: Add mistakenly omitted commi...
72240 9a751e0a38b ruby-mode: Support endless singleton method definitions too 72238 9a751e0a38b ruby-mode: Support endless singleton method definitions too
72241 ce7b7e5af3d Remove comment-start-skip preset in tree-sitter indentati... 72239 ce7b7e5af3d Remove comment-start-skip preset in tree-sitter indentati...
72242 c1e015ae320 Fix recent change in tramp-smb.el 72240 c1e015ae320 Fix recent change in tramp-smb.el
@@ -72245,8 +72243,8 @@
72245 3941cc29df3 ; Improve documentation of 'setopt' 72243 3941cc29df3 ; Improve documentation of 'setopt'
72246 6f88de109c8 ruby-mode: Support endless methods (bug#54702) 72244 6f88de109c8 ruby-mode: Support endless methods (bug#54702)
72247 91dd893e343 ; * lisp/progmodes/sql.el (sql-product-interactive): Doc ... 72245 91dd893e343 ; * lisp/progmodes/sql.el (sql-product-interactive): Doc ...
72248 138d9dc4cb0 * lisp/cus-edit.el (setopt--set): Warn instead of rasing ... 72246 138d9dc4cb0 * lisp/cus-edit.el (setopt--set): Warn instead of raising ...
72249 d1e0542f336 Allow customising windmove user options with an empty prefix 72247 d1e0542f336 Allow customizing windmove user options with an empty prefix
72250 c2375e77914 Improve and extend admin/git-bisect-start 72248 c2375e77914 Improve and extend admin/git-bisect-start
72251 7cc2313eb0a Make 'rmail-summary-by-thread' faster 72249 7cc2313eb0a Make 'rmail-summary-by-thread' faster
72252 88e59b16cbe ; Improve documentation of installing tree-sitter and gra... 72250 88e59b16cbe ; Improve documentation of installing tree-sitter and gra...
@@ -72293,7 +72291,7 @@
72293 Merge from origin/emacs-29 72291 Merge from origin/emacs-29
72294 72292
72295 de2239a584a Revert "alist-get testfn argument evaluation correction" 72293 de2239a584a Revert "alist-get testfn argument evaluation correction"
72296 856d889f3a8 Revert "Elide broken but unnecessary `if` optimisations" 72294 856d889f3a8 Revert "Elide broken but unnecessary `if` optimizations"
72297 8e42e20ed7f Revert "Use equal and member instead of eq and memq" 72295 8e42e20ed7f Revert "Use equal and member instead of eq and memq"
72298 72296
722992022-12-19 Stefan Kangas <stefankangas@gmail.com> 722972022-12-19 Stefan Kangas <stefankangas@gmail.com>
@@ -72438,7 +72436,7 @@
72438 72436
724392022-12-16 Mattias Engdegård <mattiase@acm.org> 724372022-12-16 Mattias Engdegård <mattiase@acm.org>
72440 72438
72441 Elide broken but unnecessary `if` optimisations 72439 Elide broken but unnecessary `if` optimizations
72442 72440
72443 * lisp/emacs-lisp/byte-opt.el (byte-optimize-if): 72441 * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
72444 Remove explicit clauses purposing to simplify 72442 Remove explicit clauses purposing to simplify
@@ -72747,7 +72745,7 @@
72747 proced-process-alist in the case it is non-nil. The result is that 72745 proced-process-alist in the case it is non-nil. The result is that
72748 refinements are not immediately cleared when a proced buffer is 72746 refinements are not immediately cleared when a proced buffer is
72749 updated with proced-auto-update-flag non-nil. proced-revert 72747 updated with proced-auto-update-flag non-nil. proced-revert
72750 maintains its current behaviour of clearing any active refinements. 72748 maintains its current behavior of clearing any active refinements.
72751 72749
72752 * lisp/proced.el (proced-refinements): New buffer local variable 72750 * lisp/proced.el (proced-refinements): New buffer local variable
72753 which tracks the current refinements. 72751 which tracks the current refinements.
@@ -73639,7 +73637,7 @@
73639 ac47f783da Move :ensure option from macro expansion phase to runtime ... 73637 ac47f783da Move :ensure option from macro expansion phase to runtime ...
73640 ff8bdfcdca Bump version to 2.1 73638 ff8bdfcdca Bump version to 2.1
73641 5dffc8c7cf Merge pull request from waymondo/extend-bind-handler 73639 5dffc8c7cf Merge pull request from waymondo/extend-bind-handler
73642 6298e7e477 pass in symbol of bind macro, for more extensible re-use o... 73640 6298e7e477 pass in symbol of bind macro, for more extensible reuse o...
73643 3e2747f174 Revert "Merge pull request from edvorg/master" 73641 3e2747f174 Revert "Merge pull request from edvorg/master"
73644 9c1156dbf8 error handling for use-package 73642 9c1156dbf8 error handling for use-package
73645 2276ed7607 Merge pull request from matklad/master 73643 2276ed7607 Merge pull request from matklad/master
@@ -74016,7 +74014,7 @@
74016 ed4734405df Avoid crashes in a build --without-modules 74014 ed4734405df Avoid crashes in a build --without-modules
74017 70a2eb4a0b3 Fix 'add-display-text-property' when OBJECT is non-nil 74015 70a2eb4a0b3 Fix 'add-display-text-property' when OBJECT is non-nil
74018 d58d1dd48ac Do not run slow tests on EMBA 74016 d58d1dd48ac Do not run slow tests on EMBA
74019 9b9b39a2d89 Lisp reader undefined behaviour excision 74017 9b9b39a2d89 Lisp reader undefined behavior excision
74020 74018
74021 # Conflicts: 74019 # Conflicts:
74022 # etc/NEWS 74020 # etc/NEWS
@@ -74163,7 +74161,7 @@
74163 520a4e12f8e ; * lisp/treesit.el (treesit-end-of-defun): Guard against... 74161 520a4e12f8e ; * lisp/treesit.el (treesit-end-of-defun): Guard against...
74164 2c4d92d30f6 ; * lisp/subr.el (posn-col-row): Revert inadvertent change. 74162 2c4d92d30f6 ; * lisp/subr.el (posn-col-row): Revert inadvertent change.
74165 6fb9a03cbdf ; Remove debugging leftover message 74163 6fb9a03cbdf ; Remove debugging leftover message
74166 c5ba47c889e Speed up Unicode normalisation tests by a factor of 5 74164 c5ba47c889e Speed up Unicode normalization tests by a factor of 5
74167 afa4fcb95b4 Fix "C-h k" when clicking on another frame 74165 afa4fcb95b4 Fix "C-h k" when clicking on another frame
74168 f6e2f30f394 ; Fix typos 74166 f6e2f30f394 ; Fix typos
74169 bd58dcedfb9 Fix and expand tests broken by commit 2772ebe366 of 2022-... 74167 bd58dcedfb9 Fix and expand tests broken by commit 2772ebe366 of 2022-...
@@ -74830,7 +74828,7 @@
74830 74828
74831 Fix detection of named prefix bindings 74829 Fix detection of named prefix bindings
74832 74830
74833 Fix menu-item bidning retrieval 74831 Fix menu-item binding retrieval
74834 74832
74835 Fix prefix sorting 74833 Fix prefix sorting
74836 74834
@@ -74960,7 +74958,7 @@
74960 74958
749612020-11-13 BlaCk_Void <alstjr7375@daum.net> 749592020-11-13 BlaCk_Void <alstjr7375@daum.net>
74962 74960
74963 REAMDE code's Number of parentheses pairs (#270) 74961 README code's Number of parentheses pairs (#270)
74964 74962
749652020-10-19 Justin Burkett <justin@burkett.cc> 749632020-10-19 Justin Burkett <justin@burkett.cc>
74966 74964
@@ -75376,7 +75374,7 @@
75376 75374
753772018-02-26 Justin Burkett <justin@burkett.cc> 753752018-02-26 Justin Burkett <justin@burkett.cc>
75378 75376
75379 Fix which-key--show-keymap when no bidnings found 75377 Fix which-key--show-keymap when no bindings found
75380 75378
75381 which-key--get-formatted-key-bindings takes a nil argument to mean look for 75379 which-key--get-formatted-key-bindings takes a nil argument to mean look for
75382 global bindings which is not what we want here. 75380 global bindings which is not what we want here.
@@ -76516,7 +76514,7 @@
76516 76514
76517 Allows to recover from accidentally pressing C-h. 76515 Allows to recover from accidentally pressing C-h.
76518 76516
76519 This commit also fixes some echo area problems that become apprent after 76517 This commit also fixes some echo area problems that become apparent after
76520 introducing the C-h-map stuff 76518 introducing the C-h-map stuff
76521 76519
765222015-12-03 Justin Burkett <justin@burkett.cc> 765202015-12-03 Justin Burkett <justin@burkett.cc>
@@ -77774,7 +77772,7 @@
77774 77772
77775 Add config setup functions and more 77773 Add config setup functions and more
77776 77774
77777 Fix a problem where the frame-height was not accouting for the 77775 Fix a problem where the frame-height was not accounting for the
77778 minibuffer. Also, set the buffer to hidden-mode-line-mode to hide the 77776 minibuffer. Also, set the buffer to hidden-mode-line-mode to hide the
77779 mode-line for now (#16). 77777 mode-line for now (#16).
77780 77778
diff --git a/admin/authors.el b/admin/authors.el
index 9043b5f3840..75843e259ae 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -910,8 +910,11 @@ Changes to files in this list are not listed.")
910 ("Garrett Wollman" :changed "sendmail.el") 910 ("Garrett Wollman" :changed "sendmail.el")
911 ("Dale R. Worley" :changed "mail-extr.el") 911 ("Dale R. Worley" :changed "mail-extr.el")
912 ("Jamie Zawinski" :changed "bytecode.c" :wrote "tar-mode.el" 912 ("Jamie Zawinski" :changed "bytecode.c" :wrote "tar-mode.el"
913 :cowrote "disass.el")) 913 :cowrote "disass.el")
914 "Actions taken from the original, manually (un)maintained AUTHORS file.") 914 ("Andrea Corallo" :wrote "comp.c"))
915 "Manual fixes to the list of actions taken.
916These are mostly taken from the original, manually (un)maintained
917AUTHORS file. There are also some more recent manual additions.")
915 918
916 919
917(defconst authors-valid-file-names 920(defconst authors-valid-file-names
diff --git a/admin/codespell/codespell.exclude b/admin/codespell/codespell.exclude
index 02b7c84c2f4..1dc4fb8f014 100644
--- a/admin/codespell/codespell.exclude
+++ b/admin/codespell/codespell.exclude
@@ -1685,3 +1685,62 @@ argument \\='general-category, is Decimal_Numbers (Nd). It returns
1685 ("ro" :default "Continuare de pe pagina precedentă") 1685 ("ro" :default "Continuare de pe pagina precedentă")
1686 ("ro" :default "Continuare pe pagina următoare") 1686 ("ro" :default "Continuare pe pagina următoare")
1687;; avk@rtsg.mot.com (Andrew V. Klein) for a Dired tip. 1687;; avk@rtsg.mot.com (Andrew V. Klein) for a Dired tip.
1688Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Sch@"afer,
1689Fran@,{c}ois Pinard, Greg McGary, and Bruno Haible wrote @file{po.el},
1690Pieri, Fred Pierresteguy, Fran@,{c}ois Pinard, Daniel Pittman, Christian
1691Timo Savola, Jorgen Sch@"afer, Holger Schauer, William Schelter, Ralph
1692 f9832e80b89 ; * lisp/textmodes/ispell.el (ispell-message): Add commen...
1693 0bebd0e5f09 ; Remove 'build-module' and 'html-manual' directories fro...
1694 1014bcc8e32 Fix fontification of method-invocations in js-ts-mode (bu...
1695 1b9812af80b ; * etc/PROBLEMS: Document problem with GnuPG 2.4.1. (Bu...
1696 1fb2fb501f3 typescript-ts-mode, tsx-ts-mode: Fix syntax properties fo...
1697 399433cc2b9 * lisp/progmodes/project.el: Filter out empty strings fro...
1698 46fe7a17f53 Fix dragging mode line on text terminals with a mouse (bu...
1699 4bf7cb71edc Fix go-ts-mode indentation and set indent offset to 8 (Bu...
1700 527eb11de20 * lisp/minibuffer.el (completions-group-separator): Rever...
1701 5b34fc07085 * lisp/treesit.el (treesit-node-at): Update docstring (bu...
1702 5cf1de683b2 Fix python-fill-paragraph problems on filling strings (bu...
1703 7678b7e46f2 Eglot: check server capability before sending didSave (bu...
1704 7678b7e46f2 Eglot: check server capability before sending didSave (bu...
1705 9ac12592781 Fix display of menu-bar bindings of commands in *Help* bu...
1706 9ac12592781 Fix display of menu-bar bindings of commands in *Help* bu...
1707 9e105d483fa Fix c-ts-mode indentation for statement after preproc (bu...
1708 When running emacs in a terminal (or at least, in iTerm), keys are not
1709 b464e6c490b Make last change of w32 GUI dialogs conditional and rever...
1710 b916ec88b2f Make eglot-ensure's post-command-hook run a bit later (bu...
1711 e551dd72f79 * etc/PROBLEMS: Add entry about pinentry with gpgsm. (Bu...
1712 ed4cd3eddf7 dockerfile-ts-mode: Prevent empty categories in imenu (Bu...
1713 edd36786e1e ; * lisp/bookmark.el (bookmark-bmenu-locate): Doc fix (bu...
1714 f102145d381 ; * etc/PROBLEMS: Describe problems with MuPDF 1.21. (Bu...
1715 f49fe936abd * etc/NEWS: Note dotimes loop variable scoping change (bu...
1716 performance reasons. Fix a bug that could cause ghost (mis)matches
17172023-03-02 Sebastian Tennant <sdt@sebyte.me> (tiny change)
17182023-03-26 Andrew G Cohen <cohen@andy.bu.edu>
17192023-04-01 Andrew G Cohen <cohen@andy.bu.edu>
17202023-04-09 Andrew G Cohen <cohen@andy.bu.edu>
17212023-04-11 Andrew G Cohen <cohen@andy.bu.edu>
17222023-04-12 Andrew G Cohen <cohen@andy.bu.edu>
17232023-04-14 Andrew G Cohen <cohen@andy.bu.edu>
17242023-04-15 Andrew G Cohen <cohen@andy.bu.edu>
17252023-04-17 Andrew G Cohen <cohen@andy.bu.edu>
17262023-04-18 Andrew G Cohen <cohen@andy.bu.edu>
17272023-04-30 Andrew G Cohen <cohen@andy.bu.edu>
17282023-05-06 Andrew G Cohen <cohen@andy.bu.edu>
17292023-06-20 Andrew G Cohen <cohen@andy.bu.edu>
17302023-07-05 Andrew G Cohen <cohen@andy.bu.edu>
17312024-05-10 Andrew G Cohen <cohen@andy.bu.edu>
1732 ce0ebb91f25 Improve documentation of read syntax and printed represen...
1733 e110312ad95 ; * doc/lispref/minibuf.texi (Text from Minibuffer): Ment...
17342023-07-08 Vladimir Sedach <vas@oneofus.la>
1735 90fc6b987ad * lisp/savehist.el (savehist-save): Preserve shared struc...
1736 ed3bab3cc72 Revert 'forward-sentence-default-function' to return poin...
1737 b3e930d328e Revert inadvertent change to lisp/icomplete.el in previou...
1738 973c1d24c6a ruby-ts-mode: Also don't reindent 'identifier' when insid...
1739 973c1d24c6a ruby-ts-mode: Also don't reindent 'identifier' when insid...
1740 e444115d026 Improve keymap-global-set and keymap-local-set interactiv...
1741 8e9783b4ce4 Rebind in read-regexp-map ‘M-c’ to ‘M-s c’ compatible wit...
1742 f12f72b0e09 ; * lisp/simple.el (primitive-undo): Clarify error messag...
1743 cf327766226 ; * doc/lispref/parsing.texi (Using Parser): Remove delet...
1744 b211a63455c Make tab-bar-tab-group-format-function also handle curren...
1745 a3c310c11a Create new "use-package" themse and use it for :custom wit...
1746 2a85d81c47 Add support for gathering statistics on use-package declar...
diff --git a/admin/codespell/codespell.ignore b/admin/codespell/codespell.ignore
index 4f145c290f7..befa845e9d8 100644
--- a/admin/codespell/codespell.ignore
+++ b/admin/codespell/codespell.ignore
@@ -1,4 +1,5 @@
1acknowledgements 1acknowledgements
2adviced
2advices 3advices
3afile 4afile
4ake 5ake
@@ -9,6 +10,8 @@ blocs
9callint 10callint
10checkin 11checkin
11clen 12clen
13clos
14configury
12debbugs 15debbugs
13dedented 16dedented
14dependant 17dependant
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index 1b6d9744ecc..85a8ef2624d 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -210,7 +210,10 @@ General steps (for each step, check for possible errors):
210 should be committed separately, as described in step 3 above, to 210 should be committed separately, as described in step 3 above, to
211 avoid them being merged to master. The lisp/ldefs-boot.el file 211 avoid them being merged to master. The lisp/ldefs-boot.el file
212 should not be merged to master either, so it could be added to the 212 should not be merged to master either, so it could be added to the
213 same commit or committed separately. 213 same commit or committed separately. To make sure the changes to
214 ChangeLog.N and etc/AUTHORS are _not_ skipped, do NOT describe their
215 updates as "regenerate" or "re-generate", since gitmerge.el by
216 default skips such commits; instead, use "update" or some such.
214 217
215 The easiest way of doing that is "C-x v d ROOT-DIR RET", then go 218 The easiest way of doing that is "C-x v d ROOT-DIR RET", then go
216 to the first modified file, press 'M' to mark all modified files, 219 to the first modified file, press 'M' to mark all modified files,
diff --git a/admin/notes/git-workflow b/admin/notes/git-workflow
index d33f49a1aca..d873cac4269 100644
--- a/admin/notes/git-workflow
+++ b/admin/notes/git-workflow
@@ -138,6 +138,20 @@ When everything's done, look hard at the resulting merge. Skipping
138commits requires separate merges, so don't be surprised to see more 138commits requires separate merges, so don't be surprised to see more
139than one merge commit. If you're happy, push. 139than one merge commit. If you're happy, push.
140 140
141
142Long-lived feature branches
143===========================
144
145The conventions for formatting commit log messages set out in CONTRIBUTE
146don't apply to commits made to feature branches.
147Thus, feel free to commit little and often, with short and simple commit
148messages. This practice can ease development by making 'git bisect' and
149'git revert' more effective.
150
151The commit merging the feature branch to master, on the other hand,
152should follow the usual commit log message conventions.
153
154
141Warnings about X11 forwarding 155Warnings about X11 forwarding
142============================= 156=============================
143 157
diff --git a/configure.ac b/configure.ac
index d1a5b63b924..3612cb8de78 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7655,8 +7655,7 @@ send your change to bug-gnu-emacs@gnu.org])])])
7655 7655
7656AH_TOP([/* GNU Emacs site configuration template file. 7656AH_TOP([/* GNU Emacs site configuration template file.
7657 7657
7658Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2021 7658Copyright (C) 1988-2024 Free Software Foundation, Inc.
7659 Free Software Foundation, Inc.
7660 7659
7661This file is part of GNU Emacs. 7660This file is part of GNU Emacs.
7662 7661
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index dc0679ed3a1..e3d695b2347 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -1057,7 +1057,7 @@ explains these conventions, starting with an example:
1057@group 1057@group
1058;;; foo.el --- Support for the Foo programming language -*- lexical-binding: t; -*- 1058;;; foo.el --- Support for the Foo programming language -*- lexical-binding: t; -*-
1059 1059
1060;; Copyright (C) 2010-2021 Your Name 1060;; Copyright (C) 2010-2024 Your Name
1061@end group 1061@end group
1062 1062
1063;; Author: Your Name <yourname@@example.com> 1063;; Author: Your Name <yourname@@example.com>
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index dbe4da29d54..71d548f3cee 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -22355,7 +22355,7 @@ calling @code{nnmairix-search} with @samp{f:From}.
22355@item G G o 22355@item G G o
22356@kindex G G o @r{(Summary)} 22356@kindex G G o @r{(Summary)}
22357@findex nnmairix-goto-original-article 22357@findex nnmairix-goto-original-article
22358(Only in @code{nnmairix} groups!) Tries determine the group this article 22358(Only in @code{nnmairix} groups!) Tries to determine the group this article
22359originally came from and displays the article in this group, so that, 22359originally came from and displays the article in this group, so that,
22360e.g., replying to this article the correct posting styles/group 22360e.g., replying to this article the correct posting styles/group
22361parameters are applied (@code{nnmairix-goto-original-article}). This 22361parameters are applied (@code{nnmairix-goto-original-article}). This
diff --git a/etc/images/gud/README b/etc/images/gud/README
index 6cdcce35fba..a3d083bf674 100644
--- a/etc/images/gud/README
+++ b/etc/images/gud/README
@@ -31,7 +31,7 @@ their copyright assignment included the icons.
31The following icons are converted from the Insight Windows style icon 31The following icons are converted from the Insight Windows style icon
32set in src/gdb/gdbtk/library/images2. 32set in src/gdb/gdbtk/library/images2.
33 33
34Copyright (C) 2002-2021 Free Software Foundation, Inc. 34Copyright (C) 2002-2024 Free Software Foundation, Inc.
35License: GNU General Public License version 3 or later (see COPYING) 35License: GNU General Public License version 3 or later (see COPYING)
36 36
37 cont.pbm and cont.xpm were converted from continue.gif 37 cont.pbm and cont.xpm were converted from continue.gif
@@ -47,7 +47,7 @@ License: GNU General Public License version 3 or later (see COPYING)
47The following icons are created from the Insight Windows style icon 47The following icons are created from the Insight Windows style icon
48set in src/gdb/gdbtk/library/images2. 48set in src/gdb/gdbtk/library/images2.
49 49
50Copyright (C) 2002-2021 Free Software Foundation, Inc. 50Copyright (C) 2002-2024 Free Software Foundation, Inc.
51License: GNU General Public License version 3 or later (see COPYING) 51License: GNU General Public License version 3 or later (see COPYING)
52 52
53 rcont.xpm rfinish.xpm 53 rcont.xpm rfinish.xpm
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 59d9c346424..82e99a2c920 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -3253,7 +3253,7 @@ for which LSP on-type-formatting should be requested."
3253 (try-completion pattern (funcall proxies))) 3253 (try-completion pattern (funcall proxies)))
3254 ((eq action t) ; all-completions 3254 ((eq action t) ; all-completions
3255 (let ((comps (funcall proxies))) 3255 (let ((comps (funcall proxies)))
3256 (dolist (c comps) (eglot--dumb-flex pattern c t)) 3256 (dolist (c comps) (eglot--dumb-flex pattern c completion-ignore-case))
3257 (all-completions 3257 (all-completions
3258 "" 3258 ""
3259 comps 3259 comps
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index be5884604da..87ebe81ca4c 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -504,7 +504,7 @@ not be enclosed in { } or ( )."
504 504
505;; ------------------------------------------------------------ 505;; ------------------------------------------------------------
506;; The following configurable variables are used in the 506;; The following configurable variables are used in the
507;; up-to-date overview . 507;; up-to-date overview.
508;; The standard configuration assumes that your `make' program 508;; The standard configuration assumes that your `make' program
509;; can be run in question/query mode using the `-q' option, this 509;; can be run in question/query mode using the `-q' option, this
510;; means that the command 510;; means that the command
@@ -514,12 +514,12 @@ not be enclosed in { } or ( )."
514;; should return an exit status of zero if the target `foo' is 514;; should return an exit status of zero if the target `foo' is
515;; up to date and a nonzero exit status otherwise. 515;; up to date and a nonzero exit status otherwise.
516;; Many makes can do this although the docs/manpages do not mention 516;; Many makes can do this although the docs/manpages do not mention
517;; it. Try it with your favorite one. GNU make, System V make, and 517;; it. Try it with your favorite one. GNU make, System V make, and
518;; Dennis Vadura's DMake have no problems. 518;; Dennis Vadura's DMake have no problems.
519;; Set the variable `makefile-brave-make' to the name of the 519;; Set the variable `makefile-brave-make' to the name of the
520;; make utility that does this on your system. 520;; make utility that does this on your system.
521;; To understand what this is all about see the function definition 521;; To understand what this is all about see the function definition
522;; of `makefile-query-by-make-minus-q' . 522;; of `makefile-query-by-make-minus-q'.
523;; ------------------------------------------------------------ 523;; ------------------------------------------------------------
524 524
525(defcustom makefile-brave-make "make" 525(defcustom makefile-brave-make "make"
@@ -787,7 +787,7 @@ Makefile mode can be configured by modifying the following variables:
787 to MODIFY A FILE WITHOUT YOUR CONFIRMATION when \"it seems necessary\". 787 to MODIFY A FILE WITHOUT YOUR CONFIRMATION when \"it seems necessary\".
788 788
789`makefile-special-targets-list': 789`makefile-special-targets-list':
790 List of special targets. You will be offered to complete 790 List of special targets. You will be offered to complete
791 on one of those in the minibuffer whenever you enter a `.'. 791 on one of those in the minibuffer whenever you enter a `.'.
792 at the beginning of a line in Makefile mode." 792 at the beginning of a line in Makefile mode."
793 (add-hook 'completion-at-point-functions 793 (add-hook 'completion-at-point-functions
@@ -1583,7 +1583,7 @@ and generates the overview, one line per target name."
1583 (goto-char (point-min)) 1583 (goto-char (point-min))
1584 (if (re-search-forward "^\\(\t+$\\| +\t\\)" nil t) 1584 (if (re-search-forward "^\\(\t+$\\| +\t\\)" nil t)
1585 (not (y-or-n-p 1585 (not (y-or-n-p
1586 (format "Suspicious line %d. Save anyway? " 1586 (format "Suspicious line %d. Save anyway?"
1587 (count-lines (point-min) (point))))))))) 1587 (count-lines (point-min) (point)))))))))
1588 1588
1589(defun makefile-warn-continuations () 1589(defun makefile-warn-continuations ()
@@ -1592,7 +1592,7 @@ and generates the overview, one line per target name."
1592 (goto-char (point-min)) 1592 (goto-char (point-min))
1593 (if (re-search-forward "\\\\[ \t]+$" nil t) 1593 (if (re-search-forward "\\\\[ \t]+$" nil t)
1594 (not (y-or-n-p 1594 (not (y-or-n-p
1595 (format "Suspicious continuation in line %d. Save anyway? " 1595 (format "Suspicious continuation in line %d. Save anyway?"
1596 (count-lines (point-min) (point))))))))) 1596 (count-lines (point-min) (point)))))))))
1597 1597
1598 1598
diff --git a/lisp/progmodes/php-ts-mode.el b/lisp/progmodes/php-ts-mode.el
index 89444f0208e..3f89de14075 100644
--- a/lisp/progmodes/php-ts-mode.el
+++ b/lisp/progmodes/php-ts-mode.el
@@ -83,7 +83,7 @@
83 83
84;;; Install treesitter language parsers 84;;; Install treesitter language parsers
85(defvar php-ts-mode--language-source-alist 85(defvar php-ts-mode--language-source-alist
86 '((php . ("https://github.com/tree-sitter/tree-sitter-php" "v0.22.5")) 86 '((php . ("https://github.com/tree-sitter/tree-sitter-php" "v0.22.8" "php/src"))
87 (phpdoc . ("https://github.com/claytonrcarter/tree-sitter-phpdoc")) 87 (phpdoc . ("https://github.com/claytonrcarter/tree-sitter-phpdoc"))
88 (html . ("https://github.com/tree-sitter/tree-sitter-html" "v0.20.3")) 88 (html . ("https://github.com/tree-sitter/tree-sitter-html" "v0.20.3"))
89 (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript" "v0.21.2")) 89 (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript" "v0.21.2"))
@@ -509,7 +509,7 @@ characters of the current line."
509 (if (search-forward "</html>" end-html t 1) 509 (if (search-forward "</html>" end-html t 1)
510 0 510 0
511 (+ (point) php-ts-mode-indent-offset)))) 511 (+ (point) php-ts-mode-indent-offset))))
512 ;; Maybe it's better to use bol, read the documentation!!! 512 ;; Maybe it's better to use bol?
513 (treesit-node-start parent)))) 513 (treesit-node-start parent))))
514 514
515(defun php-ts-mode--array-element-heuristic (_node parent _bol &rest _) 515(defun php-ts-mode--array-element-heuristic (_node parent _bol &rest _)
@@ -728,7 +728,7 @@ characters of the current line."
728 '("abstract" "and" "array" "as" "break" "callable" "case" "catch" 728 '("abstract" "and" "array" "as" "break" "callable" "case" "catch"
729 "class" "clone" "const" "continue" "declare" "default" "do" "echo" 729 "class" "clone" "const" "continue" "declare" "default" "do" "echo"
730 "else" "elseif" "enddeclare" "endfor" "endforeach" "endif" 730 "else" "elseif" "enddeclare" "endfor" "endforeach" "endif"
731 "endswitch" "endwhile" "enum" "extends" "final" "finally" "fn" 731 "endswitch" "endwhile" "enum" "exit" "extends" "final" "finally" "fn"
732 "for" "foreach" "from" "function" "global" "goto" "if" "implements" 732 "for" "foreach" "from" "function" "global" "goto" "if" "implements"
733 "include" "include_once" "instanceof" "insteadof" "interface" 733 "include" "include_once" "instanceof" "insteadof" "interface"
734 "list" "match" "namespace" "new" "null" "or" "print" "private" 734 "list" "match" "namespace" "new" "null" "or" "print" "private"
@@ -762,6 +762,12 @@ characters of the current line."
762 "E_COMPILE_WARNING" "E_USER_ERROR" "E_USER_WARNING" 762 "E_COMPILE_WARNING" "E_USER_ERROR" "E_USER_WARNING"
763 "E_USER_NOTICE" "E_DEPRECATED" "E_USER_DEPRECATED" 763 "E_USER_NOTICE" "E_DEPRECATED" "E_USER_DEPRECATED"
764 "E_ALL" "E_STRICT" 764 "E_ALL" "E_STRICT"
765 ;; math constant
766 "M_PI" "M_E" "M_LOG2E" "M_LOG10E" "M_LN2" "M_LN10" "M_PI_2"
767 "M_PI_4" "M_1_PI" "M_2_PI" "M_SQRTPI" "M_2_SQRTPI" "M_SQRT2"
768 "M_SQRT3" "M_SQRT1_2" "M_LNPI" "M_EULER" "PHP_ROUND_HALF_UP"
769 "PHP_ROUND_HALF_DOWN" "PHP_ROUND_HALF_EVEN" "PHP_ROUND_HALF_ODD"
770 "NAN" "INF"
765 ;; magic constant 771 ;; magic constant
766 "__COMPILER_HALT_OFFSET__" "__CLASS__" "__DIR__" "__FILE__" 772 "__COMPILER_HALT_OFFSET__" "__CLASS__" "__DIR__" "__FILE__"
767 "__FUNCTION__" "__LINE__" "__METHOD__" "__NAMESPACE__" "__TRAIT__") 773 "__FUNCTION__" "__LINE__" "__METHOD__" "__NAMESPACE__" "__TRAIT__")
@@ -785,26 +791,23 @@ characters of the current line."
785 :feature 'constant 791 :feature 'constant
786 `((boolean) @font-lock-constant-face 792 `((boolean) @font-lock-constant-face
787 (null) @font-lock-constant-face 793 (null) @font-lock-constant-face
788 ;; predefined constant or built in constant 794 ;; predefined constant or built in constant (part of PHP core)
789 ((name) @font-lock-builtin-face 795 ((name) @font-lock-builtin-face
790 (:match ,(rx-to-string 796 (:match ,(rx-to-string
791 `(: bos (or ,@php-ts-mode--predefined-constant) eos)) 797 `(: bos (or ,@php-ts-mode--predefined-constant) eos))
792 @font-lock-builtin-face)) 798 @font-lock-builtin-face))
793 ;; user defined constant 799 ;; user defined constant
794 ((name) @font-lock-constant-face 800 ((name) @font-lock-constant-face
795 (:match "\\`_?[A-Z][0-9A-Z_]+\\'" @font-lock-constant-face)) 801 (:match "\\`_*[A-Z][0-9A-Z_]+\\'" @font-lock-constant-face))
796 (const_declaration 802 (const_declaration
797 (const_element (name) @font-lock-constant-face)) 803 (const_element (name) @font-lock-constant-face))
798 (relative_scope "self") @font-lock-builtin-face
799 ;; declare directive 804 ;; declare directive
800 (declare_directive ["strict_types" "encoding" "ticks"] @font-lock-constant-face)) 805 (declare_directive ["strict_types" "encoding" "ticks"] @font-lock-constant-face))
801 806
802 :language 'php 807 :language 'php
803 :feature 'name 808 :feature 'name
804 `((goto_statement (name) @font-lock-constant-face) 809 '((goto_statement (name) @font-lock-constant-face)
805 (named_label_statement (name) @font-lock-constant-face) 810 (named_label_statement (name) @font-lock-constant-face))
806 (expression_statement (name) @font-lock-keyword-face
807 (:equal "exit" @font-lock-keyword-face)))
808 811
809 :language 'php 812 :language 'php
810 ;;:override t 813 ;;:override t
@@ -813,19 +816,21 @@ characters of the current line."
813 816
814 :language 'php 817 :language 'php
815 :feature 'operator 818 :feature 'operator
816 `([,@php-ts-mode--operators] @font-lock-operator-face) 819 `((error_suppression_expression "@" @font-lock-keyword-face)
820 [,@php-ts-mode--operators] @font-lock-operator-face)
817 821
818 :language 'php 822 :language 'php
819 :feature 'variable-name 823 :feature 'variable-name
820 :override t 824 :override t
821 `(((name) @font-lock-keyword-face (:equal "this" @font-lock-keyword-face)) 825 '(((name) @font-lock-keyword-face (:equal "this" @font-lock-keyword-face))
822 (variable_name (name) @font-lock-variable-name-face) 826 (variable_name (name) @font-lock-variable-name-face)
827 (relative_scope ["parent" "self" "static"] @font-lock-builtin-face)
828 (relative_scope) @font-lock-constant-face
823 (dynamic_variable_name (name) @font-lock-variable-name-face) 829 (dynamic_variable_name (name) @font-lock-variable-name-face)
824 (member_access_expression 830 (member_access_expression
825 name: (_) @font-lock-variable-name-face) 831 name: (_) @font-lock-variable-name-face)
826 (scoped_property_access_expression 832 (scoped_property_access_expression
827 scope: (name) @font-lock-constant-face) 833 scope: (name) @font-lock-constant-face))
828 (error_suppression_expression (name) @font-lock-variable-name-face))
829 834
830 :language 'php 835 :language 'php
831 :feature 'string 836 :feature 'string
@@ -850,7 +855,8 @@ characters of the current line."
850 :language 'php 855 :language 'php
851 :feature 'type 856 :feature 'type
852 :override t 857 :override t
853 '((union_type) @font-lock-type-face 858 '((union_type "|" @font-lock-operator-face)
859 (union_type) @font-lock-type-face
854 (bottom_type) @font-lock-type-face 860 (bottom_type) @font-lock-type-face
855 (primitive_type) @font-lock-type-face 861 (primitive_type) @font-lock-type-face
856 (cast_type) @font-lock-type-face 862 (cast_type) @font-lock-type-face
@@ -883,17 +889,18 @@ characters of the current line."
883 ("=>") @font-lock-keyword-face 889 ("=>") @font-lock-keyword-face
884 (object_creation_expression 890 (object_creation_expression
885 (name) @font-lock-type-face) 891 (name) @font-lock-type-face)
892 (namespace_name_as_prefix "\\" @font-lock-delimiter-face)
886 (namespace_name_as_prefix (namespace_name (name)) @font-lock-type-face) 893 (namespace_name_as_prefix (namespace_name (name)) @font-lock-type-face)
887 (namespace_use_clause (name) @font-lock-property-use-face) 894 (namespace_use_clause (name) @font-lock-property-use-face)
888 (namespace_aliasing_clause (name) @font-lock-type-face) 895 (namespace_aliasing_clause (name) @font-lock-type-face)
896 (namespace_name "\\" @font-lock-delimiter-face)
889 (namespace_name (name) @font-lock-type-face) 897 (namespace_name (name) @font-lock-type-face)
890 (use_declaration (name) @font-lock-property-use-face)) 898 (use_declaration (name) @font-lock-property-use-face))
891 899
892 :language 'php 900 :language 'php
893 :feature 'function-scope 901 :feature 'function-scope
894 :override t 902 :override t
895 '((relative_scope) @font-lock-constant-face 903 '((scoped_call_expression
896 (scoped_call_expression
897 scope: (name) @font-lock-constant-face) 904 scope: (name) @font-lock-constant-face)
898 (class_constant_access_expression (name) @font-lock-constant-face)) 905 (class_constant_access_expression (name) @font-lock-constant-face))
899 906
diff --git a/lisp/treesit.el b/lisp/treesit.el
index 86dc4733d37..234ef9159de 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -689,32 +689,55 @@ PARSER."
689 (push (if with-host (cons parser host-parser) parser) res)))) 689 (push (if with-host (cons parser host-parser) parser) res))))
690 (nreverse res))) 690 (nreverse res)))
691 691
692(defun treesit--cleanup-local-range-overlays (modified-tick beg end)
693 "Cleanup overlays used to mark local parsers between BEG and END.
694
695For every local parser overlay between BEG and END, if its
696`treesit-parser-ov-timestamp' is smaller than MODIFIED-TICK, delete
697it."
698 (dolist (ov (overlays-in beg end))
699 (when-let ((ov-timestamp
700 (overlay-get ov 'treesit-parser-ov-timestamp)))
701 (when (< ov-timestamp modified-tick)
702 (when-let ((local-parser (overlay-get ov 'treesit-parser)))
703 (treesit-parser-delete local-parser))
704 (delete-overlay ov)))))
705
692(defun treesit--update-ranges-local 706(defun treesit--update-ranges-local
693 (query embedded-lang &optional beg end) 707 (query embedded-lang modified-tick &optional beg end)
694 "Update range for local parsers between BEG and END. 708 "Update range for local parsers between BEG and END.
695Use QUERY to get the ranges, and make sure each range has a local 709Use QUERY to get the ranges, and make sure each range has a local
696parser for EMBEDDED-LANG." 710parser for EMBEDDED-LANG.
697 ;; Clean up. 711
698 (dolist (ov (overlays-in (or beg (point-min)) (or end (point-max)))) 712The local parser is stored in an overlay, in the `treesit-parser'
699 (when-let ((parser (overlay-get ov 'treesit-parser))) 713property, the host parser is stored in the `treesit-host-parser'
700 (when (eq (overlay-start ov) (overlay-end ov)) 714property.
701 (delete-overlay ov) 715
702 (treesit-parser-delete parser)))) 716When this function touches an overlay, it sets the
717`treesit-parser-ov-timestamp' property of the overlay to
718MODIFIED-TICK. This will help Emacs garbage-collect overlays that
719aren't in use anymore."
703 ;; Update range. 720 ;; Update range.
704 (let* ((host-lang (treesit-query-language query)) 721 (let* ((host-lang (treesit-query-language query))
705 (host-parser (treesit-parser-create host-lang)) 722 (host-parser (treesit-parser-create host-lang))
706 (ranges (treesit-query-range host-parser query beg end))) 723 (ranges (treesit-query-range host-parser query beg end)))
707 (pcase-dolist (`(,beg . ,end) ranges) 724 (pcase-dolist (`(,beg . ,end) ranges)
708 (let ((has-parser nil)) 725 (let ((has-parser nil))
709 (dolist (ov (overlays-in beg end)) 726 (setq
710 ;; Update range of local parser. 727 has-parser
711 (let ((embedded-parser (overlay-get ov 'treesit-parser))) 728 (catch 'done
712 (when (and (treesit-parser-p embedded-parser) 729 (dolist (ov (overlays-in beg end) nil)
713 (eq (treesit-parser-language embedded-parser) 730 ;; Update range of local parser.
714 embedded-lang)) 731 (when-let* ((embedded-parser (overlay-get ov 'treesit-parser))
715 (treesit-parser-set-included-ranges 732 (parser-lang (treesit-parser-language
716 embedded-parser `((,beg . ,end))) 733 embedded-parser)))
717 (setq has-parser t)))) 734 (when (eq parser-lang embedded-lang)
735 (treesit-parser-set-included-ranges
736 embedded-parser `((,beg . ,end)))
737 (move-overlay ov beg end)
738 (overlay-put ov 'treesit-parser-ov-timestamp
739 modified-tick)
740 (throw 'done t))))))
718 ;; Create overlay and local parser. 741 ;; Create overlay and local parser.
719 (when (not has-parser) 742 (when (not has-parser)
720 (let ((embedded-parser (treesit-parser-create 743 (let ((embedded-parser (treesit-parser-create
@@ -722,6 +745,8 @@ parser for EMBEDDED-LANG."
722 (ov (make-overlay beg end nil nil t))) 745 (ov (make-overlay beg end nil nil t)))
723 (overlay-put ov 'treesit-parser embedded-parser) 746 (overlay-put ov 'treesit-parser embedded-parser)
724 (overlay-put ov 'treesit-host-parser host-parser) 747 (overlay-put ov 'treesit-host-parser host-parser)
748 (overlay-put ov 'treesit-parser-ov-timestamp
749 modified-tick)
725 (treesit-parser-set-included-ranges 750 (treesit-parser-set-included-ranges
726 embedded-parser `((,beg . ,end))))))))) 751 embedded-parser `((,beg . ,end)))))))))
727 752
@@ -729,40 +754,44 @@ parser for EMBEDDED-LANG."
729 "Update the ranges for each language in the current buffer. 754 "Update the ranges for each language in the current buffer.
730If BEG and END are non-nil, only update parser ranges in that 755If BEG and END are non-nil, only update parser ranges in that
731region." 756region."
732 ;; When updating ranges, we want to avoid querying the whole buffer 757 (let ((modified-tick (buffer-chars-modified-tick))
733 ;; which could be slow in very large buffers. Instead, we only 758 (beg (or beg (point-min)))
734 ;; query for nodes that intersect with the region between BEG and 759 (end (or end (point-max))))
735 ;; END. Also, we only update the ranges intersecting BEG and END; 760 ;; When updating ranges, we want to avoid querying the whole buffer
736 ;; outside of that region we inherit old ranges. 761 ;; which could be slow in very large buffers. Instead, we only
737 (dolist (setting treesit-range-settings) 762 ;; query for nodes that intersect with the region between BEG and
738 (let ((query (nth 0 setting)) 763 ;; END. Also, we only update the ranges intersecting BEG and END;
739 (language (nth 1 setting)) 764 ;; outside of that region we inherit old ranges.
740 (local (nth 2 setting)) 765 (dolist (setting treesit-range-settings)
741 (offset (nth 3 setting)) 766 (let ((query (nth 0 setting))
742 (beg (or beg (point-min))) 767 (language (nth 1 setting))
743 (end (or end (point-max)))) 768 (local (nth 2 setting))
744 (cond 769 (offset (nth 3 setting)))
745 ((functionp query) (funcall query beg end)) 770 (cond
746 (local 771 ((functionp query) (funcall query beg end))
747 (treesit--update-ranges-local query language beg end)) 772 (local
748 (t 773 (treesit--update-ranges-local
749 (let* ((host-lang (treesit-query-language query)) 774 query language modified-tick beg end))
750 (parser (treesit-parser-create language)) 775 (t
751 (old-ranges (treesit-parser-included-ranges parser)) 776 (let* ((host-lang (treesit-query-language query))
752 (new-ranges (treesit-query-range 777 (parser (treesit-parser-create language))
753 host-lang query beg end offset)) 778 (old-ranges (treesit-parser-included-ranges parser))
754 (set-ranges (treesit--clip-ranges 779 (new-ranges (treesit-query-range
755 (treesit--merge-ranges 780 host-lang query beg end offset))
756 old-ranges new-ranges beg end) 781 (set-ranges (treesit--clip-ranges
757 (point-min) (point-max)))) 782 (treesit--merge-ranges
758 (dolist (parser (treesit-parser-list nil language)) 783 old-ranges new-ranges beg end)
784 (point-min) (point-max))))
785 (dolist (parser (treesit-parser-list nil language))
759 (treesit-parser-set-included-ranges 786 (treesit-parser-set-included-ranges
760 parser (or set-ranges 787 parser (or set-ranges
761 ;; When there's no range for the embedded 788 ;; When there's no range for the embedded
762 ;; language, set it's range to a dummy (1 789 ;; language, set it's range to a dummy (1
763 ;; . 1), otherwise it would be set to the 790 ;; . 1), otherwise it would be set to the
764 ;; whole buffer, which is not what we want. 791 ;; whole buffer, which is not what we want.
765 `((,(point-min) . ,(point-min)))))))))))) 792 `((,(point-min) . ,(point-min)))))))))))
793
794 (treesit--cleanup-local-range-overlays modified-tick beg end)))
766 795
767(defun treesit-parser-range-on (parser beg &optional end) 796(defun treesit-parser-range-on (parser beg &optional end)
768 "Check if PARSER's range covers the portion between BEG and END. 797 "Check if PARSER's range covers the portion between BEG and END.
@@ -2214,8 +2243,15 @@ What constitutes as text and source code sexp is determined
2214by `text' and `sexp' in `treesit-thing-settings'." 2243by `text' and `sexp' in `treesit-thing-settings'."
2215 (interactive "^p") 2244 (interactive "^p")
2216 (let ((arg (or arg 1)) 2245 (let ((arg (or arg 1))
2217 (pred (or treesit-sexp-type-regexp 'sexp))) 2246 (pred (or treesit-sexp-type-regexp 'sexp))
2218 (or (when (treesit-node-match-p (treesit-node-at (point)) 'text t) 2247 (node-at-point
2248 (treesit-node-at (point) (treesit-language-at (point)))))
2249 (or (when (and node-at-point
2250 ;; Make sure point is strictly inside node.
2251 (< (treesit-node-start node-at-point)
2252 (point)
2253 (treesit-node-end node-at-point))
2254 (treesit-node-match-p node-at-point 'text t))
2219 (forward-sexp-default-function arg) 2255 (forward-sexp-default-function arg)
2220 t) 2256 t)
2221 (if (> arg 0) 2257 (if (> arg 0)
diff --git a/msdos/autogen/Makefile.in b/msdos/autogen/Makefile.in
index 18403250875..4225cc72bcc 100644
--- a/msdos/autogen/Makefile.in
+++ b/msdos/autogen/Makefile.in
@@ -13,7 +13,7 @@
13 13
14@SET_MAKE@ 14@SET_MAKE@
15 15
16# Copyright (C) 2002-2021 Free Software Foundation, Inc. 16# Copyright (C) 2002-2024 Free Software Foundation, Inc.
17# 17#
18# This file is free software; you can redistribute it and/or modify 18# This file is free software; you can redistribute it and/or modify
19# it under the terms of the GNU General Public License as published by 19# it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
36# Generated by gnulib-tool. 36# Generated by gnulib-tool.
37# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings 37# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings
38 38
39# Copyright (C) 2002-2021 Free Software Foundation, Inc. 39# Copyright (C) 2002-2024 Free Software Foundation, Inc.
40# 40#
41# This file is free software; you can redistribute it and/or modify 41# This file is free software; you can redistribute it and/or modify
42# it under the terms of the GNU General Public License as published by 42# it under the terms of the GNU General Public License as published by
diff --git a/nt/emacs.rc.in b/nt/emacs.rc.in
index ed217887c5d..5ef3da1c537 100644
--- a/nt/emacs.rc.in
+++ b/nt/emacs.rc.in
@@ -31,7 +31,7 @@ BEGIN
31 VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0" 31 VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
32 VALUE "FileVersion", "@comma_space_version@\0" 32 VALUE "FileVersion", "@comma_space_version@\0"
33 VALUE "InternalName", "Emacs\0" 33 VALUE "InternalName", "Emacs\0"
34 VALUE "LegalCopyright", "Copyright (C) 2001-2021\0" 34 VALUE "LegalCopyright", "Copyright (C) 2001-2024\0"
35 VALUE "OriginalFilename", "emacs.exe" 35 VALUE "OriginalFilename", "emacs.exe"
36 VALUE "ProductName", "Emacs\0" 36 VALUE "ProductName", "Emacs\0"
37 VALUE "ProductVersion", "@comma_space_version@\0" 37 VALUE "ProductVersion", "@comma_space_version@\0"
diff --git a/nt/emacsclient.rc.in b/nt/emacsclient.rc.in
index c061f06528e..b5f865c6092 100644
--- a/nt/emacsclient.rc.in
+++ b/nt/emacsclient.rc.in
@@ -25,7 +25,7 @@ BEGIN
25 VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0" 25 VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
26 VALUE "FileVersion", "@comma_space_version@\0" 26 VALUE "FileVersion", "@comma_space_version@\0"
27 VALUE "InternalName", "EmacsClient\0" 27 VALUE "InternalName", "EmacsClient\0"
28 VALUE "LegalCopyright", "Copyright (C) 2001-2021\0" 28 VALUE "LegalCopyright", "Copyright (C) 2001-2024\0"
29 VALUE "OriginalFilename", "emacsclientw.exe" 29 VALUE "OriginalFilename", "emacsclientw.exe"
30 VALUE "ProductName", "EmacsClient\0" 30 VALUE "ProductName", "EmacsClient\0"
31 VALUE "ProductVersion", "@comma_space_version@\0" 31 VALUE "ProductVersion", "@comma_space_version@\0"
diff --git a/test/lisp/which-key-tests.el b/test/lisp/which-key-tests.el
index 3b42a7bd504..27081bc5565 100644
--- a/test/lisp/which-key-tests.el
+++ b/test/lisp/which-key-tests.el
@@ -1,6 +1,6 @@
1;;; which-key-tests.el --- Tests for which-key.el -*- lexical-binding: t; -*- 1;;; which-key-tests.el --- Tests for which-key.el -*- lexical-binding: t; -*-
2 2
3;; Copyright (C) 2017-2021 Free Software Foundation, Inc. 3;; Copyright (C) 2017-2024 Free Software Foundation, Inc.
4 4
5;; Author: Justin Burkett <justin@burkett.cc> 5;; Author: Justin Burkett <justin@burkett.cc>
6;; Maintainer: Justin Burkett <justin@burkett.cc> 6;; Maintainer: Justin Burkett <justin@burkett.cc>