¿Cómo ejecuto varias versiones de Emacs con el mismo .emacs.d

8

Alternativamente, ejecuto 24.5 y 25.0.50. Desafortunadamente, los paquetes instalados y compilados desde 25.0.50 no funcionan con Emacs 24.5 ( cl-struct-definees un culpable común).

Una solución trivial es no compilar nada en bytes. Sin embargo, eso hace que las cosas sean bastante lentas.

¿Cómo puedo usar paquetes compilados (para rendimiento) mientras uso los mismos .emacs.dpara 24.5 y 25.0.50? También estaría bien con 24.5 ignorando los archivos compilados.

Clemente
fuente
Esta pregunta es similar, pero no exactamente la misma: se enfoca en mantener fácilmente un montón de versiones una al lado de la otra para fines de prueba, pero no trata en absoluto los archivos compilados en bytes.
Clément
3
Configuré package-user-diry algunos otros directorios y archivos basados ​​en la versión de emacs . Puedo escribir una respuesta detallada cuando estoy frente a una computadora.
Kaushal Modi
@kaushalmodi: ¿Eso no me obligará a instalar cada paquete dos veces?
Clément
Si. Cada paquete se instala varias veces (y cada carpeta de instalación tendrá los archivos compilados de bytes específicos de la versión de emacs). Pero no lo haces manualmente. Mantengo una lista en mi init.ely todos esos paquetes se instalan automáticamente al iniciar emacs (si no están ya instalados). Incluso puede usar la :ensurepalabra clave de use-packagepara instalar paquetes automáticamente.
Kaushal Modi

Respuestas:

3

Coloque los archivos compilados en bytes para diferentes versiones de Emacs en diferentes directorios. Haga su load-pathcondición de que la versión de Emacs está ejecutando, de manera que se carga las bibliotecas byte-compilado apropiadas.

Dibujó
fuente
2
(En mi opinión, es una lástima que el desarrollador de Emacs ya no haga un esfuerzo por mantener la compatibilidad con los archivos compilados en bytes. Solía ​​ser el caso de que pudieras usar una biblioteca compilada usando una versión anterior en una versión más nueva. Es posible que no tengas sido capaz de tomar ventaja de algunas nuevas características, pero en general no había ningún problema Esto sigue siendo el caso para la mayoría de las cosas, pero por menos y menos, por desgracia)..
dibujó
Gracias, esa es una buena idea. ¿Hay alguna manera de hacer que el administrador de paquetes ponga archivos elc en ese directorio específico de la versión? ¿Tal vez algún tipo de destino predeterminado para byte-compile-file?
Clément
No sé; lo siento. Alguien más con suerte responderá esa pregunta. No soy un experto en el pkg mgr. Pensaría (y espero) que la respuesta es sí, que proporciona una manera fácil de hacerlo.
Dibujó