diff options
author | Eli Zaretskii <eliz@gnu.org> | 2024-11-16 16:21:36 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2024-11-16 16:21:36 +0200 |
commit | 200c877cd48aa0f7638fdd5157555374f0f7bfc8 (patch) | |
tree | e53bb5b01d96aab225fc14acdbf05b1f726c5e52 /lisp/emacs-lisp/lisp-mode.el | |
parent | f630520be97a9dda5e4b93765dbd82b6e9b298d0 (diff) | |
download | emacs-200c877cd48aa0f7638fdd5157555374f0f7bfc8.tar.gz emacs-200c877cd48aa0f7638fdd5157555374f0f7bfc8.tar.bz2 emacs-200c877cd48aa0f7638fdd5157555374f0f7bfc8.zip |
Fix font-lock in 'lisp-mode'
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Fix regexps for
"\\<>" and similar constructs. (Bug#74307)
Diffstat (limited to 'lisp/emacs-lisp/lisp-mode.el')
-rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 220bb5175ea..99980a44ddf 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -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). ("\\(\\\\\\)\\([^\"\\]\\)" |