[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36564: 27.0.50; Wrong number of errors in compilation mode-line
From: |
Juri Linkov |
Subject: |
bug#36564: 27.0.50; Wrong number of errors in compilation mode-line |
Date: |
Thu, 11 Jul 2019 01:34:27 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
> Often compilation-mode displays wrong number of errors
> in the mode-line even when compilation is finished.
>
> compilation-mode is based on font-lock, so when the
> *compilation* buffer is not displayed during compilation,
> some parts of this buffer that contain error messages
> are not fontified, and thus these errors are not counted.
>
> This patch ensures the correct number of errors
> is displayed on the mode-line:
Actually maybe better to count errors not at the end
of compilation, but during compilation as output goes:
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 1a0d9bdbb7..7b319e9947 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2245,6 +2250,8 @@ compilation-filter
(unless comint-inhibit-carriage-motion
(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))
;; (set (make-local-variable 'compilation-buffer-modtime)
;; (current-time))
(run-hooks 'compilation-filter-hook))