#5141 unexpected "package vsatisfies" results

obsolete: 8.5.13
closed-invalid
8
2012-12-09
2012-12-09
No

% package vsatisfies 8.5a0 8.5a0-8.5a0
1
% package vsatisfies 8.5a0 8.5a0-8.5
0

The first result suggests that the 'max' value is inclusive, the
second result that it is exclusive. TIP #268 is not clear
whether the max value is inclusive or exclusive, but it
specifies that internally the min and max value are 'a0'-appended
That suggests 'exclusive', but then I would expect 0
in the first example

I see two possible solutions.
1) specify that the 'max' value is exclusive. That means that the 'a0'
should only be appended to the 'max' value when the specified
version does not already contain 'a' or 'b'
2) specify that the 'max' value is inclusive. That would mean that
the 'max' value should be appended with '.99' ( or '.<maxint>',
but that would practically be more problematic).

Either choice would be fine to me, I don't think any existing
code would be affected by this. Intuitively, when a range is
specified (e.g. string range, lrange) Tcl normally considers the
end value as 'inclusive'. So that would give preference to
solution 2).

This still could be corrected for 8.6.0, the code change is
trivial. I don't think any existing code would be affected
by either choice.

Discussion

  • Jan Nijtmans

    Jan Nijtmans - 2012-12-09

    Reading the tip again, it specifies a special syntax for when min == max:
    it means that then the "a0" append doesn't occur. It seems that
    it's according to the TIP

     
  • Jan Nijtmans

    Jan Nijtmans - 2012-12-09
    • status: open --> closed-invalid
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks