Merged with /trunk jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 19 Jan 2012 10:06:02 +0000
branchjv
changeset 17910 8d796ca8bd1d
parent 17909 0ab1deab8e9c
child 17911 a99f15c5efa5
Merged with /trunk
AbortAllOperationRequest.st
AbortOperationRequest.st
AbstractNumberVector.st
AbstractOperatingSystem.st
AbstractSourceFileReader.st
AbstractTime.st
ActivityNotification.st
AllocationFailure.st
Annotation.st
ApplicationDefinition.st
ArgumentError.st
ArithmeticError.st
ArithmeticValue.st
Array.st
ArrayedCollection.st
AspectVisitor.st
AssertionFailedError.st
Association.st
AutoDeletedFilename.st
Autoload.st
AutoloadMetaclass.st
BadLiteralsError.st
BadRomanNumberFormatError.st
Bag.st
Behavior.st
Block.st
BlockContext.st
Boolean.st
BreakPointInterrupt.st
ByteArray.st
CachingRegistry.st
CannotResumeError.st
CannotReturnError.st
Character.st
CharacterArray.st
CharacterEncoder.st
CharacterEncoderError.st
CharacterEncoderImplementations__ASCII.st
CharacterEncoderImplementations__BIG5.st
CharacterEncoderImplementations__CNS11643.st
CharacterEncoderImplementations__CP437.st
CharacterEncoderImplementations__GB2313_1980.st
CharacterEncoderImplementations__HANGUL.st
CharacterEncoderImplementations__ISO10646_1.st
CharacterEncoderImplementations__ISO10646_to_JavaText.st
CharacterEncoderImplementations__ISO10646_to_SGML.st
CharacterEncoderImplementations__ISO10646_to_UTF16BE.st
CharacterEncoderImplementations__ISO10646_to_UTF16LE.st
CharacterEncoderImplementations__ISO10646_to_UTF8.st
CharacterEncoderImplementations__ISO8859_1.st
CharacterEncoderImplementations__ISO8859_10.st
CharacterEncoderImplementations__ISO8859_11.st
CharacterEncoderImplementations__ISO8859_13.st
CharacterEncoderImplementations__ISO8859_14.st
CharacterEncoderImplementations__ISO8859_15.st
CharacterEncoderImplementations__ISO8859_16.st
CharacterEncoderImplementations__ISO8859_2.st
CharacterEncoderImplementations__ISO8859_3.st
CharacterEncoderImplementations__ISO8859_4.st
CharacterEncoderImplementations__ISO8859_5.st
CharacterEncoderImplementations__ISO8859_6.st
CharacterEncoderImplementations__ISO8859_7.st
CharacterEncoderImplementations__ISO8859_8.st
CharacterEncoderImplementations__ISO8859_9.st
CharacterEncoderImplementations__JIS0201.st
CharacterEncoderImplementations__JIS0208.st
CharacterEncoderImplementations__JIS0208_to_EUC.st
CharacterEncoderImplementations__JIS0208_to_JIS7.st
CharacterEncoderImplementations__JIS0208_to_SJIS.st
CharacterEncoderImplementations__JIS0212.st
CharacterEncoderImplementations__JOHAB.st
CharacterEncoderImplementations__KOI7.st
CharacterEncoderImplementations__KOI8_R.st
CharacterEncoderImplementations__KOI8_U.st
CharacterEncoderImplementations__KSC5601.st
CharacterEncoderImplementations__MAC_Arabic.st
CharacterEncoderImplementations__MAC_CentralEuropean.st
CharacterEncoderImplementations__MAC_Croatian.st
CharacterEncoderImplementations__MAC_Cyrillic.st
CharacterEncoderImplementations__MAC_Dingbats.st
CharacterEncoderImplementations__MAC_Farsi.st
CharacterEncoderImplementations__MAC_Greek.st
CharacterEncoderImplementations__MAC_Hebrew.st
CharacterEncoderImplementations__MAC_Iceland.st
CharacterEncoderImplementations__MAC_Japanese.st
CharacterEncoderImplementations__MAC_Korean.st
CharacterEncoderImplementations__MAC_Roman.st
CharacterEncoderImplementations__MAC_Romanian.st
CharacterEncoderImplementations__MAC_Symbol.st
CharacterEncoderImplementations__MAC_Thai.st
CharacterEncoderImplementations__MAC_Turkish.st
CharacterEncoderImplementations__MS_Ansi.st
CharacterEncoderImplementations__MS_Arabic.st
CharacterEncoderImplementations__MS_Baltic.st
CharacterEncoderImplementations__MS_Cyrillic.st
CharacterEncoderImplementations__MS_EastEuropean.st
CharacterEncoderImplementations__MS_Greek.st
CharacterEncoderImplementations__MS_Hebrew.st
CharacterEncoderImplementations__MS_Symbol.st
CharacterEncoderImplementations__MS_Turkish.st
CharacterEncoderImplementations__NEXT.st
CharacterEncoderImplementations__SingleByteEncoder.st
CharacterEncoderImplementations__TwoByteEncoder.st
CharacterRangeError.st
CharacterWriteStream.st
CheapBlock.st
Class.st
ClassBuildError.st
ClassBuilder.st
ClassCategoryReader.st
ClassDescription.st
CmdLineOption.st
CmdLineOptionError.st
CmdLineParser.st
CmdLineParserTest.st
Collection.st
CompiledCode.st
Complex.st
ConfigurableFeatures.st
ContextError.st
Continuation.st
ControlInterrupt.st
ControlRequest.st
ConversionError.st
Date.st
DateConversionError.st
DecodingError.st
DeepCopyError.st
Delay.st
Dictionary.st
DirectoryStream.st
DomainError.st
DoubleArray.st
ElementBoundsError.st
EncodingError.st
EndOfStreamError.st
EndOfStreamNotification.st
Error.st
Exception.st
ExceptionHandlerSet.st
ExecutableFunction.st
ExecutionError.st
ExternalAddress.st
ExternalBytes.st
ExternalFunction.st
ExternalFunctionCallback.st
ExternalStream.st
ExternalStructure.st
False.st
FileDirectory.st
FileDoesNotExistException.st
FileStream.st
Filename.st
FixedPoint.st
Float.st
FloatArray.st
Fraction.st
GenericException.st
Geometric.st
GetOpt.st
HaltInterrupt.st
HandleRegistry.st
HashStream.st
IdentityDictionary.st
IdentitySet.st
ImaginaryResultError.st
ImmutableArray.st
ImmutableString.st
IncompleteNextCountError.st
IndexNotFoundError.st
Infinity.st
InlineObject.st
InlineObjectClassDescription.st
InlineObjectPrototype.st
Integer.st
InterestConverter.st
Interval.st
InvalidByteCodeError.st
InvalidCodeError.st
InvalidEncodingError.st
InvalidInstructionError.st
InvalidModeError.st
InvalidOperationError.st
InvalidReadError.st
InvalidWriteError.st
KeyNotFoundError.st
KeyedCollection.st
LargeFloat.st
LargeInteger.st
LibraryDefinition.st
LimitedPrecisionReal.st
Link.st
LinkedList.st
LongFloat.st
LookupKey.st
MD5Stream.st
MacFilename.st
Magnitude.st
MallocFailure.st
MappedExternalBytes.st
MeasurementValue.st
Message.st
MessageNotUnderstood.st
MessageSend.st
MetaNumber.st
Method.st
MethodDictionary.st
MiniDebugger.st
MiniInspector.st
MiniLogger.st
NaiveRomanNumberFormatNotification.st
NoByteCodeError.st
NoHandlerError.st
NonBooleanReceiverError.st
NonIntegerIndexError.st
NonPositionableExternalStream.st
NotANumber.st
NotFoundError.st
Notification.st
Number.st
NumberConversionError.st
NumberFormatError.st
OSErrorHolder.st
OSFileHandle.st
OSHandle.st
OSSignalInterrupt.st
ObjectCoder.st
ObjectMemory.st
OpenError.st
OpenVMSFileHandle.st
OpenVMSFilename.st
OpenVMSOperatingSystem.st
OrderedCollection.st
OsError.st
OsIllegalOperation.st
OsInaccessibleError.st
OsInvalidArgumentsError.st
OsNeedRetryError.st
OsNoResourcesError.st
OsNotification.st
OsTransferFaultError.st
OverflowError.st
PCFilename.st
PackageId.st
PeekableStream.st
PipeStream.st
Point.st
PositionError.st
PositionOutOfBoundsError.st
PositionableStream.st
PrimitiveFailure.st
PrivateMetaclass.st
ProceedError.st
ProceedableError.st
ProcessorScheduler.st
Project.st
ProjectDefinition.st
ProtoObject.st
QualifiedName.st
Query.st
QuerySignal.st
QueryWithoutDefault.st
RangeError.st
ReadError.st
ReadEvalPrintLoop.st
ReadOnlySequenceableCollection.st
ReadStream.st
ReadWriteStream.st
Rectangle.st
RecursionError.st
RecursionLock.st
RecursiveExceptionError.st
RecursiveStoreError.st
Registry.st
RestartProcessRequest.st
RomanNumberFormatError.st
SHA1Stream.st
Semaphore.st
SemaphoreSet.st
SequenceableCollection.st
Set.st
SharedPool.st
ShortFloat.st
Signal.st
SignalError.st
SignalSet.st
SmallInteger.st
Smalltalk.st
SmalltalkChunkFileSourceReader.st
SmalltalkLanguage.st
SnapshotError.st
SomeNumber.st
SortedCollection.st
StandaloneStartup.st
Stream.st
StreamError.st
StreamIOError.st
StreamNotOpenError.st
String.st
StringCollection.st
SubclassResponsibilityError.st
SubscriptOutOfBoundsError.st
SystemNotification.st
TerminateProcessRequest.st
TextCollectorStream.st
Time.st
TimeConversionError.st
TimeoutError.st
Timestamp.st
True.st
TwoByteString.st
UnboundedExternalStream.st
UndefinedObject.st
UnderflowError.st
Unicode16String.st
UnimplementedFunctionalityError.st
UninterpretedBytes.st
UnixFileDescriptorHandle.st
UnixFileHandle.st
UnixFilename.st
UnixOperatingSystem.st
UnorderedNumbersError.st
UnprotectedExternalBytes.st
UserConfirmation.st
UserInformation.st
UserInterrupt.st
UserMessage.st
UserNotification.st
UserPreferences.st
VMInternalError.st
VarArgBlock.st
VarArgCheapBlock.st
Visitor.st
Warning.st
WeakArray.st
WeakDependencyDictionary.st
WeakIdentityDictionary.st
WeakIdentitySet.st
WeakInterestConverter.st
WeakValueDictionary.st
WeakValueIdentityDictionary.st
Win32FILEHandle.st
Win32Handle.st
Win32OperatingSystem.st
Win32Process.st
WriteError.st
WriteStream.st
WrongNumberOfArgumentsError.st
WrongProceedabilityError.st
YesToAllConfirmation.st
ZeroDivide.st
not_delivered/SystemDictionary.st
not_delivered/VMBehavior.st
stx_libbasic.st
--- a/AbortAllOperationRequest.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AbortAllOperationRequest.st	Thu Jan 19 10:06:02 2012 +0000
@@ -93,8 +93,9 @@
 !
 
 version_SVN
-    ^ '$Id: AbortAllOperationRequest.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AbortAllOperationRequest.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 AbortAllOperationRequest initialize!
 
+
--- a/AbortOperationRequest.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AbortOperationRequest.st	Thu Jan 19 10:06:02 2012 +0000
@@ -67,8 +67,9 @@
 !
 
 version_SVN
-    ^ '$Id: AbortOperationRequest.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AbortOperationRequest.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 AbortOperationRequest initialize!
 
+
--- a/AbstractNumberVector.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AbstractNumberVector.st	Thu Jan 19 10:06:02 2012 +0000
@@ -55,5 +55,6 @@
 
 
 version_SVN
-    ^ '$Id: AbstractNumberVector.st 10741 2011-11-26 08:36:46Z vranyj1 $'
+    ^ '$Id: AbstractNumberVector.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
+
--- a/AbstractOperatingSystem.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AbstractOperatingSystem.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -58,7 +58,7 @@
 copyright
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -77,108 +77,108 @@
     less performant) are implemented here.
 
     [Class variables:]
-        ConcreteClass   <Class>         the real OS class
-
-        LocaleInfo      <Dictionary>    if non nil, that is taken instead of the operating
-                                        systems locale definitions (allows for overwriting
-                                        these, or provide a compatible info on systems which do
-                                        not support locales)
-
-        LastErrorNumber <Integer>       the last value of errno
-
-        OSSignals       <Array>         Array of signals to be raised for corresponding
-                                        OperatingSystem signals.
-
-        PipeFailed      <Boolean>       set if a fork (or popen) has failed;
-                                        ST/X will avoid doing more forks/popens
-                                        if this flag is set, for a slightly
-                                        smoother operation.
-
-        ErrorSignal     <Signal>        Parentsignal of all OS error signals.
-                                        not directly raised.
-
-        AccessDeniedErrorSignal         misc concrete error reporting signals
-        FileNotFoundErrorSignal
-        UnsupportedOperationSignal
-        InvalidArgumentsSignal
+	ConcreteClass   <Class>         the real OS class
+
+	LocaleInfo      <Dictionary>    if non nil, that is taken instead of the operating
+					systems locale definitions (allows for overwriting
+					these, or provide a compatible info on systems which do
+					not support locales)
+
+	LastErrorNumber <Integer>       the last value of errno
+
+	OSSignals       <Array>         Array of signals to be raised for corresponding
+					OperatingSystem signals.
+
+	PipeFailed      <Boolean>       set if a fork (or popen) has failed;
+					ST/X will avoid doing more forks/popens
+					if this flag is set, for a slightly
+					smoother operation.
+
+	ErrorSignal     <Signal>        Parentsignal of all OS error signals.
+					not directly raised.
+
+	AccessDeniedErrorSignal         misc concrete error reporting signals
+	FileNotFoundErrorSignal
+	UnsupportedOperationSignal
+	InvalidArgumentsSignal
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 
     [see also:]
-        OSProcessStatus
-        Filename Date Time
-        ExternalStream FileStream PipeStream Socket
+	OSProcessStatus
+	Filename Date Time
+	ExternalStream FileStream PipeStream Socket
 "
 !
 
 examples
 "
   various queries
-                                                                [exBegin]
+								[exBegin]
     Transcript
-        showCR:'hello ' , (OperatingSystem getLoginName)
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:'hello ' , (OperatingSystem getLoginName)
+								[exEnd]
+
+								[exBegin]
     OperatingSystem isUNIXlike ifTrue:[
-        Transcript showCR:'this is some UNIX-like OS'
+	Transcript showCR:'this is some UNIX-like OS'
     ] ifFalse:[
-        Transcript showCR:'this OS is not UNIX-like'
+	Transcript showCR:'this OS is not UNIX-like'
     ]
-                                                                [exEnd]
-
-                                                                [exBegin]
+								[exEnd]
+
+								[exBegin]
     Transcript
-        showCR:'this machine is called ' , OperatingSystem getHostName
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:'this machine is called ' , OperatingSystem getHostName
+								[exEnd]
+
+								[exBegin]
     Transcript
-        showCR:('this machine is in the '
-               , OperatingSystem getDomainName
-               , ' domain')
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:('this machine is in the '
+	       , OperatingSystem getDomainName
+	       , ' domain')
+								[exEnd]
+
+								[exBegin]
     Transcript
-        showCR:('this machine''s CPU is a '
-               , OperatingSystem getCPUType
-               )
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:('this machine''s CPU is a '
+	       , OperatingSystem getCPUType
+	       )
+								[exEnd]
+
+								[exBegin]
     Transcript showCR:'executing ls command ...'.
     OperatingSystem executeCommand:'ls'.
     Transcript showCR:'... done.'.
-                                                                [exEnd]
+								[exEnd]
 
   locking a file
   (should be executed on two running smalltalks - not in two threads):
-                                                                [exBegin]
+								[exBegin]
     |f|
 
     f := 'testFile' asFilename readWriteStream.
 
     10 timesRepeat:[
-        'about to lock ...' printCR.
-        [
-          OperatingSystem
-            lockFD:(f fileDescriptor)
-            shared:false
-            blocking:false
-        ] whileFalse:[
-            'process ' print. OperatingSystem getProcessId print. ' is waiting' printCR.
-            Delay waitForSeconds:1
-        ].
-        'LOCKED ...' printCR.
-        Delay waitForSeconds:10.
-        'unlock ...' printCR.
-        (OperatingSystem
-            unlockFD:(f fileDescriptor)) printCR.
-        Delay waitForSeconds:3.
+	'about to lock ...' printCR.
+	[
+	  OperatingSystem
+	    lockFD:(f fileDescriptor)
+	    shared:false
+	    blocking:false
+	] whileFalse:[
+	    'process ' print. OperatingSystem getProcessId print. ' is waiting' printCR.
+	    Delay waitForSeconds:1
+	].
+	'LOCKED ...' printCR.
+	Delay waitForSeconds:10.
+	'unlock ...' printCR.
+	(OperatingSystem
+	    unlockFD:(f fileDescriptor)) printCR.
+	Delay waitForSeconds:3.
     ]
-                                                                [exBegin]
+								[exBegin]
 "
 ! !
 
@@ -188,16 +188,16 @@
     "/ allow for ResourcePack class to be missing (non-GUI smalltalks)
 
     ResourcePack notNil ifTrue:[
-        Error handle:[:ex |
-            'OS [warning]: error when reading resources for libbasic:' errorPrintCR.
-            'OS [info]: 'errorPrint. ex description errorPrintCR.
-            'OS [info]: backtrace: ' errorPrintCR.
-            self withErrorStreamDo:[:s | 
-                ex suspendedContext fullPrintAllOn:s.
-            ].
-        ] do:[
-            Resources := ResourcePack forPackage:(self package).
-        ].
+	Error handle:[:ex |
+	    'OS [warning]: error when reading resources for libbasic:' errorPrintCR.
+	    'OS [info]: 'errorPrint. ex description errorPrintCR.
+	    'OS [info]: backtrace: ' errorPrintCR.
+	    self withErrorStreamDo:[:s |
+		ex suspendedContext fullPrintAllOn:s.
+	    ].
+	] do:[
+	    Resources := ResourcePack forPackage:(self package).
+	].
     ]
 
     "Modified: / 21-04-2011 / 12:48:02 / cg"
@@ -209,12 +209,12 @@
     self initializeConcreteClass.
 
     ErrorSignal isNil ifTrue:[
-        OSErrorHolder initialize.
-        ErrorSignal := OsError.
-        InvalidArgumentsSignal := OsInvalidArgumentsError.
-        AccessDeniedErrorSignal := OSErrorHolder noPermissionsSignal.
-        FileNotFoundErrorSignal := OSErrorHolder nonexistentSignal.
-        UnsupportedOperationSignal := OSErrorHolder unsupportedOperationSignal.
+	OSErrorHolder initialize.
+	ErrorSignal := OsError.
+	InvalidArgumentsSignal := OsInvalidArgumentsError.
+	AccessDeniedErrorSignal := OSErrorHolder noPermissionsSignal.
+	FileNotFoundErrorSignal := OSErrorHolder nonexistentSignal.
+	UnsupportedOperationSignal := OSErrorHolder unsupportedOperationSignal.
     ].
     Smalltalk addDependent:self.    "/ to catch language changes
 !
@@ -224,21 +224,21 @@
 
     osType := self getSystemType.
     osType = 'win32' ifTrue:[
-        cls := Win32OperatingSystem
+	cls := Win32OperatingSystem
     ] ifFalse:[
-        osType = 'os2' ifTrue:[
-            cls := OS2OperatingSystem
-        ] ifFalse:[
-            osType = 'macos' ifTrue:[
-                cls := MacOperatingSystem
-            ] ifFalse:[
-                ((osType = 'VMS') or:[osType = 'openVMS']) ifTrue:[
-                    cls := OpenVMSOperatingSystem
-                ] ifFalse:[
-                    cls := UnixOperatingSystem
-                ]
-            ]
-        ]
+	osType = 'os2' ifTrue:[
+	    cls := OS2OperatingSystem
+	] ifFalse:[
+	    osType = 'macos' ifTrue:[
+		cls := MacOperatingSystem
+	    ] ifFalse:[
+		((osType = 'VMS') or:[osType = 'openVMS']) ifTrue:[
+		    cls := OpenVMSOperatingSystem
+		] ifFalse:[
+		    cls := UnixOperatingSystem
+		]
+	    ]
+	]
     ].
     OperatingSystem := ConcreteClass := cls.
 ! !
@@ -592,7 +592,7 @@
     "Smalltalk notifies us about changes"
 
     ((something == #Language) or:[something == #LanguageTerritory]) ifTrue:[
-        self initResources
+	self initResources
     ]
 ! !
 
@@ -603,9 +603,9 @@
      This looks for the files extension, and is typically used to present help-files,
      html documents, pdf documents etc.
      operationSymbol is one of:
-        open
-        edit
-        explore
+	open
+	edit
+	explore
     "
 
     "/ use a fileBrowser
@@ -628,7 +628,7 @@
     "return the last errors number.
      See also: #lastErrorSymbol and #lastErrorString.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     LastErrorNumber := nil.
 
@@ -673,14 +673,14 @@
      (as kept in an osErrorHolder)."
 
     Resources isNil ifTrue:[
-        "/ do not care to load resource strings, if the error happens durig early initialization
-        Smalltalk isInitialized ifFalse:[
-            ^ errorSymbol
-        ].
-        self initResources.
-        Resources isNil ifTrue:[
-            ^ errorSymbol
-        ]
+	"/ do not care to load resource strings, if the error happens durig early initialization
+	Smalltalk isInitialized ifFalse:[
+	    ^ errorSymbol
+	].
+	self initResources.
+	Resources isNil ifTrue:[
+	    ^ errorSymbol
+	]
     ].
     ^ Resources at:errorSymbol ifAbsent:errorSymbol
 
@@ -702,8 +702,8 @@
     holder := self errorHolderForNumber:errNr.
     errSym := holder errorSymbol.
     ^ Array
-        with:errSym
-        with:(self errorStringForSymbol:errSym)
+	with:errSym
+	with:(self errorStringForSymbol:errSym)
 
     "
      OperatingSystem errorSymbolAndTextForNumber:(OperatingSystem errorNumberFor:#EPERM)
@@ -742,7 +742,7 @@
     "return the last errors number.
      See also: #lastErrorSymbol and #lastErrorString.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     ^ LastErrorNumber
 
@@ -755,7 +755,7 @@
     "return a message string describing the last error.
      See also: #lastErrorNumber and #lastErrorSymbol.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     LastErrorNumber isNil ifTrue:[^ nil].
     ^ self errorTextForNumber:LastErrorNumber
@@ -769,7 +769,7 @@
     "return a symbol (such as #EBADF or #EACCESS) describing the last error.
      See also: #lastErrorNumber and #lastErrorString.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     LastErrorNumber isNil ifTrue:[^ nil].
     ^ self errorSymbolForNumber:LastErrorNumber
@@ -829,15 +829,15 @@
 shuffleAllFrom:anInStream to:anOutStream lineWise:lineWise lockWith:aLock
 
     lineWise ifFalse:[
-        ^ anInStream copyToEndInto:anOutStream.
+	^ anInStream copyToEndInto:anOutStream.
     ].
     [anInStream atEnd] whileFalse:[
-        aLock critical:[
-            self
-                shuffleFrom:anInStream
-                to:anOutStream
-                lineWise:lineWise
-        ]
+	aLock critical:[
+	    self
+		shuffleFrom:anInStream
+		to:anOutStream
+		lineWise:lineWise
+	]
     ]
 !
 
@@ -847,23 +847,23 @@
      anOutstream should have been set to non-blocking-mode"
 
     lineWise ifTrue:[
-        |data|
-
-        data := anInStream nextLine.
-        data notNil ifTrue:[
-            anOutStream nextPutLine:data
-        ] .
+	|data|
+
+	data := anInStream nextLine.
+	data notNil ifTrue:[
+	    anOutStream nextPutLine:data
+	] .
     ] ifFalse:[
-        anInStream copyToEndInto:anOutStream.
+	anInStream copyToEndInto:anOutStream.
     ].
 !
 
 shuffleRestFrom:anInStream to:anOutStream lineWise:lineWise
     [anInStream atEnd] whileFalse:[
-        self
-            shuffleFrom:anInStream
-            to:anOutStream
-            lineWise:lineWise.
+	self
+	    shuffleFrom:anInStream
+	    to:anOutStream
+	    lineWise:lineWise.
     ].
 !
 
@@ -877,12 +877,12 @@
      or #killProcess: to stop it."
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
+	startProcess:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
 
     "
      |pid|
@@ -902,11 +902,11 @@
      |pid|
 
      pid := OperatingSystem
-                startProcess:'dir/l'
-                inputFrom:nil
-                outputTo:Stdout
-                errorTo:nil
-                inDirectory:nil.
+		startProcess:'dir/l'
+		inputFrom:nil
+		outputTo:Stdout
+		errorTo:nil
+		inDirectory:nil.
      (Delay forSeconds:2) wait.
      OperatingSystem killProcess:pid.
     "
@@ -925,12 +925,12 @@
      or #killProcess: to stop it."
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
+	startProcess:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
     "
      |pid|
 
@@ -956,12 +956,12 @@
      or #killProcess: to stop it."
 
      ^ self
-        startProcess:aCommandString
-        inputFrom:anExternalInStream
-        outputTo:anExternalOutStream
-        errorTo:anExternalErrStream
-        auxFrom:nil
-        inDirectory:nil
+	startProcess:aCommandString
+	inputFrom:anExternalInStream
+	outputTo:anExternalOutStream
+	errorTo:anExternalErrStream
+	auxFrom:nil
+	inDirectory:nil
 
     "Modified: / 10.11.1998 / 20:59:05 / cg"
 !
@@ -970,13 +970,13 @@
     errorTo:anExternalErrStream auxFrom:anAuxiliaryStream inDirectory:dir
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:anExternalInStream
-        outputTo:anExternalOutStream
-        errorTo:anExternalErrStream
-        auxFrom:anAuxiliaryStream
-        environment:nil
-        inDirectory:dir
+	startProcess:aCommandString
+	inputFrom:anExternalInStream
+	outputTo:anExternalOutStream
+	errorTo:anExternalErrStream
+	auxFrom:anAuxiliaryStream
+	environment:nil
+	inDirectory:dir
 !
 
 startProcess:aCommandString inputFrom:anExternalInStream outputTo:anExternalOutStream errorTo:anExternalErrStream inDirectory:dir
@@ -991,12 +991,12 @@
      or #killProcess: to stop it."
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:anExternalInStream
-        outputTo:anExternalOutStream
-        errorTo:anExternalErrStream
-        auxFrom:nil
-        inDirectory:dir
+	startProcess:aCommandString
+	inputFrom:anExternalInStream
+	outputTo:anExternalOutStream
+	errorTo:anExternalErrStream
+	auxFrom:nil
+	inDirectory:dir
 ! !
 
 !AbstractOperatingSystem class methodsFor:'executing OS commands-public'!
@@ -1008,14 +1008,14 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:[:status| false]
 
     "unix:
 
@@ -1050,14 +1050,14 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:errorStream
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:errorStream
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:[:status| false]
 
     "unix:
 
@@ -1074,14 +1074,14 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:errorStream
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:errorStream
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:status| false]
 
     "unix:
 
@@ -1100,14 +1100,14 @@
      Return true if successful, false otherwise."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:exitStatus| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:exitStatus| false]
 
     "Modified: / 10.11.1998 / 20:54:37 / cg"
 !
@@ -1121,14 +1121,14 @@
      (containing the exit status) as argument."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:aBlock
 
     "Modified: / 10.11.1998 / 20:54:37 / cg"
 !
@@ -1163,228 +1163,228 @@
     terminateLock := Semaphore forMutualExclusion.
     ((externalInStream := anInStream) notNil
      and:[externalInStream isExternalStream not]) ifTrue:[
-        pIn := NonPositionableExternalStream makePipe.
-        inStreamToClose := externalInStream := pIn at:1.
-        shuffledInStream := pIn at:2.
-        anInStream isBinary ifTrue:[
-            shuffledInStream binary
-        ].
-        lineWise ifFalse:[
-            shuffledInStream blocking:false.
-        ].
-
-        "/ start a reader process, shuffling data from the given
-        "/ inStream to the pipe (which is connected to the commands input)
-        inputShufflerProcess :=
-            [
-                [
-                    [anInStream atEnd] whileFalse:[
-                        self shuffleFrom:anInStream to:shuffledInStream lineWise:lineWise.
-                        shuffledInStream flush
-                    ]
-                ] ensure:[
-                    shuffledInStream close
-                ]
-            ] newProcess
-                name:'cmd input shuffler';
+	pIn := NonPositionableExternalStream makePipe.
+	inStreamToClose := externalInStream := pIn at:1.
+	shuffledInStream := pIn at:2.
+	anInStream isBinary ifTrue:[
+	    shuffledInStream binary
+	].
+	lineWise ifFalse:[
+	    shuffledInStream blocking:false.
+	].
+
+	"/ start a reader process, shuffling data from the given
+	"/ inStream to the pipe (which is connected to the commands input)
+	inputShufflerProcess :=
+	    [
+		[
+		    [anInStream atEnd] whileFalse:[
+			self shuffleFrom:anInStream to:shuffledInStream lineWise:lineWise.
+			shuffledInStream flush
+		    ]
+		] ensure:[
+		    shuffledInStream close
+		]
+	    ] newProcess
+		name:'cmd input shuffler';
 "/                beSystemProcess;
-                resume.
+		resume.
     ].
     ((externalOutStream := anOutStream) notNil
      and:[externalOutStream isExternalStream not]) ifTrue:[
-        pOut := NonPositionableExternalStream makePipe.
-        shuffledOutStream := (pOut at:1).
-        anOutStream isBinary ifTrue:[
-            shuffledOutStream binary
-        ].
-        outStreamToClose := externalOutStream := pOut at:2.
-        outputShufflerProcess :=
-            [
-                WriteError handle:[:ex |
-                    "/ ignored
-                ] do:[
-                    self shuffleAllFrom:shuffledOutStream to:anOutStream lineWise:lineWise lockWith:terminateLock.
-                ].
-            ] newProcess
-                name:'cmd output shuffler';
+	pOut := NonPositionableExternalStream makePipe.
+	shuffledOutStream := (pOut at:1).
+	anOutStream isBinary ifTrue:[
+	    shuffledOutStream binary
+	].
+	outStreamToClose := externalOutStream := pOut at:2.
+	outputShufflerProcess :=
+	    [
+		WriteError handle:[:ex |
+		    "/ ignored
+		] do:[
+		    self shuffleAllFrom:shuffledOutStream to:anOutStream lineWise:lineWise lockWith:terminateLock.
+		].
+	    ] newProcess
+		name:'cmd output shuffler';
 "/                beSystemProcess;
-                resume.
+		resume.
     ].
     (externalErrStream := anErrStream) notNil ifTrue:[
-        anErrStream == anOutStream ifTrue:[
-            externalErrStream := externalOutStream
-        ] ifFalse:[
-            anErrStream isExternalStream ifFalse:[
-                pErr := NonPositionableExternalStream makePipe.
-                shuffledErrStream := (pErr at:1).
-                anErrStream isBinary ifTrue:[
-                    shuffledErrStream binary
-                ].
-                errStreamToClose := externalErrStream := pErr at:2.
-                errorShufflerProcess :=
-                    [
-                        self shuffleAllFrom:shuffledErrStream to:anErrStream lineWise:lineWise lockWith:terminateLock.
-                    ] newProcess
-                        name:'cmd err-output shuffler';
+	anErrStream == anOutStream ifTrue:[
+	    externalErrStream := externalOutStream
+	] ifFalse:[
+	    anErrStream isExternalStream ifFalse:[
+		pErr := NonPositionableExternalStream makePipe.
+		shuffledErrStream := (pErr at:1).
+		anErrStream isBinary ifTrue:[
+		    shuffledErrStream binary
+		].
+		errStreamToClose := externalErrStream := pErr at:2.
+		errorShufflerProcess :=
+		    [
+			self shuffleAllFrom:shuffledErrStream to:anErrStream lineWise:lineWise lockWith:terminateLock.
+		    ] newProcess
+			name:'cmd err-output shuffler';
 "/                        beSystemProcess;
-                        resume.
-            ]
-        ]
+			resume.
+	    ]
+	]
     ].
     ((externalAuxStream := anAuxStream) notNil
      and:[externalAuxStream isExternalStream not]) ifTrue:[
-        pAux := NonPositionableExternalStream makePipe.
-        auxStreamToClose := externalAuxStream := pAux at:1.
-        shuffledAuxStream := pAux at:2.
-        shuffledAuxStream blocking:false.
-        anAuxStream isBinary ifTrue:[
-            shuffledAuxStream binary
-        ].
-
-        "/ start a reader process, shuffling data from the given
-        "/ auxStream to the pipe (which is connected to the commands aux)
-        auxShufflerProcess :=
-            [
-                [
-                    [anAuxStream atEnd] whileFalse:[
-                        self shuffleFrom:anAuxStream to:shuffledAuxStream lineWise:false.
-                        shuffledAuxStream flush
-                    ]
-                ] ensure:[
-                    shuffledAuxStream close
-                ]
-            ] newProcess
-                name:'cmd aux shuffler';
+	pAux := NonPositionableExternalStream makePipe.
+	auxStreamToClose := externalAuxStream := pAux at:1.
+	shuffledAuxStream := pAux at:2.
+	shuffledAuxStream blocking:false.
+	anAuxStream isBinary ifTrue:[
+	    shuffledAuxStream binary
+	].
+
+	"/ start a reader process, shuffling data from the given
+	"/ auxStream to the pipe (which is connected to the commands aux)
+	auxShufflerProcess :=
+	    [
+		[
+		    [anAuxStream atEnd] whileFalse:[
+			self shuffleFrom:anAuxStream to:shuffledAuxStream lineWise:false.
+			shuffledAuxStream flush
+		    ]
+		] ensure:[
+		    shuffledAuxStream close
+		]
+	    ] newProcess
+		name:'cmd aux shuffler';
 "/                beSystemProcess;
-                resume.
+		resume.
     ].
 
     stopShufflers := [
-        inputShufflerProcess notNil ifTrue:[
-            terminateLock critical:[inputShufflerProcess terminate].
-            inputShufflerProcess waitUntilTerminated
-        ].
-        auxShufflerProcess notNil ifTrue:[
-            terminateLock critical:[auxShufflerProcess terminate].
-            auxShufflerProcess waitUntilTerminated
-        ].
-        outputShufflerProcess notNil ifTrue:[
-            terminateLock critical:[outputShufflerProcess terminate].
-            outputShufflerProcess waitUntilTerminated.
-            self shuffleRestFrom:shuffledOutStream to:anOutStream lineWise:lineWise.
-            shuffledOutStream close.
-        ].
-        errorShufflerProcess notNil ifTrue:[
-            terminateLock critical:[errorShufflerProcess terminate].
-            errorShufflerProcess waitUntilTerminated.
-            self shuffleRestFrom:shuffledErrStream to:anErrStream lineWise:lineWise.
-            shuffledErrStream close.
-        ].
+	inputShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[inputShufflerProcess terminate].
+	    inputShufflerProcess waitUntilTerminated
+	].
+	auxShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[auxShufflerProcess terminate].
+	    auxShufflerProcess waitUntilTerminated
+	].
+	outputShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[outputShufflerProcess terminate].
+	    outputShufflerProcess waitUntilTerminated.
+	    self shuffleRestFrom:shuffledOutStream to:anOutStream lineWise:lineWise.
+	    shuffledOutStream close.
+	].
+	errorShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[errorShufflerProcess terminate].
+	    errorShufflerProcess waitUntilTerminated.
+	    self shuffleRestFrom:shuffledErrStream to:anErrStream lineWise:lineWise.
+	    shuffledErrStream close.
+	].
     ].
 
     closeStreams := [
-        inStreamToClose notNil ifTrue:[
-            inStreamToClose close
-        ].
-        errStreamToClose notNil ifTrue:[
-            errStreamToClose close
-        ].
-        outStreamToClose notNil ifTrue:[
-            outStreamToClose close
-        ].
-        auxStreamToClose notNil ifTrue:[
-            auxStreamToClose close
-        ].
+	inStreamToClose notNil ifTrue:[
+	    inStreamToClose close
+	].
+	errStreamToClose notNil ifTrue:[
+	    errStreamToClose close
+	].
+	outStreamToClose notNil ifTrue:[
+	    outStreamToClose close
+	].
+	auxStreamToClose notNil ifTrue:[
+	    auxStreamToClose close
+	].
     ].
 
 
     sema := Semaphore new name:'OS command wait'.
     [
-        pid := Processor
-                    monitor:[
-                        self
-                            startProcess:aCommandString
-                            inputFrom:externalInStream
-                            outputTo:externalOutStream
-                            errorTo:externalErrStream
-                            auxFrom:externalAuxStream
-                            environment:environmentDictionary
-                            inDirectory:dirOrNil
-                    ]
-                    action:[:status |
-                        status stillAlive ifFalse:[
-                            exitStatus := status.
-                            sema signal.
-                            self closePid:pid
-                        ]
-                    ].
-
-        pid isNil ifTrue:[
-            exitStatus := self osProcessStatusClass processCreationFailure
-        ] ifFalse:[
-            sema wait.
-        ].
+	pid := Processor
+		    monitor:[
+			self
+			    startProcess:aCommandString
+			    inputFrom:externalInStream
+			    outputTo:externalOutStream
+			    errorTo:externalErrStream
+			    auxFrom:externalAuxStream
+			    environment:environmentDictionary
+			    inDirectory:dirOrNil
+		    ]
+		    action:[:status |
+			status stillAlive ifFalse:[
+			    exitStatus := status.
+			    sema signal.
+			    self closePid:pid
+			]
+		    ].
+
+	pid isNil ifTrue:[
+	    exitStatus := self osProcessStatusClass processCreationFailure
+	] ifFalse:[
+	    sema wait.
+	].
     ] ifCurtailed:[
-        closeStreams value.
-        pid notNil ifTrue:[
-            "/ terminate the os-command (and all of its forked commands)
-            self terminateProcessGroup:pid.
-            self terminateProcess:pid.
-            self closePid:pid.
-        ].
-        stopShufflers value.
+	closeStreams value.
+	pid notNil ifTrue:[
+	    "/ terminate the os-command (and all of its forked commands)
+	    self terminateProcessGroup:pid.
+	    self terminateProcess:pid.
+	    self closePid:pid.
+	].
+	stopShufflers value.
     ].
 
     closeStreams value.
     stopShufflers value.
     exitStatus success ifFalse:[
-        ^ aBlock value:exitStatus
+	^ aBlock value:exitStatus
     ].
     ^ true
 
     "
