CharacterEncoder.st
changeset 8120 bafc72f60618
parent 8119 56fd0cf42779
child 8122 29670db31014
--- 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!