]> git.eshelyaron.com Git - emacs.git/log
emacs.git
12 months agoNew command 'completions-apply'
Eshel Yaron [Thu, 4 Apr 2024 10:01:40 +0000 (12:01 +0200)]
New command 'completions-apply'

12 months agoSupport changing completions sorting with via mouse clicks
Eshel Yaron [Thu, 4 Apr 2024 10:01:00 +0000 (12:01 +0200)]
Support changing completions sorting with via mouse clicks

12 months agoMake 'completion-buffer-name-table/affixation' more robust
Eshel Yaron [Thu, 4 Apr 2024 09:24:07 +0000 (11:24 +0200)]
Make 'completion-buffer-name-table/affixation' more robust

12 months ago; * src/json.c (json_parse_array): Remove unused variable.
Mattias Engdegård [Wed, 3 Apr 2024 07:52:55 +0000 (09:52 +0200)]
; * src/json.c (json_parse_array): Remove unused variable.

(cherry picked from commit 375ba7c8ea4e8c8bc7f08dedfc46884ffb908622)

12 months ago; Autoload 'global-completion-preview-mode'
Eshel Yaron [Wed, 3 Apr 2024 06:35:18 +0000 (08:35 +0200)]
; Autoload 'global-completion-preview-mode'

* lisp/completion-preview.el (global-completion-preview-mode):
Add autoload cookie.

(cherry picked from commit 5e5e74b17ac77e93bce7f2158c9d2af5ca2a2ff7)

