Chris Muller uploaded a new version of System to project Squeak 4.5:
http://source.squeak.org/squeak45/System-cmm.667.mcz==================== Summary ====================
Name: System-cmm.667
Author: cmm
Time: 7 March 2014, 11:05:02.41 am
UUID: 5687957c-9a9d-4e72-9db9-14480a1a52e2
Ancestors: System-dtl.666
- Added method to get a valid MethodReference from a stale, invalid one.
=============== Diff against System-dtl.666 ===============
Item was added:
+ ----- Method: MethodReference>>asValid (in category 'converting') -----
+ asValid
+ "Sometimes persistent MethodReferences may become stale after a refactoring which moved some methods to a superclass. This method answers the new valid MethodReference if that happened."
+ ^ self isValid
+ ifTrue: [ self ]
+ ifFalse:
+ [ | cm |
+ cm := self actualClass lookupSelector: self selector.
+ cm ifNotNil: [ cm methodReference ] ]!
Item was changed:
----- Method: SmalltalkImage>>haltOrQuit (in category 'command line') -----
haltOrQuit
+ self isHeadless
- Smalltalk isHeadless
ifTrue:
[ self
snapshot: false
andQuit: true ]
ifFalse: [ self halt ]!
Item was changed:
----- Method: SmalltalkImage>>run: (in category 'command line') -----
+ run: aBlock
- run: aBlock
[ [ (aBlock numArgs = 1 and: [ self arguments size > 1 ])
+ ifTrue:
+ [ "Allow a large, variable number of arguments to be passed as an Array to aBlock."
+ aBlock value: self arguments ]
+ ifFalse: [ aBlock valueWithEnoughArguments: self arguments ] ]
- ifTrue: [ aBlock value: self arguments ]
- ifFalse: [ aBlock valueWithEnoughArguments: self arguments ] ]
on: ProgressInitiationException
do:
[ : pie | "Don't want to log this notification."
pie defaultAction ] ]
on: Notification , Warning
do:
[ : noti | FileStream stdout
nextPutAll: DateAndTime now asString ;
space ;
nextPutAll: noti description ;
cr.
noti resume ]
on: SyntaxErrorNotification
do:
[ : err | FileStream stdout
nextPutAll: err errorCode ;
cr.
self haltOrQuit ]
on: Error
do:
[ : err | err printVerboseOn: FileStream stderr.
self haltOrQuit.
err isResumable ifTrue: [ err resume ] ]!