13

我一直在使用 Magit 一段时间,在提交时,它曾经简单地拆分窗口并允许我从同一个 emacs 会话中提交,但我似乎已将此行为更改为以下内容:

现在,当我提交分阶段的更改时,一个新的 emacs 客户端启动,需要一段时间才能加载,最后让我编写提交消息。然后我运行 Cc Cc 提交。当我关闭这个客户端时,提交就完成了。

如何强制 magit 在同一个 emacs 会话中运行提交,而不是打开一个全新的客户端?

在此处输入图像描述

4

2 回答 2

16

此错误在此处被记录为 github 问题(但未解决):https ://github.com/magit/magit/issues/862

我认为这里的问题是 magit 正在调用“emacsclient”,默认情况下是 /usr/bin/emacsclient。它需要调用与 emacs 打包的 emacsclient 才能正常工作 - 其他 emacsclients(来自 homebrew、macports 等)将不知道如何连接。通常,我们大多数人都会在我们的 shell 启动脚本中使用别名或环境变量来处理这个问题。但是,当您在 shell 之外运行 emacs.app 时,它不会看到这些。通过将其添加到我的 init.el 中,我能够让 git-commit-mode 正常工作:

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

我正在使用 EmacsForMacOSX 版本,24.3。这对我有用,希望它也能为你解决。

于 2013-10-09T07:05:33.970 回答
1

我们最近对magit. 提交模式发生了很大变化,并产生了很多怪癖。当前调查的问题以及当前已知的修复程序都列在存储库的已知问题中。你的问题就是其中之一。

于 2013-09-17T17:35:00.287 回答