The Trunk: Monticello-ul.662.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Monticello-ul.662.mcz

commits-2
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!