merging
authorMartin Kobetic
Sun, 17 Nov 2013 00:21:39 -0500
changeset 141 263190106319
parent 140 5b2d7e4340ad (diff)
parent 129 6336404a548f (current diff)
child 142 bb455e329cbb
merging
--- a/substreams/Make.proto	Sun Nov 17 00:01:47 2013 -0500
+++ b/substreams/Make.proto	Sun Nov 17 00:21:39 2013 -0500
@@ -99,7 +99,8 @@
 # add more postMake actions here
 postMake:: cleanjunk
 
-prereq: $(REQUIRED_SUPPORT_DIRS)
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
 	cd ../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../support && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
@@ -107,6 +108,11 @@
 
 
 
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
+
+
 cleanjunk::
 	-rm -f *.s *.s2
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/substreams/Makefile.init	Sun Nov 17 00:21:39 2013 -0500
@@ -0,0 +1,27 @@
+#
+# DO NOT EDIT
+#
+# make uses this file (Makefile) only, if there is no
+# file named "makefile" (lower-case m) in the same directory.
+# My only task is to generate the real makefile and call make again.
+# Thereafter, I am no longer used and needed.
+#
+# MACOSX caveat:
+#   as filenames are not case sensitive (in a default setup),
+#   we cannot use the above trick. Therefore, this file is now named
+#   "Makefile.init", and you have to execute "make -f Makefile.init" to
+#   get the initial makefile.  This is now also done by the toplevel CONFIG
+#   script.
+
+.PHONY: run
+
+run: makefile
+	$(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile: mf
+
+mf:
+	$(TOP)/rules/stmkmf
--- a/substreams/bc.mak	Sun Nov 17 00:01:47 2013 -0500
+++ b/substreams/bc.mak	Sun Nov 17 00:21:39 2013 -0500
@@ -48,7 +48,7 @@
 
 !INCLUDE $(TOP)\rules\stdRules_bc
 
-# build all prerequisite packages for this package
+# build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
 	pushd ..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
@@ -60,6 +60,7 @@
 
 
 
+
 test: $(TOP)\goodies\builder\reports\NUL
 	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
 	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
--- a/substreams/mingwmake.bat	Sun Nov 17 00:01:47 2013 -0500
+++ b/substreams/mingwmake.bat	Sun Nov 17 00:21:39 2013 -0500
@@ -11,6 +11,6 @@
 @pushd ..\..\..\rules
 @call find_mingw.bat
 @popd
-make.exe -N -f bc.mak %USEMINGW_ARG% %*
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 
--- a/substreams/stx_goodies_xtreams_substreams.st	Sun Nov 17 00:01:47 2013 -0500
+++ b/substreams/stx_goodies_xtreams_substreams.st	Sun Nov 17 00:21:39 2013 -0500
@@ -20,7 +20,7 @@
 	| stream substream |
 	stream := String new writing.
 	substream := stream limiting: 5.
-	[ substream write: ''Hello World!!'' ] on: Incomplete do: [].
+	[ substream write: ''Hello World!!!!'' ] on: Incomplete do: [].
 	stream conclusion
 }}}
 
@@ -52,13 +52,13 @@
 }}}
   * any other object - the stream ends when an equal element passes through the stream"
 {{{
-	(''ab#cd#ef!!ABC##'' reading ending: $!!) rest.
+	(''ab#cd#ef!!!!ABC##'' reading ending: $!!!!) rest.
 }}}
 {{{
 	| stream substream |
 	stream := String new writing.
-	substream := stream ending: $!!.
-	[ substream write: ''Hello World!! Bye World!!'' ] on: Incomplete do: [].
+	substream := stream ending: $!!!!.
+	[ substream write: ''Hello World!!!! Bye World!!!!'' ] on: Incomplete do: [].
 	stream conclusion
 }}}
 There is also a longer form #ending:inclusive: which takes an additional Boolean argument determining if the matching elements should be part of the substream content or not. The short form assumes the matching elements should be omitted.
@@ -99,10 +99,10 @@
 	samples conclusion
 }}}
 
