--- 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