12 months ago; * src/json.c (Fjson_insert): Fix typo in doc (bug#70156).
Randy Taylor [Wed, 3 Apr 2024 01:29:55 +0000 (21:29 -0400)]
; * src/json.c (Fjson_insert): Fix typo in doc (bug#70156).

(cherry picked from commit 7563d571463838970418fca1f81237c389c258b1)

12 months ago; * src/json.c (Fjson_insert): Doc fix.
Eli Zaretskii [Tue, 2 Apr 2024 17:43:29 +0000 (20:43 +0300)]
; * src/json.c (Fjson_insert): Doc fix.

(cherry picked from commit 5eedf41b31ad8b471ffb430d26f15c66139ff7eb)

12 months agoNew functions to set and use context of window points (bug#33871)
Juri Linkov [Tue, 2 Apr 2024 17:17:41 +0000 (20:17 +0300)]
New functions to set and use context of window points (bug#33871)

* lisp/dired.el (dired-mode): Set buffer-local
'window-point-context-set-function' to remember 'dired-filename'
or 'position' in the window with the Dired buffer.
Set buffer-local 'window-point-context-use-function' to restore
the remembered position of the window point.

* lisp/tab-bar.el (tab-bar--tab): Use window-point-context-set.
(tab-bar-select-restore-context): New user option.
(tab-bar-select-tab): Use window-point-context-use.

* lisp/window.el: Add '(context . writable)' to
'window-persistent-parameters'.
(window-point-context-set, window-point-context-use): New functions.
(window-point-context-set-default-function)
(window-point-context-use-default-function): New functions.
(window-point-context-set-function)
(window-point-context-use-function): New variables.

(cherry picked from commit c3781bf59edcd67769d068b5bc8f724e890d8e54)

12 months agoFix json-insert unibyte buffer bug (bug#70007)
Mattias Engdegård [Tue, 2 Apr 2024 16:58:09 +0000 (18:58 +0200)]
Fix json-insert unibyte buffer bug (bug#70007)

Previously, a unibyte target buffer could be put in an incorrect state
if json-insert was used to insert non-ASCII characters.

* src/json.c (Fjson_insert): Simplify.  Don't attempt to decode the data
being inserted: it is guaranteed to be correct UTF-8 and is correct for
both unibyte and multibyte buffers.
* test/src/json-tests.el (json-serialize/roundtrip)
(json-serialize/roundtrip-scalars): Extend tests.

(cherry picked from commit 617debf67392946b4b42fdf364c69da6f094a840)

12 months agojson-insert doc fixes
Mattias Engdegård [Tue, 2 Apr 2024 15:51:38 +0000 (17:51 +0200)]
json-insert doc fixes

* src/json.c (Fjson_insert): Precise the behaviour when the current
buffer is multibyte and unibyte, respectively.
* doc/lispref/text.texi (Parsing JSON): Refer to the right function.

(cherry picked from commit 0670032c0dc03c0df6e11b5411b8d10fc61a7d41)

12 months agoNew condition/action entry 'category' for 'display-buffer' (bug#69983)
Juri Linkov [Tue, 2 Apr 2024 16:51:51 +0000 (19:51 +0300)]
New condition/action entry 'category' for 'display-buffer' (bug#69983)

* doc/lispref/windows.texi (Choosing Window): Provide an example
of using '(category . comint)' in the condition of 'display-buffer-alist'
and in the action of 'display-buffer'.
(Buffer Display Action Alists): Add a new action alist entry 'category'.

* lisp/subr.el (buffer-match-p): Add a new condition 'category'.

* lisp/window.el (display-buffer): Document a new action alist entry
'category'.

(cherry picked from commit 9af533dc751e5220a545ca7e15456992cbbfab98)

12 months ago; Fix 'value<' type mismatch test
Eshel Yaron [Tue, 2 Apr 2024 13:52:10 +0000 (15:52 +0200)]
; Fix 'value<' type mismatch test

12 months agoUpdate JSON codec doc strings
Mattias Engdegård [Mon, 1 Apr 2024 15:02:58 +0000 (17:02 +0200)]
Update JSON codec doc strings

* src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
(Fjson_parse_buffer): Make the text more readable, fix minor
errors and avoid terminology confusion.

(cherry picked from commit a5fbb652ed3614d6735015551564f32b80e42c53)

12 months ago; * src/json.c (json_parse_object): Call make_hash_table directly.
Mattias Engdegård [Mon, 1 Apr 2024 15:01:07 +0000 (17:01 +0200)]
; * src/json.c (json_parse_object): Call make_hash_table directly.

(cherry picked from commit 8bddf7f93e671bccec8103cecd99629bcc05f071)

12 months agoUpdate JSON parser test and docs
Mattias Engdegård [Mon, 1 Apr 2024 14:58:03 +0000 (16:58 +0200)]
Update JSON parser test and docs

* test/src/json-tests.el (json-parse-string/object):
Duplicated object keys are now retained in alist and plist output.
* etc/NEWS: Mention it.

(cherry picked from commit dbfe3cae2d9497fb14c83f26425f9421d1ef57cb)

12 months ago(scheme-syntax-propertize-sexp-comment): Allow `#;` in strings
Po Lu [Mon, 1 Apr 2024 14:46:19 +0000 (10:46 -0400)]
(scheme-syntax-propertize-sexp-comment): Allow `#;` in strings

* lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
Don't get confused by `#;` inside strings and (normal) comments.
(scheme-sexp-comment-syntax-table): Comment-out, unused.

(cherry picked from commit f53152faad170a93b7977c81f736cc787c2f9b71)

12 months agoCorrect custom type in tramp-androidsu.el
Po Lu [Mon, 1 Apr 2024 13:12:49 +0000 (21:12 +0800)]
Correct custom type in tramp-androidsu.el

* lisp/net/tramp-androidsu.el (tramp-androidsu-remote-path): Set
type to '(repeat string).

(cherry picked from commit 123bfc2779d52acfdb18e7fe64577645e227e1c2)

12 months ago; json.c stylistic adjustments
Po Lu [Mon, 1 Apr 2024 13:12:19 +0000 (21:12 +0800)]
; json.c stylistic adjustments

* src/json.c (json_parse_string): Stylistic changes.

(cherry picked from commit 7970f6bcfce7020030a7f87963496c06fa0017aa)

12 months ago; * doc/lispref/processes.texi: use @code for keywords in @table
Mattias Engdegård [Mon, 1 Apr 2024 12:41:37 +0000 (14:41 +0200)]
; * doc/lispref/processes.texi: use @code for keywords in @table

See discussion in bug#69709.

(cherry picked from commit 51e102a7c80d4b78eacb92a8cd164e9b1c5c3a91)

12 months agoAdd support for `ch' and `cw' dimension specifiers for images
Zajcev Evgeny [Thu, 21 Mar 2024 14:47:29 +0000 (17:47 +0300)]
Add support for `ch' and `cw' dimension specifiers for images

* src/image.c (image_get_dimension, lookup_image): Handle `ch'
and `cw' dimension specifiers in addition to `em'.
* src/dispextern.h: Add new members `face_font_height' and
`face_font_width' to `struct image'.

* doc/lispref/display.texi (Image Descriptors): Document
`ch' and `cw'.

(cherry picked from commit 61d70186a4a80d0ffc0aaef224e514ff9cac0372)

12 months ago* etc/NEWS: Mention a JSON codec improvement.
Mattias Engdegård [Mon, 1 Apr 2024 11:09:23 +0000 (13:09 +0200)]
* etc/NEWS: Mention a JSON codec improvement.

(cherry picked from commit ce492cc5ae4b0a185dde45b5f2fc046e8d98dc36)

12 months agoFix symbol list matching regexps.
Vladimir Kazanov [Sun, 31 Mar 2024 17:32:59 +0000 (18:32 +0100)]
Fix symbol list matching regexps.

Fix symbol list matching regexp performance

Allow empty face lists, improve the face list matching regexp (see
discussion in Bug#69714) based on relint's comments, add tests:
* test/lisp/emacs-lisp/ert-font-lock-tests.el: Add tests.
* lisp/emacs-lisp/ert-font-lock.el: Fix regexps.

(cherry picked from commit 3f9263f791fb8e4ff0507c8fde95fa19dabcab10)

12 months agoDon't signal `json-end-of-file` for short nonempty bad JSON inputs
Mattias Engdegård [Sun, 31 Mar 2024 17:19:58 +0000 (19:19 +0200)]
Don't signal `json-end-of-file` for short nonempty bad JSON inputs

* src/json.c (json_parse_value): Generate a plain parse error.
* test/src/json-tests.el (json-parse-string/short): Adapt test.

(cherry picked from commit 3f4486dd76c44c76c58605fb9a1643515133ff3f)

12 months agoFaster JSON parsing
Mattias Engdegård [Sun, 31 Mar 2024 13:00:00 +0000 (15:00 +0200)]
Faster JSON parsing

Speed up JSON parsing substantially by only UTF-8-parsing string
literals and only exactly once.  Previously, json-parse-string always
first parsed the entire input and copied it to a new string, and then
validated each string literal twice.

We no longer create an extra new string when interning an alist key,
nor do we garble plist keys with Unicode characters.

* src/lread.c (intern_c_multibyte): New.
* src/json.c (json_encode): Remove.
(utf8_error): New.
(json_parse_string): Faster and more careful UTF-8 decoding.
Create and return a new multibyte string or symbol without extra
decoding.  All callers adapted.
(Fjson_parse_string): Skip expensive input pre-decoding.
* test/src/json-tests.el (json-parse-string/object-unicode-keys)
(json-parse-string/short): New.
(json-parse-string/string, json-parse-string/invalid-unicode):
Adapt tests.
* etc/NEWS: Mentioned change in errors.

(cherry picked from commit 734bd005aa0fa955cf1a46d3a60a4d6ef5e7e3d1)

12 months agoNative JSON support is always available
Mattias Engdegård [Sun, 31 Mar 2024 13:07:34 +0000 (15:07 +0200)]
Native JSON support is always available

* lisp/progmodes/sh-script.el (sh--json-read): Remove.
(sh-shellcheck-flymake): Call json-parse-buffer directly.
* test/src/json-tests.el: Don't check for function availability.

(cherry picked from commit f178a6d8006f1e8afe06bb71d0a413622d73f131)

12 months agoFix mutates-arguments warning for `sort`
Mattias Engdegård [Sun, 31 Mar 2024 14:12:45 +0000 (16:12 +0200)]
Fix mutates-arguments warning for `sort`

* lisp/emacs-lisp/bytecomp.el (bytecomp--sort-call-in-place-p)
(bytecomp--mutargs-nconc, bytecomp--mutargs-sort): New.
(byte-compile-form, bytecomp--actually-important-return-value-p)
(mutating-fns):
Use a slightly more extendible scheme for specifying what arguments
a function mutates.  Give `sort` special treatment.

(cherry picked from commit 155462a1bd7909074f79a534324c7b209eb97142)

12 months ago(scheme-syntax-propertize-sexp-comment): Handle nested sexp-comments
Stefan Monnier [Mon, 1 Apr 2024 06:12:51 +0000 (02:12 -0400)]
(scheme-syntax-propertize-sexp-comment): Handle nested sexp-comments

Well, I'm not completely sure this will work right in all cases,
because I've been confused about this in the past.
It works in my test case, at least.

* lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
Look for nested `#;` and mark them appropriately.

(cherry picked from commit 0f504dde3388687d1214182fa519354146947635)

12 months agoFix androidsu's `make-process' file name handler
Po Lu [Mon, 1 Apr 2024 06:04:56 +0000 (14:04 +0800)]
Fix androidsu's `make-process' file name handler

* lisp/net/tramp-androidsu.el
(tramp-androidsu-handle-make-process): Disable exec loader
around call to setuid su binary.

(cherry picked from commit 9caf5cb55a3889fea019c73d6a3040204d77bf39)

12 months ago(scheme-syntax-propertize-sexp-comment): Remove unused argument
niceume [Sun, 24 Mar 2024 03:29:56 +0000 (12:29 +0900)]
(scheme-syntax-propertize-sexp-comment): Remove unused argument

* lisp/progmodes/scheme.el (scheme-syntax-propertize-sexp-comment):
Remove first arg, unused.
(scheme-syntax-propertize): Adjust calls accordingly.

(cherry picked from commit c4e7eec8c096219ddc6b3a981eef03ce421b8877)

12 months agoscheme.el: Enable dealing with regular expression literal
niceume [Sun, 17 Mar 2024 00:12:32 +0000 (09:12 +0900)]
scheme.el: Enable dealing with regular expression literal

* lisp/progmodes/scheme.el (scheme-syntax-propertize-regexp): New function.
(scheme-syntax-propertize): Use it.

(cherry picked from commit 02c2a95a52e53486d034de4cd2831b258a49f9c4)

12 months agoFix listing of Android root directory when it is accessible
Po Lu [Mon, 1 Apr 2024 01:26:03 +0000 (09:26 +0800)]
Fix listing of Android root directory when it is accessible

* src/androidvfs.c (android_root_closedir, android_root_dirfd)
(android_root_opendir): Allocate an ersatz file descriptor even
if directory is non-NULL, so that at-funcs will properly return
file status for virtual files in the root directory.

(cherry picked from commit 0cf9b58228580bfa400cdaf35eac04d375fe4785)

12 months agoFix wildcard signals in dbusbind.c
Michael Albinus [Sun, 31 Mar 2024 17:59:58 +0000 (19:59 +0200)]
Fix wildcard signals in dbusbind.c

* src/dbusbind.c (xd_read_message_1): Handle registered signals
with wildcards.  (Bug#69926)

(cherry picked from commit 09f381d70d8852d90cdd3c8d7e1e2786dbc61f92)

12 months agoAdapt Tramp version integrated in Emacs 29.3
Michael Albinus [Sun, 31 Mar 2024 12:21:58 +0000 (14:21 +0200)]
Adapt Tramp version integrated in Emacs 29.3

* lisp/net/trampver.el:
Adapt Tramp version integrated in Emacs 29.3.

(cherry picked from commit e303992a9faf7432ed8045825db45da6f6c48080)

12 months agoList special directories when reading root directory on Android
Po Lu [Sun, 31 Mar 2024 07:33:40 +0000 (15:33 +0800)]
List special directories when reading root directory on Android

* src/androidvfs.c (root_vfs_ops): Substitute
android_root_opendir for android_root_opendir.
(struct android_root_vdir): New structure.
(root_fd, root_fd_references): New variables.
(android_root_readdir, android_root_closedir, android_root_dirfd)
(android_root_opendir): New functions.
(android_fstatat_1): Test provided fd against root_fd, and if
they match, prefix FILENAME with the name of the root directory.

* lisp/ls-lisp.el (ls-lisp-insert-directory): If d-f-a-a signals
an error while retrieving attributes, compile the alist of
directory contents by hand.

(cherry picked from commit 7f377407b4b7d6ac9994ed983d7516bc42139885)

12 months ago; Skip commit de8cae30bcf8283e4c3b069ccb8b75224659ac5c
Eshel Yaron [Sun, 31 Mar 2024 18:06:46 +0000 (20:06 +0200)]
; Skip commit de8cae30bcf8283e4c3b069ccb8b75224659ac5c

12 months agoFix the new PEG library
Eli Zaretskii [Sun, 31 Mar 2024 07:29:34 +0000 (10:29 +0300)]
Fix the new PEG library

* doc/lispref/peg.texi (Parsing Expression Grammars)
(PEX Definitions, Parsing Actions, Writing PEG Rules): Fix markup,
indexing, and wording.

* etc/NEWS: Fix wording of PEG entry.

* test/lisp/progmodes/peg-tests.el: Move from test/lisp/, to match
the directory of peg.el.

(cherry picked from commit 994bcc125b66397b455c8a7b70fb454b483df052)

12 months ago; Another round of stylistic fixes in json.c
Eli Zaretskii [Sun, 31 Mar 2024 06:31:58 +0000 (09:31 +0300)]
; Another round of stylistic fixes in json.c

* src/json.c (json_parser_init, json_parse_object)
(json_parse_value, Fjson_parse_string, json_parse)
(json_create_float, json_create_integer, json_parse_args): Fix
whitespace and indentation.

(cherry picked from commit 914b00f2079431bd0d44618f1d3558986ac5c282)

12 months ago; json.c stylistic adjustments
Po Lu [Sun, 31 Mar 2024 00:26:48 +0000 (08:26 +0800)]
; json.c stylistic adjustments

* src/json.c (json_signal_error, json_parser_init)
(json_parse_object, json_parse_value, syms_of_json): Tabify and
wrap unacceptably long lines.

(cherry picked from commit 411f46fd365bc0008c58e1fa6bee6a60d841da75)

12 months ago; json.c stylistic adjustments
Po Lu [Sun, 31 Mar 2024 00:22:56 +0000 (08:22 +0800)]
; json.c stylistic adjustments

* src/json.c (json_parse_args, json_out_t, symset_t, symset_size)
(Fjson_serialize, Fjson_insert): Tabify and modify all sentences
to be punctuated with two spaces.

(cherry picked from commit d2c822944cc6e4480e64ec8c90f74a256971dfdd)

12 months agoAdd peg.el as a built-in library
Eric Abrahamsen [Tue, 6 Dec 2022 05:59:03 +0000 (21:59 -0800)]
Add peg.el as a built-in library

* lisp/progmodes/peg.el: New file, taken from ELPA package.
* test/lisp/peg-tests.el: Package tests.
* doc/lispref/peg.texi: Documentation.

(cherry picked from commit 8bee4060ea42c61e52ebe6487ff97bc095261050)

12 months agoMake gnus cache work with group names having '/'
James Thomas [Thu, 14 Mar 2024 03:12:00 +0000 (08:42 +0530)]
Make gnus cache work with group names having '/'

Make `gnus-cache-file-name` use the existing
`nnmail-group-pathname`.

* lisp/gnus/gnus-cache.el (gnus-cache-file-name)
(gnus-cache-update-article):
* lisp/gnus/nnmail.el (nnmail-group-pathname):

(cherry picked from commit 0df8dadde2edaee406c76d639a22c70d0b03426b)

12 months agoDisable workDoneProgress if defcustom is nil
Theodor Thornhill [Sat, 30 Mar 2024 08:35:16 +0000 (09:35 +0100)]
Disable workDoneProgress if defcustom is nil

There is no need to receive the $/progress notifications from the server
if we don't want to render them. Because they are effectively ignored
when eglot-report-progress is nil we'd rather not waste cycles on serde
of the messages.

* lisp/progmodes/eglot.el (eglot-client-capabilities): use value from
defcustom to decide whether or not to advertise to server.

(cherry picked from commit a33e7c0286c2a9c8af1c96db42f5c0c37611c9db)

12 months agoFix typo in docstring
Theodor Thornhill [Fri, 29 Mar 2024 08:18:53 +0000 (09:18 +0100)]
Fix typo in docstring

* lisp/progmodes/eglot.el (eglot-lsp-server): eglot-current-server is
now exposed.

(cherry picked from commit e5e3c9cef64e3ef3f54b91f98e28e030aba8c93f)

13 months agoFix the native JSON support code
Eli Zaretskii [Sat, 30 Mar 2024 16:33:23 +0000 (19:33 +0300)]
Fix the native JSON support code

* src/Makefile.in (base_obj): Add the missing json.o.  Without
this, we get link error.
* src/json.c (json_serialize): Don't use too sophisticated C99
features, as they confuse make-docfile.  Initialize all the
members explicitly.

(cherry picked from commit 000f919b3c7779609dc43773fdc49aca9b50d76f)

13 months agoAlways enable native JSON support and remove Jansson references
Mattias Engdegård [Sat, 30 Mar 2024 14:13:24 +0000 (15:13 +0100)]
Always enable native JSON support and remove Jansson references

* src/json.c (Fjson__available_p): Remove.
* lisp/subr.el (json-available-p): Always return t.
* admin/nt/dist-build/build-dep-zips.py:
* configure.ac:
* doc/lispref/text.texi (Parsing JSON):
* java/INSTALL:
* java/org/gnu/emacs/EmacsNative.java (EmacsNative):
* lisp/term/w32-win.el (dynamic-library-alist):
* m4/ndk-build.m4 (ndk_INIT):
* msdos/sed1v2.inp:
* nt/INSTALL:
* nt/INSTALL.W64:
* src/Makefile.in:
* src/emacs.c (main):
* src/lisp.h:
Remove JSON configuration options and references to it and Jansson from
documentation and build files.
* etc/NEWS: Announce.

(cherry picked from commit 1135ce461d188869e0294af45641edc2cbfacbf0)

13 months agoNew JSON encoder (bug#70007)
Mattias Engdegård [Tue, 26 Mar 2024 15:44:09 +0000 (16:44 +0100)]
New JSON encoder (bug#70007)

It is in general at least 2x faster than the old encoder and does not
depend on any external library.  Using our own code also gives us
control over translation details: for example, we now have full
bignum support and tighter float formatting.

* src/json.c (json_delete, json_initialized, init_json_functions)
(json_malloc, json_free, init_json, json_out_of_memory)
(json_releae_object, check_string_without_embedded_nulls, json_check)
(json_check_utf8, lisp_to_json_nonscalar_1, lisp_to_json_nonscalar)
(lisp_to_json, json_available_p, ensure_json_available, json_insert)
(json_handle_nonlocal_exit, json_insert_callback):
Remove.  Remaining uses updated.
* src/json.c (json_out_t, symset_t, struct symset_tbl)
(symset_size, make_symset_table, push_symset, pop_symset)
(cleanup_symset_tables, symset_hash, symset_expand, symset_add)
(json_out_grow_buf, cleanup_json_out, json_make_room, JSON_OUT_STR)
(json_out_str, json_out_byte, json_out_fixnum, string_not_unicode)
(json_plain_char, json_out_string, json_out_nest, json_out_unnest)
(json_out_object_cons, json_out_object_hash), json_out_array)
(json_out_float, json_out_bignum, json_out_something)
(json_out_to_string, json_serialize): New.
(Fjson_serialize, Fjson_insert):
New JSON encoder implementation.
* test/src/json-tests.el (json-serialize/object-with-duplicate-keys)
(json-serialize/string): Update tests.

(cherry picked from commit 890edfd2bb8fd79730919972cc82811b73c7f572)

13 months agobug#69992: Minor improvement to image map transformation logic
David Ponce [Sat, 30 Mar 2024 12:59:41 +0000 (13:59 +0100)]
bug#69992: Minor improvement to image map transformation logic

* lisp/image.el (image--compute-rotation): New function.
(image--compute-map, image--compute-original-map): Use it.
Ensure all transformations are applied or undone according to what
Emacs does internally.  Call a transformation function only when
needed.  Fix doc string.
(image--scale-map, image--rotate-map): Assume effective scale
argument.
(image--rotate-coord): Improve doc string.
(image--flip-map): Remove no more used argument FLIP.

* test/lisp/image-tests.el (image-create-image-with-map): Use a
valid SVG image otherwise `image-size' will not return a valid
value and calculation of scale could fail.
(image-transform-map): Update according to changed signature of
`image--flip-map'.

(cherry picked from commit cc212ea314d45c98761ae7f68600ad8bf799ea36)

13 months agoAdd use-package-vc-prefer-newest user option
Tony Zorman [Thu, 21 Dec 2023 16:51:09 +0000 (17:51 +0100)]
Add use-package-vc-prefer-newest user option

* lisp/use-package/use-package-core.el (use-package-vc-prefer-newest):
User option to prefer the latest commit (as opposed to the latest
release) of a package.
(use-package-normalize--vc-arg): Check for
use-package-vc-prefer-newest.

* doc/misc/use-package.texi (Install package): Document
use-package-vc-prefer-newest.

* etc/NEWS: Document use-package-vc-prefer-newest.

(cherry picked from commit 77115be256d08c6524bc0c498d1d268686814090)

13 months ago; Fix last change in inclusion of byteswap.h header
Eli Zaretskii [Sat, 30 Mar 2024 07:52:00 +0000 (10:52 +0300)]
; Fix last change in inclusion of byteswap.h header

* src/w32uniscribe.c (w32hb_get_font_table): Avoid warning due to
redefinition of 'bswap_32'.

(cherry picked from commit 06882a2d768241a814d7f9da24e1e5436207c0d8)

13 months agoFix implicit declaration of bswap_{32,64}
Andreas Schwab [Sat, 30 Mar 2024 07:29:52 +0000 (08:29 +0100)]
Fix implicit declaration of bswap_{32,64}

* src/data.c: Move include of <byteswap.h> ...
* src/lisp.h: ... here.

(cherry picked from commit 86c4e5a2fb3fd6b7acb8a3fc10e1e7c2eb8012a9)

13 months agoClean up removal of libjansson parser
Eli Zaretskii [Sat, 30 Mar 2024 07:37:09 +0000 (10:37 +0300)]
Clean up removal of libjansson parser

* src/json.c (json_has_suffix, json_has_prefix): Remove unused
functions.
(json_object_key_to_iter, json_array_get, json_loads)
(json_load_callback, json_object_iter, json_object_iter_value)
(json_string_value, json_object_size, json_object_iter_key)
(json_object_iter_next, json_real_value, json_string_length)
(json_integer_value) [WINDOWSNT]: Don't DEF_DLL_FN, don't
LOAD_DLL_FN, and don't define a macro for unused libjansson
functions.
(JSON_HAS_ERROR_CODE): Remove: not used.

(cherry picked from commit c2d21bda6182511f453f7bea2cbff2e0640625c9)

13 months agoReplace libjansson JSON parser with a custom one
Géza Herman [Wed, 6 Mar 2024 12:14:50 +0000 (13:14 +0100)]
Replace libjansson JSON parser with a custom one

* src/json.c (json_parse_error, json_to_lisp)
(json_read_buffer_callback): Remove functions.
(struct json_parser): New struct.
(json_signal_error, json_parser_init, json_parser_done)
(json_make_object_workspace_for_slow_path)
(json_make_object_workspace_for, json_byte_workspace_reset)
(json_byte_workspace_put_slow_path, json_byte_workspace_put)
(json_input_at_eof, json_input_switch_to_secondary)
(json_input_get_slow_path, json_input_get)
(json_input_get_if_possible, json_input_put_back)
(json_skip_whitespace_internal, json_skip_whitespace)
(json_skip_whitespace_if_possible, json_hex_value)
(json_parse_unicode, json_handle_utf8_tail_bytes)
(json_parse_string, json_create_integer, json_create_float)
(json_parse_number, json_parse_array)
(json_parse_object_member_value, json_parse_object)
(json_is_token_char, json_parse_value, json_parse): New functions.
(Fjson_parse_buffer, Fjson_parse_string): Adjust to changes in the
parser.
(syms_of_json): DEFSYM new symbols and define_error new errors.

(cherry picked from commit a5df4d92e37a176396577ac901b85025a6952376)

13 months agoDisable VC in special directories on Android
Po Lu [Sat, 30 Mar 2024 07:05:30 +0000 (15:05 +0800)]
Disable VC in special directories on Android

* lisp/vc/vc-hooks.el (vc-registered, vc-backend): Return nil
without invoking any backend if FILE or FILE-OR-LIST sits within
/content or /assets.

(cherry picked from commit 21af3a9d9706baa417298e70260efa3fce72c6f1)

13 months agoAvoid errors in Info-search-case-sensitively in DIR buffers
Eli Zaretskii [Sat, 30 Mar 2024 07:00:02 +0000 (10:00 +0300)]
Avoid errors in Info-search-case-sensitively in DIR buffers

* lisp/info.el (Info-search): Don't run the "try other subfiles"
code if there are no subfiles.  This happens, for example, in DIR
files.  (Bug#70058)

(cherry picked from commit 946d4aad1dfb244352dfd0845a8bc3078fe9bca4)

13 months agoRationalize java/Makefile.in
Po Lu [Sat, 30 Mar 2024 01:59:36 +0000 (09:59 +0800)]
Rationalize java/Makefile.in

* java/Makefile.in: (emacs.apk-in): Bring commentary up to date,
and package classes.dex at this stage of the process.
($(APK_NAME)): Adjust to match.

(cherry picked from commit 4c9926fed157810199695167ba8542af13b04ad3)

13 months agoFix building the SFNT font driver
Po Lu [Sat, 30 Mar 2024 00:58:59 +0000 (08:58 +0800)]
Fix building the SFNT font driver

* src/sfntfont.c (sfntfont_list, sfntfont_list_family): Update
calls to Fsort for the new calling convention.

(cherry picked from commit bfbddf65245e179ef25c3b9b2699515b2d33ecca)

13 months ago* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Consolidate 2 cases
Stefan Monnier [Fri, 29 Mar 2024 19:36:45 +0000 (15:36 -0400)]
* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Consolidate 2 cases

(cherry picked from commit 717e7edc2ac1e4e04019319da19c5386077dfbea)

13 months ago* lisp/cedet/semantic/tag.el (semantic-tag): New type
Stefan Monnier [Fri, 29 Mar 2024 19:32:48 +0000 (15:32 -0400)]
* lisp/cedet/semantic/tag.el (semantic-tag): New type

(cherry picked from commit dd3e13469d75851f3d7907e3373d45032382a5f5)

13 months agoAdd test for previous change (bug#70023)
Theodor Thornhill [Thu, 28 Mar 2024 18:02:09 +0000 (19:02 +0100)]
Add test for previous change (bug#70023)

* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts: Add
test.

(cherry picked from commit fbf6830299998a1e99b99c69cb90b637a3d26f12)

13 months agoAdd typescript-ts-mode indentation for interface bodies (bug#70023)
Noah Peart [Wed, 27 Mar 2024 05:44:48 +0000 (22:44 -0700)]
Add typescript-ts-mode indentation for interface bodies (bug#70023)

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Add indentation rule for
interface bodies.

(cherry picked from commit bcf6dd6e266222a293e359430afdf3a2dc18369c)

13 months ago; Skip commit 95d9e6eb6b48b9b51a0b9d7de4a0c4eeed6c7a70
Eshel Yaron [Sat, 30 Mar 2024 19:36:19 +0000 (20:36 +0100)]
; Skip commit 95d9e6eb6b48b9b51a0b9d7de4a0c4eeed6c7a70

13 months agoImprove documentation of <Delete> in user manual
Eli Zaretskii [Mon, 25 Mar 2024 19:49:55 +0000 (21:49 +0200)]
Improve documentation of <Delete> in user manual

* doc/emacs/basic.texi (Erasing): Document that <Delete> deletes
entire grapheme clusters.

(cherry picked from commit 38faacf353fb4c8efb027019a4619a386edfe62c)

13 months agoFix documentation of 'other-window-for-scrolling'
Eli Zaretskii [Mon, 25 Mar 2024 13:12:42 +0000 (15:12 +0200)]
Fix documentation of 'other-window-for-scrolling'

* src/window.c (Fother_window_for_scrolling): More accurate
documentation of how "the other" window is looked for.  Suggested
by Karthik Chikmagalur <karthikchikmagalur@gmail.com>.

(cherry picked from commit 9d3d77f12dac21c633cf10f111b0e4e574036b30)

13 months ago; Skip commit 96fb71994246508f9bcaae95395d44042941f02d
Eshel Yaron [Sat, 30 Mar 2024 19:34:59 +0000 (20:34 +0100)]
; Skip commit 96fb71994246508f9bcaae95395d44042941f02d

13 months agoUpdate files for Emacs 29.3
Eli Zaretskii [Sun, 24 Mar 2024 13:37:03 +0000 (09:37 -0400)]
Update files for Emacs 29.3

* ChangeLog.4:
* etc/AUTHORS:
* etc/HISTORY: Update for Emacs 29.3.

(cherry picked from commit ae8f815613c2e072e92aa8fe7b4bcf2fdabc7408)

13 months ago; Skip commit ff6cc3d2cf0e17fc44ac7dfd259c74f96eafa1c4
Eshel Yaron [Sat, 30 Mar 2024 19:31:36 +0000 (20:31 +0100)]
; Skip commit ff6cc3d2cf0e17fc44ac7dfd259c74f96eafa1c4

13 months ago; Skip commit 0dab0c0d688faf22adf48a429702bf906a38697b
Eshel Yaron [Sat, 30 Mar 2024 19:30:36 +0000 (20:30 +0100)]
; Skip commit 0dab0c0d688faf22adf48a429702bf906a38697b

13 months agoorg--confirm-resource-safe: Fix prompt when prompting in non-file Org buffers
Ihor Radchenko [Fri, 23 Feb 2024 09:56:58 +0000 (12:56 +0300)]
org--confirm-resource-safe: Fix prompt when prompting in non-file Org buffers

* lisp/org/org.el (org--confirm-resource-safe): When called from
non-file buffer, do not put stray "f" in the prompt.

(cherry picked from commit 7a5d7be52c5f0690ee47f30bfad973827261abf2)

13 months agoorg-file-contents: Consider all remote files unsafe
Ihor Radchenko [Tue, 20 Feb 2024 11:59:20 +0000 (14:59 +0300)]
org-file-contents: Consider all remote files unsafe

* lisp/org/org.el (org-file-contents): When loading files, consider all
remote files (like TRAMP-fetched files) unsafe, in addition to URLs.

(cherry picked from commit 2bc865ace050ff118db43f01457f95f95112b877)

13 months agoorg-latex-preview: Add protection when `untrusted-content' is non-nil
Ihor Radchenko [Tue, 20 Feb 2024 09:47:24 +0000 (12:47 +0300)]
org-latex-preview: Add protection when `untrusted-content' is non-nil

* lisp/org/org.el (org--latex-preview-when-risky): New variable
controlling how to handle LaTeX previews in Org files from untrusted
origin.
(org-latex-preview): Consult `org--latex-preview-when-risky' before
generating previews.

This patch adds a layer of protection when LaTeX preview is requested
for an email attachment, where `untrusted-content' is set to non-nil.

(cherry picked from commit 6f9ea396f49cbe38c2173e0a72ba6af3e03b271c)

13 months ago* lisp/gnus/mm-view.el (mm-display-inline-fontify): Mark contents untrusted.
Ihor Radchenko [Tue, 20 Feb 2024 09:44:30 +0000 (12:44 +0300)]
* lisp/gnus/mm-view.el (mm-display-inline-fontify): Mark contents untrusted.

(cherry picked from commit 937b9042ad7426acdcca33e3d931d8f495bdd804)

13 months ago* lisp/files.el (untrusted-content): New variable.
Ihor Radchenko [Tue, 20 Feb 2024 09:43:51 +0000 (12:43 +0300)]
* lisp/files.el (untrusted-content): New variable.

The new variable is to be used when buffer contents comes from untrusted
source.

(cherry picked from commit ccc188fcf98ad9166ee551fac9d94b2603c3a51b)

13 months agoorg-macro--set-templates: Prevent code evaluation
Ihor Radchenko [Tue, 20 Feb 2024 09:19:46 +0000 (12:19 +0300)]
org-macro--set-templates: Prevent code evaluation

* lisp/org/org-macro.el (org-macro--set-templates): Get rid of any
risk to evaluate code when `org-macro--set-templates' is called as a
part of major mode initialization.  This way, no code evaluation is
ever triggered when user merely opens the file or when
`mm-display-org-inline' invokes Org major mode to fontify mime part
preview in email messages.

(cherry picked from commit befa9fcaae29a6c9a283ba371c3c5234c7f644eb)

13 months ago* admin/authors.el (authors-aliases): Add ignored authors.
Eli Zaretskii [Sun, 24 Mar 2024 12:36:44 +0000 (08:36 -0400)]
* admin/authors.el (authors-aliases): Add ignored authors.

(cherry picked from commit 3221d8d46116fdefb19742be916d0e352dfab761)

13 months ago; Skip commit 8d8253f89915f1d9b45791d46cf974c6bdcc1457
Eshel Yaron [Sat, 30 Mar 2024 19:30:07 +0000 (20:30 +0100)]
; Skip commit 8d8253f89915f1d9b45791d46cf974c6bdcc1457

13 months ago; Simplify many 'sort' invocations using new interface
Eshel Yaron [Sat, 30 Mar 2024 09:08:07 +0000 (10:08 +0100)]
; Simplify many 'sort' invocations using new interface

13 months ago; Make 'value<' consider cons cell greater than all other objects
Eshel Yaron [Fri, 29 Mar 2024 20:37:27 +0000 (21:37 +0100)]
; Make 'value<' consider cons cell greater than all other objects

13 months ago; * lisp/shell.el (w32-application-type): Fix 'declare-function'.
Eli Zaretskii [Fri, 29 Mar 2024 15:26:38 +0000 (18:26 +0300)]
; * lisp/shell.el (w32-application-type): Fix 'declare-function'.

(cherry picked from commit 42322257ba9abdb8bcc2aceb34a27f261df070aa)

13 months ago`value<` manual entry adjustments (bug#69709)
Mattias Engdegård [Fri, 29 Mar 2024 14:25:22 +0000 (15:25 +0100)]
`value<` manual entry adjustments (bug#69709)

* doc/lispref/sequences.texi (Sequence Functions):
Explain lexicographical ordering.  Note the dual nature of `nil`.
Mention the depth limit.

(cherry picked from commit f04bd5568708f96dfad0e8240c7f8f23c90b6813)

13 months ago* src/fns.c (Fvaluelt): More generous depth limit (20 -> 200).
Mattias Engdegård [Fri, 29 Mar 2024 14:23:56 +0000 (15:23 +0100)]
* src/fns.c (Fvaluelt): More generous depth limit (20 -> 200).

This gives `value<` the same limit as `equal` which seems about right.

(cherry picked from commit d2d5e514397c453bbaa6e7fc3441af2d538eb3cf)

13 months agoSupport `shell-resync-dirs' on msys bash (Bug#70012)
Sam Steingold [Fri, 29 Mar 2024 14:36:43 +0000 (10:36 -0400)]
Support `shell-resync-dirs' on msys bash (Bug#70012)

* lisp/shell.el (w32-application-type): Declare.
(shell-mode): Set `shell-dirstack-query' to `pwd -W` when using msys bash.

(cherry picked from commit 6f7cb96543285dc8e37135abaec87d0b9a40e2e2)

13 months agoSimplify some sorting functions using the new 'sort' interface
Eshel Yaron [Fri, 29 Mar 2024 19:14:11 +0000 (20:14 +0100)]
Simplify some sorting functions using the new 'sort' interface

13 months ago; * doc/lispref/sequences.texi (Sequence Functions): Fix markup and examples.
Eli Zaretskii [Fri, 29 Mar 2024 12:03:44 +0000 (15:03 +0300)]
; * doc/lispref/sequences.texi (Sequence Functions): Fix markup and examples.

(cherry picked from commit 1f19ddec5b06720086c67d5d8b7d2184e9eef288)

13 months ago; * test/lisp/vc/vc-git-tests.el: bend doc string quote
Mattias Engdegård [Fri, 29 Mar 2024 10:53:56 +0000 (11:53 +0100)]
; * test/lisp/vc/vc-git-tests.el: bend doc string quote

(cherry picked from commit 2f0df93d8ca0a8d4d6b040458661b8eb21fc39e9)

13 months agoBetter `sort` ignored-return-value warning
Mattias Engdegård [Sun, 24 Mar 2024 17:18:41 +0000 (18:18 +0100)]
Better `sort` ignored-return-value warning

* lisp/emacs-lisp/bytecomp.el (byte-compile-form)
(bytecomp--actually-important-return-value-p):
Special handling of `sort` that takes into account that it may return
an important value depending on the :in-place keyword argument.

(cherry picked from commit b20866c4b3aa1446efda252bd5c3fa54f68c5d7f)

13 months agoRemove `sort-on` (bug#69709)
Mattias Engdegård [Fri, 22 Mar 2024 14:06:27 +0000 (15:06 +0100)]
Remove `sort-on` (bug#69709)

* lisp/sort.el (sort-on):
* doc/lispref/sequences.texi (Sequence Functions):
* etc/NEWS:
Remove the `sort-on` function which is now completely superseded by
the extended `sort` in features, ease of use, and performance.

(cherry picked from commit cbd862865ff0a08d1214ac33590e7af80d10a0ac)

13 months agoUse new-style `sort` signature in Lisp manual examples
Mattias Engdegård [Fri, 22 Mar 2024 14:08:50 +0000 (15:08 +0100)]
Use new-style `sort` signature in Lisp manual examples

* doc/lispref/help.texi (Accessing Documentation):
* doc/lispref/strings.texi (Text Comparison):
Use the new sort calling convention (bug#69709).

(cherry picked from commit 92d659ce6cd2e79231f1011202abb39606d6f06b)

13 months agoFaster non-destructive list sorting
Mattias Engdegård [Fri, 22 Mar 2024 10:54:09 +0000 (11:54 +0100)]
Faster non-destructive list sorting

Postpone the creation of a new list to after sorting which turns out to
be a lot faster (1.1x - 1.5x speedup).

* src/fns.c (sort_list, sort_vector, Fsort):
Create the new list when moving the data out from the temporary array.

(cherry picked from commit 45941a62c799f9685fae296079304ae0898920cc)

13 months agoSpeed up `sort` by special-casing the `value<` ordering
Mattias Engdegård [Thu, 21 Mar 2024 18:35:15 +0000 (19:35 +0100)]
Speed up `sort` by special-casing the `value<` ordering

This gives a 1.5x-2x speed-up when using the default :lessp value,
by eliminating the Ffuncall overhead.

* src/sort.c (order_pred_lisp, order_pred_valuelt): New.
(merge_state, inorder, binarysort, count_run, gallop_left, gallop_right)
(merge_init, merge_lo, merge_hi, tim_sort):
* src/fns.c (Fsort):
When using value<, call it directly.

(cherry picked from commit deae311281522864ebabaf56adafbe37032cc8a9)

13 months agoNew `sort` keyword arguments (bug#69709)
Mattias Engdegård [Tue, 19 Mar 2024 12:03:47 +0000 (13:03 +0100)]
New `sort` keyword arguments (bug#69709)

Add the :key, :lessp, :reverse and :in-place keyword arguments.
The old calling style remains available and is unchanged.

* src/fns.c (sort_list, sort_vector, Fsort):
* src/sort.c (tim_sort):
Add keyword arguments with associated new features.
All callers of Fsort adapted.
* test/src/fns-tests.el (fns-tests--shuffle-vector, fns-tests-sort-kw):
New test.
* doc/lispref/sequences.texi (Sequence Functions): Update manual.
* etc/NEWS: Announce.

(cherry picked from commit ae5f2c02bd2fc269e2cc32c8039d95fbf4225e69)

13 months agoAdd back timsort key function handling (bug#69709)
Mattias Engdegård [Mon, 18 Mar 2024 18:56:20 +0000 (19:56 +0100)]
Add back timsort key function handling (bug#69709)

The original timsort code did provide for a key (accessor) function
along with the necessary storage management, but we dropped it because
our `sort` function didn't need it.

Now it's been put back since it seems that it will come in handy after all.

* src/fns.c (sort_list, sort_vector, Fsort): Pass Qnil as key function
to tim_sort.
* src/sort.c (reverse_slice, sortslice_copy)
(sortslice_copy_incr, sortslice_copy_decr, sortslice_memcpy)
(sortslice_memmove, sortslice_advance): New functions.
(sortslice): New type.
(struct stretch, struct reloc, merge_state)
(binarysort, merge_init, merge_markmem, cleanup_mem)
(merge_register_cleanup, merge_getmem, merge_lo, merge_hi, merge_at)
(found_new_run, reverse_sortslice, resolve_fun, tim_sort):
Merge back previously discarded parts from the upstreams timsort code
that dealt with key functions, and adapt them to fit in.

(cherry picked from commit a52f1121a3589af8f89828e04d66f1215c361bcf)

13 months agoAdd `value<` (bug#69709)
Mattias Engdegård [Sun, 10 Mar 2024 12:18:22 +0000 (13:18 +0100)]
Add `value<` (bug#69709)

It's a general-purpose polymorphic ordering function, like `<` but
for any two values of the same type.

* src/data.c (syms_of_data): Add the `type-mismatch` error.
(bits_word_to_host_endian): Move...
* src/lisp.h (bits_word_to_host_endian): ...here, and declare inline.
* src/fns.c (Fstring_lessp): Extract the bulk of this function to...
(string_cmp): ...this 3-way comparison function, for use elsewhere.
(bool_vector_cmp, value_cmp, Fvaluelt): New.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns):
Add `value<`, which is pure and side-effect-free.
* test/src/fns-tests.el (fns-value<-ordered, fns-value<-unordered)
(fns-value<-type-mismatch, fns-value<-symbol-with-pos)
(fns-value<-circle, ert-deftest fns-value<-bool-vector): New tests.
* doc/lispref/sequences.texi (Sequence Functions):
* doc/lispref/numbers.texi (Comparison of Numbers):
* doc/lispref/strings.texi (Text Comparison):
Document the new value< function.
* etc/NEWS: Announce.

(cherry picked from commit 1232ab31c656b8564984a758957466f90ac10501)

13 months ago; Update 'read-multiple-choice' documentation
Eshel Yaron [Fri, 29 Mar 2024 12:32:41 +0000 (13:32 +0100)]
; Update 'read-multiple-choice' documentation

13 months ago; * java/org/gnu/emacs/EmacsActivity.java (isReallyFinishing): Fix typo.
Po Lu [Thu, 28 Mar 2024 11:57:22 +0000 (19:57 +0800)]
; * java/org/gnu/emacs/EmacsActivity.java (isReallyFinishing): Fix typo.

(cherry picked from commit c3684b97885c5a1f4d0713ff45c7395e9a4c6e8a)

13 months agoPrevent Android OS task trimming from deleting Emacs frames
Po Lu [Thu, 28 Mar 2024 11:56:31 +0000 (19:56 +0800)]
Prevent Android OS task trimming from deleting Emacs frames

* doc/emacs/android.texi (Android Windowing): Document proviso
on Android 7.0 and later.

* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
<timeOfLastInteraction>: New field.
(onStop, onResume): Set and clear timeOfLastInteraction.
(isReallyFinishing): New function.
(onDestroy): Don't delete frame even in the event isFinishing
returns true if more than 4 hours have elapsed since the
activity last moved into the background.

(cherry picked from commit 755665d95adbba07335f400f1090e53b66c41ff5)

13 months agopp.el: Try and fix bug#70039
Stefan Monnier [Thu, 28 Mar 2024 19:31:04 +0000 (15:31 -0400)]
pp.el: Try and fix bug#70039

* lisp/emacs-lisp/pp.el (pp-fill): Avoid splitting `#N#` or `#[`.
* test/lisp/emacs-lisp/pp-tests.el (pp-tests--sanity): New test.

(cherry picked from commit 4cee95815b9d7d56f6f77abb1cc17e346c038685)

13 months ago* lisp/emacs-lisp/cl-macs.el (list): Predefine predicate by hand
Stefan Monnier [Thu, 28 Mar 2024 16:27:54 +0000 (12:27 -0400)]
* lisp/emacs-lisp/cl-macs.el (list): Predefine predicate by hand

(cherry picked from commit de9e913f9e2a1e01e5d091a553e98d75404a2246)

13 months agoAdd 'minibuffer-hint-mode'
Eshel Yaron [Thu, 28 Mar 2024 21:16:40 +0000 (22:16 +0100)]
Add 'minibuffer-hint-mode'

13 months agoAdd command 'register-toggle-volatility'
Eshel Yaron [Thu, 28 Mar 2024 20:29:14 +0000 (21:29 +0100)]
Add command 'register-toggle-volatility'

13 months agoImprove 'help--symbol-completion-table-affixation'
Eshel Yaron [Thu, 28 Mar 2024 18:46:43 +0000 (19:46 +0100)]
Improve 'help--symbol-completion-table-affixation'