| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
You can discard the functions and variables loaded by a library to reclaim
memory for other Lisp objects. To do this, use the function
unload-feature:
This command unloads the library that provided feature feature. It
undefines all functions, macros, and variables defined in that library with
defun, defalias, defsubst, defmacro,
defconst, defvar, and defcustom. It then restores any
autoloads formerly associated with those symbols. (Loading saves these in
the autoload property of the symbol.)
Before restoring the previous definitions, unload-feature runs
remove-hook to remove functions in the library from certain hooks.
These hooks include variables whose names end in ‘hook’ or
‘-hooks’, plus those listed in unload-feature-special-hooks.
This is to prevent Emacs from ceasing to function because important hooks
refer to functions that are no longer defined.
If these measures are not sufficient to prevent malfunction, a library can
define an explicit unload hook. If feature-unload-hook is
defined, it is run as a normal hook before restoring the previous
definitions, instead of the usual hook-removing actions. The unload
hook ought to undo all the global state changes made by the library that
might cease to work once the library is unloaded. unload-feature can
cause problems with libraries that fail to do this, so it should be used
with caution.
Ordinarily, unload-feature refuses to unload a library on which other
loaded libraries depend. (A library a depends on library b if
a contains a require for b.) If the optional argument
force is non-nil, dependencies are ignored and you can unload
any library.
The unload-feature function is written in Lisp; its actions are based
on the variable load-history.
This variable holds a list of hooks to be scanned before unloading a library, to remove functions defined in the library.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.