我一直在使用Magit一段时间,并且在提交时,它过去只是拆分窗口并允许我在同一个emacs会话中提交,但我似乎已将此行为更改为以下内容:
现在,当我提交我的分阶段更改时,一个新的emacs客户端启动,需要一段时间才能加载,最后让我写下我的提交消息。然后我运行C-c C-c来提交。当我关闭这个客户端时,提交就会完成。
如何强制magit在同一个emacs会话中运行提交而不打开一个全新的客户端?
答案 0 :(得分:16)
此错误在此处作为github问题注明(但未解决):https://github.com/magit/magit/issues/862
我认为这里的问题是magit正在调用' emacsclient',默认情况下是/ usr / bin / emacsclient。它需要调用与emacs一起打包的emacsclient才能正常工作 - 其他emacsclients(来自自制软件,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。这对我有用,希望它也可以帮到你。
答案 1 :(得分:1)
我们最近对magit
做了一些重大更改。提交模式已经发生了很大的变化,并产生了许多怪癖。目前调查的问题以及当前已知的修复程序列在存储库的Known Issues中。你的问题就是其中之一。