# HG changeset patch # User Richard M. Stallman # Date 794213399 0 # Node ID 880d7c28921ced4b9e0903b18511cfd0613bcf80 # Parent be434b59c22e550fb6d2e31c39bf0672048e053d Change in eval-after-load; advise not using it. diff -r be434b59c22e -r 880d7c28921c lispref/loading.texi --- a/lispref/loading.texi Fri Mar 03 06:48:20 1995 +0000 +++ b/lispref/loading.texi Fri Mar 03 06:49:59 1995 +0000 @@ -583,7 +583,8 @@ @defun eval-after-load library form This function arranges to evaluate @var{form} at the end of loading the -library @var{library}, if and when @var{library} is loaded. +library @var{library}, if and when @var{library} is loaded. If +@var{library} is already loaded, it evaluates @var{form} right away. The library name @var{library} must exactly match the argument of @code{load}. To get the proper results when an installed library is @@ -594,6 +595,18 @@ execution of the rest of @var{form}. @end defun +In general, well-designed Lisp programs should not use this feature. +The clean and modular ways to interact with a Lisp library are (1) +examine and set the library's variables (those which are meant for +outside use), and and (2) call the library's functions. If you wish to +do (1), you can do it immediately---there is no need to wait for when +the library is loaded. To do (2), you must load the library (preferably +with @code{require}). + +But it is to use @code{eval-after-load} in your personal customizations +if you don't feel they must meet the design standards of programs to be +released. + @defvar after-load-alist An alist of expressions to evaluate if and when particular libraries are loaded. Each element looks like this: