[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Emacs Lisp has several interfaces for loading. For example, autoload
creates a placeholder object for a function defined in a file; trying to
call the autoloading function loads the file to get the function's real
definition (voir la section Autoload). require
loads a file if it isn't
already loaded (voir la section Features). Ultimately, all these facilities
call the load
function to do the work.
This function finds and opens a file of Lisp code, evaluates all the forms in it, and closes the file.
To find the file, load
first looks for a file named
‘filename.elc’, that is, for a file whose name is filename
with the extension ‘.elc’ appended. If such a file exists, it is
loaded. If there is no file by that name, then load
looks for a file
named ‘filename.el’. If that file exists, it is loaded.
Finally, if neither of those names is found, load
looks for a file
named filename with nothing appended, and loads it if it exists. (The
load
function is not clever about looking at filename. In the
perverse case of a file named ‘foo.el.el’, evaluation of (load
"foo.el")
will indeed find it.)
If Auto Compression mode is enabled, as it is by default, then if
load
can not find a file, it searches for a compressed version of the
file before trying other file names. It decompresses and loads it if it
exists. It looks for compressed versions by appending each of the suffixes
in jka-compr-load-suffixes
to the file name. The value of this
variable must be a list of strings. Its standard value is (".gz")
.
If the optional argument nosuffix is non-nil
, then load
does not try the suffixes ‘.elc’ and ‘.el’. In this case, you
must specify the precise file name you want, except that, if Auto
Compression mode is enabled, load
will still use
jka-compr-load-suffixes
to find compressed versions. By specifying
the precise file name and using t
for nosuffix, you can prevent
perverse file names such as ‘foo.el.el’ from being tried.
If the optional argument must-suffix is non-nil
, then
load
insists that the file name used must end in either ‘.el’ or
‘.elc’ (possibly extended with a compression suffix), unless it
contains an explicit directory name.
If filename is a relative file name, such as ‘foo’ or
‘baz/foo.bar’, load
searches for the file using the variable
load-path
. It appends filename to each of the directories
listed in load-path
, and loads the first file it finds whose name
matches. The current default directory is tried only if it is specified in
load-path
, where nil
stands for the default directory.
load
tries all three possible suffixes in the first directory in
load-path
, then all three suffixes in the second directory, and so
on. Voir la section Library Search.
If you get a warning that ‘foo.elc’ is older than ‘foo.el’, it means you should consider recompiling ‘foo.el’. Voir la section Byte Compilation.
When loading a source file (not compiled), load
performs character
set translation just as Emacs would do when visiting the file. Voir la section Coding Systems.
Messages like ‘Loading foo...’ and ‘Loading foo...done’ appear in
the echo area during loading unless nomessage is non-nil
.
Any unhandled errors while loading a file terminate loading. If the load
was done for the sake of autoload
, any function definitions made
during the loading are undone.
If load
can't find the file to load, then normally it signals the
error file-error
(with ‘Cannot open load file filename’).
But if missing-ok is non-nil
, then load
just returns
nil
.
You can use the variable load-read-function
to specify a function for
load
to use instead of read
for reading expressions. See
below.
load
returns t
if the file loads successfully.
This command loads the file filename. If filename is a relative
file name, then the current default directory is assumed. This command does
not use load-path
, and does not append suffixes. However, it does
look for compressed versions (if Auto Compression Mode is enabled). Use
this command if you wish to specify precisely the file name to load.
This command loads the library named library. It is equivalent to
load
, except in how it reads its argument interactively.
This variable is non-nil
if Emacs is in the process of loading a
file, and it is nil
otherwise.
This variable specifies an alternate expression-reading function for
load
and eval-region
to use instead of read
. The
function should accept one argument, just as read
does.
Normally, the variable's value is nil
, which means those functions
should use read
.
Instead of using this variable, it is cleaner to use another, newer feature:
to pass the function as the read-function argument to
eval-region
. Voir Eval.
For information about how load
is used in building Emacs, see
Building Emacs.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.