Emacs Lisp: provide, require, features
The purpose of emacs “features” is for emacs to know if a package is already loaded.
- features
- A global variable. Its value is a list of Symbols, each symbol represent a emacs “feature” that's been loaded.
provide
-
(provide symbol)
Add symbol to the features list. require
-
(require symbol &optional FILENAME NOERROR)
Checks if symbol is in variable features. If not, callload
to load it. File name is guessed from symbol, or specified in the optional argument. This function are used in elisp libraries or scripts, similar to other language's “import”.
here's sample value of features:
