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

From: Agustin Martin <[email-masked]>
Date: Mon, 30 Jul 2018 18:43:03 +0200

On Mon, Jul 30, 2018 at 07:29:06PM +0300, Artem Boldarev wrote:
> Hi,
> 
> Thanks, Agustin, this is an interesting find! I have altered my
> configuration as you suggested, and indeed I wasn't able to trigger the bug
> any more.
> 
> https://chaoticlab.io/pub/flyspell-bug/flyspell-bug-no-explicit-chars.png
> 
> Anyway, I am pretty confident that altering the configuration does not
> resolve the bug, but rather hides it. I think so because of the following
> reasons:
> 
> 1. I do not see why my previous configuration, which uses explicitly
> specified characters, is wrong. It works fine when spell checking as you
> type and for smaller buffers and regions (when flyspell-large-region does
> not get called).

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.

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,

-- 
Agustin