Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Version 0.20 is read as 0.2, which is less than 0.19, according to the
version comparators. This can cause problems when chicken-install
takes decisions based on version numbers.
Although (> 0.20 0.19) => #t, (version>=? 0.20 0.19) => #f. However,
(version>=? "0.20" "0.19") => #t.
That's because versions are (read) by setup-api and tokenized using
`.' as separators. If versions are numbers, they are read as numbers
then converted to strings, then parsed by the version API. So, 0.20
is read as 0.2, converted to "0.2" and tokenized as ("0" "2"). Then,
converted back to numbers we have (0 2). If we apply the same to
0.19, we have (> 2 19) => #f.
By using versions as strings, we have "0.20" read as a string,
tokenized as ("0" "20") and converted back to numbers as (0 20).
Thus, (> 20 19) => #t.- Loading branch information