Emacs 23.1 unter Windows XP nur einmal starten (emacsclientw.exe)
1238
Titule
Ich habe (server-start)in meiner .emacs-Datei die Variablen HOME, ALTERNATE_EDITOR (= runemacs.exe) und EMACS_SERVER_FILE gesetzt.
Wenn ich anfange
emacsclientw.exe test.txt
Beim ersten Mal erwarte ich, dass Emacs startet und den Puffer anzeigt. test.txt Was passiert, ist, dass Emacs gestartet wird und der Puffer- Scratch angezeigt wird. Die Messsage-Zeile sagt (Neue Datei) und der Puffer test.txt ist vorhanden, wird jedoch noch nicht angezeigt. (Das ist nicht wirklich was stört mich gerade jetzt)
Wenn ich jetzt ausführe
emacsclientw.exe test2.txt
Ich erwarte, dass derselbe Emacs verwendet wird und ein neuer Puffer test2.txterstellt wird.
Was aber passiert ist, dass ein neuer Emacs mit einem offenen Warnpuffer eingelesen wird:
Warning (server): Unable to start the Emacs server. There is an existing Emacs server, named "server". To start the server in this Emacs process, stop the existing server or call `M-x server-force-delete' to forcibly disconnect it.
Das klingt für mich, als würde die erste Instanz einen Server starten, die zweite stellt jedoch keine Verbindung zu ihm her, sondern versucht, den Server erneut zu starten.
Danke, aber - nein, es hat den gleichen Effekt. Und wenn es funktionieren würde, wäre es nicht das, was ich brauche, da ich emacs immer auf dieselbe Weise starten muss.
Titule vor 13 Jahren
0
0
jwernerny
Wenn Sie bereits eine (server-start).emacs-Datei haben, sollten Sie das Emacs-Wiki überprüfen. Es gibt einige gute Informationen zur Verwendung von emacsclient unter MS Windows .
0
Dysaster
Wie es aussieht, erstellt der emacs-Server seine Server-Datei an einem Ort, an dem er emacsclientwnicht finden kann. Um das Problem weiter zu debuggen, können Sie emacs ausführen und sehen, dass die angegebene Serverdatei EMACS_SERVER_FILEtatsächlich erstellt wird.
In meinem Setup ist die einzige Umgebungsvariable, die ich verwende HOME. Die benutzerdefinierte Variable server-namebleibt auf ihrem Standardwert (dh server). Dadurch wird die Datei $HOME/.emacs.d/server/servererstellt, wenn Emacs ausgeführt wird. Und da dieser Speicherort die Standardeinstellung emacsclientw.exeist, kann er diese Datei finden und bestimmen, wie mit Emacs gesprochen wird.
Ich hatte einen kurzen Blick server.elin mein System und konnte nichts EMACS_SERVER_FILEdavon sehen. Wenn Sie einen nicht standardmäßigen Speicherort verwenden, kann dies die Ursache Ihrer Probleme sein.