我有一些我想从 Emacs 使用的控制台命令,即ag. 它在CMD或Far Manager中效果很好。但是,当我从 Emacs 使用它时,shell或者eshell我遇到了一个可能是(虽然几率很小)ag特定的问题。
当我运行shell然后运行ag时,它会立即返回结果(帮助屏幕)。如果我运行它在目录中的文件中搜索一行 as ag needle,它会挂起并且不返回任何内容。
如果我在它ag needle .立即返回结果时运行它,但是在这种情况下缺少文件名和行号,--color并且-nogroup选项不会影响打印结果。
当我通过shell-command它运行它时,它会返回正确的结果(带有文件名和行号)。eshell有同样的问题。
我需要做什么才能使这些命令在shell和/或中工作eshell?
在这个问题的答案中已经指出,Win32 存在子进程缓冲问题。有没有办法解决它?