branch: elpa/eat
commit f912425fb4738f7d562c5b1371672f3f964aee69
Author: Akib Azmain Turja <[email protected]>
Commit: Akib Azmain Turja <[email protected]>
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)