]> git.eshelyaron.com Git - emacs.git/commitdiff
Add flyspell option to ignore duplicates of different case
authorReuben Thomas <rrt@sc3d.org>
Mon, 10 Sep 2018 14:06:02 +0000 (15:06 +0100)
committerReuben Thomas <rrt@sc3d.org>
Mon, 10 Sep 2018 14:06:02 +0000 (15:06 +0100)
* lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Add
  option.

etc/NEWS
lisp/textmodes/flyspell.el

index 9ab26222ec2911eaaf0187e1e86b33febd39d2ec..fa93112c91ddc70f9ae6c7fa9142e49e19a1843d 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -231,6 +231,13 @@ characters that quote text "like this" are replaced by double
 typographic quotes, “like this”, in text modes, and in comments in
 non-text modes.
 
+---
+** New user option 'flyspell-case-fold-duplications'.
+This option controls whether Flyspell mode considers consecutive words
+to be duplicates if they are not in the same case.  If non-nil, the
+default, words are considered to be duplicates even if their letters'
+case does not match.
+
 ---
 ** 'write-abbrev-file' now includes special properties.
 'write-abbrev-file' now writes special properties like ':case-fixed'
index f6a809b18eee3e65e04c15fa78aa11277d55bbc7..e5a7639e20492185a29fb755ec0d6eabc7379661 100644 (file)
@@ -68,6 +68,12 @@ Detection of repeated words is not implemented in
   :group 'flyspell
   :type 'boolean)
 
+(defcustom flyspell-case-fold-duplications t
+  "Non-nil means Flyspell matches duplicate words case-insensitively."
+  :group 'flyspell
+  :type 'boolean
+  :version 27.1)
+
 (defcustom flyspell-mark-duplications-exceptions
   '((nil . ("that" "had")) ; Common defaults for English.
     ("\\`francais" . ("nous" "vous")))
@@ -1154,7 +1160,8 @@ spell-check."
                              (- (save-excursion
                                    (skip-chars-backward " \t\n\f")))))
                          (p (when (>= bound (point-min))
-                              (flyspell-word-search-backward word bound t))))
+                              (flyspell-word-search-backward
+                                word bound flyspell-case-fold-duplications))))
                     (and p (/= p start)))))
            ;; yes, this is a doublon
            (flyspell-highlight-incorrect-region start end 'doublon)