]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 months ago; * etc/NEWS (Eshell): Fix example for restoring old history search.
Jim Porter [Wed, 18 Dec 2024 05:24:00 +0000 (21:24 -0800)]
; * etc/NEWS (Eshell): Fix example for restoring old history search.

(cherry picked from commit 43fcda0c8eafa2c7bfc0a416a48b223c6fec4d87)

2 months agoNew user option browse-url-transform-alist
Stefan Kangas [Wed, 18 Dec 2024 03:14:25 +0000 (04:14 +0100)]
New user option browse-url-transform-alist

* lisp/net/browse-url.el (browse-url-transform-alist): New user option.
(browse-url): Transform URL before loading if above new option is set.

(cherry picked from commit 14a3dd6a30f7a720f29d51f2df8f8ab8138989a0)

2 months agoMake font-lock face variables obsolete
Stefan Kangas [Wed, 18 Dec 2024 02:46:04 +0000 (03:46 +0100)]
Make font-lock face variables obsolete

Using these variables as "another mechanism for changing face
appearance" never really worked, since mode authors were free to use the
face instead of the variable (i.e. quoting the symbol).  This means that
when users customized the variables, it would change its appearance only
in some cases, which is a rather surprising interface.

Indeed, it turns out that some modes have not always been consistent,
and mixed using the variable and the face, increasing the confusion even
further.  Thus, the only thing users could rely on to always work was to
leave the variables at their default value, and to customize the face.

We now recommend customizing the face, and are obsoleting these
variables.  This will lead to some minor code-churn, but it is believed
that it will be ultimately worth it.  To fix existing Lisp code, you
should typically only need to quote the symbol, as this commit shows.

It might be the case that we will have to keep the obsolete variables,
that have been with us since Emacs 19, around for a longer time-period
than normal, to allow package authors to adapt.

* lisp/font-lock.el (font-lock-comment-face)
(font-lock-comment-delimiter-face, font-lock-string-face)
(font-lock-doc-face, font-lock-doc-markup-face, font-lock-keyword-face)
(font-lock-builtin-face, font-lock-function-name-face)
(font-lock-variable-name-face, font-lock-type-face)
(font-lock-constant-face, font-lock-warning-face)
(font-lock-negation-char-face, font-lock-preprocessor-face): Make face
variables obsolete in favor of customizing the faces directly
instead.  (Bug#71469)

* doc/lispref/modes.texi (Faces for Font Lock): Don't document above
obsolete variables.

* lisp/cedet/data-debug.el (data-debug-insert-hash-table)
(data-debug-insert-widget-properties, data-debug-insert-string)
(data-debug-insert-number):
* lisp/emacs-lisp/lisp-mode.el (elisp--font-lock-backslash)
(lisp-font-lock-syntactic-face-function):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/generic-x.el (rc-generic-mode, rul-generic-mode):
* lisp/org/org-table.el (org-table-edit-formulas):
* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes)
(c-maybe-font-lock-wrong-style-comments, c-font-lock-declarators)
(c-font-lock-c++-lambda-captures, c-font-lock-c++-modules):
* lisp/progmodes/cperl-mode.el (cperl-find-sub-attrs)
(cperl-look-at-leading-count, cperl-process-here-doc)
(cperl-find-pods-heres):
* lisp/progmodes/gdb-mi.el (gdb-init-1, gdb-update, gdb-running)
(gdb-starting, gdb-stopped, gdb-internals)
(gdb-breakpoints--add-breakpoint-row, gdb-locals-handler-custom)
(gdb-registers-handler-custom, gdb-get-source-file):
* lisp/progmodes/js.el (js--font-lock-keywords-1)
(js--font-lock-keywords-2, js-font-lock-syntactic-face-function):
* lisp/progmodes/lua-ts-mode.el (lua-ts--comment-font-lock):
* lisp/progmodes/meta-mode.el (meta-indent-in-string-p):
* lisp/progmodes/prolog.el (prolog-font-lock-keywords):
* lisp/progmodes/python.el (python-font-lock-syntactic-face-function):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--comment-font-lock):
* lisp/progmodes/sh-script.el (sh-font-lock-syntactic-face-function):
* lisp/textmodes/tex-mode.el (doctex-font-lock-syntactic-face-function):
* test/lisp/faces-tests.el (faces--test-color-at-point):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-extra-delimiters)
(cperl-test-bug-47112, cperl-test-bug-65834, cperl-test-bug-66145)
(cperl-test-bug-66161, cperl-test-bug-69604):
* test/lisp/progmodes/python-tests.el
(python-ts-mode-compound-keywords-face)
(python-ts-mode-named-assignment-face-1)
(python-ts-mode-assignment-face-2, python-ts-mode-nested-types-face-1)
(python-ts-mode-union-types-face-1, python-ts-mode-union-types-face-2)
(python-ts-mode-types-face-1, python-ts-mode-types-face-2)
(python-ts-mode-types-face-3, python-ts-mode-isinstance-type-face-1)
(python-ts-mode-isinstance-type-face-2)
(python-ts-mode-isinstance-type-face-3)
(python-ts-mode-superclass-type-face, python-ts-mode-class-patterns-face)
(python-ts-mode-dotted-decorator-face-1)
(python-ts-mode-dotted-decorator-face-2)
(python-ts-mode-builtin-call-face)
(python-ts-mode-interpolation-nested-string)
(python-ts-mode-level-fontification-wo-interpolation)
(python-ts-mode-disabled-string-interpolation)
(python-ts-mode-interpolation-doc-string):
* test/lisp/progmodes/ruby-mode-tests.el
(ruby-heredoc-font-lock, ruby-heredoc-highlights-interpolations)
(ruby-exit!-font-lock, ruby-regexp-interpolation-is-highlighted)
(ruby-recognize-symbols-starting-with-at-character)
(ruby-hash-character-not-interpolation)
(ruby-interpolation-suppresses-quotes-inside)
(ruby-interpolation-suppresses-one-double-quote)
(ruby-interpolation-inside-percent-literal)
(ruby-interpolation-inside-percent-literal-with-paren)
(ruby-interpolation-inside-another-interpolation)
(ruby-interpolation-inside-double-quoted-percent-literals)
(ruby-no-interpolation-in-single-quoted-literals):
Don't use above obsolete variables.
* lisp/progmodes/cc-fonts.el (font-lock-constant-face): Don't
declare now-unused variable.

