]> git.eshelyaron.com Git - emacs.git/commitdiff
* textmodes/flyspell.el (flyspell-word): Skip past all previous
authorChong Yidong <cyd@stupidchicken.com>
Sun, 22 Oct 2006 21:29:33 +0000 (21:29 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sun, 22 Oct 2006 21:29:33 +0000 (21:29 +0000)
whitespace when checking doublons.
(flyspell-check-region-doublons): Fix doublon regexp.
(flyspell-highlight-incorrect-region): Highlight doublons using
flyspell-duplicate face.

lisp/ChangeLog
lisp/textmodes/flyspell.el

index ba5843541a43a842dd2904f6562de909ef394f72..b92bf13b0c381057c3917329f80bd80c18cb7191 100644 (file)
@@ -1,5 +1,11 @@
 2006-10-22  martin rudalics  <rudalics@gmx.at>
 
+       * textmodes/flyspell.el (flyspell-word): Skip past all previous
+       whitespace when checking doublons.
+       (flyspell-check-region-doublons): Fix doublon regexp.
+       (flyspell-highlight-incorrect-region): Highlight doublons using
+       flyspell-duplicate face.
+
        * progmodes/cperl-mode.el (cperl-invalid-face): Fix defcustom.
 
 2006-10-22  John Wiegley  <johnw@newartisans.com>
index e7b95c9619d576ab012b5a251e170ce0489d831c..e452716d83d4e605f5a5fcfd841130d2cde8d4d5 100644 (file)
@@ -1011,11 +1011,14 @@ Mostly we check word delimiters."
                          (not (memq (char-after (1- start)) '(?\} ?\\)))))
                 flyspell-mark-duplications-flag
                 (save-excursion
-                  (goto-char (1- start))
-                  (let ((p (flyspell-word-search-backward
-                            word
-                            (- start (1+ (- end start))))))
-                    (and p (/= p (1- start))))))
+                  (goto-char start)
+                  (let* ((bound
+                          (- start
+                             (- end start)
+                             (- (skip-chars-backward " \t\n\f"))))
+                         (p (when (>= bound (point-min))
+                              (flyspell-word-search-backward word bound))))
+                    (and p (/= p start)))))
            ;; yes, this is a doublon
            (flyspell-highlight-incorrect-region start end 'doublon)
            nil)
@@ -1472,7 +1475,7 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
     (flyspell-word)     ; Make sure current word is checked
     (backward-word 1)
     (while (and (< (point) end)
-               (re-search-forward "\\b\\([^ \n\t]+\\)[ \n\t]+\\1\\b"
+               (re-search-forward "\\(\\w+\\)\\s-+\\1\\>"
                                   end 'move))
       (flyspell-word)
       (backward-word 1))
@@ -1708,7 +1711,9 @@ is itself incorrect, but suspiciously repeated."
            ;; now we can use a new overlay
            (setq flyspell-overlay
                  (make-flyspell-overlay
-                  beg end 'flyspell-incorrect 'highlight)))))))
+                  beg end
+                  (if (eq poss 'doublon) 'flyspell-duplicate 'flyspell-incorrect)
+                  'highlight)))))))
 
 ;;*---------------------------------------------------------------------*/
 ;;*    flyspell-highlight-duplicate-region ...                          */