added STXEncoder (utf8 support)
authormkobetic
Tue, 31 Jan 2012 03:46:52 +0000
changeset 89 208ac7c53cfb
parent 88 4c819b23060f
child 90 59f68d289949
added STXEncoder (utf8 support)
support/Make.proto
support/Make.spec
support/Xtreams__Encoder.st
support/Xtreams__STXEncoder.st
support/abbrev.stc
support/bc.mak
support/libInit.cc
support/stx_goodies_xtreams_support.st
support/support.rc
--- a/support/Make.proto	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/Make.proto	Tue Jan 31 03:46:52 2012 +0000
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_goodies_xtreams_support at 2011-11-21 11:50:44.478.
+# automagically generated from the projectDefinition: stx_goodies_xtreams_support at 2012-01-30 22:46:44.278.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic
 
 
 # if you need any additional defines for embedded C code,
@@ -44,7 +44,7 @@
 LOCALDEFINES=
 
 LIBNAME=libstx_goodies_xtreams_support
-STCLOCALOPT='-package=$(PACKAGE)' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -H.  -varPrefix=$(LIBNAME)
+STCLOCALOPT='-package=$(PACKAGE)' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=.  -varPrefix=$(LIBNAME)
 
 
 # ********** OPTIONAL: MODIFY the next line ***
@@ -69,9 +69,11 @@
 
 update-svn-revision:
 	if [ -d .svn ]; then \
-		if [ ! -r .svnversion -o "$(shell svnversion -n)" != "$(shell cat .svnversion)" ]; then \
-			svnversion -n > .svnversion; \
-			sed -i -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"'$(shell svnversion -n)'\"\$$\"/g" \
+		rev=$(shell svnversion -n); \
+		if [ ! -r .svnversion -o "$$rev" != "$$(cat .svnversion)" ]; then \
+			echo -n $$rev > .svnversion; \
+			rev2=$$(printf "%15s" \'$$rev\'); \
+			sed -i -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"$$rev2\"\$$\"/g" \
 				stx_goodies_xtreams_support.st; \
 		fi \
 	fi
@@ -94,6 +96,7 @@
 
 prereq: $(REQUIRED_SUPPORT_DIRS)
 	cd ../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
@@ -110,10 +113,12 @@
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
 $(OUTDIR)Xtreams__Encoder.$(O) Xtreams__Encoder.$(H): Xtreams__Encoder.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)Xtreams__XtreamsPool.$(O) Xtreams__XtreamsPool.$(H): Xtreams__XtreamsPool.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__InterpretedBytes.$(O) Xtreams__InterpretedBytes.$(H): Xtreams__InterpretedBytes.st $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)XtreamsPool.$(O) XtreamsPool.$(H): XtreamsPool.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_xtreams_support.$(O) stx_goodies_xtreams_support.$(H): stx_goodies_xtreams_support.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)Xtreams__RecyclingCenter.$(O) Xtreams__RecyclingCenter.$(H): Xtreams__RecyclingCenter.st $(INCLUDE_TOP)/stx/goodies/xtreams/support/Xtreams__XtreamsPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Block.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__RecyclingCenter.$(O) Xtreams__RecyclingCenter.$(H): Xtreams__RecyclingCenter.st $(INCLUDE_TOP)/stx/goodies/xtreams/support/XtreamsPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__STXEncoder.$(O) Xtreams__STXEncoder.$(H): Xtreams__STXEncoder.st $(INCLUDE_TOP)/stx/goodies/xtreams/support/Xtreams__Encoder.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Block.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Symbol.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UnixOperatingSystem.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/support/Make.spec	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/Make.spec	Tue Jan 31 03:46:52 2012 +0000
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_goodies_xtreams_support at 2011-11-21 11:50:44.461.
+# automagically generated from the projectDefinition: stx_goodies_xtreams_support at 2012-01-30 22:46:44.250.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -18,7 +18,7 @@
 
 
 # Argument(s) to the stc compiler (stc --usage).
-#  -H.         : create header files locally
+#  -headerDir=. : create header files locally
 #                (if removed, they will be created as common
 #  -Pxxx       : defines the package
 #  -Zxxx       : a prefix for variables within the classLib
@@ -51,18 +51,22 @@
 
 COMMON_CLASSES= \
 	Xtreams::Encoder \
-	Xtreams::XtreamsPool \
+	Xtreams::InterpretedBytes \
+	XtreamsPool \
 	stx_goodies_xtreams_support \
 	Xtreams::RecyclingCenter \
+	Xtreams::STXEncoder \
 
 
 
 
 COMMON_OBJS= \
     $(OUTDIR)Xtreams__Encoder.$(O) \
