Суффиксы загрузки
Сейчас мы опишем некоторые технические детали о точных суффиксах, которые load пытается использовать.
- Переменная: load-suffixes
Это список суффиксов, указывающих на (скомпилированные или исходные) файлы Emacs Lisp. Он не должен содержать пустую строку.
loadиспользует эти суффиксы по порядку, когда добавляет суффиксы Lisp к указанному имени файла. Стандартное значение —(".elc" ".el"), что обеспечивает поведение, описанное в предыдущем разделе.
- Переменная: load-file-rep-suffixes
-
Это список суффиксов, указывающих на представления одного и того же файла. Этот список обычно должен начинаться с пустой строки. Когда
loadищет файл, он добавляет суффиксы из этого списка по порядку к имени файла перед поиском другого файла.Включение режима автоматического сжатия добавляет суффиксы из
jka-compr-load-suffixesв этот список, а отключение режима автоматического сжатия удаляет их. Стандартное значениеload-file-rep-suffixes, если режим автоматического сжатия выключен, равно(""). Учитывая, что стандартное значениеjka-compr-load-suffixesравно(".gz"), стандартное значениеload-file-rep-suffixesпри включенном режиме автоматического сжатия равно("" ".gz").
- Функция: get-load-suffixes
Эта функция возвращает список всех суффиксов, которые
loadдолжен попробовать по порядку, когда его аргумент must-suffix не равенnil. Это учитывает какload-suffixes, так иload-file-rep-suffixes. Еслиload-suffixes,jka-compr-load-suffixesиload-file-rep-suffixesимеют свои стандартные значения, эта функция возвращает(".elc" ".elc.gz" ".el" ".el.gz")при включенном режиме автоматического сжатия и(".elc" ".el")при отключенном режиме автоматического сжатия.
Подводя итог, load обычно сначала пробует суффиксы в значении (get-load-suffixes) и затем те, что в load-file-rep-suffixes. Если nosuffix не равно nil, он пропускает первую группу, а если must-suffix не равно nil, он пропускает вторую группу.
- Вариант пользователя: load-prefer-newer
Если этот параметр не равен
nil, то вместо остановки на первом существующем суффиксеloadтестирует их все и использует файл, который является самым новым.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Load-Suffixes.html