# HG changeset patch # User Chong Yidong # Date 1158419147 0 # Node ID d506450278304d04d139a9873d3ef232e898d9d2 # Parent 32eea9088623ccbfa824eabc9e3ccf0e93144f81 * textmodes/flyspell.el (flyspell-check-region-doublons): New function to detect duplicated words. (flyspell-large-region): Use it. diff -r 32eea9088623 -r d50645027830 lisp/ChangeLog --- a/lisp/ChangeLog Sat Sep 16 14:19:31 2006 +0000 +++ b/lisp/ChangeLog Sat Sep 16 15:05:47 2006 +0000 @@ -1,3 +1,9 @@ +2006-09-16 Agustin Martin + + * textmodes/flyspell.el (flyspell-check-region-doublons): New + function to detect duplicated words. + (flyspell-large-region): Use it. + 2006-09-16 Chong Yidong * simple.el (line-move-to-column): Revert 2006-08-03 change. diff -r 32eea9088623 -r d50645027830 lisp/textmodes/flyspell.el --- a/lisp/textmodes/flyspell.el Sat Sep 16 14:19:31 2006 +0000 +++ b/lisp/textmodes/flyspell.el Sat Sep 16 15:05:47 2006 +0000 @@ -1460,6 +1460,22 @@ (while (re-search-forward regexp nil t) (delete-region (match-beginning 0) (match-end 0))))))))) +;;* --------------------------------------------------------------- +;;* flyspell-check-region-doublons +;;* --------------------------------------------------------------- +(defun flyspell-check-region-doublons (beg end) + "Check for adjacent duplicated words (doublons) in the given region." + (save-excursion + (goto-char beg) + (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" + end 'move)) + (flyspell-word) + (backward-word 1)) + (flyspell-word))) + ;;*---------------------------------------------------------------------*/ ;;* flyspell-large-region ... */ ;;*---------------------------------------------------------------------*/ @@ -1504,7 +1520,8 @@ (progn (flyspell-process-localwords buffer) (with-current-buffer curbuf - (flyspell-delete-region-overlays beg end)) + (flyspell-delete-region-overlays beg end) + (flyspell-check-region-doublons beg end)) (flyspell-external-point-words)) (error "Can't check region...")))))