all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#19073: Ispell fails to initialise when hunspell does not report any loaded dictionaries
@ 2014-11-16 13:34 Peter Oliver
  2014-11-17 16:45 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Oliver @ 2014-11-16 13:34 UTC (permalink / raw
  To: 19073

[-- Attachment #1: Type: TEXT/PLAIN, Size: 980 bytes --]

The build of Hunspell 1.3.2 at http://sourceforge.net/projects/ezwinports/files/ from doesn't output the "LOADED DICTIONARY:" section when "hunspell -D" is run.  I don't know if this is a bug in hunspell, or in the build, or if this feature is missing on Windows, or if there is some other reason.

In any case, this missing section confuses function ispell-find-hunspell-dictionaries in Emacs 24.4 (I'm using the build at http://sourceforge.net/projects/emacs-bin/files/releases/emacs-24.4-bin-i686-pc-mingw32.7z/download).  Variable hunspell-default-dict never gets set, meaning function ispell-parse-hunspell-affix-file ends up being called with a nil argument and erroring.

The attached patch gets things working again for me, although I must admit I don't understand the implications of not detecting a default dictionary.

If this patch is used, I believe that I will need to sign legal papers before patches from me can be accepted.  I am happy to do so.

-- 
Peter Oliver

[-- Attachment #2: Type: TEXT/PLAIN, Size: 1462 bytes --]

From 6e508b07b01f62511e356b34b9a0fa8454dcedf3 Mon Sep 17 00:00:00 2001
From: Peter Oliver <git@mavit.org.uk>
Date: Sun, 16 Nov 2014 13:32:45 +0000
Subject: [PATCH] Don't error when no default Hunspell dictionary is detected.

This happens when "hunspell -D" does not report a "LOADED DICTIONARY".
---
 lisp/textmodes/ispell.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 5cdae22..cd77eda 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1291,10 +1291,12 @@ entries if a specific dict was found."
     ;; Parse and set values for default dictionary.
     (setq hunspell-default-dict (car hunspell-default-dict))
     (setq hunspell-default-dict-entry
-	  (ispell-parse-hunspell-affix-file hunspell-default-dict))
+          (and hunspell-default-dict
+               (ispell-parse-hunspell-affix-file hunspell-default-dict)))
     ;; Create an alist of found dicts with only names, except for default dict.
     (setq ispell-hunspell-dictionary-alist
-	  (list (append (list nil) (cdr hunspell-default-dict-entry))))
+          (and hunspell-default-dict-entry
+               (list (append (list nil) (cdr hunspell-default-dict-entry)))))
     (dolist (dict (mapcar 'car ispell-hunspell-dict-paths-alist))
       (if (string= dict hunspell-default-dict)
 	  (add-to-list 'ispell-hunspell-dictionary-alist
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#19073: Ispell fails to initialise when hunspell does not report any loaded dictionaries
  2014-11-16 13:34 Peter Oliver
@ 2014-11-17 16:45 ` Eli Zaretskii
  2014-11-22 20:20   ` Peter Oliver
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2014-11-17 16:45 UTC (permalink / raw
  To: Peter Oliver; +Cc: 19073

> Date: Sun, 16 Nov 2014 13:34:57 +0000 (GMT)
> From: Peter Oliver <lists.gnu.org@mavit.org.uk>
> 
> The build of Hunspell 1.3.2 at http://sourceforge.net/projects/ezwinports/files/ from doesn't 
> output the "LOADED DICTIONARY:" section when "hunspell -D" is run.

It does for me:

  D:\usr\eli>hunspell -a -D
  SEARCH PATH:
  .;;C:\Hunspell\;D:\usr\eli\.openoffice.org\3\user\wordbook;D:\usr\bin\..\share\hunspell;C:\Program files\OpenOffice.org 2.4\share\dict\ooo\;C:\Program files\OpenOffice.org 2.3\share\dict\ooo\;C:\Program files\OpenOffice.org 2.2\share\dict\ooo\;C:\Program files\OpenOffice.org 2.1\share\dict\ooo\;C:\Program files\OpenOffice.org 2.0\share\dict\ooo\
  AVAILABLE DICTIONARIES (path is not mandatory for -d option):
  D:\usr\bin\..\share\hunspell\default
  D:\usr\bin\..\share\hunspell\ENU
  D:\usr\bin\..\share\hunspell\en_GB
  D:\usr\bin\..\share\hunspell\en_US
  D:\usr\bin\..\share\hunspell\HEB
  D:\usr\bin\..\share\hunspell\he_IL
  D:\usr\bin\..\share\hunspell\ru_RU
  LOADED DICTIONARY:                         <<<<<<<<<<<<<<<<<
  D:\usr\bin\..\share\hunspell\default.aff   <<<<<<<<<<<<<<<<<
  D:\usr\bin\..\share\hunspell\default.dic   <<<<<<<<<<<<<<<<<
  @(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)

> I don't know if this is a bug in hunspell, or in the build, or if
> this feature is missing on Windows, or if there is some other
> reason.

I'm guessing that you have an old binary of the ported Hunspell.
Please install the latest one from ezwinports and try again.  (I'm
using that myself with Emacs 24.4, and have absolutely no problems.)
This problem indeed existed in the original port, but once I started
using Emacs 24.4, I fixed it and uploaded a fixed binary (in April
this year).





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#19073: Ispell fails to initialise when hunspell does not report any loaded dictionaries
  2014-11-17 16:45 ` Eli Zaretskii
@ 2014-11-22 20:20   ` Peter Oliver
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Oliver @ 2014-11-22 20:20 UTC (permalink / raw
  To: Eli Zaretskii; +Cc: 19073-done

On Mon, 17 Nov 2014, Eli Zaretskii wrote:

> I'm guessing that you have an old binary of the ported Hunspell.
> Please install the latest one from ezwinports and try again.

You're quite right.  I mistakenly believed that because I had version 1.3.2, and the latest ezwinports version was 1.3.2, that I had the latest release.

Thanks.

-- 
Peter Oliver





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#19073: Ispell fails to initialise when hunspell does not report any loaded dictionaries
       [not found] <54C93088.4000908@resiak.org>
@ 2015-01-28 21:09 ` PK
  2015-01-29  3:49   ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: PK @ 2015-01-28 21:09 UTC (permalink / raw
  To: 19073

With relation to the discussion of this bug in gnu.emacs.bug: I've 
installed the latest ezwinport of hunspell 1.3.2 (suggested by Eli
Zaretskii) and ispell still fails with the "ispell-phaf ... nil" error
under my setup of emacs 24.4.1 (Windows), which I described in

     https://lists.gnu.org/archive/html/help-gnu-emacs/2014-04/msg00030.html

for Emacs 24.3, where the setup works fine with the same installation
of hunspell.  Is there an accepted fix to ispell.el under 24.4 for this?
Or an accepted compatible way to invoke ispell?  (Compatible across emacs
versions, that is.)

Clearly something changed for ispell between 24.3 and 24.4 that made my
setup stop working.  But if it's a change I should accommodate, I'd like
to know what to do, because that's not clear to me.

Thanks.

PK





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#19073: Ispell fails to initialise when hunspell does not report any loaded dictionaries
  2015-01-28 21:09 ` bug#19073: Ispell fails to initialise when hunspell does not report any loaded dictionaries PK
@ 2015-01-29  3:49   ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2015-01-29  3:49 UTC (permalink / raw
  To: djc; +Cc: 19073

> Date: Wed, 28 Jan 2015 22:09:23 +0100
> From: PK <djc@resiak.org>
> 
> With relation to the discussion of this bug in gnu.emacs.bug: I've 
> installed the latest ezwinport of hunspell 1.3.2 (suggested by Eli
> Zaretskii) and ispell still fails with the "ispell-phaf ... nil" error
> under my setup of emacs 24.4.1 (Windows), which I described in
> 
>      https://lists.gnu.org/archive/html/help-gnu-emacs/2014-04/msg00030.html
> 
> for Emacs 24.3, where the setup works fine with the same installation
> of hunspell.  Is there an accepted fix to ispell.el under 24.4 for this?

I am using that very version of Hunspell with Emacs 24.4 all the time,
in several different languages, and it works for me without any fixes.

> Or an accepted compatible way to invoke ispell?  (Compatible across emacs
> versions, that is.)

Emacs 24.4 did change significantly how dictionaries are set up with
Hunspell, so it might be hard to find a setup that works the same with
prior versions.

I suspect your setup is the culprit.  In particular, try in "emacs -Q"
or without your ispell-local-dictionary-alist setting.  It's not
needed anymore.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-01-29  3:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <54C93088.4000908@resiak.org>
2015-01-28 21:09 ` bug#19073: Ispell fails to initialise when hunspell does not report any loaded dictionaries PK
2015-01-29  3:49   ` Eli Zaretskii
2014-11-16 13:34 Peter Oliver
2014-11-17 16:45 ` Eli Zaretskii
2014-11-22 20:20   ` Peter Oliver

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.