Subject: bug#46298: 28.0.50; Best default for ispell-program-name

From: Peter Oliver <[email-masked]>
Date: Thu, 4 Feb 2021 16:03:15 +0000 (GMT)

The default value of ispell-program-name is decided by looking in turn for the binaries aspell, ispell, hunspell and enchant-2, and using whichever is first found.  Would it make sense to sort these in order of which we believe to be best?

As I understand it, which backend is most accurate varies from language to language.  Assuming the quality of the Emacs integration is equal, I would suggest putting Enchant first on the list rather than last.  Enchant doesnʼt do any spellchecking itself, but instead selects a backend based on a per-language configuration preference, automatically skipping any backends which are not installed or for which dictionaries are not installed in the current language.

I notice that the Red Hat/Fedora packages patch Emacs to put Hunspell first on the list (https://src.fedoraproject.org/rpms/emacs/blob/rawhide/f/emacs-spellchecker.patch).  The rationale for this was that if Aspell was installed but the Aspell dictionaries for a language were not, then ispell-buffer fails (https://bugzilla.redhat.com/show_bug.cgi?id=713600).  If, instead, Enchant was tried first, this kind of tinkering would not be necessary.

-- 
Peter Oliver