Subject: bug#32280: 26.1; FLYSPELL-BUFFER sometimes misbehaves for some input in a large enough buffer

From: Artem Boldarev <[email-masked]>
Date: Mon, 30 Jul 2018 21:12:36 +0300

I have tried to do as you suggested. The result is the same as in my 
previous letter.
> Hi,
>
> I'd suggest you to try lines below
>
> [A-Za-zАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]
> [^A-Za-zАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]
>
> with the latin chars A-Za-z added. ¿Does it work?
>   
>> 2. Without the fix, the above-discussed inconsistency exists between how
>> flyspell works when you use it for:
>>
>> a) spell checking as you type and checking smaller regions of text (when
>> flyspell-small-region gets called).
>> b) spell checking large regions of text.

Yes indeed, it is so inefficient that checking a small region of text is 
more efficient with the flyspell-large-region most of the time (you can 
alter this behaviour by changing the flyspell-large-region variable). It 
checks spelling word by word - this is the source of its inefficiency.

> AFAIK `flyspell-small-region' is very inefficient in terms of time for large
> buffers, so `flyspell-large-region' uses a completely different approach for
> those large buffers. It first looks for a list of possible misspellings and
> then searches for them sequentially in the text, running flyspell-word on
> each one.
>
> Regards,
>