]> git.eshelyaron.com Git - emacs.git/commitdiff
Fontify special forms and macros the same
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 25 Jan 2021 06:44:29 +0000 (07:44 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 25 Jan 2021 06:44:29 +0000 (07:44 +0100)
* lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Handle
special forms and macros the same way (bug#43265).  This makes
things like (setq a '(if a b)) be fontified correctly (i.e., not
fontified as a keyword).

lisp/emacs-lisp/lisp-mode.el
test/lisp/progmodes/elisp-mode-tests.el

index 22435d59659bdd4f82d99a1be1ec93e12f1c3bcd..c96d849d4425fbf5b46c6b91ce63baffdd0f66b7 100644 (file)
               (concat "(\\(" lisp-mode-symbol-regexp "\\)\\_>"))
             limit t)
       (let ((sym (intern-soft (match-string 1))))
-       (when (or (special-form-p sym)
-                 (and (macrop sym)
-                       (not (get sym 'no-font-lock-keyword))
-                       (lisp--el-funcall-position-p (match-beginning 0))))
+       (when (and (or (special-form-p sym) (macrop sym))
+                   (not (get sym 'no-font-lock-keyword))
+                   (lisp--el-funcall-position-p (match-beginning 0)))
          (throw 'found t))))))
 
 (defmacro let-when-compile (bindings &rest body)
index e84184ff07dfd8105b84e2ab90203e59b2619379..badcad670c2992d052bc16b0aab7baf7cfa2b99b 100644 (file)
@@ -871,7 +871,6 @@ to (xref-elisp-test-descr-to-target xref)."
               'font-lock-keyword-face)))
 
 (ert-deftest test-elisp-font-keywords-3 ()
-  :expected-result :failed ; FIXME bug#43265
   (should (eq (test--font '(setq a '(if when zot))
                           "(\\(if\\)")
               nil)))