2008-12-11 7 views
7

J'ai vu quelques suggestions pour rendre emacs portable (sous Windows). J'ai dans mon site start.el:Portable Emacs? (Le serveur Emacs ne fonctionne pas)

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

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

J'ai changé la variable HOME pour que non seulement mes .emacs fichiers init (et d'autres fichiers d'initialisation) sont lus, mais tout produit par emacs restera dans la répertoire du programme, ne pas avoir besoin de moi pour spécifier le chemin pour tout un par un.

Eh bien, cela fonctionne bien, mais le serveur emacs ne fonctionne pas; Je reçois un message d'erreur "aucune connexion n'a pu être établie car la machine cible l'a refusée". Si je ne change pas ma variable HOME, le serveur emacs fonctionne. Est-il possible de résoudre ce problème?

Répondre

6

Quoth the Emacs manual:

Lorsque vous démarrez le serveur Emacs (en composant le démarrage du serveur), Emacs crée un fichier contenant des informations sur la connexion TCP vers le serveur: l'hôte où Emacs est en cours d'exécution, le port où il est écoute, et une chaîne d'authentification. emacsclient utilise ces informations s'il doit se connecter au serveur via TCP. Par défaut, le fichier va dans le répertoire ~/.emacs.d/server /. Vous pouvez spécifier le nom de fichier à utiliser avec les options `-f file 'ou` --server-file = file' ou en définissant la variable d'environnement EMACS_SERVER_FILE sur le nom du fichier.

En d'autres termes: où que vous appelez de emacsclient, vous devrez dire il d'utiliser le fichier dans ${program-dir}/.emacs.d/server/, que ce soit avec -f ou en définissant la variable d'environnement EMACS_SERVER_FILE. (Dans l'environnement dans lequel vous démarrez emacsclient, pas dans Emacs.)
[Vous pourriez également également dire à Emacsclient de regarder au bon endroit avec -s pour "socket", mais cela ne fonctionne pas sur Windows. Et sur unix (au moins sur Mac OS X avec Aquamacs) la prise serait quelque part comme /tmp/emacs501/server (501 est mon UID)]

[Oh, BTW, jetez un oeil à cette question. How can I have a portable Emacs? Peut-être que quelque chose va vous aider , ou peut-être vous avez quelque chose à ajouter :-)]

0

Il existe un emballage initial d'une version Portable Apps d'emacs 23.2 here. Le test initial fonctionne ici.