GNU bug report logs - #416
flymake highlights errors from wrong file

Previous Next

Package: emacs;

Reported by: Nikolaj Schumacher <n_schumacher <at> web.de>

Date: Sun, 15 Jun 2008 16:35:03 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Pavel Kobyakov <pk_at_work <at> yahoo.com>
Cc: Nikolaj Schumacher <n_schumacher <at> web.de>, 416 <at> debbugs.gnu.org
Subject: bug#416: flymake highlights errors from wrong file
Date: Mon, 18 Aug 2008 15:21:39 -0400
Hi Pavel,

Could you review the patch sent by Nikolaj?  Thanks.

Nikolaj Schumacher wrote:

> flymake will highlight errors in the current buffer, even if the error
> comes from a different file.
>
> This can be noted, for example, when using
>
> >  check-syntax:
> >          gcc -Wall -Wextra -fsyntax-only *.cpp
>
> instead of the more common
>
> >  check-syntax:
> >          gcc -Wall -Wextra -pedantic -fsyntax-only -S $(CHK_SOURCES)
>
> in the Makefile.
>
> It also happens when using ant, where it can't be avoided.
>
> The attached patch filters out these errors when parsing.
> Alternatively, they could be filtered out when highlighting.

--- lisp/progmodes/flymake.el	2008-06-02 23:30:29.000000000 +0200
+++ lisp/progmodes/flymake.el	2008-06-05 23:30:08.000000000 +0200
@@ -866,11 +867,10 @@
                                       (flymake-ler-file line-err-info)))
 	(setq line-err-info (flymake-ler-set-full-file line-err-info real-file-name))
 
-	(if (flymake-same-files real-file-name source-file-name)
-	    (setq line-err-info (flymake-ler-set-file line-err-info nil))
-	  (setq line-err-info (flymake-ler-set-file line-err-info (file-name-nondirectory real-file-name))))
+	(when (flymake-same-files real-file-name source-file-name)
+	  (setq line-err-info (flymake-ler-set-file line-err-info nil))
+	  (setq err-info-list (flymake-add-err-info err-info-list line-err-info))))
 
-	(setq err-info-list (flymake-add-err-info err-info-list line-err-info)))
       (flymake-log 3 "parsed '%s', %s line-err-info" (nth idx lines) (if line-err-info "got" "no"))
       (setq idx (1+ idx)))
     err-info-list))





This bug report was last modified 16 years and 320 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.