]> git.eshelyaron.com Git - emacs.git/log
emacs.git
13 months agoUpdate android_wc_lookup_string
Po Lu [Fri, 8 Mar 2024 12:47:23 +0000 (20:47 +0800)]
Update android_wc_lookup_string

* src/android.c (android_wc_lookup_string): Don't clear compose
state upon modifier key depress.

(cherry picked from commit cc75e103dd2a9d47f29addcc724812162c1a2626)

13 months agoSimplify type hierarchy operations
Stefan Monnier [Fri, 8 Mar 2024 06:48:59 +0000 (01:48 -0500)]
Simplify type hierarchy operations

Now that built-in types have classes that describe their
relationships exactly like struct/eieio/oclosure classes,
we can the code that navigates that DAG.

* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Move to
`eieio-core.el`.
(cl--generic-type-specializers): Rename from
`cl--generic-struct-specializers`.  Make it work for any class.
(cl--generic-typeof-generalizer, cl--generic-oclosure-generalizer): Use it.
(cl--generic-struct-generalizer): Delete generalizer.
(cl-generic-generalizers :extra "cl-struct"): Delete method.
(prefill 0 cl--generic-generalizer): Move to after the typeof.
(cl-generic-generalizers :extra "typeof"): Rewrite to use
classes rather than `cl--all-builtin-types`.
(cl-generic--oclosure-specializers): Delete function.

* lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type)
(cl--typeof-types, cl--all-builtin-types): Delete constants.

* lisp/emacs-lisp/comp-cstr.el (comp--typeof-builtin-types):
Delete constant.
(comp--cl-class-hierarchy): Simplify.
(comp--compute-typeof-types): Simplify now that
`comp--cl-class-hierarchy` and `comp--all-classes` work for built-in
types as well.
(comp--direct-supertypes): Just use `cl--class-parents`.
(comp-supertypes): Simplify since typeof-types should now be complete.

* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload):
Use `superclasses` argument, so we can find parents before it's loaded.
(eieio--class-precedence-c3, eieio--class-precedence-dfs):
Don't add a `eieio-default-superclass` parent any more.
(eieio--class/struct-parents): Delete function.
(eieio--class-precedence-bfs): Use `eieio--class-parents` instead.
Don't stop when reaching `eieio-default-superclass`.
(cl--generic-struct-tag): Move from `cl-generic.el`.

(cherry picked from commit bd017175d4571e24ef1fdf84676136af1d36002d)

13 months agoeieio-core.el: Always put a parent in the parents of a class
Stefan Monnier [Thu, 7 Mar 2024 22:45:41 +0000 (17:45 -0500)]
eieio-core.el: Always put a parent in the parents of a class

* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal):
Always put a parent in the `parents` slot of the class.

* lisp/emacs-lisp/eieio.el (eieio-class-parents): Remove the
`eieio-default-superclass` if it's the only parent.
(child-of-class-p): Handle all classes in the parents.
(eieio-default-superclass): Adjust docstring.

(cherry picked from commit 945af4d9d11192d262f4fabbc66ee83f5beefc86)

13 months agoMake "parentless" structs inherit from their builtin type
Stefan Monnier [Thu, 7 Mar 2024 21:58:15 +0000 (16:58 -0500)]
Make "parentless" structs inherit from their builtin type

* lisp/emacs-lisp/cl-preloaded.el (cl--struct-register-child):
Register child only in struct parents.
(cl-struct-define): Put the "type" as parent of parentless :type structs.
Copy slots only from struct parent classes.
(cl-structure-object): Set (manually) its parent to `record`
and remove assertion that it has no parents.

(cherry picked from commit 7c127fc965fbe781141a6bccbe0b620dc7862b1d)

13 months ago* lisp/emacs-lisp/oclosure.el (oclosure): Make it a subtype of `function`
Stefan Monnier [Thu, 7 Mar 2024 20:26:12 +0000 (15:26 -0500)]
* lisp/emacs-lisp/oclosure.el (oclosure): Make it a subtype of `function`

(cherry picked from commit 76e9c761a45e0157a8ca43eaaf928385d8e0c228)

13 months agocl-preloaded.el (built-in-class): New type
Stefan Monnier [Wed, 6 Mar 2024 21:32:35 +0000 (16:32 -0500)]
cl-preloaded.el (built-in-class): New type

Add classes describing the built-in types.

* lisp/emacs-lisp/cl-preloaded.el (built-in-class): New type.
(cl--define-built-in-type): New aux macro.
(all built-in types): "Define" them with it.
(cl--builtin-type-p): New aux function.
(cl--struct-name-p): Use it.
(cl--direct-supertypes-of-type, cl--typeof-types, cl--all-builtin-types):
Move the definitions to after the built-in classes are defined,
and rewrite to make use of those classes.

* lisp/emacs-lisp/cl-extra.el (cl-describe-type):
Accept two (unused) optional args, for use with `describe-symbol-backends`.
(describe-symbol-backends): Simplify accordingly and
add ourselves at the end.
(cl--class-children): New function.
(cl--describe-class): Use it.  Also don't show a silly empty list of slots
for the built-in types.

(cherry picked from commit 4fdcbd09af29e72456c9ca4cfbc9f6e97a88f8b8)

13 months agocomp-cstr.el: Fix a minor error and prepare for upcoming changes
Stefan Monnier [Thu, 7 Mar 2024 21:56:42 +0000 (16:56 -0500)]
comp-cstr.el: Fix a minor error and prepare for upcoming changes

* lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy): Add `atom`
and `t` only to those types whose "allparents" is clearly not complete.
(comp--compute--pred-type-h): Store the cstr rather than the type
in the hash-table, as expected by `comp--pred-to-cstr`.

(cherry picked from commit 9830421e964cfb39077b69efd38d122e3bacf5d4)

13 months agoDeclare 124 new Android permissions
Po Lu [Fri, 8 Mar 2024 02:58:17 +0000 (10:58 +0800)]
Declare 124 new Android permissions

* doc/emacs/android.texi (Android Environment): Document new
permissions and delete recently introduced permissions from the
list for Android 5.1 and earlier.

* java/AndroidManifest.xml.in: Declare 124 new permissions to
enable invoking features they protect from code running inside
Emacs.

(cherry picked from commit e4d1739a2917a1b2ab279f4765f015e667e07db0)

13 months ago; perl-mode, cperl-mode: Fix $\" in strings (Bug#69604)
Harald Jörg [Thu, 7 Mar 2024 23:37:36 +0000 (00:37 +0100)]
; perl-mode, cperl-mode: Fix $\" in strings (Bug#69604)

* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Add to syntax-propertize-rules that $ is punctuation in strings.

* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): capture $\
to catch the edge case of "$\"".  Make $ a punctuation char in
strings and comments.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-69604):
New testcases with various combinations of $ " \

(cherry picked from commit 00f86833ac5423d57825213ef8b611978be0a3eb)

13 months agoSupport expanding Eshell globs for remote file names
Jim Porter [Wed, 6 Mar 2024 21:27:07 +0000 (13:27 -0800)]
Support expanding Eshell globs for remote file names

* lisp/eshell/em-glob.el (eshell-glob-chars-regexp): New function...
(eshell-glob-regexp): ... use it.
(eshell-glob-p): New function...
(eshell-glob-convert): ... use it, and return the deepest start
directory possible.

* lisp/eshell/esh-util.el (eshell-split-path): Rename to...
(eshell-split-path): ... this, and account for remote file names.

