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!
packages@lists.squeakfoundation.org