GNU bug report logs - #49245
Enchant dictionaries list not being correctly set, and other minor fixes

Previous Next

Package: emacs;

Reported by: Reuben Thomas <rrt <at> sc3d.org>

Date: Sun, 27 Jun 2021 21:21:01 UTC

Severity: normal

Done: Reuben Thomas <rrt <at> sc3d.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Reuben Thomas <rrt <at> sc3d.org>
Subject: bug#49245: closed (Closing)
Date: Mon, 28 Jun 2021 17:13:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#49245: Enchant dictionaries list not being correctly set, and other minor fixes

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 49245 <at> debbugs.gnu.org.

-- 
49245: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49245
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Reuben Thomas <rrt <at> sc3d.org>
To: 49245-done <at> debbugs.gnu.org
Subject: Closing
Date: Mon, 28 Jun 2021 18:12:20 +0100
[Message part 3 (text/plain, inline)]
Fixed by 7c93009d11 and 881e75873d.

-- 
https://rrt.sc3d.org
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
From: Reuben Thomas <rrt <at> sc3d.org>
To: bug-emacs <bug-emacs <at> gnu.org>
Subject: Enchant dictionaries list not being correctly set,
 and other minor fixes
Date: Sun, 27 Jun 2021 22:20:10 +0100
[Message part 6 (text/plain, inline)]
I found a bug recently where, when using Enchant as the back-end for
ispell.el, spellchecking was locking up for some languages.

This turned out to be the combination of two problems.

First, ispell-find-enchant-dictionaries was incorrectly merging
ispell-dictionary-base-alist into its result. This caused the
ispell-set-spellchecker-params to fail to add the correct "-d LANG" flag
arguments to the list of dictionaries that it used to start Enchant, which
in turn meant that the process was started as e.g.

enchant-2 -d francais # rather than -d fr_FR

and failed to start properly. I have fixed this by simply removing the
incorrect code (patch 0003 attached).

Secondly, ispell.el failed to notice that it had not actually started an
Enchant process, and hung while trying to read from it in
ispell-accept-output. I fixed this by testing that the process is live
before trying to read from or write to it (patch 0002 attached).

Finally, while reading the source code I found an ancient comment that is
more of a commit message in spirit (it explains how the current code came
to be that way, rather than explaining something about how it works), so I
removed it (patch 0001 attached).

As usual with my infrequent patches, I would appreciate other eyes on them
before I install them, if possible. I remain an active user of ispell with
Enchant, though, so I will give them plenty of manual testing. Thanks in
advance!

-- 
https://rrt.sc3d.org
[Message part 7 (text/html, inline)]
[0002-lisp-textmodes-ispell.el-Check-process-is-live-befor.patch (text/x-patch, attachment)]
[0003-lisp-textmodes-ispell.el-Fix-finding-dictionaries-fo.patch (text/x-patch, attachment)]
[0001-lisp-textmodes-ispell.el-ispell-word-Remove-a-redund.patch (text/x-patch, attachment)]

This bug report was last modified 3 years and 331 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.