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'.
(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)))))