Use 'kill-process' as a fallback when a pipe gets broken in Eshell

This is better than 'delete-process' since it will ensure that any
stderr pipe-processes get stopped as well (bug#72117).

* lisp/eshell/esh-proc.el (eshell-insertion-filter): Use 'kill-process'
instead of 'delete-process'.
This commit is contained in:
Jim Porter 2024-07-14 16:51:43 -07:00
parent 367c0490a8
commit 469bc7c968

View file

@ -483,7 +483,7 @@ output."
;; here. However, remote processes don't currently
;; support that, and not all systems have SIGPIPE in
;; the first place (e.g. MS Windows). In these
;; cases, just delete the process; this is
;; cases, just kill the process; this is
;; reasonably close to the right behavior, since the
;; default action for SIGPIPE is to terminate the
;; process. For use cases where SIGPIPE is truly
@ -493,7 +493,7 @@ output."
(eshell-pipe-broken
(if (or (process-get proc 'remote-pid)
(eq system-type 'windows-nt))
(delete-process proc)
(kill-process proc)
(signal-process proc 'SIGPIPE))))))
(process-put proc :eshell-busy nil))))))