2008-12-11 2 views
7

Я видел несколько предложений по созданию портативных компьютеров emacs (в Windows). У меня есть это в моем сайте-start.el:Portable Emacs? (Сервер Emacs не работает)

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

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

Я изменил переменную HOME, так что не только мое .emacs Инициализационных файлов (и другие файлы инициализации) считываются, но все порождено Emacs будет оставаться в директорию программы, не требуя, чтобы я указывал путь для всего один за другим.

Ну, это хорошо работает, но сервер emacs не работает; Я получаю сообщение об ошибке «никакое соединение не может быть сделано, потому что целевая машина активно отказалась». Если я не изменю свой домашний var, то работает сервер emacs. Есть ли способ исправить это?

ответ

6

Quoth the Emacs manual:

При запуске сервера Emacs (с помощью вызова сервера запуска), Emacs создает файл с информацией о TCP подключения к серверу: хост, где Emacs запущен, порт, где он находится прослушивания и строки аутентификации. emacsclient использует эту информацию, если ей необходимо подключиться к серверу через TCP. По умолчанию файл находится в каталоге ~/.emacs.d/server /. Вы можете указать имя файла для использования с параметрами `-f file 'или` --server-file = file' или путем установки переменной среды EMACS_SERVER_FILE в имя файла.

Другими словами: где бы вы звоните emacsclient с, вы должны сказать он использовать файл в ${program-dir}/.emacs.d/server/, либо с -f или установив переменную окружения EMACS_SERVER_FILE. (В среде, в которой вы начинаете emacsclient, а не в Emacs.)
[Вы можете также сообщить Emacsclient, чтобы посмотреть в нужном месте с помощью -s для «сокета», но это не работает в Windows. А на Unixes (по крайней мере, на Mac OS X с Aquamacs) сокет будет где-то, как /tmp/emacs501/server (501 мой UID)]

[О, кстати, посмотрите на этот вопрос:. How can I have a portable Emacs? Может быть, что-то вам поможет , или, может быть, вам есть к чему добавить :-)]

0

Существует исходная упаковка версии портативных приложений emacs 23.2 here. Исходные тестовые работы здесь.

Смежные вопросы