Subject: Re: bug#28446: [email-masked] should select 4.1.x, not 4.13.x

From: Ricardo Wurmus <[email-masked]>
Date: Thu, 21 Sep 2017 14:48:58 +0200

Hi Mark,

> Currently, the package specification "[email-masked]" selects version
> 4.13.  It should instead select version 4.1.

We consider everthing following the “@” a version string prefix.  Since
versions are arbitrary strings “4.1” is considered a valid prefix of
“4.13”.  If a user supplied the version string “4.1.” they would get the
appropriate package.

The current implementation sorts all matches in decreasing version order
and picks the package with the highest version.  This is implemented in
(gnu packages) with “%find-packages”, “find-best-packages-by-name”, and
“find-packages-by-name”.

Should we try to make the code understand version strings better and
compare substrings of the version string?  We could fall back to using
“string-prefix?” when the substring is not a number.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net