Next: Library Search, Previous: How Programs Do Loading, Up: Loading
We now describe some technical details about the exact suffixes that
load tries.
This is a list of suffixes indicating (compiled or source) Emacs Lisp files. It should not include the empty string.
loaduses these suffixes in order when it appends Lisp suffixes to the specified file name. The standard value is(".elc" ".el")which produces the behavior described in the previous section.
This is a list of suffixes that indicate representations of the same file. This list should normally start with the empty string. When
loadsearches for a file it appends the suffixes in this list, in order, to the file name, before searching for another file.Enabling Auto Compression mode appends the suffixes in
jka-compr-load-suffixesto this list and disabling Auto Compression mode removes them again. The standard value ofload-file-rep-suffixesif Auto Compression mode is disabled is(""). Given that the standard value ofjka-compr-load-suffixesis(".gz"), the standard value ofload-file-rep-suffixesif Auto Compression mode is enabled is("" ".gz").
This function returns the list of all suffixes that
loadshould try, in order, when its must-suffix argument is non-nil. This takes bothload-suffixesandload-file-rep-suffixesinto account. Ifload-suffixes,jka-compr-load-suffixesandload-file-rep-suffixesall have their standard values, this function returns(".elc" ".elc.gz" ".el" ".el.gz")if Auto Compression mode is enabled and(".elc" ".el")if Auto Compression mode is disabled.
To summarize, load normally first tries the suffixes in the
value of (get-load-suffixes) and then those in
load-file-rep-suffixes. If nosuffix is non-nil,
it skips the former group, and if must-suffix is non-nil,
it skips the latter group.