std-module-unbind | ![]() |
(std-module-unbind <module-name>)
STD-MODULE-UNBIND removes the module name from the list of loaded modules, which may be a list or something else. It does not unload the lisp file associated with the module.
But it DOES undefine symbols or functions defined in this module! To support strict name-prefixes. Therefore it's dangerous to add short module-names which could conflict with symbol-names from other programs! However it forces strict symbol naming which has more advantages in readability, convenience when undefining modules together its symbols and memory usage.
<module-name>-
All symbols prefixed with *<module-name>
It is strictly forbidden to manipulate a global list *MODULES* or *FEATURES*, in fact the list may be handled by special symbols and not by a list!
module-name: string or symbol. Usually the filename of the lisp file in which the module is defined. Just the name without absolute path or extension is needed. Usually case insensitive, but OS dependant.
T or nil.
Removes the module name from the list of loaded modules. In the current fast implementation it just unbinds a special symbol from the atoms hashtable (the obarray).
(std-require 'STDINIT)
Defined in STDMODUL