From: Ian W Date: Sat, 4 Sep 2021 03:53:24 +0000 (-0700) Subject: Fix error handling in 'ispell-init-process' X-Git-Tag: emacs-28.0.90~1170 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ba84ec8bd93b931be975ab8a8a7f0d7a2df7054a;p=emacs.git Fix error handling in 'ispell-init-process' * lisp/textmodes/ispell.el (ispell-init-process): When Ispell initialization reports an error, call 'ispell-accept-output' only if the Ispell process is still alive. (Bug#50370) Copyright-paperwork-exempt: yes --- diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index c2f6b35df89..3b9f1d35129 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -2923,7 +2923,14 @@ Keeps argument list for future Ispell invocations for no async support." ;; But first wait to see if some more output is going to arrive. ;; Otherwise we get cool errors like "Can't open ". (sleep-for 1) - (ispell-accept-output 3) + ;; Only call `ispell-accept-output' if the Ispell process + ;; is alive, to avoid showing an unhelpful error message + ;; about a missing process, instead of the error which + ;; reports why the Ispell process died. + (when (if ispell-async-processp + (process-live-p ispell-process) + ispell-process) + (ispell-accept-output 3)) (error "%s" (mapconcat #'identity ispell-filter "\n")))) (setq ispell-filter nil) ; Discard version ID line (let ((extended-char-mode (ispell-get-extended-character-mode)))