1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-21 06:55:39 +00:00

Fix font-lock in 'lisp-mode'

* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Fix regexps for
"\\<>" and similar constructs.  (Bug#74307)
This commit is contained in:
Eli Zaretskii 2024-11-16 16:21:36 +02:00
parent f630520be9
commit 200c877cd4

View File

@ -490,14 +490,17 @@ This will generate compile-time constants from BINDINGS."
(2 font-lock-constant-face nil t))
;; Words inside \\[], \\<>, \\{} or \\`' tend to be for
;; `substitute-command-keys'.
(,(rx "\\\\" (or (seq "[" (group-n 1 lisp-mode-symbol) "]")
(,(rx "\\\\" (or (seq "["
(group-n 1 lisp-mode-symbol) (not "\\") "]")
(seq "`" (group-n 1
;; allow multiple words, e.g. "C-x a"
lisp-mode-symbol (* " " lisp-mode-symbol))
"'")))
(1 font-lock-constant-face prepend))
(,(rx "\\\\" (or (seq "<" (group-n 1 lisp-mode-symbol) ">")
(seq "{" (group-n 1 lisp-mode-symbol) "}")))
(,(rx "\\\\" (or (seq "<"
(group-n 1 lisp-mode-symbol) (not "\\") ">")
(seq "{"
(group-n 1 lisp-mode-symbol) (not "\\") "}")))
(1 font-lock-variable-name-face prepend))
;; Ineffective backslashes (typically in need of doubling).
("\\(\\\\\\)\\([^\"\\]\\)"