From: Jim Porter Date: Mon, 21 Feb 2022 20:14:34 +0000 (-0800) Subject: Ignore 'eshell-broken-pipe' error in 'eshell-sentinel' X-Git-Tag: emacs-29.0.90~2141 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=76fcfe1eb1b6b8086cb58966801d2509fd55d9f9;p=emacs.git Ignore 'eshell-broken-pipe' error in 'eshell-sentinel' This can happen if 'eshell-sentinel' tries to write output to another process, but that process has already terminated. * lisp/eshell/esh-proc.el (eshell-sentinel): Use 'ignore-error' instead of 'unwind-protect'. --- diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index ed37de85f7a..d7d22d2a9ef 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el @@ -435,12 +435,12 @@ PROC is the process that's exiting. STRING is the exit message." (lambda () (if (nth 4 entry) (run-at-time 0 nil finish-io) - (unwind-protect - (when str - (eshell-output-object - str nil handles)) - (eshell-close-handles - status 'nil handles)))))) + (when str + (ignore-error 'eshell-pipe-broken + (eshell-output-object + str nil handles))) + (eshell-close-handles + status 'nil handles))))) (funcall finish-io))))) (eshell-remove-process-entry entry)))) (eshell-kill-process-function proc string)))))