-        |outStream errStream|
-
-        outStream := '' writeStream.
-
-        OperatingSystem executeCommand:'ls -l'
-                        inputFrom:'abc' readStream
-                        outputTo:outStream
-                        errorTo:nil
-                        inDirectory:nil
-                        lineWise:true
-                        onError:[:exitStatus | ^ false].
-        outStream contents
-    "
-
-    "
-        |outStream errStream|
-
-        outStream := #[] writeStream.
-
-        OperatingSystem executeCommand:'cat'
-                        inputFrom:(ByteArray new:5000000) readStream
-                        outputTo:outStream
-                        errorTo:nil
-                        inDirectory:nil
-                        lineWise:false
-                        onError:[:exitStatus | ^ false].
-        outStream size
-    "
-
-    "
-        |outStream errStream|
-
-        outStream := '' writeStream.
-
-        OperatingSystem executeCommand:'gpg -s --batch --no-tty --passphrase-fd 0 /tmp/passwd'
-                        inputFrom:'bla' readStream
-                        outputTo:outStream
-                        errorTo:nil
-                        inDirectory:nil
-                        lineWise:true
-                        onError:[:exitStatus |  false].
-        outStream contents
+	|outStream errStream|
+
+	outStream := '' writeStream.
+
+	OperatingSystem executeCommand:'ls -l'
+			inputFrom:'abc' readStream
+			outputTo:outStream
+			errorTo:nil
+			inDirectory:nil
+			lineWise:true
+			onError:[:exitStatus | ^ false].
+	outStream contents
+    "
+
+    "
+	|outStream errStream|
+
+	outStream := #[] writeStream.
+
+	OperatingSystem executeCommand:'cat'
+			inputFrom:(ByteArray new:5000000) readStream
+			outputTo:outStream
+			errorTo:nil
+			inDirectory:nil
+			lineWise:false
+			onError:[:exitStatus | ^ false].
+	outStream size
+    "
+
+    "
+	|outStream errStream|
+
+	outStream := '' writeStream.
+
+	OperatingSystem executeCommand:'gpg -s --batch --no-tty --passphrase-fd 0 /tmp/passwd'
+			inputFrom:'bla' readStream
+			outputTo:outStream
+			errorTo:nil
+			inDirectory:nil
+			lineWise:true
+			onError:[:exitStatus |  false].
+	outStream contents
     "
 
     "Modified: / 11-02-2007 / 20:54:39 / cg"
@@ -1392,15 +1392,15 @@
 
 executeCommand:aCommandString inputFrom:anInStream outputTo:anOutStream errorTo:anErrStream auxFrom:anAuxStream inDirectory:dirOrNil lineWise:lineWise onError:aBlock
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:anAuxStream
-        environment:nil
-        inDirectory:dirOrNil
-        lineWise:lineWise
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:anAuxStream
+	environment:nil
+	inDirectory:dirOrNil
+	lineWise:lineWise
+	onError:aBlock
 !
 
 executeCommand:aCommandString inputFrom:inputStreamOrNil outputTo:outStreamOrNil errorTo:errStreamOrNil inDirectory:aDirectory
@@ -1409,14 +1409,14 @@
      hardwiring any 'cd ..' command strings into your applictions."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:inputStreamOrNil
-        outputTo:outStreamOrNil
-        errorTo:errStreamOrNil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:inputStreamOrNil
+	outputTo:outStreamOrNil
+	errorTo:errStreamOrNil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:status| false]
 
     "
      OperatingSystem executeCommand:'tdump date.obj' inDirectory:'c:\winstx\stx\libbasic\objbc'.
@@ -1445,14 +1445,14 @@
      error resp. - i.e. usually, i/o will be from/to the terminal"
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:nil
-        inDirectory:dirOrNil
-        lineWise:lineWise
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:nil
+	inDirectory:dirOrNil
+	lineWise:lineWise
+	onError:aBlock
 !
 
 executeCommand:aCommandString inputFrom:anInStream outputTo:anOutStream errorTo:anErrStream inDirectory:dirOrNil onError:aBlock
@@ -1470,50 +1470,50 @@
      error resp. - i.e. i/o will be from/to the xterminal"
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:nil
-        inDirectory:dirOrNil
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:nil
+	inDirectory:dirOrNil
+	lineWise:false
+	onError:aBlock
 
     "
      OperatingSystem
-         executeCommand:'dir'
-         inputFrom:nil
-         outputTo:nil
-         errorTo:nil
-         inDirectory:'c:'
-         onError:[:status | Transcript flash]
+	 executeCommand:'dir'
+	 inputFrom:nil
+	 outputTo:nil
+	 errorTo:nil
+	 inDirectory:'c:'
+	 onError:[:status | Transcript flash]
 
      OperatingSystem
-         executeCommand:'foo'
-         inputFrom:nil
-         outputTo:nil
-         errorTo:nil
-         inDirectory:'/etc'
-         onError:[:status | Transcript flash]
+	 executeCommand:'foo'
+	 inputFrom:nil
+	 outputTo:nil
+	 errorTo:nil
+	 inDirectory:'/etc'
+	 onError:[:status | Transcript flash]
 
      |s|
      s := '' writeStream.
      OperatingSystem
-         executeCommand:'ls -l'
-         inputFrom:nil
-         outputTo:s
-         errorTo:nil
-         onError:[:status | Transcript flash].
+	 executeCommand:'ls -l'
+	 inputFrom:nil
+	 outputTo:s
+	 errorTo:nil
+	 onError:[:status | Transcript flash].
      Transcript showCR:s contents.
 
      |s|
      s := '' writeStream.
      OperatingSystem
-         executeCommand:'sh foo'
-         inputFrom:nil
-         outputTo:s
-         errorTo:s
-         onError:[:status | Transcript flash].
+	 executeCommand:'sh foo'
+	 inputFrom:nil
+	 outputTo:s
+	 errorTo:s
+	 onError:[:status | Transcript flash].
      Transcript showCR:s contents.
     "
 
@@ -1532,57 +1532,57 @@
      (containing the exit status) as argument."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:aBlock
-
-    "
-        OperatingSystem
-            executeCommand:'dir'
-            inputFrom:nil
-            outputTo:nil
-            errorTo:nil
-            onError:[:status | Transcript flash]
-
-        OperatingSystem
-            executeCommand:'foo'
-            inputFrom:nil
-            outputTo:nil
-            errorTo:nil
-            onError:[:status | Transcript flash]
-    "
-    "
-        |outStr errStr|
-
-        outStr := '' writeStream.
-        errStr := '' writeStream.
-        OperatingSystem
-            executeCommand:'ls'
-            inputFrom:nil
-            outputTo:outStr
-            errorTo:errStr
-            onError:[:status | Transcript flash].
-        Transcript show:'out:'; showCR:outStr contents.
-        Transcript show:'err:'; showCR:errStr contents.
-    "
-    "
-        |outStr errStr|
-
-        outStr := '' writeStream.
-        errStr := '' writeStream.
-        OperatingSystem
-            executeCommand:'ls /fooBar'
-            inputFrom:nil
-            outputTo:outStr
-            errorTo:errStr
-            onError:[:status | Transcript flash].
-        Transcript show:'out:'; showCR:outStr contents.
-        Transcript show:'err:'; showCR:errStr contents.
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:aBlock
+
+    "
+	OperatingSystem
+	    executeCommand:'dir'
+	    inputFrom:nil
+	    outputTo:nil
+	    errorTo:nil
+	    onError:[:status | Transcript flash]
+
+	OperatingSystem
+	    executeCommand:'foo'
+	    inputFrom:nil
+	    outputTo:nil
+	    errorTo:nil
+	    onError:[:status | Transcript flash]
+    "
+    "
+	|outStr errStr|
+
+	outStr := '' writeStream.
+	errStr := '' writeStream.
+	OperatingSystem
+	    executeCommand:'ls'
+	    inputFrom:nil
+	    outputTo:outStr
+	    errorTo:errStr
+	    onError:[:status | Transcript flash].
+	Transcript show:'out:'; showCR:outStr contents.
+	Transcript show:'err:'; showCR:errStr contents.
+    "
+    "
+	|outStr errStr|
+
+	outStr := '' writeStream.
+	errStr := '' writeStream.
+	OperatingSystem
+	    executeCommand:'ls /fooBar'
+	    inputFrom:nil
+	    outputTo:outStr
+	    errorTo:errStr
+	    onError:[:status | Transcript flash].
+	Transcript show:'out:'; showCR:outStr contents.
+	Transcript show:'err:'; showCR:errStr contents.
     "
 
     "Modified: / 10.11.1998 / 20:51:39 / cg"
@@ -1597,14 +1597,14 @@
      (containing the exit status) as argument."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:aBlock
 
     "unix:
 
@@ -1639,14 +1639,14 @@
     self obsoleteMethodWarning:'use executeCommand:inDirectory:onError:'.
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:aBlock
 
     "Modified: / 10.11.1998 / 20:54:37 / cg"
 !
@@ -1658,26 +1658,26 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:anOutStreamOrNil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:anOutStreamOrNil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:[:status| false]
 
     "
      String streamContents:[:s|OperatingSystem
-        executeCommand:'ls'
-        outputTo:s
+	executeCommand:'ls'
+	outputTo:s
      ]
     "
 
     "
      String streamContents:[:s|OperatingSystem
-        executeCommand:'pwd'
-        outputTo:s
+	executeCommand:'pwd'
+	outputTo:s
      ]
     "
 !
@@ -1688,14 +1688,14 @@
      hardwiring any 'cd ..' command strings into your applictions."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:outStreamOrNil
-        errorTo:errStreamOrNil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:outStreamOrNil
+	errorTo:errStreamOrNil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:status| false]
 
     "
      OperatingSystem executeCommand:'tdump date.obj' inDirectory:'c:\winstx\stx\libbasic\objbc'.
@@ -1720,7 +1720,7 @@
 
     result := self getCommandOutputFrom:aCommand maxNumberOfLines:1 errorDisposition:#discard.
     result notNil ifTrue:[
-        ^ result firstIfEmpty:['']
+	^ result firstIfEmpty:['']
     ].
     ^ result
 
@@ -1751,33 +1751,33 @@
     |result|
 
     PipeFailed ~~ true ifTrue:[
-        PipeStream openErrorSignal handle:[:ex |
-            PipeFailed := true.
-            'OperatingSystem [warning]: cannot fork/popen' errorPrintCR.
-            ex return.
-        ] do:[
-            |p line|
-
-            p := PipeStream
-                    readingFrom:aCommand
-                    errorDisposition:errorDisposition
-                    inDirectory:nil.
-            result := StringCollection new.
-            [p atEnd] whileFalse:[
-                line := p nextLine.
-                (numLinesOrNil isNil
-                or:[result size < numLinesOrNil]) ifTrue:[
-                    result add:line
-                ].
-            ].
-            p close.
-            (p exitStatus notNil
-            and:[p exitStatus success]) ifFalse:[
-                result isEmpty ifTrue:[
-                    result := nil
-                ]
-            ].
-        ].
+	PipeStream openErrorSignal handle:[:ex |
+	    PipeFailed := true.
+	    'OperatingSystem [warning]: cannot fork/popen' errorPrintCR.
+	    ex return.
+	] do:[
+	    |p line|
+
+	    p := PipeStream
+		    readingFrom:aCommand
+		    errorDisposition:errorDisposition
+		    inDirectory:nil.
+	    result := StringCollection new.
+	    [p atEnd] whileFalse:[
+		line := p nextLine.
+		(numLinesOrNil isNil
+		or:[result size < numLinesOrNil]) ifTrue:[
+		    result add:line
+		].
+	    ].
+	    p close.
+	    (p exitStatus notNil
+	    and:[p exitStatus success]) ifFalse:[
+		result isEmpty ifTrue:[
+		    result := nil
+		]
+	    ].
+	].
     ].
     ^ result
 
@@ -1821,9 +1821,9 @@
     "
      OperatingSystem canExecuteCommand:'fooBar'
      OperatingSystem canExecuteCommand:'ls'
-     OperatingSystem canExecuteCommand:'cvs' 
-     OperatingSystem canExecuteCommand:'diff' 
-     OperatingSystem canExecuteCommand:'cvs.exe' 
+     OperatingSystem canExecuteCommand:'cvs'
+     OperatingSystem canExecuteCommand:'diff'
+     OperatingSystem canExecuteCommand:'cvs.exe'
     "
 
     "Created: 4.11.1995 / 19:13:54 / cg"
@@ -1889,13 +1889,13 @@
      Can be used on UNIX with fork or on other systems to chain to another program."
 
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:#(0 1 2)
-        fork:false
-        newPgrp:false
-        inDirectory:nil
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:#(0 1 2)
+	fork:false
+	newPgrp:false
+	inDirectory:nil
 
     "/ never reached ...
 
@@ -1904,13 +1904,13 @@
 
 exec:aCommandPath withArguments:argArray fileDescriptors:fileDescriptors fork:doFork newPgrp:newPgrp inDirectory:aDirectory
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:fileDescriptors
-        fork:doFork
-        newPgrp:newPgrp
-        inDirectory:aDirectory
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:fileDescriptors
+	fork:doFork
+	newPgrp:newPgrp
+	inDirectory:aDirectory
 !
 
 exec:aCommandPath withArguments:argArray fork:doFork
@@ -1920,25 +1920,25 @@
      (typically, the terminal window)"
 
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:#(0 1 2)
-        fork:doFork
-        newPgrp:false
-        inDirectory:nil
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:#(0 1 2)
+	fork:doFork
+	newPgrp:false
+	inDirectory:nil
 
     "
      |id|
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/ls'
-            withArguments:#('ls' '/tmp')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/ls'
+	    withArguments:#('ls' '/tmp')
+	    fork:false.
+	'not reached'.
      ]
     "
 
@@ -1947,12 +1947,12 @@
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/sh'
-            withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/sh'
+	    withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
+	    fork:false.
+	'not reached'.
      ].
      id printNL.
      (Delay forSeconds:3.5) wait.
@@ -1972,25 +1972,25 @@
      (typically, the terminal window)"
 
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:#(0 1 2)
-        fork:doFork
-        newPgrp:false
-        inDirectory:aDirectory
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:#(0 1 2)
+	fork:doFork
+	newPgrp:false
+	inDirectory:aDirectory
 
     "
      |id|
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/ls'
-            withArguments:#('ls' '/tmp')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/ls'
+	    withArguments:#('ls' '/tmp')
+	    fork:false.
+	'not reached'.
      ]
     "
 
@@ -1999,12 +1999,12 @@
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/sh'
-            withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/sh'
+	    withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
+	    fork:false.
+	'not reached'.
      ].
      id printNL.
      (Delay forSeconds:3.5) wait.
@@ -2118,10 +2118,10 @@
      Here, false is returned and the caller should be prepared
      for a fallBack solution.
      Notice:
-        this is not a public interface; instead, it is used
-        internally by the Filename class, to try a fast copy
-        before doing things manually.
-        Please use Filename recursiveCopyTo:"
+	this is not a public interface; instead, it is used
+	internally by the Filename class, to try a fast copy
+	before doing things manually.
+	Please use Filename recursiveCopyTo:"
 
     ^ false
 
@@ -2141,8 +2141,8 @@
 
     self createDirectory:dirName.
     (self isDirectory:dirName) ifFalse:[
-        (self recursiveCreateDirectory:(dirName asFilename directoryName)) ifFalse:[^ false].
-        ^ self createDirectory:dirName
+	(self recursiveCreateDirectory:(dirName asFilename directoryName)) ifFalse:[^ false].
+	^ self createDirectory:dirName
     ].
     ^ true
 
@@ -2160,10 +2160,10 @@
      Here, false is returned and the caller should be prepared
      for a fallBack solution.
      Notice:
-        this is not a public interface; instead, it is used
-        internally by the Filename class, to try a fast remove
-        before doing things manually.
-        Please use Filename recursiveRemoveDirectory:"
+	this is not a public interface; instead, it is used
+	internally by the Filename class, to try a fast remove
+	before doing things manually.
+	Please use Filename recursiveRemoveDirectory:"
 
     ^ false
 
@@ -2231,7 +2231,7 @@
 
     "
      this could have been implemented as:
-        (self infoOf:aPathName) at:#mode
+	(self infoOf:aPathName) at:#mode
      but for huge directory searches the code below is faster
     "
 
@@ -2383,8 +2383,8 @@
      The amount of information returned depends upon the OS, and is
      not guaranteed to be consistent across architectures.
      On unix and msdos, the information returned is (at least):
-        freeBytes
-        totalBytes
+	freeBytes
+	totalBytes
      Do not depend on any information being present in the returned dictionary;
      users of this method should always use #at:ifAbsent:, and care for the absent case.
      Nil is returned if no such information can be obtained.
@@ -2412,9 +2412,9 @@
     "/ root, home and current directories.
     "/
     ^ Array
-        with:'/'
-        with:(self getHomeDirectory)
-        with:(Filename currentDirectory pathName)
+	with:'/'
+	with:(self getHomeDirectory)
+	with:(Filename currentDirectory pathName)
 
     "Modified: / 5.5.1999 / 01:06:26 / cg"
 !
@@ -2424,8 +2424,8 @@
      The amount of information returned depends upon the OS, and is
      not guaranteed to be consistent across architectures.
      On unix, the information returned is (at least):
-        mountPoint - mount point
-        fileSystem - device or NFS-remotePath
+	mountPoint - mount point
+	fileSystem - device or NFS-remotePath
     "
 
     ^ #()
@@ -2472,16 +2472,16 @@
     "return some object filled with info for the file 'aPathName';
      the info (for which corresponding access methods are understood by
      the returned object) is:
-         type            - a symbol giving the files type
-         mode            - numeric access mode
-         uid             - owners user id
-         gid             - owners group id
-         size            - files size
-         id              - files number (i.e. inode number)
-         accessed        - last access time (as Timestamp)
-         modified        - last modification time (as Timestamp)
-         statusChanged   - last status change time (as Timestamp)
-         alternativeName - (windows only: the MSDOS name of the file)
+	 type            - a symbol giving the files type
+	 mode            - numeric access mode
+	 uid             - owners user id
+	 gid             - owners group id
+	 size            - files size
+	 id              - files number (i.e. inode number)
+	 accessed        - last access time (as Timestamp)
+	 modified        - last modification time (as Timestamp)
+	 statusChanged   - last status change time (as Timestamp)
+	 alternativeName - (windows only: the MSDOS name of the file)
 
      Some of the fields may be returned as nil on systems which do not provide
      all of the information.
@@ -2784,8 +2784,8 @@
 disableTimer
     "disable timer interrupts.
      WARNING:
-        the system will not operate correctly with timer interrupts
-        disabled, because no scheduling or timeouts are possible."
+	the system will not operate correctly with timer interrupts
+	disabled, because no scheduling or timeouts are possible."
 
     self subclassResponsibility
 !
@@ -2794,9 +2794,9 @@
     "disable userInterrupt processing;
      when disabled, no ^C processing takes place.
      WARNING:
-         If at all, use this only for debugged stand-alone applications, since
-         no exit to the debugger is possible with user interrupts disabled.
-         We recommend setting up a handler for the signal instead of disabling it."
+	 If at all, use this only for debugged stand-alone applications, since
+	 no exit to the debugger is possible with user interrupts disabled.
+	 We recommend setting up a handler for the signal instead of disabling it."
 
     self disableSignal:(self sigBREAK).
     self disableSignal:(self sigINT).
@@ -2934,8 +2934,8 @@
      The process has a no chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 
@@ -2947,8 +2947,8 @@
      The process has NO chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 
@@ -2998,7 +2998,7 @@
     aSignalNumber == self sigDANGER  ifTrue:[^ 'low on paging space'].
 
     "notice: many systems map SIGPOLL and/or SIGUSR onto SIGIO
-             therefore, keep SIGIO always above the two below"
+	     therefore, keep SIGIO always above the two below"
     aSignalNumber == self sigPOLL   ifTrue:[^ 'io available'].
     aSignalNumber == self sigURG    ifTrue:[^ 'urgent'].
 
@@ -3015,7 +3015,7 @@
      operatingSystem-signal occurs, or nil"
 
     OSSignals notNil ifTrue:[
-        ^ OSSignals at:signalNumber ifAbsent:[nil]
+	^ OSSignals at:signalNumber ifAbsent:[nil]
     ].
     ^ nil
 !
@@ -3024,7 +3024,7 @@
     "install a signal to be raised when an operatingSystem-signal occurs"
 
     OSSignals isNil ifTrue:[
-        OSSignals := Array new:32
+	OSSignals := Array new:32
     ].
     OSSignals at:signalNumber put:aSignal
 !
@@ -3045,7 +3045,7 @@
      On systems, where no virtual timer is available, use the real timer
      (which is of course less correct).
      OBSOLETE: the new messageTally runs as a high prio process, not using
-               spy interrupts."
+	       spy interrupts."
 
     ^ false
 !
@@ -3053,7 +3053,7 @@
 stopSpyTimer
     "stop spy timing - disable spy timer.
      OBSOLETE: the new messageTally runs as a high prio process, not using
-               spy interrupts."
+	       spy interrupts."
 
     ^ false
 !
@@ -3063,8 +3063,8 @@
      The process has a chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 !
@@ -3074,8 +3074,8 @@
      The process has a chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 !
@@ -3116,7 +3116,7 @@
     int code = 1;
 
     if (__isSmallInteger(exitCode)) {
-        code = __intVal(exitCode);
+	code = __intVal(exitCode);
     }
     __mainExit(code);
 %}
@@ -3319,7 +3319,7 @@
 getDomainName
     "return the domain this host is in.
      Notice:
-        not all systems support this; on some, 'unknown' is returned."
+	not all systems support this; on some, 'unknown' is returned."
 
     self subclassResponsibility
 !
@@ -3331,11 +3331,11 @@
 !
 
 getHostName
-    "return the hostname we are running on - 
+    "return the hostname we are running on -
      a fully qalified hostname at best.
 
      Notice:
-        not all systems support this; on some, 'unknown' is returned."
+	not all systems support this; on some, 'unknown' is returned."
 
     self subclassResponsibility
 !
@@ -3350,42 +3350,42 @@
     "return a dictionary filled with values from the locale information;
      Not all fields may be present, depending on the OS's setup and capabilities.
      Possible fields are:
-        decimalPoint                    <String>
-
-        thousandsSep                    <String>
-
-        internationalCurrencySymbol     <String>
-
-        currencySymbol                  <String>
-
-        monetaryDecimalPoint            <String>
-
-        monetaryThousandsSeparator      <String>
-
-        positiveSign                    <String>
-
-        negativeSign                    <String>
-
-        internationalFractionalDigits   <Integer>
-
-        fractionalDigits                <Integer>
-
-        positiveSignPrecedesCurrencySymbol      <Boolean>
-
-        negativeSignPrecedesCurrencySymbol      <Boolean>
-
-        positiveSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
-
-        negativeSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
-
-        positiveSignPosition                            <Symbol>
-                                                        one of: #parenthesesAround,
-                                                                #signPrecedes,
-                                                                #signSuceeds,
-                                                                #signPrecedesCurrencySymbol,
-                                                                #signSuceedsCurrencySymbol
-
-        negativeSignPosition                            <like above>
+	decimalPoint                    <String>
+
+	thousandsSep                    <String>
+
+	internationalCurrencySymbol     <String>
+
+	currencySymbol                  <String>
+
+	monetaryDecimalPoint            <String>
+
+	monetaryThousandsSeparator      <String>
+
+	positiveSign                    <String>
+
+	negativeSign                    <String>
+
+	internationalFractionalDigits   <Integer>
+
+	fractionalDigits                <Integer>
+
+	positiveSignPrecedesCurrencySymbol      <Boolean>
+
+	negativeSignPrecedesCurrencySymbol      <Boolean>
+
+	positiveSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
+
+	negativeSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
+
+	positiveSignPosition                            <Symbol>
+							one of: #parenthesesAround,
+								#signPrecedes,
+								#signSuceeds,
+								#signPrecedesCurrencySymbol,
+								#signSuceedsCurrencySymbol
+
+	negativeSignPosition                            <like above>
 
      it is up to the application to deal with undefined values.
 
@@ -3398,14 +3398,14 @@
 
 getNetworkAddresses
     "return a dictionary with key:name of interface and
-                            value:the network address for each interface"
+			    value:the network address for each interface"
 
     self subclassResponsibility
 !
 
 getNetworkMACAddresses
     "return a dictionary with key:name of interface and
-                            value:the MAC adress for each interface"
+			    value:the MAC adress for each interface"
 
     self subclassResponsibility
 !
@@ -3636,7 +3636,7 @@
     "if supported by the OS, return the systemID;
      a unique per machine identification.
      WARNING:
-        not all systems support this; on some, 'unknown' is returned."
+	not all systems support this; on some, 'unknown' is returned."
 
     ^ 'unknown'
 
@@ -3658,16 +3658,16 @@
        This method is mainly provided to augment error reports with some system
        information.
        (in case of system/version specific OS errors, conditional workarounds and patches
-        may be based upon this info).
+	may be based upon this info).
        Your application should NOT depend upon this in any way.
 
      The returned info may (or may not) contain:
-        #system -> some operating system identification (irix, Linux, nt, win32s ...)
-        #version -> OS version (some os version identification)
-        #release -> OS release (3.5, 1.2.1 ...)
-        #node   -> some host identification (hostname)
-        #domain  -> domain name (hosts domain)
-        #machine -> type of machine (i586, mips ...)
+	#system -> some operating system identification (irix, Linux, nt, win32s ...)
+	#version -> OS version (some os version identification)
+	#release -> OS release (3.5, 1.2.1 ...)
+	#node   -> some host identification (hostname)
+	#domain  -> domain name (hosts domain)
+	#machine -> type of machine (i586, mips ...)
     "
 
     |info|
@@ -3705,7 +3705,7 @@
     "internal interface - only for Windows based systems.
      Return the windows directory, which, depending on the system,
      may be
-        '\WINNT', '\WINDOWS' 
+	'\WINNT', '\WINDOWS'
      or whatever.
      On non-windows systems, nil is returned."
 
@@ -3719,8 +3719,8 @@
 getWindowsSystemDirectory
     "internal interface - only for Windows based systems.
      Return the windows system directory, which, depending on the system,
-     may be 
-        '\WINNT\SYSTEM32', '\WINDOWS\SYSTEM' 
+     may be
+	'\WINNT\SYSTEM32', '\WINDOWS\SYSTEM'
      or whatever.
      On non-windows systems, nil is returned."
 
@@ -3805,12 +3805,12 @@
      dialogs are presented to the user."
 
     ^#(
-        win32
-        os2      "/ actually - this is no longer true
-        macos    "/ actually - this is no longer true
-        vms      "/ actually - this is no longer true
-        beos     "/ actually - this was never true
-        unix
+	win32
+	os2      "/ actually - this is no longer true
+	macos    "/ actually - this is no longer true
+	vms      "/ actually - this is no longer true
+	beos     "/ actually - this was never true
+	unix
     )
 
     "
@@ -3825,11 +3825,11 @@
 maxFileNameLength
     "return the max number of characters in a filename.
      CAVEAT:
-         Actually, the following is somewhat wrong - some systems
-         support different sizes, depending on the volume.
-         We return a somewhat conservative number here.
-         Another entry, to query for volume specific max
-         will be added in the future."
+	 Actually, the following is somewhat wrong - some systems
+	 support different sizes, depending on the volume.
+	 We return a somewhat conservative number here.
+	 Another entry, to query for volume specific max
+	 will be added in the future."
 
     self subclassResponsibility
 !
@@ -3914,21 +3914,21 @@
     "Modified: 20.6.1997 / 17:37:26 / cg"
 !
 
-randomBytesInto:bufferOrInteger 
+randomBytesInto:bufferOrInteger
     "If bufferOrInteger is a String or a ByteArray,
-        fill a given buffer with random bytes from the RtlGenRandom function
-        and nswer the buffer.
+	fill a given buffer with random bytes from the RtlGenRandom function
+	and nswer the buffer.
 
      If bufferOrInteger is a SmallInteger,
-        return this many bytes (max 4) as a SmallInteger.
-
-     Return nil on error (may raise PrimitiveFailure, too).   
+	return this many bytes (max 4) as a SmallInteger.
+
+     Return nil on error (may raise PrimitiveFailure, too).
 
      NOTE: This is a private interface, please use RandomGenerator!!
 
      Subclasses should implement this, if the OperatingSystem supports a random generator."
 
-    ^ nil  "not implemented"    
+    ^ nil  "not implemented"
 !
 
 setEnvironment:aStringOrSymbol to:newValueString
@@ -4102,7 +4102,7 @@
     "/
     appDirName := self pathOfSTXExecutable asFilename directory.
     (packagePath includes:appDirName) ifFalse:[
-        packagePath add:appDirName.
+	packagePath add:appDirName.
     ].
 
     "/
@@ -4112,27 +4112,27 @@
     appDir := self pathOfSTXExecutable asFilename directory directory.
     dirName := appDir pathName.
     (packagePath includes:dirName) ifFalse:[
-        packagePath add:dirName.
+	packagePath add:dirName.
     ].
 
     homeDirName := OperatingSystem getHomeDirectory.
     homeDirName notNil ifTrue:[
-        "/
-        "/ a users private smalltalk directory in its home (login) directory:
-        "/      $HOME/.smalltalk/packages    or $HOME\smalltalk\packages
-        "/
-        OperatingSystem isUNIXlike ifTrue:[
-            priv := '.smalltalk'.
-        ] ifFalse:[
-            priv := 'smalltalk'.
-        ].
-        userPrivateSTXDir := homeDirName asFilename / priv.
-        (userPrivateSTXDir isDirectory) ifTrue:[
-            dirName :=  userPrivateSTXDir pathName.
-            (packagePath includes:dirName) ifFalse:[
-                packagePath add:dirName
-            ]
-        ].
+	"/
+	"/ a users private smalltalk directory in its home (login) directory:
+	"/      $HOME/.smalltalk/packages    or $HOME\smalltalk\packages
+	"/
+	OperatingSystem isUNIXlike ifTrue:[
+	    priv := '.smalltalk'.
+	] ifFalse:[
+	    priv := 'smalltalk'.
+	].
+	userPrivateSTXDir := homeDirName asFilename / priv.
+	(userPrivateSTXDir isDirectory) ifTrue:[
+	    dirName :=  userPrivateSTXDir pathName.
+	    (packagePath includes:dirName) ifFalse:[
+		packagePath add:dirName
+	    ]
+	].
     ].
 
     "/
@@ -4141,41 +4141,41 @@
     "/
     topDirName := OperatingSystem getEnvironment:'STX_TOPDIR'.
     topDirName notNil ifTrue:[
-        (packagePath includes:topDirName) ifFalse:[
-            packagePath add:topDirName
-        ].
+	(packagePath includes:topDirName) ifFalse:[
+	    packagePath add:topDirName
+	].
     ].
 
     packagePath := packagePath select:[:each | (each asFilename / 'packages') exists]
-                               thenCollect:[:each | (each asFilename constructString:'packages')].
+			       thenCollect:[:each | (each asFilename constructString:'packages')].
 
     "
       unconditionally prepend all directories from $STX_PACKAGEPATH
     "
     (dirName := OperatingSystem getEnvironment:'STX_PACKAGEPATH') notNil ifTrue:[
-        dirName := dirName asCollectionOfSubstringsSeparatedBy:$:.
-        dirName reverseDo:[:eachDirectoryName|
-            (packagePath includes:eachDirectoryName) ifFalse:[
-                packagePath addFirst:eachDirectoryName.
-            ].
-        ].
+	dirName := dirName asCollectionOfSubstringsSeparatedBy:$:.
+	dirName reverseDo:[:eachDirectoryName|
+	    (packagePath includes:eachDirectoryName) ifFalse:[
+		packagePath addFirst:eachDirectoryName.
+	    ].
+	].
     ].
 
     "maybe the sources are kept in a central place..."
     (appDir / 'source') isDirectory ifTrue:[
-        packagePath add:(appDir / 'source') pathName.
+	packagePath add:(appDir / 'source') pathName.
     ].
 
     "maybe we are running in the build environment:  XXX/stx    /projects /smalltalk
-                                                or:  XXX/exept  /expecco  /application
+						or:  XXX/exept  /expecco  /application
      - if XXX/stx/libbasic exists, add XXX to the package path"
 
     topDirName isNil ifTrue:[
-        "appdir is now: projects"
-        appDir := appDir directory directory.
-        (appDir / 'stx' / 'libbasic') isDirectory ifTrue:[
-            packagePath add:appDir pathName.
-        ].
+	"appdir is now: projects"
+	appDir := appDir directory directory.
+	(appDir / 'stx' / 'libbasic') isDirectory ifTrue:[
+	    packagePath add:appDir pathName.
+	].
     ].
 
     ^ packagePath
@@ -4212,17 +4212,17 @@
     "/
     appPath := self pathOfSTXExecutable.
     appPath notNil ifTrue:[
-        appDir := appPath asFilename directory.
-        appPath := appDir pathName.
-        (sysPath includes:appPath) ifFalse:[
-            sysPath add:appPath.
-        ].                                                             
-        appDir baseName = 'bin' ifTrue:[
-            appPath := appDir directory pathName.
-            (sysPath includes:appPath) ifFalse:[
-                sysPath add:appPath.
-            ].
-        ].
+	appDir := appPath asFilename directory.
+	appPath := appDir pathName.
+	(sysPath includes:appPath) ifFalse:[
+	    sysPath add:appPath.
+	].
+	appDir baseName = 'bin' ifTrue:[
+	    appPath := appDir directory pathName.
+	    (sysPath includes:appPath) ifFalse:[
+		sysPath add:appPath.
+	    ].
+	].
     ].
 
     "/
@@ -4230,45 +4230,45 @@
     "/
     homePath := self getHomeDirectory.
     homePath notNil ifTrue:[
-        "/
-        "/ a users private smalltalk directory in its home (login) directory
-        "/
-        OperatingSystem isUNIXlike ifTrue:[
-            priv := '.smalltalk'.
-        ] ifFalse:[
-            priv := 'smalltalk'.
-        ].
-        userPrivateSTXDir := homePath asFilename construct:priv.
-        (userPrivateSTXDir isDirectory) ifTrue:[
-            userPrivateSTXDir := userPrivateSTXDir pathName.
-            (sysPath includes:userPrivateSTXDir) ifFalse:[
-                sysPath add:userPrivateSTXDir
-            ]
-        ].
+	"/
+	"/ a users private smalltalk directory in its home (login) directory
+	"/
+	OperatingSystem isUNIXlike ifTrue:[
+	    priv := '.smalltalk'.
+	] ifFalse:[
+	    priv := 'smalltalk'.
+	].
+	userPrivateSTXDir := homePath asFilename construct:priv.
+	(userPrivateSTXDir isDirectory) ifTrue:[
+	    userPrivateSTXDir := userPrivateSTXDir pathName.
+	    (sysPath includes:userPrivateSTXDir) ifFalse:[
+		sysPath add:userPrivateSTXDir
+	    ]
+	].
     ].
 
     "/
     "/ SMALLTALK_LIBDIR, STX_LIBDIR and STX_TOPDIR from the environment
     "/
-    #( 
-        'SMALLTALK_LIBDIR'
-        'STX_LIBDIR'
-        'STX_TOPDIR'
+    #(
+	'SMALLTALK_LIBDIR'
+	'STX_LIBDIR'
+	'STX_TOPDIR'
      ) do:[:each |
-        p := OperatingSystem getEnvironment:each.
-        p notNil ifTrue:[
-            p := p asFilename pathName.
-            (p asFilename isDirectory) ifTrue:[
-                (sysPath includes:p) ifFalse:[
-                     sysPath add:p
-                ]
-            ]
-        ].
+	p := OperatingSystem getEnvironment:each.
+	p notNil ifTrue:[
+	    p := p asFilename pathName.
+	    (p asFilename isDirectory) ifTrue:[
+		(sysPath includes:p) ifFalse:[
+		     sysPath add:p
+		]
+	    ]
+	].
     ].
     ^ sysPath
 
     "
-        OperatingSystem defaultSystemPath
+	OperatingSystem defaultSystemPath
     "
 
     "Modified: / 24.12.1999 / 00:30:27 / cg"
