[squeak-dev] The Trunk: Kernel-fbs.824.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Dec 13 18:59:57 UTC 2013


Frank Shearar uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-fbs.824.mcz

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

Name: Kernel-fbs.824
Author: fbs
Time: 13 December 2013, 6:59:11.307 pm
UUID: ad461b3e-f257-6e46-ae02-9aa8cffd8a6d
Ancestors: Kernel-eem.823

_For now_, rip the emergency evaluator out because it's broken... unless you're using MVC, in which case it just works.

Later work can add an AppRegistry to the _System_ package, so that _Morphic_ can get an emergency evaluator once more. (Emphasis to emphasise that an emergency evaluator is not Kernel's concern. #primitiveError: probably ought to go into System.)

=============== Diff against Kernel-eem.823 ===============

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 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.']])
- 			s cr; nextPutAll: 'Type CR to enter an emergency evaluator.'.
- 			s cr; nextPutAll: 'Type any other character to restart.'])
  		displayAt: 0 @ 0.
  	[Sensor keyboardPressed] whileFalse.
+ 	Sensor keyboard = Character cr ifTrue: [
+ 		hasTranscripter ifTrue: [transcripter emergencyEvaluator]].
+ 	Project current resetDisplay!
- 	Sensor keyboard = Character cr ifTrue: [Transcripter emergencyEvaluator].
- 	Project current resetDisplay
- !



More information about the Squeak-dev mailing list