]> git.eshelyaron.com Git - emacs.git/log
emacs.git
8 weeks agolisp/files.el (internal--get-default-lexical-binding): Buttonize the M-x
Stefan Monnier [Tue, 8 Apr 2025 03:24:21 +0000 (23:24 -0400)]
lisp/files.el (internal--get-default-lexical-binding): Buttonize the M-x

(cherry picked from commit 19257efbf712dc026572a88b46d456d0c4b8c365)

8 weeks agolisp/files.el (internal--get-default-lexical-binding): Handle nested loads
Stefan Monnier [Tue, 8 Apr 2025 02:48:01 +0000 (22:48 -0400)]
lisp/files.el (internal--get-default-lexical-binding): Handle nested loads

(cherry picked from commit 9dc6177206a10efcc3a25894aa7aabaa54044adc)

8 weeks agoReplace some calls to `intern' with DEFSYMs
Po Lu [Tue, 8 Apr 2025 02:26:18 +0000 (10:26 +0800)]
Replace some calls to `intern' with DEFSYMs

* src/filelock.c (lock_file, unlock_file_handle_error): Call
constant symbols rather than interning them all the time.
(syms_of_filelock): New symbols Qask_user_about_lock,
Quserlock__handle_unlock_error, and
Quserlock__ask_user_about_supersession_threat.

(cherry picked from commit b392038560736d4413bc1b31671a9aa826ff873e)

8 weeks ago; * src/lread.c (get_lexical_binding): Fix coding style.
Po Lu [Tue, 8 Apr 2025 01:46:16 +0000 (09:46 +0800)]
; * src/lread.c (get_lexical_binding): Fix coding style.

(cherry picked from commit 9b7402c5fdbae1ec88c47101e9e8f74fcbffe5ec)

