Hi, Comint can stall emacs while waiting for subproces output. I attach a trivial patch. Here is a short explanation. First comint calls comint-input-sender ╭──────── #1842 ─ /home/vitoshka/TVC/emacs/lisp/comint.el ── │ (let ((comint-input-sender-no-newline no-newline)) │ (funcall comint-input-sender proc input)) ╰──────── #1843 ─ Then, if process echoes, comint first waits for process output: ╭──────── #1850 ─ /home/vitoshka/TVC/emacs/lisp/comint.el ── │ (while (and (accept-process-output proc) │ (> (+ comint-last-input-end echo-len) │ (point-max)) ╰──────── #1852 ─ The problem is that, occasionally, comint-input-sender might be a non-trivial function and could take care of process output itself. Thus, accept-process-output will wait for nonexistent output, and stall emacs. The patch just reverts the order in the (and ...) above. Thanks, Vitalie