]> git.eshelyaron.com Git - emacs.git/commitdiff
Flymake checks file names before considering diagnostics
authorJoão Távora <joaotavora@gmail.com>
Thu, 21 Sep 2017 13:45:21 +0000 (14:45 +0100)
committerJoão Távora <joaotavora@gmail.com>
Tue, 3 Oct 2017 12:52:24 +0000 (13:52 +0100)
The error patterns for gcc picked up errors for the Makefile itself,
for example.  These shouldn't count as actual errors.

* lisp/progmodes/flymake.el (flymake-report): Check
matching file names.

lisp/progmodes/flymake.el

index f9aa098071b07339b4ecf513c7734befe9be777e..827bce4b634f7b2cd81efdd199fa1a75753c0b33 100644 (file)
@@ -451,6 +451,14 @@ return DEFAULT."
   (save-restriction
     (widen)
     (flymake-delete-own-overlays)
+    (setq diagnostics
+          (cl-remove-if-not
+           (lambda (diag)
+             (let ((ff (flymake--diag-full-file diag)))
+               (and ff
+                    (equal (expand-file-name ff)
+                           (expand-file-name (buffer-file-name))))))
+           diagnostics))
     (mapc #'flymake--fix-line-numbers diagnostics)
     (mapc #'flymake--highlight-line diagnostics)
     (let ((err-count (cl-count-if #'flymake--diag-errorp diagnostics))