Tweak `condition-case' keyword highlights

* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
Tweak `condition-case' position check to skip the VAR form.
This commit is contained in:
Lars Ingebrigtsen 2021-01-24 21:31:09 +01:00
parent e5aaa1251c
commit 8f28a1b9da
2 changed files with 13 additions and 3 deletions

View file

@ -234,8 +234,11 @@
(< pos (point))))
(and (eq parent 'condition-case)
(progn
(forward-sexp 2)
(< (point) pos))))))))))
(forward-sexp 1)
;; If we're in the second form, then we're in
;; a funcall position.
(not (< (point) pos (progn (forward-sexp 1)
(point)))))))))))))
(defun lisp--el-match-keyword (limit)
;; FIXME: Move to elisp-mode.el.

View file

@ -877,7 +877,7 @@ to (xref-elisp-test-descr-to-target xref)."
"(\\(if\\)")
nil)))
(ert-deftest test-elisp-font-keywords-if ()
(ert-deftest test-elisp-font-keywords-4 ()
:expected-result :failed ; FIXME bug#43265
(should (eq (test--font '(condition-case nil
(foo)
@ -885,5 +885,12 @@ to (xref-elisp-test-descr-to-target xref)."
"(\\(if\\)")
nil)))
(ert-deftest test-elisp-font-keywords-5 ()
(should (eq (test--font '(condition-case (when a)
(foo)
(error t))
"(\\(when\\)")
nil)))
(provide 'elisp-mode-tests)
;;; elisp-mode-tests.el ends here