GNU bug report logs - #33493
26.1; New Version of Hunspell (1.7.0-1) brakes ispell.el

Previous Next

Package: emacs;

Reported by: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>

Date: Sat, 24 Nov 2018 23:45:02 UTC

Severity: normal

Merged with 33606

Found in version 26.1

Fixed in version 26.2

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 33493 in the body.
You can then email your comments to 33493 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#33493; Package emacs. (Sat, 24 Nov 2018 23:45:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Philipp Uhl <philipp.uhl <at> rwth-aachen.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 24 Nov 2018 23:45:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>
To: <bug-gnu-emacs <at> gnu.org>
Subject: 26.1; New Version of Hunspell (1.7.0-1) brakes ispell.el
Date: Sun, 25 Nov 2018 00:17:02 +0100
Message-ID: 
<87sgzqyso2.fsf <at> ADMIN-LT3.i-did-not-set--mail-host-address--so-tickle-me>
--text follows this line--

After the update from hunspell 1.6.2-1 to 1.7.0-1 the ispell package
printed the following messages:

Starting new Ispell process hunspell with en_US dictionary...
Setting up indent for shell type zsh
Indentation variables are now local.
Indentation setup for shell type zsh
Error in post-command-hook (flyspell-post-command-hook): (error "No data 
for dictionary \"en_US\" in ‘ispell-local-dictionary-alist’ or 
‘ispell-dictionary-alist’")

I checked and ispell-local-dictionary-alist and ispell-dictionary-alist
are both nil.

Consequently my hunspell setup did't work but the error occures on
running (ispell).

My complete emacs configuration can be viewed at
https://github.com/phuhl/emacs.d/ but the relevant part should be this:

(when (eq system-type 'gnu/linux)
(use-package flyspell
:ensure t
:init
(add-hook 'org-mode-hook 'flyspell-mode)
(add-hook 'text-mode-hook 'flyspell-mode)
:bind
(("C-; ," . flyspell-goto-next-error)
("C-; ." . flyspell-auto-correct-word))
:config
(setq flyspell-issue-message-flag nil)
(define-key flyspell-mode-map (kbd "C-.") nil)
(define-key flyspell-mode-map (kbd "C-,") nil)
(define-key flyspell-mode-map (kbd "C-;") nil)
(with-eval-after-load "ispell"
(setq ispell-program-name "hunspell")
(setq ispell-dictionary "en_US,de_DE")
(ispell-set-spellchecker-params)
(when (> emacs-major-version 24)
(ispell-hunspell-add-multi-dic "en_US,de_DE")))
))




In GNU Emacs 26.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
of 2018-07-05 built on juergen
Windowing system distributor 'The X.Org Foundation', version 11.0.12003000
System Description: Arch Linux

Recent messages:
Setting up indent for shell type zsh
Indentation variables are now local.
Indentation setup for shell type zsh
Setting up indent for shell type zsh
Indentation variables are now local.
Indentation setup for shell type zsh
Setting up indent for shell type zsh
Indentation variables are now local.
Indentation setup for shell type zsh
Position saved to mark ring, go back with ‘M-x org-mark-ring-goto’.
Quit [2 times]
Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
-fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 MODULES THREADS LIBSYSTEMD LCMS2

Important settings:
value of $LANG: de_DE.UTF-8
locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
flyspell-mode: t
org-indent-mode: t
yas-global-mode: t
yas-minor-mode: t
org-bullets-mode: t
shell-dirtrack-mode: t
global-ace-isearch-mode: t
ace-isearch-mode: t
ivy-mode: t
ido-vertical-mode: t
show-paren-mode: t
ido-everywhere: t
global-auto-complete-mode: t
diff-auto-refine-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-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
column-number-mode: t
line-number-mode: t
auto-fill-function: yas--auto-fill
transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug sendmail prolog align sh-script smie
executable misearch multi-isearch flyspell ispell org-indent image-file
linum whitespace tide tide-lv typescript-mode yasnippet flycheck
flymake-proc flymake compile warnings org-beautify-theme org-bullets
async ob-async ob-python ob-js ob-plantuml ob-restclient restclient
ob-shell shell auto-complete-config ace-isearch swiper ivy delsel colir
ivy-overlay ffap ace-jump-mode ido-vertical-mode paren elec-pair ein-org
ein-notebooklist eieio-opt speedbar sb-image ezimage dframe help-fns
radix-tree ido ein-file ein-connect ein-junk ein-inspector ein-traceback
ein-shared-output ein-pseudo-console ein-pager view ein-notification
ein-scratchsheet ein-jedi ein-completer ein-pytools ein-subpackages
ein-ac auto-complete popup ein-iexec ein-worksheet ein-kill-ring
ein-cell-output ein-cell-edit ein-cell ein-hy ein-skewer skewer-mode
cache-table js2-mode etags xref project js sgml-mode dom thingatpt imenu
simple-httpd pp ein-output-area xml ein-kernelinfo ein-kernel ein-ipdb
ein-events ein-websocket websocket bindat ein-contents-api ein-notebook
ein-query request-deferred request ein-node ein-log ein-console
ein-classes company pcase ewoc ein-core ein-utils deferred subr-x url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap dash s json map cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ein
cus-edit cus-start cus-load vc-git diff-mode org-rmail org-mhe org-irc
org-info org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start
gnus-cloud nnimap nnmail mail-source tls gnutls utf7 netrc nnoo
parse-time gnus-spec gnus-int gnus-range message rmc puny rfc822 mml
mml-sec epa derived epg mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail
rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr
wid-edit org-docview doc-view jka-compr image-mode dired dired-loaddefs
org-bibtex bibtex org-bbdb org-w3m edmacro kmacro rainbow-mode color
tsdh-dark-theme diminish use-package use-package-delight
use-package-diminish use-package-bind-key bind-key saveplace cl-extra
help-mode use-package-ensure use-package-core cl org-element avl-tree
generator org advice org-macro org-footnote org-pcomplete pcomplete
org-list org-faces org-entities noutline outline easy-mmode org-version
ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp
ob-comint comint ansi-color ring ob-core ob-eval org-compat org-macs
org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs
finder-inf rx info package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 685284 43965)
(symbols 48 57704 1)
(miscs 40 223 787)
(strings 32 175318 9225)
(string-bytes 1 5145134)
(vectors 16 73094)
(vector-slots 8 1893999 134442)
(floats 8 496 402)
(intervals 56 22263 72)
(buffers 992 18))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#33493; Package emacs. (Sun, 25 Nov 2018 16:11:02 GMT) Full text and rfc822 format available.

