[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new style Emacs compile
From: |
Stefan Monnier |
Subject: |
Re: new style Emacs compile |
Date: |
01 Dec 2003 16:34:18 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 |
>> > Backwards compatibility compilation-error-regexp-alist for compile.el is
>> > desirable, but I don't think it is essential. Not that many users
>> > customize it. It would not be a disaster if they had to make a change.
>>
>> I agree that the case where the user has changed the value is rather
>> unimportant, but I know of several unbundled elisp packages which change it
>> to support a particular related tool. My sml-mode is one such example which
>> will be fixed pretty promptly, but there are many more.
^^^^
Actually, it's probably not "many".
> My structure mostly adds variants, i.e. file, line and maybe column can
> also be lists rather than indexes. The tail has changed. Where the
> formats were before there are new elements, while the formats will go into
> the file-list (because they pertain to the file name). This means that
> for all matchers not using the secret function-feature or formats the
> compatibility is given.
Good.
> This doesn't help. If nobody can say what to look for, Emacs can't look
> for it. I've asked on the TeX newsgroup and got one disheartening reply
> so far:
It's sadly a problem. Don't try to solve it.
> clicking -3,11 would go to those lines in dir1/a while +4,10 would do the
> same for dir2/a -- and so forth however many difference groups there are.
My diff-mode.el does something similar.
> And a new command could be configured like the -p option to patch.
> I.e. it would know in which directory to find the file a corresponding to
> dir1/a. Or more generally (also useful for remote-compile) there would be
> a translation function "when diff says dir1/a go to foo/bar".
Take a look at how my diff-mode.el does it: I always planned to adapt it
for use in compile.el but never got around to it. It basically tries to
learn by example: if it can't find dir1/a, and the user says "it's in
foo/a.bar", when dir1/b is requested it will try foo/b.bar.
Stefan