@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c Free Software Foundation, Inc.
+@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/loading
@node Loading, Byte Compilation, Customization, Top
Normally, the variable's value is @code{nil}, which means those
functions should use @code{read}.
-@strong{Note:} Instead of using this variable, it is cleaner to use
-another, newer feature: to pass the function as the @var{read-function}
-argument to @code{eval-region}. @xref{Eval}.
+Instead of using this variable, it is cleaner to use another, newer
+feature: to pass the function as the @var{read-function} argument to
+@code{eval-region}. @xref{Eval}.
@end defvar
For information about how @code{load} is used in building Emacs, see
tells @code{locate-library} to display the file name in the echo area.
@end deffn
+@defvar load-suffixes
+This variable is a list of suffixes (strings) that @code{load} should
+try adding to the specified file name. The default value is
+@code{(".elc" ".el")}. There is no need to include the null suffix.
+@end defvar
+
@node Loading Non-ASCII
@section Loading Non-@sc{ascii} Characters
(autoload @var{filename} @var{docstring} @var{interactive} @var{type})
@end example
-For example,
+For example,
@example
@group
@code{features}; if it fails to do so, @code{require} signals an error.
@cindex load error with require
- For example, in @file{emacs/lisp/prolog.el},
+ For example, in @file{emacs/lisp/prolog.el},
the definition for @code{run-prolog} includes the following code:
@smallexample
If provided, @var{subfeatures} should be a list of symbols indicating
a set of specific subfeatures provided by this version of @var{feature}.
+You can test the presence of a subfeature using @code{featurep}.
@smallexample
features
@end smallexample
When a file is loaded to satisfy an autoload, and it stops due to an
-error in the evaluating its contents, any function definitions or
+error in the evaluation of its contents, any function definitions or
@code{provide} calls that occurred during the load are undone.
@xref{Autoload}.
@end defun
@end defun
@defun featurep feature &optional subfeature
-This function returns @code{t} if @var{feature} has been provided in the
-current Emacs session (i.e.@:, if @var{feature} is a member of
-@code{features}.) If @var{subfeature} is non-nil, then the function
-returns @code{t} only if that subfeature is provided as well (i.e.@:
-if @var{subfeature} is a member of the @code{subfeature} property
-of the @var{feature} symbol.)
+This function returns @code{t} if @var{feature} has been provided in
+the current Emacs session (i.e.@:, if @var{feature} is a member of
+@code{features}.) If @var{subfeature} is non-@code{nil}, then the
+function returns @code{t} only if that subfeature is provided as well
+(i.e.@: if @var{subfeature} is a member of the @code{subfeature}
+property of the @var{feature} symbol.)
@end defun
@defvar features
It then restores any autoloads formerly associated with those symbols.
(Loading saves these in the @code{autoload} property of the symbol.)
+@vindex unload-feature-special-hooks
Before restoring the previous definitions, @code{unload-feature} runs
@code{remove-hook} to remove functions in the library from certain
-hooks. These hooks include variables whose names end in @samp{hook} or
-@samp{-hooks}, plus those listed in @code{loadhist-special-hooks}. This
-is to prevent Emacs from ceasing to function because important hooks
-refer to functions that are no longer defined.
+hooks. These hooks include variables whose names end in @samp{hook}
+or @samp{-hooks}, plus those listed in
+@code{unload-feature-special-hooks}. This is to prevent Emacs from
+ceasing to function because important hooks refer to functions that
+are no longer defined.
@vindex @var{feature}-unload-hook
If these measures are not sufficient to prevent malfunction, a library
The feature @var{feature} was required.
@item (provide . @var{feature})
The feature @var{feature} was provided.
-@end itemize
+@end table
The value of @code{load-history} may have one element whose @sc{car} is
@code{nil}. This element describes definitions made with
@end defvar
@c Emacs 19 feature
+
+@ignore
+ arch-tag: df731f89-0900-4389-a436-9105241b6f7a
+@end ignore