-    $(OUTDIR)Xtreams__XtreamsPool.$(O) \
+    $(OUTDIR)Xtreams__InterpretedBytes.$(O) \
+    $(OUTDIR)XtreamsPool.$(O) \
     $(OUTDIR)stx_goodies_xtreams_support.$(O) \
     $(OUTDIR)Xtreams__RecyclingCenter.$(O) \
+    $(OUTDIR)Xtreams__STXEncoder.$(O) \
     $(OUTDIR)extensions.$(O) \
 
 
--- a/support/Xtreams__Encoder.st	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/Xtreams__Encoder.st	Tue Jan 31 03:46:52 2012 +0000
@@ -47,6 +47,11 @@
 backupState
 !
 
+contentsSpecies
+
+        ^String
+!
+
 decodeFrom: aReadStream
 
 	^self subclassResponsibility
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/Xtreams__STXEncoder.st	Tue Jan 31 03:46:52 2012 +0000
@@ -0,0 +1,106 @@
+"{ Package: 'stx:goodies/xtreams/support' }"
+
+"{ NameSpace: Xtreams }"
+
+Encoder subclass:#STXEncoder
+	instanceVariableNames:'encoder stream character contentsSpecies'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Xtreams-Support'
+!
+
+STXEncoder comment:'Provides access to all encodings supported by VisualWorks.
+
+Instance Variables
+	encoder <StreamEncoder> the encoder from classic EncodedStream
+	skipRecord      <PositionRecord> the skipRecord of the encoder to allow repeated decoding attempts
+	backupRecord    <PositionRecord> snapshot of the skipRecord that we can restore from
+
+'
+!
+
+
+!STXEncoder class methodsFor:'instance creation'!
+
+encoder: anEncoder
+
+	^self new encoder: anEncoder
+!
+
+for: anEncoding
+
+	^self new encoding: anEncoding
+! !
+
+!STXEncoder class methodsFor:'class initialization'!
+
+initialize
+
+	DialectEncoder := self
+! !
+
+!STXEncoder methodsFor:'accessing'!
+
+decodeFrom: aReadStream
+
+        stream := aReadStream.
+        ^encoder readNextCharacterFrom: self
+!
+
+encode: aCharacter on: aWriteStream
+
+        character := aCharacter.
+        ^aWriteStream write: (encoder readNextInputCharacterFrom: self)
+!
+
+encoder
+
+	^encoder
+!
+
+next: count
+
+        |bytes|
+
+        bytes := ByteArray new: count.
+        character isNil
+                ifTrue: [ stream read: count into: bytes ]
+                ifFalse: [ bytes at: 1 put: character.
+                        character := nil.
+                        stream read: count - 1 into: bytes at: 2 ].
+        ^bytes
+!
+
+nextUnsignedShortMSB: bigEndian
+
+        ^character codePoint
+!
+
+peek
+
+        ^character ifNil: [ character := stream get ]
+! !
+
+!STXEncoder methodsFor:'initialize-release'!
+
+encoder: anEncoder
+
+        encoder := anEncoder.
+        contentsSpecies := (anEncoder newString: 1) class.
+!
+
+encoding: anEncoding
+
+        | newEncoder |
+        newEncoder := CharacterEncoder encoderFor: anEncoding.
+        newEncoder isNullEncoder ifTrue: [ self error: 'Unsupported encoding!!' ].
+        self encoder: newEncoder
+! !
+
+!STXEncoder class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id$'
+! !
+
+STXEncoder initialize!
--- a/support/abbrev.stc	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/abbrev.stc	Tue Jan 31 03:46:52 2012 +0000
@@ -1,4 +1,6 @@
 Xtreams::Encoder Xtreams__Encoder stx:goodies/xtreams/support 'Xtreams-Support' 0
+Xtreams::InterpretedBytes Xtreams__InterpretedBytes stx:goodies/xtreams/support 'Xtreams-Support' 0
+XtreamsPool XtreamsPool stx:goodies/xtreams/support 'Xtreams-Support' 0
+stx_goodies_xtreams_support stx_goodies_xtreams_support stx:goodies/xtreams/support '* Projects & Packages *' 3
 Xtreams::RecyclingCenter Xtreams__RecyclingCenter stx:goodies/xtreams/support 'Xtreams-Support' 5