@@ -4305,7 +4305,7 @@
 %{  /*NOCONTEXT*/
 
     if (__isSmallInteger(aSymbolOrInteger) || aSymbolOrInteger == nil) {
-        RETURN (aSymbolOrInteger);
+	RETURN (aSymbolOrInteger);
     }
 
 #ifdef AF_INET
@@ -4501,208 +4501,208 @@
 %{ /*NOCONTEXT*/
 
     if (__isSmallInteger(anInteger)) {
-        switch(__intVal(anInteger)) {
+	switch(__intVal(anInteger)) {
 #ifdef AF_INET
-        case AF_INET:
-            domainSymbol = @symbol(AF_INET);
-            break;
+	case AF_INET:
+	    domainSymbol = @symbol(AF_INET);
+	    break;
 #endif
 #ifdef AF_INET6
-        case AF_INET6:
-            domainSymbol = @symbol(AF_INET6);
-            break;
+	case AF_INET6:
+	    domainSymbol = @symbol(AF_INET6);
+	    break;
 #endif
 #ifdef AF_UNIX
-        case AF_UNIX:
-            domainSymbol = @symbol(AF_UNIX);
-            break;
+	case AF_UNIX:
+	    domainSymbol = @symbol(AF_UNIX);
+	    break;
 #endif
 #ifdef AF_APPLETALK
-        case AF_APPLETALK:
-            domainSymbol = @symbol(AF_APPLETALK);
-            break;
+	case AF_APPLETALK:
+	    domainSymbol = @symbol(AF_APPLETALK);
+	    break;
 #endif
 #ifdef AF_DECnet
-        case AF_DECnet:
-            domainSymbol = @symbol(AF_DECnet);
-            break;
+	case AF_DECnet:
+	    domainSymbol = @symbol(AF_DECnet);
+	    break;
 #endif
 #ifdef AF_NS
-        case AF_NS:
-            domainSymbol = @symbol(AF_NS);
-            break;
+	case AF_NS:
+	    domainSymbol = @symbol(AF_NS);
+	    break;
 #endif
 #ifdef AF_X25
-        case AF_X25:
-            domainSymbol = @symbol(AF_X25);
-            break;
+	case AF_X25:
+	    domainSymbol = @symbol(AF_X25);
+	    break;
 #endif
 #ifdef AF_SNA
-        case AF_SNA:
-            domainSymbol = @symbol(AF_SNA);
-            break;
+	case AF_SNA:
+	    domainSymbol = @symbol(AF_SNA);
+	    break;
 #endif
 #ifdef AF_RAW
-        case AF_RAW:
-            domainSymbol = @symbol(AF_RAW);
-            break;
+	case AF_RAW:
+	    domainSymbol = @symbol(AF_RAW);
+	    break;
 #endif
 #ifdef AF_ISO
-        case AF_ISO:
-            domainSymbol = @symbol(AF_ISO);
-            break;
+	case AF_ISO:
+	    domainSymbol = @symbol(AF_ISO);
+	    break;
 #endif
 #ifdef AF_ECMA
-        case AF_ECMA:
-            domainSymbol = @symbol(AF_ECMA);
-            break;
+	case AF_ECMA:
+	    domainSymbol = @symbol(AF_ECMA);
+	    break;
 #endif
 #ifdef AF_NETBIOS
-        case AF_NETBIOS:
-            domainSymbol = @symbol(AF_NETBIOS);
-            break;
+	case AF_NETBIOS:
+	    domainSymbol = @symbol(AF_NETBIOS);
+	    break;
 #endif
 #ifdef AF_IPX
-        case AF_IPX:
-            domainSymbol = @symbol(AF_IPX);
-            break;
+	case AF_IPX:
+	    domainSymbol = @symbol(AF_IPX);
+	    break;
 #endif
 #ifdef AF_AX25
-        case AF_AX25:
-            domainSymbol = @symbol(AF_AX25);
-            break;
+	case AF_AX25:
+	    domainSymbol = @symbol(AF_AX25);
+	    break;
 #endif
 #ifdef AF_NETROM
-        case AF_NETROM:
-            domainSymbol = @symbol(AF_NETROM);
-            break;
+	case AF_NETROM:
+	    domainSymbol = @symbol(AF_NETROM);
+	    break;
 #endif
 #ifdef AF_BRIDGE
-        case AF_BRIDGE:
-            domainSymbol = @symbol(AF_BRIDGE);
-            break;
+	case AF_BRIDGE:
+	    domainSymbol = @symbol(AF_BRIDGE);
+	    break;
 #endif
 #ifdef AF_BSC
-        case AF_BSC:
-            domainSymbol = @symbol(AF_BSC);
-            break;
+	case AF_BSC:
+	    domainSymbol = @symbol(AF_BSC);
+	    break;
 #endif
 #ifdef AF_ROSE
-        case AF_ROSE:
-            domainSymbol = @symbol(AF_ROSE);
-            break;
+	case AF_ROSE:
+	    domainSymbol = @symbol(AF_ROSE);
+	    break;
 #endif
 #ifdef AF_IRDA
-        case AF_IRDA:
-            domainSymbol = @symbol(AF_IRDA);
-            break;
+	case AF_IRDA:
+	    domainSymbol = @symbol(AF_IRDA);
+	    break;
 #endif
 #ifdef AF_BAN
-        case AF_BAN:
-            domainSymbol = @symbol(AF_BAN);
-            break;
+	case AF_BAN:
+	    domainSymbol = @symbol(AF_BAN);
+	    break;
 #endif
 #ifdef AF_VOICEVIEW
-        case AF_VOICEVIEW:
-            domainSymbol = @symbol(AF_VOICEVIEW);
-            break;
+	case AF_VOICEVIEW:
+	    domainSymbol = @symbol(AF_VOICEVIEW);
+	    break;
 #endif
 #ifdef AF_ATM
-        case AF_ATM:
-            domainSymbol = @symbol(AF_ATM);
-            break;
+	case AF_ATM:
+	    domainSymbol = @symbol(AF_ATM);
+	    break;
 #endif
 #ifdef AF_ATMPVC
-        case AF_ATMPVC:
-            domainSymbol = @symbol(AF_ATMPVC);
-            break;
+	case AF_ATMPVC:
+	    domainSymbol = @symbol(AF_ATMPVC);
+	    break;
 #endif
 #ifdef AF_ATMSVC
-        case AF_ATMSVC:
-            domainSymbol = @symbol(AF_ATMSVC);
-            break;
+	case AF_ATMSVC:
+	    domainSymbol = @symbol(AF_ATMSVC);
+	    break;
 #endif
 #ifdef AF_SECURITY
-        case AF_SECURITY:
-            domainSymbol = @symbol(AF_SECURITY);
-            break;
+	case AF_SECURITY:
+	    domainSymbol = @symbol(AF_SECURITY);
+	    break;
 #endif
 #ifdef AF_KEY
-        case AF_KEY:
-            domainSymbol = @symbol(AF_KEY);
-            break;
+	case AF_KEY:
+	    domainSymbol = @symbol(AF_KEY);
+	    break;
 #endif
 #ifdef AF_NETLINK
-        case AF_NETLINK:
-            domainSymbol = @symbol(AF_NETLINK);
-            break;
+	case AF_NETLINK:
+	    domainSymbol = @symbol(AF_NETLINK);
+	    break;
 #endif
 #ifdef AF_PACKET
-        case AF_PACKET:
-            domainSymbol = @symbol(AF_PACKET);
-            break;
+	case AF_PACKET:
+	    domainSymbol = @symbol(AF_PACKET);
+	    break;
 #endif
 #ifdef AF_ASH
-        case AF_ASH:
-            domainSymbol = @symbol(AF_ASH);
-            break;
+	case AF_ASH:
+	    domainSymbol = @symbol(AF_ASH);
+	    break;
 #endif
 #ifdef AF_ECONET
-        case AF_ECONET:
-            domainSymbol = @symbol(AF_ECONET);
-            break;
+	case AF_ECONET:
+	    domainSymbol = @symbol(AF_ECONET);
+	    break;
 #endif
 #ifdef AF_IMPLINK
-        case AF_IMPLINK:
-            domainSymbol = @symbol(AF_IMPLINK);
-            break;
+	case AF_IMPLINK:
+	    domainSymbol = @symbol(AF_IMPLINK);
+	    break;
 #endif
 #ifdef AF_PUP
-        case AF_PUP:
-            domainSymbol = @symbol(AF_PUP);
-            break;
+	case AF_PUP:
+	    domainSymbol = @symbol(AF_PUP);
+	    break;
 #endif
 #ifdef AF_CHAOS
-        case AF_CHAOS:
-            domainSymbol = @symbol(AF_CHAOS);
-            break;
+	case AF_CHAOS:
+	    domainSymbol = @symbol(AF_CHAOS);
+	    break;
 #endif
 #ifdef AF_DLI
-        case AF_DLI:
-            domainSymbol = @symbol(AF_DLI);
-            break;
+	case AF_DLI:
+	    domainSymbol = @symbol(AF_DLI);
+	    break;
 #endif
 #ifdef AF_LAT
-        case AF_LAT:
-            domainSymbol = @symbol(AF_LAT);
-            break;
+	case AF_LAT:
+	    domainSymbol = @symbol(AF_LAT);
+	    break;
 #endif
 #ifdef AF_HYLINK
-        case AF_HYLINK:
-            domainSymbol = @symbol(AF_HYLINK);
-            break;
+	case AF_HYLINK:
+	    domainSymbol = @symbol(AF_HYLINK);
+	    break;
 #endif
 #ifdef AF_FIREFOX
-        case AF_FIREFOX:
-            domainSymbol = @symbol(AF_FIREFOX);
-            break;
+	case AF_FIREFOX:
+	    domainSymbol = @symbol(AF_FIREFOX);
+	    break;
 #endif
 #ifdef AF_CLUSTER
-        case AF_CLUSTER:
-            domainSymbol = @symbol(AF_CLUSTER);
-            break;
+	case AF_CLUSTER:
+	    domainSymbol = @symbol(AF_CLUSTER);
+	    break;
 #endif
 #ifdef AF_12844
-        case AF_12844:
-            domainSymbol = @symbol(AF_12844);
-            break;
+	case AF_12844:
+	    domainSymbol = @symbol(AF_12844);
+	    break;
 #endif
 #ifdef AF_NETDES
-        case AF_NETDES:
-            domainSymbol = @symbol(AF_NETDES);
-            break;
-#endif
-        }
+	case AF_NETDES:
+	    domainSymbol = @symbol(AF_NETDES);
+	    break;
+#endif
+	}
     }
 %}.
 
@@ -4729,7 +4729,7 @@
 %{  /*NOCONTEXT*/
 
     if (__isSmallInteger(aSymbolOrInteger) || aSymbolOrInteger == nil) {
-        RETURN (aSymbolOrInteger);
+	RETURN (aSymbolOrInteger);
     }
 
 #ifdef IPPROTO_IP
@@ -4791,68 +4791,68 @@
 %{ /*NOCONTEXT*/
 
     if (__isSmallInteger(anInteger)) {
-        switch(__intVal(anInteger)) {
+	switch(__intVal(anInteger)) {
 #ifdef IPPROTO_IP
-        case IPPROTO_IP:
-            // protocolSymbol = @symbol(IPPROTO_IP);
-            protocolSymbol = @symbol(ip);
-            break;
+	case IPPROTO_IP:
+	    // protocolSymbol = @symbol(IPPROTO_IP);
+	    protocolSymbol = @symbol(ip);
+	    break;
 #endif
 #ifdef IPPROTO_ICMP
-        case IPPROTO_ICMP:
-            // protocolSymbol = @symbol(IPPROTO_ICMP);
-            protocolSymbol = @symbol(icmp);
-            break;
+	case IPPROTO_ICMP:
+	    // protocolSymbol = @symbol(IPPROTO_ICMP);
+	    protocolSymbol = @symbol(icmp);
+	    break;
 #endif
 #ifdef IPPROTO_IGMP
-        case IPPROTO_IGMP:
-            // protocolSymbol = @symbol(IPPROTO_IGMP);
-            protocolSymbol = @symbol(igmp);
-            break;
+	case IPPROTO_IGMP:
+	    // protocolSymbol = @symbol(IPPROTO_IGMP);
+	    protocolSymbol = @symbol(igmp);
+	    break;
 #endif
 #ifdef IPPROTO_GGP
-        case IPPROTO_GGP:
-            // protocolSymbol = @symbol(IPPROTO_GGP);
-            protocolSymbol = @symbol(ggp);
-            break;
+	case IPPROTO_GGP:
+	    // protocolSymbol = @symbol(IPPROTO_GGP);
+	    protocolSymbol = @symbol(ggp);
+	    break;
 #endif
 #ifdef IPPROTO_TCP
-        case IPPROTO_TCP:
-            // protocolSymbol = @symbol(IPPROTO_TCP);
-            protocolSymbol = @symbol(tcp);
-            break;
+	case IPPROTO_TCP:
+	    // protocolSymbol = @symbol(IPPROTO_TCP);
+	    protocolSymbol = @symbol(tcp);
+	    break;
 #endif
 #ifdef IPPROTO_PUP
-        case IPPROTO_PUP:
-            // protocolSymbol = @symbol(IPPROTO_PUP);
-            protocolSymbol = @symbol(pup);
-            break;
+	case IPPROTO_PUP:
+	    // protocolSymbol = @symbol(IPPROTO_PUP);
+	    protocolSymbol = @symbol(pup);
+	    break;
 #endif
 #ifdef IPPROTO_UDP
-        case IPPROTO_UDP:
-            // protocolSymbol = @symbol(IPPROTO_UDP);
-            protocolSymbol = @symbol(udp);
-            break;
+	case IPPROTO_UDP:
+	    // protocolSymbol = @symbol(IPPROTO_UDP);
+	    protocolSymbol = @symbol(udp);
+	    break;
 #endif
 #ifdef IPPROTO_IDP
-        case IPPROTO_IDP:
-            // protocolSymbol = @symbol(IPPROTO_IDP);
-            protocolSymbol = @symbol(idp);
-            break;
+	case IPPROTO_IDP:
+	    // protocolSymbol = @symbol(IPPROTO_IDP);
+	    protocolSymbol = @symbol(idp);
+	    break;
 #endif
 #ifdef IPPROTO_ND
-        case IPPROTO_ND:
-            // protocolSymbol = @symbol(IPPROTO_ND);
-            protocolSymbol = @symbol(nd);
-            break;
+	case IPPROTO_ND:
+	    // protocolSymbol = @symbol(IPPROTO_ND);
+	    protocolSymbol = @symbol(nd);
+	    break;
 #endif
 #ifdef IPPROTO_RAW
-        case IPPROTO_RAW:
-            // protocolSymbol = @symbol(IPPROTO_RAW);
-            protocolSymbol = @symbol(raw);
-            break;
-#endif
-        }
+	case IPPROTO_RAW:
+	    // protocolSymbol = @symbol(IPPROTO_RAW);
+	    protocolSymbol = @symbol(raw);
+	    break;
+#endif
+	}
     }
 %}.
 
@@ -4875,207 +4875,207 @@
 
 %{
     if (__isSmallInteger(domainCode)) {
-        switch (__intVal(domainCode)) {
+	switch (__intVal(domainCode)) {
 #ifdef AF_INET
-            case AF_INET:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_in) );
-                break;
+	    case AF_INET:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_in) );
+		break;
 #endif
 #ifdef AF_INET6
-            case AF_INET6:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_in6) );
-                break;
+	    case AF_INET6:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_in6) );
+		break;
 #endif
 #ifdef AF_UNIX
-            case AF_UNIX:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_un) );
-                break;
+	    case AF_UNIX:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_un) );
+		break;
 #endif
 #ifdef AF_APPLETALK
-            case AF_APPLETALK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_at) );
-                break;
+	    case AF_APPLETALK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_at) );
+		break;
 #endif
 #ifdef AF_DECnet
-            case AF_DECnet:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_dn) );
-                break;
+	    case AF_DECnet:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_dn) );
+		break;
 #endif
 #ifdef AF_NS
-            case AF_NS:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ns) );
-                break;
+	    case AF_NS:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ns) );
+		break;
 #endif
 #ifdef AF_X25
-            case AF_X25:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_x25) );
-                break;
+	    case AF_X25:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_x25) );
+		break;
 #endif
 #ifdef AF_SNA
-            case AF_SNA:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_sna) );
-                break;
+	    case AF_SNA:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_sna) );
+		break;
 #endif
 #ifdef AF_RAW
-            case AF_RAW:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_raw) );
-                break;
+	    case AF_RAW:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_raw) );
+		break;
 #endif
 #ifdef AF_ISO
-            case AF_ISO:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_iso) );
-                break;
+	    case AF_ISO:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_iso) );
+		break;
 #endif
 #ifdef AF_ECMA
 # if 0
-            case AF_ECMA:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ecma) );
-                break;
+	    case AF_ECMA:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ecma) );
+		break;
 # endif
 #endif
 #ifdef AF_NETBIOS
-            case AF_NETBIOS:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbios) );
-                break;
+	    case AF_NETBIOS:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbios) );
+		break;
 #endif
 #ifdef AF_NETBEUI
-            case AF_NETBEUI:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbeui) );
-                break;
+	    case AF_NETBEUI:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbeui) );
+		break;
 #endif
 #ifdef AF_IPX
-            case AF_IPX:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ipx) );
-                break;
+	    case AF_IPX:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ipx) );
+		break;
 #endif
 #ifdef AF_AX25
-            case AF_AX25:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ax25) );
-                break;
+	    case AF_AX25:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ax25) );
+		break;
 #endif
 #ifdef AF_NETROM
-            case AF_NETROM:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netrom) );
-                break;
+	    case AF_NETROM:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netrom) );
+		break;
 #endif
 #ifdef AF_BRIDGE
-            case AF_BRIDGE:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_bridge) );
-                break;
+	    case AF_BRIDGE:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_bridge) );
+		break;
 #endif
 #ifdef AF_BSC
-            case AF_BSC:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_bsc) );
-                break;
+	    case AF_BSC:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_bsc) );
+		break;
 #endif
 #ifdef AF_ROSE
-            case AF_ROSE:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_rose) );
-                break;
+	    case AF_ROSE:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_rose) );
+		break;
 #endif
 #ifdef AF_IRDA
-            case AF_IRDA:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_irda) );
-                break;
+	    case AF_IRDA:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_irda) );
+		break;
 #endif
 #ifdef AF_BAN
-            case AF_BAN:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ban) );
-                break;
+	    case AF_BAN:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ban) );
+		break;
 #endif
 #ifdef AF_VOICEVIEW
-            case AF_VOICEVIEW:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_voiceview) );
-                break;
+	    case AF_VOICEVIEW:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_voiceview) );
+		break;
 #endif
 #ifdef AF_ATM
-            case AF_ATM:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_atm) );
-                break;
+	    case AF_ATM:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_atm) );
+		break;
 #endif
 #ifdef AF_ATMPVC
-            case AF_ATMPVC:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmpvc) );
-                break;
+	    case AF_ATMPVC:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmpvc) );
+		break;
 #endif
 #ifdef AF_ATMSVC
-            case AF_ATMSVC:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmsvc) );
-                break;
+	    case AF_ATMSVC:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmsvc) );
+		break;
 #endif
 #ifdef AF_NETLINK
-            case AF_NETLINK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netlink) );
-                break;
+	    case AF_NETLINK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netlink) );
+		break;
 #endif
 #ifdef AF_PACKET
-            case AF_PACKET:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_packet) );
-                break;
+	    case AF_PACKET:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_packet) );
+		break;
 #endif
 #ifdef AF_ASH
-            case AF_ASH:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ash) );
-                break;
+	    case AF_ASH:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ash) );
+		break;
 #endif
 #ifdef AF_ECONET
-            case AF_ECONET:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_eco) );
-                break;
+	    case AF_ECONET:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_eco) );
+		break;
 #endif
 #ifdef AF_IMPLINK
-            case AF_IMPLINK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_implink) );
-                break;
+	    case AF_IMPLINK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_implink) );
+		break;
 #endif
 #ifdef AF_PUP
 # if 0
-            case AF_PUP:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_pup) );
-                break;
+	    case AF_PUP:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_pup) );
+		break;
 # endif
 #endif
 #ifdef AF_CHAOS
-            case AF_CHAOS:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_chaos) );
-                break;
+	    case AF_CHAOS:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_chaos) );
+		break;
 #endif
 #ifdef AF_DLI
-            case AF_DLI:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_dli) );
-                break;
+	    case AF_DLI:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_dli) );
+		break;
 #endif
 #ifdef AF_LAT
-            case AF_LAT:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_lat) );
-                break;
+	    case AF_LAT:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_lat) );
+		break;
 #endif
 #ifdef AF_HYLINK
-            case AF_HYLINK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_hylink) );
-                break;
+	    case AF_HYLINK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_hylink) );
+		break;
 #endif
 #ifdef AF_FIREFOX
-            case AF_FIREFOX:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_firefox) );
-                break;
+	    case AF_FIREFOX:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_firefox) );
+		break;
 #endif
 #ifdef AF_CLUSTER
-            case AF_CLUSTER:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_cluster) );
-                break;
+	    case AF_CLUSTER:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_cluster) );
+		break;
 #endif
 #ifdef AF_12844
-            case AF_12844:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_12844) );
-                break;
+	    case AF_12844:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_12844) );
+		break;
 #endif
 #ifdef AF_NETDES
-            case AF_NETDES:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netdes) );
-                break;
-#endif
-        }
+	    case AF_NETDES:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netdes) );
+		break;
+#endif
+	}
     }
 %}.
     ^ socketSize
@@ -5096,32 +5096,32 @@
 %{   /*NOCONTEXT*/
 
      if (__isSmallInteger(aSymbolOrInteger) || aSymbolOrInteger == nil) {
-        typeCode = aSymbolOrInteger;
+	typeCode = aSymbolOrInteger;
      }
 
 #ifdef SOCK_STREAM
      else if ((aSymbolOrInteger == @symbol(stream)) || (aSymbolOrInteger == @symbol(SOCK_STREAM)))
-        typeCode = __mkSmallInteger(SOCK_STREAM);
+	typeCode = __mkSmallInteger(SOCK_STREAM);
 #endif
 #ifdef SOCK_DGRAM
      else if ((aSymbolOrInteger == @symbol(datagram)) || (aSymbolOrInteger == @symbol(SOCK_DGRAM)))
-        typeCode = __mkSmallInteger(SOCK_DGRAM);
+	typeCode = __mkSmallInteger(SOCK_DGRAM);
 #endif
 #ifdef SOCK_RAW
      else if ((aSymbolOrInteger == @symbol(raw)) || (aSymbolOrInteger == @symbol(SOCK_RAW)))
-        typeCode = __mkSmallInteger(SOCK_RAW);
+	typeCode = __mkSmallInteger(SOCK_RAW);
 #endif
 #ifdef SOCK_RDM
      else if ((aSymbolOrInteger == @symbol(rdm)) || (aSymbolOrInteger == @symbol(SOCK_RDM)))
-        typeCode = __mkSmallInteger(SOCK_RDM);
+	typeCode = __mkSmallInteger(SOCK_RDM);
 #endif
 #ifdef SOCK_SEQPACKET
      else if ((aSymbolOrInteger == @symbol(seqpacket)) || (aSymbolOrInteger == @symbol(SOCK_SEQPACKET)))
-        typeCode = __mkSmallInteger(SOCK_SEQPACKET);
+	typeCode = __mkSmallInteger(SOCK_SEQPACKET);
 #endif
 #ifdef SOCK_PACKET
      else if ((aSymbolOrInteger == @symbol(packet)) || (aSymbolOrInteger == @symbol(SOCK_PACKET)))
-        typeCode = __mkSmallInteger(SOCK_PACKET);
+	typeCode = __mkSmallInteger(SOCK_PACKET);
 #endif
 %}.
 
@@ -5143,38 +5143,38 @@
 %{  /*NOCONTEXT*/
 
     if (__isSmallInteger(anInteger)) {
-        switch(__intVal(anInteger)) {
+	switch(__intVal(anInteger)) {
 #ifdef SOCK_STREAM
-        case SOCK_STREAM:
-            socketTypeSymbol = @symbol(SOCK_STREAM);
-            break;
+	case SOCK_STREAM:
+	    socketTypeSymbol = @symbol(SOCK_STREAM);
+	    break;
 #endif
 #ifdef SOCK_DGRAM
-        case SOCK_DGRAM:
-            socketTypeSymbol = @symbol(SOCK_DGRAM);
-            break;
+	case SOCK_DGRAM:
+	    socketTypeSymbol = @symbol(SOCK_DGRAM);
+	    break;
 #endif
 #ifdef SOCK_RAW
-        case SOCK_RAW:
-            socketTypeSymbol = @symbol(SOCK_RAW);
-            break;
+	case SOCK_RAW:
+	    socketTypeSymbol = @symbol(SOCK_RAW);
+	    break;
 #endif
 #ifdef SOCK_RDM
-        case SOCK_RDM:
-            socketTypeSymbol = @symbol(SOCK_RDM);
-            break;
+	case SOCK_RDM:
+	    socketTypeSymbol = @symbol(SOCK_RDM);
+	    break;
 #endif
 #ifdef SOCK_SEQPACKET
-        case SOCK_SEQPACKET:
-            socketTypeSymbol = @symbol(SOCK_SEQPACKET);
-            break;
+	case SOCK_SEQPACKET:
+	    socketTypeSymbol = @symbol(SOCK_SEQPACKET);
+	    break;
 #endif
 #ifdef SOCK_PACKET
-        case SOCK_PACKET:
-            socketTypeSymbol = @symbol(SOCK_PACKET);
-            break;
-#endif
-        }
+	case SOCK_PACKET:
+	    socketTypeSymbol = @symbol(SOCK_PACKET);
+	    break;
+#endif
+	}
     }
 %}.
     ^ socketTypeSymbol.
@@ -5188,44 +5188,44 @@
      (non-AF-prefixed) symbols; these will vanish."
 
     ^ #(
-        #AF_INET        #inet
-        #AF_UNIX        #unix
-        #AF_INET6       #inet6
-        #AF_APPLETALK   #appletalk
-        #AF_DECnet      #decnet
-        #AF_NS          #ns
-        #AF_X25         #x25
-        #AF_SNA
-        #AF_RAW
-        #AF_ISO
-        #AF_ECMA
-        #AF_NETBIOS     #netbios
-        #AF_IPX
-        #AF_AX25
-        #AF_NETROM
-        #AF_BRIDGE
-        #AF_BSC
-        #AF_ROSE
-        #AF_IRDA        #irda
-        #AF_NETLINK
-        #AF_NETLINK
-        #AF_NETBEUI
-        #AF_ATM
-        #AF_ATMPVC
-        #AF_ATMSVC
-        #AF_BAN
-        #AF_VOICEVIEW
-        #AF_ECONET
-        #AF_IMPLINK
-        #AF_PUP
-        #AF_CHAOS
-        #AF_DLI
-        #AF_LAT
-        #AF_HYLINK
-        #AF_FIREFOX
-        #AF_CLUSTER
-        #AF_12844
-        #AF_NETDES
+	#AF_INET        #inet
+	#AF_UNIX        #unix
+	#AF_INET6       #inet6
+	#AF_APPLETALK   #appletalk
+	#AF_DECnet      #decnet
+	#AF_NS          #ns
+	#AF_X25         #x25
+	#AF_SNA
+	#AF_RAW
+	#AF_ISO
+	#AF_ECMA
+	#AF_NETBIOS     #netbios
+	#AF_IPX
+	#AF_AX25
+	#AF_NETROM
+	#AF_BRIDGE
+	#AF_BSC
+	#AF_ROSE
+	#AF_IRDA        #irda
+	#AF_NETLINK
+	#AF_NETLINK
+	#AF_NETBEUI
+	#AF_ATM
+	#AF_ATMPVC
+	#AF_ATMSVC
+	#AF_BAN
+	#AF_VOICEVIEW
+	#AF_ECONET
+	#AF_IMPLINK
+	#AF_PUP
+	#AF_CHAOS
+	#AF_DLI
+	#AF_LAT
+	#AF_HYLINK
+	#AF_FIREFOX
+	#AF_CLUSTER
+	#AF_12844
+	#AF_NETDES
        ) select:[:sym | (AbstractOperatingSystem domainCodeOf:sym) isNumber ]
 
     "
@@ -5238,12 +5238,12 @@
      Return nil for invalid or unsupported socket types."
 
     ^ #(
-        #SOCK_STREAM
-        #SOCK_DGRAM
-        #SOCK_RAW
-        #SOCK_RDM
-        #SOCK_SEQPACKET
-        #SOCK_PACKET
+	#SOCK_STREAM
+	#SOCK_DGRAM
+	#SOCK_RAW
+	#SOCK_RDM
+	#SOCK_SEQPACKET
+	#SOCK_PACKET
        ) select:[:sym | (AbstractOperatingSystem socketTypeCodeOf:sym) isNumber ]
 
     "
@@ -5299,7 +5299,7 @@
 
     "
      OperatingSystem computeDatePartsOf:0 for:[:y :m :d |
-        y printCR. m printCR. d printCR
+	y printCR. m printCR. d printCR
      ]
     "
 !
@@ -5361,7 +5361,7 @@
 
     "
      OperatingSystem computeTimePartsOf:100 for:[:h :m :s :milli |
-        Transcript show:h; space; show:m; space; show:s; space; showCR:milli.
+	Transcript show:h; space; show:m; space; show:s; space; showCR:milli.
      ]
     "
 !
@@ -5369,17 +5369,17 @@
 computeUTCTimeAndDateFrom:osTime
     "given an OS-dependent time in osTime, return an Array
      containing:
-        (full-) year,
-        month,                          (1..)
-        day,                            (1..)
-        hour,                           (0..23)
-        minute                          (0..59)
-        seconds,                        (0..59)
-        offset to UTC,                  (seconds)
-        daylight savings time flag,
-        milliseconds,                   (0..999)
-        dayInYear                       (1..)
-        dayInWeek                       (1..).
+	(full-) year,
+	month,                          (1..)
+	day,                            (1..)
+	hour,                           (0..23)
+	minute                          (0..59)
+	seconds,                        (0..59)
+	offset to UTC,                  (seconds)
+	daylight savings time flag,
+	milliseconds,                   (0..999)
+	dayInYear                       (1..)
+	dayInWeek                       (1..).
      Conversion is to utc."
 
     |divMod ret|
@@ -5420,10 +5420,10 @@
      Notice, that the # of cycles has to be multiplied by the cycle time (1/cpu-frequency).
 
      For x86:
-        the CPU cycle count register value is returned (RDTSC instruction).
-        Fails if RDTSC instruction is not supported (which is unlikely, nowadays).
+	the CPU cycle count register value is returned (RDTSC instruction).
+	Fails if RDTSC instruction is not supported (which is unlikely, nowadays).
      For others:
-        currently fails"
+	currently fails"
 
 %{  /* NOCONTEXT */
     unsigned int low, high;
@@ -5434,15 +5434,9 @@
 # if defined(__BORLANDC__)
     _asm { push edx };
     __emit__(0x0F,0x31);            /* RDTSC instruction */
-    _asm { mov low,eax };          
+    _asm { mov low,eax };
     _asm { mov high,edx };
     _asm { pop edx };
-# elif defined(_MSC_VER)
-    _asm { push  edx };
-    _asm { _emit 0fh }; _asm { _emit 031h };
-    _asm { mov low,eax };          
-    _asm { mov high,edx };
-    _asm { pop   edx };
 # elif defined(__MINGW_H) || defined(__GNUC__)
     asm volatile("rdtsc" : "=a"(low), "=d"(high));
 # else
@@ -5481,8 +5475,8 @@
      Use the millisecondTimeXXX:-methods to compare and add time deltas - these know about the wrap.
 
      BAD DESIGN:
-        This should be changed to return some instance of RelativeTime,
-        and these computations moved there.
+	This should be changed to return some instance of RelativeTime,
+	and these computations moved there.
 
      Dont use this method in application code since it is an internal (private)
      interface. For compatibility with ST-80, use Time millisecondClockValue.
@@ -5527,8 +5521,8 @@
     then := self millisecondTimeAdd:now and:millis.
 
     [(delta := self millisecondTimeDeltaBetween:then and:now) > 0] whileTrue:[
-        self selectOnAnyReadable:nil writable:nil exception:nil withTimeOut:delta.
-        now := self getMillisecondTime.
+	self selectOnAnyReadable:nil writable:nil exception:nil withTimeOut:delta.
+	now := self getMillisecondTime.
     ]
 
     "
@@ -5544,13 +5538,13 @@
      This should really be moved to some RelativeTime class."
 
     (msTime1 > msTime2) ifTrue:[
-        ((msTime1 - msTime2) < 16r10000000) ifTrue:[
-            ^ true
-        ].
+	((msTime1 - msTime2) < 16r10000000) ifTrue:[
+	    ^ true
+	].
     ] ifFalse:[
-        ((msTime2 - msTime1) > 16r10000000) ifTrue:[
-            ^ true
-        ].
+	((msTime2 - msTime1) > 16r10000000) ifTrue:[
+	    ^ true
+	].
     ].
     ^ false
 !
@@ -5565,8 +5559,8 @@
 
     sum := msTime1 + msTime2.
     (sum > 16r1FFFFFFF) ifTrue:[
-        self assert:(sum <= 16r3FFFFFFF) message:'overflow in timer computation'.
-        ^ sum - 16r20000000.
+	self assert:(sum <= 16r3FFFFFFF) message:'overflow in timer computation'.
+	^ sum - 16r20000000.
     ].
     (sum < 0) ifTrue:[^ sum + 16r20000000].
     ^ sum
@@ -5586,11 +5580,11 @@
 
     diff := msTime1 - msTime2.
     diff > 16r-10000000 ifTrue:[
-        (diff < 16r10000000) ifTrue:[
-            ^ diff.
-        ] ifFalse:[
-            ^ diff - 16r20000000.
-        ].
+	(diff < 16r10000000) ifTrue:[
+	    ^ diff.
+	] ifFalse:[
+	    ^ diff - 16r20000000.
+	].
     ].
     ^ diff + 16r20000000
 
@@ -5675,7 +5669,7 @@
     ^ self getHomeDirectory asFilename constructString:('.',appName)
 
     "
-     OperatingSystem getApplicationDataDirectoryFor:'expecco'  
+     OperatingSystem getApplicationDataDirectoryFor:'expecco'
     "
 
     "Created: / 29-07-2010 / 12:07:25 / sr"
@@ -5690,7 +5684,7 @@
     ^ self getHomeDirectory
 
     "
-     OperatingSystem getDesktopDirectory  
+     OperatingSystem getDesktopDirectory
     "
 
     "Created: / 16-05-2007 / 13:20:53 / cg"
@@ -5706,7 +5700,7 @@
     ^ self getHomeDirectory
 
     "
-     OperatingSystem getDocumentsDirectory  
+     OperatingSystem getDocumentsDirectory
     "
 !
 
@@ -5838,7 +5832,7 @@
     "/ fallBack dummy
 
     aNumber == self getUserID ifTrue:[
-        ^ self getLoginName
+	^ self getLoginName
     ].
 
     ^ '? (' , aNumber printString , ')'
@@ -5925,27 +5919,27 @@
 
 readCheck:fd
     "return true, if a read is possible without blocking.
-     This is the case if data is available on a filedescriptor 
+     This is the case if data is available on a filedescriptor
      or the read would return an error.
      This depends on a working select or FIONREAD to be provided by the OS."
 
     |result|
 
     self supportsSelect ifFalse:[
-        "/ mhmh - what should we do then ?
-        "/ For now, return true as if data was present,
-        "/ and let the thread fall into the read.
-        "/ It will then (hopefully) be descheduled there and
-        "/ effectively polling for input.
-
-        ^ true
+	"/ mhmh - what should we do then ?
+	"/ For now, return true as if data was present,
+	"/ and let the thread fall into the read.
+	"/ It will then (hopefully) be descheduled there and
+	"/ effectively polling for input.
+
+	^ true
     ].
 
-    result := self 
-                selectOnAnyReadable:(Array with:fd)
-                writable:nil
-                exception:nil
-                withTimeOut:0.
+    result := self
+		selectOnAnyReadable:(Array with:fd)
+		writable:nil
+		exception:nil
+		withTimeOut:0.
 
     "on select error, a read will immediately return, so answer true"
     ^ result == fd or:[result == #error].
@@ -5953,7 +5947,7 @@
 
 readWriteCheck:fd
     "return true, if filedescriptor can be read or written without blocking.
-     This is the case if data is available on a filedescriptor 
+     This is the case if data is available on a filedescriptor
      or the read or write would return an error.
      This is actually only used with sockets, to wait for a connect to
      be finished."
@@ -5961,18 +5955,18 @@
     |result|
 
     self supportsSelect ifFalse:[
-        "/ mhmh - what should we do then ?
-        "/ For now, return true as if data was present,
-        "/ and let the thread fall into the write.
-        "/ It will then (hopefully) be desceduled there and
-        "/ effectively polling for output.
-        ^ true
+	"/ mhmh - what should we do then ?
+	"/ For now, return true as if data was present,
+	"/ and let the thread fall into the write.
+	"/ It will then (hopefully) be desceduled there and
+	"/ effectively polling for output.
+	^ true
     ].
 
     result := self selectOnAnyReadable:(Array with:fd)
-                     writable:(Array with:fd)
-                    exception:nil
-                  withTimeOut:0.
+		     writable:(Array with:fd)
+		    exception:nil
+		  withTimeOut:0.
 
     ^ result == fd or:[result == #error].
 !
@@ -5983,12 +5977,12 @@
      A zero timeout-time will immediately return (i.e. poll).
      Return fd if i/o ok, nil if timed-out or interrupted.
      Obsolete:
-        This is a leftover method and will vanish."
+	This is a leftover method and will vanish."
 
     ^ self selectOnAnyReadable:(Array with:fd1 with:fd2)
-                      writable:(Array with:fd1 with:fd2)
-                     exception:nil
-                   withTimeOut:millis
+		      writable:(Array with:fd1 with:fd2)
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOn:fd withTimeOut:millis
@@ -5999,9 +5993,9 @@
      Experimental."
 
     ^ self selectOnAnyReadable:(Array with:fd)
-                      writable:(Array with:fd)
-                     exception:nil
-                   withTimeOut:millis
+		      writable:(Array with:fd)
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOnAny:fdArray withTimeOut:millis
@@ -6011,9 +6005,9 @@
      Experimental."
 
     ^ self selectOnAnyReadable:fdArray
-                      writable:fdArray
-                     exception:nil
-                   withTimeOut:millis
+		      writable:fdArray
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOnAnyReadable:fdArray withTimeOut:millis
@@ -6024,15 +6018,15 @@
      Experimental."
 
     ^ self selectOnAnyReadable:fdArray
-                      writable:nil
-                     exception:nil
-                   withTimeOut:millis
+		      writable:nil
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOnAnyReadable:readFdArray writable:writeFdArray exception:exceptFdArray
-        readableInto:readableResultFdArray writableInto:writableResultFdArray
-        exceptionInto:exceptionResultFdArray
-        withTimeOut:millis
+	readableInto:readableResultFdArray writableInto:writableResultFdArray
+	exceptionInto:exceptionResultFdArray
+	withTimeOut:millis
 
     "wait for any fd in readFdArray (an Array of integers) to become ready for reading,
      writeFdArray to become ready for writing,
@@ -6077,24 +6071,24 @@
 
 writeCheck:fd
     "return true, if filedescriptor can be written without blocking.
-     This is the case if data can be written to a filedescriptor 
+     This is the case if data can be written to a filedescriptor
      or the write would return an error."
 
     |result|
 
     self supportsSelect ifFalse:[
-        "/ mhmh - what should we do then ?
-        "/ For now, return true as if data was present,
-        "/ and let the thread fall into the write.
-        "/ It will then (hopefully) be desceduled there and
-        "/ effectively polling for output.
-        ^ true
+	"/ mhmh - what should we do then ?
+	"/ For now, return true as if data was present,
+	"/ and let the thread fall into the write.
+	"/ It will then (hopefully) be desceduled there and
+	"/ effectively polling for output.
+	^ true
     ].
 
     result := self selectOnAnyReadable:nil
-                     writable:(Array with:fd)
-                    exception:nil
-                  withTimeOut:0.
+		     writable:(Array with:fd)
+		    exception:nil
+		  withTimeOut:0.
 
     ^ result == fd or:[result == #error].
 ! !
@@ -6151,27 +6145,27 @@
     "Created: / 31-07-2006 / 15:35:37 / fm"
 !
 
-paperSizeNumberToNameTable   
+paperSizeNumberToNameTable
 
     ^Dictionary withKeysAndValues:
-        #(
-            'Letter, 8 1/2- by 11-inches'                   1       "/ Letter
-            'Legal 8 1/2- by 14-inches'                     5       "/ Legal
-            '10- by 14-inch sheet'                          16       "/ 10x14
-            '11- by 17-inch sheet'                          17       "/ 11x17
-            "/ '12X11'             "/ Windows 98/Me, Windows NT 4.0 and later: 12- by 11-inch sheet
-            'A3 sheet, 297- by 420-millimeters'             8       "/ A3
-            'A3 rotated sheet, 420- by 297-millimeters'     67      "/ A3_rotated 
-            'A4 sheet, 210- by 297-millimeters'             9       "/ A4
-            'A4 rotated sheet, 297- by 210-millimeters'     55      "/ A4_rotated
-            'A4 small sheet, 210- by 297-millimeters'       10      "/ A4 small 
-            'A5 sheet, 148- by 210-millimeters'             11      "/ A5
-            'A5 rotated sheet, 210- by 148-millimeters'     61      "/ A5 rotated
+	#(
+	    'Letter, 8 1/2- by 11-inches'                   1       "/ Letter
+	    'Legal 8 1/2- by 14-inches'                     5       "/ Legal
+	    '10- by 14-inch sheet'                          16       "/ 10x14
+	    '11- by 17-inch sheet'                          17       "/ 11x17
+	    "/ '12X11'             "/ Windows 98/Me, Windows NT 4.0 and later: 12- by 11-inch sheet
+	    'A3 sheet, 297- by 420-millimeters'             8       "/ A3
+	    'A3 rotated sheet, 420- by 297-millimeters'     67      "/ A3_rotated
+	    'A4 sheet, 210- by 297-millimeters'             9       "/ A4
+	    'A4 rotated sheet, 297- by 210-millimeters'     55      "/ A4_rotated
+	    'A4 small sheet, 210- by 297-millimeters'       10      "/ A4 small
+	    'A5 sheet, 148- by 210-millimeters'             11      "/ A5
+	    'A5 rotated sheet, 210- by 148-millimeters'     61      "/ A5 rotated
 "/            'a6'                "/ Windows 98/Me, Windows NT 4.0 and later: A6 sheet, 105- by 148-millimeters
 "/          'a6_rotated'          "/ Windows 98/Me, Windows NT 4.0 and later: A6 rotated sheet, 148- by 105-millimeters
-            'B4 sheet, 250- by 354-millimeters'             12      "/ B4  
+	    'B4 sheet, 250- by 354-millimeters'             12      "/ B4
 "/ b4_jis_rotated  Windows 98/Me, Windows NT 4.0 and later: B4 (JIS) rotated sheet, 364- by 257-millimeters
-            'B5 sheet, 182- by 257-millimeter paper'        13      "/ B5 
+	    'B5 sheet, 182- by 257-millimeter paper'        13      "/ B5
 "/ b5_jis_rotated  Windows 98/Me, Windows NT 4.0 and later: B5 (JIS) rotated sheet, 257- by 182-millimeters
 "/ b6_jis  Windows 98/Me, Windows NT 4.0 and later: B6 (JIS) sheet, 128- by 182-millimeters
 "/ b6_jis_rotated  Windows 98/Me, Windows NT 4.0 and later: B6 (JIS) rotated sheet, 182- by 128-millimeters
@@ -6179,22 +6173,22 @@
 "/ dbl_japanese_postcard   Windows 98/Me, Windows NT 4.0 and later: Double Japanese Postcard, 200- by 148-millimeters
 "/ dbl_japanese_postcard_rotated   Windows 98/Me, Windows NT 4.0 and later: Double Japanese Postcard Rotated, 148- by 200-millimeters
 "/ dsheet  D Sheet, 22- by 34-inches
-            '#9 Envelope, 3 7/8- by 8 7/8-inches'           19     "/  env_9
-            '#10 Envelope, 4 1/8- by 9 1/2-inches'          20     "/  env_10
-            '#11 Envelope, 4 1/2- by 10 3/8-inches'         21     "/  env_11
-            '#12 Envelope, 4 3/4- by 11-inches'             22     "/  env_12
-            '#14 Envelope, 5- by 11 1/2-inches'             23     "/  env_15
-            'C5 Envelope, 162- by 229-millimeters'          28     "/  env_c5
-            'C3 Envelope, 324- by 458-millimeters'          29      "/ env_c3
-            'C4 Envelope, 229- by 324-millimeters'          30      "/ env_c4
-            'C6 Envelope, 114- by 162-millimeters'          31      "/ env_c6
-            'C65 Envelope, 114- by 229-millimeters'         32      "/ env_c65 
-            'B4 Envelope, 250- by 353-millimeters'          33      "/ env_b4 
-            'B5 Envelope, 176- by 250-millimeters'          34      "/  env_b5
-            'B6 Envelope, 176- by 125-millimeters'          35      "/  env_b6
-            'DL Envelope, 110- by 220-millimeters'          27      "/  env_dl
-            'Italy Envelope, 110- by 230-millimeters'       36      "/  env_italy
-            'Monarch Envelope, 3 7/8- by 7 1/2-inches'      37      "/   env_monarch
+	    '#9 Envelope, 3 7/8- by 8 7/8-inches'           19     "/  env_9
+	    '#10 Envelope, 4 1/8- by 9 1/2-inches'          20     "/  env_10
+	    '#11 Envelope, 4 1/2- by 10 3/8-inches'         21     "/  env_11
+	    '#12 Envelope, 4 3/4- by 11-inches'             22     "/  env_12
+	    '#14 Envelope, 5- by 11 1/2-inches'             23     "/  env_15
+	    'C5 Envelope, 162- by 229-millimeters'          28     "/  env_c5
+	    'C3 Envelope, 324- by 458-millimeters'          29      "/ env_c3
+	    'C4 Envelope, 229- by 324-millimeters'          30      "/ env_c4
+	    'C6 Envelope, 114- by 162-millimeters'          31      "/ env_c6
+	    'C65 Envelope, 114- by 229-millimeters'         32      "/ env_c65
+	    'B4 Envelope, 250- by 353-millimeters'          33      "/ env_b4
+	    'B5 Envelope, 176- by 250-millimeters'          34      "/  env_b5
+	    'B6 Envelope, 176- by 125-millimeters'          35      "/  env_b6
+	    'DL Envelope, 110- by 220-millimeters'          27      "/  env_dl
+	    'Italy Envelope, 110- by 230-millimeters'       36      "/  env_italy
+	    'Monarch Envelope, 3 7/8- by 7 1/2-inches'      37      "/   env_monarch
 "/ env_personal    6 3/4 Envelope, 3 5/8- by 6 1/2-inches
 "/ esheet  E Sheet, 34- by 44-inches
 "/ executive   Executive, 7 1/4- by 10 1/2-inches
@@ -6214,8 +6208,8 @@
 "/ jenv_you4   Windows 98/Me, Windows NT 4.0 and later: Japanese Envelope You #4
 "/ jenv_you4_rotated   Windows 98/Me, Windows NT 4.0 and later: Japanese Envelope You #4 Rotated
 "/ last    Windows 2000/XP: PENV_10_ROTATED
-            'Ledger, 17- by 11-inches'                      4    "/   ledger
-            'Letter Rotated 11 by 8 1/2 11 inches'          54      "/    letter_rotated 
+	    'Ledger, 17- by 11-inches'                      4    "/   ledger
+	    'Letter Rotated 11 by 8 1/2 11 inches'          54      "/    letter_rotated
 "/ lettersmall     Letter Small, 8 1/2- by 11-inches
 "/ note    Note, 8 1/2- by 11-inches
 "/ p16k    Windows 98/Me, Windows NT 4.0 and later: PRC 16K, 146- by 215-millimeters
@@ -6247,12 +6241,12 @@
 "/ quarto  Quarto, 215- by 275-millimeter paper
 "/ statement   Statement, 5 1/2- by 8 1/2-inches
 "/ tabloid     Tabloid, 11- by 17-inches
-        ).
+	).
 
     "Created: / 31-07-2006 / 15:35:37 / fm"
 !
 
-statusNumberToDescriptionForNumber:aNumber 
+statusNumberToDescriptionForNumber:aNumber
     ^ self statusNumberToDescriptionMapping at:aNumber ifAbsent:[('Unknown (%1)' bindWith:aNumber printString)]
 
     "
@@ -6273,36 +6267,36 @@
     "Created: / 01-08-2006 / 14:31:05 / fm"
 !
 
-statusNumberToDescriptionTable   
+statusNumberToDescriptionTable
 
     ^Dictionary withKeysAndValues:
-        #( 'Ready'                     0                           "/ PRINTER_STATUS_READY
-           'Paused'                    1                           "/ PRINTER_STATUS_PAUSED
-           'Error'                     2                           "/ PRINTER_STATUS_ERROR
-           'Deleting...'               4                           "/ PRINTER_STATUS_PENDING_DELETION
-           'Paper Jam'                 8                           "/ PRINTER_STATUS_PAPER_JAM
-           'Paper Out'                 16                          "/ PRINTER_STATUS_PAPER_OUT
-           'Manual Feed Required'      32                          "/ PRINTER_STATUS_MANUAL_FEED
-           'Paper Problem'             64                          "/ PRINTER_STATUS_PAPER_PROBLEM
-           'Offline'                   128                         "/ PRINTER_STATUS_OFFLINE
-           'Downloading Job'           256                         "/ PRINTER_STATUS_IO_ACTIVE
-           'Busy'                      512                         "/ PRINTER_STATUS_BUSY
-           'Printing'                  1024                        "/ PRINTER_STATUS_PRINTING
-           'Output Bill Full'          2048                        "/ PRINTER_STATUS_OUTPUT_BIN_FULL
-           'Not Available'             4096                         "/ PRINTER_STATUS_NOT_AVAILABLE
-           'Waiting'                   8192                         "/ PRINTER_STATUS_WAITING
-           'Processing Job'            16384                         "/ PRINTER_STATUS_PROCESSING
-           'Initializing'              32768                         "/ PRINTER_STATUS_INITIALIZING
-           'Warming Up'                65536                         "/ PRINTER_STATUS_WARMING_UP
-           'Toner Low'                 131072                         "/ PRINTER_STATUS_TONER_LOW
-           'Toner Out'                 262144                         "/ PRINTER_STATUS_NO_TONER
-           'Page too Complex'          524288                         "/ PRINTER_STATUS_PAGE_PUNT
-           'User Intervention Required'1048576                         "/ PRINTER_STATUS_USER_INTERVENTION
-           'Out of Memory'             2097152                         "/ PRINTER_STATUS_OUT_OF_MEMORY
-           'Door Open'                 4194304                         "/ PRINTER_STATUS_DOOR_OPEN
-           'Unable to connect'         8388608                         "/ PRINTER_STATUS_SERVER_UNKNOWN
-           'Power Save Mode'           16777216                         "/ PRINTER_STATUS_POWER_SAVE
-            ).
+	#( 'Ready'                     0                           "/ PRINTER_STATUS_READY
+	   'Paused'                    1                           "/ PRINTER_STATUS_PAUSED
+	   'Error'                     2                           "/ PRINTER_STATUS_ERROR
+	   'Deleting...'               4                           "/ PRINTER_STATUS_PENDING_DELETION
+	   'Paper Jam'                 8                           "/ PRINTER_STATUS_PAPER_JAM
+	   'Paper Out'                 16                          "/ PRINTER_STATUS_PAPER_OUT
+	   'Manual Feed Required'      32                          "/ PRINTER_STATUS_MANUAL_FEED
+	   'Paper Problem'             64                          "/ PRINTER_STATUS_PAPER_PROBLEM
+	   'Offline'                   128                         "/ PRINTER_STATUS_OFFLINE
+	   'Downloading Job'           256                         "/ PRINTER_STATUS_IO_ACTIVE
+	   'Busy'                      512                         "/ PRINTER_STATUS_BUSY
+	   'Printing'                  1024                        "/ PRINTER_STATUS_PRINTING
+	   'Output Bill Full'          2048                        "/ PRINTER_STATUS_OUTPUT_BIN_FULL
+	   'Not Available'             4096                         "/ PRINTER_STATUS_NOT_AVAILABLE
+	   'Waiting'                   8192                         "/ PRINTER_STATUS_WAITING
+	   'Processing Job'            16384                         "/ PRINTER_STATUS_PROCESSING
+	   'Initializing'              32768                         "/ PRINTER_STATUS_INITIALIZING
+	   'Warming Up'                65536                         "/ PRINTER_STATUS_WARMING_UP
+	   'Toner Low'                 131072                         "/ PRINTER_STATUS_TONER_LOW
+	   'Toner Out'                 262144                         "/ PRINTER_STATUS_NO_TONER
+	   'Page too Complex'          524288                         "/ PRINTER_STATUS_PAGE_PUNT
+	   'User Intervention Required'1048576                         "/ PRINTER_STATUS_USER_INTERVENTION
+	   'Out of Memory'             2097152                         "/ PRINTER_STATUS_OUT_OF_MEMORY
+	   'Door Open'                 4194304                         "/ PRINTER_STATUS_DOOR_OPEN
+	   'Unable to connect'         8388608                         "/ PRINTER_STATUS_SERVER_UNKNOWN
+	   'Power Save Mode'           16777216                         "/ PRINTER_STATUS_POWER_SAVE
+	    ).
 
     "Created: / 01-08-2006 / 14:23:33 / fm"
 ! !
