Subject: bug#61190: 28.2; ispell personal dictionary location for hunspell engine

From: Eli Zaretskii <[email-masked]>
Date: Wed, 01 Feb 2023 14:30:04 +0200

> From: O G <[email-masked]>
> Date: Wed, 1 Feb 2023 00:58:56 -0500
> Cc: [email-masked]
> 
>  Did you veryfy that Hunspell is invoked by Emacs with the correct -p
>  switch?
> 
> I just checked process explorer and obtained the following command line args:
> 
> c:\msys64\mingw64\bin\hunspell.exe -a "" -d en_US -i UTF-8
> 
> This did not change regardless of what string I used for ispell-cmd-args in my emacs init file.  I tried first "-p
> C:\\Users\\xxxx\\.hunspell_en_US," under the assumption that ispell would append this to the existing default
> set of cmd args, after creating an empty .hunspell_en_US file in my home directory, and then tried setting it
> to
> 
> "-d en_US -i UTF-8 -p C:\\Users\\xxxx\\.hunspell_en_US"
> 
> again to no avail.

Please be sure you are testing this correctly.  Here's a step by step
procedure starting from "emacs -Q":

  emacs -Q
  M-: (setq ispell-program-name "hunspell") RET
  M-: (setq ispell-personal-dictionary "C:/Users/xxxx/.hunspell_en_US") RET

Now go to some word in *scratch* and type M-$.

Then look with Process Explorer how Emacs invoked Hunspell.

When I do the above, I clearly see the "-p PDICT" command-line
arguments with which Emacs invokes Hunspell.  I made a point of
testing this on Windows with Emacs 28.2, which is what you have, and
it worked for me.

If the above procedure works for you, please see what you are doing
differently in your "normal" Emacs sessions.  In any case, using
ispell-cmd-args is not the recommended method; you should instead
customize the variable ispell-personal-dictionary, which is provided
for this purpose, and customize it before starting the spell-checker,
or restart the spell-checker with "M-x ispell-change-dictionary" after
customizing.