From bae7a63b808433073ad04ac64eff13e4b4facc01 Mon Sep 17 00:00:00 2001 From: Sam Steingold Date: Tue, 31 Oct 2017 15:20:51 -0400 Subject: [PATCH] Highlight uninterned symbols. * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2): Highlight uninterned symbols, often used as string designators to avoid namespace pollution (https://stackoverflow.com/a/46981940/850781). --- lisp/emacs-lisp/lisp-mode.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index fd12635d85c..0e1d3709194 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -491,6 +491,11 @@ This will generate compile-time constants from BINDINGS." (,(concat "[`‘]\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)" lisp-mode-symbol-regexp "\\)['’]") (1 font-lock-constant-face prepend)) + ;; Uninterned symbols, e.g., (defpackage #:my-package ...) + ;; must come before keywords below to have effect + (,(concat "\\(#:\\)\\(" lisp-mode-symbol-regexp "\\)") + (1 font-lock-comment-delimiter-face) + (2 font-lock-doc-face)) ;; Constant values. (,(concat "\\_<:" lisp-mode-symbol-regexp "\\_>") (0 font-lock-builtin-face)) -- 2.39.5