@@ -6329,9 +6323,9 @@
 collate: aBoolean
     |integer|
 
-    integer:= aBoolean 
-                ifTrue:[1]      "DMCOLLATE_TRUE"
-                ifFalse:[0].    "DMCOLLATE_FALSE"
+    integer:= aBoolean
+		ifTrue:[1]      "DMCOLLATE_TRUE"
+		ifFalse:[0].    "DMCOLLATE_FALSE"
     self documentProperties collate: integer
 
     "Created: / 01-08-2006 / 09:56:01 / fm"
@@ -6370,7 +6364,7 @@
     "Modified: / 31-07-2006 / 13:06:24 / fm"
 !
 
-documentProperties: aDevModeStructure 
+documentProperties: aDevModeStructure
 
     documentProperties := aDevModeStructure.
 
@@ -6418,12 +6412,12 @@
     "Modified: / 18-10-2006 / 12:01:36 / User"
 !
 
-orientation:anInteger 
+orientation:anInteger
     |properties|
 
     properties := self documentProperties.
     properties notNil ifTrue:[
-        properties orientation:anInteger
+	properties orientation:anInteger
     ]
 
     "Created: / 28-07-2006 / 17:22:44 / fm"
@@ -6449,12 +6443,12 @@
     "Modified: / 18-10-2006 / 12:01:45 / User"
 !
 
-paperSize:anInteger 
+paperSize:anInteger
     |properties|
 
     properties := self documentProperties.
     properties notNil ifTrue:[
-        properties paperSize:anInteger
+	properties paperSize:anInteger
     ]
 
     "Created: / 31-07-2006 / 15:23:20 / fm"
@@ -6467,7 +6461,7 @@
     "Created: / 31-07-2006 / 15:35:12 / fm"
 !
 
-paperSizeName:aString 
+paperSizeName:aString
     self paperSize:(self class paperSizeNumberForName:aString)
 
     "Modified: / 18-10-2006 / 12:01:56 / User"
@@ -6485,7 +6479,7 @@
     "Created: / 27-07-2006 / 12:16:59 / fm"
 !
 
-printerName:printerNameArg attributes:attributesArg 
+printerName:printerNameArg attributes:attributesArg
 
     printerName := printerNameArg.
     attributes := attributesArg.
@@ -6517,8 +6511,8 @@
 
 userFriendlyName
     ^self remotePrinterName isEmpty
-        ifTrue:[self printerName]
-        ifFalse:[self remotePrinterName, ' on ', self remotePrinterHost]
+	ifTrue:[self printerName]
+	ifFalse:[self remotePrinterName, ' on ', self remotePrinterHost]
 
     "Created: / 03-08-2006 / 12:50:09 / fm"
 ! !
@@ -6532,10 +6526,10 @@
      pName := self printerName.
      "/ Transcript show:driverName; show:' '; showCR:printerName.
 
-     ^OperatingSystem createPrinterDC:driverName 
-                        device:pName 
-                        output:self medium 
-                        initData:self documentProperties.
+     ^OperatingSystem createPrinterDC:driverName
+			device:pName
+			output:self medium
+			initData:self documentProperties.
 
     "Created: / 02-08-2006 / 16:51:02 / fm"
     "Modified: / 16-04-2007 / 13:56:56 / cg"
@@ -6549,12 +6543,12 @@
     |h newDocumentProperties|
 
     h := OperatingSystem openPrinter: self printerName.
-    newDocumentProperties := OperatingSystem documentPropertiesDialogFor:nil 
-            hPrinter:h 
-            pDeviceName: self printerName
-            devModeInput:self documentProperties.
+    newDocumentProperties := OperatingSystem documentPropertiesDialogFor:nil
+	    hPrinter:h
+	    pDeviceName: self printerName
+	    devModeInput:self documentProperties.
     (newDocumentProperties contains:[:el | el ~= 0])
-        ifFalse:[^false].
+	ifFalse:[^false].
     self documentProperties: newDocumentProperties.
     OperatingSystem closePrinter:h.
     ^true
@@ -6609,8 +6603,8 @@
 
      h := OperatingSystem openPrinter: self printerName.
      devMode := OperatingSystem getDocumentProperties:nil
-                            hPrinter:h 
-                            pDeviceName: self printerName.
+			    hPrinter:h
+			    pDeviceName: self printerName.
      OperatingSystem closePrinter: h.
      ^devMode
 
@@ -6621,7 +6615,7 @@
 
 getPrinterInfo2
     "Returns a aPrinterInfo2 structure"
-    
+
     printerInfo2 := OperatingSystem getPrinterInfo2:self printerName.
     ^ printerInfo2
 
@@ -6632,9 +6626,9 @@
 
 printerInfo2
     "Returns a aPrinterInfo2 structure"
-    
+
     printerInfo2 isNil ifTrue:[
-        self getPrinterInfo2.
+	self getPrinterInfo2.
     ].
     ^ printerInfo2
 
@@ -6643,7 +6637,7 @@
 !
 
 setDocumentProperties
-    "Sets a aDevModeStructure or nil if the printer is not available"    
+    "Sets a aDevModeStructure or nil if the printer is not available"
 
    self documentProperties: self getDocumentProperties
 
@@ -6669,37 +6663,37 @@
     self obsoleteMethodWarning:'use accessor for index ', index printString.
 
     index == 1 ifTrue:[
-        ^ self year.
+	^ self year.
     ].
     index == 2 ifTrue:[
-        ^ self month.
+	^ self month.
     ].
     index == 3 ifTrue:[
-        ^ self day.
+	^ self day.
     ].
     index == 4 ifTrue:[
-        ^ self hours.
+	^ self hours.
     ].
     index == 5 ifTrue:[
-        ^ self minutes.
+	^ self minutes.
     ].
     index == 6 ifTrue:[
-        ^ self seconds.
+	^ self seconds.
     ].
     index == 7 ifTrue:[
-        ^ self utcOffset.
+	^ self utcOffset.
     ].
     index == 8 ifTrue:[
-        ^ self dst.
+	^ self dst.
     ].
     index == 9 ifTrue:[
-        ^ self milliseconds.
+	^ self milliseconds.
     ].
     index == 10 ifTrue:[
-        ^ self dayInYear.
+	^ self dayInYear.
     ].
     index == 11 ifTrue:[
-        ^ self dayInWeek.
+	^ self dayInWeek.
     ].
     self subscriptBoundsError:index
 !
@@ -6719,22 +6713,22 @@
     |dayCount|
 
     dayInYear notNil ifTrue:[
-        ^ dayInYear.
+	^ dayInYear.
     ].
 
     dayCount := #(0 31 59 90 120 151 181 212 243 273 304 334) at:month.
-    (month > 2 
-     and:[(year \\ 4 == 0) 
+    (month > 2
+     and:[(year \\ 4 == 0)
      and:[(year \\ 100 ~~ 0)
      and:[(year \\ 400 == 0)]]]) ifTrue:[
-        "leap year and month after February"
-        dayCount := dayCount + 1.
+	"leap year and month after February"
+	dayCount := dayCount + 1.
     ].
 
     ^ dayCount + day.
 
 
-    " 
+    "
       |daysSoFar|
 
       daysSoFar := 0.
@@ -6836,73 +6830,73 @@
 documentation
 "
 Bias
-    The current bias for local time translation on this computer, in minutes. 
-    The bias is the difference, in minutes, between Coordinated Universal Time (UTC) 
-    and local time. 
+    The current bias for local time translation on this computer, in minutes.
+    The bias is the difference, in minutes, between Coordinated Universal Time (UTC)
+    and local time.
     All translations between UTC and local time are based on the following formula:
 
-        UTC = local time + bias
+	UTC = local time + bias
 
 StandardName
-    A description for standard time. For example, 'EST' could indicate Eastern Standard Time. 
-    The string will be returned unchanged by the GetTimeZoneInformation function. 
+    A description for standard time. For example, 'EST' could indicate Eastern Standard Time.
+    The string will be returned unchanged by the GetTimeZoneInformation function.
     This string can be empty.
     This is for information only - do not depend on the value of the string.
 
 StandardDate
-    A Timestamp that contains a date and local time when the transition from daylight saving 
-    time to standard time occurs on this operating system. 
-    If the time zone does not support daylight saving time or if the caller needs to disable 
+    A Timestamp that contains a date and local time when the transition from daylight saving
+    time to standard time occurs on this operating system.
+    If the time zone does not support daylight saving time or if the caller needs to disable
     daylight saving time, the standardDate is nil.
-    If this date is specified, the DaylightDate member of this structure must also be specified. 
+    If this date is specified, the DaylightDate member of this structure must also be specified.
     Otherwise, the system assumes the time zone data is invalid and no changes will be applied.
 
-    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members 
-    to the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate 
-    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence 
+    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members
+    to the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate
+    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence
     during the month if that day of the week does not occur 5 times).
 
-    Using this notation, specify 02:00 on the first Sunday in April as follows: 
-        wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. 
-    Specify 02:00 on the last Thursday in October as follows: 
-        wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.
-
-    If the wYear member is not zero, the transition date is absolute; it will only occur one time. 
+    Using this notation, specify 02:00 on the first Sunday in April as follows:
+	wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1.
+    Specify 02:00 on the last Thursday in October as follows:
+	wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.
+
+    If the wYear member is not zero, the transition date is absolute; it will only occur one time.
     Otherwise, it is a relative date that occurs yearly.
 
 StandardBias
-    The bias value to be used during local time translations that occur during standard time. 
+    The bias value to be used during local time translations that occur during standard time.
     This member is ignored if a value for the StandardDate member is not supplied.
 
-    This value is added to the value of the Bias member to form the bias used during standard time. 
+    This value is added to the value of the Bias member to form the bias used during standard time.
     In most time zones, the value of this member is zero.
 
 DaylightName
-    A description for daylight saving time. For example, 'PDT' could indicate Pacific Daylight Time. 
+    A description for daylight saving time. For example, 'PDT' could indicate Pacific Daylight Time.
     The string will be returned unchanged by the GetTimeZoneInformation function. This string can be empty.
     This is for information only - do not depend on the value of the string.
 
 DaylightDate
-    A Timestamp structure that contains a date and local time when the transition from standard time 
-    to daylight saving time occurs on this operating system. 
-    If the time zone does not support daylight saving time or if the caller needs to disable daylight 
+    A Timestamp structure that contains a date and local time when the transition from standard time
+    to daylight saving time occurs on this operating system.
+    If the time zone does not support daylight saving time or if the caller needs to disable daylight
     saving time, this entry is nil.
-    If this date is specified, the StandardDate member in this structure must also be specified. 
+    If this date is specified, the StandardDate member in this structure must also be specified.
     Otherwise, the system assumes the time zone data is invalid and no changes will be applied.
 
-    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members to 
-    the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate 
-    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence 
+    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members to
+    the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate
+    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence
     during the month if that day of the week does not occur 5 times).
 
-    If the wYear member is not zero, the transition date is absolute; it will only occur one time. 
+    If the wYear member is not zero, the transition date is absolute; it will only occur one time.
     Otherwise, it is a relative date that occurs yearly.
 
 DaylightBias
-    The bias value to be used during local time translations that occur during daylight saving time. 
+    The bias value to be used during local time translations that occur during daylight saving time.
     This member is ignored if a value for the DaylightDate member is not supplied.
 
-    This value is added to the value of the Bias member to form the bias used during daylight saving time. 
+    This value is added to the value of the Bias member to form the bias used during daylight saving time.
     In most time zones, the value of this member is -60
 "
 ! !
@@ -6917,7 +6911,7 @@
     bias := something.
 !
 
-bias:biasArg name:nameArg standardBias:standardBiasArg daylightName:daylightNameArg daylightBias:daylightBiasArg 
+bias:biasArg name:nameArg standardBias:standardBiasArg daylightName:daylightNameArg daylightBias:daylightBiasArg
     bias := biasArg.
     name := nameArg.
     standardBias := standardBiasArg.
@@ -6925,7 +6919,7 @@
     daylightBias := daylightBiasArg.
 !
 
-bias:biasArg name:nameArg standardDate:standardDateArg standardBias:standardBiasArg daylightName:daylightNameArg daylightDate:daylightDateArg daylightBias:daylightBiasArg 
+bias:biasArg name:nameArg standardDate:standardDateArg standardBias:standardBiasArg daylightName:daylightNameArg daylightDate:daylightDateArg daylightBias:daylightBiasArg
     bias := biasArg.
     name := nameArg.
     standardDate := standardDateArg.
@@ -6999,7 +6993,7 @@
     daylightYear := something.
 !
 
-daylightYear:daylightYearArg daylightMonth:daylightMonthArg daylightDay:daylightDayArg daylightWeekDay:daylightWeekDayArg daylightHour:daylightHourArg daylightMinute:daylightMinuteArg 
+daylightYear:daylightYearArg daylightMonth:daylightMonthArg daylightDay:daylightDayArg daylightWeekDay:daylightWeekDayArg daylightHour:daylightHourArg daylightMinute:daylightMinuteArg
     daylightYear := daylightYearArg.
     daylightMonth := daylightMonthArg.
     daylightDay := daylightDayArg.
@@ -7072,7 +7066,7 @@
     standardYear := something.
 !
 
-standardYear:standardYearArg standardMonth:standardMonthArg standardDay:standardDayArg standardWeekDay:standardWeekDayArg standardHour:standardHourArg standardMinute:standardMinuteArg 
+standardYear:standardYearArg standardMonth:standardMonthArg standardDay:standardDayArg standardWeekDay:standardWeekDayArg standardHour:standardHourArg standardMinute:standardMinuteArg
     standardYear := standardYearArg.
     standardMonth := standardMonthArg.
     standardDay := standardDayArg.
@@ -7102,17 +7096,18 @@
 !AbstractOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.216 2012/01/05 13:08:45 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.217 2012/01/05 14:29:48 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.216 2012/01/05 13:08:45 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.217 2012/01/05 14:29:48 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: AbstractOperatingSystem.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: AbstractOperatingSystem.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 AbstractOperatingSystem initialize!
 
 
+
--- a/AbstractSourceFileReader.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AbstractSourceFileReader.st	Thu Jan 19 10:06:02 2012 +0000
@@ -84,3 +84,4 @@
     ^'$Id: AbstractSourceFileReader.st 10465 2009-08-16 17:14:23Z vranyj1$'
 ! !
 
+
--- a/AbstractTime.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AbstractTime.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1195,6 +1195,7 @@
 !
 
 version_SVN
-    ^ '$Id: AbstractTime.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AbstractTime.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ActivityNotification.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ActivityNotification.st	Thu Jan 19 10:06:02 2012 +0000
@@ -78,8 +78,9 @@
 !
 
 version_SVN
-    ^ '$Id: ActivityNotification.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ActivityNotification.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ActivityNotification initialize!
 
+
--- a/AllocationFailure.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AllocationFailure.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: AllocationFailure.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AllocationFailure.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Annotation.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Annotation.st	Thu Jan 19 10:06:02 2012 +0000
@@ -578,7 +578,7 @@
 !
 
 version_SVN
-    ^ '$Id: Annotation.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: Annotation.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Annotation initialize!
@@ -586,3 +586,4 @@
 
 
 
+
--- a/ApplicationDefinition.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ApplicationDefinition.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2844,8 +2844,9 @@
 !
 
 version_SVN
-    ^ '$Id: ApplicationDefinition.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: ApplicationDefinition.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
 
+
--- a/ArgumentError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ArgumentError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: ArgumentError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ArgumentError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ArgumentError initialize!
 
+
--- a/ArithmeticError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ArithmeticError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: ArithmeticError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ArithmeticError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ArithmeticValue.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ArithmeticValue.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1341,8 +1341,9 @@
 !
 
 version_SVN
-    ^ '$Id: ArithmeticValue.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ArithmeticValue.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ArithmeticValue initialize!
 
+
--- a/Array.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Array.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2535,6 +2535,7 @@
 !
 
 version_SVN
-    ^ '$Id: Array.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Array.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ArrayedCollection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ArrayedCollection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -487,6 +487,7 @@
 !
 
 version_SVN
-    ^ '$Id: ArrayedCollection.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ArrayedCollection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/AspectVisitor.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AspectVisitor.st	Thu Jan 19 10:06:02 2012 +0000
@@ -134,6 +134,7 @@
 !
 
 version_SVN
-    ^ '$Id: AspectVisitor.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AspectVisitor.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/AssertionFailedError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AssertionFailedError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: AssertionFailedError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AssertionFailedError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Association.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Association.st	Thu Jan 19 10:06:02 2012 +0000
@@ -181,6 +181,7 @@
 !
 
 version_SVN
-    ^ '$Id: Association.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Association.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/AutoDeletedFilename.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AutoDeletedFilename.st	Thu Jan 19 10:06:02 2012 +0000
@@ -147,6 +147,7 @@
 !
 
 version_SVN
-    ^ '$Id: AutoDeletedFilename.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AutoDeletedFilename.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Autoload.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Autoload.st	Thu Jan 19 10:06:02 2012 +0000
@@ -804,8 +804,9 @@
 !
 
 version_SVN
-    ^ '$Id: Autoload.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Autoload.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Autoload initialize!
 
+
--- a/AutoloadMetaclass.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AutoloadMetaclass.st	Thu Jan 19 10:06:02 2012 +0000
@@ -109,6 +109,7 @@
 !
 
 version_SVN
-    ^ '$Id: AutoloadMetaclass.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: AutoloadMetaclass.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/BadLiteralsError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/BadLiteralsError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: BadLiteralsError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: BadLiteralsError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 BadLiteralsError initialize!
 
+
--- a/BadRomanNumberFormatError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/BadRomanNumberFormatError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -46,3 +46,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/BadRomanNumberFormatError.st,v 1.3 2008/08/06 09:52:59 cg Exp $'
 ! !
 
+
--- a/Bag.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Bag.st	Thu Jan 19 10:06:02 2012 +0000
@@ -424,6 +424,7 @@
 !
 
 version_SVN
-    ^ '$Id: Bag.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Bag.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Behavior.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Behavior.st	Thu Jan 19 10:06:02 2012 +0000
@@ -4757,6 +4757,7 @@
 !
 
 version_SVN
-    ^ '$Id: Behavior.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: Behavior.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Block.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Block.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2976,8 +2976,9 @@
 !
 
 version_SVN
-    ^ '$Id: Block.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Block.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Block initialize!
 
+
--- a/BlockContext.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/BlockContext.st	Thu Jan 19 10:06:02 2012 +0000
@@ -245,6 +245,7 @@
 !
 
 version_SVN
-    ^ '$Id: BlockContext.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: BlockContext.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Boolean.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Boolean.st	Thu Jan 19 10:06:02 2012 +0000
@@ -240,6 +240,7 @@
 !
 
 version_SVN
-    ^ '$Id: Boolean.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Boolean.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/BreakPointInterrupt.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/BreakPointInterrupt.st	Thu Jan 19 10:06:02 2012 +0000
@@ -48,6 +48,7 @@
 !
 
 version_SVN
-    ^ '$Id: BreakPointInterrupt.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: BreakPointInterrupt.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ByteArray.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ByteArray.st	Thu Jan 19 10:06:02 2012 +0000
@@ -3004,6 +3004,7 @@
 !
 
 version_SVN
-    ^ '$Id: ByteArray.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ByteArray.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CachingRegistry.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CachingRegistry.st	Thu Jan 19 10:06:02 2012 +0000
@@ -96,6 +96,7 @@
 !
 
 version_SVN
-    ^ '$Id: CachingRegistry.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CachingRegistry.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CannotResumeError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CannotResumeError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -50,6 +50,7 @@
 !
 
 version_SVN
-    ^ '$Id: CannotResumeError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CannotResumeError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CannotReturnError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CannotReturnError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -50,6 +50,7 @@
 !
 
 version_SVN
-    ^ '$Id: CannotReturnError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CannotReturnError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Character.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Character.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2787,6 +2787,7 @@
 !
 
 version_SVN
-    ^ '$Id: Character.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Character.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterArray.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterArray.st	Thu Jan 19 10:06:02 2012 +0000
@@ -5946,7 +5946,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterArray.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: CharacterArray.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 CharacterArray initialize!
@@ -5954,3 +5954,4 @@
 
 
 
+
--- a/CharacterEncoder.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoder.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1635,8 +1635,9 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoder.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoder.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 CharacterEncoder initialize!
 
+
--- a/CharacterEncoderError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -69,6 +69,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ASCII.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ASCII.st	Thu Jan 19 10:06:02 2012 +0000
@@ -244,6 +244,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ASCII.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ASCII.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__BIG5.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__BIG5.st	Thu Jan 19 10:06:02 2012 +0000
@@ -55,3 +55,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_BIG5.st,v 1.3 2004/03/09 21:59:35 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__CNS11643.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__CNS11643.st	Thu Jan 19 10:06:02 2012 +0000
@@ -49,3 +49,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_CNS11643.st,v 1.3 2004/03/09 21:59:27 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__CP437.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__CP437.st	Thu Jan 19 10:06:02 2012 +0000
@@ -936,3 +936,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_CP437.st,v 1.4 2005/03/31 18:12:18 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__GB2313_1980.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__GB2313_1980.st	Thu Jan 19 10:06:02 2012 +0000
@@ -55,3 +55,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_GB2313_1980.st,v 1.3 2004/03/09 21:57:26 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__HANGUL.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__HANGUL.st	Thu Jan 19 10:06:02 2012 +0000
@@ -49,3 +49,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_HANGUL.st,v 1.3 2004/03/09 21:57:59 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO10646_1.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO10646_1.st	Thu Jan 19 10:06:02 2012 +0000
@@ -67,6 +67,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO10646_1.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO10646_1.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO10646_to_JavaText.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO10646_to_JavaText.st	Thu Jan 19 10:06:02 2012 +0000
@@ -149,3 +149,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_JavaText.st,v 1.1 2006/10/23 11:25:58 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO10646_to_SGML.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO10646_to_SGML.st	Thu Jan 19 10:06:02 2012 +0000
@@ -157,3 +157,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO10646_to_SGML.st,v 1.3 2006/10/23 11:25:11 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO10646_to_UTF16BE.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO10646_to_UTF16BE.st	Thu Jan 19 10:06:02 2012 +0000
@@ -272,6 +272,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF16BE.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF16BE.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO10646_to_UTF16LE.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO10646_to_UTF16LE.st	Thu Jan 19 10:06:02 2012 +0000
@@ -85,3 +85,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO10646_to_UTF16LE.st,v 1.2 2006/04/25 14:16:44 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO10646_to_UTF8.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO10646_to_UTF8.st	Thu Jan 19 10:06:02 2012 +0000
@@ -456,6 +456,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF8.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF8.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_1.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_1.st	Thu Jan 19 10:06:02 2012 +0000
@@ -462,6 +462,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO8859_1.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO8859_1.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_10.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_10.st	Thu Jan 19 10:06:02 2012 +0000
@@ -737,3 +737,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_10.st,v 1.4 2005/03/31 18:12:38 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_11.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_11.st	Thu Jan 19 10:06:02 2012 +0000
@@ -599,3 +599,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_11.st,v 1.4 2005/03/31 18:12:32 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_13.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_13.st	Thu Jan 19 10:06:02 2012 +0000
@@ -740,3 +740,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_13.st,v 1.4 2005/03/31 18:12:35 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_14.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_14.st	Thu Jan 19 10:06:02 2012 +0000
@@ -783,3 +783,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_14.st,v 1.4 2005/03/31 18:12:55 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_15.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_15.st	Thu Jan 19 10:06:02 2012 +0000
@@ -642,6 +642,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO8859_15.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO8859_15.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_16.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_16.st	Thu Jan 19 10:06:02 2012 +0000
@@ -726,3 +726,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_16.st,v 1.4 2005/03/31 18:12:53 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_2.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_2.st	Thu Jan 19 10:06:02 2012 +0000
@@ -769,6 +769,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO8859_2.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO8859_2.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_3.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_3.st	Thu Jan 19 10:06:02 2012 +0000
@@ -701,3 +701,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_3.st,v 1.4 2005/03/31 18:12:44 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_4.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_4.st	Thu Jan 19 10:06:02 2012 +0000
@@ -752,3 +752,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_4.st,v 1.4 2005/03/31 18:12:58 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_5.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_5.st	Thu Jan 19 10:06:02 2012 +0000
@@ -630,6 +630,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO8859_5.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO8859_5.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_6.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_6.st	Thu Jan 19 10:06:02 2012 +0000
@@ -549,3 +549,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_6.st,v 1.4 2005/03/31 18:13:19 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_7.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_7.st	Thu Jan 19 10:06:02 2012 +0000
@@ -672,6 +672,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO8859_7.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO8859_7.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_8.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_8.st	Thu Jan 19 10:06:02 2012 +0000
@@ -553,3 +553,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_8.st,v 1.4 2005/03/31 18:13:21 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__ISO8859_9.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__ISO8859_9.st	Thu Jan 19 10:06:02 2012 +0000
@@ -448,3 +448,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_ISO8859_9.st,v 1.4 2005/03/31 18:13:10 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__JIS0201.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__JIS0201.st	Thu Jan 19 10:06:02 2012 +0000
@@ -561,3 +561,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_JIS0201.st,v 1.3 2004/03/09 21:59:06 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__JIS0208.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__JIS0208.st	Thu Jan 19 10:06:02 2012 +0000
@@ -28649,3 +28649,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_JIS0208.st,v 1.4 2008/10/30 19:54:58 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__JIS0208_to_EUC.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__JIS0208_to_EUC.st	Thu Jan 19 10:06:02 2012 +0000
@@ -335,3 +335,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_JIS0208_to_EUC.st,v 1.4 2005/07/08 17:15:01 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__JIS0208_to_JIS7.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__JIS0208_to_JIS7.st	Thu Jan 19 10:06:02 2012 +0000
@@ -375,3 +375,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_JIS0208_to_JIS7.st,v 1.7 2004/03/12 09:15:11 ca Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__JIS0208_to_SJIS.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__JIS0208_to_SJIS.st	Thu Jan 19 10:06:02 2012 +0000
@@ -347,6 +347,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__JIS0208_to_SJIS.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__JIS0208_to_SJIS.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__JIS0212.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__JIS0212.st	Thu Jan 19 10:06:02 2012 +0000
@@ -49,3 +49,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_JIS0212.st,v 1.3 2004/03/09 21:58:52 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__JOHAB.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__JOHAB.st	Thu Jan 19 10:06:02 2012 +0000
@@ -49,3 +49,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_JOHAB.st,v 1.3 2004/03/09 21:57:37 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__KOI7.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__KOI7.st	Thu Jan 19 10:06:02 2012 +0000
@@ -384,3 +384,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_KOI7.st,v 1.3 2004/03/09 22:01:17 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__KOI8_R.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__KOI8_R.st	Thu Jan 19 10:06:02 2012 +0000
@@ -856,6 +856,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__KOI8_R.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__KOI8_R.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__KOI8_U.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__KOI8_U.st	Thu Jan 19 10:06:02 2012 +0000
@@ -414,3 +414,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_KOI8_U.st,v 1.3 2004/03/09 21:58:42 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__KSC5601.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__KSC5601.st	Thu Jan 19 10:06:02 2012 +0000
@@ -49,3 +49,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_KSC5601.st,v 1.3 2004/03/09 21:58:35 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Arabic.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Arabic.st	Thu Jan 19 10:06:02 2012 +0000
@@ -587,3 +587,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Arabic.st,v 1.3 2004/03/09 21:59:43 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_CentralEuropean.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_CentralEuropean.st	Thu Jan 19 10:06:02 2012 +0000
@@ -376,3 +376,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_CentralEuropean.st,v 1.3 2004/03/09 21:57:41 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Croatian.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Croatian.st	Thu Jan 19 10:06:02 2012 +0000
@@ -402,3 +402,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Croatian.st,v 1.3 2004/03/09 22:00:00 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Cyrillic.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Cyrillic.st	Thu Jan 19 10:06:02 2012 +0000
@@ -401,3 +401,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Cyrillic.st,v 1.3 2004/03/09 21:57:56 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Dingbats.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Dingbats.st	Thu Jan 19 10:06:02 2012 +0000
@@ -378,3 +378,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Dingbats.st,v 1.3 2004/03/09 22:01:02 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Farsi.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Farsi.st	Thu Jan 19 10:06:02 2012 +0000
@@ -572,3 +572,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Farsi.st,v 1.3 2004/03/09 22:00:02 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Greek.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Greek.st	Thu Jan 19 10:06:02 2012 +0000
@@ -850,3 +850,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Greek.st,v 1.3 2004/03/09 21:59:52 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Hebrew.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Hebrew.st	Thu Jan 19 10:06:02 2012 +0000
@@ -614,3 +614,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Hebrew.st,v 1.3 2004/03/09 22:01:14 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Iceland.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Iceland.st	Thu Jan 19 10:06:02 2012 +0000
@@ -420,3 +420,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Iceland.st,v 1.3 2004/03/09 21:59:24 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Japanese.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Japanese.st	Thu Jan 19 10:06:02 2012 +0000
@@ -49,3 +49,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Japanese.st,v 1.3 2004/03/09 21:59:58 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Korean.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Korean.st	Thu Jan 19 10:06:02 2012 +0000
@@ -49,3 +49,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Korean.st,v 1.3 2004/03/09 21:58:29 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Roman.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Roman.st	Thu Jan 19 10:06:02 2012 +0000
@@ -972,3 +972,4 @@
     ^ '§Header: /cvs/stx/stx/libbasic/Encoder_MAC_Roman.st,v 1.4 2011/01/29 20:33:33 cg Exp §'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Romanian.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Romanian.st	Thu Jan 19 10:06:02 2012 +0000
