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
This commit is contained in:
parent
e597bcfbb2
commit
f912425fb4
1 changed files with 3 additions and 0 deletions
3
eat.el
3
eat.el
|
@ -5522,6 +5522,8 @@ PROGRAM can be a shell command."
|
||||||
(eshell-sentinel process message))
|
(eshell-sentinel process message))
|
||||||
|
|
||||||
(declare-function eshell-search-path "esh-ext" (name))
|
(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'.
|
(defvar eshell-current-subjob-p) ; In `esh-proc'.
|
||||||
|
|
||||||
;; HACK: This is a dirty hack, it can break easily.
|
;; 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
|
modify its argument to change the filter, the sentinel and invoke
|
||||||
`stty' from the new process."
|
`stty' from the new process."
|
||||||
(if (or eshell-current-subjob-p
|
(if (or eshell-current-subjob-p
|
||||||
|
(not (eshell-interactive-output-p))
|
||||||
(and (not (eshell-search-path "stty"))
|
(and (not (eshell-search-path "stty"))
|
||||||
(pcase eat-eshell-fallback-if-stty-not-available
|
(pcase eat-eshell-fallback-if-stty-not-available
|
||||||
('nil nil)
|
('nil nil)
|
||||||
|
|
Loading…
Add table
Reference in a new issue