Highlight useless backslashes in Elisp strings
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Put warning face on backslashes that have no effect.
This commit is contained in:
parent
ee51550c39
commit
4086d850dc
1 changed files with 9 additions and 0 deletions
|
@ -411,6 +411,15 @@ This will generate compile-time constants from BINDINGS."
|
|||
;; Words inside \\[] tend to be for `substitute-command-keys'.
|
||||
(,(concat "\\\\\\\\\\[\\(" lisp-mode-symbol-regexp "\\)\\]")
|
||||
(1 font-lock-constant-face prepend))
|
||||
;; Ineffective backslashes (typically in need of doubling).
|
||||
("\\(?:[^\\]\\|^\\)\\(?:\\\\\\\\\\)*\\(\\(\\\\\\)\\([^\"\\]\\)\\)"
|
||||
(2 (and (nth 3 (syntax-ppss))
|
||||
(equal (ignore-errors
|
||||
(car (read-from-string
|
||||
(format "\"%s\"" (match-string 1)))))
|
||||
(match-string 3))
|
||||
font-lock-warning-face)
|
||||
prepend))
|
||||
;; Words inside ‘’ and `' tend to be symbol names.
|
||||
(,(concat "[`‘]\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)"
|
||||
lisp-mode-symbol-regexp "\\)['’]")
|
||||
|
|
Loading…
Add table
Reference in a new issue