]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 months agopeg.texi: Fix bug#76555 even a bit more
Yue Yi [Wed, 26 Mar 2025 02:22:08 +0000 (22:22 -0400)]
peg.texi: Fix bug#76555 even a bit more

* doc/lispref/peg.texi (Parsing Expression Grammars):
Fix other part of the grammar of `define-peg-ruleset` example.

(cherry picked from commit ba409f37125a4cf8b99718f9252f7804229663a2)

2 months agopeg.texi: Fix bug#76555 even a bit more
Yue Yi [Wed, 26 Mar 2025 02:20:50 +0000 (22:20 -0400)]
peg.texi: Fix bug#76555 even a bit more

* doc/lispref/peg.texi (Parsing Expression Grammars):
Fix grammar of `define-peg-ruleset` example.

(cherry picked from commit 1d7fe589fad13595a0923bbd23939166f0ad639c)

2 months agoPEG: Fix bug#76555
Stefan Monnier [Wed, 26 Mar 2025 02:17:05 +0000 (22:17 -0400)]
PEG: Fix bug#76555

* doc/lispref/peg.texi (Parsing Expression Grammars):
Fix `define-peg-ruleset` example.

* lisp/progmodes/peg.el (define-peg-rule): Fix indent rule.

(cherry picked from commit 1db7aaceb9fe9b78838ad06199e3fbba830737e9)

2 months agoC++ Mode: Fix some indentation bugs. FIxes bug#19867
Alan Mackenzie [Thu, 27 Mar 2025 10:24:48 +0000 (10:24 +0000)]
C++ Mode: Fix some indentation bugs.  FIxes bug#19867

1. Fix closing paren aligning with trailing comment on line
with matching open paren.
2. Fix indentation of first identifier inside a comma separated
list aligning with the type rather than the subsequent
identifiers.
3. Fix lambda expressions inside a brace list aligning like a
single statement.

* lisp/progmodes/cc-align.el (c-lineup-arglist): Take into
account any preceding comments when lining up the arguments in
the arglist.
(c-lineup-arglist-intro-after-paren): Handle comments properly,
and don't line up the closing parenthesis with a trailing
comment on the first line.
(c-lineup-item-after-paren-at-boi): Also allow a paren to count
as being at BOI when it is preceded only by open parens on that
line.
(c-lineup-runin-statements, c-lineup-ObjC-method-call): Hanle
comments better.

