Emacs--`bzr`的`start process`未将状态输出到缓冲区

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

在本机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-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?