Mercurial > emacs
changeset 72857:6cd2742162f9
(flyspell-word, flyspell-correct-word)
(flyspell-auto-correct-word): Make ispell-filter local to these functions.
Check that ispell-filter has new stuff before calling ispell-parse-output.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 14 Sep 2006 01:19:38 +0000 |
parents | 6538342aa433 |
children | a9629d84bf9f |
files | lisp/textmodes/flyspell.el |
diffstat | 1 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/flyspell.el Wed Sep 13 22:40:52 2006 +0000 +++ b/lisp/textmodes/flyspell.el Thu Sep 14 01:19:38 2006 +0000 @@ -992,7 +992,7 @@ (flyspell-accept-buffer-local-defs) (let* ((cursor-location (point)) (flyspell-word (flyspell-get-word following)) - start end poss word) + start end poss word ispell-filter) (if (or (eq flyspell-word nil) (and (fboundp flyspell-generic-check-word-predicate) (not (funcall flyspell-generic-check-word-predicate)))) @@ -1050,7 +1050,12 @@ (not (string= "" (car ispell-filter)))))) ;; (ispell-send-string "!\n") ;; back to terse mode. + ;; Remove leading empty element (setq ispell-filter (cdr ispell-filter)) + ;; ispell process should return something after word is sent. + ;; Tag word as valid (i.e., skip) otherwise + (or ispell-filter + (setq ispell-filter '(*))) (if (consp ispell-filter) (setq poss (ispell-parse-output (car ispell-filter)))) (let ((res (cond ((eq poss t) @@ -1830,7 +1835,7 @@ (let ((start (car (cdr word))) (end (car (cdr (cdr word)))) (word (car word)) - poss) + poss ispell-filter) (setq flyspell-auto-correct-word word) ;; now check spelling of word. (ispell-send-string "%\n") ;put in verbose mode @@ -1839,7 +1844,12 @@ (while (progn (accept-process-output ispell-process) (not (string= "" (car ispell-filter))))) + ;; Remove leading empty element (setq ispell-filter (cdr ispell-filter)) + ;; ispell process should return something after word is sent. + ;; Tag word as valid (i.e., skip) otherwise + (or ispell-filter + (setq ispell-filter '(*))) (if (consp ispell-filter) (setq poss (ispell-parse-output (car ispell-filter)))) (cond @@ -1980,7 +1990,7 @@ (let ((start (car (cdr word))) (end (car (cdr (cdr word)))) (word (car word)) - poss) + poss ispell-filter) ;; now check spelling of word. (ispell-send-string "%\n") ;put in verbose mode (ispell-send-string (concat "^" word "\n")) @@ -1988,7 +1998,12 @@ (while (progn (accept-process-output ispell-process) (not (string= "" (car ispell-filter))))) + ;; Remove leading empty element (setq ispell-filter (cdr ispell-filter)) + ;; ispell process should return something after word is sent. + ;; Tag word as valid (i.e., skip) otherwise + (or ispell-filter + (setq ispell-filter '(*))) (if (consp ispell-filter) (setq poss (ispell-parse-output (car ispell-filter)))) (cond