summaryrefslogtreecommitdiff
path: root/lisp/textmodes/ispell.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/textmodes/ispell.el')
-rw-r--r--lisp/textmodes/ispell.el17
1 files changed, 14 insertions, 3 deletions
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index c88b32f64cc..94eb721e4cf 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -2630,11 +2630,22 @@ Keeps argument list for future ispell invocations for no async support."
(or ispell-local-dictionary ispell-dictionary "default"))
(sit-for 0)
(setq ispell-library-directory (ispell-check-version)
- ispell-process-directory default-directory
ispell-process (ispell-start-process)
ispell-filter nil
- ispell-filter-continue nil
- ispell-process-buffer-name (buffer-name))
+ ispell-filter-continue nil)
+ ;; When spellchecking minibuffer contents, make sure ispell process
+ ;; is not restarted every time the minibuffer is killed.
+ (if (window-minibuffer-p)
+ (if (fboundp 'minibuffer-selected-window)
+ ;; Assign ispell process to parent buffer
+ (setq ispell-process-directory default-directory
+ ispell-process-buffer-name (window-buffer (minibuffer-selected-window)))
+ ;; Force `ispell-process-directory' to $HOME and use a dummy name
+ (setq ispell-process-directory (expand-file-name "~/")
+ ispell-process-buffer-name " * Minibuffer-has-spellcheck-enabled"))
+ ;; Not in a minibuffer
+ (setq ispell-process-directory default-directory
+ ispell-process-buffer-name (buffer-name)))
(if ispell-async-processp
(set-process-filter ispell-process 'ispell-filter))
;; protect against bogus binding of `enable-multibyte-characters' in XEmacs