Инициализация Emacs и путь загрузки

Мне нужна помощь в понимании инициализации Emacs и создания переменных пути загрузки. Итак, в $HOME есть файл инициализации.emacs (или.emacs.d / init.el), который загружается первым, и в тот момент, когда этот файл собирается читать, путь загрузки уже содержит каталоги из /etc, /usr/*, например, каталоги из самого дистрибутива Emacs.

После загрузки файла инициализации существуют ли какие-либо стандартные файлы инициализации Emacs, которые сканируют файл.emacs.d и добавляют в него найденные подкаталоги?

Руководство Emacs что-то говорит о subdirs.el на первом шаге инициализации Emacs ( https://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html), но это происходит перед загрузкой файла инициализации я не понимаю используемый язык:

  1. Он добавляет подкаталоги в путь загрузки, запустив файл с именем subdirs.el в каждом каталоге в списке.

В каком "списке"?

2 ответа

Решение

После загрузки файла инициализации существуют ли какие-либо стандартные файлы инициализации Emacs, которые сканируют файл.emacs.d и добавляют в него найденные подкаталоги?

В общем, нет - Emacs не будет автоматически добавлять произвольные подкаталоги в ваш load-path (и не хотел бы этого).

Однако это происходит для некоторых конкретных подкаталогов.

Начиная с Emacs 24 встроенный менеджер пакетов будет автоматически добавлять ваши установленные каталоги пакетов ELPA в load-path после того, как ваш файл инициализации был оценен.

( И / или когда package-initialize вызывается явно, если вы это сделаете.)

По умолчанию ваши пакеты ELPA живут под ~/.emacs.d/elpa/

На этом шаге "список" представляет собой предварительно загруженные значения установки в load-path, Остальные пункты ясны в выполненных шагах. Например, некоторые дистрибутивы Debian/Ubuntu добавляют некоторые системные файлы конфигурации в /etc/emacsXXи это жестко закодировано в исходном коде, когда он скомпилирован как некоторые из начальных путей в load-path,

Другие вопросы по тегам