]> git.eshelyaron.com Git - emacs.git/log
emacs.git
8 weeks agoAdd bindings for vc-git-stash-delete-at-point, vc-git-stash-delete
Sean Whitton [Mon, 7 Apr 2025 03:28:13 +0000 (11:28 +0800)]
Add bindings for vc-git-stash-delete-at-point, vc-git-stash-delete

* lisp/vc/vc-git.el (vc-git-stash-map): Bind "D" to
vc-git-stash-delete-at-point.
(vc-dir-git-mode-map): Bind "z d" to vc-git-stash-delete.
* etc/NEWS: Announce the new bindings.

(cherry picked from commit e9e11f7281899aa206ff6f62a183fa83cde48e95)

8 weeks ago; * lisp/vc/ediff-wind.el (ediff-with-live-window): Use cl-once-only
Sean Whitton [Mon, 7 Apr 2025 02:19:58 +0000 (10:19 +0800)]
; * lisp/vc/ediff-wind.el (ediff-with-live-window): Use cl-once-only

(cherry picked from commit 1e100f482c5f07fc6cd55f32065c62244856bff2)

8 weeks ago* lisp/vc/vc-git.el (vc-git-checkin): Actually pass down TO-STASH.
Sean Whitton [Mon, 7 Apr 2025 02:05:08 +0000 (10:05 +0800)]
* lisp/vc/vc-git.el (vc-git-checkin): Actually pass down TO-STASH.

(cherry picked from commit 3ccd25f6b01bcd2e103faa86b11c10017b64e69b)

8 weeks agovc-git-checkin: Don't relativize names of temporary files
Sean Whitton [Mon, 7 Apr 2025 02:03:46 +0000 (10:03 +0800)]
vc-git-checkin: Don't relativize names of temporary files

* lisp/vc/vc-git.el (vc-git-checkin)
(vc-git--stash-staged-changes): Don't relativize names of
temporary files passed to 'git apply --cached'.  More generally,
these are not files managed by the underlying VCS, so they
shouldn't go in the FILE-OR-LIST argument to vc-git-command.

(cherry picked from commit 7f60aa45aab4191a44d6d83ec6c3004e4901469b)

8 weeks ago; Skip commit ba13e7de32d08028ab7bffdd73dab271a95ea453
Eshel Yaron [Tue, 8 Apr 2025 05:46:47 +0000 (07:46 +0200)]
; Skip commit ba13e7de32d08028ab7bffdd73dab271a95ea453

8 weeks ago; Skip commit 819f92cb12b07938623e18384e86371ee101495a
Eshel Yaron [Tue, 8 Apr 2025 05:46:10 +0000 (07:46 +0200)]
; Skip commit 819f92cb12b07938623e18384e86371ee101495a

8 weeks ago; Skip commit 8ae7224b8fae59229b186853b300822bd70a8ec4
Eshel Yaron [Tue, 8 Apr 2025 05:45:44 +0000 (07:45 +0200)]
; Skip commit 8ae7224b8fae59229b186853b300822bd70a8ec4

8 weeks agoTeach VC-Dir to automatically add and remove marks on other lines
Sean Whitton [Sun, 6 Apr 2025 03:18:57 +0000 (11:18 +0800)]
Teach VC-Dir to automatically add and remove marks on other lines

* lisp/vc/vc-dir.el (vc-dir-allow-mass-mark-changes): New option.
(vc-dir-parent-marked-p): Replace with ...
(vc-dir--parent): ... this.
(vc-dir-children-marked-p): Replace with ...
(vc-dir--children): ... this.
(vc-dir-mark-file): Unmark subitems before marking a directory.
Offer to unmark a directory before marking a subitem.
(vc-dir-unmark-file): For an implicitly marked item, offer to
unmark it by marking everything else that's implicitly marked.
For an unmarked directory with marked subitems, offer to unmark
them all.
* etc/NEWS: Document the changes.

(cherry picked from commit 936b2efdb389488d291086d5c2189fd1a7170aa6)

8 weeks agoFix dired-vc-next-action generating inconsistent marks
Sean Whitton [Sun, 6 Apr 2025 03:09:22 +0000 (11:09 +0800)]
Fix dired-vc-next-action generating inconsistent marks

* lisp/vc/vc-dir.el (vc-dir-mark-files): Document that
directories passed to this function must have trailing slashes.
Don't mark both a directory and also items under it (bug#76769).
* lisp/dired-aux.el (dired-vc-next-action): Update docstring.

(cherry picked from commit c0b1b54d734a45698da9df0841700c4c15785b11)

8 weeks agovc-dir-mark-file: Consistently don't allow marking a subdirectory
Sean Whitton [Sun, 6 Apr 2025 01:09:32 +0000 (09:09 +0800)]
vc-dir-mark-file: Consistently don't allow marking a subdirectory

