Flyspell marks for example the second "AND" in "an AND split and AND join" as a duplicate. This seems to be deliberate: in line 1153 of flyspell.el (on current emacs-26 branch) flyspell-word-search-backward is called with IGNORE-CASE set to t. I don't understand this: if it's not the same case, it's probably deliberate, no? I checked that simply removing this `t' argument makes doublon detection work as I'd expect: "AND AND", "and and" and "And And" are all marked as doublons, but anything that's not the same case isn't. I'm using Emacs 26.1. -- https://rrt.sc3d.org