Subject: Re: bug#29801: 25.3; ispell cannot detect installed dictionaries

From: Tomas Nordin <[email-masked]>
Date: Fri, 22 Dec 2017 00:15:03 +0100

Basilio <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Basilio <[email-masked]>
>>> Cc: [email-masked]
>>> Date: Thu, 21 Dec 2017 21:35:11 +0200
>>> 
>>> > Finally, what is the Aspell version?  What does "aspell -vv" produce?
>>> ~ % aspell -vv                         
>>> @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.7-rc1)
>>
>> That's the problem, I think: that "-rc1" at the end of the version
>> string.  Emacs looks for a version string with this regexp:
>>
>>  (search-forward-regexp "(but really Aspell \\([0-9]+\\.[0-9\\.-]+\\)?)" nil t)
>>
>> which doesn't match 0.60.7-rc1.
>
> Thanks a lot!
>
> Is there an easy way to solve it on my level and chances that there will be some
> solution developed upstream? I'm not very proficient in Lisp unfortunately.

Sorry for just jumping in here out of the blue, but an ugly hack could
be to just add a ? in the end of the expression after the last ) in
ispell.el.

Find the code

(search-forward-regexp "(but really Aspell \\([0-9]+\\.[0-9\\.-]+\\)?)" nil t)

in ispell.el and add ? to the regexp string like this:

    "(but really Aspell \\([0-9]+\\.[0-9\\.-]+\\)?)?"

This makes it not require the ending paren and should (partly) match

     (but really Aspell 0.60.7-rc1)

The group match becomes 0.60.7-

(version<= "0.60" "0.60.7-")
(ispell-check-minver "0.6" "0.60.7-")

those both evaled to t without making problems for me.

If this is not too stupid to suggest (as a temporary home-fix) then
maybe someone could suggest a proper way of installing the hack.