Subject: bug#19229: ispell on Windows

From: Alan Third <[email-masked]>
Date: Wed, 20 May 2015 21:34:51 +0100

On 20 May 2015 at 20:21, Eli Zaretskii <[email-masked]> wrote:
> I advise against that "solution", because this value of LANG might
> confuse other Windows programs if they are invoked by Emacs, and even
> Emacs itself, where its features depend on the locale.

Seems fair.

> Instead, I suggest to copy en_GB.* dictionary files that Hunspell uses
> to corresponding ENG.* files.

Doesn't work in OS X, but I'll give it a go in Windows tomorrow.

Annoyingly hunspell on it's own is perfectly capable of choosing the
right dictionary, and if I use aspell instead of hunspell I just need
to set:

  (setq ispell-dictionary "en_GB")

in my init.el and it works without any further issues. On OS X at
least, I'll have to wait until tomorrow to try aspell in Windows. If I
can get it working, my memory is that it's awkward which is the reason
why I was trying hunspell. Well, that and the rumour that hunspell can
handle UTF-8 apostrophes when aspell can't.

> Alternatively, say something like this in your ~/.emacs:
>
>   (ispell-change-dictionary "en_GB" t)
>
> which re-invokes Hunspell with the en_GB dictionary without messing
> with your LANG variable.

Unfortunately this doesn't work, I get our old friend:

  ispell-phaf: No matching entry for nil.

And if I run it a second time I get:

  (error "Undefined dictionary: en_GB")

I don't really understand why because at this stage
ispell-hunspell-dict-paths-alist is set to (on OS X, but I found the
same thing on Windows):

  (("british" "/Library/Spelling/en_GB.aff")
   ("en_GB" "/Library/Spelling/en_GB.aff"))

so clearly the hunspell auto-configuration stuff is working, but
something somewhere isn't joining up.

I've given up on spell checking in emacs several times in the past and
this is the closest I've ever got to getting it working across all the
platforms I'm using.
-- 
Alan Third