* lisp/progmodes/compile.el (compilation-filter): `compilation--ensure-parse'

is used instead of `font-lock-ensure' (bug#36564).

* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps)
(compile-test-grep-regexps): Check the number of errors.
This commit is contained in:
Juri Linkov 2019-07-12 21:57:18 +03:00
parent 8179cbff9e
commit 391e8e530a
2 changed files with 7 additions and 3 deletions

View file

@ -2246,7 +2246,7 @@ and runs `compilation-filter-hook'."
(comint-carriage-motion (process-mark proc) (point)))
(set-marker (process-mark proc) (point))
;; Update the number of errors in compilation-mode-line-errors
(font-lock-ensure compilation-filter-start (point))
(compilation--ensure-parse (point))
;; (set (make-local-variable 'compilation-buffer-modtime)
;; (current-time))
(run-hooks 'compilation-filter-hook))

View file

@ -401,7 +401,10 @@ can only work with the NUL byte to disambiguate colons.")
The test data is in `compile-tests--test-regexps-data'."
(with-temp-buffer
(font-lock-mode -1)
(mapc #'compile--test-error-line compile-tests--test-regexps-data)))
(mapc #'compile--test-error-line compile-tests--test-regexps-data)
(should (eq compilation-num-errors-found 87))
(should (eq compilation-num-warnings-found 32))
(should (eq compilation-num-infos-found 20))))
(ert-deftest compile-test-grep-regexps ()
"Test the `grep-regexp-alist' regexps.
@ -421,6 +424,7 @@ The test data is in `compile-tests--grep-regexp-testcases'."
(should (equal msg1 msg2))))
(dolist (testcase compile-tests--grep-regexp-tricky-testcases)
(ert-info ((format "%S" testcase) :prefix "testcase: ")
(compile--test-error-line testcase)))))
(compile--test-error-line testcase)))
(should (eq compilation-num-errors-found 8))))
;;; compile-tests.el ends here