* lisp/progmodes/cc-engine.el (c-forward-comments) Introduce an
optional limit parameter.  Use this limit in calls from
cc-align.el and cc-mode.el.
(c-just-after-func-arglist-p): Handle the presence of a
protection keyword such as "public".
(c-at-bracelist-p): Renamed from c-inside-bracelist-p, after
dropping the accept-in-paren parameter, having removed its
functionality.
(c-looking-at-statement-block-1): New function, based on the
old c-looking-at-statement-block.  Enhanced to handle C++
lambda expressions, and to return the symbol `maybe' when the
contents of a brace delimited block fail to determine whether
it is a statement block.
(c-looking-at-statement-block): Enhanced to examine the context
of a brace delimited block when the contents are ambiguous.
(c-looking-at-c++-lambda-expression): Check the character after
point is a < before calling c-forward-<>-arglist.
(c-add-stmt-syntax): Make the context more accurate by calling
c-looking-at-statement-block.
(c-guess-basic-syntax, CASE 5D.5): Replace the syntactic symbol
topmost-intro-cont with the new symbol class-field-cont,
additionally determining the position of the enclosing brace as
an extra anchor point.
(c-guess-basic-syntax, CASE 5V): New case for an identifier
following a type inside class braces.
(c-guess-basic-syntax, CASE 9): Use
c-looking-at-statement-block to detect a brace list more
accurately.

* lisp/progmodes/cc-fonts.el (c-get-fontification-context):
Rename the call to c-inside-bracelist-p to c-at-bracelist-p.

* lisp/progmodes/cc-langs.el (c-protection-kwds): Add an entry
for java-mode.
(c-stmt-block-only-keywords-regexp): Prevent this regexp also
matching a character preceding the keyword.

* /lisp/progmodes/cc-mode.el (c-before-change-include-<>)
(c-after-change-include-<>): Use the new limit argument to
c-forward-comments.

* lisp/progmodes/cc-styles.el (c-style-alist, "gnu" and "java"
styles): Change the offset for arglist-close to
c-lineup-arglist-close-under-paren.

* lisp/progmodes/cc-vars.el (c-offsets-alist): Introduce the
new syntactic symbol class-field-cont, giving it default
offset +.

* doc/misc/cc-mode.texi (Syntactic Symbols, Class Symbols):
Document the new syntactic symbol class-field-cont.

(cherry picked from commit 555ec43a32ea8f3675c5a9d73ca30609eeaa9013)

2 months ago* lisp/treesit-x.el: Remove unnecessary treesit-generic-mode.
Juri Linkov [Thu, 27 Mar 2025 07:33:45 +0000 (09:33 +0200)]
* lisp/treesit-x.el: Remove unnecessary treesit-generic-mode.

(treesit-generic-mode-list): Remove variable.
(define-treesit-generic-mode): Remove docstring text about hook
that is already added by 'define-derived-mode'.
(treesit-generic-mode): Remove command.

(cherry picked from commit 27c41d026f79ebc46fc8fe202836be0fd375bc1b)

2 months agoDon't write to bottom-right cell on ttys with AutoWrap (bug#77233)
Gerd Möllmann [Thu, 27 Mar 2025 05:10:46 +0000 (06:10 +0100)]
Don't write to bottom-right cell on ttys with AutoWrap (bug#77233)

* src/term.c (tty_write_glyphs): Handle case of writing only one
character in the last column.

(cherry picked from commit 1883a5c7174eeede8fe307e73014628edca6b614)

2 months agoSignal user-error in info--ensure-not-in-directory-node
Stefan Kangas [Wed, 26 Mar 2025 20:39:18 +0000 (21:39 +0100)]
Signal user-error in info--ensure-not-in-directory-node

* lisp/info.el (info--ensure-not-in-directory-node): Change from 'error'
to 'user-error' to reduce 'debug-on-error' frustration.

(cherry picked from commit c00170e92c5c3f68734e0e2d632d6efdcbb9c969)

2 months agoFix vertical cursor motion with wide images and line numbers
Eli Zaretskii [Wed, 26 Mar 2025 17:04:16 +0000 (19:04 +0200)]
Fix vertical cursor motion with wide images and line numbers

* src/xdisp.c (produce_image_glyph): When cropping an image that
exceeds the window's right edge, account for the screen estate
taken by line-number display.  (Bug#77217)

(cherry picked from commit 1e68351d56918cd4d7883bcff629f794660a3134)

2 months ago; Remove obsolete file `java/incrementing-version-code'.
Po Lu [Wed, 26 Mar 2025 12:46:54 +0000 (20:46 +0800)]
; Remove obsolete file `java/incrementing-version-code'.

(cherry picked from commit 8f7790a95ecd88efec97417f1a3b51ba9da5e287)

2 months ago; Fix OOM kill in ert-tests
Eli Zaretskii [Wed, 26 Mar 2025 12:31:41 +0000 (14:31 +0200)]
; Fix OOM kill in ert-tests

* test/lisp/emacs-lisp/ert-tests.el
(ert-test-run-tests-batch-expensive): Mark it 'unstable', as it
might run out of memory on GNU/Linux and on Windows.

(cherry picked from commit 3d5def2677c62aa017b675ced18c9bac2697c439)

2 months ago; Fix 'ert-tests' on MS-Windows
Eli Zaretskii [Wed, 26 Mar 2025 12:22:30 +0000 (14:22 +0200)]
; Fix 'ert-tests' on MS-Windows

* test/lisp/emacs-lisp/ert-tests.el
(ert-test-run-tests-batch-expensive): Skip the test on MS-Windows.

(cherry picked from commit f1715f6411d665442397835ab792ef39051f859a)

2 months agoFurther amendments of child frame handling and documentation
Martin Rudalics [Wed, 26 Mar 2025 08:04:49 +0000 (09:04 +0100)]
Further amendments of child frame handling and documentation

* src/frame.c (frame_subsumes_p): New static function
(delete_frame): On ttys refuse to delete a frame that could be
used as surrogate minibuffer frame by surviving frames.
(store_frame_param): Make sure 'minibuffer' parameter does not
reference a deleted window.  If on a tty it references a live
window, make sure its frame has the same root frame as the frame
where the parameter shall be installed.  Also on ttys make sure
that storing the 'parent-frame' parameter does not assign a
surrogate minibuffer frame a different root frame than that of
any of its client frames.  Further on ttys assert that making a
child a new root frame gives it the dimensions of the terminal.
(Fmouse_position_in_root_frame): Don't use XFRAME before
it's clear that FRAME is a frame.
* doc/lispref/elisp.texi (Top): Add menu for Child Frames section.
* doc/lispref/frames.texi (Buffer Parameters): Mention that
value 'child-frame' is not special for 'minibuffer' parameter on
text terminals.
(Visibility of Frames): Fix description of 'iconify-frame'.
(Raising and Lowering): 'minibuffer-auto-raise' is an option.
(Child Frames): Major rewrite using subsections.  Explain new
and deviant features on text terminals - menu bar access,
reparenting, deleting, visibility and minibuffer-only child
frames.
* etc/NEWS: Remove remark that child frames cannot be
arbitrarily reparented on ttys.

(cherry picked from commit 001359ce7650c1ec110b4c38b6f67274d2d29ad1)

2 months agoUse numeric time zone suffix in ERT explainer.
Philipp Stephani [Wed, 26 Mar 2025 02:32:46 +0000 (03:32 +0100)]
Use numeric time zone suffix in ERT explainer.

This is more robust since the time zone name is system-dependent.

* lisp/emacs-lisp/ert.el (ert--explain-time-equal-p): Use numeric time
zone suffix.

* test/lisp/emacs-lisp/ert-tests.el (ert-test-explain-time-equal-p):
Adapt test.

(cherry picked from commit 2d278a0f2e945eef30752550f900c1c88367fb6b)

2 months ago* test/lisp/gnus/message-tests.el (message-default-buffer-type): New test.
Michael Albinus [Tue, 25 Mar 2025 18:48:06 +0000 (19:48 +0100)]
* test/lisp/gnus/message-tests.el (message-default-buffer-type): New test.

(cherry picked from commit 56248fad53cb1476b9f460044c0c73f986a0bbac)

2 months agobacktrace.el: Remove redundant `put` and `:group`
Stefan Monnier [Tue, 25 Mar 2025 18:16:03 +0000 (14:16 -0400)]
backtrace.el: Remove redundant `put` and `:group`

* lisp/emacs-lisp/backtrace.el: Remove redundant `:group` args.
Prefer # to quote function arguments.
(backtrace-mode): Remove redundant `put`.

(cherry picked from commit ce0c1f44429bc7e9757f6e81019d8c8c12ba5e55)

2 months agobs.el: Janitorial work; most importantly use `special-mode`
Stefan Monnier [Tue, 25 Mar 2025 18:06:32 +0000 (14:06 -0400)]
bs.el: Janitorial work; most importantly use `special-mode`

* lisp/bs.el: Prefer # to quote function arguments.
(bs-mode-font-lock-keywords): Use backquote; quote face names; and use
a list of faces instead of two applications at the same spot.
(bs-sort-buffer-interns-are-last, bs-config--files-and-scratch)
(bs-configurations, bs--intern-show-never): Fix ^$-vs-\`\' confusion.
(bs-mode-map): Remove bindings made redundant by inheritance.
(bs--redisplay): Use `line-number-at-pos`.
(bs--goto-current-buffer): Use `regexp-opt`.
(bs-mode): Inherit from `special-mode`.
(bs--current-buffer, bs--up): Use `point-min`.
(bs--create-header-line): Remove redundant arg.

(cherry picked from commit bb62e435637c7422741189384fa89e2272caec5b)

2 months agobookmark.el: Cosmetic changes
Stefan Monnier [Tue, 25 Mar 2025 17:43:53 +0000 (13:43 -0400)]
bookmark.el: Cosmetic changes

* lisp/bookmark.el: Prefer # to quote function arguments.
(bookmark-watch-bookmark-file): Remove redundant `:group`.
(bookmark-bmenu-mode): Let `define-derived-mode` take care of
`mode-class` property.

(cherry picked from commit bc2b815f098751be700243cd0c47806a0d08dc68)

2 months ago* lisp/treesit-x.el: New file.
Juri Linkov [Tue, 25 Mar 2025 17:41:33 +0000 (19:41 +0200)]
* lisp/treesit-x.el: New file.

* lisp/treesit.el (treesit--copy-queries): New function.
(treesit--install-language-grammar-1): Use it.

https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01312.html
(cherry picked from commit 050325da303996cf5be7bd13d0a13e0bd12fa25e)

2 months agolisp/gnus/mm-encode.el (mm-default-buffer-type): Obey the mode hierarchy
Stefan Monnier [Tue, 25 Mar 2025 15:23:48 +0000 (11:23 -0400)]
lisp/gnus/mm-encode.el (mm-default-buffer-type): Obey the mode hierarchy

(cherry picked from commit e67f03bf35b97d2898b64281215be6717b659839)

2 months ago* lisp/gnus/mm-encode.el (mm-default-buffer-type): Check `major-mode'.
Michael Albinus [Tue, 25 Mar 2025 14:13:16 +0000 (15:13 +0100)]
* lisp/gnus/mm-encode.el (mm-default-buffer-type): Check `major-mode'.

(cherry picked from commit a15534f32e1a978dee6ec96d6b60b5e755666e70)

2 months agoRename 'buffer-too-small' to 'memory-buffer-too-small'.
Philipp Stephani [Tue, 25 Mar 2025 13:24:04 +0000 (14:24 +0100)]
Rename 'buffer-too-small' to 'memory-buffer-too-small'.

This clarifies that the error isn't talking about an editing buffer.

* src/emacs-module.c (module_memory_buffer_too_small): Rename from
'module_buffer_too_small'.
(module_copy_string_contents, module_extract_big_integer): Adapt
callers.
(syms_of_module): Rename symbol 'buffer-too-small' to
'memory-buffer-too-small'.

(cherry picked from commit 0b1102a70413dabba082d822c200b014464de667)

2 months agoUse better attachment defaults for *diff* buffers
Michael Albinus [Tue, 25 Mar 2025 10:45:29 +0000 (11:45 +0100)]
Use better attachment defaults for *diff* buffers

* lisp/gnus/mm-encode.el (mm-default-buffer-type): New defun.

* lisp/gnus/mml.el (mml-attach-buffer): Use it.

(cherry picked from commit 2adc912d0ec277d9ffe6485e7d81849fab98a2ea)

2 months ago* test/infra/Dockerfile.emba (emacs-tree-sitter): Add gowork grammar.
Michael Albinus [Tue, 25 Mar 2025 08:28:43 +0000 (09:28 +0100)]
* test/infra/Dockerfile.emba (emacs-tree-sitter): Add gowork grammar.

(cherry picked from commit d6c7a77465203bfc277ff489be0f4f4d476615c7)

2 months agooutline-move-subtree-down/up: Fix for non-nil outline-blank-line
James Cherti [Thu, 20 Mar 2025 13:01:36 +0000 (09:01 -0400)]
outline-move-subtree-down/up: Fix for non-nil outline-blank-line

* lisp/outline.el (outline-move-subtree-down):
Include blank line when outline-blank-line is t
(bug#77238).

Copyright-paperwork-exempt: yes
(cherry picked from commit 40bf281c644e3323f010b007c9bfc730e92896aa)

2 months ago(built-in-class--make): Take list of types rather than classes
Stefan Monnier [Tue, 25 Mar 2025 06:09:48 +0000 (02:09 -0400)]
(built-in-class--make): Take list of types rather than classes

Consolidate the conversion from types to classes into
`built-in-class--make` instead of duplicating it in ever caller.

* lisp/emacs-lisp/cl-preloaded.el (built-in-class--make): Take list of
types rather than classes.
(cl--define-built-in-type): Simplify accordingly.

(cherry picked from commit 7ec0ee742da17864b554e2cf4384d2a12baaf1e8)

2 months ago; * msdos/emacs.djl: Don't interfere with the order of other symbols.
Po Lu [Tue, 25 Mar 2025 02:37:09 +0000 (10:37 +0800)]
; * msdos/emacs.djl: Don't interfere with the order of other symbols.

(cherry picked from commit c3492b969da3b117904a070a2617b31dd965f109)

2 months agoFix the DJGPP build
Po Lu [Tue, 25 Mar 2025 02:34:40 +0000 (10:34 +0800)]
Fix the DJGPP build

* msdos/emacs.djl (.bss): Guarantee that lread.o is 8-byte
aligned.

* msdos/sed2v2.inp (ALIGNOF_INT, ALIGNOF_LONG)
(ALIGNOF_LONG_LONG): Correct typos.

* src/term.c (tty_free_frame_resources): Synchronize with
non-DOS variant.

(cherry picked from commit 49eab999f13fede351ab7700c1469ba6cbf3d6b8)

2 months agoMimic behavior of 'aref' when signalling out-of-range errors.
Philipp Stephani [Tue, 25 Mar 2025 01:56:01 +0000 (02:56 +0100)]
Mimic behavior of 'aref' when signalling out-of-range errors.

The convention used by 'aref' and friends is that for
'args-out-of-range', the error data is a list (SEQ INDEX).  Use the same
convention for the vector-related module functions.

* src/emacs-module.c (check_vec_index): Use vector and index as error
data.

(cherry picked from commit 8efcdcab8658ff9537fe483e0a12875cca90a527)

2 months agoDon't use 'args-out-of-range' error for too-small buffers.
Philipp Stephani [Tue, 25 Mar 2025 01:50:37 +0000 (02:50 +0100)]
Don't use 'args-out-of-range' error for too-small buffers.

'args-out-of-range' means that some index argument isn't valid for a
given sequence/range, which isn't the case here.  Instead, define a new
error symbol to mean "user-supplied buffer is too small."  Since we
never specified nor tested which error symbol was signalled in this
case, changing it shouldn't cause severe breakages.

* src/emacs-module.c (module_buffer_too_small): New helper function.
(module_copy_string_contents, module_extract_big_integer): Use it.
(syms_of_module): Define 'buffer-too-small' error symbol.

(cherry picked from commit 96a1a07fb1f9d8f3f41f3893ed1b624246a76c43)

2 months agoAdd an ERT explainer for 'time-equal-p'.
Philipp Stephani [Mon, 24 Mar 2025 23:12:20 +0000 (00:12 +0100)]
Add an ERT explainer for 'time-equal-p'.

* lisp/emacs-lisp/ert.el (ert--explain-time-equal-p): New explainer
function.

* test/lisp/emacs-lisp/ert-tests.el (ert-test-explain-time-equal-p): New
test.

(cherry picked from commit 8be7e98557df8ba708b3f7e285a29f279b609e46)

2 months agolisp/loadup.el (max-lisp-eval-depth): Bump up a bit
Stefan Monnier [Mon, 24 Mar 2025 21:31:35 +0000 (17:31 -0400)]
lisp/loadup.el (max-lisp-eval-depth): Bump up a bit

This is to accommodate the deep backquoted thingy in `cus-start.el`.

(cherry picked from commit cf6d0b48d83ce93e792ef60f6f55f61ebb6f30cf)

2 months agoExpose some lambdas currently hidden in quoted data
Stefan Monnier [Mon, 24 Mar 2025 21:14:26 +0000 (17:14 -0400)]
Expose some lambdas currently hidden in quoted data

* lisp/language/chinese.el ("Chinese-GB", "Chinese-BIG5")
("Chinese-CNS", "Chinese-EUC-TW", "Chinese-GBK"):
* lisp/isearch.el (isearch-menu-bar-map):
* lisp/international/mule-cmds.el (language-info-custom-alist):
* lisp/font-lock.el (cpp-font-lock-keywords):
* lisp/cus-start.el (<toplevel>): Expose lambda-expressions to the compiler.

(cherry picked from commit f66c92a793557f6ac14f6dd07ad97f3a6057b3c9)

2 months ago(byte-compile-maybe-guarded): Make its code edebuggable
Stefan Monnier [Mon, 24 Mar 2025 21:12:16 +0000 (17:12 -0400)]
(byte-compile-maybe-guarded): Make its code edebuggable

* lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Hoist
subexpression out of `if`.
(byte-compile-variadic-numeric, byte-compile--cond-vars)
(byte-compile--cond-switch-prefix, byte-compile-file-form-defalias):
Obey `lexical-binding` when evaluating the code we're compiling.
(byte-compile--maybe-guarded): New function, extracted from
`byte-compile-maybe-guarded`.
(byte-compile-maybe-guarded): Use it so we can edebug the code.

(cherry picked from commit c26862a6c9f2d46f41b4f91972d139a138cb2edf)

2 months ago(buffer-local-set-state): Optimize away unused data
Stefan Monnier [Mon, 24 Mar 2025 21:08:26 +0000 (17:08 -0400)]
(buffer-local-set-state): Optimize away unused data

* lisp/subr.el (buffer-local-set-state--get): Simplify by making it
take only the vars rather than the pairs.
(buffer-local-set-state): Adjust accordingly so we don't needlessly keep
part of the source code in the compiled code.

(cherry picked from commit e343055f63b7329292641d0bca7d03183f35d871)

2 months agoNew test for function-get
Stefan Kangas [Mon, 24 Mar 2025 20:20:11 +0000 (21:20 +0100)]
New test for function-get

* test/lisp/subr-tests.el (subr-tests-function-get): New test.

(cherry picked from commit 4194d5af4585fedfc7f148da72431a67a9c26045)

2 months ago; Skip commit 119931a9cee4c25e7c5536c9bb75c038a1cd7cd3
Eshel Yaron [Tue, 25 Mar 2025 18:18:29 +0000 (19:18 +0100)]
; Skip commit 119931a9cee4c25e7c5536c9bb75c038a1cd7cd3

2 months ago; Skip commit 0c32f7521b12c13ac0c7fff09981054e106989c6
Eshel Yaron [Tue, 25 Mar 2025 18:18:11 +0000 (19:18 +0100)]
; Skip commit 0c32f7521b12c13ac0c7fff09981054e106989c6

2 months agolog-edit: Don't add rear-nonsticky to font-lock-extra-managed-props
Sean Whitton [Mon, 24 Mar 2025 02:29:17 +0000 (10:29 +0800)]
log-edit: Don't add rear-nonsticky to font-lock-extra-managed-props

* lisp/vc/log-edit.el (log-edit-mode): Don't add rear-nonsticky
to font-lock-extra-managed-props (bug#77197).  Investigated by
Paul D. Nelson <ultrano@gmail.com>.  Fix due to Stefan Monnier.

(cherry picked from commit 0503766495cabcf6e891094e723026d663e1c580)

2 months agoAdd basic and low-level tests for hash tables
Stefan Kangas [Sun, 23 Mar 2025 23:56:14 +0000 (00:56 +0100)]
Add basic and low-level tests for hash tables

* test/src/fns-tests.el (test-hash-table)
(test-hash-table-wrong-keywords, test-remhash, test-clrhash)
(test-hash-table-p, test-hash-table-count, test-maphash)
(test-copy-hash-table): New tests.

(cherry picked from commit 5830d1fa6552ad584daa574135e704d1f1e0220a)

2 months agoImprove docstring of cl-defstruct accessors
Stefan Kangas [Sun, 23 Mar 2025 23:33:37 +0000 (00:33 +0100)]
Improve docstring of cl-defstruct accessors

* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve generated
docstring by not leaking the internal CL-X argument name, preferring X
instead.  Set property 'document-generalized-variable', used below.
* lisp/help-fns.el (help-fns--generalized-variable): When function has
non-nil property 'document-generalized-variable', document it as a
generalized variable.

(cherry picked from commit 1b56e0f1694650c3c567b90e1ae3caa0bfea209e)

2 months agoAdd a choice to 'dired-movement-style' to restore the previous behavior
Juri Linkov [Sun, 23 Mar 2025 17:48:28 +0000 (19:48 +0200)]
Add a choice to 'dired-movement-style' to restore the previous behavior

* lisp/dired.el (dired-movement-style): Add new values
'bounded-files' and 'cycle-files' (bug#76596).
(dired--move-to-next-line): Use new values for users
who prefer the default behavior of Emacs 30.1.

(cherry picked from commit bc51fabc108ceccd4824ba6c6f0c29f143ebf47a)

2 months ago; Fix some markup in doc/lispref/commands.texi.
Basil L. Contovounesios [Sun, 23 Mar 2025 17:13:52 +0000 (18:13 +0100)]
; Fix some markup in doc/lispref/commands.texi.

(cherry picked from commit 10d534023a9aa1ffdfa0109f114630ff2eb9cf65)

2 months agoImprove docstring of should-error
Stefan Kangas [Sun, 23 Mar 2025 16:40:22 +0000 (17:40 +0100)]
Improve docstring of should-error

* lisp/emacs-lisp/ert.el (should-error): Improve docstring.

(cherry picked from commit c2c287b3252e2cd3223f2e2d0ef96f29e024b47b)

2 months ago* lisp/treesit.el (treesit-indent-region): Handle markers (bug#77077).
Juri Linkov [Sat, 22 Mar 2025 18:37:35 +0000 (20:37 +0200)]
* lisp/treesit.el (treesit-indent-region): Handle markers (bug#77077).

Ensure that markers are converted to integers for 'beg' and 'end'.

(cherry picked from commit 84abd43f42fec623d4939e3557a1da2b83e08562)

2 months ago; * lisp/simple.el: Drop some cruft.
Eshel Yaron [Tue, 25 Mar 2025 18:14:30 +0000 (19:14 +0100)]
; * lisp/simple.el: Drop some cruft.

2 months agoDrop cl-font-lock.el
Eshel Yaron [Mon, 24 Mar 2025 10:14:10 +0000 (11:14 +0100)]
Drop cl-font-lock.el

2 months ago; Move time-stamp release info from symbol-releases.eld to NEWS
Stephen Gildea [Sun, 23 Mar 2025 17:37:21 +0000 (10:37 -0700)]
; Move time-stamp release info from symbol-releases.eld to NEWS

Update the appropriate historical NEWS files with time-stamp feature
releases.  Suggested by Stefan Monnier.  All dates are from my notes.

* etc/symbol-releases.eld: Remove time-stamp,
reverting commit 69210eb84e of 17 March.
* etc/NEWS.19:
* etc/NEWS.20: Add 'time-stamp' feature paragraphs that
should have been written then.
* etc/NEWS.21: Add missing quotes, so symbol names can be identified.

(cherry picked from commit 9e005e9da06f71441e643f7ecbe309e35f68680a)

2 months agoFix a nativecomp type propagation bug (bug#74771)
Andrea Corallo [Wed, 11 Dec 2024 23:06:43 +0000 (00:06 +0100)]
Fix a nativecomp type propagation bug (bug#74771)

* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Don't emit negated
cstr.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.

(cherry picked from commit d565a6747a2bb3c6699a95e60e5f522f80a1ca0a)

2 months agocheckdoc: Delete redundant check for wide docstrings
Stefan Kangas [Sun, 23 Mar 2025 16:22:51 +0000 (17:22 +0100)]
checkdoc: Delete redundant check for wide docstrings

With Emacs 28.1, wide docstrings are now flagged by the byte-compiler.
The logic in the byte-compiler for catching these issues is complex
and continuously evolving, particularly to avoid incorrectly flagging
`substitute-command-keys` substitutions.  Unfortunately, the checkdoc
implementation incorrectly flags correct docstrings as overly wide.

Rather than duplicating the byte-compiler logic in checkdoc, which
would introduce unnecessary maintenance overhead, we acknowledge that
this check is now redundant and remove it.  Users utilizing the
byte-compiler, whether manually or through `flymake`, will continue to
be warned about this issue.

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Remove check for overly wide docstrings; duplicates byte-compiler
logic.

(cherry picked from commit 408ad273eeadf72dea11b89ea2a44f36ea0e2295)

2 months agoPatch bug#77128
Po Lu [Sun, 23 Mar 2025 11:43:13 +0000 (19:43 +0800)]
Patch bug#77128

* src/pgtkterm.c (pgtk_flash): Destroy `cr_surface_visible_bell'
if still present.  (bug#77128)

(cherry picked from commit 7d14e35498209e45290f5c1297ded6d7175bf1ea)

2 months agoImprove documentation of cl-defstruct
Stefan Kangas [Sun, 23 Mar 2025 00:30:37 +0000 (01:30 +0100)]
Improve documentation of cl-defstruct

* doc/misc/cl.texi (Structures): Organize more logically, slightly
expand, and add more examples.

(cherry picked from commit 81404bf3c2695dbd5a78e40ea8dd0547c1cca30c)

2 months agoAvoid rare crashes due to "C-g C-g" on TTY frames
Eli Zaretskii [Sun, 23 Mar 2025 11:17:06 +0000 (13:17 +0200)]
Avoid rare crashes due to "C-g C-g" on TTY frames

* src/term.c (tty_send_additional_strings): Don't use SBYTES, as
this function could be called in the middle of GC.  (Bug#77205)

(cherry picked from commit 939a2a3c2dd60503c6ebef839b5f05f962d405ce)

2 months ago; * src/dispnew.c (check_window_matrix_pointers): Fix last change.
Eli Zaretskii [Sun, 23 Mar 2025 09:35:25 +0000 (11:35 +0200)]
; * src/dispnew.c (check_window_matrix_pointers): Fix last change.

(cherry picked from commit 467aba67db407e930fc5de6d4a4ae0cd6fc106df)

2 months agoAvoid rare segfaults in 'check_matrix_pointers'
Eli Zaretskii [Sun, 23 Mar 2025 09:30:17 +0000 (11:30 +0200)]
Avoid rare segfaults in 'check_matrix_pointers'

* src/dispnew.c (check_window_matrix_pointers): No-op if the
window's frame not ready yet.  (Bug#77200)

(cherry picked from commit e20e8538610ed8b78e0b9f9cc3121c1102a8aaf0)

2 months agoConsistent wording in top-level headers in NEWS.19
Stephen Gildea [Sun, 23 Mar 2025 00:07:05 +0000 (17:07 -0700)]
Consistent wording in top-level headers in NEWS.19

* etc/NEWS.19: Put the word "Emacs" in front of each version number.
This change lets 'help-fns--first-release' parse the headers, which
produces more accurate "probably introduced at" versions from
'describe-function' and 'describe-variable'.

(cherry picked from commit aa12cebaa684d7b3ea7e131666d33bcc71b45625)

2 months agoReduce code duplication in ns_set_appearance
Stefan Kangas [Sat, 22 Mar 2025 21:41:53 +0000 (22:41 +0100)]
Reduce code duplication in ns_set_appearance

* src/nsterm.h (ns_set_appearance_1): Declare.
* src/nsterm.m (ns_set_appearance_1): Break out new function...
(ns_set_appearance): ...here.
* src/nsfns.m (Fx_create_frame): Use above new function.

(cherry picked from commit 92b373318d2401f98f0ad5590ef799904c96506f)

2 months agoEnsure .dir-locals-2.el behavior as documented (bug#75890)
shipmints [Sun, 16 Feb 2025 19:30:45 +0000 (14:30 -0500)]
Ensure .dir-locals-2.el behavior as documented (bug#75890)

* lisp/files.el
(dir-locals--all-files): New &optional 'base-el-only' argument.
(dir-locals--base-file): New function.
(dir-locals-find-file): 'locate-dominating-file' only for the base
.dir-locals.el.

* test/lisp/files-tests.el
(files-test-dir-locals-2-solo): New test.
* test/lisp/files-resources/dir-locals-2-solo: New test support.
(files-test-dir-locals-2-paired): New test.
* test/lisp/files-resources/dir-locals-and-2: New test support.

(cherry picked from commit 81c21d89ede8dfa664b7a3700acd7bf4c9fa54aa)

2 months agoAvoid rare segfaults due to crazy creation of new child frames
Eli Zaretskii [Sat, 22 Mar 2025 19:32:16 +0000 (21:32 +0200)]
Avoid rare segfaults due to crazy creation of new child frames

* src/dispnew.c (combine_updates, combine_updates_for_frame): Skip
frames and child frames that were not yet completely made.
(Bug#77046)

(cherry picked from commit 62368f93a5d2cf1b961626c705c032e15b1d5f43)

2 months agoMake isearch lazy-highlights non-sticky at both ends (bug#77121)
Sora Takai [Wed, 19 Mar 2025 14:50:38 +0000 (23:50 +0900)]
Make isearch lazy-highlights non-sticky at both ends (bug#77121)

Copyright-paperwork-exempt: yes
(cherry picked from commit 893c40c63e8e30eae6be577670612aa21768d312)

2 months agoRemove ctags program
Paul Eggert [Sat, 22 Mar 2025 18:19:41 +0000 (11:19 -0700)]
Remove ctags program

Remove our old ctags and suggest Universal Ctags instead.
This fixes a FIXME in lib-src/Makefile.in and speeds up compilation
quite a bit on my older CPU when I compile with --enable-gcc-warnings.
It also lessens installation and runtime footprint. (Bug#76322)
* .gitignore: Remove lib-src/ctags.
* admin/authors.el (authors-renamed-files-alist): Remove ctags.1.
* admin/check-man-pages: ctags.1 is no longer a special case.
* admin/quick-install-emacs (PUBLIC_LIBSRC_BINARIES): Remove ctags.
* cross/Makefile.in (LIBSRC_BINARIES): Remove lib-src/ctags.
* doc/man/ctags.1, lib-src/ctags.c: Remove.
* java/Makefile.in (CROSS_LIBSRC_BINS): Remove ctags.
* lib-src/Makefile.in (INSTALLABLES): Remove ctags${EXEEXT}.
(ctags${EXEEXT}): Remove.
* lib-src/etags.c (CTAGS): Remove.  All uses replaced by ...
(ctags): ... this new static var.
(STDIN): Remove macro.  All uses replaced by new STDIN_OPTION constant.
(CTAGS_OPTION, STDIN_OPTION): New contants.
(longopts): New --ctags option.
(ctags_default_C_help): New constant,
to override default_C_help at runtime.
(default_C_help): Now always the etags version.
(C_LANG_NAMES_INDEX): New macro.
(print_language_names): Do not assume etags.
(PROGRAM_NAME): Remove.  All uses removed.
(print_help): Document --ctags if PRINT_UNDOCUMENTED_OPTIONS_HELP.
(main): Support new --ctags option, and support all [ce]tags options.
* test/manual/etags/Makefile (CTAGS_PROG):
Now etags --ctags, since there is no longer a ctags.

(cherry picked from commit 25d757535884da71ace29fd80b8b24dd3a8f9017)

2 months ago; Another Tramp fix
Michael Albinus [Sat, 22 Mar 2025 16:49:53 +0000 (17:49 +0100)]
; Another Tramp fix

* lisp/net/tramp.el (tramp-skeleton-file-truename):
Remove possible trailing slash.

(cherry picked from commit 2658f4eab96aaad7f52245c2422bbfa51db9b207)

2 months agoFix usage of string data pointers in xfaces.c
Eli Zaretskii [Sat, 22 Mar 2025 16:45:38 +0000 (18:45 +0200)]
Fix usage of string data pointers in xfaces.c

* src/xfaces.c (tty_defined_color): Don't use SSDATA pointers
across calls to Lisp.  (Bug#77046)

(cherry picked from commit 9816c61c4876ac2acdc6d9efb73c4270846b5555)

2 months ago; Skip commit 1364bbc6a5cb8fd7816674c685bba8db7de8ada7
Eshel Yaron [Sun, 23 Mar 2025 19:25:32 +0000 (20:25 +0100)]
; Skip commit 1364bbc6a5cb8fd7816674c685bba8db7de8ada7

2 months ago; Fix last change (bug#76980)
Eli Zaretskii [Sat, 22 Mar 2025 12:14:22 +0000 (14:14 +0200)]
; Fix last change (bug#76980)

* lisp/window.el (window--state-normalize-buffer-name): Doc fix.

* doc/lispref/windows.texi (Window Configurations): Add indexing.

(cherry picked from commit 42e116bb1095f47cd0d57bbb6ee7b73d2d9f506e)

2 months ago'window-state-normalize-buffer-name' option for `uniquify' buffers
shipmints [Wed, 12 Mar 2025 16:14:50 +0000 (12:14 -0400)]
'window-state-normalize-buffer-name' option for `uniquify' buffers

If 'window-state-normalize-buffer-name' is non-nil, 'window-state-get'
will normalize stored buffer names, making them easier to restore for
users that use 'uniquify' buffer naming.
* doc/lispref/windows.texi (Window Configurations): Document
'window-state-normalize-buffer-name'.
* lisp/window.el (window-state-normalize-buffer-name): New defvar.
(window--state-normalize-buffer-name): New function.
(window--state-get-1): Call 'window--state-normalize-buffer-name'
rather than 'buffer-name'.
* etc/NEWS: Announce 'window-state-normalize-buffer-name'.
(Bug#76980)

(cherry picked from commit 4266514dc88345d5c1bc1ab6dd8576dd47caf57f)

2 months ago; Skip commit 1aebb026112016fb38ff458bd50c80be0f139538
Eshel Yaron [Sun, 23 Mar 2025 19:25:06 +0000 (20:25 +0100)]
; Skip commit 1aebb026112016fb38ff458bd50c80be0f139538

2 months agoDelete now unused constants in nsterm.h
Stefan Kangas [Sat, 22 Mar 2025 11:47:06 +0000 (12:47 +0100)]
Delete now unused constants in nsterm.h

* src/nsterm.h (NS_DUMPGLYPH_NORMAL, NS_DUMPGLYPH_CURSOR)
(NS_DUMPGLYPH_FOREGROUND, NS_DUMPGLYPH_MOUSEFACE): Delete now unused
constants.

(cherry picked from commit 20687ab61715889cb0670c9351983154e6620c1b)

2 months ago; Clean up comments in nsterm.h
Stefan Kangas [Sat, 22 Mar 2025 11:33:47 +0000 (12:33 +0100)]
; Clean up comments in nsterm.h

(cherry picked from commit 69013ed73d8fd5e8827335c3e1be47dc652905a6)

2 months ago; Fix recent documentation changes
Eli Zaretskii [Sat, 22 Mar 2025 10:55:43 +0000 (12:55 +0200)]
; Fix recent documentation changes

* doc/lispref/frames.texi (Frames, Visibility of Frames):
* etc/NEWS: Fix wording, punctuation, and markup.

(cherry picked from commit d9386cb546571121899a6604badba651c2fa46da)

2 months agoImprove 'C-u C-x =' for ligatures of ASCII characters
Eli Zaretskii [Sat, 22 Mar 2025 10:39:46 +0000 (12:39 +0200)]
Improve 'C-u C-x =' for ligatures of ASCII characters

* lisp/composite.el (composition-find-pos-glyph): New function.
* lisp/descr-text.el (describe-char): Use it to get the font glyph
code of "trivial" compositions.
(describe-char-display): Accept an additional optional argument
and use it as the font glyph code for the character.

(cherry picked from commit 098fe4b73b62033b8930760e7fff0a23c271a1bb)

2 months agoTramp: Improve handling of cyclic symlinks
Michael Albinus [Sat, 22 Mar 2025 08:52:22 +0000 (09:52 +0100)]
Tramp: Improve handling of cyclic symlinks

* lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p):
Add FIXME.

* lisp/net/tramp.el (tramp-skeleton-file-exists-p)
(tramp-handle-file-directory-p): Protect against cyclic symlinks.

* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
(tramp-test21-file-links): Adapt tests.

(cherry picked from commit 172e35afce430594fdf2eb9c404efc398098d621)

2 months ago; Skip commit 049d7202f3f7f00f1536d2ed4de812636ec10640
Eshel Yaron [Sun, 23 Mar 2025 19:24:09 +0000 (20:24 +0100)]
; Skip commit 049d7202f3f7f00f1536d2ed4de812636ec10640

2 months agoFix and document frame parameters for text terminals and child frames
Martin Rudalics [Sat, 22 Mar 2025 08:34:53 +0000 (09:34 +0100)]
Fix and document frame parameters for text terminals and child frames

* src/frame.c (Fmake_frame_invisible): In doc-string describe
effect on text terminals.  Set FRAME correctly when called with
nil value.  Make frame invisible before calling mru_rooted_frame
or next_frame.
(Ficonify_frame): Make it work for child frames on text
terminals
(Fmodify_frame_parameters): Make value 'icon' for 'visibility'
work for child frames.
* src/dispnew.c (frame_ancestors_visible_p): New function.
(frames_with_root): If VISIBLE_ONLY is non-nil, return only
frames whose ancestors are all visible to avoid that redisplay
draws visibly orphaned child frames.
* doc/lispref/frames.texi (Frames): Move descriptions of top
frame and 'tty-top-frame' here.
(Frame Layout): Mention that on text terminals the outer border
can be emulated by setting the 'undecorated' frame parameter.
(Frame Position, Frame Parameters, Window Frame Parameters)
(Position Parameters, Size Parameters): Rewrite sections dealing
with the handling of frame parameters in text terminals.
(Layout Parameters): Move description of 'undecorated' parameter
here.  Clarify semantics of 'menu-bar-lines' parameter.
(Frame Interaction Parameters): Move description of 'visibility'
parameter here.  Mention which parameters are not implemented on
text terminals.
(Mouse Dragging Parameters): Describe how these work on text
terminals.
(Visibility of Frames): Rewrite section.
(Raising and Lowering): Describe for text terminals.
(Child Frames): Fix description of 'iconify-child-frame' option.

(cherry picked from commit 1ee2a921ad528e18cc68c594f4f2ffcb0599cfe7)

2 months ago; Add index entry "code completion" to user manual
Stefan Kangas [Sat, 22 Mar 2025 08:05:08 +0000 (09:05 +0100)]
; Add index entry "code completion" to user manual

* doc/emacs/programs.texi (Symbol Completion): Improve indexing by
adding "code completion".  This is the name that this feature goes by
elsewhere, so users are likely to look for it.

(cherry picked from commit dc80a8f0509e37cc92f4f2f3a18c6732b163ffd4)

2 months ago; Update version comment in 'lua-ts-mode'
john muhl [Fri, 21 Mar 2025 19:10:36 +0000 (14:10 -0500)]
; Update version comment in 'lua-ts-mode'

* lisp/progmodes/lua-ts-mode.el: Update comment for version
0.3.0 of tree-sitter-lua grammar.  (Bug#77158)

(cherry picked from commit cf7fdd374ac96ddd53a026bda2aa2b7211e5ee70)

2 months ago; * doc/emacs/programs.texi (Program Modes): Add info about Eglot.
Eli Zaretskii [Sat, 22 Mar 2025 07:04:48 +0000 (09:04 +0200)]
; * doc/emacs/programs.texi (Program Modes): Add info about Eglot.

(cherry picked from commit 0d9b14ed05701104d251495cf80fe47627a3b0ee)

2 months ago; Skip commit 0d654a10c90e8c2345a22384d503fbf340879ce7
Eshel Yaron [Sun, 23 Mar 2025 19:23:28 +0000 (20:23 +0100)]
; Skip commit 0d654a10c90e8c2345a22384d503fbf340879ce7

2 months agoMake 'eieio-version' obsolete
Stefan Kangas [Sat, 22 Mar 2025 06:01:14 +0000 (07:01 +0100)]
Make 'eieio-version' obsolete

EIEIO used to be developed externally as part of CEDET, but that is no
longer the case.  It now has the same version as Emacs itself.
https://sourceforge.net/p/cedet/git/ci/8aa920380f8178ed2514f06f13c403d80db16752/

* lisp/emacs-lisp/eieio.el: Change "Version" header to "Old-Version".
(eieio-version): Make both the variable and the function obsolete in
favor of 'emacs-version'.

(cherry picked from commit 580c050f6dd41eea718f9414efeabcae43cdb625)

2 months ago; Skip commit f224475f5784fe40521f066214913212c79dc429
Eshel Yaron [Sun, 23 Mar 2025 19:23:13 +0000 (20:23 +0100)]
; Skip commit f224475f5784fe40521f066214913212c79dc429

2 months agoxref: error -> user-error: reduce debug-on-error annoyance
Daniel Colascione [Sat, 22 Mar 2025 01:09:19 +0000 (21:09 -0400)]
xref: error -> user-error: reduce debug-on-error annoyance

* lisp/progmodes/xref.el (xref--next-error-function): Use user-error
instead of error.

(cherry picked from commit 2fcf6b40869f085b32876206179bf1dfe2dc2c93)

2 months agoAdapt ediff to nonstandard layouts
Daniel Colascione [Fri, 21 Mar 2025 23:46:08 +0000 (19:46 -0400)]
Adapt ediff to nonstandard layouts

Make ediff cope with having some of its windows (especially the control
window) not shown by a custom ediff-window-setup-function.
Modernize relevant adjacent code. After this change, one can write a
custom ediff-window-setup-function that doesn't show the control window.

* doc/misc/ediff.texi (Notes on Heavy-duty Customization): Refine
language to explain that the window setup function doesn't have to show
all windows.
* lisp/vc/ediff-util.el (ediff-select-control-window-on-setup):
New variable.
(ediff-setup, ediff-recenter, ediff-recenter-one-window)
(ediff-recenter-ancestor, ediff-toggle-read-only)
(ediff-operate-on-windows, ediff-jump-to-difference-at-point)
(ediff-default-suspend-function)
(ediff-clone-buffer-for-region-comparison)
(ediff-clone-buffer-for-window-comparison): Modernize control flow;
select only windows that exist.
* lisp/vc/ediff-wind.el (ediff-with-live-window): New convenience macro.
(ediff-window-setup-function): Explain relaxed contract.

(cherry picked from commit e5ee1d2a74c6a0989c863c3c6c06eba31efaecb3)

2 months ago; Skip commit b21636580bed822bd9fb8bb84014311fa9b4c071
Eshel Yaron [Sun, 23 Mar 2025 19:22:08 +0000 (20:22 +0100)]
; Skip commit b21636580bed822bd9fb8bb84014311fa9b4c071

2 months ago; Skip commit b12a3a03ae134ab710170b43262fe8db13364727
Eshel Yaron [Sun, 23 Mar 2025 19:21:53 +0000 (20:21 +0100)]
; Skip commit b12a3a03ae134ab710170b43262fe8db13364727

2 months agoAvoid infinite loop with images under 'display-line-numbers-mode'
Eli Zaretskii [Fri, 21 Mar 2025 16:20:21 +0000 (18:20 +0200)]
Avoid infinite loop with images under 'display-line-numbers-mode'

* src/xdisp.c (move_it_in_display_line_to, display_line): When
considering the first glyph on a glyph row, take into
consideration the glyphs produced for line-number display.
(Bug#77065)

(cherry picked from commit df6669578001e49f44714301df71870654a2de33)

2 months agoLeave buffer with input-method help unmodified
Eli Zaretskii [Thu, 20 Mar 2025 20:33:32 +0000 (22:33 +0200)]
Leave buffer with input-method help unmodified

* lisp/international/quail.el (quail-help): Leave "*Help*"
unmodified.  (Bug#77139)

(cherry picked from commit bbad5be9f05aee3eb38b81c65c4a3a286271ce55)

2 months agoMake compilation-filter-hook into a defcustom
Stefan Kangas [Thu, 20 Mar 2025 18:21:08 +0000 (19:21 +0100)]
Make compilation-filter-hook into a defcustom

* lisp/progmodes/compile.el (compilation-filter-hook): Make variable
into a defcustom.

(cherry picked from commit 40a17ce3b238ea0223d1b3e1c72f48352e1ca63d)

2 months ago; Skip commit f0800612e5c5835bd74459eab9dd8843ed9cdfd3
Eshel Yaron [Sun, 23 Mar 2025 18:15:23 +0000 (19:15 +0100)]
; Skip commit f0800612e5c5835bd74459eab9dd8843ed9cdfd3

2 months ago; Fix 'lua-ts-mode' tests (Bug#77102)
john muhl [Tue, 18 Mar 2025 14:12:39 +0000 (09:12 -0500)]
; Fix 'lua-ts-mode' tests (Bug#77102)

* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
Remove unintended use of tabs and make indentation settings
buffer local.

(cherry picked from commit 60e9195984d746cbbb5939918ed5ddc27377c0e6)

2 months ago; Skip commit 22602f9c2ca2088fe42d2622eebdd9cd7a0d6b42
Eshel Yaron [Sun, 23 Mar 2025 18:15:14 +0000 (19:15 +0100)]
; Skip commit 22602f9c2ca2088fe42d2622eebdd9cd7a0d6b42

2 months ago; Skip commit 77ad6518bb51410d0bb0199f55e9696265e3cf1d
Eshel Yaron [Sun, 23 Mar 2025 18:15:08 +0000 (19:15 +0100)]
; Skip commit 77ad6518bb51410d0bb0199f55e9696265e3cf1d

2 months agoFix `string-pixel-width' with alternate text properties
David Ponce [Sun, 16 Mar 2025 10:31:21 +0000 (11:31 +0100)]
Fix `string-pixel-width' with alternate text properties

Fix possible wrong result of `string-pixel-width' with alternate
and default properties.  Create new regression tests.
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Like for
`face-remapping-alist', use in work buffer the value of
`char-property-alias-alist' and `default-text-properties'
local to the passed buffer, to correctly compute pixel width.
(Bug#77042)

* test/lisp/misc-tests.el: Add tests for `string-pixel-width'.

(cherry picked from commit b1db48c0fcd438c903826fe0dba3bc28ffa73cc4)

2 months agoMariaDB and Mysql handle escaped aphostrophes in the same way
Vincenzo Pupillo [Mon, 17 Mar 2025 21:35:23 +0000 (22:35 +0100)]
MariaDB and Mysql handle escaped aphostrophes in the same way

* lisp/progmodes/sql.el (sql-mode): MariaDB and Mysql both
handle escaped apostrophes in the same way.  (Bug#77088)

(cherry picked from commit cace07f27dc31091a606a70ae8b957cd5dd7da43)

2 months agoFix OSX build without pdumper
Jindrich Makovicka [Wed, 19 Mar 2025 09:03:09 +0000 (10:03 +0100)]
Fix OSX build without pdumper

* Makefile.in (install-arch-dep) [ns_self_contained]: Add missing
DUMPING = pdumper check.

Copyright-paperwork-exempt: yes
(cherry picked from commit 86c354dd0d891144bf5a6821949de7be3df0ffa2)

2 months ago; Add indexing for Eglot in user manual
Eli Zaretskii [Thu, 20 Mar 2025 08:41:26 +0000 (10:41 +0200)]
; Add indexing for Eglot in user manual

* doc/emacs/programs.texi (Imenu, Programming Language Doc)
(Symbol Completion):
* doc/emacs/maintaining.texi (Xref): Index Eglot-related
functionalities.

(cherry picked from commit 2d12754ee20deb789bd5444f604acda6bb05bbf9)

2 months ago; Change some instances of cl to cl-lib in docs
Stefan Kangas [Thu, 20 Mar 2025 01:05:55 +0000 (02:05 +0100)]
; Change some instances of cl to cl-lib in docs

* doc/misc/cl.texi (Overview):
* doc/misc/eieio.texi (CLOS compatibility, Wish List): Change 'cl' to
'cl-lib' where appropriate.

(cherry picked from commit a30b9b640b46c23f0a6db7b8fbe329d93e035db6)

2 months ago; Improve introduction to use-package manual
Stefan Kangas [Wed, 19 Mar 2025 20:27:29 +0000 (21:27 +0100)]
; Improve introduction to use-package manual

* doc/misc/use-package.texi (Top): Improve introduction.

(cherry picked from commit b681d62436f577ddfbfbac50885d48cde320632e)

2 months ago; Add cross-references to push and pop docstrings
Stefan Kangas [Wed, 19 Mar 2025 20:27:38 +0000 (21:27 +0100)]
; Add cross-references to push and pop docstrings

* lisp/subr.el (push, pop): Add cross-references to Info manual.

(cherry picked from commit f1acefd86f8d88d26455fec43961d3060451b6f0)

2 months agoImprove 'gui-get-selection' on MS-Windows
Eli Zaretskii [Thu, 20 Mar 2025 09:03:32 +0000 (11:03 +0200)]
Improve 'gui-get-selection' on MS-Windows

* lisp/term/w32-win.el (w32--get-selection): Allow UTF8_STRING and
TEXT data types as well, since w32select.c handles that correctly.

(cherry picked from commit e53b90a5ce21feeb0290fbe035e9a2d6aae34bc3)

2 months ago; * etc/symbol-releases.eld: Add time-stamp, from my notes
Stephen Gildea [Thu, 20 Mar 2025 04:03:54 +0000 (21:03 -0700)]
; * etc/symbol-releases.eld: Add time-stamp, from my notes

(cherry picked from commit a7d2aa7e0c1a0984d6d1a3563b407efda123d6ae)

2 months ago; * java/org/gnu/emacs/EmacsInputConnection.java: Fix commentary typo.
Po Lu [Thu, 20 Mar 2025 02:21:03 +0000 (10:21 +0800)]
; * java/org/gnu/emacs/EmacsInputConnection.java: Fix commentary typo.

(cherry picked from commit f38f4588d7bb5dee9f6a5adc1b29bd457c70c7b2)