shipmints [Thu, 13 Feb 2025 13:10:45 +0000 (08:10 -0500)]
Inhibit "Wrote" message in saveplace.el when non-interactive
* lisp/saveplace.el (save-place-alist-to-file): Tell 'write-region'
to be quiet when called non-interactively. This is in harmony with
'savehist-save'. (Bug#76267)
(cherry picked from commit
8f45cbdee45317faa978732fa5311c3c056b559f)
Visuwesh [Thu, 13 Feb 2025 11:13:06 +0000 (16:43 +0530)]
Make yank-media auto select the best mime type
* lisp/yank-media.el (yank-media-preferred-types): Add new
variable that holds the list of mime types in order of their
preference.
(yank-media-autoselect-function): Add new variable and function
to choose the most preferred media type.
(yank-media): Make 'yank-media' choose the most preferred mime
type by default.
* doc/emacs/killing.texi (Clipboard):
* doc/lispref/frames.texi (Yanking Media): Document the new
behaviour, and the new variables.
* etc/NEWS: Announce the change. (Bug#75116)
(cherry picked from commit
0ee50a3420fb8df8f3477dac610dcd53c633fff5)
Mauro Aranda [Thu, 6 Feb 2025 11:01:08 +0000 (08:01 -0300)]
Speed up widget creation (Bug#53606)
* lisp/wid-edit.el (widget-default-create, widget-checklist-add-item)
(widget-radio-add-item, widget-editable-list-entry-create): Don't
insert format escapes into the buffer, only to delete them after.
This avoids calls to delete-char and makes widget creation about 3
times faster.
(cherry picked from commit
3e269371507ea4cd7e933e39320d258a3b98de44)
Eli Zaretskii [Sat, 22 Feb 2025 07:16:05 +0000 (09:16 +0200)]
; * INSTALL.REPO: Minor copyedits.
(cherry picked from commit
443df12eddc66f4e2dbb14113b868f12419508bc)
Stefan Kangas [Sat, 22 Feb 2025 03:21:10 +0000 (04:21 +0100)]
* admin/check-doc-strings: Reduce false positives.
(cherry picked from commit
79ab873b9b679ec0aedb03ce246035d8e5d4b09c)
F. Jason Park [Sat, 15 Feb 2025 02:57:41 +0000 (18:57 -0800)]
Use .pem extension for client certs in ERC docs
* doc/misc/erc.texi (Connecting): Change file-name extensions to .pem in
all examples, and explain that the key and the cert can be combined into
one file.
(SASL): Use .pem extension for certs.
* lisp/erc/erc.el (erc--warn-once-before-connect): Revise doc.
(erc-tls): Use .pem extension for certs. (Bug#76278)
(cherry picked from commit
1f60f86af5edba45a7d59f45ca174f6c288dde3f)
F. Jason Park [Wed, 19 Feb 2025 03:20:45 +0000 (19:20 -0800)]
Don't kill window buffer in erc--split-line
* lisp/erc/erc-backend.el (erc--split-line): Restore original window
buffer before killing temp buffer. (Bug#76404)
(cherry picked from commit
1270e6aec5ff4b6f420d132a2249bb94095a3f11)
Stefan Kangas [Fri, 21 Feb 2025 17:48:12 +0000 (18:48 +0100)]
Delete note on Emacs 19 modes from comint.el
* lisp/comint.el: Delete note on how to convert pre-Emacs 20 modes to
use comint.el. Emacs 20 was released in 1997, so it's safe to assume
that any relevant code has been updated in the last three decades.
(cherry picked from commit
4ece0e2e46b1eeb315b9ebcdcee09679319128f9)
Jostein Kjønigsen [Fri, 21 Feb 2025 14:09:26 +0000 (15:09 +0100)]
Fix identation in csharp-mode.el
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--indent-rules): Fix
indentation for using statements and multiline lambdas. (Bug#75883)
Patch based on bug report by Dino Chiesa <dpchiesa@hotmail.com>.
(cherry picked from commit
ecddc8227d9be8283d9bb47639a61c888a036896)
Stefan Kangas [Fri, 21 Feb 2025 16:40:12 +0000 (17:40 +0100)]
New user option checkdoc-allow-quoting-nil-and-t
* lisp/emacs-lisp/checkdoc.el (checkdoc-allow-quoting-nil-and-t):
New user option that allows turning off the warning for having nil
and t in quotes.
(checkdoc-this-string-valid-engine): Use above new option.
(cherry picked from commit
8d4feb214b7eb802fec34269de11d30b9382cd83)
Stefan Kangas [Thu, 20 Feb 2025 13:06:46 +0000 (14:06 +0100)]
; Delete superfluous comment
(cherry picked from commit
e7a35dac2fbe5777df531690c770b99e5f7561bb)
Stefan Kangas [Thu, 20 Feb 2025 03:11:23 +0000 (04:11 +0100)]
Prefer defvar-keymap in admin/gitmerge.el
* admin/gitmerge.el (gitmerge-mode-map): Prefer defvar-keymap.
(cherry picked from commit
3c93085650762c04ae3988dedc6b872b7f217143)
Eshel Yaron [Sun, 23 Feb 2025 08:07:58 +0000 (09:07 +0100)]
Michael Albinus [Fri, 21 Feb 2025 13:47:15 +0000 (14:47 +0100)]
Use a persistent directory as default directory in diff
* lisp/vc/diff.el (diff-no-select): Use `temporary-file-directory'
as default directory. Set default file permissions temporarily to
#o600. (Bug#69606)
(cherry picked from commit
ae439cc1b9f428a8247548f4ef3b992608a3c09b)
Ulrich Müller [Fri, 21 Feb 2025 11:13:20 +0000 (12:13 +0100)]
; Don't fail image tests if jpeg is supported via imagemagick
* test/lisp/image-tests.el (image-supported-file-p/optional):
Consider also the imagemagick case. (Bug#76465)
(cherry picked from commit
76b938fc1d24b9dcc0c50db1dc520fbdacc19a16)
Ulrich Müller [Fri, 21 Feb 2025 08:15:50 +0000 (09:15 +0100)]
; Skip autorevert test when notify support is missing
* test/lisp/autorevert-tests.el
(auto-revert-test07-auto-revert-several-buffers): Skip if file
notification support is not available. (Bug#76459)
(cherry picked from commit
f8ff9592be9181465740ee98b71513cdbcafc35f)
Ulrich Müller [Fri, 21 Feb 2025 09:36:52 +0000 (10:36 +0100)]
; Skip shr-test/zoom-image test if png or libxml support is missing
* test/lisp/net/shr-tests.el (shr-test/zoom-image): Skip if png
images or libxml are not supported. (Bug#76464)
(cherry picked from commit
230ecb1e273e3fec6400cfad76e9b13f648d9055)
Ulrich Müller [Fri, 21 Feb 2025 08:58:16 +0000 (09:58 +0100)]
; Skip image type test if support is missing
* test/lisp/image-tests.el (image-type-from-file-name): Skip if
image types are not available. (Bug#76462)
(cherry picked from commit
cc51bd569874cd89a7fa1c3241033e69a5c2dd01)
Juri Linkov [Fri, 21 Feb 2025 07:55:54 +0000 (09:55 +0200)]
New variable 'treesit-aggregated-outline-predicate' (bug#76398)
* doc/lispref/modes.texi (Outline Minor Mode):
Add 'treesit-aggregated-outline-predicate'.
* lisp/treesit.el (treesit-aggregated-outline-predicate):
New buffer-local variable.
(treesit-outline--at-point):
Use 'treesit-aggregated-outline-predicate'.
(treesit-closest-parser-boundary): New function.
(treesit-outline-search): Use 'treesit-aggregated-outline-predicate'
and 'treesit-closest-parser-boundary'.
(treesit-outline-level): Use 'treesit-aggregated-outline-predicate'.
(treesit-major-mode-setup): Add 'treesit-aggregated-outline-predicate'.
* lisp/textmodes/html-ts-mode.el (html-ts-mode--outline-predicate):
Improve.
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode):
Set 'treesit-aggregated-outline-predicate'.
(cherry picked from commit
840be8a7d8e7db8ad7f186678226ac51712724ab)
Po Lu [Fri, 21 Feb 2025 05:29:40 +0000 (13:29 +0800)]
* configure.ac (BOBJECTLIST_OWNERSHIP_IS_TEMPLATE_PARAMETER): Correct test.
(cherry picked from commit
f3212fa420c17710a160bc8e762e6e19871f10a3)
Po Lu [Fri, 21 Feb 2025 05:28:52 +0000 (13:28 +0800)]
Fix reported Haiku build error in emacs-30.1-rc1
* src/haiku_support.cc (keysym_from_raw_char): Don't define
duplicate cases on the previous release.
(cherry picked from commit
25ba2536091dea39c690169784fa9771296eefec)
Philip Kaludercic [Fri, 8 Mar 2024 15:32:00 +0000 (16:32 +0100)]
Have 'submit-emacs-patch' insert maintainers into X-Debbugs-Cc
* lisp/mail/emacsbug.el (submit-emacs-patch): Go through all files
mentioned in the diff and check for maintainers.
(submit-emacs-patch-excluded-maintainers): Add constant. (Bug#69646)
(cherry picked from commit
4411d0de1d5cbf308440982084ad7e15a18efaf2)
Eshel Yaron [Sun, 23 Feb 2025 08:06:05 +0000 (09:06 +0100)]
Eshel Yaron [Sun, 23 Feb 2025 08:05:24 +0000 (09:05 +0100)]
Eshel Yaron [Sun, 23 Feb 2025 08:05:21 +0000 (09:05 +0100)]
Eshel Yaron [Sun, 23 Feb 2025 08:05:17 +0000 (09:05 +0100)]
Eshel Yaron [Sun, 23 Feb 2025 08:05:02 +0000 (09:05 +0100)]
Eshel Yaron [Sun, 23 Feb 2025 08:03:51 +0000 (09:03 +0100)]
Few new elisp-mode commands
Eshel Yaron [Sun, 23 Feb 2025 08:00:54 +0000 (09:00 +0100)]
scope.el: Improve seq-let handling
Eshel Yaron [Fri, 21 Feb 2025 17:31:10 +0000 (18:31 +0100)]
Better help-echo for condition symbols
Eshel Yaron [Fri, 21 Feb 2025 17:30:55 +0000 (18:30 +0100)]
Make 'electric-pair-mode' buffer-local
Eshel Yaron [Thu, 20 Feb 2025 21:44:44 +0000 (22:44 +0100)]
Mattias Engdegård [Wed, 19 Feb 2025 18:57:16 +0000 (19:57 +0100)]
* src/fns.c (Fmapconcat): Faster fast-path condition
(cherry picked from commit
b481fbe92f793bae2ccd9d2d4efdaf0549390a41)
Paul Eggert [Thu, 20 Feb 2025 17:42:33 +0000 (09:42 -0800)]
; Spelling fix in comment.
(cherry picked from commit
241e8e5fcf8b4624dc39890a8749f7574a8a6398)
Eshel Yaron [Thu, 20 Feb 2025 21:44:13 +0000 (22:44 +0100)]
Po Lu [Thu, 20 Feb 2025 12:36:47 +0000 (20:36 +0800)]
Fix signal when first enabling Custom-mode on non-GUI builds
* lisp/cus-edit.el (Custom-mode): Define tool-bar-map if not
bound and elaborate why this must be arranged.
(cherry picked from commit
afd088bd608c0c27f676bbc34a5d596df3db14a1)
Po Lu [Thu, 20 Feb 2025 11:46:40 +0000 (19:46 +0800)]
Fix set-time-zone-rule on DJGPP
* lisp/loadup.el ("tooltip"): Load even on MS-DOS.
* src/timefns.c (tzvalbuf): Don't define on MS-DOS.
(emacs_getenv_TZ, emacs_setenv_TZ) [MSDOS]: Call getenv and
putenv rather than overwrite existing environment storage to
update DJGPP's environment modification counter.
(cherry picked from commit
1c49cfc711c61e683bda8d5b2546b586e5168706)
Po Lu [Thu, 20 Feb 2025 06:27:03 +0000 (14:27 +0800)]
; * src/pdumper.c (Fdump_emacs_portable): Fix typo in comment.
(cherry picked from commit
b65971b2c06d34c268b2b0280056e478dbc31586)
Eshel Yaron [Thu, 20 Feb 2025 21:43:39 +0000 (22:43 +0100)]
Po Lu [Thu, 20 Feb 2025 06:04:59 +0000 (14:04 +0800)]
Port to modern GCC and pdumper on MS-DOS
* config.bat (mvOk): Protoize.
(djgppOk): Include sys/version.h for _DJGPP_MINOR.
* lisp/loadup.el: If system-type is ms-dos, dump bootstrap-emacs
as b-emacs.dmp.
* msdos/INSTALL: Document new versions of tools that have been
verified successfully to compile Emacs.
* msdos/emacs.djl: New linker script that arranges to link
symbols in `.subrs' in a contiguous part of data, as the DJGPP
runtime appears to treat any non-data and non-text section as
allocatable.
* msdos/mainmake.v2 (install): Install emacs.dmp alongside
emacs.exe.
* msdos/sed1v2.inp (CFLAGS): Define to -O2 -g3.
(LDFLAGS): Provide the said linker script.
(HAVE_PDUMPER): Define to yes.
(UNEXEC_OBJ, PAXCTL_dumped, PAXCTL_notdumped): Delete.
(DUMPING): Set to pdumper.
(MAKE_PDUMPER_FINGERPRINT): Don't erase this variable.
Don't stubify or set minstack. Remove native-comp specific
directives. Don't remove temacs prior to copying and replace
`pdmp' extension with DOS-conformant `dmp'.
* msdos/sed2v2.inp (HAVE_UNEXEC): Remove definition.
(HAVE_PDUMPER): Define to 1.
* msdos/sed6.inp (top_srcdir): Define appropriately.
* msdos/sedlibmk.inp (HAVE_BLKCNT_T): Define to 1.
* src/emacs.c (load_pdump) [MSDOS]: Use `dmp' suffix.
* src/pdumper.c (Fdump_emacs_portable) [MSDOS]: Replace ".pdmp"
suffixes with ".dmp".
(cherry picked from commit
c22957c4bf7dd25857a44946169c4818996a49d9)
Stefan Kangas [Wed, 19 Feb 2025 22:36:07 +0000 (23:36 +0100)]
Prefer defvar-keymap in conf-mode.el
* lisp/textmodes/conf-mode.el (conf-mode-map): Prefer defvar-keymap.
(cherry picked from commit
89f9377139c336dd646335352b0c7480c7e19c4a)
Michael Albinus [Wed, 19 Feb 2025 18:38:25 +0000 (19:38 +0100)]
Simplify Tramp's find-executable
* lisp/net/tramp-cache.el (with-tramp-saved-connection-property):
Fix typo.
* lisp/net/tramp-compat.el: Add TODO.
* lisp/net/tramp-sh.el (tramp-find-executable): Simplify, using
"type -P ...".
(tramp-set-remote-path): Better handling of superlong $PATH.
(tramp-get-remote-path): Adapt/use connection properties.
* test/lisp/net/tramp-tests.el (tramp--test-enabled)
(tramp-test03-file-name-host-rules): Don't wrap
`tramp-cleanup-connection' with `ignore-errors'.
(cherry picked from commit
ec34bccfee68a521e7a98ce8dce9325a146d095b)
Po Lu [Wed, 19 Feb 2025 12:40:12 +0000 (20:40 +0800)]
Fix remaining Android bugs reported over the past months
* java/org/gnu/emacs/EmacsActivity.java (attachWindow):
Guarantee that child windows promoted to toplevels receive
layout parameters that direct them to receive their parents'
dimensions. Otherwise, the size of the window as a child is
retained on Huawei HarmonyOS 4.2 and possibly other Android
distributions.
* java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
Run anchor updates on the UI thread, as
`InputMethodManager#updateCursorAnchorInfo' is liable to call
`View#requestLayout'.
* java/org/gnu/emacs/EmacsView.java (onMeasure): Always call
`measureChildren', or child frames' onLayout handlers might not
be invoked after they request a layout cycle and are duly
processed in `onLayout'.
(swapBuffers): Delete erroneous commentary.
* java/org/gnu/emacs/EmacsWindow.java (viewLayout): If
overrideRedirect, don't inadvertently clear rect.left and
rect.top by recording the window's WM window-relative position.
Fix typos.
(reparentTo): Invalidate focus after transferring frame.
(translateCoordinates): Account for override-redirect windows.
Mostly important for mouse-drag-and-drop-region.
(cherry picked from commit
ded77feffface0c167edacf0d807273f3d4878db)
Jared Finder [Wed, 19 Feb 2025 07:41:44 +0000 (09:41 +0200)]
* lisp/subr.el (read-key): Add 'tab-line' (bug#76408).
(cherry picked from commit
0c8abe8bb5072c46a93585cb325c249f85f3d9c2)
Gerd Möllmann [Wed, 19 Feb 2025 07:33:32 +0000 (08:33 +0100)]
Don't call x-popup-function for non-tty frames
* src/menu.c (x_popup_menu_1): Don't call x-popup-function for non-tty
frames
(syms_of_menu): Remove Qx_popup_menu_function because unused, extend doc
string of x-popup-menu-function.
(cherry picked from commit
23bf94a0111474419ca84145c8ede95c6915bd35)
Po Lu [Wed, 19 Feb 2025 07:34:51 +0000 (15:34 +0800)]
Properly move existing tooltips on Android
* java/org/gnu/emacs/EmacsWindow.java (requestViewLayout): If an
override redirect window, additionally notify the window manager
of layout changes.
(cherry picked from commit
e97be722d392056b6ef9e47664273ee2ca7df374)
Eshel Yaron [Thu, 20 Feb 2025 21:43:06 +0000 (22:43 +0100)]
Gerd Möllmann [Wed, 19 Feb 2025 07:05:56 +0000 (08:05 +0100)]
Handle nil top frame (bug#76410)
* src/frame.c (do_switch_frame): Don't assume that top_frame is always a
frame, it can be nil.
(cherry picked from commit
1194ebe3a71f97b0ce7c8dcc4edaf7b0f81fdc6f)
Stefan Monnier [Wed, 19 Feb 2025 03:27:08 +0000 (22:27 -0500)]
(json-pretty-print): Rework a bit
* lisp/json.el (json-pretty-print): Call 'replace-buffer-contents'
separately for each json object rather than once at the end, so
its work is easier. Use 'json--print' rather than 'json-encode' so as
to avoid creating yet more temp buffers.
(cherry picked from commit
9143c18ae4752cef8465579dcd713db2032ab045)
Eshel Yaron [Thu, 20 Feb 2025 21:42:44 +0000 (22:42 +0100)]
Po Lu [Wed, 19 Feb 2025 02:13:00 +0000 (10:13 +0800)]
Don't insist on the presence of a mouse in strokes-mode
* lisp/strokes.el (strokes-mode): Don't test `display-mouse-p',
as the presence of a mouse may vary over the course of an Emacs
session.
(cherry picked from commit
d05894f82d90c6d739aa3d424651fda2c86f68ec)
Eshel Yaron [Thu, 20 Feb 2025 21:42:37 +0000 (22:42 +0100)]
Eshel Yaron [Thu, 20 Feb 2025 21:42:16 +0000 (22:42 +0100)]
Stefan Kangas [Tue, 18 Feb 2025 21:29:40 +0000 (22:29 +0100)]
Make cl-locally obsolete
* doc/misc/cl.texi (Declarations): Don't document cl-locally.
* lisp/emacs-lisp/cl-macs.el (cl-locally): Make into obsolete
function alias for progn.
(cherry picked from commit
4c4f907bad1ad616dda6e5f5eec0b78ebea9f1c4)
Eshel Yaron [Thu, 20 Feb 2025 21:42:09 +0000 (22:42 +0100)]
Eshel Yaron [Thu, 20 Feb 2025 21:42:05 +0000 (22:42 +0100)]
Stefan Kangas [Mon, 27 Jan 2025 05:46:01 +0000 (06:46 +0100)]
; Fix typos
(cherry picked from commit
be7625cae7303a3c9adc810a23c15e8d9c07eebe)
Eshel Yaron [Thu, 20 Feb 2025 21:41:37 +0000 (22:41 +0100)]
Eshel Yaron [Thu, 20 Feb 2025 21:41:31 +0000 (22:41 +0100)]
Eshel Yaron [Thu, 20 Feb 2025 20:58:10 +0000 (21:58 +0100)]
Use 'compf' in a few more places.
Eshel Yaron [Thu, 20 Feb 2025 20:57:45 +0000 (21:57 +0100)]
(compf): Add Edebug spec
Eshel Yaron [Thu, 20 Feb 2025 20:57:25 +0000 (21:57 +0100)]
* lisp/textmodes/markdown-ts-mode.el: Cleanup.
Eshel Yaron [Thu, 20 Feb 2025 13:01:10 +0000 (14:01 +0100)]
Fix 'called-interactively-p'
Eshel Yaron [Wed, 19 Feb 2025 15:47:16 +0000 (16:47 +0100)]
New macro 'compf'
Stefan Kangas [Tue, 18 Feb 2025 20:52:33 +0000 (21:52 +0100)]
; Fix copyright year in last commit
(cherry picked from commit
ef34303eaf98e0a8a041c741715c741f0a01fd77)
Rahul Martim Juliato [Sat, 20 Apr 2024 02:21:20 +0000 (23:21 -0300)]
Add markdown-ts-mode
* lisp/textmodes/markdown-ts-mode.el: New file.
Ref: https://lists.gnu.org/r/emacs-devel/2024-06/msg01061.html
(cherry picked from commit
a102dcebb7d10275cc3818f47cd042ddd27868ff)
Stefan Monnier [Tue, 18 Feb 2025 20:37:50 +0000 (15:37 -0500)]
(lexical-binding): Allow changing the default value (bug#74145)
* lisp/loadup.el: Preserve (default-toplevel-value 'lexical-binding).
* src/lread.c (Fload, Feval_buffer): Obey (default-toplevel-value
'lexical-binding).
* doc/lispintro/emacs-lisp-intro.texi (Lexical vs Dynamic Binding
Example): Use the lexical dialect also for the dynamic
scoping example.
* doc/lispref/edebug.texi (Edebug Eval): Remove long-obsolete mention
of Edebug support for `lexical-let`.
(cherry picked from commit
d685d21e8ae0cee566420d4dd68586f018b2ce0b)
Gerd Möllmann [Tue, 18 Feb 2025 20:27:03 +0000 (21:27 +0100)]
; * .mailmap: Change my entries.
(cherry picked from commit
790c2f7c1c8c947b286c09525fc5a0425004a1f6)
Liu Hui [Tue, 18 Feb 2025 09:52:36 +0000 (17:52 +0800)]
Disable PyREPL in Python shell
The new default REPL (PyREPL) in Python 3.13 is incompatible
with Python shell and displays a warning message when reverting
to the old basic REPL.
* lisp/progmodes/python.el
(python-shell--calculate-process-environment): Use the basic
REPL. (Bug#76205)
(cherry picked from commit
db8af88222bbf06948622d2b4fc4d27b73350b83)
kobarity [Sun, 16 Feb 2025 10:07:04 +0000 (19:07 +0900)]
Improve completion in IPython/Python 3.13
IPython/Python 3.13 indirectly imports rlcompleter, and the
completer is set up to reference rlcompleter.__main__.
However, this rlcompleter.__main__ is different from the
__main__ in the REPL execution. Therefore, this completer
cannot correctly complete the REPL globals. To address this
issue, we override rlcompleter.__main__ with __main__ only in
the case of IPython.
* lisp/progmodes/python.el (python-shell-completion-native-setup):
Modify __PYTHON_EL_native_completion_setup(). (Bug#76205)
(cherry picked from commit
a75f4449fa2aceab54f28c5ef46f82225376c2a4)
Stefan Kangas [Tue, 18 Feb 2025 05:11:24 +0000 (06:11 +0100)]
Prefer defvar-keymap in tcl.el
* lisp/progmodes/tcl.el (tcl-mode-map, inferior-tcl-mode-map): Prefer
defvar-keymap.
(cherry picked from commit
c180966b313c87fd8a3a48218340b48ac0b933f2)
Stefan Kangas [Tue, 18 Feb 2025 05:06:37 +0000 (06:06 +0100)]
Prefer defvar-keymap in pascal.el
* lisp/progmodes/pascal.el (pascal-mode-map, pascal-outline-map):
Prefer defvar-keymap.
(cherry picked from commit
697e7c321144f1d91bcd8f6ed26c78968a156186)
Stefan Kangas [Tue, 18 Feb 2025 05:03:04 +0000 (06:03 +0100)]
Prefer defvar-keymap in meta-mode.el
* lisp/progmodes/meta-mode.el (meta-common-mode-map): Prefer
defvar-keymap.
(cherry picked from commit
941ba65d1e0b9a42deeff25d793db21cc56c94e0)
Stefan Kangas [Tue, 18 Feb 2025 04:56:02 +0000 (05:56 +0100)]
Prefer plusp to open-coding it in image-dired
* lisp/image/image-dired.el (image-dired-display-thumbs)
(image-dired-forward-image, image-dired-slideshow-start)
(image-dired-line-up-interactive): Prefer plusp to open-coding it.
(cherry picked from commit
93206cd138ff01d9c2a56e52dd0e5edd8e386ec0)
Gerd Möllmann [Tue, 18 Feb 2025 15:05:38 +0000 (16:05 +0100)]
; * src/menu.c (x_popup_menu_1): Fix typo.
(cherry picked from commit
4d3a6189418d9fe6b743ce3924a5eead6638dccb)
Stefan Monnier [Tue, 18 Feb 2025 15:05:34 +0000 (10:05 -0500)]
(replace_range): Delete last arg, always the negation of the first bool
* src/insdel.c (replace_range): Merge last arg, with `prepare`.
Rename `prepare` to `run-mode-hooks`.
* src/lisp.h (replace_range): Adjust accordingly.
* src/editfns.c (Ftranslate_region_internal):
* src/cmds.c (internal_self_insert):
* src/search.c (Freplace_match): Adjust callers.
(cherry picked from commit
41624d94cec98c1239c4fc9bb624e55ce0606068)
Stefan Monnier [Tue, 18 Feb 2025 14:54:48 +0000 (09:54 -0500)]
src/search.c (Freplace_match): Let `replace_range` call the a-c-f
(cherry picked from commit
19f5ccbf39383f9744b9513166a2d2e7ccb85e1c)
Stefan Monnier [Tue, 18 Feb 2025 14:52:35 +0000 (09:52 -0500)]
* src/editfns.c (Fsubst_char_in_region): Delete left-over code
This code was missed back in 2000 (commit
1b16afa45bb6).
(cherry picked from commit
9854103b52a666db258bd10e4cd7f1291fb3bd6e)
Gerd Möllmann [Tue, 18 Feb 2025 14:41:07 +0000 (15:41 +0100)]
* src/menu.c (x_popup_menu_1): Use calln.
(cherry picked from commit
bf067daf0df9441ef94ffe6ba2b2d1add3a4ee39)
Eshel Yaron [Tue, 18 Feb 2025 21:33:19 +0000 (22:33 +0100)]
Po Lu [Tue, 18 Feb 2025 13:00:08 +0000 (21:00 +0800)]
* src/menu.c (x_popup_menu_1): Fix coding style.
(cherry picked from commit
37fad0483025b0eeaa33c5418b07bf6a14937ebf)
Po Lu [Tue, 18 Feb 2025 12:58:32 +0000 (20:58 +0800)]
Don't access overriding-text-conversion-style when unbound
* lisp/replace.el (perform-replace): Don't access
overriding-text-conversion-style when unbound, and also avoid
needlessly polluting this symbol with a binding. (bug#76371)
(cherry picked from commit
0cf3823463e9a52a6fbdc5e02555381cd6e0f5b5)
Gerd Möllmann [Mon, 10 Feb 2025 06:55:43 +0000 (07:55 +0100)]
Add x-popup-menu-function
* src/menu.c (x_popup_menu_1): If non-nil call x-popup-menu-function.
(syms_of_menu): DEFSYM x-popup-menu-function, DEFVAR_LISP it.
(cherry picked from commit
17bf6b9efe5c40dfa92fa5ec64a99162304395cd)
Gerd Möllmann [Sun, 16 Feb 2025 16:27:58 +0000 (17:27 +0100)]
Hide cursor based on tty frame's `cursor-type'
* src/dispnew.c (terminal_cursor_magic): if selected-frame has
`(cursor-type . nil)' parameter.
(cherry picked from commit
a51cfbbd15889ce2af59b0b1bffac8735f70f6b9)
john muhl [Tue, 5 Nov 2024 16:24:28 +0000 (10:24 -0600)]
Add MPD stats viewer to 'mpc' (Bug#76350)
* lisp/mpc.el (mpc-server-stats): New command.
(mpc-mode-menu): Add menu item.
(mpc--server-stats-date, mpc--server-stats-duration):
New variable.
(mpc--server-stats-date, mpc--server-stats-duration):
(mpc--server-stats-format): New function.
(mpc-song-viewer-value, mpc-song-viewer-tag):
(mpc-song-viewer-empty): Remove face.
(mpc-table-value, mpc-table-key, mpc-table-empty): New face.
(mpc-describe-song): Use new table face names.
(cherry picked from commit
df93e53a1c648654d8b128a5955bb4ff0229b041)
Basil L. Contovounesios [Wed, 29 Jan 2025 13:05:39 +0000 (14:05 +0100)]
Improve autoconf-mode macro detection
* doc/lispref/modes.texi (Search-based Fontification): Fix
indentation of (MATCHER . FACESPEC) example.
* doc/misc/cc-mode.texi (Performance Issues): Index
defun-prompt-regexp under variables, not functions.
* lisp/progmodes/autoconf.el (autoconf--symbol, autoconf--macro):
New rx definitions.
(autoconf-definition-regexp): Use an optional second capture group
to indicate a function rather than variable definition. Detect
AC_DEFINE defining a function-like CPP macro. Skip more shell
syntax such as variable ${} expansion and command `` substitution in
AC_DEFINE_UNQUOTED variable. Match AH_VERBATIM, AM_CONDITIONAL, and
AM_MISSING_PROG as defining variables, and AC_DEFUN, AC_DEFUN_ONCE,
AU_ALIAS, and AU_DEFUN as defining functions. Document first
capture group in docstring.
(autoconf-font-lock-keywords): Use autoconf--macro to match more
Autoconf macros, such as those defined in the Autoconf Archive and
Gnulib. Reserve font-lock-function-name-face for function
definitions as determined by autoconf-definition-regexp, and use
font-lock-variable-name-face for the rest instead. Use Font Lock
face symbols directly in place of their corresponding variable.
Fontify M4 changequote primitive only as a standalone symbol.
(autoconf-imenu-generic-expression): Add commentary mentioning new
submenu possibility.
(autoconf-current-defun-function): Update docstring accuracy.
Replace line-end-position with pos-eol since there are no fields.
(autoconf-mode): Define defun-prompt-regexp in terms of
autoconf--macro to support more toplevel macros, such as those
defined in Autoheader, M4sh, etc. Set
open-paren-in-column-0-is-defun-start to nil to avoid false
positives when an Autoconf quote character is in column zero.
* test/lisp/progmodes/autoconf-resources/configure.ac: New file.
* test/lisp/progmodes/autoconf-tests.el
(autoconf-tests-current-defun-function-define)
(autoconf-tests-current-defun-function-subst): Replace character
motion with search.
(autoconf-tests-autoconf-mode-comment-syntax): Ditto. Test both dnl
and # comments. Use syntax-ppss-context.
(autoconf-tests-font-lock): New test.
(cherry picked from commit
2e3cf73e055be69d42a6f84436d400caf0997abb)
Antero Mejr [Tue, 28 Jan 2025 18:39:10 +0000 (13:39 -0500)]
Add file completion for git apply, am to pcomplete
* lisp/pcmpl-git.el (pcomplete/git): Add an "apply" and "am" clause to
complete all files. (Bug#76356)
(cherry picked from commit
9cedb434ee390a30a690e9f979428c5735cb88e5)
Stefan Kangas [Mon, 17 Feb 2025 22:00:54 +0000 (23:00 +0100)]
Prefer oddp/evenp to open-coding in a few more cases
* lisp/arc-mode.el (archive-zip-summarize):
* lisp/cus-edit.el (setopt):
* lisp/isearch.el (isearch-backslash):
* lisp/simple.el (blink-paren-post-self-insert-function):
* lisp/subr.el (setq-local, buffer-local-set-state):
* lisp/term.el (term-within-quotes):
* test/src/data-tests.el (test-bool-vector-bv-from-hex-string): Use
oddp/evenp instead of open-coding them.
Reported by Pip Cet <pipcet@protonmail.com>.
(cherry picked from commit
515542b653c438014eda844eacc96cf23cfaaa2d)
Stefan Kangas [Mon, 17 Feb 2025 21:48:47 +0000 (22:48 +0100)]
Prefer plusp/minusp to open-coding them in subr.el
* lisp/subr.el (lsh, nbutlast, number-sequence, add-to-history)
(read-char-from-minibuffer, split-string, subst-char-in-string)
(forward-whitespace, forward-symbol, forward-same-syntax)
(progress-reporter-do-update, version-list-<): Prefer plusp/minusp to
open-coding them.
(cherry picked from commit
8a7c1a31ac0a61384661878e9f7f7e77ada34ade)
Stefan Kangas [Mon, 17 Feb 2025 21:04:41 +0000 (22:04 +0100)]
Prefer plusp/minusp to cl-plusp/cl-minusp
* lisp/dired.el (dired--move-to-next-line):
* lisp/emacs-lisp/ert.el (ert-run-tests-batch, ert-face-for-stats):
* lisp/emacs-lisp/pp.el (pp--format-definition):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--org-timestamp):
* lisp/ibuffer.el (ibuffer-compile-format, ibuffer--format-title)
(ibuffer--format-summary):
* lisp/image-mode.el (image-transform-set-percent):
* lisp/international/emoji.el (emoji--list-generate, emoji--read-emoji):
* lisp/progmodes/ebrowse.el (ebrowse-set-tree-indentation)
(ebrowse-set-member-buffer-column-width)
(ebrowse-cyclic-display-next/previous-member-list)
(ebrowse-draw-member-short-fn)
(ebrowse-switch-member-buffer-to-sibling-class, ebrowse-push-position):
* lisp/textmodes/dns-mode.el (dns-mode-reverse-and-expand-ipv6):
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--not-writable-directory)
(bytecomp-tests--dest-mountpoint)
(bytecomp-tests--target-file-no-directory):
* test/lisp/emacs-lisp/cl-seq-tests.el (cl-member-if-test)
(cl-member-if-not-test, cl-assoc-if-not-test, cl-rassoc-if-test)
(cl-rassoc-if-not-test):
* test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
Prefer plusp and minusp to cl-plusp and cl-minusp.
(cherry picked from commit
83bc811f7fad00b9b4ed3e4ffd67a96226991ca3)
Stefan Kangas [Mon, 17 Feb 2025 20:58:53 +0000 (21:58 +0100)]
New functions plusp and minusp
* lisp/emacs-lisp/cl-lib.el (cl-plusp, cl-minusp): Move from here...
* lisp/subr.el (plusp, minusp): ...to here. Make old names into
aliases, documented as deprecated. Add type declarations. Change from
defsubst to regular functions with compiler macros.
* lisp/obsolete/cl.el: Don't alias plusp and minusp.
* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-plusp)
(cl-lib-test-minusp): Move tests from here...
* test/lisp/subr-tests.el (subr-test-plusp, subr-test-minusp):
...to here.
* doc/lispref/numbers.texi (Predicates on Numbers): Document plusp
and minusp.
* doc/misc/cl.texi (Predicates on Numbers): Delete cl-plusp and
cl-minusp.
* lisp/emacs-lisp/shortdoc.el (number): Document plusp and minusp
instead of cl-plusp and cl-minusp.
(cherry picked from commit
afbf932106fdd1043b0debe9fc9134e031e4c9a6)
Yuan Fu [Mon, 17 Feb 2025 21:41:30 +0000 (13:41 -0800)]
; Update comments for mhtml-ts-mode--treesit-indent-rules
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-indent-rules): Update comments.
(cherry picked from commit
1d27028df803e4dc1c063db5593222311838e051)
Yuan Fu [Mon, 17 Feb 2025 21:29:46 +0000 (13:29 -0800)]
Rename treesit-add-simple-indent-rules
* lisp/treesit.el (treesit-add-simple-indent-rules): Rename to
treesit-simple-indent-add-rules.
* etc/NEWS: Update.
* test/src/treesit-tests.el:
(treesit-test-simple-indent-add-rules): Update accordingly.
(cherry picked from commit
237afc82b2ed147fe6b1773df303c448ded9679b)
Yuan Fu [Mon, 17 Feb 2025 21:27:52 +0000 (13:27 -0800)]
Rename treesit-simple-indent-modify-rules and fix docstring
* lisp/treesit.el (treesit-simple-indent-modify-rules): Rename
and fix docstring. It should be matcher, not anchor. Also
reword a little bit.
* etc/NEWS: Update.
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-indent-rules): Update accordingly.
(cherry picked from commit
928bad93609773ca5e9c94cf6e8f24e895e263d3)
Yuan Fu [Mon, 17 Feb 2025 21:18:15 +0000 (13:18 -0800)]
Make mhtml-ts-mode--treesit-indent-rules a function
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-indent-rules): Turn into a function.
(mhtml-ts-mode): Update accordingly.
(cherry picked from commit
77c7ba7facf6e7ee65e74aba71ce67723ba14ff7)
Kévin Le Gouguec [Thu, 13 Feb 2025 22:52:06 +0000 (23:52 +0100)]
Test vc-git-dir-extra-headers directly (bug#76187)
* test/lisp/vc/vc-git-tests.el (vc-git-test--run): Make sure to
log output from failing Git commands.
(vc-git-test--dir-headers): Stop bothering with vc-dir
internals and just invoke the branch-munging and
header-formatting code we mean to test.
(vc-git-test-dir-branch-headers): Stop invoking vc-dir; just set
default-directory to be able to pass it to the backend function.
(cherry picked from commit
15d2fc6498db433131bd4364aae1d508a12bd925)
Pip Cet [Mon, 17 Feb 2025 15:21:16 +0000 (15:21 +0000)]
Fix compilation errors due to insufficient compiler safety (bug#63288)
The default safety level is 1. Restoring the default safety level to
1 after it was temporarily 0 should reset byte-compile-delete-errors
to nil, its default level. Failing to do that resulted in
miscompilation of code in highly-parallel builds.
* lisp/emacs-lisp/cl-macs.el (cl--do-proclaim): Change
'byte-compile-delete-errors' to become t only at 'safety' level 0, not
levels 1 or 2.
(cherry picked from commit
53a5dada413662389a17c551a00d215e51f5049f)
Stefan Kangas [Mon, 17 Feb 2025 18:33:56 +0000 (19:33 +0100)]
Prefer '(oddp A)' to '(= 1 (logand A 1))'
* lisp/calendar/todo-mode.el (todo-padded-string):
* lisp/emacs-lisp/gv.el (setf):
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
* lisp/hexl.el (hexl-insert-hex-string):
* lisp/play/gamegrid.el (gamegrid-xbm):
* lisp/play/hanoi.el (hanoi-internal):
* lisp/progmodes/ebnf2ps.el (ebnf-end-of-string):
* lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
* lisp/progmodes/ruby-mode.el (ruby-backward-sexp):
* lisp/ps-print.el (ps-print-page-p):
(ps-print-sheet-p): Prefer '(oddp A)' to '(= 1 (logand A 1))' and
variations thereof.
(cherry picked from commit
fd5dbea21b8982cff8d3ae774b0e68c077a4ec89)
Stefan Kangas [Mon, 17 Feb 2025 18:30:44 +0000 (19:30 +0100)]
Prefer '(evenp A)' to '(= 0 (logand A 1))'
* lisp/calc/calc-arith.el (calcFunc-dint):
* lisp/calculator.el (calculator-expt):
* lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf):
* lisp/emacs-lisp/elint.el (elint-check-defcustom-form):
* lisp/ps-print.el (ps-print-page-p):
(ps-print-sheet-p): Prefer '(evenp A)' to '(= 0 (logand A 1))' and
variations thereof.
(cherry picked from commit
7c7cf3e8c88de6af91b110584f3aa8aff8011409)
Juri Linkov [Mon, 17 Feb 2025 17:40:20 +0000 (19:40 +0200)]
; Small fixes for the recently added 'mhtml-ts-mode'
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode): Add autoload cookie.
* lisp/treesit.el (treesit-modify-indent-rules): Use 'rules'
instead of 'js--treesit-indent-rules'.
(cherry picked from commit
1a8493f0a5fcd45c7e992dbf42cfbb0346edcaff)