class: Number
changed: #readSmalltalkSyntaxFrom:
catch errors when evaluating smalltalk code
--- a/Number.st Tue Apr 16 20:09:17 2013 +0200
+++ b/Number.st Wed Apr 17 12:37:35 2013 +0200
@@ -384,7 +384,19 @@
"/ ^ Scanner scanNumberFrom:aStream
|value|
- value := Compiler evaluate:aStream compile:false.
+ [
+ value := Compiler
+ evaluate:aStream
+ in:nil
+ receiver:nil
+ notifying:nil
+ logged:false
+ ifFail:[^ nil]
+ compile:false.
+ ] on:Error do:[:ex|
+ ^ nil.
+ ].
+
(value isKindOf:self) ifFalse:[^ nil].
^ value.
@@ -2339,10 +2351,10 @@
!Number class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.138 2013-04-11 14:57:50 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.139 2013-04-17 10:37:35 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.138 2013-04-11 14:57:50 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.139 2013-04-17 10:37:35 stefan Exp $'
! !