8 weeks ago(Fload, Feval_buffer): Emit a warning when lexbind is unset (bug#74145)
Stefan Monnier [Tue, 8 Apr 2025 01:41:35 +0000 (21:41 -0400)]
(Fload, Feval_buffer): Emit a warning when lexbind is unset (bug#74145)

This emits a warning at run-time rather than at compile time.

* src/lread.c (get_lexical_binding): New function.
(Fload, Feval_buffer): Use it.
(syms_of_lread): New var `internal--get-default-lexical-binding-function`.
* lisp/files.el: Set it.
(internal--get-default-lexical-binding): New function.

(cherry picked from commit 9f25d46568bf0a4d617145537db4c8aaf5e0219b)

8 weeks agoeieio: Improve some obsolecence warnings and fix #<CLASS CLASS-XX> names
Stefan Monnier [Mon, 7 Apr 2025 16:41:49 +0000 (12:41 -0400)]
eieio: Improve some obsolecence warnings and fix #<CLASS CLASS-XX> names

* lisp/emacs-lisp/eieio.el (eieio--constructor-macro): Improve message.
(eieio-object-name-string): Avoid repeated class name in the output of
`eieio-object-name`.
(make-instance, clone): Improve message.

* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload): Use the same
obsolescence warning as elsewhere.

(cherry picked from commit 9663c959c73d6cca0c56f833d80ff1d9e9708b70)

8 weeks ago(Freplace_region_contents): Fix point preservation (bug#77607)
Stefan Monnier [Mon, 7 Apr 2025 15:54:06 +0000 (11:54 -0400)]
(Freplace_region_contents): Fix point preservation (bug#77607)

* src/editfns.c (Freplace_region_contents): Save excursion around
temporary restriction (bug#77607) and remove
`record_unwind_protect_excursion` made redundant by commit 40d8650d5177.

(cherry picked from commit ae5c608eca636ad1c5c76294d81f16a16d2ec3b5)

8 weeks agotest/eieio: Silence warnings about slots and obsolete name arg
Stefan Monnier [Mon, 7 Apr 2025 03:49:37 +0000 (23:49 -0400)]
test/eieio: Silence warnings about slots and obsolete name arg

* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
(eieio-test-method-order-list-3, eieio-test-method-order-list-6)
(eieio-test-method-order-list-7, eieio-test-method-order-list-8):
Delete obsolete name argument to constructors.
(eieio-test-method-order-list-4): Make sure backward compatibility is
active when testing the obsolete name arg.

* test/lisp/jsonrpc-tests.el (jsonrpc--call-with-emacsrpc-fixture):
Delete obsolete name argument to constructor.

* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (derived-value):
Silence unknown slot warning.

(cherry picked from commit 31c5fd3bfba31687de31e1e4c3d3501401f023bc)

8 weeks agolisp/emacs-lisp/eieio-custom.el: Require `eieio-base` to silence warning
Stefan Monnier [Mon, 7 Apr 2025 03:43:37 +0000 (23:43 -0400)]
lisp/emacs-lisp/eieio-custom.el: Require `eieio-base` to silence warning

(cherry picked from commit aca9f8c50aeea36f85e602272e97a6adfc93283a)

8 weeks agoeieio: Emit compilation warnings a bit more thoroughly
Stefan Monnier [Mon, 7 Apr 2025 03:39:40 +0000 (23:39 -0400)]
eieio: Emit compilation warnings a bit more thoroughly

We used to warn about unknown slots only in `oref`: add the same check
for `oset` and `slot-boundp`.
Similarly, we warned about obsolete name args only when calling the
constructors: add the same check to `make-instance`.

* lisp/emacs-lisp/eieio-core.el (eieio--check-slot-name): New function
extracted from the compiler-macro of `eieio-oref`.
(eieio-oref, eieio-oset): Use it.
* lisp/emacs-lisp/eieio.el (slot-boundp): Use it.
 (eieio--constructor-macro): Add category to warning.
(make-instance): Add compiler-macro to warn about obsolete name.

(cherry picked from commit 71afa12941ebbd6fa2c010064de01db681985279)

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

8 weeks ago; Skip commit f0c1de75e128c3b35f8b6e9324a6bd58057af6cb
Eshel Yaron [Tue, 8 Apr 2025 05:49:27 +0000 (07:49 +0200)]
; Skip commit f0c1de75e128c3b35f8b6e9324a6bd58057af6cb

8 weeks ago; Skip commit 48b41d595c37a7fd7b2a1e97fd0dcadc24e1a6bb
Eshel Yaron [Tue, 8 Apr 2025 05:49:18 +0000 (07:49 +0200)]
; Skip commit 48b41d595c37a7fd7b2a1e97fd0dcadc24e1a6bb

8 weeks agocedet: Delete obsolete object name arg to EIEIO constructors
Stefan Monnier [Sun, 6 Apr 2025 21:25:43 +0000 (17:25 -0400)]
cedet: Delete obsolete object name arg to EIEIO constructors

For classes that don't inherit from `eieio-named`, this argument
is ignored anyway.

* lisp/auth-source-pass.el (auth-source-pass-backend): Delete obsolete
object-name argument to `auth-source-backend` constructor.

* lisp/cedet/ede/config.el (ede-config-get-configuration): Delete obsolete
object-name argument to ede-config constructor.

* lisp/cedet/ede/cpp-root.el (ede-find-target): Delete obsolete
object-name argument to `ede-cpp-root-target` constructor.

* lisp/cedet/ede/locate.el (ede-enable-locate-on-project): Delete obsolete
object-name argument to ede-locate constructor.

* lisp/cedet/ede/project-am.el (project-am-load-makefile): Delete obsolete
object-name argument to `project-am-makefile` constructor.

* lisp/cedet/semantic/complete.el (semantic-complete-read-tag-buffer-deep)
(semantic-complete-read-tag-local-members)
(semantic-complete-read-tag-project, semantic-complete-read-tag-analyzer):
Delete obsolete object-name argument to
`semantic-collector-buffer-deep`,
`semantic-collector-local-members`,
`semantic-collector-project-brutish`, and
`semantic-collector-analyze-completions` constructors.

* lisp/cedet/semantic/db-ebrowse.el (semanticdb-create-database):
Delete obsolete object-name argument to
`semanticdb-project-database-ebrowse` constructor.

* lisp/cedet/semantic/db-file.el (semanticdb-create-database): Delete
obsolete object-name argument to
`semanticdb-project-database-file` constructor.

* lisp/cedet/semantic/db-typecache.el (semanticdb-get-typecache):
Delete obsolete object-name argument to `semanticdb-typecache` constructor.

* lisp/cedet/semantic/db.el (semanticdb-get-table-index)
(semanticdb-create-table):
Delete obsolete object-name argument to
`semanticdb-default-find-index-class`, new-table-class, and
desired-class constructors.

* lisp/cedet/semantic/bovine/c.el (semantic-analyze-tag-references):
* lisp/cedet/semantic/analyze/refs.el
(semantic-analyze-tag-references-default): Delete obsolete
object-name argument to `semantic-analyze-references` constructor.

* lisp/cedet/srecode/compile.el (srecode-compile-templates):
Delete obsolete object-name argument to `srecode-compile-state` and
`srecode-dictionary-compound-variable` constructors.

* lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict)
(srecode-c-apply-templates): Delete obsolete object-name argument to
`srecode-semantic-tag` constructors.

* lisp/cedet/srecode/dictionary.el (srecode-dictionary-add-entries)
(srecode-compound-toString): Delete obsolete object-name argument to
`srecode-dictionary-compound-variable` and `srecode-field` constructors.

* lisp/cedet/srecode/insert.el (srecode-insert-method-field):
Delete obsolete object-name argument to `srecode-field-value` constructor.

* lisp/cedet/srecode/semantic.el (srecode-semantic-handle-:tag)
(srecode-semantic-insert-tag, srecode-semantic-apply-tag-to-dict-default):
Delete obsolete object-name argument to `srecode-semantic-tag` constructors.

* lisp/cedet/srecode/table.el (srecode-mode-table-new): Delete
obsolete object-name argument to `srecode-template-table` constructor.

(cherry picked from commit 05680dc6c59be73ebe6c5cfa28d4c095edd661f4)

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

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

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