Commit 73b8237c authored by Tassilo Horn's avatar Tassilo Horn
Browse files

Fix CL function name font-lock bug.

* emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-1): Fix
false positive in function name font-locking.
parent c9998fcb
......@@ -2,6 +2,7 @@
 
* emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-1): Fix
false positive in function name font-locking.
(lisp-cl-font-lock-keywords-1): Ditto.
 
2015-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
 
......
......@@ -341,13 +341,16 @@
`( ;; Definitions.
(,(concat "(" cl-defs-re "\\_>"
;; Any whitespace and defined object.
"[ \t'\(]*"
"\\(setf[ \t]+\\(?:\\sw\\|\\s_\\)+\\|\\(?:\\sw\\|\\s_\\)+\\)?")
"[ \t']*"
"\\(([ \t']*\\)?" ;; An opening paren.
"\\(\\(setf\\)[ \t]+\\(?:\\sw\\|\\s_\\)+\\|\\(?:\\sw\\|\\s_\\)+\\)?")
(1 font-lock-keyword-face)
(2 (let ((type (get (intern-soft (match-string 1)) 'lisp-define-type)))
(3 (let ((type (get (intern-soft (match-string 1)) 'lisp-define-type)))
(cond ((eq type 'var) font-lock-variable-name-face)
((eq type 'type) font-lock-type-face)
(t font-lock-function-name-face)))
((or (not (match-string 2)) ;; Normal defun.
(and (match-string 2) ;; Setf-expander.
(match-string 4))) font-lock-function-name-face)))
nil t)))
"Subdued level highlighting for Lisp modes.")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment