Por alguna razón (véase más adelante) que quería establecer package-user-dir
(ELPA) a la sitio-lisp-directory .
Debería ser posible deducir el directorio site-lisp de la exec-directory
variable estándar:
(setq site-lisp-directory (concat exec-directory "../site-lisp")
Al menos con los precompilados Emacs-versiones de GNU esto funciona (el directorio ya existe).Finalmente crear el directorio:
(unless (file-accessible-directory-p site-lisp-directory)
(make-directory site-lisp-directory))
Mi motivación fue que package-user-dir
por defecto es %USERPROFILE%/.emacs.d/elpa/
, que parece ser un lugar bastante extraño. Los paquetes se instalarán en todo el sistema para todos los usuarios. También ~/.emacs.d
contiene configuraciones de servidor, listas de guardado automático y copias de seguridad. ¿Qué tienen que hacer los paquetes cuando Emacs tiene un sitio-lisp-directory dedicado que uno puede pedir?
Sin embargo, el verdadero "problema" fue el precompiled Emacs 24.3 para Windows. No requiere instalación y, por lo tanto, se puede ejecutar de forma portátil, como desde un dispositivo. En mi humilde opinión, ELPA debería usar su directorio site-lisp para que los paquetes también se puedan instalar de manera portátil.
Esto parece lo mejor que Emacs Lisp puede hacer para este problema. – hekevintran
O para una solución más general, podría recorrer su 'ruta de carga' actual y buscar subdirectorios llamados' w3m' y luego agregarlos a la ruta de carga. Sin embargo, no creo que esto realmente deba ser necesario. ¿'W3m' no instala sus propias autocarga? ¡Debería! – tripleee