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
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Drew Adams <drew.adams <at> oracle.com> writes:
>> To summarize what has come up in this thread so far, the load-hook
>> convention has the following problems:
>>
>> 1. They are never called if set by a user after a library is loaded.
>> 2. They can lead to issues like Bug#24491.
>> 3. They require every package (that wants to use them) to add boiler
>> plate code.
>>
>> They are also redundant since we have eval-after-load and
>> with-eval-after-load, which do not have any of the above problems.
>
> Here's what I'd suggest, if you are bent on removing
> all load hooks and deprecating them:
>
> 1. Try removing all of them from the vanilla
> (distributed) Elisp code.
>
> 2. Run with that for a major release or two. If no
> problems, then deprecate (declare obsolete).
I'm not sure I understand the proposal. What is the "vanilla
(distributed) Elisp code"? What does "removing all of them" mean, and
how is removing them more cautious than adding a deprecation warning
to the variables?
Or, are we perhaps talking about different things?
IIUC, load-hooks is just a convention to:
a) (defvar foo-load-hook nil) ;; or defcustom spanning several lines, or
;; indeed no declaration at all
b) (run-hooks 'foo-load-hook) ;; added just before the provide statement
Third party packages are free to continue doing that. AFAICT, we have
no way to stop them -- and I wouldn't advocate for that.
Am I missing something here?
I'm not sure if this was clear, but the course of action suggested by
Glenn was to add deprecation warnings to the load-hook variables in
GNU Emacs. Please see the attached patches for an example.
Best regards,
Stefan Kangas
[0001-Obsolete-viper-load-hook-in-favor-of-eval-after-load.patch (text/x-diff, attachment)]
[0002-Obsolete-reftex-load-hook-in-favor-of-eval-after-loa.patch (text/x-diff, attachment)]
This bug report was last modified 4 years and 271 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.