Emacs--`bzr`的`start process`未将状态输出到缓冲区
在本机OSX Terminal.app中运行Emacs--`bzr`的`start process`未将状态输出到缓冲区,emacs,bazaar,Emacs,Bazaar,在本机OSX Terminal.app中运行bzr时,我看到的状态如下: 32376kB 2kB/s / Build phase:Adding file contents 1282/3629 然而,当运行启动进程时,我没有看到任何状态被输出到缓冲区。进程运行正常,只是在结束前没有可见的输出——只有两(2)行: Created new stacked branch referring to bzr://bzr.savannah.gnu.org/emacs/trunk/. Process
bzr
时,我看到的状态如下:
32376kB 2kB/s / Build phase:Adding file contents 1282/3629
然而,当运行启动进程时,我没有看到任何状态被输出到缓冲区。进程运行正常,只是在结束前没有可见的输出——只有两(2)行:
Created new stacked branch referring to bzr://bzr.savannah.gnu.org/emacs/trunk/.
Process bzr-process finished
Emacs是否提供了另一个监听功能,可以通过bzr
捕获上述状态输出,以便我查看进度
(start-process
"bzr-process"
"*bzr-output*"
"/macports/bin/bzr"
"branch"
"--stacked"
"bzr://bzr.savannah.gnu.org/emacs/trunk"
"/Users/HOME/Desktop/emacs-trunk")
也许您可以让bzr通过在tty中运行进程而不是通过管道来为您提供动态状态输出。为此,只需让bind处理连接类型,如下所示:
(let ((process-connection-type t))
(start-process ...))
但是IIRC这个值已经默认为t,所以问题可能在别处。也许bzr会检查$TERM,看看它是否能够正确地更新输出。也许你可以试试
(let ((process-environment (cons "TERM=xterm" process-environment)))
(start-process ...))
谢谢你的建议--我刚刚尝试过,但结果是一样的--也就是说,当进程完成时,输出缓冲区中总共只打印了两行,但在进程挂起时没有打印正在进行的状态。也许你可以尝试一下我在回答中添加的术语=xterm thingy?