]> git.eshelyaron.com Git - emacs.git/commitdiff
Package unloading. Index next-line, previous-line, forward-line.
authorDave Love <fx@gnu.org>
Mon, 6 Oct 2003 16:46:25 +0000 (16:46 +0000)
committerDave Love <fx@gnu.org>
Mon, 6 Oct 2003 16:46:25 +0000 (16:46 +0000)
lispref/tips.texi

index d07fa1b3712a8c15e328e00d44902e0ef70903d7..8c6e19eae9ad56f51876a7e7929948f0460e50be 100644 (file)
@@ -210,7 +210,16 @@ off, and make it autoload (@pxref{Autoload}).  Design the package so
 that simply loading it has no visible effect---that should not enable
 the feature.@footnote{Consider that the package may be loaded
 arbitrarily by Custom for instance.}  Users will request the feature by
-invoking the command.
+invoking the command, which will often be constructed as a minor mode.
+
+@cindex unloading packages
+If your package contains functions which do modify oridinary Emacs
+behavior, for instance by adding functions to hooks, define a function
+@code{@var{feature}-unload-hook} where @var{feature} is the name of
+the feature the package provides.  This function should undo any such
+changes, e.g.@: by turning off a minor mode, when
+@findex unload-feature
+@code{unload-feature} is used.
 
 @item
 It is a bad idea to define aliases for the Emacs primitives.  Use the
@@ -248,6 +257,9 @@ will be 14 characters or less, which is short enough to fit on all kinds
 of Unix systems.
 
 @item
+@findex next-line
+@findex previous-line
+@findex forward-line
 Don't use @code{next-line} or @code{previous-line} in programs; nearly
 always, @code{forward-line} is more convenient as well as more
 predictable and robust.  @xref{Text Lines}.