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
:
defconst
, defvar
, defun
,
defmacro
, defsubst
and defalias
. It then restores
any autoloads formerly associated with those symbols. (Loading
saves these in the autoload
property of the symbol.)
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
.
Each element is a list and describes one library. The CAR of the list is the name of the library, as a string. The rest of the list is composed of these kinds of objects:
(require . feature)
indicating
features that were required.
(provide . feature)
indicating
features that were provided.
The value of load-history
may have one element whose CAR is
nil
. This element describes definitions made with
eval-buffer
on a buffer that is not visiting a file.
The command eval-region
updates load-history
, but does so
by adding the symbols defined to the element for the file being visited,
rather than replacing that element.
Go to the first, previous, next, last section, table of contents.