[squeak-dev] The Trunk: Kernel-dtl.825.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Dec 14 20:44:12 UTC 2013


David T. Lewis uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-dtl.825.mcz

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

Name: Kernel-dtl.825
Author: dtl
Time: 14 December 2013, 3:42:04.82 pm
UUID: 813831b0-82db-47b5-99ab-dd11959a0c58
Ancestors: Kernel-fbs.824

The emergency evaluator does not work if primitiveError: is broken. Fix it.

=============== Diff against Kernel-fbs.824 ===============

Item was changed:
  ----- Method: Object>>primitiveError: (in category 'private') -----
  primitiveError: aString 
  	"This method is called when the error handling results in a recursion in 
  	calling on error: or halt or halt:."
  	| hasTranscripter transcripter |
+ 	hasTranscripter := (Smalltalk classNamed: #Transcripter)
+ 		ifNotNil: [ :t | transcripter := t. true]
+ 		ifNil: [false].
- 	hasTranscripter := Smalltalk at: #Transcripter
- 		ifPresent: [ :t | transcripter := t. true]
- 		ifAbsent: [false].
  	(String
  		streamContents: 
  			[:s |
  			| context |
  			s nextPutAll: '***System error handling failed***'.
  			s cr; nextPutAll: aString.
  			context := thisContext sender sender.
  			20 timesRepeat: [context == nil ifFalse: [s cr; print: (context := context sender)]].
  			s cr; nextPutAll: '-------------------------------'.
  			hasTranscripter
  				ifTrue: [
  					s cr; nextPutAll: 'Type CR to enter an emergency evaluator.'.
  					s cr; nextPutAll: 'Type any other character to restart.']
  				ifFalse: [
  					s cr; nextPutAll: 'Type any character to restart.']])
  		displayAt: 0 @ 0.
  	[Sensor keyboardPressed] whileFalse.
  	Sensor keyboard = Character cr ifTrue: [
  		hasTranscripter ifTrue: [transcripter emergencyEvaluator]].
  	Project current resetDisplay!



More information about the Squeak-dev mailing list