【发布时间】:2012-09-27 15:23:10
【问题描述】:
当与之关联的进程结束时,如何自动终止终端缓冲区。
【问题讨论】:
当与之关联的进程结束时,如何自动终止终端缓冲区。
【问题讨论】:
我找到了更简单的方法,在term-handle-exit上定义一个建议
(defadvice term-handle-exit
(after term-kill-buffer-on-exit activate)
(kill-buffer))
【讨论】:
我发现我可以为此使用进程哨兵并使用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))))))))
【讨论】: