2008-12-11 7 views
7

Ich habe ein paar Vorschläge zur Herstellung von Emacs (unter Windows) gesehen. Ich habe dies in meiner Website-start.el:Tragbare Emacs? (Emacs Server funktioniert nicht)

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

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

ich das HOME-Variable geändert, so dass nicht nur meine .emacs init-Dateien (und andere init-Dateien) gelesen werden, aber alles erzeugt von Emacs wird in dem Aufenthalt Programm-Verzeichnis, ich brauche nicht den Pfad für alles einzeln anzugeben.

Nun, das funktioniert gut, aber der Emacs-Server funktioniert nicht; Ich bekomme Fehlermeldung "keine Verbindung konnte hergestellt werden, weil das Zielgerät es aktiv ablehnte." Wenn ich meine HOME-Var nicht ändere, funktioniert der Emacs-Server. Gibt es einen Weg, das zu beheben?

Antwort

6

Quoth the Emacs manual:

Wenn Sie den Emacs-Server starten (durch Aufruf von Server-Start), erstellt Emacs eine Datei mit Informationen über TCP-Verbindung zum Server: der Host, auf den Emacs läuft, den Hafen, wo es ist Zuhören und eine Authentifizierungszeichenfolge. emacsclient verwendet diese Informationen, wenn er sich über TCP mit dem Server verbinden muss. Standardmäßig befindet sich die Datei im Verzeichnis ~/.emacs.d/server /. Sie können den Dateinamen angeben, der mit den Optionen -f-Datei oder -serverdatei = Datei verwendet werden soll, oder indem Sie die Umgebungsvariable EMACS_SERVER_FILE auf den Dateinamen festlegen.

Mit anderen Worten: wo immer Sie emacsclient aus anrufen, Sie sagen müssen würden es die Datei in ${program-dir}/.emacs.d/server/, entweder mit -f oder Einstellung des EMACS_SERVER_FILE Umgebungsvariable zu verwenden. (In der Umgebung, in der Sie beginnen emacsclient, nicht innerhalb von Emacs.) [You könnte auch sagen, Emacsclient an der richtigen Stelle mit -s für "Socket" aussehen, aber das funktioniert nicht auf Windows. Und auf Unix-Versionen (zumindest unter Mac OS X mit Aquamacs) der Steckdose irgendwo sein würde wie /tmp/emacs501/server (501 meine UID)]

[Oh, BTW, in dieser Frage einen Blick:. How can I have a portable Emacs? Vielleicht wird etwas, das Sie helfen oder vielleicht hast du etwas hinzuzufügen :-)]

0

Es gibt eine erste Verpackung einer Portable Apps Version von Emacs 23.2 here. Der erste Test funktioniert hier.