changeset 66482:340b9157f283

(flyspell-large-region): Pass -t if Tex file. (flyspell-external-point-words): Error if misspelled word is not found. Set flyspell-large-region-beg at end of word.
author Richard M. Stallman <rms@gnu.org>
date Fri, 28 Oct 2005 04:22:19 +0000
parents 2c079383436e
children 83b35e671617
files lisp/textmodes/flyspell.el
diffstat 1 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/flyspell.el	Fri Oct 28 03:52:38 2005 +0000
+++ b/lisp/textmodes/flyspell.el	Fri Oct 28 04:22:19 2005 +0000
@@ -1333,7 +1333,7 @@
     ;; Loop over incorrect words.
     (while (re-search-forward "\\([^\n]+\\)\n" (point-max) t)
       ;; Bind WORD to the next one.
-      (let ((word (match-string 1)))
+      (let ((word (match-string 1)) (wordpos (point)))
 	;; Here there used to be code to see if WORD is the same
 	;; as the previous iteration, and count the number of consecutive
 	;; identical words, and the loop below would search for that many.
@@ -1350,11 +1350,15 @@
 	(with-current-buffer flyspell-large-region-buffer
 	  (goto-char flyspell-large-region-beg)
 	  (let ((keep t))
-	    (while (and keep
-			(search-forward word flyspell-large-region-end t))
-	      (goto-char (- (point) 1))
-	      (setq keep (flyspell-word)))
-	    (setq flyspell-large-region-beg (point))))))
+	    (while keep
+	      (if (search-forward word
+				     flyspell-large-region-end t)
+		  (progn
+		    (setq flyspell-large-region-beg (point))
+		    (goto-char (- (point) 1))
+		    (setq keep (flyspell-word)))
+		(error "Bug: misspelled word `%s' (output pos %d) not found in buffer"
+		       word wordpos)))))))
     ;; we are done
     (if flyspell-issue-message-flag (message "Spell Checking completed.")))
   ;; Kill and forget the buffer with the list of incorrect words.
@@ -1389,6 +1393,8 @@
 		      (if ispell-local-dictionary
 			  (setq ispell-dictionary ispell-local-dictionary))
 		      (setq args (ispell-get-ispell-args))
+		      (if (eq ispell-parser 'tex)
+			  (setq args (cons "-t" args)))
 		      (if ispell-dictionary ; use specified dictionary
 			  (setq args
 				(append (list "-d" ispell-dictionary) args)))