[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21440: 25.0.50; Manual: FEATURE-unload-hook in (info "(elisp) Coding
From: |
Michael Albinus |
Subject: |
bug#21440: 25.0.50; Manual: FEATURE-unload-hook in (info "(elisp) Coding Conventions") |
Date: |
Mon, 17 Aug 2020 13:15:14 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Stefan Kangas <stefan@marxist.se> writes:
Hi,
>> In (info "(elisp) Coding Conventions"):
>>
>> • If loading the file adds functions to hooks, define a function
>> ‘FEATURE-unload-hook’, where FEATURE is the name of the feature the
>> package provides, and make it undo any such changes. Using
>> ‘unload-feature’ to unload the file will run this function. *Note
>> Unloading.
>>
>> A problematic tip:
>>
>> - it is unnecessary for that reason. AFAIK FEATURE's functions are
>> removed automatically from hooks by `unload-feature'.
>>
>> - When you follow the advice, `unload-feature' will skip removing
>> entries from `auto-mode-alist', so you would have to do that yourself.
>>
>> - Isn't `FEATURE-unload-function' the preferred thing to use today?
>> The doc string of `unload-feature' doesn't even mention
>> FEATURE-unload-hook variables. Seems it is discouraged to be used.
>
> The above analysis seems correct to me. There should be no need to use
> `FEATURE-load-hook', in fact from reading `unload-feature' it seems
> worse. But I don't know too much about this, so I'm not sure if there's
> some fundamental aspect I'm overlooking.
>
> If the above is indeed true, we should probably just remove the advice
> from coding conventions. And it should be announced in NEWS, probably
> together with some warnings emitted by `unload-feature' if there is such
> a `FEATURE-unload-hook' defined.
>
> Is there anyone else who could provide some insight here?
As a test, I've renamed `tramp-unload-hook' and all
`tramp-FEATURE-unload-hook' variables to `tramp-unload-function' and
`tramp-FEATURE-unload-function', respectively. The related test,
`tramp-test45-unload', fails now. I haven't debugged further, but
throwing a warning when `FEATURE-unload-hook' is used, looks premature
to me.
> Best regards,
> Stefan Kangas
Best regards, Michael.