GNU bug report logs -
#44318
28.0.50; Problem with ispell/flyspell and ""enchant"" backend
Previous Next
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):
[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.