1) 3 ~= 3.0e was changed from ~= to = upon coercion. That's bad. :-)
It didn't happen for 3 ~= 3.0 because a primitive took care of that
operation.
2) This 3.0e was actually meant to be a 3.0, but changed to a FloatE by
the RBParser.
Both patches together allow Complex to be converted successfully.
Paolo
* auto-adding
[hidden email]--2004b/smalltalk--devo--2.2--patch-505 to greedy revision library /Users/bonzinip/Archives/revlib
* found immediate ancestor revision in library (
[hidden email]--2004b/smalltalk--devo--2.2--patch-504)
* patching for this revision (
[hidden email]--2004b/smalltalk--devo--2.2--patch-505)
--- orig/kernel/Number.st
+++ mod/kernel/Number.st
@@ -241,7 +241,7 @@ retryInequalityCoercing: aNumber
aNumGen := aNumber generality.
aNumGen isNil ifTrue: [ ^true ].
- selfGen > aNumGen ifTrue: [ ^false == (self = (self coerce: aNumber)) ].
+ selfGen > aNumGen ifTrue: [ ^false == (self ~= (self coerce: aNumber)) ].
selfGen < aNumGen ifTrue: [ ^false == ((aNumber coerce: self) ~= aNumber) ].
self retryError
* auto-adding
[hidden email]--2004b/smalltalk--devo--2.2--patch-506 to greedy revision library /Users/bonzinip/Archives/revlib
* found immediate ancestor revision in library (
[hidden email]--2004b/smalltalk--devo--2.2--patch-505)
* patching for this revision (
[hidden email]--2004b/smalltalk--devo--2.2--patch-506)
--- orig/packages/stinst/parser/RBParser.st
+++ mod/packages/stinst/parser/RBParser.st
@@ -810,7 +810,7 @@ scanNumberValue
currentCharacter == $q ifTrue: [ num := num asFloatQ ] ifFalse: [
^exponent isNil
ifTrue: [ num ]
- ifFalse: [ num asFloatE * (base raisedToInteger: exponent) ]
+ ifFalse: [ num asFloatD * (base raisedToInteger: exponent) ]
]]].
ch := currentCharacter.
_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk