--- a/CharacterEncoder.st Tue Mar 09 00:18:22 2004 +0100
+++ b/CharacterEncoder.st Tue Mar 09 00:21:49 2004 +0100
@@ -10,8 +10,6 @@
hereby transferred.
"
-'From Smalltalk/X, Version:5.2.1 on 09-03-2004 at 12:03:25 am' !
-
"{ Package: 'stx:libbasic' }"
Object subclass:#CharacterEncoder
@@ -236,6 +234,9 @@
enc isNil ifTrue:[
unicodeEncoderClasses := EncoderClassesByName at:#unicode ifAbsent:nil.
+ unicodeEncoderClasses isNil ifTrue:[
+ EncoderClassesByName at:#unicode put:(unicodeEncoderClasses := Dictionary new).
+ ].
cls := unicodeEncoderClasses at:name ifAbsent:nil.
cls notNil ifTrue:[
enc := cls new.
@@ -288,14 +289,14 @@
encoderToEncodeFrom:oldEncodingArg into:newEncodingArg
|oldEncoding newEncoding encoders encoderClasses encoder decoder cls|
- oldEncodingArg isSymbol ifFalse:[self halt:'symbol argument expected'].
- newEncodingArg isSymbol ifFalse:[self halt:'symbol argument expected'].
-
oldEncoding := oldEncodingArg ? #'unicode'.
oldEncoding == #'iso10646-1' ifTrue:[ oldEncoding := #'unicode'].
newEncoding := newEncodingArg ? #'unicode'.
newEncoding == #'iso10646-1' ifTrue:[ newEncoding := #'unicode'].
+ oldEncoding isSymbol ifFalse:[self halt:'symbol argument expected'. oldEncoding := oldEncoding asSymbol].
+ newEncoding isSymbol ifFalse:[self halt:'symbol argument expected'. newEncoding := newEncoding asSymbol].
+
oldEncoding == newEncoding ifTrue:[^ NullEncoderInstance].
(oldEncoding match:newEncoding) ifTrue:[^ NullEncoderInstance].
@@ -1159,7 +1160,7 @@
!CharacterEncoder class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.53 2004-03-08 23:18:18 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.54 2004-03-08 23:21:49 cg Exp $'
! !
CharacterEncoder initialize!