unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#21440: 25.0.50; Manual: FEATURE-unload-hook in (info "(elisp) Coding Conventions")
@ 2015-09-09 11:43 Michael Heerdegen
  2020-08-15 13:53 ` Stefan Kangas
  0 siblings, 1 reply; 13+ messages in thread
From: Michael Heerdegen @ 2015-09-09 11:43 UTC (permalink / raw)
  To: 21440


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.


BTW, I miss a comment what I should do if a feature added functions to
the buffer local binding of a hook.  Does `unload-feature' take care of
that (doesn't seem so)?  Nothing about this in (info "(elisp) Unloading").


Thanks,

Michael.



In GNU Emacs 25.0.50.19 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.6)
 of 2015-09-07
Repository revision: af629df80605614c645ba6539bb98d4f1e990925
Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
System Description:	Debian GNU/Linux testing (stretch)






^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-07-21  2:45 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-09 11:43 bug#21440: 25.0.50; Manual: FEATURE-unload-hook in (info "(elisp) Coding Conventions") Michael Heerdegen
2020-08-15 13:53 ` Stefan Kangas
2020-08-17 11:15   ` Michael Albinus
2021-07-08 13:55     ` Lars Ingebrigtsen
2021-07-12  3:56       ` Michael Heerdegen
2021-07-12 11:59         ` Eli Zaretskii
2021-07-12 12:05           ` Lars Ingebrigtsen
2021-07-16  1:23             ` Michael Heerdegen
2021-07-16  9:01               ` Lars Ingebrigtsen
2021-07-17  1:21                 ` Michael Heerdegen
2021-07-17  1:35                   ` Michael Heerdegen
2021-07-17 14:08                     ` Lars Ingebrigtsen
2021-07-21  2:45                       ` Michael Heerdegen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).