(cherry picked from commit 3d3c1094604ceb6133a15226aec9b568f7923ee7)

2 months agoFix the DJGPP build
Po Lu [Wed, 18 Dec 2024 01:39:45 +0000 (09:39 +0800)]
Fix the DJGPP build

* msdos/sedlibmk.inp (LIB_SELINUX, USE_SELINUX_SELINUX_H):
Define to 0.

* src/conf_post.h (_GL_DIT_NOTDIR, ENOTSUP) [MSDOS]: Define to
appropriate values.

(cherry picked from commit 03249f78153a34aab70b30f23d26210c1e7ff2a3)

2 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Tue, 17 Dec 2024 22:02:41 +0000 (14:02 -0800)]
Update from Gnulib by running admin/merge-gnulib

* admin/merge-gnulib (AVOIDED_MODULES): Avoid gnulib-i18n.
* lib/stdlib.c, m4/selinux-selinux-h.m4:
New files, taken from Gnulib.

(cherry picked from commit b1e5f6d6ef8432a9cce0664238de72d387730bd1)

2 months ago* lisp/mail/sendmail.el (mail-citation-prefix-regexp): Fix bug#24081
Stefan Monnier [Tue, 17 Dec 2024 22:07:45 +0000 (17:07 -0500)]
* lisp/mail/sendmail.el (mail-citation-prefix-regexp): Fix bug#24081

(cherry picked from commit 22806c65f4f8d68547d33997d017039763b4bf6a)

2 months agoFix treesit-font-lock-level in python-ts-mode
Vincenzo Pupillo [Tue, 17 Dec 2024 11:14:29 +0000 (12:14 +0100)]
Fix treesit-font-lock-level in python-ts-mode

Now that 'treesit-font-lock-level' can be a number or a list, it
should be handled using 'treesit--compute-font-lock-level'.

* lisp/progmodes/python.el (python--treesit-fontify-string):
Apply 'treesit--compute-font-lock-level' to
'treesit-font-lock-level'.

(cherry picked from commit 78736420746e78445d4ff1889b56c85b66ca794e)

2 months agoRename the property 'repeat-continue-only' to 'repeat-continue'
Juri Linkov [Tue, 17 Dec 2024 18:58:09 +0000 (20:58 +0200)]
Rename the property 'repeat-continue-only' to 'repeat-continue'

