Коммит Emacs Magit открывает новый клиент Emacs

Я использую Magit некоторое время, и при фиксации он просто разделял окно и позволял мне фиксировать из того же сеанса emacs, но я, кажется, изменил это поведение на следующее:

Теперь, когда я фиксирую свои поэтапные изменения, запускается новый клиент emacs, который загружается некоторое время, наконец, позволяя мне написать сообщение о коммите. Затем я запускаю C-c C-c для фиксации. Коммит проходит, когда я закрываю этот клиент.

Как заставить magit выполнить фиксацию в том же сеансе emacs и НЕ открывать совершенно новый клиент?

введите здесь описание изображения


person FellyTone84    schedule 17.09.2013    source источник
comment
Это export VISUAL=emacsclient в ~/.bashrc в Linux. Может быть, в OS X есть что-то подобное.   -  person abo-abo    schedule 17.09.2013


Ответы (2)


Эта ошибка отмечена (но не решена) как проблема github здесь: https://github.com/magit/magit/issues/862

Я думаю, проблема здесь в том, что magit вызывает «emacsclient», который по умолчанию — /usr/bin/emacsclient. Для правильной работы ему необходимо вызвать emacsclient, который упакован с emacs - другие emacsclient (из доморощенного, macports и т. д.) не будут знать, как подключиться. Обычно большинство из нас заботятся об этом с помощью псевдонима или переменной среды в сценариях запуска оболочки. Однако, когда вы запускаете emacs.app вне оболочки, он их не увидит. Мне удалось заставить git-commit-mode работать правильно, добавив это в мой init.el:

(set-variable 'magit-emacsclient-executable "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient")

Я использую сборку EmacsForMacOSX, 24.3. Это сработало для меня, надеюсь, это исправит это для вас.

person Anton I. Sipos    schedule 09.10.2013
comment
Это устранило проблему, с которой я столкнулся. Я скачал свою копию Emacs с Homebrew, поэтому мой путь к emacsclient выглядит так: (set-variable 'magit-emacsclient-executable "/usr/local/Cellar/emacs/24.3/bin/emacsclient") - person FellyTone84; 10.10.2013
comment
Спасибо Спасибо. Поначалу это немного раздражало. Затем это стало убийцей производительности. Ваше исправление взлома ^ H ^ H ^ H ^ H восстановило здравомыслие на моем рабочем столе. Спасибо. - person Shentonfreude; 27.11.2013