GNU bug report logs - #30131
26.0.50; compile.el no longer calls compilation-parse-errors-filename-function

Previous Next

Package: emacs;

Reported by: Gary Oberbrunner <garyo <at> oberbrunner.com>

Date: Mon, 15 Jan 2018 17:29:01 UTC

Severity: normal

Tags: notabug, unreproducible

Found in version 26.0.50

Done: Noam Postavsky <npostavs <at> users.sourceforge.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 30131 in the body.
You can then email your comments to 30131 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#30131; Package emacs. (Mon, 15 Jan 2018 17:29:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Gary Oberbrunner <garyo <at> oberbrunner.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 15 Jan 2018 17:29:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gary Oberbrunner <garyo <at> oberbrunner.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.0.50;
 compile.el no longer calls compilation-parse-errors-filename-function
Date: Mon, 15 Jan 2018 12:28:15 -0500
[Message part 1 (text/plain, inline)]
In git rev e335e1949, back in 2001,
compilation-parse-errors-filename-function was introduced to compile.el, to
postprocess filenames. Somewhere in the last few months, emacs has stopped
calling that function from compilation-find-file, so it no longer works.
(It's still called from a function that now only is used for display, so it
doesn't actually find the processed filename.)

This patch re-adds it to the new processing path:

modified   lisp/progmodes/compile.el
@@ -2745,8 +2745,11 @@ compilation-find-file
       ;; For each directory, try each format string.
       (while (and fmts (null buffer))
         (setq name (expand-file-name (format (car fmts) filename) thisdir)
-              buffer (and (file-exists-p name)
-                          (find-file-noselect name))
+       processed-name (if (boundp
'compilation-parse-errors-filename-function)
+ (funcall compilation-parse-errors-filename-function name)
+        name)
+              buffer (and (file-exists-p processed-name)
+                          (find-file-noselect processed-name))
               fmts (cdr fmts)))
       (setq dirs (cdr dirs)))
     (while (null buffer)    ;Repeat until the user selects an existing
file.

By the way, I did file an emacs contributor release form some years ago.

Hope this is helpful;

Gary Oberbrunner

-- 
Gary
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#30131; Package emacs. (Tue, 16 Jan 2018 00:44:01 GMT) Full text and rfc822 format available.

Message #8 received at 30131 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> users.sourceforge.net>
To: Gary Oberbrunner <garyo <at> oberbrunner.com>
Cc: 30131 <at> debbugs.gnu.org
Subject: Re: bug#30131: 26.0.50;
 compile.el no longer calls compilation-parse-errors-filename-function
Date: Mon, 15 Jan 2018 19:43:15 -0500
Gary Oberbrunner <garyo <at> oberbrunner.com> writes:

> In git rev e335e1949, back in 2001,
> compilation-parse-errors-filename-function was introduced to
> compile.el, to postprocess filenames. Somewhere in the last few
> months, emacs has stopped calling that function from
> compilation-find-file, so it no longer works. (It's still called from
> a function that now only is used for display, so it doesn't actually
> find the processed filename.)

As far as I can tell, it was never called from compilation-find-file.
Not in e335e1949 that you referenced above, not in 25.3, 25.4, nor 24.3.

In all recent Emacs versions, including latest emacs-26 and master, it
is called from compilation-get-file-structure.

(defun compilation-get-file-structure (file &optional fmt)
  [...]
    ;; If compilation-parse-errors-filename-function is
	;; defined, use it to process the filename.
	(when compilation-parse-errors-filename-function
	  (setq filename
		(funcall compilation-parse-errors-filename-function
			 filename)))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#30131; Package emacs. (Tue, 16 Jan 2018 01:10:01 GMT) Full text and rfc822 format available.

Message #11 received at 30131 <at> debbugs.gnu.org (full text, mbox):

From: Gary Oberbrunner <garyo <at> oberbrunner.com>
To: Noam Postavsky <npostavs <at> users.sourceforge.net>
Cc: 30131 <at> debbugs.gnu.org
Subject: Re: bug#30131: 26.0.50;
 compile.el no longer calls compilation-parse-errors-filename-function
Date: Mon, 15 Jan 2018 20:09:12 -0500
[Message part 1 (text/plain, inline)]
My apologies. I retract this patch. I had a bug on my end that made it look
like it wasn't calling my function, or not in the right place. But I just
retested it and it works fine.

-- Gary

On Mon, Jan 15, 2018 at 7:43 PM, Noam Postavsky <
npostavs <at> users.sourceforge.net> wrote:

> Gary Oberbrunner <garyo <at> oberbrunner.com> writes:
>
> > In git rev e335e1949, back in 2001,
> > compilation-parse-errors-filename-function was introduced to
> > compile.el, to postprocess filenames. Somewhere in the last few
> > months, emacs has stopped calling that function from
> > compilation-find-file, so it no longer works. (It's still called from
> > a function that now only is used for display, so it doesn't actually
> > find the processed filename.)
>
> As far as I can tell, it was never called from compilation-find-file.
> Not in e335e1949 that you referenced above, not in 25.3, 25.4, nor 24.3.
>
> In all recent Emacs versions, including latest emacs-26 and master, it
> is called from compilation-get-file-structure.
>
> (defun compilation-get-file-structure (file &optional fmt)
>   [...]
>     ;; If compilation-parse-errors-filename-function is
>         ;; defined, use it to process the filename.
>         (when compilation-parse-errors-filename-function
>           (setq filename
>                 (funcall compilation-parse-errors-filename-function
>                          filename)))
>



-- 
Gary
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#30131; Package emacs. (Tue, 16 Jan 2018 01:17:02 GMT) Full text and rfc822 format available.

Message #14 received at 30131 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> users.sourceforge.net>
To: Gary Oberbrunner <garyo <at> oberbrunner.com>
Cc: 30131 <at> debbugs.gnu.org
Subject: Re: bug#30131: 26.0.50;
 compile.el no longer calls compilation-parse-errors-filename-function
Date: Mon, 15 Jan 2018 20:16:50 -0500
tags 30131 notabug unreproducible
close 30131
quit

Gary Oberbrunner <garyo <at> oberbrunner.com> writes:

> My apologies. I retract this patch. I had a bug on my end that made
> it look like it wasn't calling my function, or not in the right
> place. But I just retested it and it works fine.

Okay, closing the bug.




Added tag(s) notabug and unreproducible. Request was from Noam Postavsky <npostavs <at> users.sourceforge.net> to control <at> debbugs.gnu.org. (Tue, 16 Jan 2018 01:17:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 30131 <at> debbugs.gnu.org and Gary Oberbrunner <garyo <at> oberbrunner.com> Request was from Noam Postavsky <npostavs <at> users.sourceforge.net> to control <at> debbugs.gnu.org. (Tue, 16 Jan 2018 01:17:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 13 Feb 2018 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 186 days ago.

Previous Next


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