GNU bug report logs - #44318
28.0.50; Problem with ispell/flyspell and ""enchant"" backend

Previous Next

Package: emacs;

Reported by: dinkonin <dinkonin <at> gmail.com>

Date: Thu, 29 Oct 2020 21:41:02 UTC

Severity: normal

Found in version 28.0.50

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

Bug is archived. No further changes may be made.

Full log


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

From: Reuben Thomas <rrt <at> sc3d.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 44318 <at> debbugs.gnu.org, dinkonin <dinkonin <at> gmail.com>
Subject: Re: bug#44318: 28.0.50;
 Problem with ispell/flyspell and ""enchant"" backend
Date: Sun, 1 Nov 2020 22:23:44 +0000
[Message part 1 (text/plain, inline)]
On Sat, 31 Oct 2020 at 09:17, Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: dinkonin <dinkonin <at> gmail.com>
> > Date: Sat, 31 Oct 2020 10:37:49 +0200
> > Cc: Reuben Thomas <rrt <at> sc3d.org>, 44318 <at> debbugs.gnu.org
> >
> > I totally agree with you that this is an upstream problem and I have
> reported it there. But maybe I have not
> > worded my bug correctly (my English is lacking, sorry). Enchant is
> working everywhere else on the same
> > system i.e. in AbiWord, Vim, GtkSpell and gedit. It does not work only
> in Emacs, that's why I reported it here,
> > for the benefit of other Arch users using the package and Emacs.
>
> I don't know how it succeeds working in those other environments, but
> I don't think Emacs should work around clear problems in installing
> the spell-checker.
>

I've had a bit more time to think about this now, and I think I understand
better what is going on.

First, it's pretty obvious why this isn't a problem for programs other than
Emacs: they ignore the error messages.

I think Enchant is correct to generate the errors, as it shows that it has
been mis-installed. I looked at the Arch package, and it depends on
libvoikko, so I'm surprised you're getting these errors in the first place.

However, I think Emacs should be able (like other Enchant-using programs)
to cope with this problem, particularly as all it should have to do is
ignore stderr.

I think this can be achieved by changing the definition of
ispell--call-enchant-lsmod to:

(defun ispell--call-enchant-lsmod (&rest args)
  "Call enchant-lsmod with ARGS and return the output as string."
  (with-output-to-string
    (apply #'ispell-call-process
           (replace-regexp-in-string "enchant\\(-[0-9]\\)?\\'"
                                     "enchant-lsmod\\1"
                                     ispell-program-name)
           nil '(t nil) nil args)))

(I can't see any reason to use `with-current-buffer` either; am I missing
something?)

-- 
https://rrt.sc3d.org
[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 293 days ago.

Previous Next


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