-stx_goodies_xtreams_support stx_goodies_xtreams_support stx:goodies/xtreams/support '* Projects & Packages *' 3
-XtreamsPool XtreamsPool stx:goodies/xtreams/support 'Xtreams-Support' 0
+Xtreams::STXEncoder Xtreams__STXEncoder stx:goodies/xtreams/support 'Xtreams-Support' 0
--- a/support/bc.mak	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/bc.mak	Tue Jan 31 03:46:52 2012 +0000
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_goodies_xtreams_support at 2011-11-21 11:50:44.489.
+# automagically generated from the projectDefinition: stx_goodies_xtreams_support at 2012-01-30 22:46:44.352.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -33,10 +33,10 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 
-STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -H. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
+STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
 LOCALLIBS=
 
 OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
@@ -50,6 +50,7 @@
 # build all prerequisite packages for this package
 prereq:
 	pushd ..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
@@ -58,9 +59,11 @@
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
 $(OUTDIR)Xtreams__Encoder.$(O) Xtreams__Encoder.$(H): Xtreams__Encoder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)Xtreams__XtreamsPool.$(O) Xtreams__XtreamsPool.$(H): Xtreams__XtreamsPool.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__InterpretedBytes.$(O) Xtreams__InterpretedBytes.$(H): Xtreams__InterpretedBytes.st $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)XtreamsPool.$(O) XtreamsPool.$(H): XtreamsPool.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_xtreams_support.$(O) stx_goodies_xtreams_support.$(H): stx_goodies_xtreams_support.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)Xtreams__RecyclingCenter.$(O) Xtreams__RecyclingCenter.$(H): Xtreams__RecyclingCenter.st $(INCLUDE_TOP)\stx\goodies\xtreams\support\Xtreams__XtreamsPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Block.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__RecyclingCenter.$(O) Xtreams__RecyclingCenter.$(H): Xtreams__RecyclingCenter.st $(INCLUDE_TOP)\stx\goodies\xtreams\support\XtreamsPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__STXEncoder.$(O) Xtreams__STXEncoder.$(H): Xtreams__STXEncoder.st $(INCLUDE_TOP)\stx\goodies\xtreams\support\Xtreams__Encoder.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Block.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Symbol.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UnixOperatingSystem.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/support/libInit.cc	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/libInit.cc	Tue Jan 31 03:46:52 2012 +0000
@@ -28,9 +28,11 @@
 OBJ snd; struct __vmData__ *__pRT__; {
 __BEGIN_PACKAGE2__("libstx_goodies_xtreams_support", _libstx_goodies_xtreams_support_Init, "stx:goodies/xtreams/support");
 _Xtreams__Encoder_Init(pass,__pRT__,snd);
-_Xtreams__XtreamsPool_Init(pass,__pRT__,snd);
+_Xtreams__InterpretedBytes_Init(pass,__pRT__,snd);
+_XtreamsPool_Init(pass,__pRT__,snd);
 _stx_137goodies_137xtreams_137support_Init(pass,__pRT__,snd);
 _Xtreams__RecyclingCenter_Init(pass,__pRT__,snd);
+_Xtreams__STXEncoder_Init(pass,__pRT__,snd);
 
 _stx_137goodies_137xtreams_137support_extensions_Init(pass,__pRT__,snd);
 __END_PACKAGE__();
--- a/support/stx_goodies_xtreams_support.st	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/stx_goodies_xtreams_support.st	Tue Jan 31 03:46:52 2012 +0000
@@ -10,7 +10,7 @@
 !stx_goodies_xtreams_support class methodsFor:'documentation'!
 
 extensionsVersion_SVN
-    ^ '$Id: extensions.st 67 2012-01-30 22:16:03Z mkobetic $'
+    ^ '$Id$'
 ! !
 
 !stx_goodies_xtreams_support class methodsFor:'description'!
@@ -113,7 +113,7 @@
      (Generated since 2011-04-08)
     "        
 
-    ^ '$URL: https://swing.fit.cvut.cz/svn/stx/goodies/xtreams/trunk/support/stx_goodies_xtreams_support.st $'
+    ^ '$URL$'
 !
 
 svnRevisionNr
--- a/support/support.rc	Tue Jan 31 02:32:51 2012 +0000
+++ b/support/support.rc	Tue Jan 31 03:46:52 2012 +0000
@@ -3,7 +3,7 @@
 // automagically generated from the projectDefinition: stx_goodies_xtreams_support.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,16,16
+  FILEVERSION     6,2,0,1
   PRODUCTVERSION  6,2,1,1
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
-      VALUE "FileVersion", "6.2.16.16\0"
+      VALUE "FileVersion", "6.2.0.1\0"
       VALUE "InternalName", "stx:goodies/xtreams/support\0"
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.1.1\0"
-      VALUE "ProductDate", "Mon, 21 Nov 2011 16:50:44 GMT\0"
+      VALUE "ProductDate", "Tue, 31 Jan 2012 03:46:44 GMT\0"
     END
 
   END