Commit Graph

175617 Commits

Author SHA1 Message Date
Eli Zaretskii
88f6b045f4 Merge from origin/emacs-30
afb34a3b23 ; Improve documentation of ':box' face attribute
b38eb6da1d Fix docstring of c-ts-mode-indent-style
9fdb764898 Support PHP 8.4 and more reliable indentation (bug#74525)
bda0bce9e4 Don't inadvertently reset frame scroll bar sizes (Bug#74435)
3f99cdaf26 Mention special variables in lexical binding documentation
0ef0f18f16 Allow to go back to using 'ruby-mode' after loading 'ruby...
fc17e8727d Delete obsolete section in admin/notes/repo
3e396b2c5b Improve documentation for 'while-let'
50b91ed458 Remove mention of treesit-defun-prefer-top-level (bug#74474)
03ae07291e Fix NS non-native fullscreen on initial frame load (bug#5...
8261d7224d Fix user options for listing and marking diary files

# Conflicts:
#	lisp/progmodes/c-ts-mode.el
2024-11-30 06:44:06 -05:00
Eli Zaretskii
82bdb3bfd0 ; Merge from origin/emacs-30
The following commit was skipped:

6f6a92624e Avoid loading 'rx' at runtime in 'lua-ts-mode'
2024-11-30 06:35:29 -05:00
Eli Zaretskii
ffa9ad5c1f Merge from origin/emacs-30
d953179320 Make 'jsonrpc-default-request-timeout' a defcustom
5339c6f69e ; Improve example of display-buffer-alist category in ELi...
e14007ad63 Update MS-Windows build instructions

# Conflicts:
#	etc/NEWS
2024-11-30 06:35:16 -05:00
Eli Zaretskii
7c90ffcf86 ; * src/charset.c (Fmap_charset_chars): Fix last change (bug#74555). 2024-11-30 12:55:19 +02:00
altermo
2125e188ad Add more error-checking to Fmap_charset_chars
* src/charset.c (Fmap_charset_chars): Signal an error if FROM_CODE
or TO_CODE is non-nil and not a fixnum.  (Bug#74555)

Copyright-paperwork-exempt: yes
2024-11-30 12:51:40 +02:00
Eli Zaretskii
afb34a3b23 ; Improve documentation of ':box' face attribute
* doc/lispref/display.texi (Face Attributes): Describe a subtlety
of displaying ':box'.  (Bug#74536)
2024-11-30 12:44:01 +02:00
Eli Zaretskii
8ef44ca64e ; Improve commentary of last change. 2024-11-30 12:34:40 +02:00
James Cherti
2ea0919550 Support hyphen in Bash function names
* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Add
hyphen to function-name regexp.

Copyright-paperwork-exempt: yes
2024-11-30 12:31:56 +02:00
Yuan Fu
b38eb6da1d Fix docstring of c-ts-mode-indent-style
* lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-style): Make the
docstring reflect what's expected by the code.
2024-11-29 21:13:31 -08:00
Daniel Mendler
eec1a68b00 New function `completion-list-candidate-at-point'
Replace `completions--start-of-candidate-at' with the new
function `completion-list-candidate-at-point' which returns the
candidate string and the candidate bounds as a list in the
format (STR BEG END).

* lisp/simple.el (completions--start-of-candidate-at): Remove.
(completion-list-candidate-at-point): New function.
(choose-completion): Use it.
* lisp/minibuffer.el (minibuffer-completion-help): Use it.
2024-11-29 12:26:02 -05:00
Juri Linkov
a52ad71cc5 * lisp/progmodes/c-ts-mode.el: Improve logic of outlines (bug#74448).
(c-ts-mode--outline-predicate): Instead of checking only for
function_declarator nodes at the beginning of line (like in
GNU coding style) handle other coding styles that start the
function line with either storage class (e.g. static) or type.
Suggested by Filippo Argiolas <filippo.argiolas@gmail.com>
2024-11-29 09:35:13 +02:00
Vincenzo Pupillo
9fdb764898 Support PHP 8.4 and more reliable indentation (bug#74525)
Added support for PHP 8.4 property hook. More reliable CSS and
Javascript syntax indentation when there are attributes in
<script> and <style>.

* lisp/progmodes/php-ts-mode.el:
(php-ts-mode--language-source-alist): Switch to the latest php
grammar.
(php-ts-mode--js-css-tag-bol): CSS and Javascript indentation is
now more more reliable in different formatting styles.
(php-ts-mode--test-property-hook-clause-p): New function that
tests property_hook support.
(php-ts-mode--font-lock-settings): Use the new function.
(php-ts-mode--colorize-css-value): The function now behaves
exactly like the one in css-ts-mode.
(php-ts-mode--feature-list): Changed the list to match
css-ts-mode.
2024-11-28 20:47:22 -08:00
Martin Rudalics
bda0bce9e4 Don't inadvertently reset frame scroll bar sizes (Bug#74435)
* src/frame.c (gui_set_scroll_bar_width)
(gui_set_scroll_bar_height): When the new size equals the old one
do not reset size to default size (Bug#74435).
2024-11-28 18:53:45 +01:00
Mike Kupfer
3f99cdaf26 Mention special variables in lexical binding documentation
* doc/lispref/variables.texi (Lexical Binding): Briefly mention
special variables and their semantics.  (Bug#74540)
2024-11-28 17:27:16 +02:00
Eli Zaretskii
0ef0f18f16 Allow to go back to using 'ruby-mode' after loading 'ruby-ts-mode'
* lisp/progmodes/ruby-ts-mode.el (major-mode-remap-defaults):
Remap 'ruby-mode' to 'ruby-ts-mode'.  Add commentary.
* lisp/progmodes/ruby-mode.el (major-mode-remap-defaults): Remove
any remappings of ruby-mode'.
* lisp/progmodes/c-ts-mode.el: Fix a typo in a comment.  (Bug#74339)
2024-11-28 16:55:26 +02:00
Michael Albinus
e54c218d66 Extend Tramp tests
* test/lisp/net/tramp-tests.el (tramp-test47-read-password)
(tramp-test47-read-otp-password, tramp-test47-read-fingerprint):
Use `tramp-default-remote-shell' and
`tramp-connection-properties'.  Cleanup at the end.
(tramp-test47-read-security-key): New test.
2024-11-28 13:28:58 +01:00
Andrea Corallo
b0ba0d42b0 * src/lisp.h (EQ): Improve generated code.
Outside compilation 'symbols_with_pos_enabled' is always false, so ask
the compiler to organize the most likely execution path in a sequential
fashion in order to favor run-time performance.
2024-11-28 11:33:14 +01:00
Michael Albinus
8184f64ab0 ; Minor Tramp cleanup
* lisp/net/tramp-message.el (tramp-warning): Fix `lwarn' call.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't set
connection property "remote-pid", it's unused.
2024-11-27 20:51:51 +01:00
Eli Zaretskii
bef9eeb059 ; * etc/NEWS: Fix typo and wording of a recently-added entry. 2024-11-27 15:54:39 +02:00
Eli Zaretskii
51fb0331b3 ; * etc/NEWS: Fix typos and wording of last added entry. 2024-11-27 15:49:55 +02:00
Juri Linkov
64c289590b Add command symbol property 'repeat-continue-only' for 'repeat-mode'
* lisp/repeat.el: (repeat-post-hook): Ignore commands
with 'repeat-continue-only' symbol property
when repeat was not in progress (bug#74140).

* test/lisp/repeat-tests.el (repeat-tests-continue-only): New test.
(repeat-tests-bind-keys): Prepare for :continue-only.
2024-11-27 09:45:19 +02:00
Juri Linkov
9784c20dba * test/lisp/repeat-tests.el: Improve using new key mnemonics (bug#74140).
(repeat-tests-repeat-map): Use :repeat keywords with :enter and :exit
for 'defvar-keymap'.
(with-repeat-mode): Add new arg 'map' to defmacro.
(repeat-tests-check-key, repeat-tests-exit-key)
(repeat-tests-keep-prefix): Use new key mnemonics.
(repeat-tests-exit-command): New test.
(repeat-tests-bind-keys): New test for 'bind-keys' from 'use-package'.
2024-11-27 09:39:19 +02:00
Sean Whitton
e4abb06e5b * lisp/subr.el (when-let): Reimplement so as to avoid bug#74530. 2024-11-27 10:36:53 +08:00
Dmitry Gutov
0624fe6f84 Make Xref commands follow 'display-buffer' customizations
* lisp/progmodes/xref.el (xref--show-pos-in-buf): Append
'(category . xref-jump)' to display-buffer action argument, when
the target window or frame is not made explicit by the command.
(xref--switch-to-buffer): New function (bug#74361).
Do the switch through 'pop-to-buffer' and use the new category.
(xref-go-back, xref-go-forward, xref-pop-to-location): Use it.
* etc/NEWS: Describe the change.
2024-11-27 03:43:22 +02:00
Dmitry Gutov
298bbf3cd7 * lisp/files.el (major-mode-remap-alist): Add :tag annotations to :type. 2024-11-26 23:34:55 +02:00
Robert Pluim
775290efdf ; * doc/misc/tramp.texi (Frequently Asked Questions): Minor edits. 2024-11-26 18:01:38 +01:00
Michael Albinus
3fe787ad4d Support fingerprint readers in Tramp
* doc/misc/tramp.texi (Frequently Asked Questions): Speak about
fingerprint readers.

* lisp/net/tramp-sh.el (tramp-actions-before-shell):
Use `tramp-fingerprint-prompt-regexp'.

* lisp/net/tramp.el (tramp-wrong-passwd-regexp): Add fingerprint
messages.
(tramp-fingerprint-prompt-regexp, tramp-use-fingerprint):
New defcustoms.
(tramp-action-fingerprint, tramp-action-show-message): New defuns.
(tramp-action-show-and-confirm-message): Start check at (point-min).

* test/lisp/net/tramp-tests.el (tramp-test47-read-fingerprint):
New test.
2024-11-26 12:45:06 +01:00
Stefan Kangas
fc17e8727d Delete obsolete section in admin/notes/repo
* admin/notes/repo: Delete section "How to merge changes from emacs-24
to master", which is documented in admin/notes/git-workflow.  Also
delete out-of-date autoload advice.
2024-11-25 23:14:12 +01:00
Stefan Monnier
83968cbeee (undo-delta): Handle apply elements (bug#74523)
* lisp/simple.el (undo-delta): Handle `apply` elements.

* test/lisp/simple-tests.el (simple-tests--undo-apply): New test.
(simple-tests--undo-equiv-table): Adjust test so it's not influenced by
previous operation.
2024-11-25 10:13:38 -05:00
Michael Albinus
0d46615110 Extend Tramp FAQ
* doc/misc/tramp.texi (Frequently Asked Questions): Improve index.
Recommend `small-temporary-file-directory' for ssh sockets.
2024-11-25 11:29:40 +01:00
Joost Kremers
3e396b2c5b Improve documentation for 'while-let'
* doc/lispref/control.texi (Conditionals): Reorganise describing
what's overlapping between the macros (and between the macros
and let*), and then improve the documentation for 'while-let'.
2024-11-25 12:45:00 +08:00
Yuan Fu
50b91ed458 Remove mention of treesit-defun-prefer-top-level (bug#74474)
treesit-defun-prefer-top-level is removed before Emacs 29
released and was replaced by treesit-defun-tactic.  These
statements that set it doesn't do anything other than introduce
confusion, so we should remove them.

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode):
* lisp/progmodes/js.el (js-ts-mode):
* lisp/progmodes/php-ts-mode.el (php-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-base-mode):
Remove statements setting treesit-defun-prefer-top-level.
2024-11-24 17:07:37 -08:00
Aaron Jensen
cf3ea44eb5 Silence warning message in NS (bug#59790)
* src/nsterm.m ([EmacsWindow createToolbar:]): Disable toolbar when
fullscreen.
2024-11-24 12:03:46 +00:00
Aaron Jensen
20aa29b037 Remove NS non-native fullscreen pause (bug#28443)
* src/nsterm.m (ns_fullscreen_hook): Remove timer workaround
2024-11-24 12:03:46 +00:00
Aaron Jensen
03ae07291e Fix NS non-native fullscreen on initial frame load (bug#59790)
* src/nsterm.m ([EmacsView toggleFullScreen:]): Reset fs_is_native
2024-11-24 11:54:24 +00:00
Eli Zaretskii
8261d7224d Fix user options for listing and marking diary files
* lisp/calendar/diary-lib.el (diary-nongregorian-listing-hook)
(diary-nongregorian-marking-hook): Add Chinese functions to the
list of variable's options.  (Bug#74498)
2024-11-24 11:27:00 +02:00
john muhl
6f6a92624e Avoid loading 'rx' at runtime in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts-inferior-lua):
Replace 'rx-to-string' and substitution with 'rx' and 'literal'.
(Bug#74499)

(cherry picked from commit e71d714a81)
2024-11-24 10:37:22 +02:00
Jim Porter
b4655ff99b Remove 'eshell-escape-arg'
Eshell no longer needs this function, since all command parsing is
performed first, with special syntax annotated with text properties as
needed, as opposed to marking literal text with a property (bug#54486).

* lisp/eshell/em-pred.el (eshell-modifier-alist): Make "q" modifier
obsolete.
(eshell-modifier-help-string): Remove mention of "q".

* lisp/eshell/esh-arg.el (eshell-escape-arg): Make obsolete.
(eshell-parse-backslash, eshell-parse-literal-quote)
(eshell-parse-double-quote): Don't call 'eshell-escape-arg'.

* lisp/eshell/esh-var.el (eshell-parse-variable): Don't call
'eshell-escape-arg'.

* test/lisp/eshell/em-extpipe-tests.el (em-extpipe-test-2)
(em-extpipe-test-9, em-extpipe-test-11): Remove 'eshell-escape-arg'.

* test/lisp/eshell/em-pred-tests.el (em-pred-test/modifier-quote):
Remove test.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/quoted-interp-var-indices)
(esh-var-test/quote-interp-var-indices-subcommand): Remove workaround in
tests.

* doc/misc/eshell.texi (Argument Modifiers): Remove documentation of
obsolete "q" modifier.
2024-11-23 22:40:43 -08:00
Stefan Monnier
f713258416 (dir-locals-collect-variables): Don't autoload if not needed (bug#74349)
While dir-local settings for `c-mode` may require (auto)loading `cc-mode.el`
to get all the `safe-local-variable` properties, they may not.  So before
(auto)loading that file, make sure we don't already have all the
`safe-local-variable` properties we need.

* lisp/files.el (dir-locals--load-mode-if-needed): New function.
(hack-one-local-variable): Don't inf-loop if `eval` calls a major mode.
(dir-locals-collect-variables): Use `dir-locals--load-mode-if-needed`.
2024-11-23 22:08:54 -05:00
john muhl
e71d714a81 Avoid loading 'rx' at runtime in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts-inferior-lua):
Replace 'rx-to-string' and substitution with 'rx' and 'literal'.
(Bug#74499)
2024-11-24 02:21:08 +01:00
Sean Whitton
eb1756a8a5 Improve marking if-let and when-let obsolete
* lisp/subr.el (if-let): Use a declaration instead of
make-obsolete.
(when-let): Use a declaration instead of make-obsolete.  Use
with-suppressed-warnings to avoid generating two warnings.
2024-11-24 08:44:18 +08:00
Eli Zaretskii
d953179320 Make 'jsonrpc-default-request-timeout' a defcustom
* lisp/jsonrpc.el (jsonrpc-default-request-timeout): New
defcustom, replaces a defconst.
(jsonrpc): New customization group.

* etc/NEWS: Announce the change.  (Bug#74338)
2024-11-23 22:14:57 +02:00
Juri Linkov
5339c6f69e ; Improve example of display-buffer-alist category in ELisp Reference
* doc/lispref/windows.texi (Choosing Window): Use 'add-to-list'
and add an example how to override display-buffer-alist entries
such as 'inhibit-same-window' by matching the window
using the 'category' condition (bug#74457).
2024-11-23 20:27:39 +02:00
Stefan Kangas
0438305773 ; * etc/symbol-releases.eld: Rearrange. 2024-11-23 18:37:02 +01:00
Stefan Kangas
80a2c74f3b ; * etc/symbol-releases.eld: Add if-let/when-let. 2024-11-23 18:37:02 +01:00
Michael Albinus
abcc8c717d ; Fix bootstrap
* lisp/net/tramp.el (tramp-initial-file-name-regexp)
(tramp-autoload-file-name-regexp): Don't use `rx' in autoloaded
objects.  (Bug#74490)
2024-11-23 18:33:26 +01:00
Stefan Kangas
d4cb3b30f1 ; Fix bootstrap (Bug#74490)
* lisp/progmodes/python.el (python--auto-mode-alist-regexp): Don't use
rx in autoloaded variable, since it breaks bootstrap when copied to
ldefs-boot.el.
* lisp/ldefs-boot.el: Update.
2024-11-23 16:46:30 +01:00
Eshel Yaron
30bcba27c8 Give Completion Preview bindings higher precedence
* lisp/completion-preview.el
(completion-preview-active-mode): add keymap to
'minor-mode-overriding-map-alist' so it takes precedence
over other minor mode maps that bind TAB, such as
'eshell-cmpl-mode' in Eshell.  (bug#74404)
2024-11-23 14:56:50 +01:00
Eli Zaretskii
e14007ad63 Update MS-Windows build instructions
* nt/INSTALL.W64:
* nt/README.W32: Update the name of the MSYS2 libtree-sitter
distribution.  Reported by Nerd <hiweedmandriva3@163.com>.
(Bug#74429)
2024-11-23 15:05:17 +02:00
Christophe Troestler
902696c3ae Rust ts: fontify as type the possible suffix of number literals
* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--fontify-number-literal): Perform the improved
fontification of numbers.  (Bug#73877)
* test/lisp/progmodes/rust-ts-mode-tests.el:
* test/lisp/progmodes/rust-ts-mode-resources/font-lock.rs:
* test/lisp/progmodes/rust-ts-mode-resources/font-lock-number.rs:
Add tests for the new optional fontification of the possible type
suffix of numbers.
2024-11-23 14:56:38 +02:00