help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compilation-error-regexp-alist syntax problems


From: Kevin Rodgers
Subject: Re: compilation-error-regexp-alist syntax problems
Date: Tue, 03 Feb 2004 15:30:32 -0700
User-agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:0.9.4.1) Gecko/20020406 Netscape6/6.2.2

Stefan Monnier wrote:
> > What's untidy about eval-after-load?  My only complaint is that it's
> > not a macro, so we have to quote the FORM.
>
> The macro is one such issue indeed:
> Instead of (eval-after-load FOO '(progn BAR BAZ)), it should just be
> (eval-after-load FOO BAR BAZ).
> Do you have a suggestion for how to name such a new macro?

How about `defloadforms' or `deflibforms'?

> Another issue is that (eval-after-load "compile" FOO) will not run FOO
> when loading "compile.elc" or "compile.el" or "/foo/bar/compile", but only
> if you load "compile", even if those are all one and the same file.

It seems to work if you do (load-library "compile") or (require
'compile), so that issue doesn't bother me too much.  But it could
complicate things if you're trying to test a new version of "compile".

> In Emacs-CVS you can do (eval-after-load 'compile FOO) which will run
> FOO right after executing (provide 'compile) which does adress the
> above problem, but FOO will be run either before or after loading
> "compile", depending on where the `provide' is located in the file
> (the coding convention says to put it at the end, but several packages
> do not follow the convention).

Yes, because that coding convention seems odd to those of us who
memorized the Common Lisp mnemonic for managing packages: Put IN Seven
EXtremely Random USEr Interface COmmands.

I don't understand why it's better to evaluate the FORM immediately
after (provide FEATURE) or how that solves Roy's problem of augmenting a
list-valued variable defvar'ed in the FILE.  The advantage of late
evaluation (after the complete FILE is loaded) is that you can reference
the default value while computing its new value; the advantage of early
evaluation is that other default values can be computed based on this
variable's non-default value.  To me it's a wash that should probably be
decided in favor of allowing the user to access any variable's default
value, as when augmenting a list.

>>Could it be as simple as adding ;;;###autoload cookies to the 6
>>-regexp-alist `defvar's?
>
> For this specific problem, it would help.  but it will still not fix
> the `add-hook' code that Roy used originally.

I thought it would result in those `defvar's being copied into
loaddefs.el, which would be dumped into the emacs executable, so they
could be safely referenced before the "compile" library was actually
loaded.  What am I misunderstanding?

--
Kevin Rodgers



reply via email to

[Prev in Thread] Current Thread [Next in Thread]