GNU bug report logs -
#21563
24.5; discourage load-hook variables
Previous Next
Reported by: "Roland Winkler" <winkler <at> gnu.org>
Date: Fri, 25 Sep 2015 19:01:01 UTC
Severity: wishlist
Found in version 24.5
Fixed in version 28.1
Done: Stefan Kangas <stefan <at> marxist.se>
Bug is archived. No further changes may be made.
Full log
Message #14 received at 21563 <at> debbugs.gnu.org (full text, mbox):
Drew Adams <drew.adams <at> oracle.com> writes:
>> I would suggest to declare the above variables obsolete
>> and point users to eval-after-load instead.
>
> Why? If the only reason (only one given so far) is
> that a user set a hook after loading and expected
> the hook setting to be effective, then I'd say that's
> not a great reason.
I think the idea here was mainly to get rid of redundancy. But see
below.
> And there was talk at one time of discouraging that as
> well, I believe. It's still discouraged for code that's
> to be included in Emacs - see (emacs) `Coding Standards'.
> (But see also (emacs) `Foldout'.)
>
> And see (elisp) `Hooks for Loading':
> "Normally, well-designed Lisp programs should not
> use 'with-eval-after-load'."
>
> Granted, that's about "Lisp programs" and not init
> files. Still...
>
>> Does anyone disagree with that?
>
> I think I do. I see something like `dired-load-hook'
> as a different tool than `(with-)eval-after-load'.
> Not worse or better, either generally or always.
>
> Setting or changing the explicit hook value has
> no effect if the library was already loaded, whereas
> `(with-)eval-after-load' has an immediate effect in
> that case. (Sure, the latter could test in its body
> whether it's loaded and act conditionally...)
Good point. So it seems like load-hooks and eval-after-load are
slightly different and could both be useful. In that case, I guess
this should be closed as a wontfix?
Best regards,
Stefan Kangas
This bug report was last modified 4 years and 268 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.