2008-12-11 11 views
7

He visto algunas sugerencias para hacer que emacs sea portátil (en Windows). Tengo esto en mi sitio-start.el:Emacs portátiles? (El servidor de Emacs no funciona)

(defvar program-dir (substring data-directory 0 -4)) 

(setq inhibit-startup-message t) 
(setenv "HOME" program-dir) 

he cambiado la variable de la casa para que se leen no sólo mis .emacs archivos init (y otros archivos init), pero todo lo generado por emacs se quedará en el directorio de programa, sin necesidad de que especifique la ruta para todo uno por uno.

Bueno, esto funciona bien, pero el servidor emacs no funciona; Recibo el mensaje de error "no se pudo establecer ninguna conexión porque la máquina de destino lo rechazó activamente". Si no cambio mi HOME var, entonces el servidor de emacs funciona. ¿Hay forma de arreglar esto?

Respuesta

6

Quoth the Emacs manual:

Cuando se inicia el servidor de Emacs (llamando al servidor de inicio), Emacs crea un archivo con información sobre la conexión TCP con el servidor: el host donde Emacs está en funcionamiento, el puerto donde está escuchando y una cadena de autenticación. emacsclient usa esta información si necesita conectarse al servidor a través de TCP. Por defecto, el archivo va en el directorio ~/.emacs.d/server /. Puede especificar el nombre del archivo para usar con las opciones `-f file 'o` --server-file = file', o estableciendo la variable de entorno EMACS_SERVER_FILE en el nombre del archivo.

En otras palabras: donde quiera que estés llamando desde emacsclient, tendrá que contar que utilizar el archivo en ${program-dir}/.emacs.d/server/, ya sea con o -f estableciendo la variable de entorno EMACS_SERVER_FILE. (En el entorno en el que está iniciando emacsclient, no dentro de Emacs.)
[Usted podría también decirle a Emacsclient que busque en el lugar correcto con -s para "socket", pero eso no funciona en Windows. Y en Unix (al menos en Mac OS X con Aquamacs) la toma sería un lugar como /tmp/emacs501/server (501 es mi UID)]

[Ah, por cierto, echar un vistazo a esta pregunta:. How can I have a portable Emacs? Tal vez algo le ayudará , o tal vez tiene algo que agregar :-)]

0

Hay un paquete inicial de una versión de aplicaciones portátiles de emacs 23.2 here. La prueba inicial funciona aquí.

Cuestiones relacionadas