[squeak-dev] The Trunk: Kernel-ct.1302.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Feb 21 15:21:02 UTC 2020


Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ct.1302.mcz

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

Name: Kernel-ct.1302
Author: ct
Time: 19 February 2020, 12:34:30.375795 pm
UUID: 74a9f8fe-1a71-7243-897f-15e8d472f2ec
Ancestors: Kernel-eem.1296

Fixes and refines Object >> readCarefullyFrom:

- repair syntax error handling
- deduplicate #readFrom: and #readCarefullyFrom: by introducing #basicReadFrom:
- add multilingual support

=============== Diff against Kernel-eem.1296 ===============

Item was added:
+ ----- Method: Object class>>basicReadFrom: (in category 'instance creation') -----
+ basicReadFrom: textStringOrStream
+ 	"Create an object based on the contents of textStringOrStream."
+ 
+ 	| object |
+ 	(Compiler couldEvaluate: textStringOrStream)
+ 		ifFalse: [^ self error: 'expected String, Stream, or Text' translated].
+ 	object := self environment beCurrentDuring: [
+ 		Compiler evaluate: textStringOrStream environment: self environment].
+ 	(object isKindOf: self) ifFalse: [self error: ('{1} expected' translated format: {self name})].
+ 	^object!

Item was changed:
  ----- Method: Object class>>readCarefullyFrom: (in category 'instance creation') -----
  readCarefullyFrom: textStringOrStream
  	"Create an object based on the contents of textStringOrStream.  Return an error instead of putting up a SyntaxError window."
  
+ 	^ [self basicReadFrom: textStringOrStream]
+ 		on: SyntaxErrorNotification
+ 		do: [:ex | self error: ex]!
- 	| object |
- 	(Compiler couldEvaluate: textStringOrStream)
- 		ifFalse: [^ self error: 'expected String, Stream, or Text'].
- 	object := Compiler evaluate: textStringOrStream for: nil 
- 				notifying: #error: "signal we want errors".
- 	(object isKindOf: self) ifFalse: [self error: self name, ' expected'].
- 	^object!

Item was changed:
  ----- Method: Object class>>readFrom: (in category 'instance creation') -----
  readFrom: textStringOrStream
  	"Create an object based on the contents of textStringOrStream."
  
+ 	^ self basicReadFrom: textStringOrStream!
- 	| object |
- 	(Compiler couldEvaluate: textStringOrStream)
- 		ifFalse: [^ self error: 'expected String, Stream, or Text'].
- 	object := self environment beCurrentDuring: [Compiler evaluate: textStringOrStream environment: self environment].
- 	(object isKindOf: self) ifFalse: [self error: self name, ' expected'].
- 	^object!



More information about the Squeak-dev mailing list