@@ -417,3 +417,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Romanian.st,v 1.3 2004/03/09 21:58:05 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Symbol.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Symbol.st	Thu Jan 19 10:06:02 2012 +0000
@@ -448,3 +448,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Symbol.st,v 1.3 2004/03/09 21:57:44 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Thai.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Thai.st	Thu Jan 19 10:06:02 2012 +0000
@@ -435,3 +435,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Thai.st,v 1.3 2004/03/09 21:59:00 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MAC_Turkish.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MAC_Turkish.st	Thu Jan 19 10:06:02 2012 +0000
@@ -392,3 +392,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MAC_Turkish.st,v 1.3 2004/03/09 21:59:55 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Ansi.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Ansi.st	Thu Jan 19 10:06:02 2012 +0000
@@ -622,6 +622,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__MS_Ansi.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__MS_Ansi.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Arabic.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Arabic.st	Thu Jan 19 10:06:02 2012 +0000
@@ -842,3 +842,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MS_Arabic.st,v 1.4 2005/03/31 18:48:44 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Baltic.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Baltic.st	Thu Jan 19 10:06:02 2012 +0000
@@ -855,6 +855,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__MS_Baltic.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__MS_Baltic.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Cyrillic.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Cyrillic.st	Thu Jan 19 10:06:02 2012 +0000
@@ -721,6 +721,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__MS_Cyrillic.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__MS_Cyrillic.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_EastEuropean.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_EastEuropean.st	Thu Jan 19 10:06:02 2012 +0000
@@ -816,3 +816,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MS_EastEuropean.st,v 1.4 2005/03/31 18:48:47 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Greek.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Greek.st	Thu Jan 19 10:06:02 2012 +0000
@@ -674,6 +674,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__MS_Greek.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__MS_Greek.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Hebrew.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Hebrew.st	Thu Jan 19 10:06:02 2012 +0000
@@ -610,3 +610,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MS_Hebrew.st,v 1.4 2005/03/31 18:48:50 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Symbol.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Symbol.st	Thu Jan 19 10:06:02 2012 +0000
@@ -91,3 +91,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MS_Symbol.st,v 1.5 2005/03/31 18:48:55 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__MS_Turkish.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__MS_Turkish.st	Thu Jan 19 10:06:02 2012 +0000
@@ -822,3 +822,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_MS_Turkish.st,v 1.5 2005/03/31 18:49:37 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__NEXT.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__NEXT.st	Thu Jan 19 10:06:02 2012 +0000
@@ -316,3 +316,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/Encoder_NEXT.st,v 1.3 2004/03/09 22:00:52 cg Exp $'
 ! !
 
+
--- a/CharacterEncoderImplementations__SingleByteEncoder.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__SingleByteEncoder.st	Thu Jan 19 10:06:02 2012 +0000
@@ -81,6 +81,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__SingleByteEncoder.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__SingleByteEncoder.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__TwoByteEncoder.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterEncoderImplementations__TwoByteEncoder.st	Thu Jan 19 10:06:02 2012 +0000
@@ -87,6 +87,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__TwoByteEncoder.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__TwoByteEncoder.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterRangeError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterRangeError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterRangeError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterRangeError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CharacterWriteStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CharacterWriteStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -248,6 +248,7 @@
 !
 
 version_SVN
-    ^ '$Id: CharacterWriteStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CharacterWriteStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/CheapBlock.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CheapBlock.st	Thu Jan 19 10:06:02 2012 +0000
@@ -185,6 +185,7 @@
 !
 
 version_SVN
-    ^ '$Id: CheapBlock.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CheapBlock.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Class.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Class.st	Thu Jan 19 10:06:02 2012 +0000
@@ -5511,6 +5511,7 @@
 !
 
 version_SVN
-    ^ '$Id: Class.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: Class.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ClassBuildError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ClassBuildError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -45,6 +45,7 @@
 !
 
 version_SVN
-    ^ '$Id: ClassBuildError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ClassBuildError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ClassBuilder.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ClassBuilder.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2369,7 +2369,7 @@
 !
 
 version_SVN
-    ^ '$Id: ClassBuilder.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: ClassBuilder.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ClassBuilder initialize!
@@ -2377,3 +2377,4 @@
 
 
 
+
--- a/ClassCategoryReader.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ClassCategoryReader.st	Thu Jan 19 10:06:02 2012 +0000
@@ -444,9 +444,10 @@
 !
 
 version_SVN
-    ^ '$Id: ClassCategoryReader.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ClassCategoryReader.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ClassCategoryReader initialize!
 
 
+
--- a/ClassDescription.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ClassDescription.st	Thu Jan 19 10:06:02 2012 +0000
@@ -4178,10 +4178,11 @@
 !
 
 version_SVN
-    ^ '$Id: ClassDescription.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ClassDescription.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ClassDescription initialize!
 ClassDescription::MethodRedefinitionNotification initialize!
 ClassDescription::ClassRedefinitionNotification initialize!
 
+
--- a/CmdLineOption.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CmdLineOption.st	Thu Jan 19 10:06:02 2012 +0000
@@ -138,9 +138,10 @@
 !CmdLineOption class methodsFor:'documentation'!
 
 version
-    ^'$Id: CmdLineOption.st 10737 2011-11-06 21:23:48Z vranyj1 $'
+    ^'$Header: /cvs/stx/stx/libbasic/CmdLineOption.st,v 1.3 2012/01/13 10:58:29 vrany Exp $'
 !
 
 version_SVN
-    ^ '$Id: CmdLineOption.st 10737 2011-11-06 21:23:48Z vranyj1 $'
+    ^ '$Id: CmdLineOption.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
+
--- a/CmdLineOptionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CmdLineOptionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -37,9 +37,10 @@
 !CmdLineOptionError class methodsFor:'documentation'!
 
 version
-    ^'$Id: CmdLineOptionError.st 10717 2011-10-11 15:53:59Z vranyj1 $'
+    ^'$Header: /cvs/stx/stx/libbasic/CmdLineOptionError.st,v 1.3 2012/01/13 10:58:08 vrany Exp $'
 !
 
 version_SVN
-    ^ '$Id: CmdLineOptionError.st 10717 2011-10-11 15:53:59Z vranyj1 $'
+    ^ '$Id: CmdLineOptionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
+
--- a/CmdLineParser.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CmdLineParser.st	Thu Jan 19 10:06:02 2012 +0000
@@ -275,9 +275,10 @@
 !CmdLineParser class methodsFor:'documentation'!
 
 version
-    ^'$Id: CmdLineParser.st 10737 2011-11-06 21:23:48Z vranyj1 $'
+    ^'$Header: /cvs/stx/stx/libbasic/CmdLineParser.st,v 1.3 2012/01/13 10:58:19 vrany Exp $'
 !
 
 version_SVN
-    ^ '$Id: CmdLineParser.st 10737 2011-11-06 21:23:48Z vranyj1 $'
+    ^ '$Id: CmdLineParser.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
+
--- a/CmdLineParserTest.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CmdLineParserTest.st	Thu Jan 19 10:06:02 2012 +0000
@@ -181,5 +181,10 @@
 !CmdLineParserTest class methodsFor:'documentation'!
 
 version
-    ^'$Id: CmdLineParserTest.st 10717 2011-10-11 15:53:59Z vranyj1 $'
+    ^'$Header: /cvs/stx/stx/libbasic/CmdLineParserTest.st,v 1.3 2012/01/13 10:58:40 vrany Exp $'
+!
+
+version_SVN
+    ^'$Id: CmdLineParserTest.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
+
--- a/Collection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Collection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -4192,9 +4192,10 @@
 !
 
 version_SVN
-    ^ '$Id: Collection.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: Collection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Collection initialize!
 
 
+
--- a/CompiledCode.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/CompiledCode.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1835,6 +1835,7 @@
 !
 
 version_SVN
-    ^ '$Id: CompiledCode.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: CompiledCode.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Complex.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Complex.st	Thu Jan 19 10:06:02 2012 +0000
@@ -767,6 +767,7 @@
 !
 
 version_SVN
-    ^ '$Id: Complex.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Complex.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ConfigurableFeatures.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ConfigurableFeatures.st	Thu Jan 19 10:06:02 2012 +0000
@@ -110,14 +110,7 @@
 !
 
 hasCVSSupportEnabled
-    |cvs|
-
-    "/ use Smalltalk-at to trick the dependency/prerequisite generator
-    cvs := Smalltalk at: #'CVSSourceCodeManager' ifAbsent:nil.
-
-    ^ cvs notNil
-        and:[ cvs isLoaded 
-        and:[ cvs enabled ]]
+    ^ self hasSCMSupportEnabledFor:#'CVSSourceCodeManager'
 
     "Created: / 03-01-2012 / 15:42:16 / cg"
 !
@@ -134,14 +127,7 @@
 !
 
 hasDataBaseSourceCodeManagerSupportEnabled
-    |repository|
-
-    "/ use Smalltalk-at to trick the dependency/prerequisite generator
-    repository := Smalltalk at: #'DataBaseSourceCodeManager' ifAbsent:nil.
-
-    ^ repository notNil
-        and:[ repository isLoaded 
-        and:[ repository enabled ]]
+    ^ self hasSCMSupportEnabledFor:#'DataBaseSourceCodeManager'
 
     "Created: / 03-01-2012 / 15:36:12 / cg"
 !
@@ -158,17 +144,32 @@
 !
 
 hasFileBasedSourceCodeManagerSupportEnabled
-    |repository|
-
-    "/ use Smalltalk-at to trick the dependency/prerequisite generator
-    repository := Smalltalk at: #'FileBasedSourceCodeManager' ifAbsent:nil.
-    ^ repository notNil
-        and:[ repository isLoaded 
-        and:[ repository enabled ]]
+    ^ self hasSCMSupportEnabledFor:#'FileBasedSourceCodeManager'
 
     "Created: / 21-12-2011 / 17:07:08 / cg"
 !
 