* doc/lispref/keymaps.texi (Creating Keymaps):
* lisp/keymap.el (defvar-keymap):
* lisp/repeat.el (repeat-get-map, describe-repeat-maps):
* test/lisp/repeat-tests.el (repeat-tests-another-repeat-map)
(repeat-tests-repeat-map): Replace 'repeat-continue-only'
with 'repeat-continue' (bug#74140).

(cherry picked from commit 69facd33a80bee3f49b0518e75e8ec570978334c)

2 months agoDisplay commands with repeat-continue-only in describe-repeat-maps
Juri Linkov [Tue, 17 Dec 2024 18:51:03 +0000 (20:51 +0200)]
Display commands with repeat-continue-only in describe-repeat-maps

* lisp/repeat.el (describe-repeat-maps): Display commands with the
property 'repeat-continue-only' used to continue the currently
active repeat-map (bug#74140).  Also use 'cl--map-keymap-recursively'
instead of 'map-keymap' to find more deep keybindings.

(cherry picked from commit f025c9df48f8ad5f1cb13c9adac2fc1fbeb81b79)

2 months agoImprove support of property repeat-continue-only in repeat-mode (bug#74140)
Juri Linkov [Tue, 17 Dec 2024 18:45:42 +0000 (20:45 +0200)]
Improve support of property repeat-continue-only in repeat-mode (bug#74140)

* lisp/repeat.el (repeat-get-map): Add optional arg 'rep-map'.
Move the check for 'repeat-continue-only' from 'repeat-pre-hook'.
Improve its logic to check if the current map 'repeat-in-progress'
exists in the list from the 'repeat-continue-only' property.
(repeat-post-hook): Set 'repeat-in-progress' to the symbol
from the property 'repeat-map'.

* test/lisp/repeat-tests.el (repeat-tests-another-repeat-map):
Add new keymap to test multiple parallel repeat-maps.
(repeat-tests-continue-another): New test that uses commands
from 'repeat-tests-another-repeat-map' shared with
'repeat-tests-repeat-map'.

(cherry picked from commit 9232c985ef3d874755b0cbf4399fcc7077c308b5)

2 months ago; * lisp/frame.el (clone-frame): Doc fix (bug#74750).
Eli Zaretskii [Tue, 17 Dec 2024 11:59:08 +0000 (13:59 +0200)]
; * lisp/frame.el (clone-frame): Doc fix (bug#74750).

(cherry picked from commit 39a438d693daeb2e770f8a30c7a02e4039bf0036)

2 months ago; * etc/NEWS: Fix typo.
Pip Cet [Tue, 17 Dec 2024 09:11:49 +0000 (09:11 +0000)]
; * etc/NEWS: Fix typo.

(cherry picked from commit b8a7e2ef71b25a851437d41e16621a07da824758)

2 months ago; Skip commit cda77d9544a41845bf9408581c61da3823251e57
Eshel Yaron [Mon, 23 Dec 2024 15:11:14 +0000 (16:11 +0100)]
; Skip commit cda77d9544a41845bf9408581c61da3823251e57

2 months ago; Skip commit 2f4a7f5ec3c75641e2a3c66156c2783c5576b1d7
Eshel Yaron [Mon, 23 Dec 2024 15:11:11 +0000 (16:11 +0100)]
; Skip commit 2f4a7f5ec3c75641e2a3c66156c2783c5576b1d7

2 months agoMove NEWS items from unreleased 28.3 to released 29.1
Stefan Kangas [Tue, 17 Dec 2024 03:46:36 +0000 (04:46 +0100)]
Move NEWS items from unreleased 28.3 to released 29.1

* etc/NEWS.28: Remove empty sections for 28.3.
Move single pertinent item from here...
* etc/NEWS.29: ...to here.

(cherry picked from commit cde22c020119fd16ddd77c5c4121054c1a9424c5)

2 months agoImprove browse-url-android-share docstring
Stefan Kangas [Tue, 17 Dec 2024 03:38:18 +0000 (04:38 +0100)]
Improve browse-url-android-share docstring

* lisp/net/browse-url.el (browse-url-android-share): Clarify that
the option only applies to Android systems.

(cherry picked from commit 5686bb5b428c4a30a8b6d485f364adc7ccf31e73)

2 months agoMinor doc fix for url-handler-regexp
Stefan Kangas [Tue, 17 Dec 2024 02:10:42 +0000 (03:10 +0100)]
Minor doc fix for url-handler-regexp

* lisp/url/url-handlers.el (url-handler-regexp): Remove mention of
obsolete internal protocol "about" (i.e. url-about.el).  Reflow.

(cherry picked from commit 92041e15f4ad99ebebc40b082e40367a3aada7ba)

2 months agoDon't use obsolete lisp-complete-symbol in ses.el
Stefan Kangas [Tue, 17 Dec 2024 00:40:59 +0000 (01:40 +0100)]
Don't use obsolete lisp-complete-symbol in ses.el

* lisp/ses.el (ses-mode-edit-map): Replace obsolete function
lisp-complete-symbol with completion-at-point.

(cherry picked from commit 97ae8f684d93a7cf895ebf8d9aabb31697d968a8)

2 months agounintern: Drop support for obsolete calling convention
Stefan Kangas [Mon, 16 Dec 2024 22:58:34 +0000 (23:58 +0100)]
unintern: Drop support for obsolete calling convention

* lisp/subr.el (unintern):
* src/lread.c (Funintern): Drop support for old calling convention,
obsolete since 23.3.
* test/lisp/progmodes/elisp-mode-tests.el
(elisp-shorthand-escape): Don't use obsolete calling convention.

(cherry picked from commit 5a8adaeac81182f080b041a3a3840580c61213d2)

2 months agoall-completions: Drop support for obsolete calling convention
Stefan Kangas [Mon, 16 Dec 2024 21:21:37 +0000 (22:21 +0100)]
all-completions: Drop support for obsolete calling convention

* src/minibuf.c (Fall_completions):
* lisp/subr.el (all-completions): Drop support for old calling
convention, obsolete since 23.1.
* src/minibuf.c (Finternal_complete_buffer): Update caller.

(cherry picked from commit 80dc431b5a453c8200260969c8e2904e2d353b1e)

2 months agoImprove reb-change-syntax docstring
Stefan Kangas [Mon, 16 Dec 2024 21:17:36 +0000 (22:17 +0100)]
Improve reb-change-syntax docstring

* lisp/emacs-lisp/re-builder.el (reb-change-syntax): Improve docstring.

(cherry picked from commit 9fd96e2ab95d19bb7df7fb698a497d56f3cdb3af)

2 months ago* lisp/dired.el (dired-summary): Use substitute-command-keys.
Stefan Kangas [Mon, 16 Dec 2024 21:13:28 +0000 (22:13 +0100)]
* lisp/dired.el (dired-summary): Use substitute-command-keys.

(cherry picked from commit 16eb038d472b5765beb3b18e1058846efbdf97af)

2 months ago; Fix indentation problem
Stefan Kangas [Mon, 16 Dec 2024 21:06:35 +0000 (22:06 +0100)]
; Fix indentation problem

(cherry picked from commit 0d3cffe60c1e79cf2dfd2bb1a683a7f60ea6b779)

2 months agoIgnore some more Python tooling directories when grepping
Stefan Kangas [Mon, 16 Dec 2024 21:01:07 +0000 (22:01 +0100)]
Ignore some more Python tooling directories when grepping

* lisp/progmodes/python.el (python-base-mode): Add Pytest and Rope
cache directories to 'grep-find-ignored-directories'.

(cherry picked from commit 7c94898fa53d3605ba643df25206386de70ade61)

2 months agoMake VC exclude Repo directories
Stefan Kangas [Mon, 16 Dec 2024 20:58:56 +0000 (21:58 +0100)]
Make VC exclude Repo directories

* lisp/vc/vc-hooks.el (vc-directory-exclusion-list): Also ignore
".repo" directory created by Repo.
Ref: https://android.googlesource.com/tools/repo

(cherry picked from commit a07c89cf9b93ac78d55b528134c09c376afc58da)

2 months ago; Skip commit 02a1e3052b665b8d7d8ea122a6ecb6878c6cece0
Eshel Yaron [Mon, 23 Dec 2024 15:06:58 +0000 (16:06 +0100)]
; Skip commit 02a1e3052b665b8d7d8ea122a6ecb6878c6cece0

2 months agoUse substitute-command-keys in map-y-or-n-p
Stefan Kangas [Mon, 16 Dec 2024 20:46:12 +0000 (21:46 +0100)]
Use substitute-command-keys in map-y-or-n-p

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Use
substitute-command-keys.

(cherry picked from commit 5c1889c964c99fa3cb0cd91b7703d59bd9fcb495)

2 months agoBind inhibit-read-only to t in substitute-command-keys
Stefan Kangas [Mon, 16 Dec 2024 20:43:29 +0000 (21:43 +0100)]
Bind inhibit-read-only to t in substitute-command-keys

* lisp/help.el (substitute-command-keys): Bind inhibit-read-only to t,
to allow modifying strings that are intended for the minibuffer, and
therefore already use minibuffer-prompt-properties.

(cherry picked from commit 826b11ddc6c69a06fbed09519b78896085647af0)

2 months ago; * etc/NEWS: Add 'completion-table-with-metadata' to "Lisp Changes".
Juri Linkov [Mon, 16 Dec 2024 19:12:52 +0000 (21:12 +0200)]
; * etc/NEWS: Add 'completion-table-with-metadata' to "Lisp Changes".

(cherry picked from commit 78b50603a25d8eb366deab92ce1f475aef497a64)

2 months ago; Skip commit 3aceae113bc88e52bf1c791f9dadad749a66ab53
Eshel Yaron [Mon, 23 Dec 2024 15:06:06 +0000 (16:06 +0100)]
; Skip commit 3aceae113bc88e52bf1c791f9dadad749a66ab53

2 months ago* lisp/comint.el (comint-complete-input-ring): New command (bug#74694).
Juri Linkov [Mon, 16 Dec 2024 18:12:25 +0000 (20:12 +0200)]
* lisp/comint.el (comint-complete-input-ring): New command (bug#74694).

(comint-mode-map): Bind 'comint-complete-input-ring' to 'C-x <up>'.

(cherry picked from commit d2986e79b76d442f8620195a54120d8be3e4583c)

2 months agoSupport pixelwise frame cloning (Bug#74750)
Ship Mints [Mon, 16 Dec 2024 16:58:10 +0000 (17:58 +0100)]
Support pixelwise frame cloning (Bug#74750)

* lisp/frame.el (clone-frame): Honor 'frame-resize-pixelwise'
when cloning a frame's geometry via the 'text-pixels' feature of
'make-frame' (Bug#74750).  Correctly specify source frame in
'display-graphic-p' test for tty selection behavior.

(cherry picked from commit 61f1d7fc682c28b3e67a9d8f529ff7046dfdbff1)

2 months agoAdd Qutebrowser to list of choices in customize
john muhl [Sun, 15 Dec 2024 23:15:35 +0000 (17:15 -0600)]
Add Qutebrowser to list of choices in customize

* lisp/net/browse-url.el (browse-url--browser-defcustom-type):
Include 'browse-url-qutebrowser' so that it appears in the Choice
menus of 'browse-url-browser-function' and
'browse-url-secondary-browser-function'.  (Bug#74904)

(cherry picked from commit d5b23b219dc620bc23437158a769138e3b972ba6)

2 months agoDon't inhibit resizing when making a new frame (Bug#74750)
Martin Rudalics [Mon, 16 Dec 2024 15:36:59 +0000 (16:36 +0100)]
Don't inhibit resizing when making a new frame (Bug#74750)

* src/frame.h (struct frame): Remove inhibit_horizontal_resize
and inhibit_vertical_resize slots.
* src/frame.c (frame_inhibit_resize, make_frame)
(Fframe_after_make_frame, gui_figure_window_size): Remove all
operations on frame's inhibit_horizontal_resize and
inhibit_vertical_resize slots (Bug#74750).

(cherry picked from commit b5ba5cbacf2b8122d720f89dd93d36a5c0fd39ec)

2 months ago* lisp/files.el (trusted-content-p): Make `:all` work in non-file buffers
Stefan Monnier [Mon, 16 Dec 2024 14:27:01 +0000 (09:27 -0500)]
* lisp/files.el (trusted-content-p): Make `:all` work in non-file buffers

(cherry picked from commit b9dc337ea7416ee7ee4d873a91f6d6d9f109c04c)

2 months ago; * src/process.c (Fnetwork_interface_list): Fix typo.
Robert Pluim [Mon, 16 Dec 2024 12:35:28 +0000 (13:35 +0100)]
; * src/process.c (Fnetwork_interface_list): Fix typo.

(cherry picked from commit 4b685bc4fcd060aab287704c2b00ab9feac4abb3)

2 months ago; * lisp/net/nsm.el (nsm-trust-local-network): Fix typo.
Robert Pluim [Mon, 16 Dec 2024 12:25:24 +0000 (13:25 +0100)]
; * lisp/net/nsm.el (nsm-trust-local-network): Fix typo.

(cherry picked from commit c14c489571988f4fede84c69254804a89b314d26)

2 months ago; Add some tree-sitter thing content to the manual
Yuan Fu [Mon, 16 Dec 2024 05:40:49 +0000 (21:40 -0800)]
; Add some tree-sitter thing content to the manual

* doc/lispref/parsing.texi (User-defined Things): List "builtin"
things.

(cherry picked from commit 10f976300d03a8cb9a12a5d2548d1b275ac3edcc)

2 months agoInvert preprocessor condition to fix 'C-x 4 a'
Stefan Kangas [Mon, 16 Dec 2024 02:26:48 +0000 (03:26 +0100)]
Invert preprocessor condition to fix 'C-x 4 a'

Typing 'C-x 4 a' in the main function now correctly adds 'main' to the
generated ChangeLog, whereas before it added 'andreid_emacs_init'.
Inverting the preprocessor condition seems like an easier fix than
changing the add-change-log-entry-other-window heuristic.

* src/emacs.c (main): Invert preprocessor condition to appease the
'add-change-log-entry-other-window' heuristic.

(cherry picked from commit eaf5bf736e1dd5eb977a16a3f1b3dfd3da3c4612)

2 months agoPrefer defvar-keymap in info.el
Stefan Kangas [Sun, 15 Dec 2024 23:18:18 +0000 (00:18 +0100)]
Prefer defvar-keymap in info.el

* lisp/info.el (Info-mode-line-node-keymap, Info-link-keymap):
Convert to defvar-keymap.

(cherry picked from commit 29058579e9f27872d47e9d5146dfd9ce79697a0d)

2 months agoMove pure+side-effect-free declarations to byte-opt.el
Stefan Kangas [Sun, 15 Dec 2024 23:01:43 +0000 (00:01 +0100)]
Move pure+side-effect-free declarations to byte-opt.el

* src/json.c (syms_of_json): Move pure and side-effect-free declarations
for json-serialize and json-parse-string from here...
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns, pure-fns):
...to here.

(cherry picked from commit bef0d80be88906b66dec06970d7782f0f7b219c0)

2 months ago; Skip commit 465544eb556777f16415c10e7607f7b72ec5a2b5
Eshel Yaron [Mon, 23 Dec 2024 15:01:06 +0000 (16:01 +0100)]
; Skip commit 465544eb556777f16415c10e7607f7b72ec5a2b5

2 months ago* lisp/org/ox-texinfo.el (org-texinfo-template): Fix Info format (bug#74844)
Stefan Monnier [Sun, 15 Dec 2024 22:08:25 +0000 (17:08 -0500)]
* lisp/org/ox-texinfo.el (org-texinfo-template): Fix Info format (bug#74844)

(cherry picked from commit 55303a6bc0a06d32ec757b6291d40e8f28565946)

2 months agotrusted-content: Adjust the last patch based on preliminary feedback
Stefan Monnier [Sun, 15 Dec 2024 22:05:55 +0000 (17:05 -0500)]
trusted-content: Adjust the last patch based on preliminary feedback

* lisp/files.el (trusted-content): Rename from `trusted-files`.
Update all references.

* lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/simple.el (read--expression): Set `trusted-content` since
these buffers contain code that the user presumably intends to run anyway.
(elisp--safe-macroexpand-all): Make the warning more discreet.

(cherry picked from commit 8b6c6cffd1f772301e89353de5e057835af18a30)

2 months agoimage-dired: Don't croak on file names with regexp characters
Vitaliy Chepelev [Tue, 24 Sep 2024 04:25:13 +0000 (04:25 +0000)]
image-dired: Don't croak on file names with regexp characters

* lisp/image/image-dired-dired.el (image-dired-mark-tagged-files):
* lisp/image/image-dired-tags.el (image-dired-get-comment)
(image-dired-write-comments, image-dired-list-tags)
(image-dired-remove-tag, image-dired-write-tags): Quote file name
for search-forward-regexp.  (Bug#73445)

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

2 months ago; * lisp/widget.el: Delete commented out code.
Stefan Kangas [Sun, 15 Dec 2024 18:15:55 +0000 (19:15 +0100)]
; * lisp/widget.el: Delete commented out code.

(cherry picked from commit 32060cef1cb58e53896f4fea82d2d30d35501d93)

2 months ago; Skip commit 69b16e5c63840479270d32f58daea923fe725b90
Eshel Yaron [Mon, 23 Dec 2024 14:57:54 +0000 (15:57 +0100)]
; Skip commit 69b16e5c63840479270d32f58daea923fe725b90

2 months ago; * doc/lispref/frames.texi (Multiple Terminals): Add indexing.
Eli Zaretskii [Sun, 15 Dec 2024 07:45:58 +0000 (09:45 +0200)]
; * doc/lispref/frames.texi (Multiple Terminals): Add indexing.

(cherry picked from commit 5c6dbc65f3642b98d3e1ff3a901c1580353783df)

2 months agoUpdate documentation of 'etags' regexps some more
Paul Eggert [Sun, 15 Dec 2024 07:16:10 +0000 (00:16 -0700)]
Update documentation of 'etags' regexps some more

* doc/emacs/maintaining.texi (Etags Regexps):
* doc/man/etags.1: Give more details about what's not supported.

(cherry picked from commit 856a58e28279139cfd6503917954fd75fcdd7e78)

2 months agoUpdate documentation of 'etags' regexps
Eli Zaretskii [Sun, 15 Dec 2024 05:52:40 +0000 (07:52 +0200)]
Update documentation of 'etags' regexps

* doc/emacs/maintaining.texi (Etags Regexps):
* doc/man/etags.1: Say that shy groups are not supported (bug#74861).

(cherry picked from commit 4c68846223b91e50e4a15fbc59d2238605ce2a57)

2 months agoelisp-mode.el: Disable Flymake byte-compile backend in untrusted files
Stefan Monnier [Tue, 10 Dec 2024 21:26:31 +0000 (16:26 -0500)]
elisp-mode.el: Disable Flymake byte-compile backend in untrusted files

To address serious security issues (CVE-2024-53920), disable
`elisp-flymake-byte-compile` except in those files explicitly
specified as "trusted".

For that introduce a new custom var `trusted-files` and new
function `trusted-content-p`.

While at it, similarly skip the implicit macroexpansion done during
completion if the current file is not trusted.

* lisp/files.el (trusted-files): New variable.
(trusted-content-p): New function.

* lisp/progmodes/elisp-mode.el (elisp--safe-macroexpand-all):
New function, extracted from `elisp--local-variables`.
Use `trusted-content-p`.
(elisp--local-variables): Use it.
(elisp-flymake-byte-compile): Disable according to `trusted-content-p`.

(cherry picked from commit b5158bd191422e46273c4d9412f2bf097e2da2e0)

2 months agoSignal errors for unimplemented features
Gerd Möllmann [Thu, 12 Dec 2024 07:00:44 +0000 (08:00 +0100)]
Signal errors for unimplemented features

* src/frame.c (make_terminal_frame): Error for minibuffer-only frames.
* src/term.c (Ftty_frame_restack): Signal error.

(cherry picked from commit 6fa2050ee7663441e4d0aa4fff974cc5d45bffc7)

2 months ago* lisp/tty-tip.el (tty-tip--create-frame): Use tooltip-hide-delay
Gerd Möllmann [Sun, 8 Dec 2024 07:56:22 +0000 (08:56 +0100)]
* lisp/tty-tip.el (tty-tip--create-frame): Use tooltip-hide-delay

(cherry picked from commit b67feec95e8f7526fecab0bb10f91233ba06fef8)

2 months agoPrevent too early hiding of tty tips
Gerd Möllmann [Sun, 8 Dec 2024 05:54:47 +0000 (06:54 +0100)]
Prevent too early hiding of tty tips

* lisp/tty-tip.el (tty-tip--show-timer): Renamed from
tty-tip--timeout-id.
(tty-tip--hide-timer): New variable.
(tty-tip--delete-frame): Cancel hide timer if set.
(tty-tip--create-frame): Use run-with-timer instead of run-at-time
for consistency.

(cherry picked from commit d22882e418eb100423c53d90cca257bb0c197b86)

2 months agoConsider all windows for redisplay if frames have been cleared
Gerd Möllmann [Mon, 18 Nov 2024 15:50:51 +0000 (16:50 +0100)]
Consider all windows for redisplay if frames have been cleared

* src/xdisp.c (clear_garbaged_frames): Return true if any tty frame's
current matrix has been cleared.
(redisplay_internal): Consider all windows if clear_garbaged_frames
returns true.

(cherry picked from commit 196c761c66d47ff6a93d9134ca73d1c08a9125db)

2 months ago* src/xdisp.c (redisplay_internal): Use assq_no_quit.
Gerd Möllmann [Mon, 18 Nov 2024 07:21:22 +0000 (08:21 +0100)]
* src/xdisp.c (redisplay_internal): Use assq_no_quit.

(cherry picked from commit 7608563d3b274d805111827a39cc73aaa147eaa1)

2 months agoRevert "Don't pause display for pending input"
Gerd Möllmann [Sat, 16 Nov 2024 12:52:17 +0000 (13:52 +0100)]
Revert "Don't pause display for pending input"

This reverts commit f62d70f52f4f6b7ed158d618bf790df21f171172.

(cherry picked from commit e7359fbbc40bbf714fb5b4bffc256b455fbe9a6c)

2 months agoRevert "Remove an unused parameter"
Gerd Möllmann [Sat, 16 Nov 2024 12:51:50 +0000 (13:51 +0100)]
Revert "Remove an unused parameter"

This reverts commit 627cbf05b53756883a789ff45727acf23f5066a4.

(cherry picked from commit e5a2bc740dc43de63acb6e9603ad1905fac1e2c6)

2 months agoRemove an unused parameter
Gerd Möllmann [Sat, 16 Nov 2024 07:57:35 +0000 (08:57 +0100)]
Remove an unused parameter

* src/dispnew.c (combine_updates): Remove unused parameter inhibit_scrolling.
* src/xdisp.c (redisplay_internal): Adjust caller.
* src/dispextern.h: Change function prototype.

(cherry picked from commit 627cbf05b53756883a789ff45727acf23f5066a4)

2 months agoDon't pause display for pending input
Gerd Möllmann [Fri, 15 Nov 2024 12:34:55 +0000 (13:34 +0100)]
Don't pause display for pending input

* src/dispnew.c: Remove display_completed, redisplay_dont_pause,
redisplay-dont-pause was declared obsolete in Emacs 24.  Remove anything
checking pending input, change function signatures accordingly, and so
on.

* src/keyboard.c (read_char): Don't use redisplay_dont_pause.
* src/minibuf.c (read_minibuf): Use new function signatures.
* src/xdisp.c: Don't check display_completed. Use new API.

* lisp/subr.el (redisplay-dont-pause): Remove declaration.

(cherry picked from commit f62d70f52f4f6b7ed158d618bf790df21f171172)

2 months agoRespect redisplay_dont_pause in combined update
Gerd Möllmann [Fri, 15 Nov 2024 07:15:10 +0000 (08:15 +0100)]
Respect redisplay_dont_pause in combined update

* src/dispnew.c (combine_updates): Respect redisplay_dont_pause. This is
important for echo_area_display which binds that variable.

(cherry picked from commit 4da9abe653fe536afc67fe5e175227eac10e31cc)

2 months agoFix a FIXME In redisplay_internal
Gerd Möllmann [Tue, 12 Nov 2024 08:23:27 +0000 (09:23 +0100)]
Fix a FIXME In redisplay_internal

* src/xdisp.c (redisplay_internal): Compare root frames before
setting the frame garbaged.

(cherry picked from commit 37cdf2897ad51f45a228c86f5f12feeb284673df)

2 months agoChange interface of prepare_desired_root_row
Gerd Möllmann [Sun, 10 Nov 2024 15:19:40 +0000 (16:19 +0100)]
Change interface of prepare_desired_root_row

* src/dispnew.c (prepare_desired_root_row): Return NULL if we can't
prepare the row.
(produce_box_line, copy_child_glyphs): Callers changed accordingly.

(cherry picked from commit 437ccbe612b377fd5ac492572702978ec75ea0df)

2 months agoAnother case of copying from non-enabled glyphs (bug#74274)
Gerd Möllmann [Sun, 10 Nov 2024 15:18:29 +0000 (16:18 +0100)]
Another case of copying from non-enabled glyphs (bug#74274)

* src/dispnew.c (build_frame_matrix_from_leaf_window): If current window
row is not enabled, don't copy from it.

(cherry picked from commit 582ebedd33ed957b9ad409e35ed7ba9dafa42c01)

2 months ago; * src/dispnew.c (prepare_desired_root_row): Add commentary (bug#74274).
Eli Zaretskii [Sat, 9 Nov 2024 12:07:09 +0000 (14:07 +0200)]
; * src/dispnew.c (prepare_desired_root_row): Add commentary (bug#74274).

(cherry picked from commit aa8bebf9b3eff9e53eeb1dc1a91fcc9ee5ee1095)

2 months agoDon't copy from non-enabled current glyphs (bug#74274)
Gerd Möllmann [Sat, 9 Nov 2024 07:26:06 +0000 (08:26 +0100)]
Don't copy from non-enabled current glyphs (bug#74274)

* src/dispnew.c (prepare_desired_root_row): Check if current row is
enabled.

(cherry picked from commit 8fa26765c0dcedcadf884195189e337cb9778cb8)

2 months agoFix hiding tips from pre-command-hook
Gerd Möllmann [Wed, 6 Nov 2024 13:55:59 +0000 (14:55 +0100)]
Fix hiding tips from pre-command-hook

* lisp/tty-tip.el (tty-tip-mode): Put #'tty-tip--hide on the
pre-command-hook.

(cherry picked from commit 6cd7ce7cf2a36a790c7e1e0a5496c35fc9d56495)

2 months agoRevert "Mark atimer allocation as ambiguous root"
Gerd Möllmann [Wed, 6 Nov 2024 13:34:47 +0000 (14:34 +0100)]
Revert "Mark atimer allocation as ambiguous root"

This reverts commit c42b90b21a4efb3c5a8ebc6e3bd6be2908d1f2ac.

(cherry picked from commit cc3c05cad9ef42cd7b0231efdbdba228aa06de92)

2 months agoMark atimer allocation as ambiguous root
Jeff Walsh [Tue, 5 Nov 2024 12:09:56 +0000 (23:09 +1100)]
Mark atimer allocation as ambiguous root

* src/atimer.c (start_atimer): Time could be passed a lisp object for
data, we should allocate this as an ambiguous root

(cherry picked from commit c42b90b21a4efb3c5a8ebc6e3bd6be2908d1f2ac)

2 months agoRemove tip in pre-command-hook
Gerd Möllmann [Wed, 6 Nov 2024 10:42:53 +0000 (11:42 +0100)]
Remove tip in pre-command-hook

* lisp/tty-tip.el (tty-tip-mode): install pre-command-hook that deleted
the tip frame.

(cherry picked from commit 907c735402dd26e721ca8534df1e326fc53a3012)

2 months agoLet tty tips disappear automatically
Gerd Möllmann [Wed, 6 Nov 2024 09:22:50 +0000 (10:22 +0100)]
Let tty tips disappear automatically

* lisp/tty-tip.el (tty-tip--create-frame): Delete tip frame after
x-show-tooltip-timeout seconds.

(cherry picked from commit e0bfd3ce23eafb13ab0400f3046074b83784d9f8)

2 months agoAdd tty-tip.el, not tooltips, but very close
Gerd Möllmann [Wed, 6 Nov 2024 04:48:46 +0000 (05:48 +0100)]
Add tty-tip.el, not tooltips, but very close

(cherry picked from commit d27fc61755d8dd4a65db6291f1c83492003b30b1)

2 months ago* src/dispnew.c (neutralize_wide_char): Don't use used[0]
Gerd Möllmann [Tue, 5 Nov 2024 19:10:38 +0000 (20:10 +0100)]
* src/dispnew.c (neutralize_wide_char): Don't use used[0]

(cherry picked from commit 908a18c463bf7d2da3c39ea6141cab68fd7eac30)

2 months agoTTY menus: handle saved state referencing dead frames
Gerd Möllmann [Tue, 5 Nov 2024 09:26:36 +0000 (10:26 +0100)]
TTY menus: handle saved state referencing dead frames

* src/term.c (restore_desired_matrix): If a tty menu saves a current
matrix that contains glyphs from a child frame, handle the case that
that child frame dies before the saved state is restored.

(cherry picked from commit 56efab930b5c129aa9c87f99f657b7d704c6d5f9)

2 months agoDon't copy non-enabled rows from child
Gerd Möllmann [Tue, 5 Nov 2024 09:25:22 +0000 (10:25 +0100)]
Don't copy non-enabled rows from child

* src/dispnew.c (copy_child_glyphs): Check if child row is enabled.

(cherry picked from commit 56708ea676e0fdfaeec36607333bb2955ec3b40e)

2 months ago* src/frame.c (make_terminal_frame): Check parent is live.
Gerd Möllmann [Tue, 5 Nov 2024 09:24:31 +0000 (10:24 +0100)]
* src/frame.c (make_terminal_frame): Check parent is live.

(cherry picked from commit 33f1ab5034c7a5a9333ab6ead01f14a0f91c5f97)

2 months agoFix mouse-position for xterm-mouse-mode
Gerd Möllmann [Thu, 31 Oct 2024 20:16:13 +0000 (21:16 +0100)]
Fix mouse-position for xterm-mouse-mode

* lisp/xt-mouse.el (xterm-mouse-position-function): Return the frame
recorded in the terminal parameter xterm-mouse-frame.

(cherry picked from commit e2323775246c6f09b2d7fb82f8888ebe8f317b0e)

2 months ago; Skip commit dfb7f1942659cab4464e01f7e498efc4b269de3e
Eshel Yaron [Mon, 23 Dec 2024 14:53:58 +0000 (15:53 +0100)]
; Skip commit dfb7f1942659cab4464e01f7e498efc4b269de3e

2 months agoRemove unneeded workaround from w32console.c
Eli Zaretskii [Mon, 28 Oct 2024 13:43:08 +0000 (15:43 +0200)]
Remove unneeded workaround from w32console.c

* src/w32console.c (w32con_write_glyphs): Remove unneeded test.
(w32con_clear_end_of_line): Fill in the glyph.frame member.

(cherry picked from commit 7aa00fa90d6eb9347034106da10cdbbdc23b3d3a)

2 months agoDon't work around a corner case once observed
Gerd Möllmann [Sun, 27 Oct 2024 11:05:58 +0000 (12:05 +0100)]
Don't work around a corner case once observed

* src/term.c (tty_write_glyphs): Refactor a bit. Don't check for null
glyph frame.

(cherry picked from commit d3f8ed730fa10d7283c6638dc4cc20cabbe4f4bf)

2 months agoTemporary fix for mouse events on child frames
Eli Zaretskii [Sat, 26 Oct 2024 12:31:42 +0000 (15:31 +0300)]
Temporary fix for mouse events on child frames

* src/w32inevt.c (do_mouse_event): Ignore mouse events when the
selected frame is a child frame.

(cherry picked from commit d7bf2cfd5d5713c9a9014807567e3f7e723280cf)

2 months ago* src/w32console.c (w32con_update_end): Fix cursor display.
Eli Zaretskii [Sat, 26 Oct 2024 12:19:53 +0000 (15:19 +0300)]
* src/w32console.c (w32con_update_end): Fix cursor display.

(cherry picked from commit a3e41874c1b3d75d18dab9e20e0f183a3086fea4)

2 months agoFix dimensions of child frames on w32 console
Eli Zaretskii [Sat, 26 Oct 2024 11:26:02 +0000 (14:26 +0300)]
Fix dimensions of child frames on w32 console

* src/w32inevt.c (maybe_generate_resize_event): Don't generate
resize events for child frames.

(cherry picked from commit 0d6a014750c63a9a9d6e5bcc195e80bf58dfa276)

2 months agoMore fixes for w32 console build
Eli Zaretskii [Sat, 26 Oct 2024 09:14:21 +0000 (12:14 +0300)]
More fixes for w32 console build

* src/w32term.c (w32_read_socket): Don't use FRAME_OBSCURED_P,
which was removed.
* src/frame.h (struct frame): Move !HAVE_NTGUI to its original
place.
* src/treesit.c (treesit_load_language): Shut up GCC warning.

(cherry picked from commit 4cb7f3935e2b600d23ae78bde2ce54a8a320e08b)

2 months agoAdapt w32 console to tty-child-frame changes
Eli Zaretskii [Sat, 26 Oct 2024 08:18:41 +0000 (11:18 +0300)]
Adapt w32 console to tty-child-frame changes

* src/w32console.c (w32con_write_glyphs): Use the glyph's frame,
not the root frame, to resolve faces from face IDs.

(cherry picked from commit 33586db3d34bcbe6441d98542df2b3370a1e2622)

2 months agoHandle obscured cursor differently
Gerd Möllmann [Wed, 23 Oct 2024 10:59:09 +0000 (12:59 +0200)]
Handle obscured cursor differently

This also fixes an error made when porting this to savannah.

* src/dispnew.c (abs_cursor_pos, (is_cursor_obscured)
(terminal_cursor_magic): Port correctly and fix.

(cherry picked from commit 9b8d1e0addeca9b508324537e7743d0af508a630)

2 months agoDeal with wide characters
Gerd Möllmann [Wed, 23 Oct 2024 07:55:26 +0000 (09:55 +0200)]
Deal with wide characters

* src/dispnew.c (make_glyph_space): New function.
(neutralize_wide_char): New function.
(produce_box_sides, copy_child_glyphs): Call neutralize_wide_char.

(cherry picked from commit d1fd1d8fba8a6cfe774f6982bb6ad6c874d0c960)

2 months agoFix copy/paste error
Gerd Möllmann [Wed, 23 Oct 2024 05:51:12 +0000 (07:51 +0200)]
Fix copy/paste error

* src/dispnew.c (produce_box_glyphs): DonÄt set multibyte_p twice, set
padding_p.

(cherry picked from commit 40aa1e329b637e42fc945cba6213b4e7b4a5d60f)

2 months agoFix UB in line_hash_code
Paul Eggert [Tue, 22 Oct 2024 19:18:14 +0000 (12:18 -0700)]
Fix UB in line_hash_code

* src/dispnew.c (line_hash_code): Avoid undefined behavior on
integer overflow.

(cherry picked from commit dac51f1f66ef93cec6d9ea17e74a193de9ae1ff3)

2 months agoSome cleanup of frame_parm_table
Gerd Möllmann [Wed, 23 Oct 2024 03:01:51 +0000 (05:01 +0200)]
Some cleanup of frame_parm_table

* src/frame.c (frame_parms): Use built-in symbols for all entries.
(syms_of_frame): Check that entries are valid built-in symbols.

(cherry picked from commit 5cc5fa79bfdf0f905723e592baa41c3f0b12316d)

2 months ago; Clarify a comment in dispnew.c
Eli Zaretskii [Tue, 22 Oct 2024 14:33:45 +0000 (10:33 -0400)]
; Clarify a comment in dispnew.c

(cherry picked from commit 4182dfb7e844bcc7148a3d7f1084cef6982b36d9)

2 months ago* src/term.c (tty_display_dimension): Avoid warnings.
Eli Zaretskii [Tue, 22 Oct 2024 10:19:12 +0000 (06:19 -0400)]
* src/term.c (tty_display_dimension): Avoid warnings.

(cherry picked from commit 560260a631489576e99caedda3233670f2fcd66c)

2 months agoFix commenting conventions.
Eli Zaretskii [Tue, 22 Oct 2024 09:42:05 +0000 (05:42 -0400)]
Fix commenting conventions.

(cherry picked from commit 4ef5ade5da60075418e0f6db1b91ec08a38bb884)

2 months agoFix compilation warnings
Eli Zaretskii [Tue, 22 Oct 2024 08:56:19 +0000 (04:56 -0400)]
Fix compilation warnings

* src/frame.c (tty_child_size_param):
* src/frame.h (MOUSE_HL_INFO): Avoid NULL dereference warnings.

(cherry picked from commit 9accfc24bcd82087d936cf7ee37470f86cac8ea7)

2 months agoDon't ignore .patch files
Gerd Möllmann [Mon, 21 Oct 2024 16:50:26 +0000 (18:50 +0200)]
Don't ignore .patch files

This is VERY bad for magit users like me.

(cherry picked from commit 55af24a1c29724401d66ddd485cf6e4776fe5050)

2 months agoComment
Gerd Möllmann [Mon, 21 Oct 2024 13:42:03 +0000 (15:42 +0200)]
Comment

(cherry picked from commit fbe63a33f1a0a0df2700245c4cd44cc446ac986e)

2 months agoComment
Gerd Möllmann [Mon, 21 Oct 2024 13:40:15 +0000 (15:40 +0200)]
Comment

(cherry picked from commit 4a3ba42e6f86fa85b457bdeba9e08ccb4219107d)

2 months agoDon't set internal_last_event_frame to nil
Gerd Möllmann [Mon, 21 Oct 2024 09:21:17 +0000 (11:21 +0200)]
Don't set internal_last_event_frame to nil

* src/frame.c (do_switch_frame): Do not set internal_last_event_frame to
nil on ttys.

(cherry picked from commit 0012e555d963b1df2d2c8be9f515ddf09417e110)

2 months agoMinor refactoring
Gerd Möllmann [Fri, 18 Oct 2024 14:21:46 +0000 (16:21 +0200)]
Minor refactoring

(cherry picked from commit 6aa203bb04fa75e7562064e9261d7760c1b6562a)

2 months agoAccept frame param width/height of 0
Gerd Möllmann [Fri, 18 Oct 2024 13:25:10 +0000 (15:25 +0200)]
Accept frame param width/height of 0

* src/frame.c (tty_child_size_param): Accept values of 0.

(cherry picked from commit 23409041b135d7b89dcb010a7f22ce9c817d8c76)