Message #8 received at 33493 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>
Cc: 33493 <at> debbugs.gnu.org
Subject: Re: bug#33493: 26.1;
 New Version of Hunspell (1.7.0-1) brakes ispell.el
Date: Sun, 25 Nov 2018 18:10:47 +0200
> From: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>
> Date: Sun, 25 Nov 2018 00:17:02 +0100
> 
> After the update from hunspell 1.6.2-1 to 1.7.0-1 the ispell package
> printed the following messages:
> 
> Starting new Ispell process hunspell with en_US dictionary...
> Setting up indent for shell type zsh
> Indentation variables are now local.
> Indentation setup for shell type zsh
> Error in post-command-hook (flyspell-post-command-hook): (error "No data 
> for dictionary \"en_US\" in ‘ispell-local-dictionary-alist’ or 
> ‘ispell-dictionary-alist’")
> 
> I checked and ispell-local-dictionary-alist and ispell-dictionary-alist
> are both nil.
> 
> Consequently my hunspell setup did't work but the error occures on
> running (ispell).

This is due to an incompatible change in Hunspell, for a reason that
looks entirely arbitrary to me: Hunspell will now show the LOADED
DICTIONARY header (which ispell.el expects and on which it depends)
only if there's at least one file argument on the command line.  Why
they made that change is anybody's guess.

Does the patch below resolve the problem?

diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index e77bc7e..9789968 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1113,7 +1113,12 @@ ispell-find-hunspell-dictionaries
 				 null-device
 				 t
 				 nil
-				 "-D")
+                                 ;; Hunspell 1.7.0 (and later?) won't
+                                 ;; show LOADED DICTIONARY unless
+                                 ;; there's at least one file argument
+                                 ;; on the command line.  So we feed
+                                 ;; it with the null device.
+				 "-D" null-device)
 	    (buffer-string))
 	  "[\n\r]+"
 	  t))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#33493; Package emacs. (Sun, 25 Nov 2018 19:23:02 GMT) Full text and rfc822 format available.

