Squeak 4.5: System-cmm.667.mcz

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

Squeak 4.5: System-cmm.667.mcz

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