emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 73b8237: Fix CL function name font-lock bug.


From: Tassilo Horn
Subject: [Emacs-diffs] master 73b8237: Fix CL function name font-lock bug.
Date: Fri, 20 Mar 2015 22:37:42 +0000

branch: master
commit 73b8237c19200e7d8d3739b99ef1e4dc86f51873
Author: Tassilo Horn <address@hidden>
Commit: Tassilo Horn <address@hidden>

    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.
---
 lisp/ChangeLog               |    1 +
 lisp/emacs-lisp/lisp-mode.el |   11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 85e62be..025941f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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  <address@hidden>
 
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index d8901ac..a3bb1a7 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -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.")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]