Инициализация 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), но это происходит перед загрузкой файла инициализации я не понимаю используемый язык:
- Он добавляет подкаталоги в путь загрузки, запустив файл с именем 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
,