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

From: Agustin Martin <[email-masked]>
Date: Fri, 27 Jul 2018 18:00:48 +0200

On Thu, Jul 26, 2018 at 12:44:26PM +0300, Artem Boldarev wrote:
> 
> Checking large enough buffer with FlySpell leads to the unexpected
> results (at least, when spell checking Russian, but I believe that it is
> possible to reproduce the bug for other languages, at least Ukrainian).
> 
> For example, when checking large enough buffer (large enough to trigger
> flyspell-large-region) I got the following messages in the *Messages*
> buffer:
> 
> Local Ispell dictionary set to ru_RU
> Starting new Ispell process hunspell with ru_RU dictionary...
> Checking region...
> Spell Checking...100% [посимвольно]
> Spell Checking completed.
>  -> смом - 346: word not found
>  -> стостояния - 319: word not found
>  -> рекрсивного - 308: word not found
>  -> универсальнее - 266: word not found
>  -> генериует - 222: word not found
[...]

Hi,

>     (setq ispell-dictionary-alist

You should not set `ispell-dictionary-alist' yourself. If you really need an
entry with special features, add it to `ispell-local-dictionary-alist',
better with an ad-hoc name.

>           '(("en_GB"
>              "[A-Za-z]" "[^A-Za-z]"
>              "[']" nil ("-d en_GB") nil iso-8859-1)
> 
>             ("ru_RU"
>  "[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"
>  "[^АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"
>              "[-]" nil ("-d ru_RU") nil utf-8)

As far as I know hunspell-ru is encoded in koi8-r (at least in Debian
lo-dicts), but you declare it as utf-8. Unless your dict is indeed in utf-8
and declared as such, this may be the problem.

¿What happens if you comment all your "(setq ispell-dictionary-alist ... )"
stuff and just trust the list of available dictionaries provided by Emacs
(Tools/Spellchecking/Change dictionary), selecting ru_RU from it?

Regards,

-- 
Agustin