Nicolas Cellier uploaded a new version of ScriptLoader to project The Trunk:
http://source.squeak.org/trunk/ScriptLoader-nice.328.mcz==================== Summary ====================
Name: ScriptLoader-nice.328
Author: nice
Time: 27 December 2009, 3:57:07 am
UUID: 5d32857b-2500-4da5-8486-52b2030609a6
Ancestors: ScriptLoader-nice.327
Cosmetic: move or remove a few temps inside closures
=============== Diff against ScriptLoader-nice.327 ===============
Item was changed:
----- Method: ScriptLoader>>fixObsoleteReferences (in category 'cleaning') -----
fixObsoleteReferences
"self new fixObsoleteReferences"
+
+ Preference allInstances do: [:each | | informee |
- | informee obsoleteBindings obsName realName realClass |
- Preference allInstances do: [:each |
informee := each instVarNamed: #changeInformee.
((informee isKindOf: Behavior)
and: [informee isObsolete])
ifTrue: [
Transcript show: each name; cr.
each instVarNamed: #changeInformee put: (Smalltalk at: (informee name copyReplaceAll: 'AnObsolete' with: '') asSymbol)]].
CompiledMethod allInstances do: [:method |
+ | obsoleteBindings |
obsoleteBindings := method literals select: [:literal |
literal isVariableBinding
and: [literal value isBehavior]
and: [literal value isObsolete]].
obsoleteBindings do: [:binding |
+ | obsName realName realClass |
obsName := binding value name.
Transcript show: obsName; cr.
realName := obsName copyReplaceAll: 'AnObsolete' with: ''.
realClass := Smalltalk at: realName asSymbol ifAbsent: [UndefinedObject].
binding isSpecialWriteBinding
ifTrue: [binding privateSetKey: binding key value: realClass]
ifFalse: [binding key: binding key value: realClass]]].
Behavior flushObsoleteSubclasses.
Smalltalk garbageCollect; garbageCollect.
SystemNavigation default obsoleteBehaviors size > 0
ifTrue: [SystemNavigation default obsoleteBehaviors inspect]!
Item was changed:
----- Method: ScriptLoader>>loadOneAfterTheOther:merge: (in category 'private helpers') -----
loadOneAfterTheOther: aCollection merge: aBoolean
+
- | loader |
(self newerVersionsIn: aCollection)
+ do: [:fn | | loader |
- do: [:fn |
loader := aBoolean
ifTrue: [ MCVersionMerger new ]
ifFalse: [ MCVersionLoader new].
loader addVersion: (self repository loadVersionFromFileNamed: fn).
aBoolean
ifTrue: [[loader merge] on: MCMergeResolutionRequest do: [:request |
request merger conflicts isEmpty
ifTrue: [request resume: true]
ifFalse: [request pass]]]
ifFalse: [loader load]]
displayingProgress: 'Loading versions...'.
!