У меня такая же проблема. В настоящее время я использовал следующее решение.
Добавьте в ваш файл .emacs:
(load "server") (unless (server-running-p) (server-start))
Решение приходит из Как запустить сервер Emacs, только если он не запущен?
У меня есть (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.
Для меня это звучит так, как будто первый экземпляр запускает сервер, но второй не подключается к нему, а пытается снова запустить сервер.
В чем может быть проблема?
У меня такая же проблема. В настоящее время я использовал следующее решение.
Добавьте в ваш файл .emacs:
(load "server") (unless (server-running-p) (server-start))
Решение приходит из Как запустить сервер Emacs, только если он не запущен?
Вы должны начать Emacs, используя
runemacs.exe
После этого вы можете использовать
emacsclientw.exe test.txt
Если у вас уже есть (server-start)
файл .emacs, вы можете посмотреть The Emacs Wiki. В нем есть хорошая информация об использовании emacsclient под MS Windows .
Судя по всему, ваш сервер emacs создает файл своего сервера в месте, где emacsclientw
не может найти. Чтобы продолжить отладку проблемы, вы можете запустить emacs и убедиться, что указанный файл сервера EMACS_SERVER_FILE
действительно создан.
В моей настройке единственная переменная окружения, которую я использую, это HOME
. Пользовательская переменная server-name
остается со значением по умолчанию (то есть server
). Это вызывает $HOME/.emacs.d/server/server
создание файла при запуске emacs. А так как это местоположение по умолчанию, emacsclientw.exe
он может найти этот файл и определить, как общаться с emacs.
Я быстро взглянул на server.el
свою систему и ничего не увидел EMACS_SERVER_FILE
в ней. Если вы используете нестандартное местоположение, это может быть причиной ваших проблем.