aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/loading.texi44
2 files changed, 31 insertions, 18 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 29c3980a2b5..fd5fe0e5262 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
12010-03-26 Chong Yidong <cyd@stupidchicken.com>
2
3 * loading.texi (Hooks for Loading): Document after-load-functions.
4 Copyedits.
5
12010-03-24 Arni Magnusson <arnima@hafro.is> (tiny change) 62010-03-24 Arni Magnusson <arnima@hafro.is> (tiny change)
2 7
3 * frames.texi (Cursor Parameters): Fix typo. (Bug#5760) 8 * frames.texi (Cursor Parameters): Fix typo. (Bug#5760)
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 38bc9c4d0e8..ec10c51b236 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -920,8 +920,17 @@ library, to remove functions defined in the library.
920@cindex loading hooks 920@cindex loading hooks
921@cindex hooks for loading 921@cindex hooks for loading
922 922
923You can ask for code to be executed if and when a particular library is 923You can ask for code to be executed each time Emacs loads a library,
924loaded, by calling @code{eval-after-load}. 924by using the variable @code{after-load-functions}:
925
926@defvar after-load-functions
927This abnormal hook is run after loading a file. Each function in the
928hook is called with a single argument, the absolute filename of the
929file that was just loaded.
930@end defvar
931
932If you want code to be executed when a @emph{particular} library is
933loaded, use the function @code{eval-after-load}:
925 934
926@defun eval-after-load library form 935@defun eval-after-load library form
927This function arranges to evaluate @var{form} at the end of loading 936This function arranges to evaluate @var{form} at the end of loading
@@ -930,7 +939,7 @@ the file @var{library}, each time @var{library} is loaded. If
930Don't forget to quote @var{form}! 939Don't forget to quote @var{form}!
931 940
932You don't need to give a directory or extension in the file name 941You don't need to give a directory or extension in the file name
933@var{library}---normally you just give a bare file name, like this: 942@var{library}. Normally, you just give a bare file name, like this:
934 943
935@example 944@example
936(eval-after-load "edebug" '(def-edebug-spec c-point t)) 945(eval-after-load "edebug" '(def-edebug-spec c-point t))
@@ -955,31 +964,30 @@ An error in @var{form} does not undo the load, but does prevent
955execution of the rest of @var{form}. 964execution of the rest of @var{form}.
956@end defun 965@end defun
957 966
958In general, well-designed Lisp programs should not use this feature. 967Normally, well-designed Lisp programs should not use
959The clean and modular ways to interact with a Lisp library are (1) 968@code{eval-after-load}. If you need to examine and set the variables
960examine and set the library's variables (those which are meant for 969defined in another library (those meant for outside use), you can do
961outside use), and (2) call the library's functions. If you wish to 970it immediately---there is no need to wait until the library is loaded.
962do (1), you can do it immediately---there is no need to wait for when 971If you need to call functions defined by that library, you should load
963the library is loaded. To do (2), you must load the library (preferably 972the library, preferably with @code{require} (@pxref{Named Features}).
964with @code{require}).
965 973
966But it is OK to use @code{eval-after-load} in your personal 974But it is OK to use @code{eval-after-load} in your personal
967customizations if you don't feel they must meet the design standards for 975customizations if you don't feel that they must meet the design
968programs meant for wider use. 976standards for programs meant for wider use.
969 977
970@defvar after-load-alist 978@defvar after-load-alist
971This variable, an alist built by @code{eval-after-load}, holds the 979This variable stores an alist built by @code{eval-after-load},
972expressions to evaluate when particular libraries are loaded. Each 980containing the expressions to evaluate when certain libraries are
973element looks like this: 981loaded. Each element looks like this:
974 982
975@example 983@example
976(@var{regexp-or-feature} @var{forms}@dots{}) 984(@var{regexp-or-feature} @var{forms}@dots{})
977@end example 985@end example
978 986
979The key @var{regexp-or-feature} is either a regular expression or a 987The key @var{regexp-or-feature} is either a regular expression or a
980symbol, and the value is a list of forms. The forms are evaluated when 988symbol, and the value is a list of forms. The forms are evaluated
981the key matches the absolute true name of the file being 989when the key matches the absolute true name or feature name of the
982@code{load}ed or the symbol being @code{provide}d. 990library being loaded.
983@end defvar 991@end defvar
984 992
985@ignore 993@ignore