Subject: bug#69703: Ispell process restarted too often

From: Juri Linkov <[email-masked]>
Date: Tue, 12 Mar 2024 19:30:06 +0200

close 69703 30.0.50
thanks

>> 1. Create a pool of Ispell processes.
>>
>> 2. Instead of killing Ispell processes
>>    just get the process from the pool
>>    by the ispell program name and its dictionary arguments.
>
> This assumes that the number of different personal dictionaries is
> much smaller than the number of buffers under flyspell-mode.  Since I
> don't quite understand why you need so many personal dictionaries
> (presumably for the same language?), I cannot say whether this
> assumption is reasonable or scalable.  In general, if we want to
> support buffer-local speller processes, we could have hundreds of
> speller processes running on the system, which is not very nice, I
> think.

I meant the case of per-project dictionaries with each project having
own .hunspell file, on the assumption that a set of identifiers in the
project-local dictionary is unique to each project.  This implies one
Isearch process for every project, but not for every buffer.

> The current design is generally based on the following assumptions:
>
>   . a speller process is mostly needed in a single buffer at a time,
>     the buffer where the user is typing
>   . a speller process needs to be restarted only if you change the
>     dictionary, which is done when you need to spell-check a different
>     language
>   . the number of languages for which the user needs spell-checking is
>     small (or even spell-checked by a single speller, if that is
>     Hunspell)

After fixing the project-mode-line-format bug, I see no more problems
when switching between projects with local dictionaries restarts
the Ispell process on typing, so I'm going to close this request.