Utilizo la siguiente estructura en la configuración de mi emacs: para cada modo de programación que uso, mantengo la configuración en un archivo llamado programming-mode-config.el. (Entonces, la configuración de python irá a python-mode-config.el, etc.).¿Cómo uso la carga automática para cargar correctamente la configuración personalizada?
Anteriormente, solía requerir cada uno de estos archivos en mi init.el. El inconveniente de este enfoque fue que mi tiempo de puesta en marcha fue enorme. Así que este fin de semana, me senté y convertí todo lo necesario en autocarga. Ahora mi archivo de inicio se ve así:
(autoload 'python-mode "python-mode-config" "Load python config" t)
config Así pitón no se cargará hasta que abra un archivo de pitón. Esto ayudó a reducir mi tiempo de inicio a aproximadamente 1 segundo, pero no funciona correctamente en todos los casos. Por ejemplo,
(autoload 'erc "erc-mode-config" "Load configuration for ERC" t)
no carga mis ajustes erc en absoluto. En cuanto a la documentación de carga automática, se establece que:
Define FUNCTION to autoload from FILE.
...
If FUNCTION is already defined other than as an autoload,
this does nothing and returns nil.
Así que supongo que la configuración de ERC no se ha cargado porque ERC viene 'incorporado' con emacs, mientras que pitón-mode es un plugin que uso. ¿Hay alguna forma de que pueda hacer que mi configuración erc se cargue solo cuando realmente uso erc? La única otra alternativa que veo es usar eval-after-load, pero sería bastante doloroso poner cada pequeña parte de mi personalización en un eval-after-load.
Me temo que también podría ser que no he asimilado las autocargaciones correctamente. Cualquier ayuda sería apreciada.
Gracias, tuve la sensación de que mis autocargadores estaban equivocados :) – vedang
Además, tenías razón. Mi configuración anterior tenía (requiere 'python) seguido de (requiere' python-mode-config). Moví el comando (require 'python) al archivo python-mode-config cuando lo reescribí como carga automática. Ahora estoy sentado y reparando todos mis autocargadores y eval-after-loads. – vedang