* lisp/vc/vc-dir.el (vc-dir-mark-file): Don't allow marking a
subdirectory if its parent is already marked.  This fixes an
inconsistency whereby if a subdirectory was already marked then
its parent could not be marked, but not vice-versa (bug #76769).

(cherry picked from commit a5f574429db1f820cc4d25bfb0e700aae050dc07)

8 weeks ago; Skip commit c418e454b3a9d103a5a59c76e1c36f3597de6798
Eshel Yaron [Tue, 8 Apr 2025 05:45:16 +0000 (07:45 +0200)]
; Skip commit c418e454b3a9d103a5a59c76e1c36f3597de6798

8 weeks agoAdd tab-bar test for "effectively dedicated window" (bug#71386)
shipmints [Fri, 4 Apr 2025 17:25:55 +0000 (13:25 -0400)]
Add tab-bar test for "effectively dedicated window" (bug#71386)

* test/lisp/tab-bar-tests.el (tab-bar-tests-quit-restore-window):
New test for 'delete-frame' for effectively-dedicated windows.

(cherry picked from commit 5fc1bd879e41e79601cff27db175d2ad22eafb66)

8 weeks ago* lisp/gnus/nnfeed.el (nnfeed--write-server): Use default print settings.
James Thomas [Fri, 14 Mar 2025 10:24:31 +0000 (15:54 +0530)]
* lisp/gnus/nnfeed.el (nnfeed--write-server): Use default print settings.

Bug#77113

(cherry picked from commit 5987d77f40bf72a268d35d1f2a88f7cd00c17459)

8 weeks agoTeach 'current-column' to account for images
Eli Zaretskii [Sat, 5 Apr 2025 10:24:22 +0000 (13:24 +0300)]
Teach 'current-column' to account for images

* src/indent.c (check_display_width): Handle 'image' and 'slice'
display specs, instead of using the width of the underlying text.
Accept 2 additional arguments: WINDOW and SCAN_BYTE.  (Bug#76107)

(cherry picked from commit 52e7a71e3f90fede27864e366977e23bfc193891)

8 weeks ago; Skip commit a4ee1e6709b57e6aed3ff6e800ab8fb83b706d65
Eshel Yaron [Tue, 8 Apr 2025 05:43:29 +0000 (07:43 +0200)]
; Skip commit a4ee1e6709b57e6aed3ff6e800ab8fb83b706d65

8 weeks agoAdd input method for languages based on Burmese
Billy Lei [Sat, 15 Mar 2025 06:46:31 +0000 (14:46 +0800)]
Add input method for languages based on Burmese

This adds 4 new input methods:
 . Burmese
 . Burmese Visual
 . Shan
 . Mon
* lisp/leim/quail/burmese.el: New file.  (Bug#77026)

(cherry picked from commit 183ab3372e24c80217db8cc8ba22bf1ac48100a4)

8 weeks ago; * src/xdisp.c (display_mode_line, display_mode_element): Fix comments.
Eli Zaretskii [Sat, 5 Apr 2025 09:35:42 +0000 (12:35 +0300)]
; * src/xdisp.c (display_mode_line, display_mode_element): Fix comments.

(cherry picked from commit bf7b3c5ddd5f66cd0f4927c983789128b43056ba)

8 weeks agoFix mouse highlighting for compact mode lines (bug#77336)
Pengji Zhang [Wed, 2 Apr 2025 12:52:30 +0000 (20:52 +0800)]
Fix mouse highlighting for compact mode lines (bug#77336)

When 'mode-line-compact' is non-nil, the mode line string is
displayed as a whole.  That confuses the computation of ranges
of mouse highlighting on the mode line because all the glyphs
have the same Lisp object source.  As such, in this commit we
instead split the mode line string by sources, and display those
elements one by one, so the boundaries of each element could be
correctly detected for the purpose of mouse highlighting.

* src/xdisp.c (display_mode_line): Display mode line elements
one by one when 'mode-line-compact' is non-nil.
(display_mode_element): Record source element number of the
stored string via a text property.
(Fformat_mode_line): Initialize 'mode_line_elt_no' to 0.
(syms_of_xdisp): New symbol for the text property.

(cherry picked from commit c94f0d3dc82a72baa0ba8d69beda220aaf0b2d91)

8 weeks agoRestrict symbol prettification to displayable glyphs
Paul Nelson [Mon, 31 Mar 2025 13:37:14 +0000 (15:37 +0200)]
Restrict symbol prettification to displayable glyphs

* lisp/international/mule.el (char-displayable-on-frame-p): New
function used to determine whether a character can be
meaningfully displayed on a given frame.
* doc/lispref/display.texi (Fontsets): Document it.
* lisp/progmodes/prog-mode.el
(prettify-symbols--composition-displayable-p): New function used
to restrict to displayable prettification symbols.  This
prevents issues with missing characters appearing as boxes.
(prettify-symbols--make-keywords): Use it.  (Bug#77381)

(cherry picked from commit 2d0b5f34a008979d34f337c872bcf93a296c6ec2)

8 weeks agoExtend prettify-symbols-alist in TeX mode
Paul Nelson [Sun, 30 Mar 2025 11:31:58 +0000 (13:31 +0200)]
Extend prettify-symbols-alist in TeX mode

* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add
further math symbols, quotes and fractions.  (Bug#77381)

(cherry picked from commit ef6203b64aaf53cd986caf17bd49b6ffe840c93a)

8 weeks ago; Skip commit d6f1b25d2e5e83f472cf9cd35bea43c066fbd4f3
Eshel Yaron [Tue, 8 Apr 2025 05:42:57 +0000 (07:42 +0200)]
; Skip commit d6f1b25d2e5e83f472cf9cd35bea43c066fbd4f3

8 weeks agoOptionally display function docstring in eldoc
Elías Gabriel Pérez [Wed, 19 Mar 2025 18:01:22 +0000 (12:01 -0600)]
Optionally display function docstring in eldoc

Allow display (optionally) function docstring in eldoc. (Bug#77124)
* etc/NEWS: Document changes.
* lisp/progmodes/elisp-mode.el
(elisp-eldoc-funcall-with-docstring-length): New user option.
(elisp-eldoc-funcall-with-docstring): New function.

(cherry picked from commit 8fc18d0968a0f7ef610b6868a35e731c778991ac)

8 weeks agoImprove formatting of 'setopt' suggestion in *Help* buffer
Visuwesh [Sun, 23 Mar 2025 05:58:16 +0000 (11:28 +0530)]
Improve formatting of 'setopt' suggestion in *Help* buffer

* lisp/help-fns.el (help--recommend-setopt): Remove function,
and...
(help-fns--customize-variable): ... move the relevant code here
to keep related code in the same place.  Change the formatting
to also include the :set function if it is set to a named
function.  (Bug#77173)

(cherry picked from commit c73e4cdece0d97f3f5793590fefa258923dca08b)

8 weeks ago; Fix wording of recent documentation changes
Eli Zaretskii [Sat, 5 Apr 2025 07:11:03 +0000 (10:11 +0300)]
; Fix wording of recent documentation changes

* lisp/desktop.el (desktop-restore-frames):
* etc/NEWS:
* doc/emacs/misc.texi (Saving Emacs Sessions): Fix wording of the
recent changes.

(cherry picked from commit cffe5a02454f0d2201172c07a239bd9a3682ad68)

8 weeks ago; Skip commit 3ee021dc19e314f6f456867ec43c25aed5cc41b8
Eshel Yaron [Tue, 8 Apr 2025 05:42:05 +0000 (07:42 +0200)]
; Skip commit 3ee021dc19e314f6f456867ec43c25aed5cc41b8

8 weeks agoperl-mode.el: Avoid obsolete font-lock face vars
Stefan Monnier [Sat, 5 Apr 2025 03:53:10 +0000 (23:53 -0400)]
perl-mode.el: Avoid obsolete font-lock face vars

* lisp/progmodes/perl-mode.el (perl-mode-abbrev-table): Merge defvar
into the definition.
(perl-font-lock-keywords-1, perl-font-lock-keywords-2): Avoid obsolete
font-lock face vars.

(cherry picked from commit cd41247dc18f4e478ffb296198229ee22d44668c)

8 weeks agoDisable desktop-restore-frames by default on Android
Po Lu [Sat, 5 Apr 2025 02:30:30 +0000 (10:30 +0800)]
Disable desktop-restore-frames by default on Android

* lisp/desktop.el (desktop-restore-frames): Default to nil when
\(featurep 'android).

* doc/emacs/misc.texi (Saving Emacs Sessions): Adjust to match.

(cherry picked from commit d582ed9dc9be516f17dc9a526c3f9615001a46a6)

8 weeks agoediff-current-file: New optional startup-hooks arg
Paul D. Nelson [Mon, 31 Mar 2025 07:07:07 +0000 (09:07 +0200)]
ediff-current-file: New optional startup-hooks arg

* lisp/vc/ediff.el (ediff-current-file): Add optional
startup-hooks argument, so that the user can write wrapper
commands with more finely customized behavior (bug#77323).

(cherry picked from commit 2bced74aa9735d9a9a5cb00aedfcac72d54f5d50)

8 weeks agolisp/emacs-lisp/warnings.el (display-warning): Don't quote lambda
Stefan Monnier [Fri, 4 Apr 2025 20:53:05 +0000 (16:53 -0400)]
lisp/emacs-lisp/warnings.el (display-warning): Don't quote lambda

(cherry picked from commit 1fdaad525389b6638daa729ef5794ba5e81e3085)

8 weeks ago(defclass): Don't duplicate the compiler macro
Stefan Monnier [Fri, 4 Apr 2025 20:48:57 +0000 (16:48 -0400)]
(defclass): Don't duplicate the compiler macro

* lisp/emacs-lisp/eieio.el (eieio--constructor-macro): New function.
(defclass): Use it.

(cherry picked from commit 21920da6c73a8bccd06baadc8aa75e4b820ab849)

8 weeks agolisp/calc/calc-keypd.el (calc-keypad-vector-menu): Don't quote lambda
Stefan Monnier [Fri, 4 Apr 2025 20:45:25 +0000 (16:45 -0400)]
lisp/calc/calc-keypd.el (calc-keypad-vector-menu): Don't quote lambda

(cherry picked from commit fce3f0ad4af9630f17bb9c7d3a9db11cae1f8a0d)

8 weeks agoHandle `TeX-master` holding a buffer
Stefan Monnier [Fri, 4 Apr 2025 20:17:36 +0000 (16:17 -0400)]
Handle `TeX-master` holding a buffer

Cleanup initialization of the syntax tables, while we're at it.

* lisp/textmodes/reftex.el (reftex-syntax-table)
(reftex-syntax-table-for-bib): Move initialization into the declaration.
(reftex--prepare-syntax-tables): Delete function.
(reftex-mode): Delete call to it.
(reftex-TeX-master-file): Handle the case where `TeX-master` holds
a buffer (e.g. because of `reftex-find-duplicate-labels`).
Consolidate the two cases where we prompt the user.

(cherry picked from commit 9983551f468405a5af443796c0eb7b53f735edb9)

8 weeks agoAdd RefTeX support for non-file buffers
Paul Nelson [Wed, 2 Apr 2025 19:38:48 +0000 (21:38 +0200)]
Add RefTeX support for non-file buffers

* lisp/textmodes/reftex.el (reftex--get-buffer-identifier)
(reftex--get-directory, reftex--abbreviate-name)
(reftex--get-basename, reftex--get-truename): New helper
functions that handle both files and buffer objects.
(reftex--remove-buffer-from-master-index): New helper function.
(reftex-tie-multifile-symbols): Support non-file buffers, using
the above.
(reftex-TeX-master-file): Return current buffer when no file.
(reftex-access-scan-info): Remove check requiring file buffers.
(reftex-access-parse-file, reftex-check-parse-consistency): Skip
for non-file buffers.
(reftex-select-external-document): Use new helper function.
(reftex-locate-file): Return buffer objects directly.
(reftex-get-file-buffer-force): Handle buffer objects and
special 'buffer:' strings.
* lisp/textmodes/reftex-global.el (reftex-create-tags-file): Add
error handling for non-file buffers.  Leave TAGS unsupported in
non-file buffers.
(reftex-find-duplicate-labels)
(reftex-isearch-switch-to-next-file): Use new helper functions
that handle both files and buffer objects.
(reftex-isearch-switch-to-next-file): Use equal rather than
string= to compare strings/buffers.
* lisp/textmodes/reftex-index.el (reftex-display-index)
(reftex-index-change-entry): Use new helper functions.
(reftex-index-visit-phrases-buffer): Add error handling for
non-file buffers.  Leave phrases unsupported in non-file
buffers.
* lisp/textmodes/reftex-parse.el (reftex-do-parse)
(reftex-parse-from-file): Add support for non-file buffers.
(reftex-all-document-files, reftex-where-am-I)
(reftex-notice-new): Use new helper functions.
* lisp/textmodes/reftex-ref.el (reftex-label-info-update):
Support non-file buffers.
(reftex-label-info, reftex-replace-prefix-escapes, reftex-label)
(reftex-replace-prefix-escapes, reftex-offer-label-menu): Use
new helper functions.
* lisp/textmodes/reftex-sel.el (reftex-insert-docstruct): Use
new helper function.
* lisp/textmodes/reftex-toc.el (reftex-toc)
(reftex-recenter-toc-when-idle): Support non-file buffers.
* lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib)
(reftex-get-bibfile-list): Use new helper functions.
* lisp/textmodes/reftex-global.el
(reftex-save-all-document-buffers, reftex-ensure-write-access):
Ignore non-file buffers.
* lisp/textmodes/reftex-parse.el (reftex-all-document-files):
For non-file objects, do not apply relative path transformation.
* test/lisp/textmodes/reftex-tests.el
(reftex-all-used-citation-keys-buffer)
(reftex-renumber-simple-labels-buffer): New tests for operations
on non-file buffers.

RefTeX historically assumed that the buffers it operates on
visit files.  To handle non-file buffers:

Modify reftex-TeX-master-file so that it returns the buffer
object itself (as suggested by Stefan Monnier).  Modify each
caller to handle buffer objects, aided by some helper functions
added to reftex.el.  Replace 'string=' by 'equal' in places.

Use buffer-base-buffer, where appropriate, to handle indirect
buffers (file and non-file).

TAGS files and phrases buffers remain unsupported for non-file
buffers.

(cherry picked from commit 03fc0e0fd51990570759601fa7e64f1cc5b76932)

8 weeks ago; Fix last change (bug#77017)
Vincenzo Pupillo [Fri, 4 Apr 2025 11:52:28 +0000 (13:52 +0200)]
; Fix last change (bug#77017)

* lisp/textmodes/html-ts-mode.el
(html-ts-mode): Avoid the warning if the html language library is not
installed.
Avoids warning if html language library is not installed
when trying to associate mode with filename patterns.
* lisp/textmodes/html-ts-mode.el: Revert the last changes.
Avoids warning if any of the html, javascript, css language libraries
are not installed when attempting to associate mode with filename
templates.

(cherry picked from commit 8c411381c69bf889243dc8a40cda22557e4b32be)

8 weeks agoFix Tramp problem with loooongish file names
Michael Albinus [Fri, 4 Apr 2025 12:29:00 +0000 (14:29 +0200)]
Fix Tramp problem with loooongish file names

* lisp/net/tramp-sh.el (tramp-readlink-file-truename): New defconst.
(tramp-bundle-read-file-names): Use new %m and %q format specifiers.
(tramp-sh-handle-file-truename): Use `tramp-readlink-file-truename'.
(tramp-bundle-read-file-names, tramp-get-remote-readlink): Simplify.
(tramp-expand-script): Add format specifiers %m and %q for test
commands.  Addapt readlink call.
Reported by Stacey Marshall <stacey.marshall@gmail.com>.

(cherry picked from commit 99d70ce6c265744b21e1ffe6c034ded833917139)

8 weeks ago; Skip commit 9869aa1a1003fbd4b3c7d51f9cdd7e77bd68d985
Eshel Yaron [Tue, 8 Apr 2025 05:36:28 +0000 (07:36 +0200)]
; Skip commit 9869aa1a1003fbd4b3c7d51f9cdd7e77bd68d985

8 weeks agoFix obsolete documentation of desktop library
Stephen Berman [Thu, 3 Apr 2025 14:53:35 +0000 (16:53 +0200)]
Fix obsolete documentation of desktop library

* doc/emacs/misc.texi (Saving Emacs Sessions): Replace
documentation of the long-deleted user option
'desktop-clear-preserve-buffers-regexp' with documentation of
'desktop-clear-preserve-buffers'.

(cherry picked from commit ae7f65f3f9cbe03608c9920e7f2f82a5a82e62d6)

8 weeks agoImprove Tramp's initial warnings
Michael Albinus [Thu, 3 Apr 2025 12:57:06 +0000 (14:57 +0200)]
Improve Tramp's initial warnings

* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
Adapt comment.

* lisp/net/tramp-compat.el (tramp-warning): Declare and use it.

* lisp/net/tramp-message.el (tramp-warning): Declare `indent'.

(cherry picked from commit fd5f817882a81b6f64471971c88bdd3d0c126956)

8 weeks agoExplain, how to suppress Tramp warnings
Michael Albinus [Wed, 2 Apr 2025 16:37:22 +0000 (18:37 +0200)]
Explain, how to suppress Tramp warnings

* doc/misc/tramp.texi (Frequently Asked Questions): Remove double item.
(Traces and Profiles): Mention `warning-suppress-types'.  (Bug#77422)

(cherry picked from commit 1e865a2f2889ecbee06b9eefdd82a4cda04d6eee)

8 weeks ago; Skip commit a0962074743521447b1549f9e0ecd03325debc0d
Eshel Yaron [Tue, 8 Apr 2025 05:35:56 +0000 (07:35 +0200)]
; Skip commit a0962074743521447b1549f9e0ecd03325debc0d

8 weeks agoFix Tramp's file-attributes cache
Michael Albinus [Tue, 1 Apr 2025 13:24:44 +0000 (15:24 +0200)]
Fix Tramp's file-attributes cache

* lisp/net/tramp-adb.el (tramp-adb-handle-file-executable-p):
Check also for sticky bit.
(tramp-adb-handle-file-readable-p): Simplify.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-executable-p):
Check also for sticky bit.  Force `file-attributes' check.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-executable-p):
Check also for sticky bit.
(tramp-sh-handle-file-readable-p)
(tramp-sh-handle-file-writable-p): Simplify.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-executable-p):
Check also for sticky bit.
(tramp-sudoedit-handle-file-readable-p)
(tramp-sudoedit-handle-file-writable-p): Simplify.

* lisp/net/tramp.el (tramp-use-file-attributes): Fix docstring.
(tramp-handle-file-readable-p, tramp-handle-file-writable-p):
Force `file-attributes' check.  Use `file-truename' for symbolic links.
(tramp-check-cached-permissions): New optional argument FORCE.
Fix symlink check.  Check also for sticky bit.  (Bug#77402)

* test/lisp/net/tramp-tests.el
(tramp-test20-file-modes-without-file-attributes)
(tramp-test21-file-links-without-file-attributes): New tests.

(cherry picked from commit 3f9ac99fc7e024678dff1ac3ff38e617ef2606fe)

8 weeks ago; Skip commit 43c9eb3df6050f19211e219c7cb03da7a6d9d6dd
Eshel Yaron [Tue, 8 Apr 2025 05:34:45 +0000 (07:34 +0200)]
; Skip commit 43c9eb3df6050f19211e219c7cb03da7a6d9d6dd

8 weeks ago; Improve the documentation of 'slice' display spec (bug#77384).
Eli Zaretskii [Sun, 30 Mar 2025 16:27:22 +0000 (19:27 +0300)]
; Improve the documentation of 'slice' display spec (bug#77384).

(cherry picked from commit 38fec86281efd78af24cc435307d55a00223db49)

8 weeks ago; * src/editfns.c (Fmessage): Mention 'inhibit-message' (bug#77257).
Eli Zaretskii [Sun, 30 Mar 2025 14:38:25 +0000 (17:38 +0300)]
; * src/editfns.c (Fmessage): Mention 'inhibit-message' (bug#77257).

(cherry picked from commit 3f05b455f7e52e70871f47810fe42f1f36fa783b)

8 weeks agorefactor-elisp: stub for cross-project renaming.
Eshel Yaron [Tue, 8 Apr 2025 05:31:47 +0000 (07:31 +0200)]
refactor-elisp: stub for cross-project renaming.

8 weeks ago(multi-isearch-read-files): Fix equality check.
Eshel Yaron [Tue, 8 Apr 2025 05:31:24 +0000 (07:31 +0200)]
(multi-isearch-read-files): Fix equality check.

8 weeks ago(emacs-lisp-mode): Add mode line trust indicator
Eshel Yaron [Tue, 8 Apr 2025 05:30:17 +0000 (07:30 +0200)]
(emacs-lisp-mode): Add mode line trust indicator

8 weeks ago(trusted-content-p): Check buffer-file-name, not truename
Eshel Yaron [Tue, 8 Apr 2025 05:29:50 +0000 (07:29 +0200)]
(trusted-content-p): Check buffer-file-name, not truename

8 weeks agoNew variable vc-followed-link
Eshel Yaron [Tue, 8 Apr 2025 05:29:32 +0000 (07:29 +0200)]
New variable vc-followed-link

8 weeks agoDrop vc-dav.el
Eshel Yaron [Tue, 8 Apr 2025 05:29:17 +0000 (07:29 +0200)]
Drop vc-dav.el

8 weeks agoPixel-align C-x 8 RET completions
Eshel Yaron [Mon, 7 Apr 2025 07:28:00 +0000 (09:28 +0200)]
Pixel-align C-x 8 RET completions

8 weeks agoDrop 'local-enable-local-variables'.
Eshel Yaron [Sat, 5 Apr 2025 09:54:06 +0000 (11:54 +0200)]
Drop 'local-enable-local-variables'.

8 weeks agohelp-at-pt.el: Clean up.
Eshel Yaron [Sat, 5 Apr 2025 09:35:40 +0000 (11:35 +0200)]
help-at-pt.el: Clean up.

2 months agoDon't propertize prompt in 'minibuffer--regexp-propertize' (Bug#77497)
Martin Rudalics [Fri, 4 Apr 2025 07:00:15 +0000 (09:00 +0200)]
Don't propertize prompt in 'minibuffer--regexp-propertize' (Bug#77497)

* lisp/minibuffer.el (minibuffer--regexp-propertize): Skip prompt
when propertizing user input (Bug#77497).

(cherry picked from commit ae6ac5cad857cca67bdceb94b870561d9265f981)

2 months agoAdd repeat-map for Python indentation commands
Paul Nelson [Mon, 31 Mar 2025 10:12:01 +0000 (12:12 +0200)]
Add repeat-map for Python indentation commands

* lisp/progmodes/python.el (python-indent-repeat-map): New
keymap for repeating Python indentation commands when using
'repeat-mode' (bug#77417).

(cherry picked from commit 67c89a675df936abbd2b3925adda8d21b31ae59a)

2 months agoFix C-x p p for remote directories with no Tramp connection
Visuwesh [Thu, 3 Apr 2025 13:17:36 +0000 (18:47 +0530)]
Fix C-x p p for remote directories with no Tramp connection

* lisp/progmodes/project.el (project-switch-project): Allow
Tramp to establish a new connection for remote directories.
(Bug#77425)

(cherry picked from commit 839ef39a5e4eb4905c21b1431c146df755fa4b7a)

2 months ago* doc/emacs/custom.texi (File Variables): Reorganize
Stephen Gildea [Thu, 3 Apr 2025 16:49:45 +0000 (09:49 -0700)]
* doc/emacs/custom.texi (File Variables): Reorganize

Reorganize the section on file-local variables to tighten the paragraphs
describing each syntax: line one and local variables section.

(cherry picked from commit 37262eac0525562ac03fe84e6f657de908808245)

2 months agoscope.el: Handle 'cl-symbol-macrolet'
Eshel Yaron [Thu, 3 Apr 2025 17:25:09 +0000 (19:25 +0200)]
scope.el: Handle 'cl-symbol-macrolet'

2 months ago* lisp/window.el (window-deletable-p): Improve tab handling.
Juri Linkov [Thu, 3 Apr 2025 16:28:41 +0000 (19:28 +0300)]
* lisp/window.el (window-deletable-p): Improve tab handling.

Use frame parameter 'tab-bar-lines' instead of 'tab-bar-mode'.
Remove 'window-dedicated-p' (bug#71386).  Doc fix.
Add 'frame' arg to 'window-list-1' (bug#59862).

(cherry picked from commit 79fd696d141f22676d72caf3ae21c9f79e59b91a)

2 months ago; Add a check for liveness to last change
Sean Whitton [Thu, 3 Apr 2025 08:44:10 +0000 (16:44 +0800)]
; Add a check for liveness to last change

(cherry picked from commit 91a75c0d460efb7490c7901ff8572adb14cd50db)

2 months agovc-setup-buffer: Fix leaving wrong default-directory
Sean Whitton [Thu, 3 Apr 2025 08:31:36 +0000 (16:31 +0800)]
vc-setup-buffer: Fix leaving wrong default-directory

* lisp/vc/vc-dispatcher.el (vc-setup-buffer): Use run-with-timer
to ensure the buffer-local value gets set (bug#77306).

(cherry picked from commit 4ace02755bc5cd5add8d88be5abf2de60a92e635)

2 months ago; Skip commit 12b06992dfc944dcd4104a3ae1ce60285b349095
Eshel Yaron [Thu, 3 Apr 2025 16:51:33 +0000 (18:51 +0200)]
; Skip commit 12b06992dfc944dcd4104a3ae1ce60285b349095

2 months ago; Skip commit 8db310ce8b4d453cda8114c3a06cd0f328f99a1b
Eshel Yaron [Thu, 3 Apr 2025 16:51:29 +0000 (18:51 +0200)]
; Skip commit 8db310ce8b4d453cda8114c3a06cd0f328f99a1b

2 months agoPacify gcc -Wclobbered in Freplace_region_contents
Paul Eggert [Wed, 2 Apr 2025 20:52:30 +0000 (13:52 -0700)]
Pacify gcc -Wclobbered in Freplace_region_contents

* src/editfns.c (Freplace_region_contents): Redo slightly to
pacify gcc -Wclobbered, by hoisting the eassume out of SCHARS and
into the caller later, where it’ll do more good anyway.

(cherry picked from commit 5039ad24a362d88ac43d79f9fa5a5ba11f0da61b)

2 months agocl-macs.el: Fix minor merge snafu (bug#77348)
Stefan Monnier [Wed, 2 Apr 2025 19:05:02 +0000 (15:05 -0400)]
cl-macs.el: Fix minor merge snafu (bug#77348)

* lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Recover the changes
made in commit 476426168106 and accidentally undone by a later merge of
commit 63adf9dcf53a.

(cherry picked from commit 7cffcbb5137666f1c544e7b0c1a544e2bc660ddd)

2 months agoFix display of wide characters in display margins on TTY frames
Eli Zaretskii [Wed, 2 Apr 2025 17:25:09 +0000 (20:25 +0300)]
Fix display of wide characters in display margins on TTY frames

* src/xdisp.c (display_line): Remove incomplete glyph sequence of
the last multi-column character, if not all of its glyphs fit in
the marginal area.  (Bug#77452)

(cherry picked from commit df82855aeb0038c810a451272eb34ae88984e8f6)

2 months agoMore thorough fix for image slices on mode/header-line
Eli Zaretskii [Wed, 2 Apr 2025 13:12:03 +0000 (16:12 +0300)]
More thorough fix for image slices on mode/header-line

* src/xdisp.c (note_mode_line_or_margin_highlight): Remove
correction of DX and DY due to image slices, as this is now done
in 'mode_line_string'.
* src/dispnew.c (mode_line_string): Make DX and DY account for
image slices.  (Bug#77429)

(cherry picked from commit a9661e643b1235e82b7ba0c9c9c2cd8fa533b5a6)

2 months agoFix widget relationship in customize-themes
Mauro Aranda [Wed, 2 Apr 2025 11:10:18 +0000 (08:10 -0300)]
Fix widget relationship in customize-themes

* lisp/cus-theme.el (customize-themes): The theme button should
be a sibling of the checkbox widget, not a child.  (Bug#77096)

(cherry picked from commit 9cfc01056e1be0fada18b8cfbde6a6a511428edd)

2 months ago(custom--standard-value-p): New function
Stefan Monnier [Tue, 1 Apr 2025 22:06:31 +0000 (18:06 -0400)]
(custom--standard-value-p): New function

* lisp/cus-edit.el (custom-variable-state)
(custom-variable-mark-to-reset-standard): Use `custom--standard-value-p`.

* lisp/custom.el (custom--standard-value-p): New function.
(customize-mark-to-save, custom-push-theme, enable-theme): Use it.

* lisp/help-fns.el (describe-variable): Use `custom--standard-value`.
Extracted from `customize-mark-to-save` by with `ignore-errors`
replaced by `with-demoted-errors`.

(cherry picked from commit 71b3298c0e813ba1432e75370c460eea5caf72d5)

2 months agoAdd 'project-customize-dirlocals'
Elías Gabriel Pérez [Mon, 24 Mar 2025 03:35:32 +0000 (21:35 -0600)]
Add 'project-customize-dirlocals'

* etc/NEWS: Add command entry.
* lisp/menu-bar.el (menu-bar-project-menu): Add command entry to
project menu.
* lisp/progmodes/project.el (project-customize-dirlocals):
New command.  (Bug#77229)

(cherry picked from commit da6da5744b95451bdc3339c3a241892466a08551)

2 months agofunction-put: signal error with non-symbol
Stefan Kangas [Tue, 1 Apr 2025 19:25:33 +0000 (21:25 +0200)]
function-put: signal error with non-symbol

* lisp/subr.el (function-get): Signal an error if given a non-symbol
for consistency with 'get'.
* test/lisp/subr-tests.el (subr-butlast): Test for the above.

(cherry picked from commit a4ec9ca12969018cdf15b8cc713b3ba054326f99)

2 months agoNew treesit generic mode 'liquid-generic-ts-mode' (bug#77255)
Juri Linkov [Tue, 1 Apr 2025 17:17:17 +0000 (20:17 +0300)]
New treesit generic mode 'liquid-generic-ts-mode' (bug#77255)

* lisp/treesit.el (treesit-replace-font-lock-feature-settings):
Check the query language in addition to checking the feature.
(treesit-font-lock-fontify-region): Use treesit-font-lock-setting-*
accessors.

* lisp/treesit-x.el (treesit-generic-mode-setup): Append new
font-lock rules to an existing treesit-font-lock-settings
possibly inherited from the parent.
(treesit-generic-mode-setup): Use treesit-merge-font-lock-feature-list
to merge with an existing feature list inherited from the parent.
(liquid-generic-ts-mode): New treesit generic mode.
(alpinejs-generic-ts-setup): New treesit generic setup.

(cherry picked from commit 87da719b6c4a53a31c67f3a9646b68cb15a1ffe7)

2 months agoMove a vc option to a preloaded file
Mauro Aranda [Tue, 1 Apr 2025 17:16:02 +0000 (14:16 -0300)]
Move a vc option to a preloaded file

Since vc-resolve-conflicts is referenced in backend files, which only
require vc at runtime, move it to vc-hooks to avoid a void
variable error.  (Bug#3860)

* lisp/vc/vc.el (vc-resolve-conflicts): Move from here...
* lisp/vc/vc-hooks.el (vc-resolve-conflicts): ...to here.

(cherry picked from commit 883355cef7c758067b49f50ab98cc5516da55155)

2 months agoFix :map property on sliced images on mode line and header line
Eli Zaretskii [Tue, 1 Apr 2025 15:40:59 +0000 (18:40 +0300)]
Fix :map property on sliced images on mode line and header line

* src/xdisp.c (note_mode_line_or_margin_highlight): Fix coordinates
for image slices wrt ':map' keyword when the image is on the mode
line or header line.  (Bug#77429)

(cherry picked from commit 975d58c4c8d22555a702c418bb68225e6fc630d0)

2 months agoAdded a check to see if the 'speedbar-buffer' is still alive
Vincenzo Pupillo [Mon, 31 Mar 2025 19:49:36 +0000 (21:49 +0200)]
Added a check to see if the 'speedbar-buffer' is still alive

Fix suggested by Rudi Schlatte <rudi@constantly.at>.
* lisp/speedbar.el (speedbar-frame-or-window): Added an additional check
to see if 'speedbar-buffer' is still alive (bug#77405).

(cherry picked from commit 31e744e581bfaf2c75d01204cc07d2da886ae252)

2 months ago; * doc/misc/cl.texi (Structures): Fix references and markup.
Eli Zaretskii [Tue, 1 Apr 2025 11:19:54 +0000 (14:19 +0300)]
; * doc/misc/cl.texi (Structures): Fix references and markup.

(cherry picked from commit 4f6fa90ec5c8fa2d5709a9ba375dbfa8f0029115)

2 months agoSuppress error in non-file buffer
Ikumi Keita [Fri, 28 Mar 2025 13:18:42 +0000 (22:18 +0900)]
Suppress error in non-file buffer

* lisp/textmodes/reftex.el (reftex--suppress-nonfile-error): New
variable.
(reftex-TeX-master-file): Don't signal error in non-file buffer.
(AUCTeX bug#76615)

(cherry picked from commit 905712690097addb201b02bd936aa26361316723)

2 months ago; Skip commit bdee2481728f57053690f0dd76c943ddd5f343d9
Eshel Yaron [Thu, 3 Apr 2025 16:49:54 +0000 (18:49 +0200)]
; Skip commit bdee2481728f57053690f0dd76c943ddd5f343d9

2 months agoFix typo in test of read-only cl-defstruct slot.
Earl Hyatt [Sat, 29 Mar 2025 21:30:48 +0000 (17:30 -0400)]
Fix typo in test of read-only cl-defstruct slot.

* test/lisp/emacs-lisp/cl-macs-tests.el (mystruct)
(cl-lib-struct-accessors): Use ":read-only" instead of ":readonly".

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-struct-accessors):
Test using `setf' on read-only accessor to make sure the correct keyword
is used.

(cherry picked from commit 6f311883d246df87fa3ed9c24dbb39078e3fd69f)

2 months agoAdd cl-with-accessors
Earl Hyatt [Thu, 13 Mar 2025 03:01:49 +0000 (23:01 -0400)]
Add cl-with-accessors

* lisp/emacs-lisp/cl-macs.el (cl-with-accessors): New macro.
* doc/misc/cl.texi (Structures): Mention the new macro.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-lib-struct-with-accessors):
New Test.
* etc/NEWS (New macro 'cl-with-accessors'.): Mention the macro.

This macro is useful when making repeated use of a structures accessor
functions, such as reading from a slot and then writing to a slot.  It
is similar to 'with-slots' from EIEIO, but uses accessor functions
instead of slot names.

(cherry picked from commit e04d1dafc700813c835ae4e45af4e104c49e8875)

2 months ago(project-forget-project): Add minibuffer-action
Eshel Yaron [Thu, 3 Apr 2025 16:46:08 +0000 (18:46 +0200)]
(project-forget-project): Add minibuffer-action

2 months agoNew variable completion-max-replace-secs
Eshel Yaron [Thu, 3 Apr 2025 16:45:50 +0000 (18:45 +0200)]
New variable completion-max-replace-secs

2 months ago; Update lisp/ldefs-boot.el
Eshel Yaron [Thu, 3 Apr 2025 12:02:18 +0000 (14:02 +0200)]
; Update lisp/ldefs-boot.el

2 months agoNew function project-read-project-by-name
Eshel Yaron [Thu, 3 Apr 2025 12:01:41 +0000 (14:01 +0200)]
New function project-read-project-by-name

2 months agoClean up flymake-log calls
Eshel Yaron [Thu, 3 Apr 2025 12:01:25 +0000 (14:01 +0200)]
Clean up flymake-log calls

2 months agoelisp-mode.el: Optimize xref-backend-references
Eshel Yaron [Thu, 3 Apr 2025 09:14:02 +0000 (11:14 +0200)]
elisp-mode.el: Optimize xref-backend-references

2 months ago(elisp-completion-at-point): Complete feature names
Eshel Yaron [Thu, 3 Apr 2025 09:12:31 +0000 (11:12 +0200)]
(elisp-completion-at-point): Complete feature names

2 months agoFlymake: minor clean up
Eshel Yaron [Thu, 3 Apr 2025 09:11:50 +0000 (11:11 +0200)]
Flymake: minor clean up

2 months agoImprove logic of tab handling when quitting windows (bug#71386)
Juri Linkov [Mon, 31 Mar 2025 17:40:17 +0000 (20:40 +0300)]
Improve logic of tab handling when quitting windows (bug#71386)

* lisp/window.el (window-deletable-p): Add tab logic that returns
the symbol 'tab' for a set of predefined conditions.
(window--delete): Call 'tab-bar-close-tab' when 'window-deletable-p'
returns the symbol 'tab'.
(quit-restore-window): Remove tab logic and merge it with frame logic.

* test/lisp/tab-bar-tests.el (tab-bar-tests-close-other-tabs-default)
(tab-bar-tests-close-other-tabs-with-arg): Clean up tabs afterwards.
(tab-bar-tests-quit-restore-window): New test.

(cherry picked from commit a97a61b630624f5a6ec917db92e2985c56b20aa0)

2 months ago(insert-kbd-macro): Polish
Stefan Monnier [Mon, 31 Mar 2025 16:01:18 +0000 (12:01 -0400)]
(insert-kbd-macro): Polish

* lisp/macros.el (insert-kbd-macro): Straighten control flow, use `pp`
and `keymap-global-set`.

(cherry picked from commit 513a05dd8761aebc14ffe4ee0a8a6e96feb10531)

2 months agolisp/macros.el (insert-kbd-macro): Fix anonymous case (bug#77317)
Stefan Monnier [Mon, 31 Mar 2025 15:36:20 +0000 (11:36 -0400)]
lisp/macros.el (insert-kbd-macro): Fix anonymous case (bug#77317)

(cherry picked from commit 10eb57169da01f3f96a5954aa42673d10086824f)

2 months agojapan-util.el: Cosmetic changes
Stefan Monnier [Mon, 31 Mar 2025 14:21:58 +0000 (10:21 -0400)]
japan-util.el: Cosmetic changes

* lisp/language/japan-util.el (<toplevel>): Use `pcase-dolist` and `when`.
(japanese-string-conversion): Use `point-min`.

(cherry picked from commit b148e98de37e43dd28207b696994e72808683291)

2 months agoFix replace-region in japan-util.el
Eli Zaretskii [Mon, 31 Mar 2025 13:55:49 +0000 (16:55 +0300)]
Fix replace-region in japan-util.el

* lisp/language/japan-util.el (japanese-replace-region): Allow
STRING to be a character in addition  to a string.  Un-obsolete
it.
(japanese-katakana-region, japanese-hiragana-region)
(japanese-hankaku-region, japanese-zenkaku-region): Call
'japanese-replace-region' instead of 'replace-region-contents'.
(Bug#77397)

(cherry picked from commit fa5cd6b4d917ea6468a4950bff5b8b122468c7ec)

2 months ago; Twice mention 'tab' value in buffer display doc-strings (Bug#71386)
Martin Rudalics [Mon, 31 Mar 2025 07:46:17 +0000 (09:46 +0200)]
; Twice mention 'tab' value in buffer display doc-strings (Bug#71386)

* lisp/window.el (display-buffer-record-window)
(window--display-buffer): Mention value 'tab' for TYPE argument
(Bug#71386).

(cherry picked from commit 1ed1cc83491311517ba46dff73fdc4383ffd4102)

2 months ago; Skip commit 10991877c8d6e47837b8a8d25c44dab7803b9030
Eshel Yaron [Mon, 31 Mar 2025 08:55:59 +0000 (10:55 +0200)]
; Skip commit 10991877c8d6e47837b8a8d25c44dab7803b9030

2 months agoRespect narrowed buffers when parsing JSON (bug#77325)
Pip Cet [Fri, 28 Mar 2025 02:33:19 +0000 (02:33 +0000)]
Respect narrowed buffers when parsing JSON (bug#77325)

* src/json.c (Fjson_insert): Simplify 'memcpy' argument.
(Fjson_parse_buffer): Only read to ZV, not all the way to Z.
* test/src/json-tests.el (with-all-gap-positions-in-temp-buffer):
New macro.
(json-parse-buffer/restricted): New test.

(cherry picked from commit 67e34f0ed8f6d3bbc78187a18f71010c70e10426)

2 months agoFix display of overlay arrow immediately after invisible text
Eli Zaretskii [Sun, 30 Mar 2025 07:29:57 +0000 (10:29 +0300)]
Fix display of overlay arrow immediately after invisible text

* src/xdisp.c (overlay_arrow_at_row): Allow the overlay arrow's
marker position to be anywhere between the row's start and end
charpos.  This keeps the overlay arrow on display even when the
preceding text is invisible.  (Bug#54843)

(cherry picked from commit 209b7e7444df5cb164679c0e55f46cba424ad13c)

2 months agolisp/emacs-lisp/cl-macs.el (cl-labels): Fix docstring (bug#77348)
Stefan Monnier [Sun, 30 Mar 2025 04:44:50 +0000 (00:44 -0400)]
lisp/emacs-lisp/cl-macs.el (cl-labels): Fix docstring (bug#77348)

(cherry picked from commit e6b4c0bcebf4376f60e7801be5f998b42c1e6b06)

2 months agoTighten the criteria for a defun in typescript-ts-mode (bug#77369)
Yuan Fu [Sun, 30 Mar 2025 04:15:02 +0000 (21:15 -0700)]
Tighten the criteria for a defun in typescript-ts-mode (bug#77369)

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--defun-predicate): New function.
(typescript-ts-base-mode): Use new predicate.

(cherry picked from commit 651418895d507001f161e2e22ca9b85647bca19b)

2 months agosrc/insdel.c (replace_range): Remove comment
Stefan Monnier [Sun, 30 Mar 2025 04:10:12 +0000 (00:10 -0400)]
src/insdel.c (replace_range): Remove comment

It should have been removed in commit b16afa45bb6a.

(cherry picked from commit e1b15d58b508da279162c585b6b3783f9e267427)