+hasMercurialSupport
+    "/ use Smalltalk-at to trick the dependency/prerequisite generator
+    ^ (Smalltalk at: #'MercurialSourceCodeManager' ifAbsent:nil) notNil
+
+    "
+     ConfigurableFeatures hasMercurialSupport
+    "
+
+    "Created: / 18-01-2012 / 10:58:07 / cg"
+!
+
+hasMercurialSupportEnabled
+    ^ self hasSCMSupportEnabledFor:#'MercurialSourceCodeManager'
+
+    "
+     self hasMercurialSupportEnabled
+    "
+
+    "Created: / 18-01-2012 / 10:58:12 / cg"
+!
+
 hasMonticelloSupport
     "/ use Smalltalk-at to trick the dependency/prerequisite generator
     ^ (Smalltalk at: #'MonticelloSourceCodeManager' ifAbsent:nil) notNil
@@ -181,14 +182,7 @@
 !
 
 hasMonticelloSupportEnabled
-    |cvs|
-
-    "/ use Smalltalk-at to trick the dependency/prerequisite generator
-    cvs := Smalltalk at: #'MonticelloSourceCodeManager' ifAbsent:nil.
-
-    ^ cvs notNil
-        and:[ cvs isLoaded 
-        and:[ cvs enabled ]]
+    ^ self hasSCMSupportEnabledFor:#'MonticelloSourceCodeManager'
 
     "Created: / 03-01-2012 / 15:44:39 / cg"
 !
@@ -205,21 +199,27 @@
 !
 
 hasPerforceSupportEnabled
-    |cvs|
-
-    "/ use Smalltalk-at to trick the dependency/prerequisite generator
-    cvs := Smalltalk at: #'PerforceSourceCodeManager' ifAbsent:nil.
-
-    ^ cvs notNil
-        and:[ cvs isLoaded 
-        and:[ cvs enabled ]]
+    ^ self hasSCMSupportEnabledFor:#'PerforceSourceCodeManager'
 
     "Created: / 03-01-2012 / 15:43:28 / cg"
 !
 
+hasSCMSupportEnabledFor:aSourceCodeManagerClassName
+    |scm|
+
+    "/ use Smalltalk-at to trick the dependency/prerequisite generator
+    scm := Smalltalk at:aSourceCodeManagerClassName ifAbsent:nil.
+
+    ^ scm notNil
+        and:[ scm isLoaded 
+        and:[ scm shownInBrowserMenus ]]
+
+    "Created: / 18-01-2012 / 10:55:58 / cg"
+!
+
 hasSubversionSupport
     "/ use Smalltalk-at to trick the dependency/prerequisite generator
-    ^ (Smalltalk at: #'SVN::RepositoryManager' ifAbsent:nil) notNil
+    ^ (Smalltalk at: #'SVN::SVNSourceCodeManager' ifAbsent:nil) notNil
 
     "
      ConfigurableFeatures hasSubversionSupport
@@ -229,14 +229,7 @@
 !
 
 hasSubversionSupportEnabled
-    |subVersionRepository|
-
-    "/ use Smalltalk-at to trick the dependency/prerequisite generator
-    subVersionRepository := Smalltalk at: #'SVN::RepositoryManager' ifAbsent:nil.
-
-    ^ subVersionRepository notNil
-        and:[ subVersionRepository isLoaded 
-        and:[ subVersionRepository enabled ]]
+    ^ self hasSCMSupportEnabledFor:#'SVNSourceCodeManager'
 
     "Created: / 07-09-2011 / 10:41:33 / cg"
 ! !
@@ -244,16 +237,17 @@
 !ConfigurableFeatures class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ConfigurableFeatures.st,v 1.4 2012/01/03 14:44:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ConfigurableFeatures.st,v 1.5 2012/01/18 10:00:40 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ConfigurableFeatures.st,v 1.4 2012/01/03 14:44:49 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ConfigurableFeatures.st,v 1.5 2012/01/18 10:00:40 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ConfigurableFeatures.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: ConfigurableFeatures.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
 
+
--- a/ContextError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ContextError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: ContextError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ContextError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Continuation.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Continuation.st	Thu Jan 19 10:06:02 2012 +0000
@@ -190,6 +190,7 @@
 !
 
 version_SVN
-    ^ '$Id: Continuation.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Continuation.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ControlInterrupt.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ControlInterrupt.st	Thu Jan 19 10:06:02 2012 +0000
@@ -55,6 +55,7 @@
 !
 
 version_SVN
-    ^ '$Id: ControlInterrupt.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ControlInterrupt.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ControlRequest.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ControlRequest.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: ControlRequest.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ControlRequest.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ConversionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ConversionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -54,8 +54,9 @@
 !
 
 version_SVN
-    ^ '$Id: ConversionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ConversionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ConversionError initialize!
 
+
--- a/Date.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Date.st	Thu Jan 19 10:06:02 2012 +0000
@@ -3065,8 +3065,9 @@
 !
 
 version_SVN
-    ^ '$Id: Date.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Date.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Date initialize!
 
+
--- a/DateConversionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/DateConversionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: DateConversionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: DateConversionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 DateConversionError initialize!
 
+
--- a/DecodingError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/DecodingError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: DecodingError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: DecodingError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/DeepCopyError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/DeepCopyError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: DeepCopyError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: DeepCopyError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 DeepCopyError initialize!
 
+
--- a/Delay.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Delay.st	Thu Jan 19 10:06:02 2012 +0000
@@ -371,6 +371,7 @@
 !
 
 version_SVN
-    ^ '$Id: Delay.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Delay.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Dictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Dictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2108,8 +2108,9 @@
 !
 
 version_SVN
-    ^ '$Id: Dictionary.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Dictionary.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Dictionary initialize!
 
+
--- a/DirectoryStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/DirectoryStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -800,6 +800,7 @@
 !
 
 version_SVN
-    ^ '$Id: DirectoryStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: DirectoryStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/DomainError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/DomainError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -58,8 +58,9 @@
 !
 
 version_SVN
-    ^ '$Id: DomainError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: DomainError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 DomainError initialize!
 
+
--- a/DoubleArray.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/DoubleArray.st	Thu Jan 19 10:06:02 2012 +0000
@@ -106,7 +106,8 @@
 !
 
 version_SVN
-    ^ '$Id: DoubleArray.st 10741 2011-11-26 08:36:46Z vranyj1 $'
+    ^ '$Id: DoubleArray.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
+
--- a/ElementBoundsError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ElementBoundsError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -57,8 +57,9 @@
 !
 
 version_SVN
-    ^ '$Id: ElementBoundsError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ElementBoundsError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ElementBoundsError initialize!
 
+
--- a/EncodingError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/EncodingError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: EncodingError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: EncodingError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/EndOfStreamError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/EndOfStreamError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -67,8 +67,9 @@
 !
 
 version_SVN
-    ^ '$Id: EndOfStreamError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: EndOfStreamError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 EndOfStreamError initialize!
 
+
--- a/EndOfStreamNotification.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/EndOfStreamNotification.st	Thu Jan 19 10:06:02 2012 +0000
@@ -61,6 +61,7 @@
 !
 
 version_SVN
-    ^ '$Id: EndOfStreamNotification.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: EndOfStreamNotification.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Error.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Error.st	Thu Jan 19 10:06:02 2012 +0000
@@ -93,8 +93,9 @@
 !
 
 version_SVN
-    ^ '$Id: Error.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Error.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Error initialize!
 
+
--- a/Exception.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Exception.st	Thu Jan 19 10:06:02 2012 +0000
@@ -66,6 +66,7 @@
 !
 
 version_SVN
-    ^ '$Id: Exception.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Exception.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ExceptionHandlerSet.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExceptionHandlerSet.st	Thu Jan 19 10:06:02 2012 +0000
@@ -329,6 +329,7 @@
 !
 
 version_SVN
-    ^ '$Id: ExceptionHandlerSet.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ExceptionHandlerSet.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ExecutableFunction.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExecutableFunction.st	Thu Jan 19 10:06:02 2012 +0000
@@ -412,6 +412,7 @@
 !
 
 version_SVN
-    ^ '$Id: ExecutableFunction.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ExecutableFunction.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ExecutionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExecutionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: ExecutionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ExecutionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ExecutionError initialize!
 
+
--- a/ExternalAddress.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExternalAddress.st	Thu Jan 19 10:06:02 2012 +0000
@@ -340,6 +340,7 @@
 !
 
 version_SVN
-    ^ '$Id: ExternalAddress.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ExternalAddress.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ExternalBytes.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExternalBytes.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1312,8 +1312,9 @@
 !
 
 version_SVN
-    ^ '$Id: ExternalBytes.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ExternalBytes.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ExternalBytes initialize!
 
+
--- a/ExternalFunction.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExternalFunction.st	Thu Jan 19 10:06:02 2012 +0000
@@ -980,8 +980,9 @@
 !
 
 version_SVN
-    ^ '$Id: ExternalFunction.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ExternalFunction.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ExternalFunction initialize!
 
+
--- a/ExternalFunctionCallback.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExternalFunctionCallback.st	Thu Jan 19 10:06:02 2012 +0000
@@ -837,7 +837,8 @@
 !
 
 version_SVN
-    ^ '$Id: ExternalFunctionCallback.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: ExternalFunctionCallback.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
+
--- a/ExternalStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExternalStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -188,7 +188,7 @@
 # define DEBUGBUFFER(buf)  \
     if (((char *)(buf) >= __survStartPtr) \
      && ((char *)(buf) < __survEndPtr)) { \
-	__fatal0("read into survivor\n"); \
+        __fatal0("read into survivor\n"); \
     }
 
 #else
@@ -215,69 +215,69 @@
 
 #  define READ(ret,f, cp, n, handleType) \
       { int __res;\
-	HANDLE h; \
-	h = _get_osfhandle(fileno(f)); \
-	if ((handleType == @symbol(socketFilePointer)) \
-	|| ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
-	  (ret) = __STX_WSA_NOINT_CALL4("recv", recv, h, (cp), (n), 0);\
-	} else { \
-	  (ret) = __STX_C_NOINT_CALL3("_rtl_read", _rtl_read, fileno(f), (cp), (n));\
-	} \
+        HANDLE h; \
+        h = _get_osfhandle(fileno(f)); \
+        if ((handleType == @symbol(socketFilePointer)) \
+        || ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
+          (ret) = __STX_WSA_NOINT_CALL4("recv", recv, h, (cp), (n), 0);\
+        } else { \
+          (ret) = __STX_C_NOINT_CALL3("_rtl_read", _rtl_read, fileno(f), (cp), (n));\
+        } \
       }
 
 #  define WRITE(ret,f, cp, n, handleType) \
       { int __res;\
-	HANDLE h; \
-	h = _get_osfhandle(fileno(f)); \
-	if ((handleType == @symbol(socketFilePointer)) \
-	|| ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
-	  (ret) = __STX_WSA_NOINT_CALL4("send", send, h, (cp), (n), 0);\
-	} else { \
-	  (ret) = __STX_C_NOINT_CALL3("_rtl_write", _rtl_write, fileno(f), (cp), (n));\
-	} \
+        HANDLE h; \
+        h = _get_osfhandle(fileno(f)); \
+        if ((handleType == @symbol(socketFilePointer)) \
+        || ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
+          (ret) = __STX_WSA_NOINT_CALL4("send", send, h, (cp), (n), 0);\
+        } else { \
+          (ret) = __STX_C_NOINT_CALL3("_rtl_write", _rtl_write, fileno(f), (cp), (n));\
+        } \
       }
 
 # else /* MSC */
 
 #  define READ(ret,f, cp, n, handleType) \
       { int __res;\
-	int fd; \
-	HANDLE h; \
-	fd = fileno(f); \
-	if ((handleType == @symbol(socketFileDescriptor)) \
-	 || ((handleType == nil) && (ioctlsocket((SOCKET)fd,FIONREAD,&__res)==0))) { \
-	  (ret) = __STX_WSA_NOINT_CALL4("recv", recv, fd, (cp), (n), 0);\
-	} else { \
-	  h = _get_osfhandle(fd); \
-	  if ((handleType == @symbol(socketFilePointer)) \
-	  || ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
-	    (ret) = __STX_WSA_NOINT_CALL4("recv", recv, h, (cp), (n), 0);\
-	  } else { \
-	    (ret) = __STX_API_NOINT_CALL5("ReadFile", ReadFile, h, (cp), (n), &__res, 0);\
-	    if (ret) \
-	      ret = __res; \
-	  } \
-	} \
+        int fd; \
+        HANDLE h; \
+        fd = fileno(f); \
+        if ((handleType == @symbol(socketFileDescriptor)) \
+         || ((handleType == nil) && (ioctlsocket((SOCKET)fd,FIONREAD,&__res)==0))) { \
+          (ret) = __STX_WSA_NOINT_CALL4("recv", recv, fd, (cp), (n), 0);\
+        } else { \
+          h = _get_osfhandle(fd); \
+          if ((handleType == @symbol(socketFilePointer)) \
+          || ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
+            (ret) = __STX_WSA_NOINT_CALL4("recv", recv, h, (cp), (n), 0);\
+          } else { \
+            (ret) = __STX_API_NOINT_CALL5("ReadFile", ReadFile, h, (cp), (n), &__res, 0);\
+            if (ret) \
+              ret = __res; \
+          } \
+        } \
       }
 #  define WRITE(ret,f, cp, n, handleType) \
       { int __res;\
-	int fd; \
-	HANDLE h; \
-	fd = fileno(f); \
-	if ((handleType == @symbol(socketFileDescriptor)) \
-	 || ((handleType == nil) && (ioctlsocket((SOCKET)fd,FIONREAD,&__res)==0))) { \
-	  (ret) = __STX_WSA_NOINT_CALL4("send", send, fd, (cp), (n), 0);\
-	} else {\
-	  h = _get_osfhandle(fd); \
-	  if ((handleType == @symbol(socketFilePointer)) \
-	  || ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
-	    (ret) = __STX_WSA_NOINT_CALL4("send", send, h, (cp), (n), 0);\
-	  } else {\
-	    (ret) = __STX_API_NOINT_CALL5("WriteFile", WriteFile, h, (cp), (n), &__res, 0);\
-	    if (ret) \
-	      ret = __res; \
-	  } \
-	} \
+        int fd; \
+        HANDLE h; \
+        fd = fileno(f); \
+        if ((handleType == @symbol(socketFileDescriptor)) \
+         || ((handleType == nil) && (ioctlsocket((SOCKET)fd,FIONREAD,&__res)==0))) { \
+          (ret) = __STX_WSA_NOINT_CALL4("send", send, fd, (cp), (n), 0);\
+        } else {\
+          h = _get_osfhandle(fd); \
+          if ((handleType == @symbol(socketFilePointer)) \
+          || ((handleType == nil) && (ioctlsocket((SOCKET)h,FIONREAD,&__res)==0))) { \
+            (ret) = __STX_WSA_NOINT_CALL4("send", send, h, (cp), (n), 0);\
+          } else {\
+            (ret) = __STX_API_NOINT_CALL5("WriteFile", WriteFile, h, (cp), (n), &__res, 0);\
+            if (ret) \
+              ret = __res; \
+          } \
+        } \
       }
 # endif /* MSC */
 
@@ -289,56 +289,56 @@
 # define __READING__(f)                          \
     if ((__INST(didWrite) != false)              \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = false;                \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = false;                \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 # define __WRITING__(f)                          \
     if ((__INST(didWrite) != true)               \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = true;                 \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = true;                 \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 # define __UNGETC__(c, f, isBuffered)                   \
     if (isBuffered) {                                   \
-	ungetc((c), (f));                               \
+        ungetc((c), (f));                               \
     } else {                                            \
       __INST(readAhead) = __mkSmallInteger((c));            \
     }
 
 # define __READBYTE__(ret, f, buf, isBuffered, handleType)          \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) >= 0) {                           \
-		*(buf) = (ret);                         \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		if (__threadErrno == EINTR) {           \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else {                                    \
-		(ret) = 0;                              \
-	    }                                           \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) >= 0) {                           \
+                *(buf) = (ret);                         \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                if (__threadErrno == EINTR) {           \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else {                                    \
+                (ret) = 0;                              \
+            }                                           \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	OBJ rA = __INST(readAhead);                     \
-	if (rA != nil) {                                \
-	    *(buf) = (char)__intVal(rA);                \
-	    __INST(readAhead) = nil;                    \
-	    (ret) = 1;                                  \
-	} else {                                        \
-	    for (;;) {                                  \
-		CLEAR_ERRNO;                            \
-		READ(ret,f, buf, 1, handleType);                    \
-		if ((ret) >= 0 || __threadErrno != EINTR)       \
-		    break;                              \
-	    }                                           \
-	}                                               \
+        OBJ rA = __INST(readAhead);                     \
+        if (rA != nil) {                                \
+            *(buf) = (char)__intVal(rA);                \
+            __INST(readAhead) = nil;                    \
+            (ret) = 1;                                  \
+        } else {                                        \
+            for (;;) {                                  \
+                CLEAR_ERRNO;                            \
+                READ(ret,f, buf, 1, handleType);                    \
+                if ((ret) >= 0 || __threadErrno != EINTR)       \
+                    break;                              \
+            }                                           \
+        }                                               \
     }
 
   /*
@@ -348,120 +348,120 @@
 # define __READBYTES__(ret, f, buf, cnt, isBuffered, handleType)    \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__offs++] = (ret);                    \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {               \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__offs++] = (ret);                    \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0;                                 \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		__INST(readAhead) = nil;                \
-		(ret) = 1;                              \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		READ(ret,f, (buf)+__offs, (cnt)-__offs, handleType); \
-		if ((ret) <= 0) {                       \
-		    if ((ret) < 0 && __threadErrno == EINTR) {  \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                __INST(readAhead) = nil;                \
+                (ret) = 1;                              \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                READ(ret,f, (buf)+__offs, (cnt)-__offs, handleType); \
+                if ((ret) <= 0) {                       \
+                    if ((ret) < 0 && __threadErrno == EINTR) {  \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 
 # define __READAVAILBYTES__(ret, f, buf, cnt, isBuffered, handleType) \
   {                                                     \
     int __offs = 0;                                     \
     int oldFlags;                                       \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__offs++] = (ret);                    \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {               \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__offs++] = (ret);                    \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		__INST(readAhead) = nil;                \
-		(ret) = 1;                              \
-		__offs += (ret);                        \
-		continue;                               \
-	    }                                           \
-	    CLEAR_ERRNO;                                \
-	    {                                           \
-	      int res;                                  \
-	      if ((handleType == @symbol(socketFilePointer)) \
-	       || ((handleType == nil) && (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)),FIONREAD,&res)==0))) { \
-		  if (res > 0) {                        \
-		      if (res > ((cnt)-__offs))         \
-			res = (cnt)-__offs;             \
-		      READ(ret,f, (buf)+__offs, res, handleType);   \
-		  } else {                              \
-		      (ret) = 0;                        \
-		  }                                     \
-	      } else if ((handleType == @symbol(pipeFilePointer)) \
-			 || ((handleType == nil) && (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0, 0,0,&res,0)))) { \
-		  if (res > 0) {                        \
-		      if (res > ((cnt)-__offs))         \
-			res = (cnt)-__offs;             \
-		      READ(ret,f, (buf)+__offs, res, handleType);   \
-		  } else                                \
-		      ret = 0;                          \
-	      } else {                                  \
-		  READ(ret,f, (buf)+__offs, (cnt)-__offs, handleType); \
-	      }                                         \
-	    }                                           \
-	    if ((ret) < 0) {                            \
-		if (__threadErrno == EINTR) {                   \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	    break;                                      \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                __INST(readAhead) = nil;                \
+                (ret) = 1;                              \
+                __offs += (ret);                        \
+                continue;                               \
+            }                                           \
+            CLEAR_ERRNO;                                \
+            {                                           \
+              int res;                                  \
+              if ((handleType == @symbol(socketFilePointer)) \
+               || ((handleType == nil) && (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)),FIONREAD,&res)==0))) { \
+                  if (res > 0) {                        \
+                      if (res > ((cnt)-__offs))         \
+                        res = (cnt)-__offs;             \
+                      READ(ret,f, (buf)+__offs, res, handleType);   \
+                  } else {                              \
+                      (ret) = 0;                        \
+                  }                                     \
+              } else if ((handleType == @symbol(pipeFilePointer)) \
+                         || ((handleType == nil) && (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0, 0,0,&res,0)))) { \
+                  if (res > 0) {                        \
+                      if (res > ((cnt)-__offs))         \
+                        res = (cnt)-__offs;             \
+                      READ(ret,f, (buf)+__offs, res, handleType);   \
+                  } else                                \
+                      ret = 0;                          \
+              } else {                                  \
+                  READ(ret,f, (buf)+__offs, (cnt)-__offs, handleType); \
+              }                                         \
+            }                                           \
+            if ((ret) < 0) {                            \
+                if (__threadErrno == EINTR) {                   \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+            break;                                      \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -472,63 +472,63 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			clearerr(f);                    \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__ooffs+__offs] = (ret);              \
-	    __offs++;                                   \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        clearerr(f);                    \
+                        /* refetch */                   \
+                        buf = (volatile char *)(obj);   \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__ooffs+__offs] = (ret);              \
+            __offs++;                                   \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    char __buf[IO_BUFFER_SIZE];                 \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		__INST(readAhead) = nil;                \
-		(ret) = 1;                              \
-	    } else {                                    \
-		int l;                                  \
-		CLEAR_ERRNO;                            \
-		l = (cnt)-__offs;                       \
-		if ( l > IO_BUFFER_SIZE)                \
-		  l = IO_BUFFER_SIZE;                   \
-		READ(ret,f, __buf, l, handleType);                  \
-		if ((ret) <= 0) {                       \
-		    if ((ret) < 0 && __threadErrno == EINTR) {  \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-	    }                                           \
-	    if( (ret) > 0 ) {                               \
-		/* refetch */                               \
-		buf = (volatile char *)(obj);               \
-		memcpy((buf)+__ooffs+__offs,__buf,(ret));   \
-		__offs += (ret);                            \
-	    } else {                                        \
-		(ret) = 0;                                  \
-	    }                                               \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            char __buf[IO_BUFFER_SIZE];                 \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                __INST(readAhead) = nil;                \
+                (ret) = 1;                              \
+            } else {                                    \
+                int l;                                  \
+                CLEAR_ERRNO;                            \
+                l = (cnt)-__offs;                       \
+                if ( l > IO_BUFFER_SIZE)                \
+                  l = IO_BUFFER_SIZE;                   \
+                READ(ret,f, __buf, l, handleType);                  \
+                if ((ret) <= 0) {                       \
+                    if ((ret) < 0 && __threadErrno == EINTR) {  \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+            }                                           \
+            if( (ret) > 0 ) {                               \
+                /* refetch */                               \
+                buf = (volatile char *)(obj);               \
+                memcpy((buf)+__ooffs+__offs,__buf,(ret));   \
+                __offs += (ret);                            \
+            } else {                                        \
+                (ret) = 0;                                  \
+            }                                               \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -537,147 +537,147 @@
     int __ooffs = obj_offs;                          \
     int __offs = 0;                                  \
     char *buf = (char *)(obj);                       \
-						     \
+                                                     \
     (ret) = 0;                                       \
     if (isBuffered) {                                \
-	while (__offs < (cnt)) {                     \
-	    CLEAR_ERRNO;                             \
-	    (ret) = getc(f);                         \
-	    if ((ret) < 0) {                         \
-		if (ferror(f)) {                     \
-		    if (__threadErrno == EINTR) {            \
-			clearerr(f);                 \
-			/* refetch */                \
-			buf = (char *)(obj);         \
-			continue;                    \
-		    }                                \
-		} else {                             \
-		    (ret) = 0;                       \
-		}                                    \
-		break;                               \
-	    }                                        \
-	    (buf)[__ooffs+__offs] = (ret);           \
-	    __offs++;                                \
-	}                                            \
-	if (__offs > 0)                              \
-	    (ret) = __offs;                          \
+        while (__offs < (cnt)) {                     \
+            CLEAR_ERRNO;                             \
+            (ret) = getc(f);                         \
+            if ((ret) < 0) {                         \
+                if (ferror(f)) {                     \
+                    if (__threadErrno == EINTR) {    \
+                        clearerr(f);                 \
+                        /* refetch */                \
+                        buf = (volatile char *)(obj);\
+                        continue;                    \
+                    }                                \
+                } else {                             \
+                    (ret) = 0;                       \
+                }                                    \
+                break;                               \
+            }                                        \
+            (buf)[__ooffs+__offs] = (ret);           \
+            __offs++;                                \
+        }                                            \
+        if (__offs > 0)                              \
+            (ret) = __offs;                          \
     } else {                                         \
-	while (__offs < (cnt)) {                     \
-	    char __buf[IO_BUFFER_SIZE];              \
-	    OBJ rA = __INST(readAhead);              \
-	    if (rA != nil) {                         \
-		(buf)[__ooffs+__offs] = __intVal(rA);\
-		__INST(readAhead) = nil;             \
-		(ret) = 1;                           \
-		__offs += (ret);                     \
-		continue;                            \
-	    }                                        \
-	    {                                        \
-		int l;                               \
-		int res;                             \
-		CLEAR_ERRNO;                         \
-		l = (cnt)-__offs;                    \
-		if ( l > IO_BUFFER_SIZE)             \
-		    l = IO_BUFFER_SIZE;              \
-		if (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)),FIONREAD,&res)==0) { \
-		    if (res > 0) {                   \
-			if (res > l)                 \
-			    res = l;                 \
-			READ(ret,f, __buf, res, handleType);     \
-		    } else {                         \
-			(ret) = 0;                   \
-		    }                                \
-		} else if (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0, 0,0,&res,0)) { \
-		    if (res > 0) {                   \
-			if (res > l)                 \
-			    res = l;                 \
-			READ(ret,f, __buf, res, handleType);     \
-		    } else                           \
-			(ret) = 0;                   \
-		} else {                             \
-		    READ(ret,f, __buf, l, handleType);           \
-		}                                    \
-		if ((ret) < 0 && __threadErrno == EINTR) {   \
-		    continue;                        \
-		}                                    \
-	    }                                        \
-	    if( (ret) > 0 ) {                               \
-		/* refetch */                               \
-		buf = (volatile char *)(obj);               \
-		memcpy((buf)+__ooffs+__offs,__buf,(ret));   \
-		__offs += (ret);                            \
-	    } else {                                        \
-		(ret) = 0;                                  \
-	    }                                               \
-	    break;                                      \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                     \
+            char __buf[IO_BUFFER_SIZE];              \
+            OBJ rA = __INST(readAhead);              \
+            if (rA != nil) {                         \
+                (buf)[__ooffs+__offs] = __intVal(rA);\
+                __INST(readAhead) = nil;             \
+                (ret) = 1;                           \
+                __offs += (ret);                     \
+                continue;                            \
+            }                                        \
+            {                                        \
+                int l;                               \
+                int res;                             \
+                CLEAR_ERRNO;                         \
+                l = (cnt)-__offs;                    \
+                if ( l > IO_BUFFER_SIZE)             \
+                    l = IO_BUFFER_SIZE;              \
+                if (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)),FIONREAD,&res)==0) { \
+                    if (res > 0) {                   \
+                        if (res > l)                 \
+                            res = l;                 \
+                        READ(ret,f, __buf, res, handleType);     \
+                    } else {                         \
+                        (ret) = 0;                   \
+                    }                                \
+                } else if (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0, 0,0,&res,0)) { \
+                    if (res > 0) {                   \
+                        if (res > l)                 \
+                            res = l;                 \
+                        READ(ret,f, __buf, res, handleType);     \
+                    } else                           \
+                        (ret) = 0;                   \
+                } else {                             \
+                    READ(ret,f, __buf, l, handleType);           \
+                }                                    \
+                if ((ret) < 0 && __threadErrno == EINTR) {   \
+                    continue;                        \
+                }                                    \
+            }                                        \
+            if( (ret) > 0 ) {                               \
+                /* refetch */                               \
+                buf = (volatile char *)(obj);               \
+                memcpy((buf)+__ooffs+__offs,__buf,(ret));   \
+                __offs += (ret);                            \
+            } else {                                        \
+                (ret) = 0;                                  \
+            }                                               \
+            break;                                      \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
 # define __WRITEBYTE__(ret, f, buf, isBuffered, handleType)         \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    ret = putc(*(buf), f);                      \
-	    if ((ret) >= 0) {                           \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		if (__threadErrno == EINTR) {                   \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else                                      \
-		(ret) = 0;                              \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            ret = putc(*(buf), f);                      \
+            if ((ret) >= 0) {                           \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                if (__threadErrno == EINTR) {                   \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else                                      \
+                (ret) = 0;                              \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    WRITE(ret,f, buf, 1, handleType);                       \
-	    if ((ret) >= 0 || __threadErrno != EINTR)           \
-		break;                                  \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            WRITE(ret,f, buf, 1, handleType);                       \
+            if ((ret) >= 0 || __threadErrno != EINTR)           \
+                break;                                  \
+        }                                               \
    }
 
 # define __WRITEBYTES__(ret, f, buf, cnt, isBuffered, handleType)   \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
-	    if ((ret) <= 0) {                           \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
+            if ((ret) <= 0) {                           \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {               \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    WRITE(ret,f, (buf)+__offs, (cnt)-__offs, handleType);   \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) {        \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            WRITE(ret,f, (buf)+__offs, (cnt)-__offs, handleType);   \
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR) {        \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 
 # define __WRITEBYTES_OBJ__(ret, f, obj, obj_offs, cnt, isBuffered, handleType) \
@@ -685,51 +685,51 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f); \
-	    if ((ret) <= 0) {                           \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f); \
+            if ((ret) <= 0) {                           \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        /* refetch */                   \
+                        buf = (volatile char *)(obj);   \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    char __buf[IO_BUFFER_SIZE];                 \
-	    int l;                                      \
-	    CLEAR_ERRNO;                                \
-	    l = (cnt)-__offs;                           \
-	    if ( l > IO_BUFFER_SIZE)                    \
-	      l = IO_BUFFER_SIZE;                       \
-	    /* refetch */                               \
-	    buf = (volatile char *)(obj);               \
-	    memcpy(__buf,(buf)+__ooffs+__offs,l);       \
-	    WRITE(ret,f, __buf, l, handleType);                     \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) {        \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            char __buf[IO_BUFFER_SIZE];                 \
+            int l;                                      \
+            CLEAR_ERRNO;                                \
+            l = (cnt)-__offs;                           \
+            if ( l > IO_BUFFER_SIZE)                    \
+              l = IO_BUFFER_SIZE;                       \
+            /* refetch */                               \
+            buf = (volatile char *)(obj);               \
+            memcpy(__buf,(buf)+__ooffs+__offs,l);       \
+            WRITE(ret,f, __buf, l, handleType);                     \
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR) {        \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -738,15 +738,15 @@
 # define __READING__(f)                          \
     if ((__INST(didWrite) != false)              \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = false;                \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = false;                \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 # define __WRITING__(f)                          \
     if ((__INST(didWrite) != true)               \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = true;                 \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = true;                 \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 
@@ -756,69 +756,69 @@
 # else /* use STDIO */
 #  define __UNGETC__(c, f, isBuffered)                  \
     if (isBuffered) {                                   \
-	ungetc((c), (f));                               \
+        ungetc((c), (f));                               \
     } else {                                            \
-	__INST(readAhead) = __mkSmallInteger((c));          \
+        __INST(readAhead) = __mkSmallInteger((c));          \
     }
 # endif /* use STDIO */
 
 # ifdef NO_STDIO
 #  define __READBYTE__(ret, f, buf, isBuffered, handleType)         \
     {                                                   \
-	OBJ rA = __INST(readAhead);                     \
-	if (rA != nil) {                                \
-	    *(buf) = __intVal(rA);                      \
-	    DEBUGBUFFER(buf);                           \
-	    __INST(readAhead) = nil;                    \
-	    (ret) = 1;                                  \
-	} else {                                        \
-	    for (;;) {                                  \
-		CLEAR_ERRNO;                            \
-		(ret) = READ(f, buf, 1, handleType);                \
-		DEBUGBUFFER(buf);                       \
-		if ((ret) >= 0 || __threadErrno != EINTR)       \
-		    break;                              \
-		__HANDLE_INTERRUPTS__;                  \
-	    }                                           \
-	}                                               \
+        OBJ rA = __INST(readAhead);                     \
+        if (rA != nil) {                                \
+            *(buf) = __intVal(rA);                      \
+            DEBUGBUFFER(buf);                           \
+            __INST(readAhead) = nil;                    \
+            (ret) = 1;                                  \
+        } else {                                        \
+            for (;;) {                                  \
+                CLEAR_ERRNO;                            \
+                (ret) = READ(f, buf, 1, handleType);                \
+                DEBUGBUFFER(buf);                       \
+                if ((ret) >= 0 || __threadErrno != EINTR)       \
+                    break;                              \
+                __HANDLE_INTERRUPTS__;                  \
+            }                                           \
+        }                                               \
     }
 # else /* use STDIO */
 #  define __READBYTE__(ret, f, buf, isBuffered, handleType)         \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) >= 0) {                           \
-		DEBUGBUFFER(buf);                       \
-		*(buf) = (ret);                         \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		if (__threadErrno == EINTR) {                   \
-		    __HANDLE_INTERRUPTS__;              \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else                                      \
-		(ret) = 0;                              \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) >= 0) {                           \
+                DEBUGBUFFER(buf);                       \
+                *(buf) = (ret);                         \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                if (__threadErrno == EINTR) {                   \
+                    __HANDLE_INTERRUPTS__;              \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else                                      \
+                (ret) = 0;                              \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	OBJ rA = __INST(readAhead);                     \
-	if (rA != nil) {                                \
-	    *(buf) = __intVal(rA);                      \
-	    DEBUGBUFFER(buf);                           \
-	    __INST(readAhead) = nil;                    \
-	    (ret) = 1;                                  \
-	} else {                                        \
-	    for (;;) {                                  \
-		CLEAR_ERRNO;                            \
-		(ret) = read(fileno(f), buf, 1);        \
-		DEBUGBUFFER(buf);                       \
-		if ((ret) >= 0 || __threadErrno != EINTR)       \
-		    break;                              \
-		__HANDLE_INTERRUPTS__;                  \
-	    }                                           \
-	}                                               \
+        OBJ rA = __INST(readAhead);                     \
+        if (rA != nil) {                                \
+            *(buf) = __intVal(rA);                      \
+            DEBUGBUFFER(buf);                           \
+            __INST(readAhead) = nil;                    \
+            (ret) = 1;                                  \
+        } else {                                        \
+            for (;;) {                                  \
+                CLEAR_ERRNO;                            \
+                (ret) = read(fileno(f), buf, 1);        \
+                DEBUGBUFFER(buf);                       \
+                if ((ret) >= 0 || __threadErrno != EINTR)       \
+                    break;                              \
+                __HANDLE_INTERRUPTS__;                  \
+            }                                           \
+        }                                               \
    }
 # endif /* use STDIO */
 
@@ -829,84 +829,84 @@
 # ifdef NO_STDIO
 #  define __READBYTES__(ret, f, buf, cnt, isBuffered, handleType)   \
     {                                                   \
-	int __offs = 0, __cnt;                                 \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = READ(f, (buf)+__offs, (cnt)-__offs, handleType); \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && __threadErrno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0, __cnt;                                 \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = READ(f, (buf)+__offs, (cnt)-__offs, handleType); \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && __threadErrno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 # else /* use STDIO */
 #  define __READBYTES__(ret, f, buf, cnt, isBuffered, handleType)     \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    DEBUGBUFFER(buf);                           \
-	    (buf)[__offs++] = (ret);                    \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {               \
+                        __HANDLE_INTERRUPTS__;          \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            DEBUGBUFFER(buf);                           \
+            (buf)[__offs++] = (ret);                    \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0, __cnt;                                 \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		DEBUGBUFFER(buf);                       \
-		(buf)[__offs] = __intVal(rA);           \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = read(fd, (buf)+__offs, (cnt)-__offs);                 \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && __threadErrno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0, __cnt;                                 \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                DEBUGBUFFER(buf);                       \
+                (buf)[__offs] = __intVal(rA);           \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = read(fd, (buf)+__offs, (cnt)-__offs);                 \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && __threadErrno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 
 
@@ -916,10 +916,10 @@
 
 #  if defined(F_GETFL) && defined(F_SETFL) && (defined(O_NONBLOCK) || defined(O_NDELAY) || defined(FNDELAY))
 #   define GETFLAGS(fd) \
-	fcntl(fd, F_GETFL, 0);
+        fcntl(fd, F_GETFL, 0);
 
 #   define SETFLAGS(fd, flags) \
-	fcntl(fd, F_SETFL, flags)
+        fcntl(fd, F_SETFL, flags)
 
 #   if defined(O_NONBLOCK)
 #    define __STX_NONBLOCK_FLAG O_NONBLOCK
@@ -932,13 +932,13 @@
 #   endif
 
 #   define SETNONBLOCKING(fd) \
-	{ \
-	    int flags; \
-	    flags = fcntl(fd, F_GETFL, 0); \
-	    if (flags >= 0) { \
-		fcntl(fd, F_SETFL, flags | __STX_NONBLOCK_FLAG); \
-	    } \
-	}
+        { \
+            int flags; \
+            flags = fcntl(fd, F_GETFL, 0); \
+            if (flags >= 0) { \
+                fcntl(fd, F_SETFL, flags | __STX_NONBLOCK_FLAG); \
+            } \
+        }
 #  else
 #   define GETFLAGS(fd) 0
 #   define SETFLAGS(fd, flags) /* nothing */
@@ -949,53 +949,53 @@
   {                                                     \
     int __offs = 0, __cnt;                                     \
     int oldFlags;                                       \
-							\
+                                                        \
     (ret) = 0;                                          \
     oldFlags = GETFLAGS(fileno(f));                     \
     SETNONBLOCKING(fileno(f));                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			(ret) = 0;                      \
-			clearerr(f);                    \
-			break;                          \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__offs++] = (ret);                    \
-	    DEBUGBUFFER(buf);                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {               \
+                        (ret) = 0;                      \
+                        clearerr(f);                    \
+                        break;                          \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__offs++] = (ret);                    \
+            DEBUGBUFFER(buf);                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-		continue;                               \
-	    }                                           \
-	    CLEAR_ERRNO;                                \
-	    __cnt = read(fd, (buf)+__offs, (cnt)-__offs); \
-	    DEBUGBUFFER(buf);                           \
-	    if (__cnt > 0) {                            \
-		__offs += __cnt;                        \
-	    }                                           \
-	    break;                                      \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+                continue;                               \
+            }                                           \
+            CLEAR_ERRNO;                                \
+            __cnt = read(fd, (buf)+__offs, (cnt)-__offs); \
+            DEBUGBUFFER(buf);                           \
+            if (__cnt > 0) {                            \
+                __offs += __cnt;                        \
+            }                                           \
+            break;                                      \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
     SETFLAGS(fileno(f), oldFlags);                      \
   }
@@ -1013,34 +1013,34 @@
     int __offs = 0;                                     \
     int __cnt;                                          \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     {                                                   \
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = READ(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType); \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && __threadErrno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = READ(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType); \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && __threadErrno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        /* refetch */                   \
+                        buf = (volatile char *)(obj);   \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -1052,61 +1052,61 @@
     int __offs = 0;                                     \
     int __cnt;                                          \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			clearerr(f);                    \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			DEBUGBUFFER(buf);               \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__ooffs+__offs] = (ret);              \
-	    DEBUGBUFFER(buf);                           \
-	    __offs++;                                   \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        __HANDLE_INTERRUPTS__;          \
+                        clearerr(f);                    \
+                        /* refetch */                   \
+                        buf = (volatile char *)(obj);   \
+                        DEBUGBUFFER(buf);               \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__ooffs+__offs] = (ret);              \
+            DEBUGBUFFER(buf);                           \
+            __offs++;                                   \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && __threadErrno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && __threadErrno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        /* refetch */                   \
+                        buf = (volatile char *)(obj);   \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -1116,54 +1116,54 @@
     int __offs = 0;                                     \
     int __cnt;                                          \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {       \
-			clearerr(f);                    \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			(ret) = 0;                      \
-			break;                          \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__ooffs+__offs] = (ret);              \
-	    DEBUGBUFFER(buf);                           \
-	    __offs++;                                   \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        clearerr(f);                    \
+                        /* refetch */                   \
+                        buf = (volatile char *)(obj);   \
+                        (ret) = 0;                      \
+                        break;                          \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__ooffs+__offs] = (ret);              \
+            DEBUGBUFFER(buf);                           \
+            __offs++;                                   \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-		continue;                               \
-	    }                                           \
-	    CLEAR_ERRNO;                                \
-	    __cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
-	    DEBUGBUFFER(buf);                           \
-	    if (__cnt > 0) {                            \
-		__offs += __cnt;                        \
-	    }                                           \
-	    break;                                      \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+                continue;                               \
+            }                                           \
+            CLEAR_ERRNO;                                \
+            __cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
+            DEBUGBUFFER(buf);                           \
+            if (__cnt > 0) {                            \
+                __offs += __cnt;                        \
+            }                                           \
+            break;                                      \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -1172,40 +1172,40 @@
 
 # ifdef NO_STDIO
 #  define __WRITEBYTE__(ret, f, buf, isBuffered, handleType)          \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = WRITE(f, buf, 1, handleType);                   \
-	    if ((ret) >= 0 || __threadErrno != EINTR)           \
-		break;                                  \
-	    __HANDLE_INTERRUPTS__;                      \
-	}
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = WRITE(f, buf, 1, handleType);                   \
+            if ((ret) >= 0 || __threadErrno != EINTR)           \
+                break;                                  \
+            __HANDLE_INTERRUPTS__;                      \
+        }
 # else /* use STDIO */
 #  define __WRITEBYTE__(ret, f, buf, isBuffered, handleType)        \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    ret = putc(*(buf), f);                      \
-	    if ((ret) >= 0) {                           \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		/* SOLARIS/SPARC (2.6) generates spurious errors with errno = 0 */ \
-		if (__threadErrno == EINTR || __threadErrno == 0) {     \
-		    __HANDLE_INTERRUPTS__;              \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else                                      \
-		(ret) = 0;                              \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            ret = putc(*(buf), f);                      \
+            if ((ret) >= 0) {                           \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                /* SOLARIS/SPARC (2.6) generates spurious errors with errno = 0 */ \
+                if (__threadErrno == EINTR || __threadErrno == 0) {     \
+                    __HANDLE_INTERRUPTS__;              \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else                                      \
+                (ret) = 0;                              \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = write(fileno(f), buf, 1);           \
-	    if ((ret) >= 0 || __threadErrno != EINTR)           \
-		break;                                  \
-	    __HANDLE_INTERRUPTS__;                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = write(fileno(f), buf, 1);           \
+            if ((ret) >= 0 || __threadErrno != EINTR)           \
+                break;                                  \
+            __HANDLE_INTERRUPTS__;                      \
+        }                                               \
    }
 # endif /* use STDIO */
 
@@ -1217,62 +1217,62 @@
 #  define __WRITEBYTES__(ret, f, buf, cnt, isBuffered, handleType)    \
     (ret) = 0;                                          \
     {                                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = WRITE(f, (buf)+__offs, (cnt)-__offs, handleType); \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) {        \
-		    __HANDLE_INTERRUPTS__;              \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = WRITE(f, (buf)+__offs, (cnt)-__offs, handleType); \
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR) {        \
+                    __HANDLE_INTERRUPTS__;              \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 # else /* use STDIO */
 #  define __WRITEBYTES__(ret, f, buf, cnt, isBuffered, handleType)    \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
-	    if ((ret) <= 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
+            if ((ret) <= 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {               \
+                        __HANDLE_INTERRUPTS__;          \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = write(fileno(f), (buf)+__offs, (cnt)-__offs);\
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) {        \
-		    __HANDLE_INTERRUPTS__;              \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = write(fileno(f), (buf)+__offs, (cnt)-__offs);\
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR) {        \
+                    __HANDLE_INTERRUPTS__;              \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 # endif /* use STDIO */
 
@@ -1286,25 +1286,25 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     {                                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = WRITE(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType);               \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) {        \
-		    __HANDLE_INTERRUPTS__;              \
-		    /* refetch */                       \
-		    buf = (char *)(obj);                \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = WRITE(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType); \
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR) { \
+                    __HANDLE_INTERRUPTS__;              \
+                    /* refetch */                       \
+                    buf = (volatile char *)(obj);       \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 # else /* use STDIO */
@@ -1313,47 +1313,47 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f);           \
-	    if ((ret) <= 0) {                           \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f);           \
+            if ((ret) <= 0) {                           \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        __HANDLE_INTERRUPTS__;          \
+                        /* refetch */                   \
+                        buf = (volatile char *)(obj);   \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = write(fileno(f), (buf)+__ooffs+__offs, (cnt)-__offs);       \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) {        \
-		    __HANDLE_INTERRUPTS__;              \
-		    /* refetch */                       \
-		    buf = (char *)(obj);                \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = write(fileno(f), (buf)+__ooffs+__offs, (cnt)-__offs);       \
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR){ \
+                    __HANDLE_INTERRUPTS__;              \
+                    /* refetch */                       \
+                    buf = (volatile char *)(obj);       \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 # endif /* use STDIO */
@@ -1948,10 +1948,10 @@
     |elementSize n|
 
     elementSize := aContainer class elementByteSize.
-    n := self nextBytes:nElements*elementSize into:aContainer startingAt:index*elementSize.
+    n := self nextBytes:nElements*elementSize into:aContainer startingAt:(index-1)*elementSize+1.
     ^ n // elementSize
 
-    "Modified: / 15-09-2011 / 14:00:55 / cg"
+    "Modified: / 14-01-2012 / 19:00:35 / cg"
 !
 
 readOnly
@@ -5706,17 +5706,18 @@
 !ExternalStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.346 2011/11/30 10:48:27 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.348 2012/01/14 19:05:12 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.346 2011/11/30 10:48:27 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.348 2012/01/14 19:05:12 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ExternalStream.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: ExternalStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ExternalStream initialize!
 
 
+
--- a/ExternalStructure.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ExternalStructure.st	Thu Jan 19 10:06:02 2012 +0000
@@ -85,6 +85,7 @@
 !
 
 version_SVN
-    ^ '$Id: ExternalStructure.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ExternalStructure.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/False.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/False.st	Thu Jan 19 10:06:02 2012 +0000
@@ -239,6 +239,7 @@
 !
 
 version_SVN
-    ^ '$Id: False.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: False.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/FileDirectory.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/FileDirectory.st	Thu Jan 19 10:06:02 2012 +0000
@@ -840,9 +840,10 @@
 !
 
 version_SVN
-    ^ '$Id: FileDirectory.st 10741 2011-11-26 08:36:46Z vranyj1 $'
+    ^ '$Id: FileDirectory.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 FileDirectory initialize!
 
 
+
--- a/FileDoesNotExistException.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/FileDoesNotExistException.st	Thu Jan 19 10:06:02 2012 +0000
@@ -45,6 +45,7 @@
 !
 
 version_SVN
-    ^ '$Id: FileDoesNotExistException.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: FileDoesNotExistException.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/FileStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/FileStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1713,8 +1713,9 @@
 !
 
 version_SVN
-    ^ '$Id: FileStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: FileStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 FileStream initialize!
 
+
--- a/Filename.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Filename.st	Thu Jan 19 10:06:02 2012 +0000
@@ -5937,9 +5937,10 @@
 !
 
 version_SVN
-    ^ '$Id: Filename.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: Filename.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Filename initialize!
 
 
+
--- a/FixedPoint.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/FixedPoint.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1359,6 +1359,7 @@
 !
 
 version_SVN
-    ^ '$Id: FixedPoint.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: FixedPoint.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Float.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Float.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2745,8 +2745,9 @@
 !
 
 version_SVN
-    ^ '$Id: Float.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Float.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Float initialize!
 
+
--- a/FloatArray.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/FloatArray.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1026,7 +1026,8 @@
 !
 
 version_SVN
-    ^ '$Id: FloatArray.st 10741 2011-11-26 08:36:46Z vranyj1 $'
+    ^ '$Id: FloatArray.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
+
--- a/Fraction.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Fraction.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1166,8 +1166,9 @@
 !
 
 version_SVN
-    ^ '$Id: Fraction.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Fraction.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Fraction initialize!
 
+
--- a/GenericException.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/GenericException.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2312,8 +2312,9 @@
 !
 
 version_SVN
-    ^ '$Id: GenericException.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: GenericException.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 GenericException initialize!
 
+
--- a/Geometric.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Geometric.st	Thu Jan 19 10:06:02 2012 +0000
@@ -529,8 +529,9 @@
 !
 
 version_SVN
-    ^ '$Id: Geometric.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Geometric.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Geometric initialize!
 
+
--- a/GetOpt.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/GetOpt.st	Thu Jan 19 10:06:02 2012 +0000
@@ -238,6 +238,7 @@
 !
 
 version_SVN
-    ^ '$Id: GetOpt.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: GetOpt.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/HaltInterrupt.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/HaltInterrupt.st	Thu Jan 19 10:06:02 2012 +0000
@@ -48,6 +48,7 @@
 !
 
 version_SVN
-    ^ '$Id: HaltInterrupt.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: HaltInterrupt.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/HandleRegistry.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/HandleRegistry.st	Thu Jan 19 10:06:02 2012 +0000
@@ -76,6 +76,7 @@
 !
 
 version_SVN
-    ^ '$Id: HandleRegistry.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: HandleRegistry.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/HashStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/HashStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -37,15 +37,45 @@
 
 documentation
 "
-    Abstract class. Subclasses generate hash values used as checksums
+    Abstract class. 
+    Subclasses generate hash values used as checksums
     or for generating cryptographic signatures.
 
+    Notice: due to historic reasons and compatibility with Squeak,
+    there are two modes of operation:
+        1) hashFunction mode, in which the hash of a single block of bytes is computed
+        2) hashStream mode, in which instances behave like a writeStream, computing and
+           updating the hash, as data is sent to it.
+
+    hashFunction mode is called using: #hashValueOf:aStringOrByteArray
+    Warning: Not all subclasses support the stream mode 
+             (especially those which were ported from squeak do not).
+
     [author:]
         Stefan Vogel
 
     [see also:]
         SHA1Stream MD5Stream
 "
+!
+
+examples
+"
+  hashFunction mode:
+                                                                [exBegin]
+    MD5Stream hashValueOf:'hello world'
+    MD4Stream hashValueOf:'hello world'
+                                                                [exEnd]
+
+  hashStream mode:
+                                                                [exBegin]
+    |md5|
+
+    md5 := MD5Stream new.
+    md5 nextPutAll:'hello world'.
+    md5 hashValue  
+                                                                [exEnd]
+"
 ! !
 
 !HashStream class methodsFor:'instance creation'!
@@ -88,6 +118,8 @@
 !
 
 hashSize
+    "return the size of the hashvalue returned by instances of this class (in bytes)"
+
     self subclassResponsibility
 
     "Created: / 04-01-2012 / 19:22:32 / cg"
@@ -99,7 +131,7 @@
     "test against testVector"
 
     self testVector do:[:pair |
-        |data expectedHash expectedHashBytes hashStream|
+        |data expectedHash expectedHashBytes computedHash hashStream|
 
         data := pair first.
         expectedHash := pair second.
@@ -110,11 +142,13 @@
         ].
 
         "/ non-stream interface must be implemented by all
-        self assert:(self hashValueOf:data) = expectedHashBytes message:'Test failed'.
+        computedHash := self hashValueOf:data.
+        self assert:computedHash = expectedHashBytes message:'Test failed'.
         self canStream ifTrue:[
             hashStream := self new.
             hashStream nextPut:data.
-            self assert:hashStream hashValue = expectedHashBytes message:'Test failed'
+            computedHash := hashStream hashValue.
+            self assert:computedHash = expectedHashBytes message:'Test failed'
         ].
     ].
 
@@ -123,12 +157,16 @@
         SHA1Stream test.
         RipeMD160Stream test.
     "
+
+    "Modified: / 10-01-2012 / 22:35:17 / cg"
 !
 
 testVector
-    "define a testvector to test the implementation"
+    "/ obsolete - moved to TestHashAlgorithms unit test.
 
     ^ self subclassResponsibility
+
+    "Modified (comment): / 09-01-2012 / 21:49:59 / cg"
 ! !
 
 !HashStream class methodsFor:'utilities'!
@@ -141,7 +179,11 @@
     |hashStream|
 
     hashStream := self new.
-    aStringOrByteArrayOrStream readStream copyToEndInto:hashStream.
+    aStringOrByteArrayOrStream isStream ifTrue:[
+        aStringOrByteArrayOrStream copyToEndInto:hashStream.
+    ] ifFalse:[
+        hashStream nextPutAll:aStringOrByteArrayOrStream.
+    ].
 
     ^ hashStream hashValue
 
@@ -150,6 +192,8 @@
      MD5Stream hashValueOf:('makefile' asFilename readStream)
      MD5Stream hashValueOf:('BlaBlaBla' readStream)
     "
+
+    "Modified: / 12-01-2012 / 12:14:44 / cg"
 !
 
 hashValueOfFile:aFilename
@@ -180,9 +224,12 @@
 !HashStream methodsFor:'not implemented'!
 
 next
+    "I can only write"
+
     ^ self shouldNotImplement
 
-    "Created: / 17.3.1999 / 15:11:03 / stefan"
+    "Created: / 17-03-1999 / 15:11:03 / stefan"
+    "Modified (comment): / 09-01-2012 / 16:55:28 / cg"
 ! !
 
 !HashStream methodsFor:'operations'!
@@ -216,8 +263,10 @@
     ^ HmacStream on:self
 
     "
-        (SHA1Stream new hmac key:'exampleKey') digestMessage:'message to generate MAC of'
+     (SHA1Stream new hmac key:'exampleKey') digestMessage:'message to generate MAC of'
     "
+
+    "Modified (comment): / 09-01-2012 / 13:51:01 / cg"
 !
 
 reset
@@ -237,12 +286,14 @@
 !
 
 hashSize
+    "return the size of the returned hashvalue (in bytes)"
+
     "the class knows about the basic hash size"
-
     ^ self class hashSize
 
-    "Created: / 18.3.1999 / 10:17:12 / stefan"
-    "Modified: / 15.10.1999 / 11:53:20 / stefan"
+    "Created: / 18-03-1999 / 10:17:12 / stefan"
+    "Modified: / 15-10-1999 / 11:53:20 / stefan"
+    "Modified (comment): / 11-01-2012 / 10:12:09 / cg"
 !
 
 hashValue
@@ -284,60 +335,69 @@
 
 nextPut:anObject
     "add the hash of anObject to the computed hash so far.
-     anObject can be a Character, SmallInteger, or Character-, Byte-
-     Integer-Array"
+     anObject can be a Character, SmallInteger ByteArray or String"
+
+    anObject isByteCollection ifTrue:[
+        self nextPutBytes:(anObject byteSize) from:anObject startingAt:1.
+        ^ self.
+    ].
 
-    ^ self subclassResponsibility
+    anObject isCharacter ifTrue:[
+        "/ only ascii allowed !!
+        self nextPutBytes:(ByteArray with:anObject codePoint).
+        ^ self.
+    ].
+
+    anObject isInteger ifTrue:[
+        "/ only 0..255 allowed !!
+        anObject < 256 ifTrue:[
+            self nextPutAll:(ByteArray with:anObject).
+            ^ self.
+        ].
+    ].
+
+    self error:'unsupported argument'.
+
+    "Modified (comment): / 09-01-2012 / 16:54:05 / cg"
 !
 
 nextPutAll:aCollection
     "Hash streams handle Strings and ByteArrays in nextPut:"
 
     aCollection isByteCollection ifTrue:[
-        self nextPut:aCollection.
+        self nextPutBytes:(aCollection byteSize) from:aCollection startingAt:1.
     ] ifFalse:[
         super nextPutAll:aCollection
     ].
 
-    "Created: / 14.10.1999 / 11:22:50 / stefan"
+    "Created: / 14-10-1999 / 11:22:50 / stefan"
+    "Modified: / 09-01-2012 / 13:02:44 / cg"
 !
 
 nextPutBytes:count from:anObject startingAt:start
     "write count bytes from an object starting at index start.
      Return the number of bytes written.
      The object must have non-pointer indexed instvars 
-     (i.e. be a ByteArray, String, Float- or DoubleArray).     
-     Use with care - non object oriented i/o.
-     This is provided for compatibility with externalStream;
-     to support binary storage.
-
-     Redefined, because HashStream encodes integers as 4 bytes.
-     You should implement this method in subclasses"
+     (i.e. be a ByteArray, String, Float- or DoubleArray)."
 
-    |idx|
-
-    "self subclassResponsibility"
+    self subclassResponsibility
 
-    idx := start.
-    1 to:count do:[:i |
-        self nextPut:(anObject byteAt:idx) asCharacter.
-        idx := idx + 1
-    ].
-    ^ count
+    "Modified: / 09-01-2012 / 16:41:31 / cg"
 ! !
 
 !HashStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/HashStream.st,v 1.15 2012/01/04 18:55:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/HashStream.st,v 1.24 2012/01/12 11:25:28 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/HashStream.st,v 1.15 2012/01/04 18:55:36 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/HashStream.st,v 1.24 2012/01/12 11:25:28 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: HashStream.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: HashStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
+
--- a/IdentityDictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/IdentityDictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -195,6 +195,7 @@
 !
 
 version_SVN
-    ^ '$Id: IdentityDictionary.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: IdentityDictionary.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/IdentitySet.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/IdentitySet.st	Thu Jan 19 10:06:02 2012 +0000
@@ -205,6 +205,7 @@
 !
 
 version_SVN
-    ^ '$Id: IdentitySet.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: IdentitySet.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ImaginaryResultError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ImaginaryResultError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -60,3 +60,4 @@
 
 ImaginaryResultError initialize!
 
+
--- a/ImmutableArray.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ImmutableArray.st	Thu Jan 19 10:06:02 2012 +0000
@@ -227,6 +227,7 @@
 !
 
 version_SVN
-    ^ '$Id: ImmutableArray.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ImmutableArray.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ImmutableString.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ImmutableString.st	Thu Jan 19 10:06:02 2012 +0000
@@ -236,6 +236,7 @@
 !
 
 version_SVN
-    ^ '$Id: ImmutableString.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ImmutableString.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/IncompleteNextCountError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/IncompleteNextCountError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -67,8 +67,9 @@
 !
 
 version_SVN
-    ^ '$Id: IncompleteNextCountError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: IncompleteNextCountError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 IncompleteNextCountError initialize!
 
+
--- a/IndexNotFoundError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/IndexNotFoundError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: IndexNotFoundError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: IndexNotFoundError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Infinity.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Infinity.st	Thu Jan 19 10:06:02 2012 +0000
@@ -433,8 +433,9 @@
 !
 
 version_SVN
-    ^ '$Id: Infinity.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Infinity.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Infinity initialize!
 
+
--- a/InlineObject.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InlineObject.st	Thu Jan 19 10:06:02 2012 +0000
@@ -78,6 +78,7 @@
 !
 
 version_SVN
-    ^ '$Id: InlineObject.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InlineObject.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/InlineObjectClassDescription.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InlineObjectClassDescription.st	Thu Jan 19 10:06:02 2012 +0000
@@ -61,6 +61,7 @@
 !
 
 version_SVN
-    ^ '$Id: InlineObjectClassDescription.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InlineObjectClassDescription.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/InlineObjectPrototype.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InlineObjectPrototype.st	Thu Jan 19 10:06:02 2012 +0000
@@ -856,6 +856,7 @@
 !
 
 version_SVN
-    ^ '$Id: InlineObjectPrototype.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InlineObjectPrototype.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Integer.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Integer.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1563,15 +1563,19 @@
     cnt := 0.
 
     1 to:n do:[:index |
-	byte := self digitAt:index.
-	cnt := cnt + (byte bitCount)
+        byte := self digitAt:index.
+        cnt := cnt + (byte bitCount)
     ].
     ^ cnt
 
      "
       2r100000000000000000000000000000000000000000000000000000000001 bitCount
       2r111111111111111111111111111111111111111111111111111111111111111111 bitCount
+      100 factorial bitCount -> 207
+      1000 factorial bitCount -> 3788
      "
+
+    "Modified (comment): / 09-01-2012 / 19:51:00 / cg"
 !
 
 bitIndicesOfOneBitsDo:aBlock
@@ -4042,8 +4046,49 @@
      36 nextPrime
      3456737 nextPrime
     "
+!
+
+parityOdd
+    "return true, if an odd number of bits are set in the receiver, false otherwise.
+     (i.e. true for odd parity)
+     Undefined for negative values (smalltalk does not require the machine to use 2's complement)"
+
+    ^ self bitCount odd
+
+    "
+     0 parityOdd    
+     1 parityOdd    
+     2 parityOdd    
+     4 parityOdd    
+     5 parityOdd    
+     7 parityOdd    
+     33 parityOdd   
+     6 parityOdd    
+
+     1 to:1000000 do:[:n |
+        self assert:(n parityOdd = ((n printStringRadix:2) occurrencesOf:$1) odd).
+     ]
+
+     0 to:255 do:[:n |
+        |p|
+
+        p := 
+            (((((((((n rightShift: 7) 
+            bitXor: (n rightShift: 6)) 
+                bitXor: (n rightShift: 5))
+                    bitXor: (n rightShift: 4))
+                        bitXor: (n rightShift: 3))
+                            bitXor: (n rightShift: 2))
+                                bitXor: (n rightShift: 1))
+                                    bitXor: n) bitAnd:1) == 1.
+        self assert:(n parityOdd = p).
+     ]
+    "
+
+    "Created: / 09-01-2012 / 17:18:06 / cg"
 ! !
 
+
 !Integer methodsFor:'special modulu arithmetic'!
 
 add_32:anInteger
@@ -4730,17 +4775,18 @@
 !Integer class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.256 2011/11/04 16:18:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.260 2012/01/09 19:38:30 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Integer.st,v 1.256 2011/11/04 16:18:18 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Integer.st,v 1.260 2012/01/09 19:38:30 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Integer.st 10741 2011-11-26 08:36:46Z vranyj1 $'
+    ^ '$Id: Integer.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Integer initialize!
 
 
+
--- a/InterestConverter.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InterestConverter.st	Thu Jan 19 10:06:02 2012 +0000
@@ -219,6 +219,7 @@
 !
 
 version_SVN
-    ^ '$Id: InterestConverter.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InterestConverter.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Interval.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Interval.st	Thu Jan 19 10:06:02 2012 +0000
@@ -700,6 +700,7 @@
 !
 
 version_SVN
-    ^ '$Id: Interval.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Interval.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/InvalidByteCodeError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidByteCodeError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidByteCodeError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidByteCodeError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 InvalidByteCodeError initialize!
 
+
--- a/InvalidCodeError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidCodeError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidCodeError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidCodeError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 InvalidCodeError initialize!
 
+
--- a/InvalidEncodingError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidEncodingError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidEncodingError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidEncodingError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/InvalidInstructionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidInstructionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidInstructionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidInstructionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 InvalidInstructionError initialize!
 
+
--- a/InvalidModeError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidModeError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidModeError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidModeError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/InvalidOperationError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidOperationError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidOperationError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidOperationError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/InvalidReadError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidReadError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidReadError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidReadError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/InvalidWriteError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/InvalidWriteError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: InvalidWriteError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: InvalidWriteError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/KeyNotFoundError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/KeyNotFoundError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: KeyNotFoundError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: KeyNotFoundError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/KeyedCollection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/KeyedCollection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -208,6 +208,7 @@
 !
 
 version_SVN
-    ^ '$Id: KeyedCollection.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: KeyedCollection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/LargeFloat.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/LargeFloat.st	Thu Jan 19 10:06:02 2012 +0000
@@ -740,3 +740,4 @@
 
 LargeFloat initialize!
 
+
--- a/LargeInteger.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/LargeInteger.st	Thu Jan 19 10:06:02 2012 +0000
@@ -5151,6 +5151,7 @@
 !
 
 version_SVN
-    ^ '$Id: LargeInteger.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: LargeInteger.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/LibraryDefinition.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/LibraryDefinition.st	Thu Jan 19 10:06:02 2012 +0000
@@ -707,6 +707,7 @@
 !
 
 version_SVN
-    ^ '$Id: LibraryDefinition.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: LibraryDefinition.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/LimitedPrecisionReal.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/LimitedPrecisionReal.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1206,8 +1206,9 @@
 !
 
 version_SVN
-    ^ '$Id: LimitedPrecisionReal.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: LimitedPrecisionReal.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 LimitedPrecisionReal initialize!
 
+
--- a/Link.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Link.st	Thu Jan 19 10:06:02 2012 +0000
@@ -67,6 +67,7 @@
 !
 
 version_SVN
-    ^ '$Id: Link.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Link.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/LinkedList.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/LinkedList.st	Thu Jan 19 10:06:02 2012 +0000
@@ -438,6 +438,7 @@
 !
 
 version_SVN
-    ^ '$Id: LinkedList.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: LinkedList.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/LongFloat.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/LongFloat.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2545,8 +2545,9 @@
 !
 
 version_SVN
-    ^ '$Id: LongFloat.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: LongFloat.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 LongFloat initialize!
 
+
--- a/LookupKey.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/LookupKey.st	Thu Jan 19 10:06:02 2012 +0000
@@ -127,6 +127,7 @@
 !
 
 version_SVN
-    ^ '$Id: LookupKey.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: LookupKey.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MD5Stream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MD5Stream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -57,6 +57,12 @@
     Note:
         in August 2004, some researchers have found a way to generate full collisions for MD5. 
         Therefore, for new applications, it may be wise to choose another hash function for security stuff. 
+        See a hash-collision example in the examples method.
+
+        So, the MD5 algorithm has severe weaknesses, for example it is easy to compute two messages yielding 
+        the same hash (collision attack). 
+        The use of this algorithm is only justified for non-cryptographic application.
+
 
     performance: roughly
                         80000 Kb/s on a 2Ghz Duo
@@ -169,6 +175,27 @@
     hashStream hashValue printOn:Transcript base:16. Transcript cr.
                                                                 [exEnd]
 
+  a collision:  
+                                                                [exBegin]
+    |hashStream|
+
+    hashStream := MD5Stream new.
+    hashStream nextPut:(ByteArray fromHexStringWithSeparators:'
+d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
+55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
+d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
+e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70').
+    hashStream hashValue printOn:Transcript base:16. Transcript cr.
+    hashStream reset.
+
+    hashStream nextPut:(ByteArray fromHexStringWithSeparators:'
+d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
+55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
+d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
+e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70').
+    hashStream hashValue printOn:Transcript base:16. Transcript cr.
+                                                                [exEnd]
+
   timing throughput:
                                                                 [exBegin]
     |hashStream n t|
@@ -224,26 +251,6 @@
     "Created: / 18.3.1999 / 08:02:16 / stefan"
 ! !
 
-!MD5Stream class methodsFor:'testing'!
-
-testVector
-
-    ^ #(
-            ('abc'
-              #[16r90 16r01 16r50 16r98 16r3C 16rD2 16r4F 16rB0 16rD6 16r96 16r3F 16r7D 16r28 16rE1 16r7F 16r72])
-
-            ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'
-             #[16r82 16r15 16rEF 16r07 16r96 16rA2 16r0B 16rCA 16rAA 16rE1 16r16 16rD3 16r87 16r6C 16r66 16r4A])
-        ) copyWith:
-        (Array with:(String new:1000000 withAll:$a)    "/ a million a's
-               with:#[16r77 16r07 16rD6 16rAE 16r4E 16r02 16r7C 16r70 16rEE 16rA2 16rA9 16r35 16rC2 16r29 16r6F 16r21])
-
-
-    "
-      self test
-    "
-! !
-
 !MD5Stream methodsFor:'initialization'!
 
 initialize
@@ -312,79 +319,6 @@
 
 !MD5Stream methodsFor:'writing'!
 
-nextPut:anObject
-  "update our hash value for anObject.
-   anObject may be a String, a Character, a Smallinteger or an Array of primitive
-   types like ByteArray"
-
-  |ret|
-
-%{
-   if (__isNonNilObject(__INST(hashContext)) &&
-       __qClass(__INST(hashContext)) == @global(ByteArray) &&
-       __byteArraySize(__INST(hashContext)) == sizeof(MD5_CTX)
-   ) {
-	MD5_CTX *ctx =
-	    (MD5_CTX *)__ByteArrayInstPtr(__INST(hashContext))->ba_element;
-
-	if (__isNonNilObject(anObject)) {
-	    OBJ cls =__qClass(anObject);
-	    INT mask = (INT)(__ClassInstPtr(cls)->c_flags) & __MASKSMALLINT(ARRAYMASK);
-
-	    if (cls == @global(String) || cls == @global(Symbol)) {
-		/* String: omit leading '\0' */
-
-		MD5Update(ctx, __StringInstPtr(anObject)->s_element, __stringSize(anObject));
-	    } else if (mask != __MASKSMALLINT(POINTERARRAY) &&
-		mask != __MASKSMALLINT(WKPOINTERARRAY) &&
-		mask != __MASKSMALLINT(0)
-	    ) {
-		/* Byte|Integer|.... Array */
-
-		register int n;
-		char *pFirst;
-
-		n /* nInstVars */  = __intVal(__ClassInstPtr(cls)->c_ninstvars);
-		n /* nInstBytes */ = OHDR_SIZE + __OBJS2BYTES__(n /* nInstVars */);
-		pFirst = (char *)(__InstPtr(anObject)) + n /* nInstBytes */;
-		n /* nbytes */     = __qSize(anObject) - n /* nInstBytes */;
-		MD5Update(ctx, pFirst, n);
-	    } else if (cls == @global(Character)) {
-		/* Character */
-
-		INT val = __intVal(_characterVal(anObject));
-		if (val > 255) {
-		    /* Two byte character */
-		    short s = val;
-		    MD5Update(ctx, &s, 2);
-		} else {
-		    char c = val;
-		    MD5Update(ctx, &c, 1);
-		}
-	    } else {
-		ret = false;
-	    }
-	} else {
-	    if (anObject == nil) {
-		ret = false;
-	    } else {
-		/* SmallInteger */
-
-		INT i = __intVal(anObject);
-		MD5Update(ctx, &i, sizeof(INT));
-	    }
-	}
-    }
-%}.
-
-    ret notNil ifTrue:[
-	^ self primitiveFailed
-    ].
-
-
-    "Created: 22.10.1996 / 21:53:24 / stefan"
-!
-
 nextPutBytes:count from:anObject startingAt:start
     "update the hash value with count bytes from an object starting at index start.
      The object must have non-pointer indexed instvars
@@ -455,16 +389,17 @@
 !MD5Stream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/MD5Stream.st,v 1.14 2010/08/07 17:11:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/MD5Stream.st,v 1.20 2012/01/12 16:28:30 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/MD5Stream.st,v 1.14 2010/08/07 17:11:19 cg Exp §'
+    ^ 'Header: /cvs/stx/stx/libbasic/MD5Stream.st,v 1.20 2012/01/12 16:28:30 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: MD5Stream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MD5Stream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 MD5Stream initialize!
 
+
--- a/MacFilename.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MacFilename.st	Thu Jan 19 10:06:02 2012 +0000
@@ -67,3 +67,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/MacFilename.st,v 1.1 1997/09/17 17:43:58 cg Exp $'
 ! !
 
+
--- a/Magnitude.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Magnitude.st	Thu Jan 19 10:06:02 2012 +0000
@@ -405,6 +405,7 @@
 !
 
 version_SVN
-    ^ '$Id: Magnitude.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Magnitude.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MallocFailure.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MallocFailure.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: MallocFailure.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MallocFailure.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MappedExternalBytes.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MappedExternalBytes.st	Thu Jan 19 10:06:02 2012 +0000
@@ -86,3 +86,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/MappedExternalBytes.st,v 1.3 2007/02/22 15:27:19 cg Exp $'
 ! !
 
+
--- a/MeasurementValue.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MeasurementValue.st	Thu Jan 19 10:06:02 2012 +0000
@@ -317,6 +317,7 @@
 !
 
 version_SVN
-    ^ '$Id: MeasurementValue.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MeasurementValue.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Message.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Message.st	Thu Jan 19 10:06:02 2012 +0000
@@ -262,6 +262,7 @@
 !
 
 version_SVN
-    ^ '$Id: Message.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Message.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MessageNotUnderstood.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MessageNotUnderstood.st	Thu Jan 19 10:06:02 2012 +0000
@@ -177,6 +177,7 @@
 !
 
 version_SVN
-    ^ '$Id: MessageNotUnderstood.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MessageNotUnderstood.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MessageSend.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MessageSend.st	Thu Jan 19 10:06:02 2012 +0000
@@ -297,6 +297,7 @@
 !
 
 version_SVN
-    ^ '$Id: MessageSend.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MessageSend.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MetaNumber.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MetaNumber.st	Thu Jan 19 10:06:02 2012 +0000
@@ -122,6 +122,7 @@
 !
 
 version_SVN
-    ^ '$Id: MetaNumber.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MetaNumber.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Method.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Method.st	Thu Jan 19 10:06:02 2012 +0000
@@ -3619,10 +3619,11 @@
 !
 
 version_SVN
-    ^ '$Id: Method.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: Method.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Method initialize!
 
 
 
+
--- a/MethodDictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MethodDictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -384,6 +384,7 @@
 !
 
 version_SVN
-    ^ '$Id: MethodDictionary.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MethodDictionary.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MiniDebugger.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MiniDebugger.st	Thu Jan 19 10:06:02 2012 +0000
@@ -910,6 +910,7 @@
 !
 
 version_SVN
-    ^ '$Id: MiniDebugger.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MiniDebugger.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MiniInspector.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MiniInspector.st	Thu Jan 19 10:06:02 2012 +0000
@@ -264,6 +264,7 @@
 !
 
 version_SVN
-    ^ '$Id: MiniInspector.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: MiniInspector.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/MiniLogger.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/MiniLogger.st	Thu Jan 19 10:06:02 2012 +0000
@@ -186,7 +186,8 @@
 !MiniLogger class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: MiniLogger.st 10749 2011-12-09 23:15:57Z vranyj1 $'
+    ^ '$Id: MiniLogger.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 MiniLogger initialize!
+
--- a/NaiveRomanNumberFormatNotification.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NaiveRomanNumberFormatNotification.st	Thu Jan 19 10:06:02 2012 +0000
@@ -52,3 +52,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/NaiveRomanNumberFormatNotification.st,v 1.3 2008/08/06 09:53:07 cg Exp $'
 ! !
 
+
--- a/NoByteCodeError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NoByteCodeError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: NoByteCodeError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NoByteCodeError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 NoByteCodeError initialize!
 
+
--- a/NoHandlerError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NoHandlerError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -568,8 +568,9 @@
 !
 
 version_SVN
-    ^ '$Id: NoHandlerError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NoHandlerError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 NoHandlerError initialize!
 
+
--- a/NonBooleanReceiverError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NonBooleanReceiverError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,8 +53,9 @@
 !
 
 version_SVN
-    ^ '$Id: NonBooleanReceiverError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NonBooleanReceiverError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 NonBooleanReceiverError initialize!
 
+
--- a/NonIntegerIndexError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NonIntegerIndexError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -48,6 +48,7 @@
 !
 
 version_SVN
-    ^ '$Id: NonIntegerIndexError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NonIntegerIndexError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/NonPositionableExternalStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NonPositionableExternalStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -568,6 +568,7 @@
 !
 
 version_SVN
-    ^ '$Id: NonPositionableExternalStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NonPositionableExternalStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/NotANumber.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NotANumber.st	Thu Jan 19 10:06:02 2012 +0000
@@ -162,3 +162,4 @@
 
 NotANumber initialize!
 
+
--- a/NotFoundError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NotFoundError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: NotFoundError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NotFoundError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Notification.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Notification.st	Thu Jan 19 10:06:02 2012 +0000
@@ -366,8 +366,9 @@
 !
 
 version_SVN
-    ^ '$Id: Notification.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Notification.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Notification initialize!
 
+
--- a/Number.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Number.st	Thu Jan 19 10:06:02 2012 +0000
@@ -950,6 +950,21 @@
     ^ Point x:self y:self
 !
 
+asTimeDuration
+    "return an TimeDuration object from the receiver, taking the receiver
+     as number of seconds"
+
+    ^ TimeDuration seconds:self 
+
+    "
+     5 asTimeDuration   
+     50.25 asTimeDuration 
+     3600 asTimeDuration 
+    "
+
+    "Created: / 08-01-2012 / 19:04:04 / cg"
+!
+
 degreesToRadians
     "interpreting the receiver as radians, return the degrees"
 
@@ -2277,14 +2292,15 @@
 !Number class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.134 2011/09/05 09:19:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.135 2012/01/08 18:35:09 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/Number.st,v 1.134 2011/09/05 09:19:51 cg Exp §'
+    ^ 'Header: /cvs/stx/stx/libbasic/Number.st,v 1.135 2012/01/08 18:35:09 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Number.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Number.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/NumberConversionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NumberConversionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: NumberConversionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NumberConversionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/NumberFormatError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/NumberFormatError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: NumberFormatError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: NumberFormatError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OSErrorHolder.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OSErrorHolder.st	Thu Jan 19 10:06:02 2012 +0000
@@ -420,8 +420,9 @@
 !
 
 version_SVN
-    ^ '$Id: OSErrorHolder.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OSErrorHolder.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 OSErrorHolder initialize!
 
+
--- a/OSFileHandle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OSFileHandle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -134,8 +134,9 @@
 !
 
 version_SVN
-    ^ '$Id: OSFileHandle.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OSFileHandle.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 OSFileHandle initialize!
 
+
--- a/OSHandle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OSHandle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -105,8 +105,9 @@
 !
 
 version_SVN
-    ^ '$Id: OSHandle.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OSHandle.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 OSHandle initialize!
 
+
--- a/OSSignalInterrupt.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OSSignalInterrupt.st	Thu Jan 19 10:06:02 2012 +0000
@@ -65,8 +65,9 @@
 !
 
 version_SVN
-    ^ '$Id: OSSignalInterrupt.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OSSignalInterrupt.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 OSSignalInterrupt initialize!
 
+
--- a/ObjectCoder.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ObjectCoder.st	Thu Jan 19 10:06:02 2012 +0000
@@ -97,9 +97,10 @@
     "
      Base64Coder encode:#[1 2 16rFe 16rFF]
      Base64Coder encode:'hello'
+     OSI::BERCoder encode:'hello'  
     "
 
-    "Modified (comment): / 23-09-2011 / 14:05:43 / cg"
+    "Modified (comment): / 12-01-2012 / 13:51:23 / cg"
 !
 
 encode:anObject on:aStream
@@ -260,10 +261,11 @@
 !ObjectCoder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ObjectCoder.st,v 1.16 2011/09/23 12:05:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ObjectCoder.st,v 1.17 2012/01/12 12:57:07 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: ObjectCoder.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ObjectCoder.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ObjectMemory.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ObjectMemory.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1941,6 +1941,25 @@
 
 !ObjectMemory class methodsFor:'debugging ST/X'!
 
+checkConsistency
+    "call the object memory consistency checker.
+     Useful to check if all obejct references are still valid,
+     especially when primitive (inline-C) code is developped.
+     If called before and after a primitive, missing STORE checks or
+     overwritten object headers etc. might be detected.
+     (there is no real guarantee, that all such errors are detected, though)"
+
+%{
+    __checkConsistency("user call");
+%}
+
+    "
+     ObjectMemory checkConsistency
+    "
+
+    "Created: / 18-01-2012 / 12:10:37 / cg"
+!
+
 printPolyCaches
     "{ Pragma: +optSpace }"
 
@@ -5570,11 +5589,12 @@
 !ObjectMemory class methodsFor:'documentation'!
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.258 2011/08/17 19:29:47 stefan Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.259 2012/01/18 11:10:55 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: ObjectMemory.st 10714 2011-10-07 12:25:01Z vranyj1 $'
+    ^ '$Id: ObjectMemory.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ObjectMemory initialize!
+
--- a/OpenError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OpenError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -79,6 +79,7 @@
 !
 
 version_SVN
-    ^ '$Id: OpenError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OpenError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OpenVMSFileHandle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OpenVMSFileHandle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -56,3 +56,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/OpenVMSFileHandle.st,v 1.1 1999/09/18 11:11:28 cg Exp $'
 ! !
 
+
--- a/OpenVMSFilename.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OpenVMSFilename.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1173,3 +1173,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/OpenVMSFilename.st,v 1.18 1997/10/16 10:41:25 cg Exp $'
 ! !
 
+
--- a/OpenVMSOperatingSystem.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OpenVMSOperatingSystem.st	Thu Jan 19 10:06:02 2012 +0000
@@ -7519,3 +7519,4 @@
 ! !
 OpenVMSOperatingSystem initialize!
 
+
--- a/OrderedCollection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OrderedCollection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1960,6 +1960,7 @@
 !
 
 version_SVN
-    ^ '$Id: OrderedCollection.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OrderedCollection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsIllegalOperation.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsIllegalOperation.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsIllegalOperation.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsIllegalOperation.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsInaccessibleError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsInaccessibleError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsInaccessibleError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsInaccessibleError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsInvalidArgumentsError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsInvalidArgumentsError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsInvalidArgumentsError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsInvalidArgumentsError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsNeedRetryError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsNeedRetryError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsNeedRetryError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsNeedRetryError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsNoResourcesError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsNoResourcesError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsNoResourcesError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsNoResourcesError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsNotification.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsNotification.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsNotification.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsNotification.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OsTransferFaultError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OsTransferFaultError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: OsTransferFaultError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OsTransferFaultError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/OverflowError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/OverflowError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: OverflowError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: OverflowError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 OverflowError initialize!
 
+
--- a/PCFilename.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PCFilename.st	Thu Jan 19 10:06:02 2012 +0000
@@ -890,8 +890,9 @@
 !
 
 version_SVN
-    ^ '$Id: PCFilename.st 10741 2011-11-26 08:36:46Z vranyj1 $'
+    ^ '$Id: PCFilename.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
 
+
--- a/PackageId.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PackageId.st	Thu Jan 19 10:06:02 2012 +0000
@@ -299,6 +299,7 @@
 !
 
 version_SVN
-    ^ '$Id: PackageId.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PackageId.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/PeekableStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PeekableStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1042,8 +1042,9 @@
 !
 
 version_SVN
-    ^ '$Id: PeekableStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PeekableStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 PeekableStream initialize!
 
+
--- a/PipeStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PipeStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -804,8 +804,9 @@
 !
 
 version_SVN
-    ^ '$Id: PipeStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PipeStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 PipeStream initialize!
 
+
--- a/Point.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Point.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1188,8 +1188,9 @@
 !
 
 version_SVN
-    ^ '$Id: Point.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Point.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Point initialize!
 
+
--- a/PositionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PositionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: PositionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PositionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/PositionOutOfBoundsError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PositionOutOfBoundsError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: PositionOutOfBoundsError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PositionOutOfBoundsError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/PositionableStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PositionableStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -670,8 +670,9 @@
 !
 
 version_SVN
-    ^ '$Id: PositionableStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PositionableStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 PositionableStream initialize!
 
+
--- a/PrimitiveFailure.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PrimitiveFailure.st	Thu Jan 19 10:06:02 2012 +0000
@@ -63,6 +63,7 @@
 !
 
 version_SVN
-    ^ '$Id: PrimitiveFailure.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PrimitiveFailure.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/PrivateMetaclass.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/PrivateMetaclass.st	Thu Jan 19 10:06:02 2012 +0000
@@ -131,6 +131,7 @@
 !
 
 version_SVN
-    ^ '$Id: PrivateMetaclass.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: PrivateMetaclass.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ProceedError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ProceedError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -101,8 +101,9 @@
 !
 
 version_SVN
-    ^ '$Id: ProceedError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ProceedError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ProceedError initialize!
 
+
--- a/ProceedableError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ProceedableError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -78,8 +78,9 @@
 !
 
 version_SVN
-    ^ '$Id: ProceedableError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ProceedableError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ProceedableError initialize!
 
+
--- a/ProcessorScheduler.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ProcessorScheduler.st	Thu Jan 19 10:06:02 2012 +0000
@@ -3390,9 +3390,10 @@
 !
 
 version_SVN
-    ^ '$Id: ProcessorScheduler.st 10741 2011-11-26 08:36:46Z vranyj1 $'
+    ^ '$Id: ProcessorScheduler.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ProcessorScheduler initialize!
 
 
+
--- a/Project.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Project.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1625,8 +1625,9 @@
 !
 
 version_SVN
-    ^ '$Id: Project.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Project.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Project initialize!
 
+
--- a/ProjectDefinition.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ProjectDefinition.st	Thu Jan 19 10:06:02 2012 +0000
@@ -6591,11 +6591,11 @@
     classesInImage ~= classesInDescription ifTrue:[
 	onlyInImage := (classesInImage reject:[:cls | classesInDescription includes:cls]).
 	onlyInImage notEmpty ifTrue:[
-	    Transcript show:'only in image: '; showCR:onlyInImage
+            Transcript show:self name; show:': only in image: '; showCR:onlyInImage
 	].
 	onlyInDescription := (classesInDescription reject:[:cls | classesInImage includes:cls]).
 	onlyInDescription notEmpty ifTrue:[
-	    Transcript show:'only in description: '; showCR:onlyInDescription
+            Transcript show:self name; show:': only in description: '; showCR:onlyInDescription
 	].
 	(Dialog confirm:'The set of classes in the image is different from the listed classes in the project definition.\\Proceed?' withCRs) ifFalse:[
 	    AbortSignal raiseRequest
@@ -6606,7 +6606,7 @@
      squeak_vmMaker validateDescription
     "
 
-    "Modified: / 31-09-2011 / 18:20:36 / cg"
+    "Modified: / 09-01-2012 / 11:02:59 / cg"
 
 !
 
@@ -6742,17 +6742,18 @@
 !ProjectDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.376 2011/12/23 14:09:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.377 2012/01/09 10:09:44 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.376 2011/12/23 14:09:03 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.377 2012/01/09 10:09:44 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ProjectDefinition.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: ProjectDefinition.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ProjectDefinition initialize!
 
 
+
--- a/ProtoObject.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ProtoObject.st	Thu Jan 19 10:06:02 2012 +0000
@@ -191,6 +191,7 @@
 !
 
 version_SVN
-    ^ '$Id: ProtoObject.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ProtoObject.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/QualifiedName.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/QualifiedName.st	Thu Jan 19 10:06:02 2012 +0000
@@ -119,3 +119,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/QualifiedName.st,v 1.2 2000/04/12 21:38:35 cg Exp $'
 ! !
 
+
--- a/Query.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Query.st	Thu Jan 19 10:06:02 2012 +0000
@@ -280,8 +280,9 @@
 !
 
 version_SVN
-    ^ '$Id: Query.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Query.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Query initialize!
 
+
--- a/QuerySignal.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/QuerySignal.st	Thu Jan 19 10:06:02 2012 +0000
@@ -518,6 +518,7 @@
 !
 
 version_SVN
-    ^ '$Id: QuerySignal.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: QuerySignal.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/QueryWithoutDefault.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/QueryWithoutDefault.st	Thu Jan 19 10:06:02 2012 +0000
@@ -86,8 +86,9 @@
 !
 
 version_SVN
-    ^ '$Id: QueryWithoutDefault.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: QueryWithoutDefault.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 QueryWithoutDefault initialize!
 
+
--- a/RangeError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/RangeError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: RangeError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: RangeError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 RangeError initialize!
 
+
--- a/ReadError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ReadError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: ReadError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ReadError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ReadEvalPrintLoop.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ReadEvalPrintLoop.st	Thu Jan 19 10:06:02 2012 +0000
@@ -434,7 +434,8 @@
 !
 
 version_SVN
-    ^ '$Id: ReadEvalPrintLoop.st 10751 2011-12-21 22:04:49Z vranyj1 $'
+    ^ '$Id: ReadEvalPrintLoop.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
+
--- a/ReadOnlySequenceableCollection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ReadOnlySequenceableCollection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -109,6 +109,7 @@
 !
 
 version_SVN
-    ^ '$Id: ReadOnlySequenceableCollection.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ReadOnlySequenceableCollection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ReadStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ReadStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -858,6 +858,7 @@
 !
 
 version_SVN
-    ^ '$Id: ReadStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ReadStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ReadWriteStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ReadWriteStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -168,6 +168,7 @@
 !
 
 version_SVN
-    ^ '$Id: ReadWriteStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ReadWriteStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Rectangle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Rectangle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1825,6 +1825,7 @@
 !
 
 version_SVN
-    ^ '$Id: Rectangle.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Rectangle.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/RecursionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/RecursionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -58,6 +58,7 @@
 !
 
 version_SVN
-    ^ '$Id: RecursionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: RecursionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/RecursionLock.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/RecursionLock.st	Thu Jan 19 10:06:02 2012 +0000
@@ -326,6 +326,7 @@
 !
 
 version_SVN
-    ^ '$Id: RecursionLock.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: RecursionLock.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/RecursiveExceptionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/RecursiveExceptionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -76,8 +76,9 @@
 !
 
 version_SVN
-    ^ '$Id: RecursiveExceptionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: RecursiveExceptionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 RecursiveExceptionError initialize!
 
+
--- a/RecursiveStoreError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/RecursiveStoreError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -59,8 +59,9 @@
 !
 
 version_SVN
-    ^ '$Id: RecursiveStoreError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: RecursiveStoreError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 RecursiveStoreError initialize!
 
+
--- a/Registry.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Registry.st	Thu Jan 19 10:06:02 2012 +0000
@@ -522,6 +522,7 @@
 !
 
 version_SVN
-    ^ '$Id: Registry.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Registry.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/RestartProcessRequest.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/RestartProcessRequest.st	Thu Jan 19 10:06:02 2012 +0000
@@ -48,6 +48,7 @@
 !
 
 version_SVN
-    ^ '$Id: RestartProcessRequest.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: RestartProcessRequest.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/RomanNumberFormatError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/RomanNumberFormatError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -53,6 +53,7 @@
 !
 
 version_SVN
-    ^ '$Id: RomanNumberFormatError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: RomanNumberFormatError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SHA1Stream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SHA1Stream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -305,27 +305,30 @@
 "
     Generate a SHA-1 hash value as defined in
     NIST, FIPS PUB 180-1: Secure Hash Standard, April 1995.
-    This may be used as checksum
-    or for generating cryptographic signatures.
+    This may be used as checksum or for generating cryptographic signatures.
+
+    Notice (2005):
+        Be aware that SHA-1 is considered broken and may not be appropriate in some applications.
+        Especially it should no longer be used for security stuff.
 
     performance: roughly
-	   47400 Kb/s on a 2Ghz Duo
-	    9580 Kb/s on a 400Mhz PIII
-	    3970 Kb/s on a 300Mhz Sparc
+           47400 Kb/s on a 2Ghz Duo
+            9580 Kb/s on a 400Mhz PIII
+            3970 Kb/s on a 300Mhz Sparc
 
     [author:]
-	Stefan Vogel
+        Stefan Vogel
 
     [see also:]
-	MD5Stream
+        MD5Stream SHA256Stream SHA512Stream
 
     [class variables:]
-	HashSize        size of returned hash value
-	ContextSize     (implementation) size of hash context
+        HashSize        size of returned hash value
+        ContextSize     (implementation) size of hash context
 
     [instance variables:]
-	hashContext     (implementation)
-			internal buffer for computation of the hash value
+        hashContext     (implementation)
+                        internal buffer for computation of the hash value
 "
 !
 
@@ -437,40 +440,6 @@
     "Modified: / 18.3.1999 / 07:54:22 / stefan"
 ! !
 
-!SHA1Stream class methodsFor:'testing'!
-
-testVector
-    "Test Vectors (from FIPS PUB 180-1 and Wikipedia page)"
-
-    ^ #(
-        ('Franz jagt im komplett verwahrlosten Taxi quer durch Bayern'
-         '68ac906495480a3404beee4874ed853a037a7a8f')
-
-        ('Frank jagt im komplett verwahrlosten Taxi quer durch Bayern'
-         'd8e8ece39c437e515aa8997c1a1e94f1ed2a0e62')
-
-        (''
-         'da39a3ee5e6b4b0d3255bfef95601890afd80709')
-
-        ('abc'
-         #[16rA9 16r99 16r3E 16r36  16r47 16r06 16r81 16r6A  16rBA 16r3E 16r25 16r71
-           16r78 16r50 16rC2 16r6C  16r9C 16rD0 16rD8 16r9D])
-
-        ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'
-          #[16r84 16r98 16r3E 16r44  16r1C 16r3B 16rD2 16r6E  16rBA 16rAE 16r4A 16rA1
-            16rF9 16r51 16r29 16rE5  16rE5 16r46 16r70 16rF1])
-       ) copyWith:
-        (Array with:(String new:1000000 withAll:$a)
-               with:#[16r34 16rAA 16r97 16r3C  16rD4 16rC4 16rDA 16rA4  16rF6 16r1E 16rEB 16r2B
-                      16rDB 16rAD 16r27 16r31  16r65 16r34 16r01 16r6F])
-
-    "
-     self test
-    "
-
-    "Modified (comment): / 26-12-2011 / 10:56:46 / cg"
-! !
-
 !SHA1Stream methodsFor:'initialization'!
 
 initialize
@@ -492,16 +461,16 @@
        __qClass(__INST(hashContext)) == @global(ByteArray) &&
        __byteArraySize(__INST(hashContext)) == sizeof(SHA1_CTX)
    ) {
-	SHA1_CTX *ctx =
-	    (SHA1_CTX *)__ByteArrayInstPtr(__INST(hashContext))->ba_element;
+        SHA1_CTX *ctx = (SHA1_CTX *)__ByteArrayInstPtr(__INST(hashContext))->ba_element;
 
-	SHA1Init(ctx);
-	RETURN(self);
+        SHA1Init(ctx);
+        RETURN(self);
    }
 %}.
    ^ self primitiveFailed
 
-    "Created: / 18.3.1999 / 07:59:02 / stefan"
+    "Created: / 18-03-1999 / 07:59:02 / stefan"
+    "Modified: / 12-01-2012 / 12:21:23 / cg"
 ! !
 
 !SHA1Stream methodsFor:'queries'!
@@ -542,79 +511,6 @@
 
 !SHA1Stream methodsFor:'writing'!
 
-nextPut:anObject
-  "update our hash value for anObject.
-   anObject may be a String, a Character, a Smallinteger or an Array of primitive
-   types like ByteArray.
-  "
-
-  |ret|
-
-%{
-   if (__isNonNilObject(__INST(hashContext)) &&
-       __qClass(__INST(hashContext)) == @global(ByteArray) &&
-       __byteArraySize(__INST(hashContext)) == sizeof(SHA1_CTX)
-   ) {
-	SHA1_CTX *ctx =
-	    (SHA1_CTX *)__ByteArrayInstPtr(__INST(hashContext))->ba_element;
-
-	if (__isNonNilObject(anObject)) {
-	    OBJ cls =__qClass(anObject);
-	    INT mask = (INT)(__ClassInstPtr(cls)->c_flags) & __MASKSMALLINT(ARRAYMASK);
-
-	    if (cls == @global(String) || cls == @global(Symbol)) {
-		/* String: omit leading '\0' */
-
-		SHA1Update(ctx, __StringInstPtr(anObject)->s_element, __stringSize(anObject));
-	    } else if (mask != __MASKSMALLINT(POINTERARRAY) &&
-		mask != __MASKSMALLINT(WKPOINTERARRAY) &&
-		mask != __MASKSMALLINT(0)
-	    ) {
-		/* Byte|Integer|.... Array */
-
-		register int n;
-		char *pFirst;
-
-		n /* nInstVars */  = __intVal(__ClassInstPtr(cls)->c_ninstvars);
-		n /* nInstBytes */ = OHDR_SIZE + __OBJS2BYTES__(n /* nInstVars */);
-		pFirst = (char *)(__InstPtr(anObject)) + n /* nInstBytes */;
-		n /* nbytes */     = __qSize(anObject) - n /* nInstBytes */;
-		SHA1Update(ctx, pFirst, n);
-	    } else if (cls == @global(Character)) {
-		/* Character */
-
-		INT val = __intVal(_characterVal(anObject));
-		if (val > 255) {
-		    /* Two byte character */
-		    short s = val;
-		    SHA1Update(ctx, (char *)&s, 2);
-		} else {
-		    char c = val;
-		    SHA1Update(ctx, &c, 1);
-		}
-	    } else {
-		ret = false;
-	    }
-	} else {
-	    if (anObject == nil) {
-		ret = false;
-	    } else {
-		/* SmallInteger */
-
-		INT i = __intVal(anObject);
-		SHA1Update(ctx, (char *)&i, sizeof(INT));
-	    }
-	}
-    }
-%}.
-
-    ret notNil ifTrue:[
-	^ self primitiveFailed
-    ].
-
-    "Created: / 17.3.1999 / 16:14:13 / stefan"
-!
-
 nextPutBytes:count from:anObject startingAt:start
     "update the hash value with count bytes from an object starting at index start.
      The object must have non-pointer indexed instvars
@@ -684,17 +580,18 @@
 !SHA1Stream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/SHA1Stream.st,v 1.20 2011/12/26 09:56:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/SHA1Stream.st,v 1.28 2012/01/12 16:38:42 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SHA1Stream.st,v 1.20 2011/12/26 09:56:58 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SHA1Stream.st,v 1.28 2012/01/12 16:38:42 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SHA1Stream.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: SHA1Stream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 SHA1Stream initialize!
 
 
+
--- a/Semaphore.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Semaphore.st	Thu Jan 19 10:06:02 2012 +0000
@@ -956,6 +956,7 @@
 !
 
 version_SVN
-    ^ '$Id: Semaphore.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Semaphore.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SemaphoreSet.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SemaphoreSet.st	Thu Jan 19 10:06:02 2012 +0000
@@ -314,6 +314,7 @@
 !
 
 version_SVN
-    ^ '$Id: SemaphoreSet.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SemaphoreSet.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SequenceableCollection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SequenceableCollection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -382,7 +382,6 @@
 
 
 
-
 !SequenceableCollection methodsFor:'Compatibility-Squeak'!
 
 allButFirst
@@ -2100,6 +2099,36 @@
      #[1 2 3 4] startsWithAnyOf:#( #(1 3) #(1 4))
      #[1 2 3 4] startsWithAnyOf:#( #(1 3) #(1 2))
     "
+!
+
+with:aCollection findFirst:aBlock 
+    "return the index of the first element for which aTwoArgBlock returns true
+     against corresponding elements of aCollection. 
+     If any collection is smaller, the size of the smaller plus one is returned"
+
+    |mySize otherSize minSize|
+
+    mySize := self size.
+    otherSize := aCollection size.
+    minSize := mySize min:otherSize.
+
+    self from:1 to:minSize with:aCollection doWithIndex:[:el1 :el2 :i |
+        (aBlock value:el1 value:el2) ifTrue:[ ^ i].
+    ].
+
+    mySize ~= otherSize ifTrue:[
+        ^ minSize + 1
+    ].
+    ^ 0
+
+    "
+     'hello' with:'helLo' findFirst:[:a :b | a ~= b] 
+     'hello' with:'hello' findFirst:[:a :b | a ~= b]   
+     'hello' with:'hello1' findFirst:[:a :b | a ~= b]   
+     'hello1' with:'hello' findFirst:[:a :b | a ~= b]   
+    "
+
+    "Created: / 08-01-2012 / 17:12:00 / cg"
 ! !
 
 !SequenceableCollection methodsFor:'converting'!
@@ -4364,6 +4393,35 @@
     "
 !
 
+from:startArg to:stopArg with:aSequenceableCollection doWithIndex:aThreeArgBlock
+    "evaluate the argument, aBlock for successive elements from
+     each the receiver and the argument, aSequenceableCollection.
+     aBlock must be a three-argument block, which get elements from either collection and
+     the index as arguments.
+     The collection argument must implement access via a numeric key."
+
+    |start  "{ Class: SmallInteger }" 
+     stop  "{ Class: SmallInteger }" |
+
+    start := startArg.
+    stop := stopArg.
+    start to:stop do:[:index |
+        aThreeArgBlock 
+            value:(self at:index) 
+            value:(aSequenceableCollection at:index)
+            value:index.
+    ]
+
+    "
+     #(one two three four five six) 
+        from:2 to:5
+        with:(1 to:10)
+        doWithIndex:[:el1 :el2 :idx| Transcript show:idx; space; show:el1; space; showCR:el2]
+    "
+
+    "Created: / 08-01-2012 / 17:18:34 / cg"
+!
+
 inGroupsOf:n collect:anNArgBlock
     "evaluate the argument, anNArgBlock for every group of n elements in the collection,
      and collect the results.
@@ -4719,13 +4777,15 @@
             value:(aSequenceableCollection at:index)
             value:index.
     ]
+
     "
      #(one two three four five six)
         with:(1 to:10)
-        do:[:el1 :el2 | Transcript show:el1; space; showCR:el2]
+        doWithIndex:[:el1 :el2 :idx| Transcript show:idx; space; show:el1; space; showCR:el2]
     "
 
     "Created: / 05-07-2006 / 18:07:11 / fm"
+    "Modified (comment): / 08-01-2012 / 17:18:59 / cg"
 ! !
 
 !SequenceableCollection methodsFor:'filling & replacing'!
@@ -7815,6 +7875,18 @@
      worstCase behavior (but worse average & bestCase behavior)"
 
     self quickSortWith:aCollection
+
+    "
+     |indices names|
+
+     names := #('nine' 'five' 'eight' 'one' 'four' 'two') copy.
+     indices := #(9 5 8 1 4 2) copy.
+     indices sortWith:names.
+     names.
+     indices     
+    "
+
+    "Modified (comment): / 18-01-2012 / 11:30:01 / cg"
 !
 
 sortedBy:aBlock
@@ -7917,12 +7989,13 @@
 !SequenceableCollection class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.309 2011/10/10 11:11:45 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.311 2012/01/18 10:30:08 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SequenceableCollection.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SequenceableCollection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 SequenceableCollection initialize!
 
+
--- a/Set.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Set.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1185,8 +1185,9 @@
 !
 
 version_SVN
-    ^ '$Id: Set.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Set.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Set initialize!
 
+
--- a/SharedPool.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SharedPool.st	Thu Jan 19 10:06:02 2012 +0000
@@ -219,6 +219,7 @@
 !
 
 version_SVN
-    ^ '$Id: SharedPool.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SharedPool.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ShortFloat.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ShortFloat.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1793,6 +1793,7 @@
 !
 
 version_SVN
-    ^ '$Id: ShortFloat.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ShortFloat.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Signal.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Signal.st	Thu Jan 19 10:06:02 2012 +0000
@@ -972,6 +972,7 @@
 !
 
 version_SVN
-    ^ '$Id: Signal.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Signal.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SignalError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SignalError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -50,6 +50,7 @@
 !
 
 version_SVN
-    ^ '$Id: SignalError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SignalError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SignalSet.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SignalSet.st	Thu Jan 19 10:06:02 2012 +0000
@@ -340,6 +340,7 @@
 !
 
 version_SVN
-    ^ '$Id: SignalSet.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SignalSet.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SmallInteger.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SmallInteger.st	Thu Jan 19 10:06:02 2012 +0000
@@ -890,22 +890,87 @@
     "return the number of 1-bits in the receiver"
 
 %{  /* NOCONTEXT */
-    int _cnt = 0;
-    int _self = __intVal(self);
-
+    unsigned int _cnt;
+    unsigned INT _self = __intVal(self);
+
+#define ALGORIHTM_3
+
+#ifdef ALGORITHM_1
+    // old k&r code; might be better if only one or two bits are set
+
+    _cnt = 0;
     while (_self) {
         _cnt++;
         _self = _self & (_self - 1);
     }
+#else
+# ifdef ALGORITHM_2
+    // seems to be faster on the average (and has better worst case)
+
+    static unsigned char table[] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
+
+    _cnt = 0;
+    while (_self) {
+        _cnt += table[ _self & 0x0F ];
+        _self >>= 4;
+    }
+# else
+#  ifdef ALGORIHTM_3
+    // the fastest, but hard (impossible) to understand (google for fastest bit count)
+#   if __POINTER_SIZE__ == 8
+    unsigned int _v1, _v2;
+
+    _v1 = _self & 0xFFFFFFFF;
+    _v1 = _v1 - ((_v1 >> 1) & 0x55555555);
+    _v1 = (_v1 & 0x33333333) + ((_v1 >> 2) & 0x33333333);
+    _v1 = ((_v1 + (_v1 >> 4)) & 0x0F0F0F0F);
+
+    _v2 = (unsigned int)(_self >> 32);
+    _v2 = _v2 - ((_v2 >> 1) & 0x55555555);
+    _v2 = (_v2 & 0x33333333) + ((_v2 >> 2) & 0x33333333);
+    _v2 = ((_v2 + (_v2 >> 4)) & 0x0F0F0F0F);
+
+    _cnt = ((_v1 * 0x01010101) >> 24) + ((_v2 * 0x01010101) >> 24);
+#   else
+    _cnt = _self - ((_self >> 1) & 0x55555555);
+    _cnt = (_cnt & 0x33333333) + ((_cnt >> 2) & 0x33333333);
+    _cnt = ((_cnt + (_cnt >> 4)) & 0x0F0F0F0F);
+    _cnt = (_cnt * 0x01010101) >> 24;
+#   endif
+#  else
+     error error error
+#  endif
+# endif
+#endif
 
     RETURN ( __MKSMALLINT(_cnt));
 %}
 
     "
-     1 to:100000 do:[:n |
+     1 to:1000000 do:[:n |
+        self assert:(n bitCount = ((n printStringRadix:2) occurrencesOf:$1))
+     ].
+
+     #( 
+        16r00010000 16r00100000 16r01000000 16r10000000
+        16r00020000 16r00200000 16r02000000 16r20000000
+        16r00040000 16r00400000 16r04000000 16r40000000
+        16r00080000 16r00800000 16r08000000 16r80000000
+
+        16rFFFFFFFF 16r7FFFFFFF 16r3FFFFFFF 16r1FFFFFFF
+        16rEEEEEEEE 16r7EEEEEEE 16r3EEEEEEE 16r1EEEEEEE
+        16rDDDDDDDD 16r7DDDDDDD 16r3DDDDDDD 16r1DDDDDDD
+        16rCCCCCCCC 16r7CCCCCCC 16r3CCCCCCC 16r1CCCCCCC
+     ) do:[:n |
         self assert:(n bitCount = ((n printStringRadix:2) occurrencesOf:$1))
      ]
+
+     1 to:10000000 do:[:n |
+        (n bitCount)
+     ]
     "
+
+    "Modified: / 09-01-2012 / 19:12:41 / cg"
 !
 
 bitInvert
@@ -3891,6 +3956,43 @@
 
 !
 
+parityOdd
+    "return true, if an odd number of bits are set in the receiver, false otherwise.
+     (i.e. true for odd parity)
+     Undefined for negative values (smalltalk does not require the machine to use 2's complement)"
+
+%{  /* NOCONTEXT */
+
+    // tricky, but very fast (google for it, to understand)
+#if __POINTER_SIZE__ == 4
+    unsigned int v = __intVal(self);  
+
+    v ^= v >> 16;
+    v ^= v >> 8;
+    v ^= v >> 4;
+    v &= 0xf;
+    RETURN ( ( (0x6996 >> v) & 1 ) ? true : false );
+#endif
+%}.
+    ^ super parityOdd
+
+    "
+        self assert:
+         (((0 to:255) collect:[:i | i parityOdd ifTrue:1 ifFalse:0])
+            asByteArray collect:[:c | c + $0 asciiValue]) asString
+         =
+            '0110100110010110100101100110100110010110011010010110100110010110100101100110100101101001100101100110100110010110100101100110100110010110011010010110100110010110011010011001011010010110011010010110100110010110100101100110100110010110011010010110100110010110'
+
+        self assert:(16r0FFFFFFF parityOdd = 16r0FFFFFFF bitCount odd).  
+        self assert:(16r1FFFFFFF parityOdd = 16r1FFFFFFF bitCount odd).
+        self assert:(16r3FFFFFFF parityOdd = 16r3FFFFFFF bitCount odd).
+        self assert:(16r7FFFFFFF parityOdd = 16r7FFFFFFF bitCount odd).
+        self assert:(16rFFFFFFFF parityOdd = 16rFFFFFFFF bitCount odd).
+    "
+
+    "Modified (comment): / 09-01-2012 / 19:55:37 / cg"
+!
+
 positive
     "return true, if the receiver is not negative
      reimplemented here for speed"
@@ -3946,14 +4048,15 @@
 !SmallInteger class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.188 2011/06/20 10:41:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.193 2012/01/09 19:37:51 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.188 2011/06/20 10:41:39 cg Exp §'
+    ^ 'Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.193 2012/01/09 19:37:51 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SmallInteger.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SmallInteger.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Smalltalk.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Smalltalk.st	Thu Jan 19 10:06:02 2012 +0000
@@ -3515,6 +3515,25 @@
     CallbackSignal raiseRequest.
 !
 
+executeStartBlocks
+    |startBlocks|
+
+    startBlocks := self startBlocks.
+    startBlocks notNil ifTrue:[
+        'Smalltalk [info]: execute startBlocks...' infoPrintCR.
+        startBlocks do:[:aBlock|
+            Error handle:[:ex |
+                'Smalltalk [warning]: error cought in startBlock: ' infoPrint.
+                ex description infoPrintCR.
+                ex infoPrintCR.
+            ] do: aBlock
+        ].
+        startBlocks removeAll.
+    ].
+
+    "Created: / 07-01-2012 / 12:58:39 / cg"
+!
+
 hideSplashWindow
 %{
 #ifdef WIN32
@@ -3584,10 +3603,7 @@
     process := [
         'Smalltalk [info]: startup process 1 active.' infoPrintCR.
         StartBlocks notNil ifTrue:[
-            'Smalltalk [info]: execute startBlocks...' infoPrintCR.
-            StartBlocks do:[:aBlock|
-                aBlock value
-            ].
+            self executeStartBlocks.
             StartBlocks := nil.
         ].
         ImageStartBlocks notNil ifTrue:[
@@ -3724,7 +3740,7 @@
 
     "Created: / 18-07-1996 / 21:07:39 / cg"
     "Modified: / 09-09-1996 / 17:42:50 / stefan"
-    "Modified: / 06-12-2011 / 13:28:20 / cg"
+    "Modified: / 07-01-2012 / 12:59:23 / cg"
 !
 
 openDisplay
@@ -4236,23 +4252,17 @@
     |p|
 
     p :=
-	[
-	    |startBlocks|
-
-	    startBlocks := self startBlocks.
-	    startBlocks notNil ifTrue:[
-		startBlocks do:[:aBlock|
-		    aBlock value
-		].
-		startBlocks removeAll.
-	    ].
-	] newProcess.
+        [
+            self executeStartBlocks.
+        ] newProcess.
 
     p
-	priority:(Processor userSchedulingPriority);
-	name:'start block handler';
-	beGroupLeader;
-	resume.
+        priority:(Processor userSchedulingPriority);
+        name:'start block handler';
+        beGroupLeader;
+        resume.
+
+    "Modified: / 07-01-2012 / 12:59:01 / cg"
 ! !
 
 !Smalltalk class methodsFor:'startup queries'!
@@ -7720,16 +7730,17 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.983 2011/12/27 09:44:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.985 2012/01/07 12:04:29 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.983 2011/12/27 09:44:18 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.985 2012/01/07 12:04:29 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Smalltalk.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: Smalltalk.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
 
+
--- a/SmalltalkChunkFileSourceReader.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SmalltalkChunkFileSourceReader.st	Thu Jan 19 10:06:02 2012 +0000
@@ -55,6 +55,7 @@
 !
 
 version_SVN
-    ^'$Id: SmalltalkChunkFileSourceReader.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^'$Id: SmalltalkChunkFileSourceReader.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SmalltalkLanguage.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SmalltalkLanguage.st	Thu Jan 19 10:06:02 2012 +0000
@@ -227,6 +227,7 @@
 !
 
 version_SVN
-    ^'$Id: SmalltalkLanguage.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^'$Id: SmalltalkLanguage.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SnapshotError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SnapshotError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: SnapshotError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SnapshotError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 SnapshotError initialize!
 
+
--- a/SomeNumber.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SomeNumber.st	Thu Jan 19 10:06:02 2012 +0000
@@ -113,3 +113,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/SomeNumber.st,v 1.3 2003/07/02 09:52:23 cg Exp $'
 ! !
 
+
--- a/SortedCollection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SortedCollection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1064,8 +1064,9 @@
 !
 
 version_SVN
-    ^ '$Id: SortedCollection.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SortedCollection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 SortedCollection initialize!
 
+
--- a/StandaloneStartup.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/StandaloneStartup.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1162,8 +1162,9 @@
 !
 
 version_SVN
-    ^ '$Id: StandaloneStartup.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: StandaloneStartup.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 StandaloneStartup initialize!
 
+
--- a/Stream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Stream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -3225,8 +3225,9 @@
 !
 
 version_SVN
-    ^ '$Id: Stream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Stream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Stream initialize!
 
+
--- a/StreamError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/StreamError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -61,6 +61,7 @@
 !
 
 version_SVN
-    ^ '$Id: StreamError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: StreamError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/StreamIOError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/StreamIOError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: StreamIOError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: StreamIOError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/StreamNotOpenError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/StreamNotOpenError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,6 +47,7 @@
 !
 
 version_SVN
-    ^ '$Id: StreamNotOpenError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: StreamNotOpenError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/String.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/String.st	Thu Jan 19 10:06:02 2012 +0000
@@ -714,47 +714,7 @@
     "return the index of the first occurrences of the argument, aCharacter
      in the receiver or 0 if not found - reimplemented here for speed."
 
-%{  /* NOCONTEXT */
-
-    REGISTER unsigned char *cp;
-    REGISTER unsigned byteValue;
-#ifdef FAST_MEMCHR
-    unsigned char *ncp;
-#else
-    REGISTER INT index;
-#endif
-    REGISTER int lastIdx;
-    OBJ cls;
-
-    if (__isCharacter(aCharacter)) {
-	byteValue = __intVal(__characterVal(aCharacter));
-	if (byteValue <= 0xFF) {
-	    cp = __stringVal(self);
-	    lastIdx = __stringSize(self);
-	    if ((cls = __qClass(self)) != String) {
-		int numInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-
-		cp += numInstBytes;
-		lastIdx -= numInstBytes;
-	    }
-
-#ifdef FAST_MEMCHR
-	    ncp = (unsigned char *) memchr(cp, byteValue, lastIdx);
-	    if (ncp) {
-		RETURN ( __mkSmallInteger(ncp - cp + 1) );
-	    }
-#else
-	    for (index=1; index <= lastIdx; index++) {
-		if (*cp++ == byteValue) { RETURN ( __mkSmallInteger(index) ); }
-	   }
-#endif
-	}
-	RETURN ( __mkSmallInteger(0));
-    }
-    /* with identity compares, only characters can be in myself */
-    RETURN ( __mkSmallInteger(0));
-%}.
-    ^ self primitiveFailed
+    ^ self indexOf:aCharacter
 
     "
      'hello world' identityIndexOf:(Character space)
@@ -763,59 +723,25 @@
      #[0 0 1 0 0] asString identityIndexOf:(Character value:1)
      #[0 0 1 0 0] asString identityIndexOf:(Character value:0)
     "
+
+    "Modified: / 10-01-2012 / 17:07:12 / cg"
 !
 
-includes:aCharacter
-    "return true if the argument, aCharacter is included in the receiver
-     - reimplemented here for speed"
-
-%{  /* NOCONTEXT */
-
-    REGISTER unsigned char *cp;
-    REGISTER int byteValue;
-#ifndef FAST_MEMCHR
-    REGISTER unsigned int index;
-#endif
-    REGISTER unsigned int lastIdx;
-    OBJ cls;
-
-    if (__isCharacter(aCharacter)) {
-	byteValue = __intVal(__characterVal(aCharacter));
-	if (byteValue <= 0xFF) {
-	    cp = __stringVal(self);
-	    lastIdx = __stringSize(self);
-	    if ((cls = __qClass(self)) != String) {
-		int numInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-
-		cp += numInstBytes;
-		lastIdx -= numInstBytes;
-	    }
-
-#ifdef FAST_MEMCHR
-	    if (memchr(cp, byteValue, lastIdx) != NULL) {
-		RETURN ( true );
-	    }
-#else
-	    for (index=0; index < lastIdx; index++) {
-		if (cp[index] == byteValue) { RETURN ( true ); }
-	    }
-#endif
-	}
-	RETURN (false);
-    }
-%}.
-    ^ super includes:aCharacter
+identityIndexOf:aCharacter startingAt:index
+    "return the index of the first occurrences of the argument, aCharacter
+     in the receiver or 0 if not found - reimplemented here for speed."
+
+    ^ self indexOf:aCharacter startingAt:index
 
     "
-     'hello world' includes:$d
-     'hello world' includes:$o
-     'hello world' includes:$x
-     'hello world' includes:1
-     'hello world' asTwoByteString includes:$o
-     #[0 0 1 0 0] asString includes:(Character value:1)
-     #[0 0 1 0 0] asString includes:(Character value:0)
-     #[1 2 3 4 5] asString includes:(Character value:0)
+     'hello world' identityIndexOf:(Character space)
+     'hello world' identityIndexOf:$d
+     'hello world' identityIndexOf:1
+     #[0 0 1 0 0] asString identityIndexOf:(Character value:1)
+     #[0 0 1 0 0] asString identityIndexOf:(Character value:0)
     "
+
+    "Created: / 10-01-2012 / 17:10:54 / cg"
 !
 
 includesAny:aCollection
@@ -881,65 +807,16 @@
     "
 !
 
-indexOf:aCharacter
-    "return the index of the first occurrences of the argument, aCharacter
-     in the receiver or 0 if not found - reimplemented here for speed."
-
-%{  /* NOCONTEXT */
-
-    REGISTER unsigned char *cp;
-    REGISTER unsigned byteValue;
-#ifdef FAST_MEMCHR
-    REGISTER unsigned char *ncp;
-#else
-    REGISTER INT index;
-#endif
-    REGISTER int last;
-    OBJ cls;
-
-    if (__isCharacter(aCharacter)) {
-	byteValue = __intVal(__characterVal(aCharacter));
-	if (byteValue <= 0xFF) {
-	    cp = __stringVal(self);
-	    last = __stringSize(self);
-	    if ((cls = __qClass(self)) != String) {
-		int numInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-
-		cp += numInstBytes;
-		last -= numInstBytes;
-	    }
-
-#ifdef FAST_MEMCHR
-	    ncp = (unsigned char *) memchr(cp, byteValue, last);
-	    if (ncp) {
-		RETURN ( __mkSmallInteger(ncp - cp + 1) );
-	    }
-#else
-	    for (index=0; index < last; index++) {
-		if (cp[index] == byteValue) { RETURN ( __mkSmallInteger(index+1) ); }
-	    }
-#endif
-	}
-	RETURN ( __mkSmallInteger(0));
-    }
-%}.
-    ^ super indexOf:aCharacter
-
-    "
-     'hello world' indexOf:(Character space)
-     'hello world' indexOf:$A
-     'hello world' indexOf:$d
-     #[0 0 1 0 0] asString indexOf:(Character value:1)
-     #[0 0 1 0 0] asString indexOf:(Character value:0)
-    "
-!
-
 indexOf:aCharacter startingAt:start
     "return the index of the first occurrence of the argument, aCharacter
      in myself starting at start, anInteger or 0 if not found;
      - reimplemented here for speed"
 
 %{  /* NOCONTEXT */
+#undef __UNROLL_LOOPS__
+#undef FAST_MEMCHR
+#define V2
+
     REGISTER unsigned char *cp;
 #ifdef FAST_MEMCHR
     REGISTER unsigned char *ncp;
@@ -950,57 +827,189 @@
     OBJ cls;
 
     if (__isSmallInteger(start)) {
-	index = __intVal(start);
-	if (index > 0) {
-	    if (__isCharacter(aCharacter)) {
-		byteValue = __intVal(_characterVal(aCharacter));
-		if (byteValue <= 0xFF) {
-		    last = __stringSize(self);
-		    cp = __stringVal(self);
-		    if ((cls = __qClass(self)) != String) {
-			int numInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-
-			cp += numInstBytes;
-			last += numInstBytes;
-		    }
-		    if (index <= last) {
-#ifdef FAST_MEMCHR
-			ncp = (unsigned char *) memchr(cp+index-1, byteValue, last+1-index);
-			if (ncp) {
-			    RETURN ( __mkSmallInteger(ncp - cp + 1) );
-			}
+        index = __intVal(start);
+        if (index > 0) {
+            if (__isCharacter(aCharacter)) {
+                byteValue = __intVal(_characterVal(aCharacter));
+                if (byteValue <= 0xFF) {
+                    last = __stringSize(self);
+                    cp = __stringVal(self);
+                    if ((cls = __qClass(self)) != String) {
+                        int numInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
+
+                        cp += numInstBytes;
+                        last += numInstBytes;
+                    }
+                    if (index <= last) {
+#ifdef FAST_MEMCHR    
+                        ncp = (unsigned char *) memchr(cp+index-1, byteValue, last+1-index);
+                        if (ncp) {
+                            RETURN ( __mkSmallInteger(ncp - cp + 1) );
+                        }
 #else
 # ifdef __UNROLL_LOOPS__
-			for (; (index+3) <= last; index += 4) {
-			    if (cp[index-1] == byteValue) { RETURN ( __mkSmallInteger(index) ); }
-			    if (cp[index-1+1] == byteValue) { RETURN ( __mkSmallInteger(index+1) ); }
-			    if (cp[index-1+2] == byteValue) { RETURN ( __mkSmallInteger(index+2) ); }
-			    if (cp[index-1+3] == byteValue) { RETURN ( __mkSmallInteger(index+3) ); }
-			}
+                        {
+                            int last3 = last-3;
+
+                            for (; index <= last3; index += 4) {
+                                if (cp[index-1] == byteValue) { RETURN ( __mkSmallInteger(index) ); }
+                                if (cp[index-1+1] == byteValue) { RETURN ( __mkSmallInteger(index+1) ); }
+                                if (cp[index-1+2] == byteValue) { RETURN ( __mkSmallInteger(index+2) ); }
+                                if (cp[index-1+3] == byteValue) { RETURN ( __mkSmallInteger(index+3) ); }
+                            }
+                        }
+# endif
+# ifdef V1
+                        for (; index <= last; index++) {
+                            if (cp[index-1] == byteValue) {
+                                RETURN ( __mkSmallInteger(index) );
+                            }
+                        }
 # endif
-			for (; index <= last; index++) {
-			    if (cp[index-1] == byteValue) {
-				RETURN ( __mkSmallInteger(index) );
-			    }
-			}
+# ifdef V2
+                        {
+                            // see bit twiddling hacks
+#                           define hasZeroByte(v) (((v) - 0x01010101UL) & ~(v) & 0x80808080UL)
+#                           define hasByteM(v,m)   hasZeroByte( (v) ^ m)
+
+                            // the following loop checks four bytes at once
+                            if (((index-1) & 0x3) == 0) {
+                                int last4 = last-4;
+                                int m = (~0UL/255 * (byteValue));
+
+                                while (index <= last4) {
+                                    unsigned int v = *(unsigned int *)(cp+index-1);
+
+                                    if (hasByteM(v,m)) break;
+                                    index += 4;
+                                }
+                            }
+                            while (index <= last) {
+                                if (cp[index-1] == byteValue) {
+                                    RETURN ( __mkSmallInteger(index) );
+                                }
+                                index++;
+                            }
+                        }
+# endif
 #endif
-		    }
-		}
-	    }
-	    RETURN ( __mkSmallInteger(0) );
-	}
+                    }
+                }
+            }
+            RETURN ( __mkSmallInteger(0) );
+        }
     }
+#undef V2
 %}.
     ^ super indexOf:aCharacter startingAt:start
 
     "
-     'hello world' indexOf:$0 startingAt:1
-     'hello world' indexOf:$l startingAt:1
-     'hello world' indexOf:$l startingAt:5
-     'hello world' indexOf:$d startingAt:5
-     #[0 0 1 0 0] asString indexOf:(Character value:1) startingAt:1
+     'hello world' indexOf:$0 startingAt:1   
+     'hello world' indexOf:$l startingAt:1   
+     'hello world' indexOf:$l startingAt:5   
+     'hello world' indexOf:$d startingAt:5   
+     #[0 0 1 0 0] asString indexOf:(Character value:1) startingAt:1  
      #[0 0 1 0 0] asString indexOf:(Character value:0) startingAt:3
+
+     '1234567890123456a' indexOf:$a      
+     '1234567890123456a' indexOf:$b      
+
+     |s|
+     s := '12345678901234b'.
+     self assert:(s indexOf:$x) == 0.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 4.
+     self assert:(s indexOf:$5) == 5.
+     self assert:(s indexOf:$0) == 10.
+     self assert:(s indexOf:$b) == 15.   
+
+     |s|
+     s := ''.
+     self assert:(s indexOf:$1) == 0.
+     s := '1'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 0.
+     s := '12'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 0.
+     s := '123'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 0.
+     s := '1234'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 4.
+     self assert:(s indexOf:$5) == 0.
+     s := '12345'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 4.
+     self assert:(s indexOf:$5) == 5.
+     self assert:(s indexOf:$6) == 0.
+     s := '123456'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 4.
+     self assert:(s indexOf:$5) == 5.
+     self assert:(s indexOf:$6) == 6.
+     self assert:(s indexOf:$7) == 0.
+     s := '1234567'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 4.
+     self assert:(s indexOf:$5) == 5.
+     self assert:(s indexOf:$6) == 6.
+     self assert:(s indexOf:$7) == 7.
+     self assert:(s indexOf:$8) == 0.
+     s := '12345678'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 4.
+     self assert:(s indexOf:$5) == 5.
+     self assert:(s indexOf:$6) == 6.
+     self assert:(s indexOf:$7) == 7.
+     self assert:(s indexOf:$8) == 8.
+     self assert:(s indexOf:$9) == 0.
+     s := '123456789'.
+     self assert:(s indexOf:$1) == 1.
+     self assert:(s indexOf:$2) == 2.
+     self assert:(s indexOf:$3) == 3.
+     self assert:(s indexOf:$4) == 4.
+     self assert:(s indexOf:$5) == 5.
+     self assert:(s indexOf:$6) == 6.
+     self assert:(s indexOf:$7) == 7.
+     self assert:(s indexOf:$8) == 8.
+     self assert:(s indexOf:$9) == 9.
+
+     self assert:(s indexOf:$0) == 0.
+     self assert:(s indexOf:$b) == 0.   
+
+     |s|
+     s := String new:1024.
+     s atAllPut:$a.
+     s at:512 put:(Character space).
+     Time millisecondsToRun:[
+        1000000 timesRepeat:[ s indexOf:(Character space) ]
+     ]         
+
+     timing (ms):
+        v1: 1763 normal   
+            2340 +unroll   
+            3308 memsrch !!
+        v2: 1045
     "
+
+    "Modified: / 10-01-2012 / 17:09:34 / cg"
 !
 
 indexOfAny:aCollectionOfCharacters startingAt:start
@@ -3768,15 +3777,16 @@
 !String class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.276 2011/12/26 13:18:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.280 2012/01/10 16:11:13 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/String.st,v 1.276 2011/12/26 13:18:56 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/String.st,v 1.280 2012/01/10 16:11:13 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: String.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: String.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
+
--- a/StringCollection.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/StringCollection.st	Thu Jan 19 10:06:02 2012 +0000
@@ -385,6 +385,7 @@
 !
 
 version_SVN
-    ^ '$Id: StringCollection.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: StringCollection.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SubclassResponsibilityError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SubclassResponsibilityError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -69,8 +69,9 @@
 !
 
 version_SVN
-    ^ '$Id: SubclassResponsibilityError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SubclassResponsibilityError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 SubclassResponsibilityError initialize!
 
+
--- a/SubscriptOutOfBoundsError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SubscriptOutOfBoundsError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -48,6 +48,7 @@
 !
 
 version_SVN
-    ^ '$Id: SubscriptOutOfBoundsError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: SubscriptOutOfBoundsError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/SystemNotification.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/SystemNotification.st	Thu Jan 19 10:06:02 2012 +0000
@@ -40,3 +40,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/SystemNotification.st,v 1.3 2008/10/04 08:42:18 cg Exp $'
 ! !
 
+
--- a/TerminateProcessRequest.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/TerminateProcessRequest.st	Thu Jan 19 10:06:02 2012 +0000
@@ -72,6 +72,7 @@
 !
 
 version_SVN
-    ^ '$Id: TerminateProcessRequest.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: TerminateProcessRequest.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/TextCollectorStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/TextCollectorStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -198,3 +198,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/TextCollectorStream.st,v 1.2 2006/04/06 10:54:06 stefan Exp $'
 ! !
 
+
--- a/Time.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Time.st	Thu Jan 19 10:06:02 2012 +0000
@@ -817,6 +817,7 @@
 !
 
 version_SVN
-    ^ '$Id: Time.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Time.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/TimeConversionError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/TimeConversionError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: TimeConversionError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: TimeConversionError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 TimeConversionError initialize!
 
+
--- a/TimeoutError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/TimeoutError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -70,8 +70,9 @@
 !
 
 version_SVN
-    ^ '$Id: TimeoutError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: TimeoutError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 TimeoutError initialize!
 
+
--- a/Timestamp.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Timestamp.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2711,8 +2711,9 @@
 !
 
 version_SVN
-    ^ '$Id: Timestamp.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Timestamp.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Timestamp initialize!
 
+
--- a/True.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/True.st	Thu Jan 19 10:06:02 2012 +0000
@@ -250,6 +250,7 @@
 !
 
 version_SVN
-    ^ '$Id: True.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: True.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/TwoByteString.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/TwoByteString.st	Thu Jan 19 10:06:02 2012 +0000
@@ -115,8 +115,9 @@
 !
 
 version_SVN
-    ^ '$Id: TwoByteString.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: TwoByteString.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 TwoByteString initialize!
 
+
--- a/UnboundedExternalStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnboundedExternalStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -70,3 +70,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/UnboundedExternalStream.st,v 1.8 1996/04/25 17:02:20 cg Exp $'
 ! !
 
+
--- a/UndefinedObject.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UndefinedObject.st	Thu Jan 19 10:06:02 2012 +0000
@@ -701,8 +701,9 @@
 !
 
 version_SVN
-    ^ '$Id: UndefinedObject.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UndefinedObject.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 UndefinedObject initialize!
 
+
--- a/UnderflowError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnderflowError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: UnderflowError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnderflowError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 UnderflowError initialize!
 
+
--- a/Unicode16String.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Unicode16String.st	Thu Jan 19 10:06:02 2012 +0000
@@ -157,8 +157,9 @@
 !
 
 version_SVN
-    ^ '$Id: Unicode16String.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Unicode16String.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Unicode16String initialize!
 
+
--- a/UnimplementedFunctionalityError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnimplementedFunctionalityError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -66,8 +66,9 @@
 !
 
 version_SVN
-    ^ '$Id: UnimplementedFunctionalityError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnimplementedFunctionalityError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 UnimplementedFunctionalityError initialize!
 
+
--- a/UninterpretedBytes.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UninterpretedBytes.st	Thu Jan 19 10:06:02 2012 +0000
@@ -2687,6 +2687,27 @@
     "Modified: / 27.7.1998 / 16:58:38 / cg"
 !
 
+replaceBytesWith:replacementCollection
+    "replace elements from another collection, which must be byte-array-like.
+     Replace stops at whichever collection is smaller.
+
+     Notice: This operation modifies the receiver, NOT a copy;
+     therefore the change may affect all others referencing the receiver."
+
+    ^ self
+        replaceBytesFrom:1
+        to:(replacementCollection size min:self size)
+        with:replacementCollection
+        startingAt:1
+
+    "
+     (ByteArray new:10) replaceBytesWith:'hello'    
+     (ByteArray new:10) replaceBytesWith:'hello world bla bla bla'    
+    "
+
+    "Created: / 09-01-2012 / 16:18:10 / cg"
+!
+
 replaceFrom:startIndex to:stopIndex with:aCollection startingAt:repStartIndex
     "replace elements in the receiver between index start and stop,
      with elements  taken from replacementCollection starting at repStart.
@@ -2911,14 +2932,15 @@
 !UninterpretedBytes class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/UninterpretedBytes.st,v 1.80 2011/09/26 09:58:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/UninterpretedBytes.st,v 1.81 2012/01/09 15:19:32 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/UninterpretedBytes.st,v 1.80 2011/09/26 09:58:22 cg Exp §'
+    ^ 'Header: /cvs/stx/stx/libbasic/UninterpretedBytes.st,v 1.81 2012/01/09 15:19:32 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: UninterpretedBytes.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UninterpretedBytes.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UnixFileDescriptorHandle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnixFileDescriptorHandle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -289,6 +289,7 @@
 !
 
 version_SVN
-    ^ '$Id: UnixFileDescriptorHandle.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnixFileDescriptorHandle.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UnixFileHandle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnixFileHandle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -63,6 +63,7 @@
 !
 
 version_SVN
-    ^ '$Id: UnixFileHandle.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnixFileHandle.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UnixFilename.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnixFilename.st	Thu Jan 19 10:06:02 2012 +0000
@@ -215,6 +215,7 @@
 !
 
 version_SVN
-    ^ '$Id: UnixFilename.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnixFilename.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UnixOperatingSystem.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnixOperatingSystem.st	Thu Jan 19 10:06:02 2012 +0000
@@ -13312,9 +13312,10 @@
 !
 
 version_SVN
-    ^ '$Id: UnixOperatingSystem.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnixOperatingSystem.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 UnixOperatingSystem initialize!
 UnixOperatingSystem::FileDescriptorHandle initialize!
 
+
--- a/UnorderedNumbersError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnorderedNumbersError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -47,8 +47,9 @@
 !
 
 version_SVN
-    ^ '$Id: UnorderedNumbersError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnorderedNumbersError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 UnorderedNumbersError initialize!
 
+
--- a/UnprotectedExternalBytes.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UnprotectedExternalBytes.st	Thu Jan 19 10:06:02 2012 +0000
@@ -72,6 +72,7 @@
 !
 
 version_SVN
-    ^ '$Id: UnprotectedExternalBytes.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UnprotectedExternalBytes.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UserConfirmation.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UserConfirmation.st	Thu Jan 19 10:06:02 2012 +0000
@@ -157,6 +157,7 @@
 !
 
 version_SVN
-    ^ '$Id: UserConfirmation.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UserConfirmation.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UserInformation.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UserInformation.st	Thu Jan 19 10:06:02 2012 +0000
@@ -67,8 +67,9 @@
 !
 
 version_SVN
-    ^ '$Id: UserInformation.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UserInformation.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 UserInformation initialize!
 
+
--- a/UserInterrupt.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UserInterrupt.st	Thu Jan 19 10:06:02 2012 +0000
@@ -48,6 +48,7 @@
 !
 
 version_SVN
-    ^ '$Id: UserInterrupt.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UserInterrupt.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UserMessage.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UserMessage.st	Thu Jan 19 10:06:02 2012 +0000
@@ -371,6 +371,7 @@
 !
 
 version_SVN
-    ^ '$Id: UserMessage.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UserMessage.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/UserNotification.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UserNotification.st	Thu Jan 19 10:06:02 2012 +0000
@@ -151,8 +151,9 @@
 !
 
 version_SVN
-    ^ '$Id: UserNotification.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: UserNotification.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 UserNotification initialize!
 
+
--- a/UserPreferences.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/UserPreferences.st	Thu Jan 19 10:06:02 2012 +0000
@@ -589,6 +589,18 @@
 
 !UserPreferences methodsFor:'accessing'!
 
+at:key 
+    ^ super at:key asSymbol
+
+    "Created: / 15-01-2012 / 14:27:29 / cg"
+!
+
+at:key ifAbsent:exceptionValue
+    ^ super at:key asSymbol ifAbsent:exceptionValue
+
+    "Created: / 15-01-2012 / 14:27:21 / cg"
+!
+
 at:key put:value
     |classNameToCheck classToCheck|
 
@@ -629,13 +641,12 @@
         ]
     ].
 
-    ^ super at:key put:value
-
-    "Modified: / 02-11-2010 / 00:00:10 / cg"
+    ^ super at:key asSymbol put:value
+
+    "Modified: / 15-01-2012 / 14:26:53 / cg"
 ! !
 
 
-
 !UserPreferences methodsFor:'accessing-misc-communication'!
 
 dotNetBridgeRunsInIDE
@@ -770,7 +781,6 @@
     "Created: / 27-12-2011 / 14:42:29 / cg"
 ! !
 
-
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 changeSetBrowserClass
@@ -3496,7 +3506,7 @@
     ^ self at:#verboseBacktraceInDebugger put:aBoolean
 ! !
 
-!UserPreferences methodsFor:'accessing-source code management'!
+!UserPreferences methodsFor:'accessing-scm'!
 
 showBadRevisionStringDialogs
     "show a dialog when a bad revision string is encountered, or silently fix it"
@@ -3514,9 +3524,7 @@
     "Created: / 19-08-2011 / 12:51:58 / cg"
 ! !
 
-
-
-!UserPreferences methodsFor:'default settings - syntax colors'!
+!UserPreferences methodsFor:'default settings-syntax colors'!
 
 listOfPredefinedSyntaxColoringSchemes
     "return a list of pre-defined syntax highlightning styles
@@ -3736,14 +3744,15 @@
 !UserPreferences class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/UserPreferences.st,v 1.292 2011/12/27 13:42:42 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/UserPreferences.st,v 1.295 2012/01/18 09:59:52 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/UserPreferences.st,v 1.292 2011/12/27 13:42:42 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/UserPreferences.st,v 1.295 2012/01/18 09:59:52 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: UserPreferences.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: UserPreferences.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/VMInternalError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/VMInternalError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -61,8 +61,9 @@
 !
 
 version_SVN
-    ^ '$Id: VMInternalError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: VMInternalError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 VMInternalError initialize!
 
+
--- a/VarArgBlock.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/VarArgBlock.st	Thu Jan 19 10:06:02 2012 +0000
@@ -241,8 +241,9 @@
 !
 
 version_SVN
-    ^ '$Id: VarArgBlock.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: VarArgBlock.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 VarArgBlock initialize!
 
+
--- a/VarArgCheapBlock.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/VarArgCheapBlock.st	Thu Jan 19 10:06:02 2012 +0000
@@ -204,8 +204,9 @@
 !
 
 version_SVN
-    ^ '$Id: VarArgCheapBlock.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: VarArgCheapBlock.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 VarArgCheapBlock initialize!
 
+
--- a/Visitor.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Visitor.st	Thu Jan 19 10:06:02 2012 +0000
@@ -270,6 +270,7 @@
 !
 
 version_SVN
-    ^ '$Id: Visitor.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Visitor.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Warning.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Warning.st	Thu Jan 19 10:06:02 2012 +0000
@@ -163,8 +163,9 @@
 !
 
 version_SVN
-    ^ '$Id: Warning.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Warning.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 Warning initialize!
 
+
--- a/WeakArray.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WeakArray.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1028,8 +1028,9 @@
 !
 
 version_SVN
-    ^ '$Id: WeakArray.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WeakArray.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 WeakArray initialize!
 
+
--- a/WeakDependencyDictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WeakDependencyDictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -169,6 +169,7 @@
 !
 
 version_SVN
-    ^ '$Id: WeakDependencyDictionary.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WeakDependencyDictionary.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WeakIdentityDictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WeakIdentityDictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -413,6 +413,7 @@
 !
 
 version_SVN
-    ^ '$Id: WeakIdentityDictionary.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WeakIdentityDictionary.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WeakIdentitySet.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WeakIdentitySet.st	Thu Jan 19 10:06:02 2012 +0000
@@ -300,6 +300,7 @@
 !
 
 version_SVN
-    ^ '$Id: WeakIdentitySet.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WeakIdentitySet.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WeakInterestConverter.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WeakInterestConverter.st	Thu Jan 19 10:06:02 2012 +0000
@@ -124,6 +124,7 @@
 !
 
 version_SVN
-    ^ '$Id: WeakInterestConverter.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WeakInterestConverter.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WeakValueDictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WeakValueDictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -267,6 +267,7 @@
 !
 
 version_SVN
-    ^ '$Id: WeakValueDictionary.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WeakValueDictionary.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WeakValueIdentityDictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WeakValueIdentityDictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -254,3 +254,4 @@
     ^ '$Header: /cvs/stx/stx/libbasic/WeakValueIdentityDictionary.st,v 1.4 2006/03/06 10:04:38 cg Exp $'
 ! !
 
+
--- a/Win32FILEHandle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Win32FILEHandle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -75,6 +75,7 @@
 !
 
 version_SVN
-    ^ '$Id: Win32FILEHandle.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Win32FILEHandle.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Win32Handle.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Win32Handle.st	Thu Jan 19 10:06:02 2012 +0000
@@ -218,6 +218,7 @@
 !
 
 version_SVN
-    ^ '$Id: Win32Handle.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Win32Handle.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/Win32OperatingSystem.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Win32OperatingSystem.st	Thu Jan 19 10:06:02 2012 +0000
@@ -16427,7 +16427,7 @@
 !
 
 version_SVN
-    ^ '$Id: Win32OperatingSystem.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Win32OperatingSystem.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 
 ! !
 
@@ -16438,3 +16438,4 @@
 
 
 
+
--- a/Win32Process.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/Win32Process.st	Thu Jan 19 10:06:02 2012 +0000
@@ -225,6 +225,7 @@
 !
 
 version_SVN
-    ^ '$Id: Win32Process.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: Win32Process.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WriteError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WriteError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -41,6 +41,7 @@
 !
 
 version_SVN
-    ^ '$Id: WriteError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WriteError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WriteStream.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WriteStream.st	Thu Jan 19 10:06:02 2012 +0000
@@ -638,6 +638,7 @@
 !
 
 version_SVN
-    ^ '$Id: WriteStream.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WriteStream.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/WrongNumberOfArgumentsError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WrongNumberOfArgumentsError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -59,8 +59,9 @@
 !
 
 version_SVN
-    ^ '$Id: WrongNumberOfArgumentsError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WrongNumberOfArgumentsError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 WrongNumberOfArgumentsError initialize!
 
+
--- a/WrongProceedabilityError.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/WrongProceedabilityError.st	Thu Jan 19 10:06:02 2012 +0000
@@ -68,8 +68,9 @@
 !
 
 version_SVN
-    ^ '$Id: WrongProceedabilityError.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: WrongProceedabilityError.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 WrongProceedabilityError initialize!
 
+
--- a/YesToAllConfirmation.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/YesToAllConfirmation.st	Thu Jan 19 10:06:02 2012 +0000
@@ -109,6 +109,7 @@
 !
 
 version_SVN
-    ^ '$Id: YesToAllConfirmation.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: YesToAllConfirmation.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
+
--- a/ZeroDivide.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/ZeroDivide.st	Thu Jan 19 10:06:02 2012 +0000
@@ -98,8 +98,9 @@
 !
 
 version_SVN
-    ^ '$Id: ZeroDivide.st 10729 2011-10-31 22:19:21Z vranyj1 $'
+    ^ '$Id: ZeroDivide.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 ZeroDivide initialize!
 
+
--- a/not_delivered/SystemDictionary.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/not_delivered/SystemDictionary.st	Thu Jan 19 10:06:02 2012 +0000
@@ -316,3 +316,4 @@
 ! !
 
 
+
--- a/not_delivered/VMBehavior.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/not_delivered/VMBehavior.st	Thu Jan 19 10:06:02 2012 +0000
@@ -610,3 +610,4 @@
 VMBehavior initialize!
 
 
+
--- a/stx_libbasic.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/stx_libbasic.st	Thu Jan 19 10:06:02 2012 +0000
@@ -554,7 +554,7 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"       '10752M'"$"
+    ^ "$SVN-Revision:"       '10757M'"$"
 ! !
 
 !stx_libbasic class methodsFor:'private-prerequisites'!
@@ -580,7 +580,8 @@
 !
 
 version_SVN
-    ^ '$Id: stx_libbasic.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: stx_libbasic.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 
+