Subject: bug#61190: closed (Re: bug#61190: 28.2; ispell personal dictionary location for hunspell engine)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 12 Feb 2023 12:08:03 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61190: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61190
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#61190: 28.2; ispell personal dictionary location for hunspell engine
From: Eli Zaretskii <[email-masked]>
To: O G <[email-masked]>
Cc: [email-masked]
Date: Sun, 12 Feb 2023 14:07:27 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: O G <[email-masked]>
> Date: Sat, 11 Feb 2023 14:19:17 -0500
> Cc: [email-masked]
> 
> Okay, the double backslash works with emacs -Q on my system as well.  
> 
> Back in my customizations, it looks like I had not rechecked by setting the ispell-personal-dictionary variable
> ... was still using the ispell-cmd-args approach unfortunately.  So it looks like the latter is the issue, because
> everything works now per your suggested settings.  
> 
> I had originally tried using ispell-personal-dictionary before turning to ispell-cmd-args and now believe that I
> may have failed to touch the .hunspell_en_US file first (a known quirk) while I was testing the double
> backslashes among other ways of specifying the file path.
> 
> So it's safe to close the bug now.

Thanks, closing.

Subject: 28.2; ispell personal dictionary location for hunspell engine
From: O G <[email-masked]>
To: [email-masked]
Date: Mon, 30 Jan 2023 19:53:19 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

The ispell package in Emacs is not using the user-specified location of
the personal dictionary for hunspell.

In particular, neither of these two settings are being respected:

(setq ispell-personal-directory "/c/Users/xxxx/.hunspell_en_US")
(setq ispell-cmd-args "-p /c/Users/xxxx/.hunspell_en_US")

Instead, it appears that ispell is hardwired to use the file
%USERPROFILE%hunspell_en_US regardless of whether or not the user has
specified another choice for their personal dictionary.

Note that a file named %USERPROFILE%hunspell_en_US is being created at
the save prompt when adding a new spelling regardless of whether or not
a file named .hunspell_en_US already exists in the user's home directory
(the default file path for a personal directory) and that the Windows
macro %USERPROFILE% is not being properly expanded either (so it becomes
part of the dictionary name in unexpanded form).

Hunspell is the latest version (1.7.2) installed from the MINGW64 repository
in the MYSYS2 project.  It is otherwise working just fine with Emacs
using the following two settings:

(setq ispell-program-name "hunspell")
(setq ispell-local-dictionary "en_US")

Note that the HOME variable is set in my Emacs init file and points
to C:/Users/xxxx/

A comment in this stack exchange post suggests others may be
experiencing this issue as well:

https://emacs.stackexchange.com/questions/58844/where-is-personal-dictionary-for-ispell-located

---------------------------------------------------------------

In GNU Emacs 28.2 (build 2, x86_64-w64-mingw32)
 of 2022-10-11 built on fv-az365-328
Repository revision: b35f9af313a5d5c42988eb5a7751209b4234a67e
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.22621
System Description: Microsoft Windows 10 Pro (v10.0.2009.22621.1105)

Configured using:
 'configure --prefix=/mingw64 --host=x86_64-w64-mingw32
 --build=x86_64-w64-mingw32 --with-modules --without-dbus
 --without-compress-install --with-native-compilation
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe'
 CPPFLAGS=-D__USE_MINGW_ANSI_STDIO=1 LDFLAGS=-pipe'

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LIBXML2 MODULES NATIVE_COMP NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XPM
ZLIB

Important settings:
  value of $LANG: en_US
  locale-coding-system: cp1252

Major mode: Lisp Interaction

Minor modes in effect:
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  global-corfu-mode: t
  corfu-mode: t
  all-the-icons-completion-mode: t
  marginalia-mode: t
  savehist-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  prettify-symbols-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
c:/Users/xxxx/.emacs.d/elpa/hydra-0.15.0/lv hides
c:/Users/xxxx/.emacs.d/elpa/lv-20200507.1518/lv

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived gnus-util rmail rmail-loaddefs
text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mule-util time-date aide tex crm texmathp le-thesaurus
request mailheader autorevert filenotify mail-utils foldout noutline
outline corfu orderless all-the-icons-completion all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons marginalia compat compat-29
savehist vertico-multiform vertico-posframe posframe vertico
use-package-bind-key bind-key easy-mmode ryo-modal org-macs format-spec
avy expand-region text-mode-expansions er-basic-expansions thingatpt
expand-region-core expand-region-custom two-column hydra lv
disable-mouse edmacro kmacro smart-mode-line-powerline-theme powerline
comp comp-cstr warnings rx powerline-separators ring color
powerline-themes smart-mode-line advice rich-minority zenburn-theme loop
ht s dash cl-extra help-mode use-package-ensure use-package-core
finder-inf cus-edit pp cus-load wid-edit server tex-site epg rfc6068
epg-config gnu-elpa-keyring-update info package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table
term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice
button loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads w32notify w32 multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 398612 190497)
 (symbols 48 23253 131)
 (strings 32 115775 27414)
 (string-bytes 1 3416306)
 (vectors 16 35445)
 (vector-slots 8 732330 252268)
 (floats 8 565 625)
 (intervals 56 363 174)
 (buffers 992 11))