]> git.eshelyaron.com Git - emacs.git/commitdiff
Do not ispell-kill-ispell over and over when spellchecking minibuffer contents.
authorAgustín Martín <agustin.martin@hispalinux.es>
Thu, 13 May 2010 10:36:03 +0000 (12:36 +0200)
committerAgustín Martín <agustin.martin@hispalinux.es>
Thu, 13 May 2010 10:36:03 +0000 (12:36 +0200)
* ispell.el (ispell-init-process): Do not kill ispell process
everytime when spellchecking from the minibuffer (bug#6143).

lisp/ChangeLog
lisp/textmodes/ispell.el

index 4b73a4fd6dfd07e2a25d7b48dadd8cd5e79bed13..8c4b4d5c40dbf425e102f26903b1bbc2b4d0427f 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-13  Agustín Martín  <agustin.martin@hispalinux.es>
+
+       * ispell.el (ispell-init-process): Do not kill ispell process
+       everytime when spellchecking from the minibuffer (bug#6143).
+
 2010-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * progmodes/sh-script.el (sh-mode): Use define-derived-mode.
index c88b32f64cc324bc3fb1aafe777004e754017052..94eb721e4cf7a0356bf94557a48619e40174ea8b 100644 (file)
@@ -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