Subject: Re: bug#42248: 27.0.91; With enchant-2.2.8 from Guix, Flyspell errors out or gives lots of false positives

From: Eli Zaretskii <[email-masked]>
Date: Thu, 20 Aug 2020 19:02:31 +0300

> From: Jorge P. de Morais Neto <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Thu, 20 Aug 2020 12:36:01 -0300
> 
> > Do you see the same problem when you invoke Enchant from the shell
> > prompt?
> 
> Yes, enchant-2 on the command line misreports numbers:
> $ enchant-2 -d en_US -l /tmp/enchant-test.txt
> 2015
> Casa
> 42
> 
> $ enchant-2 -d pt_BR -l /tmp/enchant-test.txt
> doesn't
> 2015
> 42

Then I guess at least part of the problem is with Enchant (or the
Aspell back-end it uses), and not with Emacs.

> Therefore, the list for "american" specifies `("-B" #4="-d" "en_US")' as
> ISPELL-ARGS.  However, enchant-2 does not take a "-B" flag:
> 
> $ enchant-2 -B -d en_US /tmp/enchant-test.txt
> Usage: enchant-2 -a|-l|-h|-v [-L] [-d DICTIONARY] [FILE]
>   -d DICTIONARY  use the given dictionary
>   -a             list suggestions in ispell pipe mode format
>   -l             list only the misspellings
>   -L             display line numbers
>   -h             display help and exit
>   -v             display version information and exit

So instead of ignoring -B, Enchant reports an error -- another
incompatibility with Ispell, Aspell, and Hunspell.

> 
> $ enchant-2 -B -d en_US -l /tmp/enchant-test.txt
> Usage: enchant-2 -a|-l|-h|-v [-L] [-d DICTIONARY] [FILE]
>   -d DICTIONARY  use the given dictionary
>   -a             list suggestions in ispell pipe mode format
>   -l             list only the misspellings
>   -L             display line numbers
>   -h             display help and exit
>   -v             display version information and exit
> 
> 
> Also, the list for "en_US" specifies "" for OTHERCHARS, but, IIUC, it
> ought to be "[']" instead.

This means something is wrong with the initialization, as the data is
set up correctly in ispell.el.  Does the above happen in "emacs -Q"?