* test/lisp/eshell/em-glob-tests.el
(em-glob-test/convert/current-start-directory)
(em-glob-test/convert/relative-start-directory)
(em-glob-test/convert/absolute-start-directory)
(em-glob-test/convert/remote-start-directory): New tests (bug#69592).

(cherry picked from commit e42f14f0e034d0b20c6b9fd0fea23686699e7df0)

13 months ago; * test/lisp/net/eww-tests.el (eww-test--response-function): Fix typo.
Jim Porter [Thu, 7 Mar 2024 20:19:28 +0000 (12:19 -0800)]
; * test/lisp/net/eww-tests.el (eww-test--response-function): Fix typo.

(cherry picked from commit aec0f610cb5aace1301cd230e57844a93d40cccd)

13 months agoRevert "Suppress docstring control char warning in macro-generated function"
Mattias Engdegård [Thu, 7 Mar 2024 13:29:36 +0000 (14:29 +0100)]
Revert "Suppress docstring control char warning in macro-generated function"

This reverts commit eeb89a5cb292bffe40ba7d0b0cf81f82f8452bf8.
It is no longer needed now that (lambda (...) "string") does not
have a doc string (bug#69387).

(cherry picked from commit 90c2e287b7654c22b66012059c953c976c1596c1)

13 months agoSingle string literal in body is return value only, not doc string
Mattias Engdegård [Wed, 6 Mar 2024 11:03:06 +0000 (12:03 +0100)]
Single string literal in body is return value only, not doc string

A function or macro body consisting of a single string literal now only
uses it as a return value.  Previously, it had the dual uses as return
value and doc string, which was never what the programmer wanted and
had some inconvenient consequences (bug#69387).

This change applies to `lambda`, `defun`, `defsubst` and `defmacro`
forms; most other defining forms already worked in the sensible way.

* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda):
Don't use a lone string literal as doc string.
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el
(foo): Update docstring warning test.
* doc/lispref/functions.texi (Function Documentation): Update.
* etc/NEWS: Announce.

(cherry picked from commit 61b2f5f96b1d9dfd2fd908e09fac0d4163049c42)

13 months ago; Improve documentation of image properties
Eli Zaretskii [Thu, 7 Mar 2024 08:11:44 +0000 (10:11 +0200)]
; Improve documentation of image properties

* lisp/image.el (create-image, image-property): Add to do strings
link to description of image properties in ELisp manual.

* doc/lispref/display.texi (Defining Images): Fix example and add
cross-reference to where image properties are described.
(Image Descriptors): Add index entry.

(cherry picked from commit 5ffcca121bb79b97c6a0f941c71a61505032d8f8)

13 months ago; * src/composite.c (composition_compute_stop_pos): Add comment.
Eli Zaretskii [Mon, 4 Mar 2024 15:09:29 +0000 (17:09 +0200)]
; * src/composite.c (composition_compute_stop_pos): Add comment.

(cherry picked from commit 6e801077ae88e72dbad32015a083602062c4efe3)

13 months ago; Fix Tramp test
Eshel Yaron [Sun, 10 Mar 2024 11:20:44 +0000 (12:20 +0100)]
; Fix Tramp test

13 months agoDeprecate 'minibuffer-help-form'
Eshel Yaron [Sun, 10 Mar 2024 11:06:57 +0000 (12:06 +0100)]
Deprecate 'minibuffer-help-form'

13 months ago* lisp/follow.el: Put property 'isearch-scroll' on 'follow-recenter'.
Juri Linkov [Thu, 7 Mar 2024 07:56:02 +0000 (09:56 +0200)]
* lisp/follow.el: Put property 'isearch-scroll' on 'follow-recenter'.

(cherry picked from commit 8aabd835747297818d538cc16b3f53fcc1dd67f6)

13 months agoWhen navigating through history in EWW, don't keep adding to 'eww-history'
Jim Porter [Sun, 18 Feb 2024 04:49:15 +0000 (20:49 -0800)]
When navigating through history in EWW, don't keep adding to 'eww-history'

This resolves an issue where navigating back and then forward kept
adding new history entries so you could never hit the "end" (bug#69232).

* lisp/net/eww.el (eww-before-browse-history-function): New option.
(eww-history-position): Add docstring.
(eww-mode-map, eww-context-menu): Use correct predicates for when to
enable back/forward.
(eww-save-history): Save history entry in its original place when
viewing a historical page.
(eww--before-browse): New function...
(eww, eww-follow-link, eww-readable): ... call it.
(eww-render): Don't set 'eww-history-position' here...
(eww--before-browse): ... instead, set it here.
(eww-back-url): Set 'eww-history-position' based on the result of
'eww-save-history'.
(eww-forward-url): Set 'eww-history-position' directly, since
'eww-save-history' no longer adds a new entry in this case.
(eww-delete-future-history, eww-clone-previous-history): New functions.

* test/lisp/net/eww-tests.el: New file.

* etc/NEWS: Announce this change.

(cherry picked from commit 59e470dd5de6e75c4d3bb91c876c8540faf33fdb)

13 months agoTramp fixes after running regression tests on Android
Michael Albinus [Wed, 6 Mar 2024 16:51:42 +0000 (17:51 +0100)]
Tramp fixes after running regression tests on Android

* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
Unset environment variable PS2.

* lisp/net/tramp-androidsu.el (tramp-default-host-alist):
Don't add an entry; `tramp-default-host' is set properly.
(tramp-androidsu-maybe-open-connection): Don't set connection
property "remote-namespace" to nil, this is the default anyway.
Don't set connection property "remote-path", we use
connection-local values instead.  Unset environment variable PS2.
Dump shell options after setting all of them.
(tramp-androidsu-handle-make-process): Don't use hard-coded user "root".
(tramp-androidsu-connection-local-default-variables): New defvar.
Add it to connection-local profiles.

(cherry picked from commit b12059e4c320f374735a9c00975ef12cb964043f)

13 months agoRename type_hierarchy.* -> elisp_type_hierarchy.*
Andrea Corallo [Wed, 6 Mar 2024 15:43:45 +0000 (16:43 +0100)]
Rename type_hierarchy.* -> elisp_type_hierarchy.*

* doc/lispref/elisp_type_hierarchy.txt: Renamed.
* doc/lispref/elisp_type_hierarchy.jpg: Likewise.
* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/elisp_type_hierarchy.txt)
($(buildinfodir)/elisp_type_hierarchy.jpg): Update.
* admin/syncdoc-type-hierarchy.el (syncdoc-update-type-hierarchy0): Likewise.
* Makefile.in (install-info, uninstall): Likewise.

(cherry picked from commit 415604c7a77205d91254a271f0112f69729eb3a9)

13 months agoRe-generate type_hierarchy.*
Andrea Corallo [Wed, 6 Mar 2024 14:50:33 +0000 (15:50 +0100)]
Re-generate type_hierarchy.*

* doc/lispref/type_hierarchy.txt: Update.
* doc/lispref/type_hierarchy.jpg: Likewise.

(cherry picked from commit a5d3ce38fa77296f12bf15a9451d4c151f10d766)

13 months ago* Update syncdoc to dump all preloaded type hierarchy
Andrea Corallo [Wed, 6 Mar 2024 14:41:37 +0000 (15:41 +0100)]
* Update syncdoc to dump all preloaded type hierarchy

* admin/syncdoc-type-hierarchy.el (syncdoc-file)
(syncdoc-emacs-repo-dir): New constants.
(syncdoc-lispref-dir): Make use of.
(syncdoc-all-types): New function.
(comp--direct-supertypes): Declare.
(syncdoc-hierarchy): Update.
(syncdoc-update-type-hierarchy0): Rename from
'syncdoc-update-type-hierarchy' and make non interactive.
(syncdoc-update-type-hierarchy): New function.

(cherry picked from commit 9526bd3cf8eb5e5ed78c7fb8eb03d9e7dac9b941)

13 months agoDon't report files from read-only adb partitions as writable
Po Lu [Wed, 6 Mar 2024 02:48:28 +0000 (10:48 +0800)]
Don't report files from read-only adb partitions as writable

* lisp/net/tramp-adb.el (tramp-adb-handle-file-writable-p):
Ignore the file-attributes cache, since file mode is not a
reliable indicator of writability.

(cherry picked from commit 1a5850a3af0693f022bb0a62e36bb84f762287c7)

13 months ago; Fix last change
Po Lu [Wed, 6 Mar 2024 02:20:36 +0000 (10:20 +0800)]
; Fix last change

* lisp/net/tramp-androidsu.el
(tramp-androidsu-generate-wrapper): Arguments to fset must be
symbols rather than functions.

(cherry picked from commit 845d334c10ab8a12ac5eead90abfa9cae1f4b67c)

13 months ago* Makefile.in (install-info): Fix target (bug#69569).
Vincenzo Pupillo [Tue, 5 Mar 2024 21:36:34 +0000 (22:36 +0100)]
* Makefile.in (install-info): Fix target (bug#69569).

(cherry picked from commit d5f11e890c598cd2e15cb2fd93e604ed100ce355)

13 months ago; * etc/NEWS: Fix wording and punctuation of a recently added entry.
Eli Zaretskii [Tue, 5 Mar 2024 17:32:29 +0000 (19:32 +0200)]
; * etc/NEWS: Fix wording and punctuation of a recently added entry.

(cherry picked from commit 33976ecf244082346cbc71ff1102ef7de1ed36fe)

13 months ago* lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook (bug#69093).
Juri Linkov [Tue, 5 Mar 2024 17:14:28 +0000 (19:14 +0200)]
* lisp/tab-bar.el (tab-bar-tab-post-select-functions): New hook (bug#69093).

(tab-bar-select-tab): Call tab-bar-tab-post-select-functions at the end.

(cherry picked from commit 3cb06145070ff5d4a220f1144434f1ba6c1976f7)

13 months agoNew property 'context-menu-functions' (bug#62250)
Juri Linkov [Tue, 5 Mar 2024 16:50:51 +0000 (18:50 +0200)]
New property 'context-menu-functions' (bug#62250)

* lisp/iimage.el (iimage-mode-buffer): Set context-menu-functions
text property to '(image-context-menu)'.

* lisp/image.el (image-context-menu): New function.
(put-image): Set context-menu-functions overlay property
to '(image-context-menu)'.
(insert-image, insert-sliced-image): Set context-menu-functions
text property to '(image-context-menu)'.

* lisp/mouse.el (context-menu-map): Use mouse-posn-property
'context-menu-functions' and call its funs at the end.

(cherry picked from commit f16a85e317d940aa2e0f0375ec5d1917cb04ade3)

13 months ago* lisp/net/dictionary.el: More fixes for dictionary-new-matching (bug#69312)
Juri Linkov [Tue, 5 Mar 2024 16:42:49 +0000 (18:42 +0200)]
* lisp/net/dictionary.el: More fixes for dictionary-new-matching (bug#69312)

(dictionary-new-matching): Change the order of standard calls
to be the same as in 'dictionary-new-search'.
Use new function 'dictionary-new-matching-internal'.
(dictionary-new-matching-internal): New function based on
'dictionary-new-search-internal'.

(cherry picked from commit 9cf0f254bae79f6b6cda01e7a4b77fabec9f3f8f)

13 months ago* Makefile.in (uninstall): Clean-up type_hierarchy* files.
Andrea Corallo [Tue, 5 Mar 2024 14:21:44 +0000 (15:21 +0100)]
* Makefile.in (uninstall): Clean-up type_hierarchy* files.

(cherry picked from commit 5155f5b1cc0a48566d0f419de8cffd845638e567)

13 months ago* Makefile.in (install-info): Install type_hierarchy* files as well.
Andrea Corallo [Tue, 5 Mar 2024 14:07:05 +0000 (15:07 +0100)]
* Makefile.in (install-info): Install type_hierarchy* files as well.

(cherry picked from commit 4673b99071399bf43329741d3f5ab56eb6854572)

13 months ago* Copy type hierarchy representation to the info dir
Andrea Corallo [Tue, 5 Mar 2024 10:48:08 +0000 (11:48 +0100)]
* Copy type hierarchy representation to the info dir

* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/type_hierarchy.txt)
($(buildinfodir)/type_hierarchy.jpg): New targets.
($(buildinfodir)/elisp.info): Add dependecy.

(cherry picked from commit 3023976b484e52f756ac9fc4c87cc7c6c5192b05)

13 months agoAdapt tramp.texi
Michael Albinus [Tue, 5 Mar 2024 10:17:48 +0000 (11:17 +0100)]
Adapt tramp.texi

* doc/misc/tramp.texi (Quick Start Guide): Add androidsu.
(Inline methods): Make androidsu an own item.

(cherry picked from commit dcdb066025ca7ed813fa832bf931d411a9d109a0)

13 months agodisass.el (disassemble-1): Minor simplification
Stefan Monnier [Tue, 5 Mar 2024 04:42:50 +0000 (23:42 -0500)]
disass.el (disassemble-1): Minor simplification

* lisp/emacs-lisp/disass.el (disassemble-1): Remove code for functions
of the form (lambda ARGS (byte-code ...)) which we don't use any
more nowadays.

(cherry picked from commit 218748c26287ae865229fe8a3c520facfa12fede)

13 months agocl-preloaded.el: Further fine-tuning
Stefan Monnier [Tue, 5 Mar 2024 04:12:29 +0000 (23:12 -0500)]
cl-preloaded.el: Further fine-tuning

* lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type):
Fix some left over issues:
- Remove redundant `number-or-marker` from `marker`s parents.
- Add `function` to the types, since it was missing.
(cl--typeof-types): Add a warning for missing type info.

* admin/syncdoc-type-hierarchy.el (syncdoc-hierarchy): Fix parent of
`oclosure`.

* doc/lispref/type_hierarchy.txt:
* doc/lispref/type_hierarchy.jpg: Update.

(cherry picked from commit 418ad866bf846a6a3328d91df28c958be75337be)

13 months agoRearrange Android splash screen messages
Po Lu [Tue, 5 Mar 2024 03:23:27 +0000 (11:23 +0800)]
Rearrange Android splash screen messages

* lisp/startup.el (fancy-startup-tail, fancy-startup-screen)
(normal-splash-screen): Adjust for function renaming; move the
storage permissions notice to the top of the splash screen.

* lisp/term/android-win.el (android-after-splash-screen): Rename
from android-before-splash-screen and adjust layout lightly.

* src/android.c (android_wc_lookup_string): Terminate character
composition after a character is returned, whether it contain a
Unicode character or not.

(cherry picked from commit 1a35eb86b8cb75ce390525dd3394a52376b622a6)

13 months agosyncdoc-type-hierarchy.el: Adjust to changes in `cl-preloaded.el`
Stefan Monnier [Mon, 4 Mar 2024 18:24:34 +0000 (13:24 -0500)]
syncdoc-type-hierarchy.el: Adjust to changes in `cl-preloaded.el`

* admin/syncdoc-type-hierarchy.el (syncdoc-lispref-dir):
Use `macroexp-file-name`.
(syncdoc-hierarchy): New var.
(syncdoc-insert-dot-content, syncdoc-make-type-table): Use it.
(syncdoc-update-type-hierarchy): Don't crash if `dot` is absent.

(cherry picked from commit b06916cb218b133a4ebc9d7fa87b370fc2c2ed02)

13 months agoadmin/syncdoc-type-hierarchy.el: Move from `etc`
Stefan Monnier [Mon, 4 Mar 2024 17:02:45 +0000 (12:02 -0500)]
admin/syncdoc-type-hierarchy.el: Move from `etc`

AFAICT `admin` is where we keep these kinds of files.

(cherry picked from commit 167c17c1ad740b35ed1c875b57817784655851d9)

13 months agoRevert "Update some native comp tests"
Stefan Monnier [Mon, 4 Mar 2024 16:19:08 +0000 (11:19 -0500)]
Revert "Update some native comp tests"

This reverts commit 4a0d430bdc3650ca3dfd8bdd14781764fbcbdc7e.

AFAICT that commit was made to accomodate regressions introduced
in the new `cl-preloaded.el` code and these have been fixed.

(cherry picked from commit 94632c611e6ba5607a1039a8939d5ab173ee5bfb)

13 months agotramp-androidsu.el code cleanup
Michael Albinus [Mon, 4 Mar 2024 14:44:24 +0000 (15:44 +0100)]
tramp-androidsu.el code cleanup

* lisp/net/tramp-androidsu.el (tramp-androidsu-generate-wrapper):
Prefer #' notation for function names.
(tramp-androidsu-handle-copy-file)
(tramp-androidsu-handle-file-local-copy)
(tramp-androidsu-handle-make-symbolic-link)
(tramp-androidsu-handle-rename-file)
(tramp-androidsu-handle-write-region): Don't use a wrapper.
(tramp-adb-connection-local-default-ps-profile): Don't initialize,
this happens in tramp-db.el.

(cherry picked from commit 5b49a38d1b37707bbbc8c069ed20ce7cd18fb2ac)

13 months agoRevert "Replace XSETSYMBOL with make_lisp_symbol"
Mattias Engdegård [Mon, 4 Mar 2024 13:14:05 +0000 (14:14 +0100)]
Revert "Replace XSETSYMBOL with make_lisp_symbol"

This reverts commit de6b1e1efb1a36c69e7a6e09297e1de5b1477121.

While it did simplify code, there aren't much in the way of technical
benefits the change at this time, and there were protest against the
unwarranted style change.

(cherry picked from commit 11ffb4656d768b09e1f7dfacc091d85eef4a403a)

13 months agoRepair miscompilation of single-arg `apply` (bug#69533)
Mattias Engdegård [Mon, 4 Mar 2024 09:44:19 +0000 (10:44 +0100)]
Repair miscompilation of single-arg `apply` (bug#69533)

* lisp/emacs-lisp/byte-opt.el (byte-optimize-apply):
Don't optimise single-argument `apply`; it's a legacy construct.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.

(cherry picked from commit b9e8474a4470f71c30a4b89651fd3c5f2ef92ba2)

13 months ago; * lisp/vc/diff-mode.el (diff--refine-hunk): Escape literal `+`.
Mattias Engdegård [Sun, 3 Mar 2024 14:55:30 +0000 (15:55 +0100)]
; * lisp/vc/diff-mode.el (diff--refine-hunk): Escape literal `+`.

(cherry picked from commit 2c2a15bd171ecbf87fdac4405c7ea5f567fcf38a)

13 months ago; * etc/NEWS: add missing definite article
Mattias Engdegård [Tue, 27 Feb 2024 11:31:57 +0000 (12:31 +0100)]
; * etc/NEWS: add missing definite article

(cherry picked from commit 3b7cb55e5bec692fc1055e0b70a95afb4fac107f)

13 months agoAvoid crashes due to base-less indirect buffer
Eli Zaretskii [Mon, 4 Mar 2024 12:59:27 +0000 (14:59 +0200)]
Avoid crashes due to base-less indirect buffer

* src/buffer.c (Fkill_buffer): Prevent killing a buffer if its
indirect buffer refuses to be killed.  (Bug#69529)

(cherry picked from commit 0df3dc3d46fe7848aabb3ca5ff7085ca59799f43)

13 months agoFix 'set-window-configuration' and 'window-state-put'
Martin Rudalics [Mon, 4 Mar 2024 09:33:49 +0000 (10:33 +0100)]
Fix 'set-window-configuration' and 'window-state-put'

Fix some bugs with 'window-state-put' (Bug#69093).  Add new
hook 'window-kept-windows-functions' (Bug#68235).

* doc/lispref/windows.texi (Window Configurations): Mention
'window-kept-windows-functions'.
(Window Hooks): Describe new abnormal hook
'window-kept-windows-functions'.
* src/marker.c (Fmarker_last_position): New function to return
the last position of a marker even if its buffer is now dead.
* src/window.c (Fset_window_configuration): If
'window-kept-windows-functions' is non-nil, do not delete any
window whose buffer is now dead but remember all such windows in
a list to pass to 'window-kept-windows-functions'.  Run
'window-kept-windows-functions' if it is non-nil.
(Vwindow_kept_windows_functions): New abnormal hook run by
Fset_window_configuration and 'window-state-put' with two
arguments - the frame whose configuration is restored and a list
of entries for each window whose buffer was found dead during
restoration.  Each entry is a list of four elements, the window,
the dead buffer, and the last know positions of the start and
point of that window.
* lisp/window.el (window-state-put-kept-windows)
(window-state-put-selected-window): New variables.
(window--state-put-2): Make sure buffer is live before restoring
its state.  Set 'window-state-put-selected-window' to state's
selected window.  If 'window-kept-windows-functions' is non-nil,
do not delete any windows whose buffer is found dead but
remember all such windows in a list to pass to
'window-kept-windows-functions'.
(window-state-put): Run 'window-kept-windows-functions' if it is
non-nil.  Select window recorded in
'window-state-put-selected-window'.

(cherry picked from commit 912e37b811107768e0cb3bc95184177f817dbdb2)

13 months ago; Fix last major-mode-remap-defaults change.
Basil L. Contovounesios [Mon, 4 Mar 2024 06:19:22 +0000 (07:19 +0100)]
; Fix last major-mode-remap-defaults change.

(cherry picked from commit 6dacb60bb135dbb002c2ce1c70f70430c5d1bbff)

13 months ago(major-mode-remap(-defaults)): New var and function (bug#69191)
Stefan Monnier [Mon, 4 Mar 2024 04:08:16 +0000 (23:08 -0500)]
(major-mode-remap(-defaults)): New var and function (bug#69191)

While `major-mode-remap-alist` provides a way for users to indicate the
major mode of their choice, we need a similar variable for the
use of packages.

This patch adds a new `major-mode-remap-defaults` and changes various
packages to obey it or make use of it.
I think it nicely cleans the regexp duplication between CC-mode and
`c-ts-mode.el` and also makes it easier/cleaner for users to override
the changes made by `*-ts-mode.el`.

* lisp/files.el (major-mode-remap-defaults): New variable.
(major-mode-remap): New function.
(set-auto-mode-0): Use it.
* doc/lispref/modes.texi (Auto Major Mode): Document them.

* lisp/textmodes/tex-mode.el (tex--redirect-to-submode):
Use `major-mode-remap`.
(major-mode-remap-defaults): Set it to remap AUCTeX modes by default.
* lisp/progmodes/ruby-ts-mode.el (auto-mode-alist): Leave it alone.
(major-mode-remap-defaults): Set this one instead.
* lisp/progmodes/c-ts-mode.el (c-or-c++-ts-mode): Use `major-mode-remap`.
(auto-mode-alist): Leave it alone.
(major-mode-remap-defaults): Set this one instead.
* lisp/org/ox.el (org-export-to-buffer): Modernize docstring accordingly.
* lisp/progmodes/cc-mode.el (c-or-c++-mode):
* lisp/org/ox-latex.el (org-latex-export-as-latex):
* lisp/org/ox-koma-letter.el (org-koma-letter-export-as-latex):
* lisp/org/ox-beamer.el (org-beamer-export-as-latex):
Use `major-mode-remap` when available.

(cherry picked from commit 2b5d43081a30f816dd38a16c7b5bfbad712a779b)

13 months agoUpdate tramp-androidsu
Po Lu [Mon, 4 Mar 2024 03:21:53 +0000 (11:21 +0800)]
Update tramp-androidsu

* doc/misc/tramp.texi (Quick Start Guide): Remove documentation
pertaining to tramp-androidsu.el.
(Inline methods): Document it here instead.

* lisp/net/tramp-androidsu.el
(tramp-androidsu-mount-global-namespace)
(tramp-androidsu-remote-path, tramp-androidsu-local-shell-name)
(tramp-androidsu-local-tmp-directory, add-to-list)
(tramp-androidsu-maybe-open-connection)
(tramp-androidsu-handle-access-file)
(tramp-androidsu-handle-add-name-to-file)
(tramp-androidsu-handle-copy-directory)
(tramp-androidsu-sh-handle-copy-file)
(tramp-androidsu-handle-copy-file)
(tramp-androidsu-adb-handle-delete-directory)
(tramp-androidsu-handle-delete-directory)
(tramp-androidsu-adb-handle-delete-file)
(tramp-androidsu-handle-delete-file)
(tramp-androidsu-handle-directory-file-name)
(tramp-androidsu-handle-directory-files)
(tramp-androidsu-adb-handle-directory-files-and-attributes)
(tramp-androidsu-handle-directory-files-and-attributes)
(tramp-androidsu-handle-dired-uncache)
(tramp-androidsu-adb-handle-exec-path)
(tramp-androidsu-handle-exec-path)
(tramp-androidsu-handle-expand-file-name)
(tramp-androidsu-handle-file-accessible-directory-p)
(tramp-androidsu-adb-handle-file-attributes)
(tramp-androidsu-handle-file-attributes)
(tramp-androidsu-handle-file-directory-p)
(tramp-androidsu-handle-file-equal-p)
(tramp-androidsu-adb-handle-file-executable-p)
(tramp-androidsu-handle-file-executable-p)
(tramp-androidsu-adb-handle-file-exists-p)
(tramp-androidsu-handle-file-exists-p)
(tramp-androidsu-handle-file-group-gid)
(tramp-androidsu-handle-file-in-directory-p)
(tramp-androidsu-sh-handle-file-local-copy)
(tramp-androidsu-handle-file-local-copy)
(tramp-androidsu-handle-file-locked-p)
(tramp-androidsu-handle-file-modes)
(tramp-androidsu-adb-handle-file-name-all-completions)
(tramp-androidsu-handle-file-name-all-completions)
(tramp-androidsu-handle-file-name-as-directory)
(tramp-androidsu-handle-file-name-case-insensitive-p)
(tramp-androidsu-handle-file-name-completion)
(tramp-androidsu-handle-file-name-directory)
(tramp-androidsu-handle-file-name-nondirectory)
(tramp-androidsu-handle-file-newer-than-file-p)
(tramp-androidsu-handle-file-notify-add-watch)
(tramp-androidsu-handle-file-notify-rm-watch)
(tramp-androidsu-handle-file-notify-valid-p)
(tramp-androidsu-adb-handle-file-readable-p)
(tramp-androidsu-handle-file-readable-p)
(tramp-androidsu-handle-file-regular-p)
(tramp-androidsu-handle-file-remote-p)
(tramp-androidsu-handle-file-selinux-context)
(tramp-androidsu-handle-file-symlink-p)
(tramp-androidsu-adb-handle-file-system-info)
(tramp-androidsu-handle-file-system-info)
(tramp-androidsu-handle-file-truename)
(tramp-androidsu-handle-file-user-uid)
(tramp-androidsu-adb-handle-file-writable-p)
(tramp-androidsu-handle-file-writable-p)
(tramp-androidsu-handle-find-backup-file-name)
(tramp-androidsu-handle-insert-directory)
(tramp-androidsu-handle-insert-file-contents)
(tramp-androidsu-handle-list-system-processes)
(tramp-androidsu-handle-load, tramp-androidsu-handle-lock-file)
(tramp-androidsu-handle-make-auto-save-file-name)
(tramp-androidsu-adb-handle-make-directory)
(tramp-androidsu-handle-make-directory)
(tramp-androidsu-handle-make-lock-file-name)
(tramp-androidsu-handle-make-nearby-temp-file)
(tramp-androidsu-make-process)
(tramp-androidsu-sh-handle-make-symbolic-link)
(tramp-androidsu-handle-make-symbolic-link)
(tramp-androidsu-handle-memory-info)
(tramp-androidsu-handle-process-attributes)
(tramp-androidsu-adb-handle-process-file)
(tramp-androidsu-handle-process-file)
(tramp-androidsu-sh-handle-rename-file)
(tramp-androidsu-handle-rename-file)
(tramp-androidsu-adb-handle-set-file-modes)
(tramp-androidsu-handle-set-file-modes)
(tramp-androidsu-adb-handle-set-file-times)
(tramp-androidsu-handle-set-file-times)
(tramp-androidsu-handle-set-visited-file-modtime)
(tramp-androidsu-handle-shell-command)
(tramp-androidsu-handle-start-file-process)
(tramp-androidsu-handle-substitute-in-file-name)
(tramp-androidsu-handle-temporary-file-directory)
(tramp-androidsu-adb-handle-get-remote-gid)
(tramp-androidsu-handle-get-remote-gid)
(tramp-androidsu-adb-handle-get-remote-groups)
(tramp-androidsu-handle-get-remote-groups)
(tramp-androidsu-adb-handle-get-remote-uid)
(tramp-androidsu-handle-get-remote-uid)
(tramp-androidsu-handle-unlock-file)
(tramp-androidsu-handle-verify-visited-file-modtime)
(tramp-androidsu-sh-handle-write-region)
(tramp-androidsu-handle-write-region)
(tramp-androidsu-file-name-handler-alist): Make hard-coded
executable and file names defconsts, remove redundant wrapper
functions and remove names of wrapped functions from their
wrappers.

(cherry picked from commit f5c65dae099485f4df128b61d36ae9e5af8518a8)

13 months agoRevert "ox-texinfo:: Require only TEXINFO_DIR_CATEGORY"
Stefan Monnier [Mon, 4 Mar 2024 03:09:24 +0000 (22:09 -0500)]
Revert "ox-texinfo:: Require only TEXINFO_DIR_CATEGORY"

This reverts commit 5254c582efb3e7171e955dde653e7530d2d3ffef.

(cherry picked from commit 445f376e4e613ebee94d2844926269bfa8793858)

13 months agoRevert "Set org-macro-templates more lazily"
Stefan Monnier [Mon, 4 Mar 2024 03:09:19 +0000 (22:09 -0500)]
Revert "Set org-macro-templates more lazily"

This reverts commit 99483e214fdafa76e8001c7009dff13a76c33f32.

(cherry picked from commit 1a37fe3a66930bb8151a29c722dbe3bebc20d033)

13 months ago(cl--typeof-types): Rework to fix some regressions
Stefan Monnier [Sun, 3 Mar 2024 23:08:50 +0000 (18:08 -0500)]
(cl--typeof-types): Rework to fix some regressions

Initialize the variables directly in their declaration, so
there no time where they exist but aren't yet initialized.
This also allows us to mark `cl--typeof-types` as a `defconst` again.

More importantly, specify the DAG by direct supertypes rather
than direct subtypes.  This is slightly less compact, but it's
necessary to let us specify the *order* of the supertypes,
which is necessary for example to preserve the desired ordering
of methods when several methods can be applied.

Fix a few more regressions, such as removing `atom` from the parents
of `function` since some lists are considered as functions,
adding `number-or-marker` as supertype of `integer-or-marker`,
and re-adding `native-comp-unit`.

I carefully compared all elements of `cl--typeof-types` to make
sure they are the same as before (with one exception for `null`).

* lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy): Delete var.
(cl--direct-supertypes-of-type, cl--typeof-types):
Initialize directly in the declaration.
(cl--supertypes-lane, cl--supertypes-lanes-res): Delete vars.
(cl--supertypes-for-typeof-types-rec)
(cl--supertypes-for-typeof-types): Delete functions.

(cherry picked from commit 1d9d07fb00e6b62641c07af68f986e700b5f6cee)

13 months agoSet org-macro-templates more lazily
Stefan Monnier [Sat, 2 Mar 2024 20:23:17 +0000 (15:23 -0500)]
Set org-macro-templates more lazily

(cherry picked from commit 99483e214fdafa76e8001c7009dff13a76c33f32)

13 months agoox-texinfo:: Require only TEXINFO_DIR_CATEGORY
Stefan Monnier [Sat, 2 Mar 2024 19:48:29 +0000 (14:48 -0500)]
ox-texinfo:: Require only TEXINFO_DIR_CATEGORY

Until now @dircategory/@direntry entries were added only if
both TEXINFO_DIR_CATEGORY and TEXINFO_DIR_TITLE were set.
And the setting of TEXINFO_DIR_TITLE had to be careful to
provide exactly the right syntax.

This patch changes various things in this regard:
- Only require TEXINFO_DIR_CATEGORY in order to generate
  `@dircategory` and `@direntry`.
- Use the document title by default if TEXINFO_DIR_DESC is missing.
- Use the filename by default when TEXINFO_DIR_TITLE is missing.
- Try and make it harder to provide a direntry that does not
  have the right format or refers to a different filename than
  the one we're outputting to.

* lisp/org/ox-texinfo.el: Remove redundant `:group` arguments.
Prefer #' to quote function names.
(org-texinfo-template): Use sane defaults for `@direntry`.

* doc/misc/org.org (Texinfo specific export settings): Adjust accordingly.

(cherry picked from commit 5254c582efb3e7171e955dde653e7530d2d3ffef)

13 months ago* lisp/net/dictionary.el (dictionary-display-match-result): More fixes.
Juri Linkov [Sun, 3 Mar 2024 17:49:36 +0000 (19:49 +0200)]
* lisp/net/dictionary.el (dictionary-display-match-result): More fixes.

Remove 'dictionary-pre-buffer' that was moved to
'dictionary-new-matching' in the previous commit (bug#69312).

(cherry picked from commit db7b87867b3002d72444f06110e3625aa8de680e)

13 months ago; Fix some Tramp and minibuffer tests
Eshel Yaron [Sun, 3 Mar 2024 17:57:16 +0000 (18:57 +0100)]
; Fix some Tramp and minibuffer tests

13 months ago* lisp/net/dictionary.el (dictionary-new-matching): Add dictionary-pre-buffer.
Juri Linkov [Sun, 3 Mar 2024 16:58:47 +0000 (18:58 +0200)]
* lisp/net/dictionary.el (dictionary-new-matching): Add dictionary-pre-buffer.

This is necessary to prepare the dictionary buffer for further processing
that also includes setting buffer-read-only to nil to be able to insert text.
(bug#69312)

(cherry picked from commit 23c984a7dea950e15b969fe5b7ca0395315f207a)

13 months ago* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-62): Revert change.
Andrea Corallo [Sun, 3 Mar 2024 15:58:25 +0000 (16:58 +0100)]
* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-62): Revert change.

(cherry picked from commit f677b4499964c9449d760c4c6e60130b103ed5a8)

13 months ago* Fix 'cl--typeof-types' computation
Andrea Corallo [Sun, 3 Mar 2024 15:33:53 +0000 (16:33 +0100)]
* Fix 'cl--typeof-types' computation

* lisp/emacs-lisp/cl-preloaded.el (cl--supertypes-lane)
(cl--supertypes-lanes-res): Define vars.
(cl--supertypes-for-typeof-types-rec): Define function.
(cl--supertypes-for-typeof-types): Reimplement.

(cherry picked from commit 8d11b7e4275affdf66f28ec4a719fc8124252a3d)

13 months agoUse funcall on function values in gnus-agent.el
Eric Abrahamsen [Sun, 3 Mar 2024 02:07:36 +0000 (18:07 -0800)]
Use funcall on function values in gnus-agent.el

See bug#68931

* lisp/gnus/gnus-agent.el (gnus-category-make-function-1): Don't just
pass function values in to be byte compiled, wrap them in funcall first.

(cherry picked from commit 7f8717c6fd3e19b41048ce9a391d59540886cdee)

13 months ago* lisp/net/dictionary.el: Better handling of messages and errors.
Juri Linkov [Sat, 2 Mar 2024 17:31:07 +0000 (19:31 +0200)]
* lisp/net/dictionary.el: Better handling of messages and errors.

(dictionary-do-search, dictionary-do-matching): Insert formatted
messages to the top of the output buffer instead of displaying
transient messages in the echo area (bug#69312).
(dictionary-do-matching, dictionary-lookup-definition)
(dictionary-popup-matching-words): Use 'user-error'
instead of 'error' for non-technical errors.

(cherry picked from commit 5f543fb4b2f24639c7a6215991b14fca24daf194)

13 months ago* lisp/replace.el (perform-replace): Accept default bindings in lookup-key.
Juri Linkov [Sat, 2 Mar 2024 17:22:30 +0000 (19:22 +0200)]
* lisp/replace.el (perform-replace): Accept default bindings in lookup-key.

Set ACCEPT-DEFAULT arg of lookup-key to t (bug#69342).
This will allow the users to ignore unbound keys with
‘(define-key query-replace-map [t] 'ignore)’.

(cherry picked from commit ebab7276139888266ae0f27bd3b2874e2ed8c077)

13 months ago* lisp/buff-menu.el (Buffer-menu-marked-buffers): Add save-excursion.
Juri Linkov [Sat, 2 Mar 2024 17:15:14 +0000 (19:15 +0200)]
* lisp/buff-menu.el (Buffer-menu-marked-buffers): Add save-excursion.

(cherry picked from commit 7b4c4e68464272cc7941cb53b4421cf0e3d3c3cd)

13 months ago* doc/lispref/modes.texi (Tabulated List Mode): Unindent example.
Juri Linkov [Sat, 2 Mar 2024 17:12:29 +0000 (19:12 +0200)]
* doc/lispref/modes.texi (Tabulated List Mode): Unindent example.

(cherry picked from commit 51b560b45b0653e126d17cfe278aa46e6604c867)

13 months agoAdd new input method "english-colemak"
Yoshiku Onu [Thu, 29 Feb 2024 08:29:44 +0000 (13:29 +0500)]
Add new input method "english-colemak"

* lisp/leim/quail/latin-post.el ("english-colemak"): New input
method.  (Bug#69471)

* etc/NEWS: Announce it.

Copyright-paperwork-exempt: yes
(cherry picked from commit c3dc64a1071acc1f622094f91d8f046afedb7b45)

13 months ago* lisp/language/japanese.el (map): Fix typo (bug#69494).
Kazuhiro Ito [Fri, 1 Mar 2024 23:49:15 +0000 (08:49 +0900)]
* lisp/language/japanese.el (map): Fix typo (bug#69494).

(cherry picked from commit e581c111165c4d138b72b6493717ed22fcb68a8e)

13 months agoFix Japanese language environment on Cygwin and MS-Windows
Kazuhiro Ito [Fri, 1 Mar 2024 23:44:56 +0000 (08:44 +0900)]
Fix Japanese language environment on Cygwin and MS-Windows

* lisp/language/japan-util.el
(setup-japanese-environment-internal): Prefer UTF-8 for Cygwin and
other Posix hosts; prefer Codepage 932 on DOS/Windows.  (Bug#69493)

(cherry picked from commit f89cb6b63612a3dce113fa454fece82953fb5d5c)

13 months ago; * src/buffer.c (Fmake_indirect_buffer): Doc fix.
Eli Zaretskii [Fri, 1 Mar 2024 08:32:32 +0000 (10:32 +0200)]
; * src/buffer.c (Fmake_indirect_buffer): Doc fix.

(cherry picked from commit ae80192d97b8d0e54a9429091cd84190bdbeb49e)

13 months agoFix typos in vnvni.el.
Dan Jacobson [Fri, 1 Mar 2024 04:44:44 +0000 (12:44 +0800)]
Fix typos in vnvni.el.

* lisp/leim/quail/vnvni.el ("vietnamese-vni"): Fix typos.  (Bug#69485)

Copyright-paperwork-exempt: yes
(cherry picked from commit 2549eabc97f191ecea65d88d59cf21e5e0c81be8)

13 months ago; * lisp/vc/vc.el (vc-clone): Fix wording of doc string.
Eli Zaretskii [Tue, 27 Feb 2024 13:11:58 +0000 (15:11 +0200)]
; * lisp/vc/vc.el (vc-clone): Fix wording of doc string.

(cherry picked from commit 647cecc853e53a3be0bb2cf5328cd19e677217c9)

13 months agoAvoid assertion violations in bidi.c
Eli Zaretskii [Tue, 27 Feb 2024 11:12:15 +0000 (13:12 +0200)]
Avoid assertion violations in bidi.c

* src/bidi.c (bidi_resolve_brackets): Move assertion about
'resolved_level' to where it belongs.  This avoids unnecessary
aborts when the character is not a bracket type and doesn't need
BPA resolution.  (Bug#69421)

(cherry picked from commit 383ccf6d51fd7af65dbcc1ce159a03369a48d27f)

13 months ago* lisp/files.el (hack-one-local-variable): Use `set-auto-mode-0`
Stefan Monnier [Sun, 25 Feb 2024 16:35:44 +0000 (11:35 -0500)]
* lisp/files.el (hack-one-local-variable): Use `set-auto-mode-0`

This fixes bug#69373.

(cherry picked from commit b7cef701cb587ecb66f192e4d41aa202645560e0)

13 months agoFix infinite recursion in gdb-mi.el
Eli Zaretskii [Sat, 24 Feb 2024 13:12:57 +0000 (15:12 +0200)]
Fix infinite recursion in gdb-mi.el

* lisp/progmodes/gdb-mi.el: (gdb-clear-partial-output)
(gdb-clear-inferior-io):  Set inhibit-read-only, to avoid
signaling errors in process filter.  (Bug#69327)

(cherry picked from commit 0530800175913769cb55ae7997ee4487a755a0a4)

13 months agoAllow completion tables to designate normal/exceptional candidates
Eshel Yaron [Sun, 3 Mar 2024 15:57:26 +0000 (16:57 +0100)]
Allow completion tables to designate normal/exceptional candidates

Completion tables can now provide a "normal predicate" via the new
'normal-predicate' metadata entry.  The normal predicate determines
which candidates are normal and which are not.  Non-normal candidates
are called exceptional candidates, and, by default, they are excluded.
However, if all possible completions are exceptional, we make an
exception, and include exceptional completions, as they are all that
remains.

This generalizes and subsumes the existing mechanisms of
'completion-ignored-extensions' and the internal buffer-name filtering
that read-buffer performs.

We also provide a new minibuffer command 'C-x ~' to toggle inclusion of
exceptional candidates interactively during completion.  When
exceptional candidates are included among normal candidates, we
highlight the exceptions with a dedicated face.

13 months ago; Fix dictionary name completion annotations
Eshel Yaron [Sun, 3 Mar 2024 08:40:45 +0000 (09:40 +0100)]
; Fix dictionary name completion annotations

* lisp/net/dictionary.el (dictionary-dictionaries): Decode
server response as UTF-8.
(dictionary-completing-read-dictionary): Use 'string-width'
to calculate string width.

13 months agoDeprecate 'completion-regexp-list'
Eshel Yaron [Sat, 2 Mar 2024 10:53:15 +0000 (11:53 +0100)]
Deprecate 'completion-regexp-list'

This variable doesn't provide any distinct functionality,
because the completion predicate supports regular expression
matching as a special case.  It's also unused except for one
command, where it causes bugs (see Bug#69501).  All in all,
'completion-regexp-list' doesn't carry its own weight.

13 months agoImplement dead key combination on Android
Po Lu [Sat, 2 Mar 2024 06:04:56 +0000 (14:04 +0800)]
Implement dead key combination on Android

* src/android.c (android_init_key_character_map)
(android_get_dead_char): New functions.
(android_wc_lookup_string): New argument COMPOSE_STATE.  Ignore
key events with the COMBINING_ACCENT flag set while recording
their character values there, and combine such characters with
the key event when processing a subsequent key event.

* src/androidgui.h (struct android_compose_status): New
structure.

* src/androidterm.c (handle_one_android_event): Port dead key
combination code from X.  (bug#69321)

(cherry picked from commit 5e20b114ef32d504f4429fd35ecd0d5dcf3bd8db)

13 months ago* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Define as var.
Andrea Corallo [Fri, 1 Mar 2024 17:56:02 +0000 (18:56 +0100)]
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Define as var.

(cherry picked from commit 8b96503b6e8514f1f9f92895a0707c78b1bbd1fd)

13 months agoVerilog-mode update from upstream https://github.com/veripool/verilog-mode
Wilson Snyder [Fri, 1 Mar 2024 17:11:07 +0000 (12:11 -0500)]
Verilog-mode update from upstream https://github.com/veripool/verilog-mode

* lisp/progmodes/verilog-mode.el (verilog-auto-inst)
(verilog-auto-inst-param): Remove intended formfeeds.  Our ability to
detect unintended formfeeds elsewhere outweighs their limited utility here.
Contributed by Mattias Engdegård.
(verilog-at-constraint-p)
(verilog-at-struct-mv-p, verilog-at-struct-p, verilog-calc-1)
(verilog-in-case-region-p, verilog-in-fork-region-p)
(verilog-in-generate-region-p, verilog-set-auto-endcomments):
Fix indentation problem when there is a signal named "module_something"
(#1861).  Cleanup RexEx groupings.
(verilog-read-sub-decls-expr):
Fix apostrophe parser in AUTOWIRE (#1854) (#1855).
(verilog-auto-inst-port): Fix AUTOINST
multi-dimensional array [] substitution.  Reported by Caleb Begly.
(verilog-property-re, verilog-beg-of-statement, verilog-calc-1):
Concurrent SVA statement pattern-matching learns 'restrict property' and
'cover sequence' expression for proper indentation around those constructs. This
addresses more patterns in IEEE 1800-2017's 'concurrent_sasertion_statement'
grammar.
(verilog-read-sub-decls-line):
Fix `verilog-auto-ignore-concat' with parenthesis signals.
Reported by Dmitri Sorkin.
(verilog-simplify-range-expression): Fix
`verilog-auto-inst-param-value' confusing structure selects.
Reported by Mike Bertone.

(cherry picked from commit b2d18ff944ae374fa03579ca2574f1fba8ae2e4b)

13 months agoFix documentation of last change
Eli Zaretskii [Fri, 1 Mar 2024 08:52:50 +0000 (10:52 +0200)]
Fix documentation of last change

* doc/lispref/objects.texi (Type Hierarchy): Fix wording and
markup.
* doc/lispref/elisp.texi (Top): Add new node to @detailmenu.

(cherry picked from commit 31a4bec609578afd453caf232f78e275c3a075bc)

13 months ago* doc/lispref/objects.texi (Type Hierarchy): Small improvements
Andrea Corallo [Fri, 1 Mar 2024 08:27:22 +0000 (09:27 +0100)]
* doc/lispref/objects.texi (Type Hierarchy): Small improvements

(cherry picked from commit 4372a056fef90e5927d1a627fe0eb2bb01eb0dfb)

13 months ago* Fix compilation warning in 'cl--supertypes-for-typeof-types'
Andrea Corallo [Fri, 1 Mar 2024 08:16:38 +0000 (09:16 +0100)]
* Fix compilation warning in 'cl--supertypes-for-typeof-types'

* lisp/emacs-lisp/cl-preloaded.el (cl--supertypes-for-typeof-types): Fix
warning.

(cherry picked from commit 0567f3b817ba25c8e216347cc7118fa7786039d9)

13 months ago; Improve documentation of last changeset (bug#69305)
Eli Zaretskii [Thu, 29 Feb 2024 18:57:12 +0000 (20:57 +0200)]
; Improve documentation of last changeset (bug#69305)

* etc/NEWS (Example):
* doc/lispref/modes.texi (Tabulated List Mode): Improve
documentation of 'Buffer-menu-group-by' and
'tabulated-list-groups'.

* lisp/buff-menu.el (Buffer-menu-group-by): Doc fix.

(cherry picked from commit 4dd4f145b8528d5a742af4268073c24d629801d8)

13 months agoAdd tabulated-list-groups and Buffer-menu-group-by (bug#69305)
Juri Linkov [Thu, 29 Feb 2024 17:50:04 +0000 (19:50 +0200)]
Add tabulated-list-groups and Buffer-menu-group-by (bug#69305)

* doc/lispref/modes.texi (Tabulated List Mode):
Add defvar tabulated-list-groups.

* lisp/buff-menu.el (Buffer-menu-group-by): New defcustom.
(Buffer-menu-unmark-all-buffers): Use tabulated-list-get-entry
to check whether the current line contains an entry.
(list-buffers-noselect): Enable outline-minor-mode
for tabulated-list-groups.
(list-buffers--refresh): When Buffer-menu-group-by is non-nil,
set tabulated-list-groups.
(Buffer-menu-group-by-mode, Buffer-menu-group-by-root):
New functions.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups):
New buffer-local variable.
(tabulated-list-print-fake-header): Add distinct overlay
property 'fake-header'.
(tabulated-list-header-overlay-p): Filter out overlays that
don't have the property 'fake-header'.
(tabulated-list-print): Use the variable 'tabulated-list-groups'
to sort entries in groups separately.
(tabulated-list-print-entries): New function factored out from
'tabulated-list-print'.

* test/lisp/emacs-lisp/tabulated-list-tests.el (tabulated-list-groups):
New test.

(cherry picked from commit 8305d0e0c909a5dd91a21cc1daea6298aae9eda7)

13 months ago; Tweak recently-added NEWS entry.
Eli Zaretskii [Thu, 29 Feb 2024 16:25:12 +0000 (18:25 +0200)]
; Tweak recently-added NEWS entry.

(cherry picked from commit e18a6fbb44ac48998a1aebe25136a59e5a419b57)

13 months ago; Fix some wording in recent obarray changes.
Basil L. Contovounesios [Thu, 29 Feb 2024 15:21:05 +0000 (16:21 +0100)]
; Fix some wording in recent obarray changes.

(cherry picked from commit 093c2e1ab9db5e0309bf9bbb5deb9a7dcbad6267)

13 months agoImprove documentation of recent changes in comp-run.el
Eli Zaretskii [Thu, 29 Feb 2024 13:37:19 +0000 (15:37 +0200)]
Improve documentation of recent changes in comp-run.el

* lisp/emacs-lisp/comp-run.el
(native-comp-async-warnings-errors-kind): Rename from
'native-comp-async-report-warnings-errors-kind', and rename
'importants' to 'important'; all users changed.  Doc fix.

* etc/NEWS: Announce the new option.

(cherry picked from commit 39239982403f01a37d42d1cd8db0b2ed0b48b50c)

13 months ago* etc/TODO (Native compiler improvements): Remove an entry as completed.
Andrea Corallo [Thu, 29 Feb 2024 13:15:30 +0000 (14:15 +0100)]
* etc/TODO (Native compiler improvements): Remove an entry as completed.

(cherry picked from commit 62bdd307a7fd6c319529b7b20425b993a2945043)

13 months ago* Add 'native-comp-async-report-warnings-errors-kind'
Andrea Corallo [Thu, 29 Feb 2024 10:25:00 +0000 (11:25 +0100)]
* Add 'native-comp-async-report-warnings-errors-kind'

* lisp/emacs-lisp/comp-run.el (native-comp-async-report-warnings-errors-kind):
Add new customize.

(cherry picked from commit 8e5baaddec2d6a7f48ca0a08e0a95a51c6cbb151)

13 months ago* Improve 'native-comp-async-report-warnings-errors' tag
Andrea Corallo [Thu, 29 Feb 2024 10:04:07 +0000 (11:04 +0100)]
* Improve 'native-comp-async-report-warnings-errors' tag

* lisp/emacs-lisp/comp-run.el (native-comp-async-report-warnings-errors):
Improve tag.

(cherry picked from commit b8ba3cb7f00504ec58fda867a44631cc14b3343d)

13 months agoPacify more docstring control char warnings
Robert Pluim [Thu, 29 Feb 2024 08:29:04 +0000 (09:29 +0100)]
Pacify more docstring control char warnings

* lisp/org/org-macs.el (org-split-string): Escape control chars.
* lisp/org/ox-latex.el (org-latex-guess-babel-language): And here.

(cherry picked from commit 862dfef88d8e62d12bac3ca2e44e035a2ff5b298)

13 months agoFix subprocess creation in directories managed by tramp-androidsu
Po Lu [Thu, 29 Feb 2024 02:59:09 +0000 (10:59 +0800)]
Fix subprocess creation in directories managed by tramp-androidsu

* lisp/net/tramp-androidsu.el
(tramp-androidsu-maybe-open-connection): Set connection property
remote-namespace to t or nil subject to whether su runs in the
global mount namespace.
(tramp-androidsu-adb-handle-make-process): Delete function.
(tramp-androidsu-make-process): New function.
(tramp-androidsu-file-name-handler-alist): Switch to
tramp-androidsu-make-process.

(cherry picked from commit 15ed441fd53ddb476a2a21c8717697a74cf094e1)

13 months agoRun syncdoc-type-hierarchy.el to follow obarray type introduction
Andrea Corallo [Wed, 28 Feb 2024 19:48:49 +0000 (20:48 +0100)]
Run syncdoc-type-hierarchy.el to follow obarray type introduction

* doc/lispref/type_hierarchy.jpg: Update.
* doc/lispref/type_hierarchy.txt: Likewise.

(cherry picked from commit f8311e8b4491b5658b9d5d1bebad29478c7b95b7)

13 months ago* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add 'symbol-with-pos'.
Andrea Corallo [Wed, 28 Feb 2024 19:38:30 +0000 (20:38 +0100)]
* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add 'symbol-with-pos'.

(cherry picked from commit 05195e129fc933db32c9e08a155a94bfa4d75b54)

13 months ago* lisp/emacs-lisp/comp.el (comp-known-predicates): Add 'symbol-with-pos-p'.
Andrea Corallo [Wed, 28 Feb 2024 19:38:02 +0000 (20:38 +0100)]
* lisp/emacs-lisp/comp.el (comp-known-predicates): Add 'symbol-with-pos-p'.

(cherry picked from commit 91b90885aca17b5140b56fa3b5c4960baf8672a1)

13 months ago; * src/data.c (Ftype_of): Update comment.
Andrea Corallo [Tue, 27 Feb 2024 11:20:31 +0000 (12:20 +0100)]
; * src/data.c (Ftype_of): Update comment.

(cherry picked from commit 6de60f33ed5cc438e20400aee83e1e2032773811)

13 months ago* etc/syncdoc-type-hierarchy.el (syncdoc-lispref-dir): Clean-up.
Andrea Corallo [Mon, 19 Feb 2024 16:47:45 +0000 (17:47 +0100)]
* etc/syncdoc-type-hierarchy.el (syncdoc-lispref-dir): Clean-up.

(cherry picked from commit 6a2b43c5692e7427be0ddc6b084052f283b77d65)

13 months ago* etc/syncdoc-type-hierarchy.el: Update comment.
Andrea Corallo [Mon, 19 Feb 2024 16:42:14 +0000 (17:42 +0100)]
* etc/syncdoc-type-hierarchy.el: Update comment.

(cherry picked from commit afed7f959a39c077aba6dc585cdfc0edcf05ddc8)

13 months agoMake type hierarchy textual representation a table
Andrea Corallo [Mon, 19 Feb 2024 16:40:04 +0000 (17:40 +0100)]
Make type hierarchy textual representation a table

* etc/syncdoc-type-hierarchy.el (syncdoc-make-type-table): New function.
(syncdoc-update-type-hierarchy): Make use of.
* doc/lispref/type_hierarchy.txt: Regenerate.

(cherry picked from commit 0393bfdc912912e3368b786d062894f3069d210b)