Subject: Re: bug#50241: flyspell doesn't work with multiple dictionaries

From: Konstantin Kharlamov <[email-masked]>
Date: Sat, 28 Aug 2021 23:42:08 +0300

Okay, I finally found the working combination, it is:

    (progn
      (require 'ispell)
      (setq ispell-program-name "hunspell")
      (ispell-set-spellchecker-params)
      (ispell-hunspell-add-multi-dic "ru_RU,en_US")
      (ispell-change-dictionary "ru_RU,en_US")
      (flyspell-mode 1)
      )

So, the magical function is `(ispell-set-spellchecker-params)`. Judging by its description, it has to be called before any ispell usage.

I can probably call it manually, but I presume the behaviour needs fixing.

I think perhaps, should ispell have a global variable like `ispell-initialized`, which then would be set in (ispell-set-spellchecker-params). And then the variable would be checked in `ispell-hunspell-add-multi-dic`, and if it wasn't set, throw an exception "Ispell wasn't initialized. Please call `(ispell-set-spellchecker-params)'"?