[squeak-dev] The Trunk: VersionNumber-eem.5.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Nov 5 20:36:27 UTC 2022


Eliot Miranda uploaded a new version of VersionNumber to project The Trunk:
http://source.squeak.org/trunk/VersionNumber-eem.5.mcz

==================== Summary ====================

Name: VersionNumber-eem.5
Author: eem
Time: 5 November 2022, 1:36:25.499057 pm
UUID: 8883b385-6d1b-4659-b488-c677c700707a
Ancestors: VersionNumber-cmm.4

Fix VersionNumber>>< so that version numbers of different lengths can be compared. e.g. 1.8 is clearly less than 1.7.4. At the same time fix the comparison so that it terminates as soon as a difference is found.

=============== Diff against VersionNumber-cmm.4 ===============

Item was changed:
  ----- Method: VersionNumber>>< (in category 'comparing') -----
  < another 
+ 	"Answer whether the receiver is less than the argument, another VersionNumber."
- 	"Answer whether the receiver is less than the argument."
  
+ 	| tmp thisSize thatSize this that |
- 	| tmp |
- 	(self inSameBranchAs: another) ifFalse: 
- 		[^self error: 'Receiver and argument in different branches'].
- 
  	tmp := another numbers.
+ 	thisSize := numbers size.
+ 	thatSize := tmp size.
+ 	1 to: (thisSize min: thatSize) do:
+ 		[:i|
+ 		(this := numbers at: i) = (that := tmp at: i) ifFalse:
+ 			[^this < that]].
+ 	^thisSize < thatSize!
- 	(tmp size = numbers size) ifTrue:
- 		[1 to: numbers size do: 
- 			[ :in | (numbers at: in) < (tmp at: in) ifTrue: [^true]].
- 		^false].
- 
- 	^numbers size < tmp size
- !



More information about the Squeak-dev mailing list