Я использую следующую структуру в моей конфигурации emacs: Для каждого режима программирования, который я использую, я сохраняю конфигурацию в файле, называемом program-mode-config.el.(Таким образом, конфигурация python будет идти в python-mode-config.el и т. Д.).
Раньше я требовал каждый из этих файлов в моем init.el.Недостатком этого подхода было то, что мое время запуска было огромным.Поэтому в эти выходные я сел и перевел все требования в автозагрузку.Теперь мой файл инициализации выглядит так:
(autoload 'python-mode "python-mode-config" "Load python config" t)
Таким образом, конфигурация python не будет загружена, пока я не открою файл python.Это помогло мне сократить время запуска примерно до 1 секунды, но оно не работает должным образом во всех случаях.Например,
(autoload 'erc "erc-mode-config" "Load configuration for ERC" t)
не загружает мои настройки erc вообще.Глядя на документацию по автозагрузке, он заявляет, что:
Define FUNCTION to autoload from FILE.
...
If FUNCTION is already defined other than as an autoload,
this does nothing and returns nil.
Итак, я предполагаю, что конфигурация erc не загружена, потому что ERC встроен в emacs, тогда как python-mode - это плагин, который я использую,Можно ли как-нибудь загрузить конфигурацию erc, только когда я действительно использую erc?Единственная альтернатива, которую я вижу, - это использование eval-after-load, но было бы довольно болезненно поместить каждый маленький кусочек моей настройки в eval-after-load.
Боюсь, что это также может бытьчто я не запустил автозагрузки должным образом.Любая помощь будет оценена.