0. emacs -Q 1. C-h f ert-font-lock-deftest RET *Help* now reports the macro's calling convention as: (ert-font-lock-deftest NAME () [DOCSTRING] ...) but the second () argument is not actually supported by the macro, whose arglist reads: (name &rest docstring-keys-mode-and-str) Here, ert-font-lock--parse-macro-args expects docstring-keys-mode-and-str to start with an (optional) string, not the empty arglist '(). The symptom of this mismatch is that calls to ert-font-lock-deftest are misindented (malindented? :) and misfontified. For example, in ert-font-lock-tests.el: (ert-font-lock-deftest test-macro-test--correct-highlighting emacs-lisp-mode " (defun fun ()) ;; ^ font-lock-keyword-face ;; ^ font-lock-function-name-face") Here, the string literal has font-lock-doc-face instead of font-lock-string-face. (ert-font-lock-deftest test-macro-test--docstring "A test with a docstring." emacs-lisp-mode " (defun fun ()) ;; ^ font-lock-keyword-face" ) Here, both strings have font-lock-string-face, whereas the first should have font-lock-doc-face. Finally, if a test actually followed ert-font-lock-deftest's docstring in including an empty arglist (), then ert-describe-test would claim that it is not documented. The attached patch tries to address these issues. WDYT? Thanks, -- Basil