Sujet : Re: BUG: wrong usage for package loading with multiple versions available
De : ralfixx (at) *nospam* gmx.de (Ralf Fassel)
Groupes : comp.lang.tclDate : 02. May 2025, 17:33:40
Autres entêtes
Message-ID : <ygaa57vug4b.fsf@akutech.de>
References : 1 2 3 4
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
* aotto1968 <
aotto1968@t-online.de>
| ok, lets check
I would suggest to read *and understand* the 'package' manpage.
| package versions tcltest
| > 2.3.8 2.5.3
| # BUG: 2.3 have to pic-up latest patch of the 2.3
| package require tcltest 2.3
Why? manpage says otherwise:
A suitable version of the package is any version which satisfies
at least one of the requirements, per the rules of package vsat-
isfies. If multiple versions are suitable the implementation
with the highest version is chosen.
Note the last sentence.
| # Bug: upper limit does NOT works at all
| package require tcltest -2.3.9
Why should that work at all?
Each requirement is allowed to have any of the forms:
min This form is called “min-bounded”.
min- This form is called “min-unbound”.
min-max
This form is called “bounded”.
There is no '-max' mode.
| # BUG: 2.3.8 is NOT of the solution
| package require tcltest 2.3-2.3.8
As stated in the manpage:
[2] A version satisfies a “bounded” requirement when
--<snip-snip>--
[b] Otherwise if, and only if the version is greater
than or equal to the min, and less than the max,
where both min and max have been padded internally
with “a0”. Note that while the comparison to min
is inclusive, the comparison to max is exclusive.
Note the last sentence.
| # OK - only case that works
| package require tcltest 2.3-2.3.9
As stated in the manpage, same as last point.
HTH
R'