[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#3418: Issue with compile.el and compilation-parse-errors-filename-fu
From: |
Eli Zaretskii |
Subject: |
bug#3418: Issue with compile.el and compilation-parse-errors-filename-function |
Date: |
Tue, 26 Jan 2016 16:42:58 +0200 |
> From: Andrew Hyatt <ahyatt@gmail.com>
> Date: Tue, 26 Jan 2016 00:21:51 -0500
> Cc: 3418@debbugs.gnu.org
>
> Gary Oberbrunner <garyo@genarts.com> writes:
>
> > Hi emacs folks. I submitted a patch to compilation-get-file-structure in
> > compile.el in 2001, introducing this stanza:
> >
> > ;; If compilation-parse-errors-filename-function is
> > ;; defined, use it to process the filename.
> > (when compilation-parse-errors-filename-function
> > (setq filename
> > (funcall
> > filename)))
> >
> > At some point since then, the filename was changed to not always be
> > absolute;
> > there's now a variable spec-directory in that function. This means that
> > implementations of compilation-parse-errors-filename-function can't always
> > work
> > correctly since it doesn't know the full path of the file.
> >
> > I'm happy to work on a fix, but I see a few issues.
> >
> > Solution 1: add 2nd arg SPEC-DIRECTORY to
> > compilation-parse-errors-filename-function.
> > Problem: existing implementations will get an incorrect number of args
> > error and
> > will have to change.
> >
> > Solution 2: make filename absolute before passing to
> > compilation-parse-errors-filename-function.
> > Problem: the rest of the code is pretty careful not to absolutize the
> > filename;
> > this would change the behavior in ways I don't completely understand.
> >
> > Of course I am personally happy with solution 1, but since it affects
> > compatibility I thought I should bring it up on this list. I am not on the
> > list, so please cc me with any replies, thanks!
>
> Sadly, this bug hasn't been responded to. Your description is pretty
> code-intensive, for those of us not familiar with the internals, can you
> give instructions on how to reproduce a user-visible issue?
FWIW, I don't see why not adopt Soution 1, just make the second
argument optional. That would be backward-compatible, IIUC.