Message #11 received at 33493 <at> debbugs.gnu.org (full text, mbox):

From: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 33493 <at> debbugs.gnu.org
Subject: Re: bug#33493: 26.1; New Version of Hunspell (1.7.0-1) brakes
 ispell.el
Date: Sun, 25 Nov 2018 20:22:08 +0100
Yes, it appears to resolve the issue.


Thank you very much, best regards

Philipp

On 25.11.18 17:10, Eli Zaretskii wrote:
>> From: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>
>> Date: Sun, 25 Nov 2018 00:17:02 +0100
>>
>> After the update from hunspell 1.6.2-1 to 1.7.0-1 the ispell package
>> printed the following messages:
>>
>> Starting new Ispell process hunspell with en_US dictionary...
>> Setting up indent for shell type zsh
>> Indentation variables are now local.
>> Indentation setup for shell type zsh
>> Error in post-command-hook (flyspell-post-command-hook): (error "No data
>> for dictionary \"en_US\" in ‘ispell-local-dictionary-alist’ or
>> ‘ispell-dictionary-alist’")
>>
>> I checked and ispell-local-dictionary-alist and ispell-dictionary-alist
>> are both nil.
>>
>> Consequently my hunspell setup did't work but the error occures on
>> running (ispell).
> This is due to an incompatible change in Hunspell, for a reason that
> looks entirely arbitrary to me: Hunspell will now show the LOADED
> DICTIONARY header (which ispell.el expects and on which it depends)
> only if there's at least one file argument on the command line.  Why
> they made that change is anybody's guess.
>
> Does the patch below resolve the problem?
>
> diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
> index e77bc7e..9789968 100644
> --- a/lisp/textmodes/ispell.el
> +++ b/lisp/textmodes/ispell.el
> @@ -1113,7 +1113,12 @@ ispell-find-hunspell-dictionaries
>   				 null-device
>   				 t
>   				 nil
> -				 "-D")
> +                                 ;; Hunspell 1.7.0 (and later?) won't
> +                                 ;; show LOADED DICTIONARY unless
> +                                 ;; there's at least one file argument
> +                                 ;; on the command line.  So we feed
> +                                 ;; it with the null device.
> +				 "-D" null-device)
>   	    (buffer-string))
>   	  "[\n\r]+"
>   	  t))




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Mon, 26 Nov 2018 17:33:02 GMT) Full text and rfc822 format available.

Notification sent to Philipp Uhl <philipp.uhl <at> rwth-aachen.de>:
bug acknowledged by developer. (Mon, 26 Nov 2018 17:33:02 GMT) Full text and rfc822 format available.

Message #16 received at 33493-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>
Cc: 33493-done <at> debbugs.gnu.org
Subject: Re: bug#33493: 26.1; New Version of Hunspell (1.7.0-1) brakes
 ispell.el
Date: Mon, 26 Nov 2018 19:32:41 +0200
> CC: <33493 <at> debbugs.gnu.org>
> From: Philipp Uhl <philipp.uhl <at> rwth-aachen.de>
> Date: Sun, 25 Nov 2018 20:22:08 +0100
> 
> Yes, it appears to resolve the issue.

Thanks, pushed to the emacs-26 branch.




Forcibly Merged 33493 33606. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 04 Dec 2018 00:56:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 01 Jan 2019 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 130 days ago.

Previous Next


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