]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 weeks agoibuffer: Display column titles in header line
Daniel Mendler [Sat, 11 Jan 2025 15:36:56 +0000 (16:36 +0100)]
ibuffer: Display column titles in header line

If the option `ibuffer-use-header-line' is set to `title',
display column titles in the header line.
* lisp/ibuffer.el (ibuffer--format-title)
(ibuffer--format-summary): New functions extracted from
`ibuffer-update-title-and-summary'.
(ibuffer-update-title-and-summary): Use them.
(ibuffer-update): Do not always override `header-line-format'.
(ibuffer-use-header-line): Update docstring and option `:type'.
* lisp/ibuf-macs.el (define-ibuffer-sorter): Add "@" to the
interactive specification for clicks on the header line.

* etc/NEWS: Announce the change.
(Bug#75497)

(cherry picked from commit 5294d450da47734bbe2ca259505674bcae5ff573)

4 weeks agolisp/repeat.el: Don't expose `cl-extra/cl-lib` distinction
Stefan Monnier [Sat, 25 Jan 2025 09:42:01 +0000 (04:42 -0500)]
lisp/repeat.el: Don't expose `cl-extra/cl-lib` distinction

(cherry picked from commit 5ee12424b600fe5d677f6b526ab038bad4747f83)

4 weeks agoibuffer: New defcustom `ibuffer-human-readable-size'
Daniel Mendler [Sat, 11 Jan 2025 13:22:02 +0000 (14:22 +0100)]
ibuffer: New defcustom `ibuffer-human-readable-size'

* lisp/ibuffer.el (ibuffer-human-readable-size): New
defcustom.
(define-ibuffer-column size): Use it.

* etc/NEWS: Mention new defcustom.
(Bug#75495)

(cherry picked from commit 35576fde5670dffe104a6b2a76837a1f0a4c16ce)

4 weeks agoQuote identifiers in SQL queries in 'sqlite-mode'
Vladimir Panteleev [Wed, 15 Jan 2025 18:33:23 +0000 (18:33 +0000)]
Quote identifiers in SQL queries in 'sqlite-mode'

* lisp/sqlite-mode.el: (sqlite-mode-list-tables)
(sqlite-mode-list-columns, sqlite--mode--list-data)
(sqlite-mode-delete): Quote identifiers (table and column
names) in the SQL queries.  Fixes, e.g., opening databases
which have a table called "values".  (Bug#75598)

(cherry picked from commit 5e0fc49f3b14928f08eb314b15f70ccbb2ce7229)

4 weeks agoRevert "Simplify absolute (x, y) computation on ttys"
Gerd Möllmann [Sat, 25 Jan 2025 08:39:56 +0000 (09:39 +0100)]
Revert "Simplify absolute (x, y) computation on ttys"

This reverts commit 5e132835ad320be1d5c45ffbf83d67d16fc7bf96.

(cherry picked from commit 13fdcd730ff63bf79caace9a6e46aff5f944b1b7)

4 weeks agoRevert "Fix cursor positioning of nested tty child frames"
Gerd Möllmann [Sat, 25 Jan 2025 08:39:54 +0000 (09:39 +0100)]
Revert "Fix cursor positioning of nested tty child frames"

This reverts commit 8cbb3c7335ff03b6fae4efeae126e91993cb962a.

(cherry picked from commit 65036323fc1cdf18a7812b1c922583e6466972a6)

4 weeks agoRevert "Fix tty-frame-at for nested tty child frames"
Gerd Möllmann [Sat, 25 Jan 2025 08:39:51 +0000 (09:39 +0100)]
Revert "Fix tty-frame-at for nested tty child frames"

This reverts commit 9693f2a95ad14bf0caa34e60d72722d4dd4d85c9.

(cherry picked from commit 9ad28959d6895720865c0718bf60f4b7b0b144f3)

4 weeks agoRevert "Fix mouse position handling for nested tty child frames"
Gerd Möllmann [Sat, 25 Jan 2025 08:39:47 +0000 (09:39 +0100)]
Revert "Fix mouse position handling for nested tty child frames"

This reverts commit f37559a1ee035d184bc4db6e4f597281d3ac6879.

(cherry picked from commit e2cc52dbcd196f95cc79c6c6d899b9e86e696fe5)

4 weeks agoRevert "Multi-tty: selected frame can be a GUI frame"
Gerd Möllmann [Sat, 25 Jan 2025 08:39:11 +0000 (09:39 +0100)]
Revert "Multi-tty: selected frame can be a GUI frame"

This reverts commit 57b7c07b3709d9a2b2c70e0c8218a52448368a12.

(cherry picked from commit d93d822285813b89f2444ef93c5747cbeb67a46b)

4 weeks ago; * admin/admin.el (set-version): Note about Android.
Eli Zaretskii [Sat, 25 Jan 2025 08:38:29 +0000 (10:38 +0200)]
; * admin/admin.el (set-version): Note about Android.

(cherry picked from commit 52dc01f1c8b3c14405cc9ce2a825ea68edcdadc8)

4 weeks agoMulti-tty: selected frame can be a GUI frame
Gerd Möllmann [Sat, 25 Jan 2025 06:54:56 +0000 (07:54 +0100)]
Multi-tty: selected frame can be a GUI frame

* src/dispnew.c (frame_selected_window_frame): New function.
(is_cursor_obscured): Use it.
(terminal_cursor_magic): Use the frame of the selected window of he root
frame.
(combine_updates_for_frame): Move Android conditional compilation out.

(cherry picked from commit 57b7c07b3709d9a2b2c70e0c8218a52448368a12)

4 weeks agoFix mouse position handling for nested tty child frames
Gerd Möllmann [Sat, 25 Jan 2025 06:33:45 +0000 (07:33 +0100)]
Fix mouse position handling for nested tty child frames

* src/dispnew.c (child_xy): New function.
* src/dispextern.h: Declare it.
* src/term.c (tty_frame_at): Return child-relative (x, y) in output
parameters.
(Ftty_frame_at): Return a list (FRAME CHILD-X CHILD-Y).
(handle_one_term_event): Adapt use of tty_frame_at.
* lisp/xt-mouse.el (xterm-mouse-event): Use new tty-frame-at.

(cherry picked from commit f37559a1ee035d184bc4db6e4f597281d3ac6879)

4 weeks agoFix tty-frame-at for nested tty child frames
Gerd Möllmann [Sat, 25 Jan 2025 05:43:49 +0000 (06:43 +0100)]
Fix tty-frame-at for nested tty child frames

* src/term.c (tty_frame_at): Translate child frame origin to absolute
coordinates.

(cherry picked from commit 9693f2a95ad14bf0caa34e60d72722d4dd4d85c9)

4 weeks agoFix cursor positioning of nested tty child frames
Gerd Möllmann [Sat, 25 Jan 2025 04:44:03 +0000 (05:44 +0100)]
Fix cursor positioning of nested tty child frames

* src/terminal.c (cursor_to, raw_cursor_to): Fix translation to root
coordinates.

(cherry picked from commit 8cbb3c7335ff03b6fae4efeae126e91993cb962a)

4 weeks agoSimplify absolute (x, y) computation on ttys
Gerd Möllmann [Sat, 25 Jan 2025 04:33:13 +0000 (05:33 +0100)]
Simplify absolute (x, y) computation on ttys

* src/dispnew.c (root_xy): New function.
(frame_pos_abs): Removed.
(frame_rect_abs, abs_cursor_pos): Use root_xy.
* src/dispextern.h: Declare root_xy.
* src/term.c (mouse_get_xy): Use it.

(cherry picked from commit 5e132835ad320be1d5c45ffbf83d67d16fc7bf96)

4 weeks agoAvoid double spaces around abbrevations in Texinfo
Stefan Kangas [Fri, 24 Jan 2025 16:32:17 +0000 (17:32 +0100)]
Avoid double spaces around abbrevations in Texinfo

* doc/emacs/custom.texi (Init Rebinding):
* doc/emacs/dired.texi (Operating on Files):
* doc/emacs/emacs.texi (Top):
* doc/emacs/emerge-xtra.texi (Emerge):
* doc/emacs/files.texi (Files):
* doc/emacs/frames.texi (Drag and Drop):
* doc/emacs/misc.texi (Hyperlinking):
* doc/emacs/modes.texi (Modes):
* doc/emacs/mule.texi (Input Methods):
* doc/emacs/windows.texi (Window Tool Bar):
* doc/lispintro/emacs-lisp-intro.texi
(Lexical & Dynamic Binding Differences):
* doc/lispref/elisp.texi (Top):
* doc/lispref/functions.texi (Functions, Generic Functions):
* doc/lispref/hash.texi (Defining Hash):
* doc/lispref/keymaps.texi (Creating Keymaps):
* doc/lispref/lists.texi (Property Lists):
* doc/lispref/modes.texi (%-Constructs):
* doc/lispref/nonascii.texi (Character Properties):
* doc/lispref/processes.texi (Misc Network):
* doc/lispref/searching.texi (Regexp Functions):
* doc/lispref/syntax.texi (Syntax Table Internals):
* doc/lispref/text.texi (Filling, Checksum/Hash)
(JSONRPC deferred requests):
* doc/misc/calc.texi (What is Calc, Modes Tutorial):
* doc/misc/cc-mode.texi (List Line-Up, Operator Line-Up)
(Custom Macros, Indenting Directives):
* doc/misc/efaq.texi (Colors on a TTY, Security risks with Emacs):
* doc/misc/eglot.texi (Eglot Variables):
* doc/misc/erc.texi (Connecting):
* doc/misc/eshell.texi (Aliases, Completion):
* doc/misc/flymake.texi (Backend functions):
* doc/misc/gnus-faq.texi (FAQ 5 - Composing messages):
* doc/misc/gnus.texi (Gnus Unplugged, Window Layout)
(Filtering Incoming Mail, History):
* doc/misc/idlwave.texi (Online Help, Catalogs):
* doc/misc/wisent.texi (Wisent Overview): Be more consistent with
abbreviations.  Use @: or comma or rewrite to avoid double spaces.
Ref: https://lists.gnu.org/r/emacs-devel/2025-01/msg00909.html

(cherry picked from commit fb282da2a0756d4e6de16b5879e42204f0d33e5b)

4 weeks ago; time-stamp: Rename some internal symbols
Stephen Gildea [Fri, 24 Jan 2025 18:12:58 +0000 (10:12 -0800)]
; time-stamp: Rename some internal symbols

* lisp/time-stamp.el: (time-stamp-string-preprocess): Rename 'alt-form'
to 'colon-cnt' because it is now an integer.
* test/lisp/time-stamp-tests.el: Rename 'formatz-generate-tests' to
'define-formatz-tests'.

(cherry picked from commit a00e6e7143d5ebf7282b5e5b410e1bd882634d57)

4 weeks ago; * lisp/time-stamp.el: Improve two documentation strings
Stephen Gildea [Fri, 24 Jan 2025 17:44:03 +0000 (09:44 -0800)]
; * lisp/time-stamp.el: Improve two documentation strings

(cherry picked from commit 77fe4fbeffc723337bd295e593c8062cd4ab7e43)

4 weeks ago; * doc/emacs/files.texi: only one time stamp index entry
Stephen Gildea [Fri, 24 Jan 2025 16:54:13 +0000 (08:54 -0800)]
; * doc/emacs/files.texi: only one time stamp index entry

(cherry picked from commit 0d38f1d07b27ad3634a667388c39d55ed2bb6137)

4 weeks ago; Skip commit bc1ab8ac3d8fd8f42641ad45820df995525ddf0b
Eshel Yaron [Sat, 25 Jan 2025 17:45:20 +0000 (18:45 +0100)]
; Skip commit bc1ab8ac3d8fd8f42641ad45820df995525ddf0b

4 weeks ago; Fix previous change
Robert Pluim [Fri, 24 Jan 2025 14:58:47 +0000 (15:58 +0100)]
; Fix previous change

* doc/emacs/fixit.texi (Spelling): Use "personal" instead of
"private" dictionary.

(cherry picked from commit b41ef43af19479279f6f967e3cb9e6b0aa3622d8)

4 weeks agoIspell: Use "personal dictionary" terminology consistently
Rudolf Adamkovič [Fri, 24 Jan 2025 09:52:14 +0000 (10:52 +0100)]
Ispell: Use "personal dictionary" terminology consistently

* lisp/textmodes/ispell.el (ispell-command-loop, ispell-help): Use
consistent terminology when referring to "personal dictionary".
(Bug#75802)

(cherry picked from commit 5638b1d6bd41e822796cbba1e1692c0899183bb5)

4 weeks agoDisable more redisplay optimizations when child frames are visible
Gerd Möllmann [Fri, 24 Jan 2025 10:18:54 +0000 (11:18 +0100)]
Disable more redisplay optimizations when child frames are visible

* src/xdisp.c (redisplay_internal): Disable more optimizations
on a tty root frame displaying a child frame.
(try_cursor_movement,(try_window_reusing_current_matrix)
(try_window_id): Don't use on tty root frames displaying a child frame.

(cherry picked from commit 07a2a67e3bfd674daad7a7d8947a0ab67b4e13e8)

4 weeks ago; * src/dispnew.c (combine_updates_for_frame): Fix whitespace.
Eli Zaretskii [Fri, 24 Jan 2025 08:41:00 +0000 (10:41 +0200)]
; * src/dispnew.c (combine_updates_for_frame): Fix whitespace.

(cherry picked from commit 5e657ad1fe2567f7d21639dbac40949870fe76f9)

4 weeks agoRevert "; * src/dispnew.c (combine_updates_for_frame): Fix whitespace."
Eli Zaretskii [Fri, 24 Jan 2025 08:40:14 +0000 (10:40 +0200)]
Revert "; * src/dispnew.c (combine_updates_for_frame): Fix whitespace."

This reverts commit c941b94e51f4e5996718416ac908249cb71da1d9.
It was pushed by mistake.

(cherry picked from commit 6c633ece6e6743d9724ff116322e573ddf79d79f)

4 weeks ago; * src/dispnew.c (combine_updates_for_frame): Fix whitespace.
Eli Zaretskii [Fri, 24 Jan 2025 08:26:26 +0000 (10:26 +0200)]
; * src/dispnew.c (combine_updates_for_frame): Fix whitespace.

(cherry picked from commit c941b94e51f4e5996718416ac908249cb71da1d9)

4 weeks agoHandle update of invisible tty frames (bug#75056)
Gerd Möllmann [Thu, 23 Jan 2025 19:53:50 +0000 (20:53 +0100)]
Handle update of invisible tty frames (bug#75056)

* src/dispnew.c (combine_updates_for_frame): Don't assume root frame is
visible.

(cherry picked from commit 15315780ae36cc2af6e276165562dc793334c2f9)

4 weeks ago; Check man pages for mistakes less frequently
Stefan Kangas [Fri, 24 Jan 2025 00:53:21 +0000 (01:53 +0100)]
; Check man pages for mistakes less frequently

* admin/make-tarball.txt: Move checking man pages from here...
* admin/release-process: ...to here.

(cherry picked from commit cc791e7499fb2cc64a317e340fc90b45fb683da7)

4 weeks ago; * admin/release-process: Minor copy-edits.
Stefan Kangas [Fri, 24 Jan 2025 00:40:55 +0000 (01:40 +0100)]
; * admin/release-process: Minor copy-edits.

(cherry picked from commit 4ed4792e3b9f77a504925ca46b2181b5e823556b)

4 weeks agoSupport loading dynamic docstrings from Emacs <29
Stefan Kangas [Thu, 23 Jan 2025 23:44:21 +0000 (00:44 +0100)]
Support loading dynamic docstrings from Emacs <29

* src/doc.c (get_doc_string): Take absolute value to be compatible with
bytecode from Emacs <29.

(cherry picked from commit f14c24dbe7f65786115f8f62a337be45996c38b8)

4 weeks agoDon't use negative positions for docstrings
Stefan Kangas [Thu, 23 Jan 2025 23:16:08 +0000 (00:16 +0100)]
Don't use negative positions for docstrings

These were used for user-variables (doc starts with a '*'), but we don't
use that convention any more.  On my machine, there are no docstrings
starting with a '*' in etc/DOC.

* src/doc.c (Fsnarf_documentation): Never use negative positions.
(get_doc_string): Don't use eabs; position must now be positive, and all
callers are verified to do that.

(cherry picked from commit c7f6da7a4141a9f3492b8dbb0c1de710bd4757fa)

4 weeks agoFix GC bug causing incorrect 'format' output (Bug#75754)
Pip Cet [Wed, 22 Jan 2025 19:08:02 +0000 (19:08 +0000)]
Fix GC bug causing incorrect 'format' output (Bug#75754)

This fixes the correctness bug discovered in bug#75754, but not the
performance issue or excessive stack usage.

* src/editfns.c (styled_format): Split 'info' array into two arrays,
one of them allocated via SAFE_ALLOCA_LISP for GC protection.

(cherry picked from commit ed5067e689a5e38795d5c27c5a688886d259a298)

4 weeks agoSimplify Fdocumentation and Fdocumentation_property
Stefan Kangas [Thu, 23 Jan 2025 17:45:14 +0000 (18:45 +0100)]
Simplify Fdocumentation and Fdocumentation_property

* src/doc.c (Fdocumentation, Fdocumentation_property): Simplify;
reread_doc_file always returns true so just assume that.
(reread_doc_file): Change return type to void.

(cherry picked from commit 990b0811adefb4b792d36797540e5773791437f9)

4 weeks agoAdd language server "ruff server" for Python
Stefan Kangas [Thu, 23 Jan 2025 17:32:29 +0000 (18:32 +0100)]
Add language server "ruff server" for Python

* lisp/progmodes/eglot.el (eglot-server-programs): Add "ruff
server" for Python.

(cherry picked from commit 4a867c823b77fc77be57f13d355fe9469281d653)

4 weeks agoFix go-ts-mode type declaration indentation (Bug#75785)
Randy Taylor [Thu, 23 Jan 2025 16:16:34 +0000 (11:16 -0500)]
Fix go-ts-mode type declaration indentation (Bug#75785)

* lisp/progmodes/go-ts-mode.el (go-ts-mode--indent-rules):
Add rule for type_declaration.

(cherry picked from commit 9e687c2871f8fd6146b0c5591d65ee61d8374c5e)

4 weeks agoEglot: skip Tramp tests except on Emacs 28+
João Távora [Thu, 23 Jan 2025 11:20:38 +0000 (11:20 +0000)]
Eglot: skip Tramp tests except on Emacs 28+

* test/lisp/progmodes/eglot-tests.el
(eglot--call-with-tramp-test): Fix

(cherry picked from commit c888e726ca9092fedd98e80e40c28b0fa54a34be)

4 weeks agoHandle tty menus overlapping child frames
Gerd Möllmann [Thu, 23 Jan 2025 14:30:30 +0000 (15:30 +0100)]
Handle tty menus overlapping child frames

* src/dispnew.c (frame_pos_abs, is_frame_ancestor): Make externally
visible.
* src/dispextern.h: Declare above functions.
* src/term.c (mouse_get_xy): Handle mouse movement over child frames.

(cherry picked from commit d83d090de1127d6e88e4ff33a617d8621a85a8cd)

4 weeks ago; * lisp/emacs-lisp/shortdoc.el (map): Fix copy'n'pasto.
Robert Pluim [Thu, 23 Jan 2025 12:27:40 +0000 (13:27 +0100)]
; * lisp/emacs-lisp/shortdoc.el (map): Fix copy'n'pasto.

(cherry picked from commit da3b93ff9658481fa81a1dbd49618ed8792f9f3b)

4 weeks ago; Minor improvements for doc strings in map.el
Eli Zaretskii [Thu, 23 Jan 2025 10:29:04 +0000 (12:29 +0200)]
; Minor improvements for doc strings in map.el

* lisp/emacs-lisp/map.el (map-let, map-put, map-apply)
(map-values-apply, map-some, map-every-p, map--merge)
(map-merge-with, map-put!): Doc fixes.

(cherry picked from commit f751b3afa4f5646625293cb5484606842f96495e)

4 weeks agoAdd shortdoc for map.el functions
Robert Pluim [Thu, 23 Jan 2025 10:17:12 +0000 (11:17 +0100)]
Add shortdoc for map.el functions

* lisp/emacs-lisp/shortdoc.el (map): New shortdoc group.

(cherry picked from commit 67480c159ed3a4b3c8a93f6dbe0317617cf6ee26)

4 weeks ago; Fix typos
Stefan Kangas [Thu, 23 Jan 2025 02:13:01 +0000 (03:13 +0100)]
; Fix typos

(cherry picked from commit cda78edc7d9194181bcda1790f29cb7cf3ceb0b9)

4 weeks ago; * src/w32.c (w32_memory_info): Fix coding style of last change.
Eli Zaretskii [Tue, 21 Jan 2025 19:25:15 +0000 (21:25 +0200)]
; * src/w32.c (w32_memory_info): Fix coding style of last change.

(cherry picked from commit ce50a1d3c18bcf0e5f51f4ed49f292f7be31010d)

4 weeks agoFix bug in w32_memory_info
Arthur Miller [Tue, 21 Jan 2025 18:10:14 +0000 (19:10 +0100)]
Fix bug in w32_memory_info

* src/w32.c (w32_memory_info): Initialize struct size.

(cherry picked from commit 58d3d4820ad327f07cea5894a9675bf30553461e)

4 weeks agoAvoid crashes in redisplay due to problematic font setups
Eli Zaretskii [Tue, 21 Jan 2025 12:24:57 +0000 (14:24 +0200)]
Avoid crashes in redisplay due to problematic font setups

* src/xdisp.c (handle_single_display_spec)
(produce_stretch_glyph): Avoid crashes if a face's font is NULL.
(Bug#75725)

(cherry picked from commit 77386412050fa348940bf83c5d736ff7b745d5d8)

4 weeks agoImprove 'key-valid-p' docstring
Robert Pluim [Fri, 17 Jan 2025 08:44:32 +0000 (09:44 +0100)]
Improve 'key-valid-p' docstring

* lisp/keymap.el (key-valid-p): Add "RET", "<return>", and "C-m"
examples.

(Bug#75586)

(cherry picked from commit 0e3687e6006ea93603a032056c6af99a242c6af5)

4 weeks agoMinor copyedits in internals.texi
Stefan Kangas [Sun, 19 Jan 2025 13:28:30 +0000 (14:28 +0100)]
Minor copyedits in internals.texi

* doc/lispref/internals.texi (Writing Emacs Primitives): Minor
copyedits.

(cherry picked from commit 9878092d2b9114d70149c3d9ce1c24e2825138ae)

4 weeks agoBetter document side-effect free and pure C functions
Stefan Kangas [Sun, 19 Jan 2025 12:57:23 +0000 (13:57 +0100)]
Better document side-effect free and pure C functions

* doc/lispref/internals.texi (Writing Emacs Primitives):
Document that side-effect free and pure properties of C functions
are defined in byte-opt.el.

(cherry picked from commit 4726900fdc5b0736feb03e928594eb64262f9bd5)

4 weeks ago; Fix documentation about faces of tool-tip text
Eli Zaretskii [Sat, 18 Jan 2025 13:07:52 +0000 (15:07 +0200)]
; Fix documentation about faces of tool-tip text

* lisp/tooltip.el (tooltip):
* src/frame.c (syms_of_frame) <use-system-tooltips>: Doc fixes.

(cherry picked from commit 04c475a39f25b09b557e3183bcd5340d75120e0c)

4 weeks agoStart refactoring scope.el
Eshel Yaron [Sat, 25 Jan 2025 17:39:23 +0000 (18:39 +0100)]
Start refactoring scope.el

4 weeks agoscope.el: Analyze minor mode definitions
Eshel Yaron [Thu, 23 Jan 2025 18:27:47 +0000 (19:27 +0100)]
scope.el: Analyze minor mode definitions

4 weeks agoDon't forget setting the top frame if not switching root frames
Gerd Möllmann [Thu, 23 Jan 2025 10:07:13 +0000 (11:07 +0100)]
Don't forget setting the top frame if not switching root frames

* src/frame.c (do_switch_frame): Make sure to set top frame in all
cases.

(cherry picked from commit 076cd69fc2e6edcc1d667266f0cf2f7743de0df5)

4 weeks agoFix setting a tty's top frame when switching frames
Gerd Möllmann [Thu, 23 Jan 2025 06:51:55 +0000 (07:51 +0100)]
Fix setting a tty's top frame when switching frames

* src/frame.c (do_switch_frame): Compare root frames correctly.

(cherry picked from commit b1ec006e9f9196c1f993e0373b20a5ffb548bb4f)

4 weeks ago; Skip commit 1dc529d4638469b828a24006dae5830dd9f794d0
Eshel Yaron [Thu, 23 Jan 2025 10:29:28 +0000 (11:29 +0100)]
; Skip commit 1dc529d4638469b828a24006dae5830dd9f794d0

4 weeks ago; Skip commit 796665b32e9431a923881eb4c02e45bf1639a7ff
Eshel Yaron [Thu, 23 Jan 2025 10:29:26 +0000 (11:29 +0100)]
; Skip commit 796665b32e9431a923881eb4c02e45bf1639a7ff

4 weeks ago; Skip commit 90b4c1b6f264773e33e7984af9a95b4b503ed02f
Eshel Yaron [Thu, 23 Jan 2025 10:29:23 +0000 (11:29 +0100)]
; Skip commit 90b4c1b6f264773e33e7984af9a95b4b503ed02f

4 weeks ago; Skip commit aa6d2a396a493736395533cacea6b5363a24c0b6
Eshel Yaron [Thu, 23 Jan 2025 10:29:16 +0000 (11:29 +0100)]
; Skip commit aa6d2a396a493736395533cacea6b5363a24c0b6

4 weeks agoReuse client cert for connectivity probing in ERC
F. Jason Park [Tue, 21 Jan 2025 00:32:53 +0000 (16:32 -0800)]
Reuse client cert for connectivity probing in ERC

* lisp/erc/erc-backend.el (erc--server-connect-function)
(erc--server-post-dial-function): Rename former to latter because the
existing name is better suited for the eventual generalizing of
`erc-server-connect' in a future version.
(erc-server-connect): Use new name for `erc--server-connect-function',
`erc--server-post-dial-function'.
(erc--recon-probe-reschedule, erc--recon-probe-sentinel)
(erc--recon-probe-filter, erc--recon-probe-check): New functions
factored out of `erc-server-delayed-check-reconnect'.
(erc-server-delayed-check-reconnect): Refactor, splitting off lambdas
into top-level functions for improved tracing.
* lisp/erc/erc.el (erc-message-english-recon-probe-hung-up)
(erc-message-english-recon-probe-nobody-home): New
variables.  (Bug#62044)

Thanks to Libera.Chat user arjan for reporting this bug, which
is new in ERC 5.6 and Emacs 30.1.

(cherry picked from commit 331bcfaee51f7fa5ff0f6046f30e940452f3a8fe)

4 weeks ago; Don't quote localp argument to define-erc-module
F. Jason Park [Sat, 18 Jan 2025 19:12:50 +0000 (11:12 -0800)]
; Don't quote localp argument to define-erc-module

* etc/ERC-NEWS: Rearrange some entries for 5.6.1.
* lisp/erc/erc-fill.el (erc-fill-wrap-mode):
* lisp/erc/erc-goodies.el (erc-keep-place-indicator-mode)
(erc-command-indicator-mode):
* lisp/erc/erc-nicks.el (erc-nicks-mode):
* lisp/erc/erc-notify.el (erc-querypoll-mode):
* lisp/erc/erc-sasl.el (erc-sasl-mode):
* lisp/erc/erc-services.el (erc-services-regain-mode): Don't quote
localp argument.
* test/lisp/erc/erc-scenarios-misc.el (erc-nicks-track-faces/defer):
Skip on Emacs 27 due to recent CI failures.
* test/lisp/erc/erc-scenarios-misc.el (erc-scenarios-base-flood): Adjust
timeout.

(cherry picked from commit d6b210aa09d6a5464c91e71460d9852a4445d46e)

4 weeks agoEglot: unbreak a rarely run test
João Távora [Wed, 22 Jan 2025 22:25:03 +0000 (22:25 +0000)]
Eglot: unbreak a rarely run test

* test/lisp/progmodes/eglot-tests.el
(eglot-test-snippet-completions-with-company): Don't expect fooba to be
there, do expect two completions to be candidates.

(cherry picked from commit 92c5c1b786968b6d80f5d27455a40443a3a8f0e8)

4 weeks agoEglot: unbreak tests for older Emacsen
João Távora [Wed, 22 Jan 2025 22:24:26 +0000 (22:24 +0000)]
Eglot: unbreak tests for older Emacsen

* test/lisp/progmodes/eglot-tests.el (eglot-test-basic-symlink):
Use skip-unless

(cherry picked from commit 47a938c8890e81c4472018df52e62ab196efb103)

4 weeks agoEglot: fix edebug spec of eglot--dbind
João Távora [Wed, 22 Jan 2025 22:02:00 +0000 (22:02 +0000)]
Eglot: fix edebug spec of eglot--dbind

* lisp/progmodes/eglot.el (eglot--dbind): Fix edebug spec.

(cherry picked from commit 9068dcbd71b05bcb6ff2fdbb6e56375f8ac162fb)

4 weeks agoEglot: unbreak completion in Emacs 26.3 (at least)
João Távora [Wed, 22 Jan 2025 21:52:56 +0000 (21:52 +0000)]
Eglot: unbreak completion in Emacs 26.3 (at least)

For reasons yet to be investigated, in some Emacs older versions,
callers of the completion table created by eglot-completion-at-point
will destroy text properties in the strings returned by the
"all-completions" call (destroy here means completely erase).  This
completely breaks Eglot completion.

(eglot-completion-at-point): Copy substrings in all-completions
call.

(cherry picked from commit 7e2f6ce0cb1e5eb2c686451836275acf234bc354)

4 weeks agoEglot: abandon compat.el
João Távora [Wed, 22 Jan 2025 21:43:10 +0000 (21:43 +0000)]
Eglot: abandon compat.el

After period of months using this to help compatibility to older Emacs
versions.  It's not really buying us that much and complicates
maintenance, so it gets the axe.

A common problem is the compatibility alias for require-with-check,
which often errors with some "Feature X loaded from Y is now provided by
Z".  The tests for Emacs 26.3 were all failing in the Github tracker
ever since this (and track-changes.el) were added to Eglot.

* lisp/progmodes/eglot.el (compat): No longer require.
(eglot-alternatives): Reword comment.
(eglot-alternatives): Call eglot--executable-find.
(eglot--guess-contact): Call eglot--executable-find.
(eglot--connect): Check if package-get-version exists.
(eglot--format): Check if substitute-quotes exists.
(eglot--format-markup): Check if text-property-search exists.

(cherry picked from commit a60249b098d22093ec79b6cbc27a759b7b4f8883)

4 weeks agoEglot: abandon track-changes.el
João Távora [Wed, 22 Jan 2025 15:44:41 +0000 (15:44 +0000)]
Eglot: abandon track-changes.el

After a ~10 month period of using track-changes.el as a support library
for tracking buffer changes, I've decided to go back to manually using
after-change-functions and before-change-functions.

track-changes.el showed promise:

- One of the selling points was to turn complicated a-c-functions and
  b-c-functions into something easier, but that objectively didn't pan
  out, with "virtual" positions, one-shot hooks, and tracker
  registrations being abstractions and complications mastered by very
  few.

- The other selling point was the ability to log and detect those parts
  of Emacs that cheat the modification hooks and correct them.  As far
  as I can tell, only one such cheater -- quail.el -- was identified.
  But with little consequence, only an ugly workaround in eglot.el (now
  removed).

- After using Eglot daily for all this time, I didn't notice any
  decrease in desynchronization events.

- I did notice an increase in track-changes.el related bugs, some of
  which still baffle me and and hard to reproduce.  A common occurence
  is the '(cl-assertion-failed (memq id track-changes--trackers))'
  which is hard to track down.

- The library makes it more complicated to run Eglot on older Emacsen.

I might yet revisit this matter for the next version but this
experience has shown that it didn't bring the advantages I thought it
would, so I'm abandoning it until at least 1.19 is out.

* lisp/progmodes/eglot.el (track-changes): No longer require.
(eglot--virtual-pos-to-lsp-position): Delete.
(eglot--managed-mode): Simplify.
(eglot--track-changes): Delete this variable.
(eglot--recent-changes): Reword doc.
(eglot--before-change, eglot--after-change): Bring back.
(eglot--track-changes-fetch): Delete.
(eglot--add-one-shot-hook): Delete.
(eglot--track-changes-signal): Delete.

(cherry picked from commit ac902ddadcd236dfd1d610768569e26ea8fc5b7f)

4 weeks agoMinor image_error related cleanups
Stefan Kangas [Wed, 22 Jan 2025 22:42:13 +0000 (23:42 +0100)]
Minor image_error related cleanups

* src/image.c (image_create_x_image_and_pixmap_1): Avoid temporary
variable by passing the value directly to image_error.
(tiff_handler): Prefer image_error to add_to_log for local
consistency.

(cherry picked from commit d3ada49a37e19d25170bf6322fee70d527055958)

4 weeks ago; * src/pdumper.c (dump_hash_table): Adjust hash; bitfields changed.
Pip Cet [Wed, 22 Jan 2025 19:50:31 +0000 (19:50 +0000)]
; * src/pdumper.c (dump_hash_table): Adjust hash; bitfields changed.

(cherry picked from commit bf55eb1a8ae95051ac5c8a646b2a106053d7b1b7)

4 weeks agoPort allows-stdout test to overly-suspicious bwrap
Paul Eggert [Wed, 22 Jan 2025 19:03:08 +0000 (11:03 -0800)]
Port allows-stdout test to overly-suspicious bwrap

* test/src/emacs-tests.el (emacs-tests/bwrap/allows-stdout):
Skip test if bwrap prohibits even "echo Hi",
which it does on my Ubuntu 24.10 platform.
This extra check means we no longer need to test
separately whether the filter is readable.

(cherry picked from commit 34166dcf9cbd961d4f53ce9029e179a21a12c001)

4 weeks agoDon’t silently truncate connection-lost diagnostic
Paul Eggert [Wed, 22 Jan 2025 06:25:48 +0000 (22:25 -0800)]
Don’t silently truncate connection-lost diagnostic

* src/xterm.c (x_io_error_quitter): Do not silently truncate
the diagnostic when a connection is lost to an X server.

(cherry picked from commit 2efffbe7731ba979540df851819af0ef15b94c62)

4 weeks agoCheck for snprintf truncation in pgtkterm
Paul Eggert [Wed, 22 Jan 2025 06:19:08 +0000 (22:19 -0800)]
Check for snprintf truncation in pgtkterm

* src/pgtkterm.c (pgtk_enumerate_devices):
Abort if snprintf truncated.

(cherry picked from commit db9ea9b77a0d03342bfe2a976b3943de5e5a4518)

4 weeks agoPort pdumper to unlikely long sprintf output
Paul Eggert [Wed, 22 Jan 2025 06:18:17 +0000 (22:18 -0800)]
Port pdumper to unlikely long sprintf output

* src/pdumper.c (dump_ptr_referrer): Port to platforms
where sprintf %p generates absurdly long output.
(dump_vectorlike): Port to hypothetical platforms
where %d generates absurdly long output.

(cherry picked from commit 4a25ed300fec579f8fc75a53edbd9a6f74e2d44f)

4 weeks agoWhen debugging image.c, abort if silent truncation
Paul Eggert [Wed, 22 Jan 2025 06:16:22 +0000 (22:16 -0800)]
When debugging image.c, abort if silent truncation

* src/image.c (image_build_heuristic_mask, png_load_body):
Abort if snprintf truncated.  (If truncation is not possible
here we should use sprintf instead, as that simplifies
automatic runtime checking.)

(cherry picked from commit 8ff7338fdd05fe6d21765711327a99c87cfd7613)

4 weeks agoDestroy GTK tool bar widget if it was never attached (bug#75636)
Pip Cet [Wed, 22 Jan 2025 00:51:33 +0000 (00:51 +0000)]
Destroy GTK tool bar widget if it was never attached (bug#75636)

* src/gtkutil.c (xg_free_frame_widgets): Call gtk_widget_destroy on an
unpacked toolbar widget.

(cherry picked from commit 6ea1e03fe7f9e49387789c86b8f91f6333de679c)

4 weeks agoPrefer snprintf to sprintf in image.c
Stefan Kangas [Tue, 21 Jan 2025 23:47:02 +0000 (00:47 +0100)]
Prefer snprintf to sprintf in image.c

* src/image.c (image_background, image_build_heuristic_mask)
(png_load_body): Prefer snprintf to sprintf.

(cherry picked from commit cdcfffd50a61058b135ddca1f748a5a20a7da32e)

4 weeks agoDelete some duplicate face attributes
Stefan Kangas [Tue, 21 Jan 2025 19:49:38 +0000 (20:49 +0100)]
Delete some duplicate face attributes

* etc/themes/leuven-dark-theme.el:
* etc/themes/leuven-theme.el:
* etc/themes/manoj-dark-theme.el: Delete duplicate face attributes.

(cherry picked from commit 5f108cb663a9488c587507e4f723fe1e12732945)

4 weeks agoImprove copying current glyphs when building frame matrix
Gerd Möllmann [Tue, 21 Jan 2025 19:40:19 +0000 (20:40 +0100)]
Improve copying current glyphs when building frame matrix

* src/dispnew.c (build_frame_matrix_from_leaf_window): Don't make space
glyphs. More comments.

(cherry picked from commit d30f40868bf260692c7702e43b439d592b830e16)

4 weeks ago; * src/gtkutil.c (free_frame_tool_bar): Remove redundant assignment.
Pip Cet [Tue, 21 Jan 2025 19:13:24 +0000 (19:13 +0000)]
; * src/gtkutil.c (free_frame_tool_bar): Remove redundant assignment.

(cherry picked from commit 1f02677500211a163dd22b1263edec0d7be0fd16)

4 weeks agoHandle unknown units provided by the rsvg library (bug#75712)
Pip Cet [Tue, 21 Jan 2025 18:55:01 +0000 (18:55 +0000)]
Handle unknown units provided by the rsvg library (bug#75712)

* src/image.c (svg_css_length_to_pixels): Restructure so GCC warns
about new enum members.  Add case for RSVG_UNIT_CH.  Warn about
unknown units discovered at runtime.

(cherry picked from commit d7bdaa4170cd6115a6e3b4d872d8a428397fb2d8)

4 weeks agoDon't use a redisplay optimization in a certain case on ttys
Gerd Möllmann [Tue, 21 Jan 2025 17:31:10 +0000 (18:31 +0100)]
Don't use a redisplay optimization in a certain case on ttys

* src/dispnew.c (is_tty_root_frame_with_visible_child): New function.
* src/dispextern.h: Declare it.
* src/xdisp.c (redisplay_internal): Don't use optimization 1 for tty root
frames with a visible child frame.

(cherry picked from commit 0fd5b2d146e3578820446aa69b30d93958d9b1a5)

4 weeks agoRemove a false #ifdef HAVE_WINDOW_SYSTEM
Gerd Möllmann [Mon, 20 Jan 2025 17:11:58 +0000 (18:11 +0100)]
Remove a false #ifdef HAVE_WINDOW_SYSTEM

* src/xdiso.c (update_tab_bar)_ Don't use #ifdef HAVE_WINDOW_SYSTEM for
setting the selected frame. That only makes a build without window
system misbehave.

(cherry picked from commit eaa79e25a6b34f5f3dca5961233498afbacaec58)

4 weeks agoSignal error when keyword/arg list is malformed
Robert Pluim [Mon, 20 Jan 2025 17:43:00 +0000 (18:43 +0100)]
Signal error when keyword/arg list is malformed

* src/data.c (syms_of_data): Add Qmalformed_keyword_arg_list
error symbol.

* src/process.c (Fmake_process, Fmake_pipe_process)
(Fserial_process_configure, Fmake_serial_process)
(Fmake_network_process): Signal Qmalformed_keyword_arg_list when
the argument list length is odd.
* src/sound.c (parse_sound): Also here..
* src/w32fns.c (Fw32_notification_notify): ..and here.

(Bug#75584)

(cherry picked from commit 14e686e6cca83054afceb353ad7a1e24ebdb0133)

4 weeks agoPrefer defface's ':slant italic' to obsolete alias ':italic t'
Stefan Kangas [Tue, 21 Jan 2025 08:56:59 +0000 (09:56 +0100)]
Prefer defface's ':slant italic' to obsolete alias ':italic t'

* etc/themes/manoj-dark-theme.el (manoj-dark):
* etc/themes/modus-themes.el (modus-themes-faces):
* etc/themes/manoj-dark-theme.el (manoj-dark):
* etc/themes/modus-themes.el (modus-themes-faces):
* lisp/emacs-lisp/eieio-custom.el (eieio-custom-slot-tag-face):
* lisp/gnus/gnus-art.el (gnus-emphasis-italic)
(gnus-emphasis-underline-italic, gnus-emphasis-bold-italic)
(gnus-emphasis-underline-bold-italic, gnus-signature)
(gnus-header-from, gnus-header-subject, gnus-header-newsgroups)
(gnus-header-content):
* lisp/gnus/gnus-cite.el (gnus-cite-attribution, gnus-cite-1)
(gnus-cite-2, gnus-cite-3, gnus-cite-4, gnus-cite-5, gnus-cite-6)
(gnus-cite-7, gnus-cite-8, gnus-cite-9, gnus-cite-10, gnus-cite-11):
* lisp/gnus/gnus-srvr.el (gnus-server-cloud-host)
(gnus-server-closed):
* lisp/gnus/gnus.el (gnus-group-mail-1-empty)
(gnus-group-mail-2-empty, gnus-summary-low-ticked)
(gnus-summary-low-ancient, gnus-summary-low-undownloaded)
(gnus-summary-low-unread, gnus-summary-low-read):
* lisp/gnus/message.el (message-header-to)
(message-header-newsgroups, message-header-other):
* lisp/gnus/mm-decode.el (mm-command-output):
* lisp/mh-e/mh-e.el (mh-face-data, mh-folder-body):
* lisp/net/dictionary.el (dictionary-word-entry-face):
* lisp/org/org-faces.el (org-formula, org-agenda-date-today)
(org-scheduled, org-scheduled-today):
* lisp/proced.el (proced-interruptible-sleep-status-code):
* lisp/progmodes/prolog.el (prolog-font-lock-keywords):
* lisp/progmodes/verilog-mode.el (verilog-font-lock-translate-off-face)
(verilog-font-lock-p1800-face, verilog-font-lock-ams-face)
(verilog-font-lock-grouping-keywords-face):
* lisp/progmodes/vhdl-mode.el (vhdl-font-lock-attribute-face)
(vhdl-font-lock-enumvalue-face, vhdl-font-lock-function-face)
(vhdl-font-lock-directive-face):
* lisp/transient.el (transient-inapt-suffix):
* lisp/vc/ediff-init.el (ediff-even-diff-A, ediff-even-diff-B)
(ediff-even-diff-C, ediff-even-diff-Ancestor, ediff-odd-diff-A)
(ediff-odd-diff-B, ediff-odd-diff-C, ediff-odd-diff-Ancestor):
Prefer defface attribute ':slant italic' to its obsolete alias
':italic t'.  See also Bug#73552.

(cherry picked from commit 64d314e0f6495de6fcf4f4c51e710b597a237e4f)

4 weeks agoPrefer defface's ':weight bold' to obsolete alias ':bold t'
Stefan Kangas [Tue, 21 Jan 2025 08:23:03 +0000 (09:23 +0100)]
Prefer defface's ':weight bold' to obsolete alias ':bold t'

* etc/themes/adwaita-theme.el (adwaita):
* etc/themes/manoj-dark-theme.el (manoj-dark):
* etc/themes/modus-themes.el (modus-themes-faces):
* lisp/gnus/gnus-srvr.el (gnus-server-agent, gnus-server-cloud)
(gnus-server-opened, gnus-server-denied, gnus-server-offline):
* lisp/gnus/gnus.el (gnus-group-news-1, gnus-group-news-2)
(gnus-group-news-3, gnus-group-news-4, gnus-group-news-5)
(gnus-group-news-6, gnus-group-news-low, gnus-group-mail-1)
(gnus-group-mail-2, gnus-group-mail-3, gnus-group-mail-low-empty)
(gnus-group-mail-low, gnus-summary-high-ticked)
(gnus-summary-high-ancient, gnus-summary-high-undownloaded)
(gnus-summary-high-unread, gnus-summary-high-read):
* lisp/gnus/message.el (message-header-to, message-header-cc)
(message-header-subject, message-header-newsgroups)
(message-header-other, message-header-name, message-header-xheader)
(message-separator, message-cited-text-1, message-cited-text-2)
(message-cited-text-3, message-cited-text-4, message-mml)
(message-signature-separator):
* lisp/mh-e/mh-e.el (mh-face-data, mh-folder-cur-msg-number)
(mh-speedbar-folder-with-unseen-messages)
(mh-speedbar-selected-folder-with-unseen-messages):
* lisp/net/dictionary.el (dictionary-button-face):
* lisp/org/org-faces.el (org-drawer, org-tag, org-list-dt, org-todo)
(org-done, org-headline-todo, org-formula, org-agenda-structure)
(org-scheduled, org-scheduled-today, org-scheduled-previously)
(org-upcoming-deadline):
* lisp/proced.el (proced-uninterruptible-sleep-status-code)
(proced-executable, proced-cpu, proced-user, proced-time-colon):
* lisp/progmodes/erts-mode.el (erts-mode-specification-name)
(erts-mode-specification-value):
* lisp/progmodes/prolog.el (prolog-font-lock-keywords):
* lisp/progmodes/verilog-mode.el (verilog-font-lock-p1800-face)
(verilog-font-lock-ams-face)
(verilog-font-lock-grouping-keywords-face):
* lisp/progmodes/vhdl-mode.el (vhdl-font-lock-prompt-face)
(vhdl-font-lock-attribute-face, vhdl-font-lock-enumvalue-face)
(vhdl-font-lock-function-face, vhdl-font-lock-directive-face)
(vhdl-font-lock-reserved-words-face): Prefer defface attribute
':weight bold' to its obsolete alias ':bold t'.  See also Bug#73552.

(cherry picked from commit 375befcacc8e7c37ec490145aa6ff9737ad102a1)

4 weeks agoEglot: release version 1.18
João Távora [Mon, 20 Jan 2025 19:19:08 +0000 (19:19 +0000)]
Eglot: release version 1.18

* etc/EGLOT-NEWS: Update.

* lisp/progmodes/eglot.el (Version): Bump to 1.18

(cherry picked from commit 49f449bb5bc90bc1eca6b4a1f013d4c0b5460d65)

4 weeks agoEglot: fix signature's of Eglot's ElDoc functions
João Távora [Mon, 20 Jan 2025 19:21:22 +0000 (19:21 +0000)]
Eglot: fix signature's of Eglot's ElDoc functions

These functions are specified to be passed at least one
argument, so our implementation must accept an arbitrary number
of arguments.

* lisp/progmodes/eglot.el (eglot-signature-eldoc-function)
(eglot-hover-eldoc-function): Fix signature.

(cherry picked from commit aa94e1c56c1b4aeb2e2c98f3b7ccbc354f50108e)

4 weeks agoEglot: add support for insertReplaceEdit (bug#73857)
João Távora [Mon, 20 Jan 2025 18:58:05 +0000 (18:58 +0000)]
Eglot: add support for insertReplaceEdit (bug#73857)

* lisp/progmodes/eglot.el (eglot-server-programs): Mention zig-ts-mode.
(eglot--lsp-interface-alist): Describe 'InsertReplaceEdit'.
(eglot-client-capabilities): Advertise 'insertReplaceSupport'.
(eglot-completion-at-point): Consider 'InsertReplaceEdit'.
(eglot--apply-text-edits): Consider 'InsertReplaceEdit'.

* test/lisp/progmodes/eglot-tests.el
(eglot-test-zig-insert-replace-completion): New test.

Special thanks to kcbanner@gmail.com

(cherry picked from commit 1143cf09a339d57051a4341103c9e342d8876649)

4 weeks agoEglot: make eglot-test-javascript-basic more robust
João Távora [Mon, 20 Jan 2025 17:42:59 +0000 (17:42 +0000)]
Eglot: make eglot-test-javascript-basic more robust

* test/lisp/progmodes/eglot-tests.el
(eglot-test-javascript-basic): Mark test expensive and increase timeout.

(cherry picked from commit a1ce633ca9be91c4acba4125cdabc5b6f600e5ff)

4 weeks agoEglot: try again to fix try-completion logic
João Távora [Mon, 20 Jan 2025 17:23:08 +0000 (17:23 +0000)]
Eglot: try again to fix try-completion logic

Emacs partial completion simply doesn't make sense in LSP.
Attempts to make it make some sense end up failing for one
reason or another.

This commit restores the original intention of the
eglot--dumb-allc and eglot--dumb-tryc functions, which was to be
dumb and pop up a *Completions* buffer (or a company tooltip),
as soon as there is doubt over what the user wants to do.

It also fixes tests, including an expensive Rust test that had
been broken for a long time.

* lisp/progmodes/eglot.el (eglot--dumb-allc): Consider point.
(eglot--dumb-tryc): Make it suitably dumb again.

* test/lisp/progmodes/eglot-tests.el
(eglot--wait-for-rust-analyzer): Wait longer.
(eglot-test-common-prefix-completion): Delete this test.  It's not
the intended behavior.
(eglot--kill-completions-buffer): New helper.
(eglot-test-try-completion-nomatch): Rework test.
(eglot-test-try-completion-inside-symbol): Pops *Completions*
buffer because mustn't partial complete.
(eglot-test-try-completion-inside-symbol-2): Does complete.
(eglot-test-rust-completion-exit-function): Fix long-broken test.

(cherry picked from commit 73f51f3a99ed454fa57e5ebe177df00cada1f11a)

4 weeks agoPrefer defvar-keymap in bat-mode.el
Stefan Kangas [Mon, 20 Jan 2025 17:32:33 +0000 (18:32 +0100)]
Prefer defvar-keymap in bat-mode.el

* lisp/progmodes/bat-mode.el (bat-mode-map): Prefer defvar-keymap.
(bat-menu): Move to top level.

(cherry picked from commit 275df7420cfb6a514171cb69a03235ee09aebebf)

4 weeks agoDon't skip or double-process files in dired with auto-revert-mode (bug#75626)
Tassilo Horn [Mon, 20 Jan 2025 15:21:24 +0000 (16:21 +0100)]
Don't skip or double-process files in dired with auto-revert-mode (bug#75626)

* lisp/dired.el (dired--inhibit-auto-revert): New variable.
(dired-map-over-marks): Make the generated code bind it.
(dired-buffer-stale-p): Return nil if dired--inhibit-auto-revert is
non-nil.

(cherry picked from commit 40d5ff01e51ed6319933e18df0fbe9ef55d9bece)

4 weeks agoscope.el: Handle cl-macrolet
Eshel Yaron [Thu, 23 Jan 2025 08:52:30 +0000 (09:52 +0100)]
scope.el: Handle cl-macrolet

4 weeks agoMinor cleanups
Eshel Yaron [Tue, 21 Jan 2025 17:01:25 +0000 (18:01 +0100)]
Minor cleanups

4 weeks ago; Update lisp/ldef-boot.el
Eshel Yaron [Mon, 20 Jan 2025 21:14:46 +0000 (22:14 +0100)]
; Update lisp/ldef-boot.el

4 weeks agoNew library dwim.el
Eshel Yaron [Mon, 20 Jan 2025 21:12:52 +0000 (22:12 +0100)]
New library dwim.el

4 weeks ago(scope-1): Recognize hook names in a few more functions
Eshel Yaron [Mon, 20 Jan 2025 21:11:52 +0000 (22:11 +0100)]
(scope-1): Recognize hook names in a few more functions

4 weeks agoSuggest fix for undefined ELisp function
Eshel Yaron [Mon, 20 Jan 2025 21:11:23 +0000 (22:11 +0100)]
Suggest fix for undefined ELisp function

4 weeks agoscope.el: Improve handling of cl-destructuring-bind
Eshel Yaron [Mon, 20 Jan 2025 18:53:13 +0000 (19:53 +0100)]
scope.el: Improve handling of cl-destructuring-bind

4 weeks agoFix ```elisp code``` handling in mails
Eshel Yaron [Mon, 20 Jan 2025 18:51:48 +0000 (19:51 +0100)]
Fix ```elisp code``` handling in mails

4 weeks agoUse 'max' macro in clip_to_bounds
Stefan Kangas [Mon, 20 Jan 2025 13:05:37 +0000 (14:05 +0100)]
Use 'max' macro in clip_to_bounds

* src/lisp.h (clip_to_bounds): Use 'max' macro.

(cherry picked from commit b568ff418ce7147c27d7f82fe4a8eef325b9de2c)

4 weeks ago; Fix last change
Eli Zaretskii [Mon, 20 Jan 2025 12:39:20 +0000 (14:39 +0200)]
; Fix last change

* src/treesit.c (Ftreesit_parser_create): Fix comment wording.

* doc/lispref/parsing.texi (Using Parser): Fix wording and markup.

(cherry picked from commit ad51b3b3911bcca1dba5a5b3e5581465d2277d64)

4 weeks agoMake treesit-language-remap-alist completely transparent (bug#72388)
Yuan Fu [Mon, 20 Jan 2025 06:34:11 +0000 (22:34 -0800)]
Make treesit-language-remap-alist completely transparent (bug#72388)

* doc/lispref/parsing.texi (Using Parser): Update manual.
* src/treesit.c (Ftreesit_parser_create): Use the LANGUAGE
argument given as the language for the parser, not the actual
language.

(cherry picked from commit 458135155675a29a2c064998afc0cb416cd38b52)