Add 'define-error' to font lock keywords for emacs-lisp-mode

* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Add 'define-error'.
(Bug#64824)

* test/lisp/emacs-lisp/lisp-mode-tests.el
(test-font-lock-keywords): New test.

Copyright-paperwork-exempt: yes
This commit is contained in:
Neal Sidhwaney 2023-07-23 19:25:51 -04:00 committed by Eli Zaretskii
parent bcadb728e2
commit 8abe4ca83a
2 changed files with 24 additions and 1 deletions

View file

@ -361,7 +361,7 @@ This will generate compile-time constants from BINDINGS."
"define-globalized-minor-mode" "define-skeleton"
"define-widget" "ert-deftest"))
(el-vdefs '("defconst" "defcustom" "defvaralias" "defvar-local"
"defface"))
"defface" "define-error"))
(el-tdefs '("defgroup" "deftheme"))
(el-errs '("user-error"))
;; Common-Lisp constructs supported by EIEIO. FIXME: namespace.

View file

@ -355,5 +355,28 @@ Expected initialization file: `%s'\"
;; (should (equal (lisp-current-defun-name) "defblarg")))
)
(ert-deftest test-font-lock-keywords ()
"Keywords should be fontified in `font-lock-keyword-face`."
(with-temp-buffer
(emacs-lisp-mode)
(mapc (lambda (el-keyword)
(erase-buffer)
(insert (format "(%s some-symbol () \"hello\"" el-keyword))
(font-lock-ensure)
;; Verify face property throughout the keyword
(let* ((begin (1+ (point-min)))
(end (1- (+ begin (length el-keyword)))))
(mapc (lambda (pos)
(should (equal (get-text-property pos 'face)
'font-lock-keyword-face)))
(number-sequence begin end))))
'("defsubst" "cl-defsubst" "define-inline"
"define-advice" "defadvice" "defalias"
"define-derived-mode" "define-minor-mode"
"define-generic-mode" "define-global-minor-mode"
"define-globalized-minor-mode" "define-skeleton"
"define-widget" "ert-deftest" "defconst" "defcustom"
"defvaralias" "defvar-local" "defface" "define-error"))))
(provide 'lisp-mode-tests)
;;; lisp-mode-tests.el ends here