4
如何在与终端相关的进程结束时自动终止终端缓冲区。如何自动终止Emacs中终端出口的缓冲区
如何在与终端相关的进程结束时自动终止终端缓冲区。如何自动终止Emacs中终端出口的缓冲区
我发现我可以使用过程哨兵对于使用term-exec-hook
(add-hook 'term-exec-hook (lambda()
(let* ((buff (current-buffer))
(proc (get-buffer-process buff)))
(lexical-let ((buff buff))
(set-process-sentinel proc (lambda (process event)
(if (string= event "finished\n")
(kill-buffer buff))))))))
我发现了更简单的方法对其进行设置,确定了一个建议term-handle-exit
(defadvice term-handle-exit
(after term-kill-buffer-on-exit activate)
(kill-buffer))