-In the following example the stream contains multiple messages delimited by $!! and each message has multiple parts ending with $#. We want to process each part as a stream of its own (this is a simplified version of how multipart messages are represented in MIME).
+In the following example the stream contains multiple messages delimited by $!!!! and each message has multiple parts ending with $#. We want to process each part as a stream of its own (this is a simplified version of how multipart messages are represented in MIME).
 {{{
 	| messages |
-	messages := (''ab#cd#ef!!ABC##'' reading ending: $!!) slicing.
+	messages := (''ab#cd#ef!!!!ABC##'' reading ending: $!!!!) slicing.
 	messages collect: [ :message |
 		(message ending: $#) slicing collect: [ :part | part rest ] ]
 }}}
@@ -112,7 +112,7 @@
 {{{
 	| connection messages |
 	connection := String new writing.
-	messages := (connection closing: [ connection put: $!! ]) slicing.
+	messages := (connection closing: [ connection put: $!!!! ]) slicing.
 	3 timesRepeat: [ | parts message |
 		message := messages get.
 		parts := (message closing: [ connection put: $# ]) slicing.
@@ -276,6 +276,13 @@
     )
 ! !
 
+!stx_goodies_xtreams_substreams class methodsFor:'description - project information'!
+
+legalCopyright
+
+        ^'Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith'
+! !
+
 !stx_goodies_xtreams_substreams class methodsFor:'documentation'!
 
 version_HG
--- a/substreams/substreams.rc	Sun Nov 17 00:01:47 2013 -0500
+++ b/substreams/substreams.rc	Sun Nov 17 00:21:39 2013 -0500
@@ -4,7 +4,7 @@
 //
 VS_VERSION_INFO VERSIONINFO
   FILEVERSION     6,2,32767,32767
-  PRODUCTVERSION  6,2,3,0
+  PRODUCTVERSION  6,2,3,957
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -22,10 +22,10 @@
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
       VALUE "FileVersion", "6.2.32767.32767\0"
       VALUE "InternalName", "stx:goodies/xtreams/substreams\0"
-      VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2013\nCopyright eXept Software AG 1998-2013\0"
+      VALUE "LegalCopyright", "Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith\0"
       VALUE "ProductName", "Smalltalk/X\0"
-      VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Fri, 15 Mar 2013 22:26:00 GMT\0"
+      VALUE "ProductVersion", "6.2.3.957\0"
+      VALUE "ProductDate", "Sun, 17 Nov 2013 05:01:30 GMT\0"
     END
 
   END
--- a/terminals/Make.proto	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/Make.proto	Sun Nov 17 00:21:39 2013 -0500
@@ -21,7 +21,7 @@
 INCLUDE_TOP=$(TOP)/..
 
 # subdirectories where targets are to be made:
-SUBDIRS=
+SUBDIRS= tests
 
 
 # subdirectories where Makefiles are to be made:
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/xtreams/core -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/goodies/xtreams/support -I$(INCLUDE_TOP)/stx/libview
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/xtreams/core -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/goodies/xtreams/support -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libview
 
 
 # if you need any additional defines for embedded C code,
@@ -99,14 +99,23 @@
 # add more postMake actions here
 postMake:: cleanjunk
 
-prereq: $(REQUIRED_SUPPORT_DIRS)
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
 	cd ../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../support && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../core && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
+
+
 cleanjunk::
 	-rm -f *.s *.s2
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/terminals/Makefile.init	Sun Nov 17 00:21:39 2013 -0500
@@ -0,0 +1,27 @@
+#
+# DO NOT EDIT
+#
+# make uses this file (Makefile) only, if there is no
+# file named "makefile" (lower-case m) in the same directory.
+# My only task is to generate the real makefile and call make again.
+# Thereafter, I am no longer used and needed.
+#
+# MACOSX caveat:
+#   as filenames are not case sensitive (in a default setup),
+#   we cannot use the above trick. Therefore, this file is now named
+#   "Makefile.init", and you have to execute "make -f Makefile.init" to
+#   get the initial makefile.  This is now also done by the toplevel CONFIG
+#   script.
+
+.PHONY: run
+
+run: makefile
+	$(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile: mf
+
+mf:
+	$(TOP)/rules/stmkmf
--- a/terminals/bc.mak	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/bc.mak	Sun Nov 17 00:21:39 2013 -0500
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\xtreams\core -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\goodies\xtreams\support -I$(INCLUDE_TOP)\stx\libview
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\xtreams\core -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\goodies\xtreams\support -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libview
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -48,12 +48,16 @@
 
 !INCLUDE $(TOP)\rules\stdRules_bc
 
-# build all prerequisite packages for this package
+# build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
 	pushd ..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\support & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\core & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
 
 
 
--- a/terminals/bmake.bat	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/bmake.bat	Sun Nov 17 00:21:39 2013 -0500
@@ -9,4 +9,11 @@
 @IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
 make.exe -N -f bc.mak  %DEFINES% %*
 
+@echo "***********************************"
+@echo "Buildung stx/goodies/xtreams/terminals/tests
+@echo "***********************************"
+@cd tests
+@call bmake %1 %2
+@cd ..
 
+
--- a/terminals/extensions.st	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/extensions.st	Sun Nov 17 00:21:39 2013 -0500
@@ -190,4 +190,4 @@
 extensionsVersion_HG
 
     ^ '$Changeset: <not expanded> $'
-! !
\ No newline at end of file
+! !
--- a/terminals/lccmake.bat	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/lccmake.bat	Sun Nov 17 00:21:39 2013 -0500
@@ -5,4 +5,11 @@
 @REM -------
 make.exe -N -f bc.mak -DUSELCC=1 %*
 
+@echo "***********************************"
+@echo "Buildung stx/goodies/xtreams/terminals/tests
+@echo "***********************************"
+@cd tests
+@call lccmake %1 %2
+@cd ..
 
+
--- a/terminals/mingwmake.bat	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/mingwmake.bat	Sun Nov 17 00:21:39 2013 -0500
@@ -11,6 +11,13 @@
 @pushd ..\..\..\rules
 @call find_mingw.bat
 @popd
-make.exe -N -f bc.mak %USEMINGW_ARG% %*
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
+
+@echo "***********************************"
+@echo "Buildung stx/goodies/xtreams/terminals/tests
+@echo "***********************************"
+@cd tests
+@call mingwmake %1 %2
+@cd ..
 
 
--- a/terminals/stx_goodies_xtreams_terminals.st	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/stx_goodies_xtreams_terminals.st	Sun Nov 17 00:21:39 2013 -0500
@@ -49,11 +49,11 @@
 Single argument blocks can be used as write terminals.
 {{{
 	"Transcript as an xtream"
-	[ :x | Transcript nextPut: x ] writing write: ''Hello World!!''
+	[ :x | Transcript nextPut: x ] writing write: ''Hello World!!!!''
 }}}
 {{{
 	"/dev/null"
-	[ :x | ] writing write: ''Hello World!!''
+	[ :x | ] writing write: ''Hello World!!!!''
 }}}
 Combined with stream transforms like #doing: and #limiting:, a block closure stream can be used to transform arbitrary loop into a stream and the streaming API can provide fine grained control over the execution of the loop body.
 
@@ -75,7 +75,7 @@
 	| file |
 	file := ''/dev/shm/xtreams-test'' asFilename.
 	[       file writing write: ''Hello''; close.
-		file appending write: '' World!!''; close.
+		file appending write: '' World!!!!''; close.
 		file contentsOfEntireFile.
 	] ensure: [ file delete ]
 }}}
@@ -162,7 +162,7 @@
 	buffer := CIntegerType unsignedChar malloc: 50.
 	[       buffer writing
 			length: 50;
-			write: ''Hello World!!''.
+			write: ''Hello World!!!!''.
 		buffer reading
 			length: 12;
 			contentsSpecies: ByteString;
@@ -184,6 +184,24 @@
     )
 !
 
+mandatoryPreRequisites
+    "list all required mandatory packages.
+     Packages are mandatory, if they contain superclasses of the package's classes
+     or classes which are extended by this package.
+     This list can be maintained manually or (better) generated and
+     updated by scanning the superclass hierarchies
+     (the browser has a menu function for that)"
+
+    ^ #(
+        #'stx:goodies/xtreams/core'    "Xtreams::Buffer - extended "
+        #'stx:goodies/xtreams/support'    "XtreamsPool - shared pool used by Xtreams::ExternalReadStream "
+        #'stx:libbasic'    "Block - extended "
+        #'stx:libbasic2'    "Queue - extended "
+        #'stx:libview'    "DeviceGraphicsContext - extended "
+        #'stx:libwidg'    "EditTextView - extended "
+    )
+!
+
 preRequisites
     "list all required packages.
      This list can be maintained manually or (better) generated and
@@ -197,6 +215,29 @@
 	#'stx:libbasic'    "Object - superclass of Xtreams::PointerWriteStream "
 	#'stx:libbasic2'    "Queue - superclass of extended SharedQueue "
     )
+!
+
+referencedPreRequisites
+    "list all packages containing classes referenced by the packages's members.
+     This list can be maintained manually or (better) generated and
+     updated by looking for global variable accesses
+     (the browser has a menu function for that)
+     However, often too much is found, and you may want to explicitely
+     exclude individual packages in the #excludedFromPreRequisites method."
+
+    ^ #(
+    )
+!
+
+subProjects
+    "list packages which are known as subprojects.
+     The generated makefile will enter those and make there as well.
+     However: they are not forced to be loaded when a package is loaded;
+     for those, redefine requiredPrerequisites"
+
+    ^ #(
+        #'stx:goodies/xtreams/terminals/tests'
+    )
 ! !
 
 !stx_goodies_xtreams_terminals class methodsFor:'description - contents'!
@@ -208,24 +249,24 @@
      Attributes are: #autoload or #<os> where os is one of win32, unix,..."
 
     ^ #(
-	"<className> or (<className> attributes...) in load order"
-	#'Xtreams::BlockClosureGenerateStream'
-	#'Xtreams::BlockClosureReadStream'
-	#'Xtreams::BlockClosureWriteStream'
-	#'Xtreams::BufferReadStream'
-	#'Xtreams::BufferWriteStream'
-	#'Xtreams::BufferedWriteStream'
-	#'Xtreams::CollectionWriteStream'
-	#'Xtreams::ExternalReadStream'
-	#'Xtreams::ExternalWriteStream'
-	#'Xtreams::FileWriteStream'
-	#'Xtreams::NullWriteStream'
-	#'Xtreams::SequenceableCollectionReadStream'
-	#'Xtreams::SequenceableCollectionWriteStream'
-	#'Xtreams::SharedQueueReadStream'
-	#'Xtreams::SharedQueueWriteStream'
-	#'stx_goodies_xtreams_terminals'
-	#'Xtreams::FileReadStream'
+        "<className> or (<className> attributes...) in load order"
+        #'Xtreams::BlockClosureGenerateStream'
+        #'Xtreams::BlockClosureReadStream'
+        #'Xtreams::BlockClosureWriteStream'
+        #'Xtreams::BufferReadStream'
+        #'Xtreams::BufferWriteStream'
+        #'Xtreams::BufferedWriteStream'
+        #'Xtreams::CollectionWriteStream'
+        #'Xtreams::ExternalReadStream'
+        #'Xtreams::ExternalWriteStream'
+        #'Xtreams::FileWriteStream'
+        #'Xtreams::NullWriteStream'
+        #'Xtreams::SequenceableCollectionReadStream'
+        #'Xtreams::SequenceableCollectionWriteStream'
+        #'Xtreams::SharedQueueReadStream'
+        #'Xtreams::SharedQueueWriteStream'
+        #'stx_goodies_xtreams_terminals'
+        #'Xtreams::FileReadStream'
     )
 !
 
@@ -234,31 +275,38 @@
      Entries are 2-element array literals, consisting of class-name and selector."
 
     ^ #(
-	Block reading
-	Block writing
-	Collection writing
-	Filename appending
-	Filename reading
-	Filename writing
-	Random reading
-	SequenceableCollection reading
-	SequenceableCollection writing
-	SharedQueue reading
-	SharedQueue writing
-	Socket accepting
-	Socket reading
-	Socket writing
-	UndefinedObject writing
-	#'Xtreams::Buffer' reading
-	#'Xtreams::Buffer' writing
-	#'Xtreams::WriteStream' buffering:
-	PipeStream isActive
-	PipeStream reading
-	PipeStream writing
-	TextCollector writing
+        Block reading
+        Block writing
+        Collection writing
+        Filename appending
+        Filename reading
+        Filename writing
+        Random reading
+        SequenceableCollection reading
+        SequenceableCollection writing
+        SharedQueue reading
+        SharedQueue writing
+        Socket accepting
+        Socket reading
+        Socket writing
+        UndefinedObject writing
+        #'Xtreams::Buffer' reading
+        #'Xtreams::Buffer' writing
+        #'Xtreams::WriteStream' buffering:
+        PipeStream isActive
+        PipeStream reading
+        PipeStream writing
+        TextCollector writing
     )
 ! !
 
+!stx_goodies_xtreams_terminals class methodsFor:'description - project information'!
+
+legalCopyright
+
+        ^'Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith'
+! !
+
 !stx_goodies_xtreams_terminals class methodsFor:'documentation'!
 
 version_HG
--- a/terminals/terminals.rc	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/terminals.rc	Sun Nov 17 00:21:39 2013 -0500
@@ -4,7 +4,7 @@
 //
 VS_VERSION_INFO VERSIONINFO
   FILEVERSION     6,2,32767,32767
-  PRODUCTVERSION  6,2,3,0
+  PRODUCTVERSION  6,2,3,957
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -22,10 +22,10 @@
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
       VALUE "FileVersion", "6.2.32767.32767\0"
       VALUE "InternalName", "stx:goodies/xtreams/terminals\0"
-      VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2013\nCopyright eXept Software AG 1998-2013\0"
+      VALUE "LegalCopyright", "Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith\0"
       VALUE "ProductName", "Smalltalk/X\0"
-      VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Fri, 15 Mar 2013 22:27:24 GMT\0"
+      VALUE "ProductVersion", "6.2.3.957\0"
+      VALUE "ProductDate", "Sun, 17 Nov 2013 05:08:34 GMT\0"
     END
 
   END
--- a/terminals/vcmake.bat	Sun Nov 17 00:01:47 2013 -0500
+++ b/terminals/vcmake.bat	Sun Nov 17 00:21:39 2013 -0500
@@ -17,4 +17,11 @@
 
 
 
+@echo "***********************************"
+@echo "Buildung stx/goodies/xtreams/terminals/tests
+@echo "***********************************"
+@cd tests
+@call vcmake %1 %2
+@cd ..
 
+
--- a/transforms/Make.proto	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/Make.proto	Sun Nov 17 00:21:39 2013 -0500
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/xtreams/terminals -I$(INCLUDE_TOP)/stx/goodies/xtreams/core -I$(INCLUDE_TOP)/stx/goodies/xtreams/support -I$(INCLUDE_TOP)/stx/libbasic2
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/xtreams/core -I$(INCLUDE_TOP)/stx/goodies/xtreams/support
 
 
 # if you need any additional defines for embedded C code,
@@ -121,15 +121,24 @@
 # add more postMake actions here
 postMake:: cleanjunk
 
-prereq: $(REQUIRED_SUPPORT_DIRS)
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
 	cd ../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../support && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../core && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../terminals && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
+
+
 cleanjunk::
 	-rm -f *.s *.s2
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/transforms/Makefile.init	Sun Nov 17 00:21:39 2013 -0500
@@ -0,0 +1,27 @@
+#
+# DO NOT EDIT
+#
+# make uses this file (Makefile) only, if there is no
+# file named "makefile" (lower-case m) in the same directory.
+# My only task is to generate the real makefile and call make again.
+# Thereafter, I am no longer used and needed.
+#
+# MACOSX caveat:
+#   as filenames are not case sensitive (in a default setup),
+#   we cannot use the above trick. Therefore, this file is now named
+#   "Makefile.init", and you have to execute "make -f Makefile.init" to
+#   get the initial makefile.  This is now also done by the toplevel CONFIG
+#   script.
+
+.PHONY: run
+
+run: makefile
+	$(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile: mf
+
+mf:
+	$(TOP)/rules/stmkmf
--- a/transforms/bc.mak	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/bc.mak	Sun Nov 17 00:21:39 2013 -0500
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\xtreams\terminals -I$(INCLUDE_TOP)\stx\goodies\xtreams\core -I$(INCLUDE_TOP)\stx\goodies\xtreams\support -I$(INCLUDE_TOP)\stx\libbasic2
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\xtreams\core -I$(INCLUDE_TOP)\stx\goodies\xtreams\support
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -48,12 +48,15 @@
 
 !INCLUDE $(TOP)\rules\stdRules_bc
 
-# build all prerequisite packages for this package
+# build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
 	pushd ..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\support & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\core & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\terminals & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
@@ -61,6 +64,7 @@
 
 
 
+
 test: $(TOP)\goodies\builder\reports\NUL
 	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
 	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
--- a/transforms/mingwmake.bat	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/mingwmake.bat	Sun Nov 17 00:21:39 2013 -0500
@@ -11,6 +11,6 @@
 @pushd ..\..\..\rules
 @call find_mingw.bat
 @popd
-make.exe -N -f bc.mak %USEMINGW_ARG% %*
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 
--- a/transforms/stx_goodies_xtreams_transforms.st	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/stx_goodies_xtreams_transforms.st	Sun Nov 17 00:21:39 2013 -0500
@@ -85,7 +85,7 @@
 {{{
         (ByteArray new writing encoding: #utf16)
                 setLineEndCRLF;
-                write: ''Hello World!!\Bye World!!'' withCRs;
+                write: ''Hello World!!!!\Bye World!!!!'' withCRs;
                 conclusion
 }}}
 An encoding read stream reads bytes from an underlying binary stream, decodes the bytes according to the pre-configured encoding and produces characters. It also performs automatic line end conversion from arbitrary platform convention to CRs, unless set into a transparent mode.
@@ -168,11 +168,6 @@
 '
 !
 
-!stx_goodies_xtreams_transforms class methodsFor:'documentation'!
-
-extensionsVersion_SVN
-    ^ '$Id: extensions.st 73 2012-01-30 22:30:43Z mkobetic $'
-! !
 
 !stx_goodies_xtreams_transforms class methodsFor:'description'!
 
@@ -303,9 +298,8 @@
 !
 
 legalCopyright
-    "Return a copyright string which will appear in <lib>.rc"
 
-    ^ 'Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011'
+        ^'Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith'
 !
 
 productName
--- a/transforms/tests/Make.proto	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/tests/Make.proto	Sun Nov 17 00:21:39 2013 -0500
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/xtreams/core/tests -I$(INCLUDE_TOP)/stx/goodies/xtreams/core -I$(INCLUDE_TOP)/stx/goodies/xtreams/transforms -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/goodies/xtreams/terminals/tests
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/xtreams/core/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/goodies/xtreams/terminals/tests
 
 
 # if you need any additional defines for embedded C code,
@@ -99,23 +99,29 @@
 # add more postMake actions here
 postMake:: cleanjunk
 
-prereq: $(REQUIRED_SUPPORT_DIRS)
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
 	cd ../../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../support && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../core && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../substreams && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../terminals && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../core/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../terminals/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
+
+
 cleanjunk::
 	-rm -f *.s *.s2
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/transforms/tests/Makefile.init	Sun Nov 17 00:21:39 2013 -0500
@@ -0,0 +1,27 @@
+#
+# DO NOT EDIT
+#
+# make uses this file (Makefile) only, if there is no
+# file named "makefile" (lower-case m) in the same directory.
+# My only task is to generate the real makefile and call make again.
+# Thereafter, I am no longer used and needed.
+#
+# MACOSX caveat:
+#   as filenames are not case sensitive (in a default setup),
+#   we cannot use the above trick. Therefore, this file is now named
+#   "Makefile.init", and you have to execute "make -f Makefile.init" to
+#   get the initial makefile.  This is now also done by the toplevel CONFIG
+#   script.
+
+.PHONY: run
+
+run: makefile
+	$(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile: mf
+
+mf:
+	$(TOP)/rules/stmkmf
--- a/transforms/tests/bc.mak	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/tests/bc.mak	Sun Nov 17 00:21:39 2013 -0500
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\xtreams\core\tests -I$(INCLUDE_TOP)\stx\goodies\xtreams\core -I$(INCLUDE_TOP)\stx\goodies\xtreams\transforms -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\goodies\xtreams\terminals\tests
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\xtreams\core\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\goodies\xtreams\terminals\tests
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -48,19 +48,19 @@
 
 !INCLUDE $(TOP)\rules\stdRules_bc
 
-# build all prerequisite packages for this package
+# build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
 	pushd ..\..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\support & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\core & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\substreams & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\terminals & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd .. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\core\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\terminals\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
@@ -69,6 +69,7 @@
 
 
 
+
 test: $(TOP)\goodies\builder\reports\NUL
 	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
 	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
--- a/transforms/tests/mingwmake.bat	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/tests/mingwmake.bat	Sun Nov 17 00:21:39 2013 -0500
@@ -11,6 +11,6 @@
 @pushd ..\..\..\..\rules
 @call find_mingw.bat
 @popd
-make.exe -N -f bc.mak %USEMINGW_ARG% %*
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 
--- a/transforms/tests/stx_goodies_xtreams_transforms_tests.st	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/tests/stx_goodies_xtreams_transforms_tests.st	Sun Nov 17 00:21:39 2013 -0500
@@ -131,6 +131,13 @@
     )
 ! !
 
+!stx_goodies_xtreams_transforms_tests class methodsFor:'description - project information'!
+
+legalCopyright
+
+        ^'Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith'
+! !
+
 !stx_goodies_xtreams_transforms_tests class methodsFor:'documentation'!
 
 version_HG
--- a/transforms/tests/tests.rc	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/tests/tests.rc	Sun Nov 17 00:21:39 2013 -0500
@@ -3,8 +3,8 @@
 // automagically generated from the projectDefinition: stx_goodies_xtreams_transforms_tests.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,0,1
-  PRODUCTVERSION  6,2,3,730
+  FILEVERSION     6,2,32767,32767
+  PRODUCTVERSION  6,2,3,957
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
-      VALUE "FileVersion", "6.2.0.1\0"
+      VALUE "FileVersion", "6.2.32767.32767\0"
       VALUE "InternalName", "stx:goodies/xtreams/transforms/tests\0"
-      VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2013\nCopyright eXept Software AG 1998-2013\0"
+      VALUE "LegalCopyright", "Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith\0"
       VALUE "ProductName", "Smalltalk/X\0"
-      VALUE "ProductVersion", "6.2.3.730\0"
-      VALUE "ProductDate", "Sun, 07 Apr 2013 21:48:32 GMT\0"
+      VALUE "ProductVersion", "6.2.3.957\0"
+      VALUE "ProductDate", "Sun, 17 Nov 2013 05:03:09 GMT\0"
     END
 
   END
--- a/transforms/transforms.rc	Sun Nov 17 00:01:47 2013 -0500
+++ b/transforms/transforms.rc	Sun Nov 17 00:21:39 2013 -0500
@@ -3,8 +3,8 @@
 // automagically generated from the projectDefinition: stx_goodies_xtreams_transforms.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,0,1
-  PRODUCTVERSION  6,2,3,730
+  FILEVERSION     6,2,32767,32767
+  PRODUCTVERSION  6,2,3,957
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
-      VALUE "FileVersion", "6.2.0.1\0"
+      VALUE "FileVersion", "6.2.32767.32767\0"
       VALUE "InternalName", "stx:goodies/xtreams/transforms\0"
-      VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
+      VALUE "LegalCopyright", "Copyright 2010-2013 Cincom Systems, Martin Kobetic and Michael Lucas-Smith\0"
       VALUE "ProductName", "Smalltalk/X\0"
-      VALUE "ProductVersion", "6.2.3.730\0"
-      VALUE "ProductDate", "Fri, 22 Mar 2013 04:10:46 GMT\0"
+      VALUE "ProductVersion", "6.2.3.957\0"
+      VALUE "ProductDate", "Sun, 17 Nov 2013 05:02:59 GMT\0"
     END
 
   END