[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master acfd261a61a 2/2: Merge from origin/emacs-29
From: |
Eli Zaretskii |
Subject: |
master acfd261a61a 2/2: Merge from origin/emacs-29 |
Date: |
Sat, 10 Jun 2023 06:47:44 -0400 (EDT) |
branch: master
commit acfd261a61a5bdc00f714aeec74635ac9ef87457
Merge: c777779bf24 0d8b69e0ad3
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-29
0d8b69e0ad3 Don't ding when completion succeeded
f11e2d36999 ; * admin/git-bisect-start: Update failing commits
9855a3ea744 ; * src/xdisp.c (redisplay_tool_bar): Fix a typo in a com...
f4ee696b887 Improve documentation of color-related functions
90eadc3e234 Revert "* package.el (package--get-activatable-pkg): Pref...
65f355ea0a3 ; Update my mail address
a3a69ec2342 Fix connection-local user options handling (bug#63300)
240803cc3e1 Document 'startup-redirect-eln-cache'
026afb22984 ; * etc/PROBLEMS: Entry about crashes due to anti-virus (...
bcc222251e1 Fix `emacs-lisp-native-compile-and-load' for C-h f (bug#5...
07c8211ca30 Add 'infer' as a keyword to typescript-ts-mode (bug#63880)
dd2d8ff2f5c ; * etc/NEWS: Mention the issue with PGTK on WSL (bug#633...
fa8135f8916 Revert changes to the order in which package descs are lo...
27fcfa2c0a7 ; * etc/NEWS: Improve instructions for grammar libraries.
2a84ab905c8 Handle point in last file-name component in minibuffer co...
05f25238b7b Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
4bc043ff45d Avoid asking redundant question in emacsbug.el
2eadf328d05 * test/infra/Dockerfile.emba (emacs-base): Don't install ...
583ba1db7ee typescript-ts-mode: Add a rule for function_signature
# Conflicts:
# etc/NEWS
# lisp/minibuffer.el
---
admin/git-bisect-start | 14 +++++++++-
doc/lispref/compile.texi | 21 +++++++++++++-
doc/lispref/frames.texi | 14 ++++++++++
etc/NEWS.29 | 22 +++++++++------
etc/PROBLEMS | 38 ++++++++++++++++++++++++++
lisp/emacs-lisp/comp-cstr.el | 2 +-
lisp/emacs-lisp/comp.el | 33 ++++++++++++++--------
lisp/emacs-lisp/package.el | 18 ++++--------
lisp/files-x.el | 26 +++++++++++++-----
lisp/mail/emacsbug.el | 16 +++++++----
lisp/minibuffer.el | 10 ++++---
lisp/progmodes/elisp-mode.el | 8 ++++--
lisp/progmodes/typescript-ts-mode.el | 5 ++--
src/comp.c | 2 +-
src/xdisp.c | 2 +-
test/infra/Dockerfile.emba | 2 +-
test/lisp/emacs-lisp/comp-cstr-tests.el | 2 +-
test/src/comp-resources/comp-test-funcs-dyn.el | 2 +-
test/src/comp-resources/comp-test-funcs.el | 2 +-
test/src/comp-resources/comp-test-pure.el | 2 +-
test/src/comp-tests.el | 2 +-
21 files changed, 179 insertions(+), 64 deletions(-)
diff --git a/admin/git-bisect-start b/admin/git-bisect-start
index cae9c7918a8..f4ffb8f33b6 100755
--- a/admin/git-bisect-start
+++ b/admin/git-bisect-start
@@ -82,7 +82,7 @@ done
# SKIP-BRANCH 58cc931e92ece70c3e64131ee12a799d65409100
## The list below is the exhaustive list of all commits between Dec 1
-## 2016 and Apr 30 2023 on which building Emacs with the default
+## 2016 and Jun 8 2023 on which building Emacs with the default
## options, on a GNU/Linux computer and with GCC, fails. It is
## possible (though unlikely) that building Emacs with non-default
## options, with other compilers, or on other platforms, would succeed
@@ -1723,3 +1723,15 @@ $REAL_GIT bisect skip $(cat $0 | grep '^# SKIP-SINGLE '
| sed 's/^# SKIP-SINGLE
# SKIP-SINGLE 9686b015a0d71d08828afb0cfe6e477bbc4909ae
# SKIP-SINGLE 621e732ade0f3dc165498ebde4d55d5aacb05b56
# SKIP-SINGLE 200dbf7d302e659e618f74bde81c7b3ccd795639
+# SKIP-SINGLE 03663b8798a06bf18ff1e235ac0fb87870f8fe77
+# SKIP-SINGLE 4897c98b6c496801aad2477c289a40a300eee27f
+# SKIP-SINGLE e6585e0be2efc3f2eaec7210b036169fbdffa9ce
+# SKIP-SINGLE 8ec786349e18068bff39b1387bc4a88d62265e34
+# SKIP-SINGLE 0eba9cf65119a68596c4bf3689086a517d51ce72
+# SKIP-SINGLE ede3535051a8f3b209b830adcaba9cb1ddf58685
+# SKIP-SINGLE 2f94f6de9d64f9fd89284dac171e166e7d721dcd
+# SKIP-SINGLE ab5258b19255ebff04df01d6f55888f43c42dcb9
+# SKIP-SINGLE dc7acb1aafe9b0b84481ac51a5bd5125d263537e
+# SKIP-SINGLE 348e4504c6d5588443809ec28da3c3c693368e16
+# SKIP-SINGLE 970f94a2dd8bc4be4d71f1075421093ca6f87d28
+# SKIP-SINGLE 6b2c8dc9050c5c0514fa404733ce1d4a37d00e39
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 6ae6755ad76..a51691bddcf 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -854,7 +854,10 @@ that the latter technique might still produce a small
number of
@file{*.eln} files if Emacs needs to generate @dfn{trampolines}, which
are used if Lisp primitives are advised or redefined in your Lisp code
that is being natively compiled. @xref{Native-Compilation Variables,
-trampolines}.
+trampolines}. Alternatively, you can specify that the @file{*.eln}
+files are written to a non-default directory using the
+@code{startup-redirect-eln-cache} function; @pxref{Native-Compilation
+Functions}.
@menu
* Native-Compilation Functions:: Functions to natively-compile Lisp.
@@ -977,6 +980,22 @@ the native-compilation support compiled into it. On
systems that load
@file{libgccjit} dynamically, it also makes sure that library is
available and can be loaded. Lisp programs that need to know up front
whether native-compilation is available should use this predicate.
+@end defun
+
+ By default, asynchronous native compilation writes the @file{*.eln}
+files it produces to a subdirectory of the first writable directory
+specified by the @code{native-comp-eln-load-path} variable
+(@pxref{Native-Compilation Variables}). You can change this by using
+the following function in your startup files:
+
+@defun startup-redirect-eln-cache cache-directory
+This function arranges for the asynchronous native compilation to
+write the produced @file{*.eln} files to @var{cache-directory}, which
+must be a single directory, a string. It also destructively modifies
+@code{native-comp-eln-load-path} such that its first element is
+@var{cache-directory}. If @var{cache-directory} is not an absolute
+file name, it is interpreted relative to @code{user-emacs-directory}
+(@pxref{Init File}).
@end defun
@node Native-Compilation Variables
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index c78ab1c34ba..a8ac9a214f6 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -4518,6 +4518,20 @@ This function used to be called @code{x-color-values},
and that name is still supported as an alias.
@end defun
+@defun color-name-to-rgb color &optional frame
+This function does the same as @code{color-values}, but it returns
+color values as floating-point numbers between 0.0 and 1.0 inclusive.
+@end defun
+
+@defun color-dark-p rgb
+This function returns non-@code{nil} if the color described by its RGB
+triplet @var{rgb} is more readable against white background than
+against dark background. The argument @var{rgb} should be a list of
+the form @w{@code{(@var{r} @var{g} @var{b})}}, with each component a
+floating-point number in the range 0.0 to 1.0 inclusive. You can use
+@code{color-name-to-rgb} to convert a color's name to such a list.
+@end defun
+
@node Text Terminal Colors
@section Text Terminal Colors
@cindex colors on text terminals
diff --git a/etc/NEWS.29 b/etc/NEWS.29
index 60aa64b5ede..ca0d602e9ad 100644
--- a/etc/NEWS.29
+++ b/etc/NEWS.29
@@ -65,12 +65,13 @@ cloning its Git repository, compile the files "scanner.c"
and
"parser.c" (sometimes named "scanner.cc" and "parser.cc") in the "src"
subdirectory of the library's source tree using the C or C++ compiler,
then link these two files into a shared library named
-"libtree-sitter-LANG.so", where LANG is the name of the language
-supported by the grammar as it is expected by the Emacs major mode
-(for example, "c" for 'c-ts-mode', "cpp" for 'c++-ts-mode', "python"
-for 'python-ts-mode', etc.). Then place the shared library you've
-built in the same directory where you keep the other shared libraries
-used by Emacs, or in the "tree-sitter" subdirectory of your
+"libtree-sitter-LANG.so" ("libtree-sitter-LANG.dll" on MS-Windows,
+"libtree-sitter-LANG.dylib" on macOS), where LANG is the name of the
+language supported by the grammar as it is expected by the Emacs major
+mode (for example, "c" for 'c-ts-mode', "cpp" for 'c++-ts-mode',
+"python" for 'python-ts-mode', etc.). Then place the shared library
+you've built in the same directory where you keep the other shared
+libraries used by Emacs, or in the "tree-sitter" subdirectory of your
'user-emacs-directory', or in a directory mentioned in the variable
'treesit-extra-load-path'.
@@ -79,6 +80,11 @@ Emacs modes you will use, as Emacs loads these libraries
only when the
corresponding mode is turned on in some buffer for the first time in
an Emacs session.
+We generally recommend to use the latest versions of grammar libraries
+available from their sites, as these libraries are in constant
+development and occasionally add features and fix important bugs to
+follow the advances in the programming languages they support.
+
+++
** Emacs can be built with built-in support for accessing SQLite databases.
This uses the popular sqlite3 library, and can be disabled by using
@@ -129,7 +135,7 @@ use this configuration only if you are running a window
system other
than X that's supported by GDK. Running this configuration on X is
known to have problems, such as undesirable frame positioning and
various issues with keyboard input of sequences such as 'C-;' and
-'C-S-u'.
+'C-S-u'. Running this on WSL is also known to have problems.
Note that, unlike the X build of Emacs, the PGTK build cannot
automatically switch to text-mode interface (thus emulating '-nw') if
@@ -220,7 +226,7 @@ ones for the current Emacs version). Note that
subdirectories of the
system directory where the "*.eln" files are installed (usually, the
last entry in 'native-comp-eln-load-path') are not deleted.
----
++++
*** New function 'startup-redirect-eln-cache'.
This function can be called in your init files to change the
user-specific directory where Emacs stores the "*.eln" files produced
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 5b2a4cce955..773507db3be 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -2750,6 +2750,44 @@ C-r C-t, to toggle whether C-x gets through to Emacs.
* Runtime problems specific to MS-Windows
+** Emacs with native compilation crashes/signals errors accessing *.eln files
+
+This is known to be caused by some flavors of Windows anti-virus
+software. The problem could manifest itself in several ways:
+
+ . Emacs crashes when it tries to load certain *.eln files
+ . Emacs signals an error when it tries to load some *.eln files,
+ claiming they are "not GPL compatible"
+ . Emacs crashes during GC when it calls unload_comp_unit
+
+This was specifically reported to happen with *.eln files in
+directories under the C:\Users directory, which is where Emacs on
+Windows places the emulated HOME directory, and thus also the
+~/.emacs.d/eln-cache directory holding the *.eln files compiled during
+Emacs sessions (as opposed to those that came precompiled and were
+installed with the rest of Emacs distribution).
+
+If you cannot disable such anti-virus software or switch to another
+one, you could use the following workarounds:
+
+ . Define the HOME environment variable to point to a directory
+ outside of the C:\Users tree, then copy/move your ~/.emacs.d
+ directory to that new home directory.
+ . Move all the *.eln files from ~/.emacs.d/eln-cache to a directory
+ out of the C:\Users tree, and customize Emacs to use that
+ directory for *.eln files. This requires to call the function
+ startup-redirect-eln-cache in your init file, to force Emacs to
+ write *.eln files compiled at run time to that directory.
+ . Delete all *.eln files in your ~/.emacs.d/eln-cache directory, and
+ then disable run-time native compilation. To disable native
+ compilation, set the variables native-comp-jit-compilation and
+ native-comp-enable-subr-trampolines to nil.
+ . Install Emacs built without native compilation.
+
+With any of the above methods, you'd need to restart Emacs (and
+preferably also your Windows system) after making the changes, to have
+them take effect.
+
** Emacs on Windows 9X requires UNICOWS.DLL
If that DLL is not available, Emacs will display an error dialog
diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el
index e0db82604f2..7e3ca1f3bae 100644
--- a/lisp/emacs-lisp/comp-cstr.el
+++ b/lisp/emacs-lisp/comp-cstr.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; Keywords: lisp
;; Package: emacs
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index b65da148787..22fb08e4688 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; Keywords: lisp
;; Package: emacs
@@ -4367,6 +4367,26 @@ last directory in `native-comp-eln-load-path')."
else
collect (byte-compile-file file))))
+(defun comp-write-bytecode-file (eln-file)
+ "After native compilation write the bytecode file for ELN-FILE.
+Make sure that eln file is younger than byte-compiled one and
+return the filename of this last.
+
+This function can be used only in conjuntion with
+`byte+native-compile' `byte-to-native-output-buffer-file' (see
+`batch-byte+native-compile')."
+ (pcase byte-to-native-output-buffer-file
+ (`(,temp-buffer . ,target-file)
+ (unwind-protect
+ (progn
+ (byte-write-target-file temp-buffer target-file)
+ ;; Touch the .eln in order to have it older than the
+ ;; corresponding .elc.
+ (when (stringp eln-file)
+ (set-file-times eln-file)))
+ (kill-buffer temp-buffer))
+ target-file)))
+
;;;###autoload
(defun batch-byte+native-compile ()
"Like `batch-native-compile', but used for bootstrap.
@@ -4382,16 +4402,7 @@ variable \"NATIVE_DISABLED\" is set, only byte compile."
(let* ((byte+native-compile t)
(byte-to-native-output-buffer-file nil)
(eln-file (car (batch-native-compile))))
- (pcase byte-to-native-output-buffer-file
- (`(,temp-buffer . ,target-file)
- (unwind-protect
- (progn
- (byte-write-target-file temp-buffer target-file)
- ;; Touch the .eln in order to have it older than the
- ;; corresponding .elc.
- (when (stringp eln-file)
- (set-file-times eln-file)))
- (kill-buffer temp-buffer))))
+ (comp-write-bytecode-file eln-file)
(setq command-line-args-left (cdr command-line-args-left)))))
;;;###autoload
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index ba0e3618f28..bbe5f00fde1 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -737,7 +737,7 @@ description file containing a call to `define-package',
which
updates `package-alist'."
(dolist (dir (cons package-user-dir package-directory-list))
(when (file-directory-p dir)
- (dolist (pkg-dir (directory-files dir t "\\`[^.]" t))
+ (dolist (pkg-dir (directory-files dir t "\\`[^.]"))
(when (file-directory-p pkg-dir)
(package-load-descriptor pkg-dir))))))
@@ -916,22 +916,14 @@ correspond to previously loaded files."
(defun package--get-activatable-pkg (pkg-name)
;; Is "activatable" a word?
- (let ((pkg-descs (sort (cdr (assq pkg-name package-alist))
- (lambda (p1 p2)
- (let ((v1 (package-desc-version p1))
- (v2 (package-desc-version p2)))
- (or
- ;; Prefer VC packages.
- (package-vc-p p1)
- (package-vc-p p2)
- ;; Prefer builtin packages.
- (package-disabled-p p1 v1)
- (not (package-disabled-p p2 v2))))))))
+ (let ((pkg-descs (cdr (assq pkg-name package-alist))))
;; Check if PACKAGE is available in `package-alist'.
(while
(when pkg-descs
(let ((available-version (package-desc-version (car pkg-descs))))
- (package-disabled-p pkg-name available-version)))
+ (or (package-disabled-p pkg-name available-version)
+ ;; Prefer a builtin package.
+ (package-built-in-p pkg-name available-version))))
(setq pkg-descs (cdr pkg-descs)))
(car pkg-descs)))
diff --git a/lisp/files-x.el b/lisp/files-x.el
index 548d9efc193..9b1a7a17902 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -674,15 +674,21 @@ variables for a connection profile are defined using
(dolist (profile profiles)
(unless (assq profile connection-local-profile-alist)
(error "No such connection profile `%s'" (symbol-name profile))))
- (let* ((criteria (connection-local-normalize-criteria criteria))
+ ;; Avoid saving the changed user option to file unless triggered
+ ;; explicitly by user. This workaround can be removed once there is
+ ;; a solution for bug#63891.
+ (let* ((saved-value (get 'connection-local-criteria-alist 'saved-value))
+ (criteria (connection-local-normalize-criteria criteria))
(slot (assoc criteria connection-local-criteria-alist)))
(if slot
(setcdr slot (delete-dups (append (cdr slot) profiles)))
(setq connection-local-criteria-alist
(cons (cons criteria (delete-dups profiles))
- connection-local-criteria-alist))))
- (custom-set-variables
- `(connection-local-criteria-alist ',connection-local-criteria-alist now)))
+ connection-local-criteria-alist)))
+ (custom-set-variables
+ `(connection-local-criteria-alist ',connection-local-criteria-alist now))
+ (unless saved-value
+ (put 'connection-local-criteria-alist 'saved-value nil))))
(defsubst connection-local-get-profile-variables (profile)
"Return the connection-local variable list for PROFILE."
@@ -701,9 +707,15 @@ connection profile using `connection-local-set-profiles'.
Then
variables are set in the server's process buffer according to the
VARIABLES list of the connection profile. The list is processed
in order."
- (setf (alist-get profile connection-local-profile-alist) variables)
- (custom-set-variables
- `(connection-local-profile-alist ',connection-local-profile-alist now)))
+ ;; Avoid saving the changed user option to file unless triggered
+ ;; explicitly by user. This workaround can be removed once there is
+ ;; a solution for bug#63891.
+ (let ((saved-value (get 'connection-local-profile-alist 'saved-value)))
+ (setf (alist-get profile connection-local-profile-alist) variables)
+ (custom-set-variables
+ `(connection-local-profile-alist ',connection-local-profile-alist now))
+ (unless saved-value
+ (put 'connection-local-profile-alist 'saved-value nil))))
;;;###autoload
(defun connection-local-update-profile-variables (profile variables)
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index f686c04536c..7a66089aec9 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -455,12 +455,16 @@ and send the mail again%s."
(setq send-mail-function (sendmail-query-user-about-smtp))
(when (derived-mode-p 'message-mode)
(setq message-send-mail-function (message-default-send-mail-function))
- (add-hook 'message-sent-hook
- (lambda ()
- (when (y-or-n-p "Save this mail sending choice?")
- (customize-save-variable 'send-mail-function
- send-mail-function)))
- nil t)))
+ ;; Don't ask the question below if we are going to ignore it in
+ ;; 'customize-save-variable' anyway.
+ (unless (or (null user-init-file)
+ (and (null custom-file) init-file-had-error))
+ (add-hook 'message-sent-hook
+ (lambda ()
+ (when (y-or-n-p "Save this mail sending choice?")
+ (customize-save-variable 'send-mail-function
+ send-mail-function)))
+ nil t))))
(or report-emacs-bug-no-confirmation
;; mailclient.el does not need a valid From
(eq send-mail-function 'mailclient-send-it)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index a1379913886..539206a19e4 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -2384,9 +2384,11 @@ These include:
;; If there are no completions, or if the current input is already
;; the sole completion, then hide (previous&stale) completions.
(minibuffer-hide-completions)
- (ding)
- (completion--message
- (if completions "Sole completion" "No completions")))
+ (if completions
+ (completion--message "Sole completion")
+ (unless completion-fail-discreetly
+ (ding)
+ (completion--message "No match"))))
(let* ((last (last completions))
(base-size (or (cdr last) 0))
@@ -4504,7 +4506,7 @@ of `completion-no-auto-exit'.
If NO-QUIT is non-nil, insert the completion at point to the
minibuffer, but don't quit the completions window."
(interactive "P")
- (with-minibuffer-completions-window
+ (with-minibuffer-completions-window
(let ((completion-use-base-affixes t))
(choose-completion nil no-exit no-quit))))
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 45e3848362e..759b1ab4baf 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -215,6 +215,8 @@ All commands in `lisp-mode-shared-map' are inherited by
this map."
(load (byte-compile-dest-file buffer-file-name)))
(declare-function native-compile "comp")
+(declare-function comp-write-bytecode-file "comp")
+
(defun emacs-lisp-native-compile-and-load ()
"Native-compile synchronously the current file (if it has changed).
Load the compiled code when finished.
@@ -224,8 +226,10 @@ Use `emacs-lisp-byte-compile-and-load' in combination with
native compilation."
(interactive nil emacs-lisp-mode)
(emacs-lisp--before-compile-buffer)
- (when-let ((out (native-compile buffer-file-name)))
- (load out)))
+ (let ((byte+native-compile t)
+ (byte-to-native-output-buffer-file nil))
+ (when-let ((eln (native-compile buffer-file-name)))
+ (load (file-name-sans-extension (comp-write-bytecode-file eln))))))
(defun emacs-lisp-macroexpand ()
"Macroexpand the form after point.
diff --git a/lisp/progmodes/typescript-ts-mode.el
b/lisp/progmodes/typescript-ts-mode.el
index 8255e82a99e..3ba2f86bee8 100644
--- a/lisp/progmodes/typescript-ts-mode.el
+++ b/lisp/progmodes/typescript-ts-mode.el
@@ -128,7 +128,7 @@ Argument LANGUAGE is either `typescript' or `tsx'."
"case" "catch" "class" "const" "continue" "debugger"
"declare" "default" "delete" "do" "else" "enum"
"export" "extends" "finally" "for" "from" "function"
- "get" "if" "implements" "import" "in" "instanceof" "interface" "is"
+ "get" "if" "implements" "import" "in" "instanceof" "interface" "is" "infer"
"keyof" "let" "namespace" "new" "of" "private" "protected"
"public" "readonly" "return" "set" "static" "switch"
"target" "throw" "try" "type" "typeof" "var" "void"
@@ -173,9 +173,10 @@ Argument LANGUAGE is either `typescript' or `tsx'."
:feature 'declaration
`((function
name: (identifier) @font-lock-function-name-face)
-
(function_declaration
name: (identifier) @font-lock-function-name-face)
+ (function_signature
+ name: (identifier) @font-lock-function-name-face)
(method_definition
name: (property_identifier) @font-lock-function-name-face)
diff --git a/src/comp.c b/src/comp.c
index 9ff3efedbdd..013ac6358c1 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -1,7 +1,7 @@
/* Compile Emacs Lisp into native code.
Copyright (C) 2019-2023 Free Software Foundation, Inc.
-Author: Andrea Corallo <akrl@sdf.org>
+Author: Andrea Corallo <acorallo@gnu.org>
This file is part of GNU Emacs.
diff --git a/src/xdisp.c b/src/xdisp.c
index 5e25857322f..1830d1965a6 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15367,7 +15367,7 @@ redisplay_tool_bar (struct frame *f)
0, 0, 0, STRING_MULTIBYTE (f->desired_tool_bar_string));
/* FIXME: This should be controlled by a user option. But it
doesn't make sense to have an R2L tool bar if the menu bar cannot
- be drawn also R2L, and making the menu bar R2L is tricky due
+ be drawn also R2L, and making the menu bar R2L is tricky due to
toolkit-specific code that implements it. If an R2L tool bar is
ever supported, display_tool_bar_line should also be augmented to
call unproduce_glyphs like display_line and display_string
diff --git a/test/infra/Dockerfile.emba b/test/infra/Dockerfile.emba
index f5259150518..584e4444dc1 100644
--- a/test/infra/Dockerfile.emba
+++ b/test/infra/Dockerfile.emba
@@ -29,7 +29,7 @@ FROM debian:bullseye as emacs-base
RUN apt-get update && \
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \
- libdbus-1-dev libacl1-dev acl git texinfo gawk gdb \
+ libdbus-1-dev libacl1-dev acl git texinfo gdb \
&& rm -rf /var/lib/apt/lists/*
FROM emacs-base as emacs-inotify
diff --git a/test/lisp/emacs-lisp/comp-cstr-tests.el
b/test/lisp/emacs-lisp/comp-cstr-tests.el
index aeb620326b0..78d9bb49b98 100644
--- a/test/lisp/emacs-lisp/comp-cstr-tests.el
+++ b/test/lisp/emacs-lisp/comp-cstr-tests.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
diff --git a/test/src/comp-resources/comp-test-funcs-dyn.el
b/test/src/comp-resources/comp-test-funcs-dyn.el
index 7f9daf67019..8cd127f7e1b 100644
--- a/test/src/comp-resources/comp-test-funcs-dyn.el
+++ b/test/src/comp-resources/comp-test-funcs-dyn.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
diff --git a/test/src/comp-resources/comp-test-funcs.el
b/test/src/comp-resources/comp-test-funcs.el
index d8c72c1a920..6d0cb353513 100644
--- a/test/src/comp-resources/comp-test-funcs.el
+++ b/test/src/comp-resources/comp-test-funcs.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
diff --git a/test/src/comp-resources/comp-test-pure.el
b/test/src/comp-resources/comp-test-pure.el
index 9b4c1ee2dae..cc5ba7edef7 100644
--- a/test/src/comp-resources/comp-test-pure.el
+++ b/test/src/comp-resources/comp-test-pure.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index ee6a05582d5..ce7899d9d4c 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -2,7 +2,7 @@
;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
-;; Author: Andrea Corallo <akrl@sdf.org>
+;; Author: Andrea Corallo <acorallo@gnu.org>
;; This file is part of GNU Emacs.