emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Can't find Hunspell dictionary" error (was Re: Emacs pretest 28.0.9


From: Eli Zaretskii
Subject: Re: "Can't find Hunspell dictionary" error (was Re: Emacs pretest 28.0.91 is out)
Date: Fri, 14 Jan 2022 14:02:06 +0200

> Date: Fri, 14 Jan 2022 22:06:47 +1300
> From: Phil Sainty <psainty@orcon.net.nz>
> Cc: rpluim@gmail.com, stefan@marxist.se, emacs-devel@gnu.org
> 
> On 2022-01-14 20:12, Eli Zaretskii wrote:
> > IOW, when you say "I wouldn't expect an absence of dictionaries to
> > cause those functions to fail", what do you expect from spell-checking
> > commands to do instead, when there are no dictionaries available to
> > them, except fail?
> 
> `ispell-⁠valid-⁠dictionary-⁠list' isn't a spell-checking function per 
> se,
> though -- it's a helper function for establishing which dictionaries
> are available for use *by* a spell-checking command.

If you just want to prevent an error in ispell-⁠valid-⁠dictionary-⁠list,
I'm okay with that, although it does seem pointless: you will not be
able to do any real spell-checking anyway.  So I question the wisdom
of letting the user think things are okay when they really aren't.

The error is signaled from ispell-find-hunspell-dictionaries, which is
called from other places as well, where having no dictionaries means
we cannot continue.  That error has to stay there, for this reason.

> If a command to actually check some spelling was invoked and there
> were no dictionaries, then it would be fair to signal an error, but
> this error is happening when merely asking for a list of dictionaries,
> and an empty list is a valid list.

Once again: what would be a point of showing an empty list? which use
cases it solves that signaling an error doesn't?  Is this just
aesthetics, or are there some real-life use cases where this gets in
the way?

> IIUC this is only happening if hunspell is the spell checker, so
> I think this should be considered a bug in the code for handling
> hunspell.

It isn't a bug.  Hunspell cannot do anything useful when we don't know
which dictionaries are available.  That it happens only with hunspell
is because the method of finding the dictionaries is different, and
with Hunspell the failure generally means the speller is misconfigured
in some way we cannot possibly know.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]