在本机OSX Terminal.app中运行bzr
时,我看到状态如下:
32376kB 2kB/s / Build phase:Adding file contents 1282/3629
但是,当运行start-process
时,我看到没有状态输出到缓冲区。该过程运行正常,直到结束时没有可见的输出 - 仅两(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")
答案 0 :(得分:3)
也许你可以通过在tty而不是通过管道运行进程来让bzr为你提供即时状态输出。为此,只需将process-connection-type
绑定为:
(let ((process-connection-type t))
(start-process ...))
但是IIRC这个值已经默认为t,所以问题可能在其他地方。也许bzr检查$ TERM以查看它是否可以正确更新输出。所以也许你可以试试
(let ((process-environment (cons "TERM=xterm" process-environment)))
(start-process ...))