branch: elpa/eat commit f912425fb4738f7d562c5b1371672f3f964aee69 Author: Akib Azmain Turja <a...@disroot.org> Commit: Akib Azmain Turja <a...@disroot.org>
Fix handling non-interactive processes in Eshell * eat.el (eat--eshell-adjust-make-process-args): Check whether the process going to be run will be interactive process. * eat.el: Declare function 'eshell-interactive-output-p'.a --- eat.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eat.el b/eat.el index 042d15e9e8..dbeb80f4d7 100644 --- a/eat.el +++ b/eat.el @@ -5522,6 +5522,8 @@ PROGRAM can be a shell command." (eshell-sentinel process message)) (declare-function eshell-search-path "esh-ext" (name)) +(declare-function eshell-interactive-output-p "esh-io" + (&optional index handles)) (defvar eshell-current-subjob-p) ; In `esh-proc'. ;; HACK: This is a dirty hack, it can break easily. @@ -5532,6 +5534,7 @@ Call FN with COMMAND and ARGS, and whenever `make-process' is called, modify its argument to change the filter, the sentinel and invoke `stty' from the new process." (if (or eshell-current-subjob-p + (not (eshell-interactive-output-p)) (and (not (eshell-search-path "stty")) (pcase eat-eshell-fallback-if-stty-not-available ('nil nil)