Запустите emacs 23.1 на Windows XP только один раз (emacsclientw.exe)

1147
Titule

У меня есть (server-start)в моем файле .emacs и установите HOME переменные, ALTERNATE_EDITOR (= runemacs.exe) и EMACS_SERVER_FILE множество.

Когда я начну

emacsclientw.exe test.txt 

в первый раз, я надеюсь, Emacs для запуска и отображения буфера test.txt Что происходит в том, что Emacs запускается и буфер царапанию отображается, то messsage строка говорит (Новый файл) и буфер test.txt существует, но еще не отображается. (Это не совсем то, что беспокоит меня сейчас)

Когда я сейчас выполню

emacsclientw.exe test2.txt

Я ожидаю, что используется тот же emacs и создается новый буфер test2.txt.

Но что происходит, так это то, что новый emacs запускается с открытым буфером предупреждения:

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. 

Для меня это звучит так, как будто первый экземпляр запускает сервер, но второй не подключается к нему, а пытается снова запустить сервер.

В чем может быть проблема?

4

4 ответа на вопрос

1
kawu

У меня такая же проблема. В настоящее время я использовал следующее решение.

Добавьте в ваш файл .emacs:

(load "server") (unless (server-running-p) (server-start)) 

Решение приходит из Как запустить сервер Emacs, только если он не запущен?

0
Oleg Pavliv

Вы должны начать Emacs, используя

runemacs.exe 

После этого вы можете использовать

emacsclientw.exe test.txt 
Спасибо, но ... Нет, это имеет тот же эффект. И если это сработает, это будет не то, что мне нужно, так как мне придется запускать emacs всегда одинаково .. Titule 13 лет назад 0
0
jwernerny

Если у вас уже есть (server-start)файл .emacs, вы можете посмотреть The Emacs Wiki. В нем есть хорошая информация об использовании emacsclient под MS Windows .

0
Dysaster

Судя по всему, ваш сервер emacs создает файл своего сервера в месте, где emacsclientwне может найти. Чтобы продолжить отладку проблемы, вы можете запустить emacs и убедиться, что указанный файл сервера EMACS_SERVER_FILEдействительно создан.

В моей настройке единственная переменная окружения, которую я использую, это HOME. Пользовательская переменная server-nameостается со значением по умолчанию (то есть server). Это вызывает $HOME/.emacs.d/server/serverсоздание файла при запуске emacs. А так как это местоположение по умолчанию, emacsclientw.exeон может найти этот файл и определить, как общаться с emacs.

Я быстро взглянул на server.elсвою систему и ничего не увидел EMACS_SERVER_FILEв ней. Если вы используете нестандартное местоположение, это может быть причиной ваших проблем.

Похожие вопросы