Spec-Zone.ru › Elisp

Суффиксы загрузки

Сейчас мы опишем некоторые технические детали о точных суффиксах, которые 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API