我已经尝试过一些控制台应用程序,例如vim
、mg
、emacs
、nano
和joe
作为git
编辑器,并且它们似乎都没有像这样“间接”调用的任何问题(我不知道将编辑器启动为编辑器的实际术语)子进程,然后给予其控制权)。 ,在我尝试过的编辑器中是独一无二的,当通过或间接启动它时,jed
该消息将永远挂起。我检查了该文件,它就在那里,它是作为OS X 上 Homebrew 上公式的一部分安装的。loading /usr/local/Cellar/jed/0.99-19/jed/lib/emacs.sl
git commit
ack <search term> --pager='jed'
jed
我尝试过在 和 下运行git commit
和,并且两者都表现出相同的行为。ack ... --pager='jed'
bash
zsh
我试图了解这个问题,以便我可以以不同的方式配置我的终端/shell,或者如果失败,请提交错误报告。当编辑器从另一个程序启动并控制终端时,到底发生了什么?由于几个软件中的一个可能导致这种奇怪的行为,我将如何确定哪个组件以非标准方式运行?
答案1
这似乎是 jed “当前”(*) 自制版本 (0.99.19/Unix) 中的一个已知错误。
尝试卸载 jed 并使用以下命令安装最新的开发/预版本:
brew uninstall jed
brew install --HEAD jed
这修复了我在 MacOS Ventura 13.5.2(jed 版本 pre0.99.20-180/Unix)上的 git/hang 行为。
(*) 这个问题来自 2016 年,到 2023 年,该错误仍然存在于当前(自制)版本中。