[Pkg] The Trunk: Monticello-ul.662.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Feb 27 01:18:41 UTC 2017


Levente Uzonyi uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ul.662.mcz

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

Name: Monticello-ul.662
Author: ul
Time: 27 February 2017, 2:18:31.823715 am
UUID: 807424ff-1828-4e04-94f8-331c71dc16fd
Ancestors: Monticello-mva.661

- omit ifAbsent from #index* sends when the default value, 0 would used

=============== Diff against Monticello-mva.661 ===============

Item was changed:
  ----- Method: String>>withLoadedPackageVersions (in category '*monticello') -----
  withLoadedPackageVersions
  	"Everywhere the receiver contains a package version in the format:  PackageName-author.123 for which a version of that package is loaded in the image, answer a new String with each of those package versions changed to reflect the currently loaded version."
  	| string |
  	string := self.
  	MCWorkingCopy allManagers do:
  		[ : eachWorkingCopy | | start packageName |
  		start := 1.
  		packageName := eachWorkingCopy packageName.
  		[ start := string
  			findString: packageName
  			startingAt: start.
  		start > 0 and: [ string size > (start + packageName size + 4) ] ] whileTrue:
  			[ | dot end versionName |
  			dot := string
  				indexOf: $.
+ 				startingAt: (end := start + packageName size).
- 				startingAt: (end := start + packageName size)
- 				ifAbsent: [ 0 ].
  			dot > 0 ifTrue:
  				[ end := (dot + 1 to: string size)
  					detect: [ : n | (string at: n) isDigit not ]
  					ifNone: [ 0 ].
  				(end > (dot + 1) and:
  					[ (dot + 1 to: end - 1) allSatisfy:
  						[ : n | (string at: n) isDigit ] ])
  					ifTrue:
  						[ versionName := string
  							copyFrom: start
  							to: end - 1.
  						versionName asMCVersionName packageName = packageName ifTrue:
  							[ string := string
  								copyReplaceTokens: versionName
  								with: eachWorkingCopy ancestors first name ] ]
  					ifFalse: [ end := start + packageName size ] ].
  			start := end ] ].
  	^ string!



More information about the Packages mailing list