Merge from origin/emacs-30

df3fb94f09 Insert missing step to make use of directory tracking OSC...
1bed294958 * lisp/keymap.el (keymap-set): Refer to 'key-description'...
941158fc13 Support new tree-sitter grammar filename format (bug#78754)
888f846d37 Fix crash when evaluating "(signal nil 5)" (bug#78738)
51b9e92ab8 Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/...
c0a913ea4f ; * doc/lispref/modes.texi (Font Lock Basics): Remove old...
37de076017 Adapt emba integration (don't merge)
This commit is contained in:
Eli Zaretskii 2025-06-14 11:23:54 -04:00
commit 336253ddd3
5 changed files with 32 additions and 9 deletions

View file

@ -971,6 +971,13 @@ at each prompt, for instance with the following command:
printf "\e]7;file://%s%s\e\\" "$HOSTNAME" "$PWD"
@end example
@noindent
Then tell Emacs to process the escape codes:
@lisp
(add-hook 'comint-output-filter-functions #'comint-osc-process-output)
@end lisp
@vindex explicit-shell-file-name
@cindex environment variables for subshells
@cindex @env{ESHELL} environment variable
@ -1204,7 +1211,7 @@ supports some extended escape codes, like some of the @acronym{OSC}
(Operating System Codes) if you put the following in your init file:
@lisp
(add-hook 'comint-output-filter-functions 'comint-osc-process-output)
(add-hook 'comint-output-filter-functions #'comint-osc-process-output)
@end lisp
With this enabled, the output from, for instance, @code{ls

View file

@ -3273,10 +3273,7 @@ Lock mode is enabled, to set all the other variables.
@defvar font-lock-defaults
This variable is set by modes to specify how to fontify text in that
mode. It automatically becomes buffer-local when set. If its value
is @code{nil}, Font Lock mode does no highlighting, and you can use
the @samp{Faces} menu (under @samp{Edit} and then @samp{Text
Properties} in the menu bar) to assign faces explicitly to text in the
buffer.
is @code{nil}, Font Lock mode does no highlighting.
If non-@code{nil}, the value should look like this:

View file

@ -60,7 +60,11 @@ DEFINITION is anything that can be a key's definition:
keymap has been created with a menu name, see `make-keymap'),
or a cons (MAP . CHAR), meaning use definition of CHAR in keymap MAP,
or an extended menu item definition.
(See info node `(elisp)Extended Menu Items'.)"
(See info node `(elisp)Extended Menu Items'.)
The `key-description' convenience function converts a simple
string of characters to an equivalent form that is acceptable for
COMMAND."
(declare (compiler-macro (lambda (form) (keymap--compile-check key) form)))
(keymap--check key)
;; If we're binding this key to another key, then parse that other

View file

@ -1888,7 +1888,7 @@ See also the function `condition-case'. */
(Lisp_Object error_symbol, Lisp_Object data)
{
/* If they call us with nonsensical arguments, produce "peculiar error". */
if (NILP (error_symbol) && NILP (data))
if (NILP (error_symbol) && !CONSP (data))
error_symbol = Qerror;
signal_or_quit (error_symbol, data, false);
eassume (false);

View file

@ -682,14 +682,29 @@ treesit_load_language_push_for_each_suffix (Lisp_Object lib_base_name,
Lisp_Object candidate1 = concat2 (lib_base_name, XCAR (suffixes));
#ifndef WINDOWSNT
/* On Posix hosts, support libraries named with ABI version
numbers. In the foreseeable future we only need to support
version 0.0. For more details, see
numbers. Originally tree-sitter grammars are always versioned
at 0.0, so we first try that. For more details, see
https://lists.gnu.org/archive/html/emacs-devel/2023-04/msg00386.html. */
Lisp_Object candidate2 = concat2 (candidate1, Vtreesit_str_dot_0);
Lisp_Object candidate3 = concat2 (candidate2, Vtreesit_str_dot_0);
*path_candidates = Fcons (candidate3, *path_candidates);
*path_candidates = Fcons (candidate2, *path_candidates);
/* Since 2025, tree-sitter grammars use their supported
TREE_SITTER_LANGUAGE_VERSION as the major version. So we need
to try all the version supported by the tree-sitter library
too. (See bug#78754) */
for (int version = TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION;
version <= TREE_SITTER_LANGUAGE_VERSION;
version++)
{
char ext[16]; // 16 should be enough until the end of universe.
snprintf ((char *) &ext, 16, ".%d.0", version);
Lisp_Object versioned_candidate = concat2 (candidate1,
build_string (ext));
*path_candidates = Fcons (versioned_candidate, *path_candidates);
}
#endif
*path_candidates = Fcons (candidate1, *path_candidates);
}