emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lispref/loading.texi,v


From: Alan Mackenzie
Subject: [Emacs-diffs] Changes to emacs/lispref/loading.texi,v
Date: Sun, 04 Feb 2007 18:59:44 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Alan Mackenzie <acmacm> 07/02/04 18:59:44

Index: loading.texi
===================================================================
RCS file: /cvsroot/emacs/emacs/lispref/loading.texi,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -b -r1.69 -r1.70
--- loading.texi        16 Jan 2007 03:28:53 -0000      1.69
+++ loading.texi        4 Feb 2007 18:59:44 -0000       1.70
@@ -903,14 +903,29 @@
 loaded, by calling @code{eval-after-load}.
 
 @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.  If
+This function arranges to evaluate @var{form} at the end of loading
+the file @var{library}, each time @var{library} is loaded.  If
 @var{library} is already loaded, it evaluates @var{form} right away.
+Don't forget to quote @var{form}!
 
-If @var{library} is a string, it must exactly match the argument of
address@hidden used to load the library.  To get the proper results when an
-installed library is found by searching @code{load-path}, you should not
-include any directory names in @var{library}.
+You don't need to give a directory or extension in the file name
address@hidden you just give a bare file name, like this:
+
address@hidden
+(eval-after-load "edebug" '(def-edebug-spec c-point t))
address@hidden example
+
+To restrict which files can trigger the evaluation, include a
+directory or an extension or both in @var{library}.  Only a file whose
+absolute true name (i.e., the name with all symbolic links chased out)
+matches all the given name components will match.  In the following
+example, @file{my_inst.elc} or @file{my_inst.elc.gz} in some directory
address@hidden/foo/bar} will trigger the evaluation, but not
address@hidden:
+
address@hidden
+(eval-after-load "foo/bar/my_inst.elc" @dots{})
address@hidden example
 
 @var{library} can also be a feature (i.e.@: a symbol), in which case
 @var{form} is evaluated when @code{(provide @var{library})} is called.
@@ -932,19 +947,20 @@
 programs meant for wider use.
 
 @defvar after-load-alist
-This variable holds an alist of expressions to evaluate if and when
-particular libraries are loaded.  Each element looks like this:
+This variable, an alist built by @code{eval-after-load}, holds the
+expressions to evaluate when particular libraries are loaded.  Each
+element looks like this:
 
 @example
-(@var{filename} @address@hidden)
+(@var{regexp-or-feature} @address@hidden)
 @end example
 
-The function @code{load} checks @code{after-load-alist} in order to
-implement @code{eval-after-load}.
+The key @var{regexp-or-feature} is either a regular expression or a
+symbol, and the value is a list of forms.  The forms are evaluated when
+the key matches the the absolute true name of the file being
address@hidden or the symbol being @code{provide}d.
 @end defvar
 
address@hidden Emacs 19 feature
-
 @ignore
    arch-tag: df731f89-0900-4389-a436-9105241b6f7a
 @end ignore




reply via email to

[Prev in Thread] Current Thread [Next in Thread]