[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21563: 24.5; discourage load-hook variables
From: |
Stefan Kangas |
Subject: |
bug#21563: 24.5; discourage load-hook variables |
Date: |
Thu, 16 Jan 2020 21:30:44 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Drew Adams <drew.adams@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
Description: Text Data
0002-Obsolete-reftex-load-hook-in-favor-of-eval-after-loa.patch
Description: Text Data
- bug#21563: 24.5; discourage load-hook variables, (continued)
- bug#21563: 24.5; discourage load-hook variables, Drew Adams, 2020/01/15
- bug#21563: 24.5; discourage load-hook variables, Glenn Morris, 2020/01/15
- bug#21563: 24.5; discourage load-hook variables, Stefan Kangas, 2020/01/15
- bug#21563: 24.5; discourage load-hook variables, Drew Adams, 2020/01/15
- bug#21563: 24.5; discourage load-hook variables, Stefan Kangas, 2020/01/15
- bug#21563: 24.5; discourage load-hook variables, Drew Adams, 2020/01/15
- bug#21563: 24.5; discourage load-hook variables, Stefan Kangas, 2020/01/16
- bug#21563: 24.5; discourage load-hook variables, Drew Adams, 2020/01/16
- bug#21563: 24.5; discourage load-hook variables,
Stefan Kangas <=
- bug#21563: 24.5; discourage load-hook variables, Drew Adams, 2020/01/16
- bug#21563: 24.5; discourage load-hook variables, Noam Postavsky, 2020/01/16
- bug#21563: 24.5; discourage load-hook variables, Drew Adams, 2020/01/16
- bug#21563: 24.5; discourage load-hook variables, Stefan Kangas, 2020/01/16
- bug#21563: 24.5; discourage load-hook variables, Stefan Kangas, 2020/01/15
bug#21563: 24.5; discourage load-hook variables, Mauro Aranda, 2020/01/16