Merged with /trunk jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 20 Dec 2010 07:13:27 +0000
branchjv
changeset 17814 b75a7f0c346b
parent 17813 8012b3ceb14b
child 17815 956b46750806
Merged with /trunk
AbstractOperatingSystem.st
AbstractSourceFileReader.st
AbstractSourceFileWriter.st
AbstractTime.st
ApplicationDefinition.st
ArithmeticValue.st
Array.st
Association.st
Autoload.st
AutoloadMetaclass.st
Bag.st
Behavior.st
Block.st
Boolean.st
ByteArray.st
CharacterArray.st
CharacterEncoder.st
CharacterEncoderImplementations__EBCDIC.st
CharacterEncoderImplementations__ISO10646_to_UTF16BE.st
CharacterEncoderImplementations__JIS0208_to_SJIS.st
CharacterEncoderImplementations__SingleByteEncoder.st
CharacterEncoderImplementations__TwoByteEncoder.st
CharacterWriteStream.st
Class.st
ClassBuildError.st
ClassBuilder.st
ClassDescription.st
Collection.st
CompiledCode.st
Context.st
Date.st
Delay.st
Dictionary.st
DirectoryStream.st
EncodedStream.st
Error.st
ExecutableFunction.st
ExternalAddress.st
ExternalBytes.st
ExternalFunction.st
ExternalFunctionCallback.st
ExternalLibrary.st
ExternalLibraryFunction.st
ExternalStream.st
FileDirectory.st
FileStream.st
Filename.st
FixedPoint.st
Float.st
FloatArray.st
GenericException.st
HashStream.st
ImmutableArray.st
ImmutableByteArray.st
ImmutableString.st
Infinity.st
InlineObjectClassDescription.st
Integer.st
Interval.st
KeyedCollection.st
LargeInteger.st
LibraryDefinition.st
LimitedPrecisionReal.st
LinkedList.st
LongFloat.st
MD5Stream.st
MessageNotUnderstood.st
MessageSend.st
Metaclass.st
Method.st
MiniDebugger.st
NameSpace.st
NoHandlerError.st
NoModificationError.st
NonPositionableExternalStream.st
Notification.st
Number.st
OSErrorHolder.st
OSProcess.st
Object.st
ObjectMemory.st
PCFilename.st
PackageId.st
PeekableStream.st
PipeStream.st
PluginSupport.st
ProceedableError.st
Process.st
ProcessorScheduler.st
ProgrammingLanguage.st
Project.st
ProjectDefinition.st
ProtoObject.st
PrototypeLookupAlgorithm.st
Query.st
QuerySignal.st
ReadEvalPrintLoop.st
ReadStream.st
Rectangle.st
RecursionLock.st
Registry.st
SHA1Stream.st
SameForAllNotification.st
Semaphore.st
SemaphoreSet.st
SequenceableCollection.st
Set.st
SharedPool.st
ShortFloat.st
Signal.st
SignalSet.st
SmallInteger.st
Smalltalk.st
SmalltalkChunkFileSourceReader.st
SmalltalkChunkFileSourceWriter.st
SmalltalkLanguage.st
StandaloneStartup.st
Stream.st
StreamError.st
String.st
Symbol.st
SystemChangeNotifier.st
Time.st
TimeoutNotification.st
Timestamp.st
UndefinedObject.st
UninterpretedBytes.st
UnixFilename.st
UnixOperatingSystem.st
UserMessage.st
UserNotification.st
UserPreferences.st
Warning.st
WeakArray.st
Win32Constants.st
Win32OperatingSystem.st
Win32Process.st
WriteStream.st
YesToAllConfirmation.st
bc.mak
libInit.cc
resources/af.rs
resources/de.rs
resources/el.rs
resources/en.rs
resources/eo.rs
resources/fr.rs
resources/hu.rs
resources/it.rs
resources/ja.rs
resources/nl.rs
resources/no.rs
resources/pt.rs
resources/resources.rs
resources/ro.rs
resources/ru.rs
resources/sv.rs
resources/tr.rs
resources/zh.rs
resources/zh_trad.rs
stx_libbasic.st
vms.mak
--- a/AbstractOperatingSystem.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/AbstractOperatingSystem.st	Mon Dec 20 07:13:27 2010 +0000
@@ -12,37 +12,37 @@
 "{ Package: 'stx:libbasic' }"
 
 Object subclass:#AbstractOperatingSystem
-        instanceVariableNames:''
-        classVariableNames:'ConcreteClass LastErrorNumber LocaleInfo OSSignals PipeFailed
-                ErrorSignal AccessDeniedErrorSignal FileNotFoundErrorSignal
-                InvalidArgumentsSignal UnsupportedOperationSignal Resources'
-        poolDictionaries:''
-        category:'System-Support'
+	instanceVariableNames:''
+	classVariableNames:'ConcreteClass LastErrorNumber LocaleInfo OSSignals PipeFailed
+		ErrorSignal AccessDeniedErrorSignal FileNotFoundErrorSignal
+		InvalidArgumentsSignal UnsupportedOperationSignal Resources'
+	poolDictionaries:''
+	category:'System-Support'
 !
 
 Object subclass:#PrinterInfo
-        instanceVariableNames:'printerName attributes documentProperties printerInfo2'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:AbstractOperatingSystem
+	instanceVariableNames:'printerName attributes documentProperties printerInfo2'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:AbstractOperatingSystem
 !
 
 Object subclass:#TimeInfo
-        instanceVariableNames:'year month day hours minutes seconds utcOffset dst milliseconds
-                dayInYear dayInWeek'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:AbstractOperatingSystem
+	instanceVariableNames:'year month day hours minutes seconds utcOffset dst milliseconds
+		dayInYear dayInWeek'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:AbstractOperatingSystem
 !
 
 Object subclass:#TimeZoneInfo
-        instanceVariableNames:'bias name standardYear standardMonth standardDay standardWeekDay
-                standardHour standardMinute standardBias daylightName
-                standardDate daylightDate daylightYear daylightMonth daylightDay
-                daylightWeekDay daylightHour daylightMinute daylightBias'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:AbstractOperatingSystem
+	instanceVariableNames:'bias name standardYear standardMonth standardDay standardWeekDay
+		standardHour standardMinute standardBias daylightName
+		standardDate daylightDate daylightYear daylightMonth daylightDay
+		daylightWeekDay daylightHour daylightMinute daylightBias'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:AbstractOperatingSystem
 !
 
 !AbstractOperatingSystem primitiveDefinitions!
@@ -4111,6 +4111,11 @@
         ].
     ].
 
+    "maybe the sources are kept in a central place..."
+    (appDir / 'source') isDirectory ifTrue:[
+        packagePath add:(appDir / 'source') pathName.
+    ].
+
     "maybe we are running in the build environment:  XXX/stx    /projects /smalltalk
                                                 or:  XXX/exept  /expecco  /application
      - if XXX/stx/libbasic exists, add XXX to the package path"
@@ -4153,12 +4158,20 @@
 
     "/
     "/ the executable's directory
+    "/    and the executables parent directory (if it is an installed version)
     "/
     appPath := self pathOfSTXExecutable.
     appPath notNil ifTrue:[
-        appDir := appPath asFilename directory pathName.
-        (sysPath includes:appDir) ifFalse:[
-            sysPath add:appDir.
+        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.
+            ].
         ].
     ].
 
@@ -6982,15 +6995,15 @@
 !AbstractOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AbstractOperatingSystem.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractOperatingSystem.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.203 2010-10-29 17:00:02 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.206 2010/12/01 19:52:36 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: AbstractOperatingSystem.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractOperatingSystem.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 AbstractOperatingSystem initialize!
@@ -6999,3 +7012,4 @@
 
 
 
+
--- a/AbstractSourceFileReader.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/AbstractSourceFileReader.st	Mon Dec 20 07:13:27 2010 +0000
@@ -73,18 +73,19 @@
 !AbstractSourceFileReader class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AbstractSourceFileReader.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractSourceFileReader.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/AbstractSourceFileReader.st,v 1.5 2010-08-08 12:38:42 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/AbstractSourceFileReader.st,v 1.5 2010/08/08 12:38:42 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: AbstractSourceFileReader.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractSourceFileReader.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/AbstractSourceFileWriter.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/AbstractSourceFileWriter.st	Mon Dec 20 07:13:27 2010 +0000
@@ -188,17 +188,18 @@
 !AbstractSourceFileWriter class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AbstractSourceFileWriter.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractSourceFileWriter.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/AbstractSourceFileWriter.st,v 1.6 2009-10-08 12:03:57 fm Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/AbstractSourceFileWriter.st,v 1.6 2009/10/08 12:03:57 fm Exp §'
 !
 
 version_SVN
-    ^ '$Id: AbstractSourceFileWriter.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractSourceFileWriter.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/AbstractTime.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/AbstractTime.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1289,18 +1289,19 @@
 !AbstractTime class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AbstractTime.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractTime.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.71 2010-09-29 09:15:08 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.71 2010/09/29 09:15:08 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: AbstractTime.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AbstractTime.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/ApplicationDefinition.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ApplicationDefinition.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2272,9 +2272,12 @@
 #
 # This file is (currently) only used with win-95 / win-NT versions of STX.
 # It lists the dll''s which are to be loaded at startup time.
+# Notice, lines starting with a "#" are comments.
+# Lines starting with a "*" are treated as comments by the VM, but are usually loaded
+# by the application at the very beginning.
 #
 # All classes loaded at startup time will be present as precompiled classes.
-# Others will be autoloaded.
+# Others might be autoloaded.
 #
 %(ALLPREREQUISITE_LIBS)
 %(SUBPROJECT_LIBS)
@@ -2283,7 +2286,7 @@
     "Created: / 08-08-2006 / 12:26:58 / fm"
     "Modified: / 08-08-2006 / 19:32:27 / fm"
     "Modified: / 16-08-2006 / 17:56:58 / User"
-    "Modified: / 17-08-2006 / 20:35:38 / cg"
+    "Modified: / 09-11-2010 / 11:57:39 / cg"
 !
 
 packageName_dot_nsi
@@ -2702,13 +2705,14 @@
 !ApplicationDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ApplicationDefinition.st 10595 2010-11-18 11:05:56Z vranyj1 $'
+    ^ '$Id: ApplicationDefinition.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.162 2010-08-05 12:05:04 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.163 2010/11/09 10:57:46 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ApplicationDefinition.st 10595 2010-11-18 11:05:56Z vranyj1 $'
+    ^ '$Id: ApplicationDefinition.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
+
--- a/ArithmeticValue.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ArithmeticValue.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1333,15 +1333,15 @@
 !ArithmeticValue class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ArithmeticValue.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ArithmeticValue.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.87 2010-08-09 17:52:46 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.87 2010/08/09 17:52:46 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ArithmeticValue.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ArithmeticValue.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ArithmeticValue initialize!
@@ -1351,3 +1351,4 @@
 
 
 
+
--- a/Array.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Array.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2527,17 +2527,18 @@
 !Array class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Array.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Array.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Array.st,v 1.149 2010-09-21 06:57:51 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Array.st,v 1.149 2010/09/21 06:57:51 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Array.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Array.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Association.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Association.st	Mon Dec 20 07:13:27 2010 +0000
@@ -173,17 +173,18 @@
 !Association class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Association.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Association.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Association.st,v 1.23 2009-10-06 15:16:10 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Association.st,v 1.23 2009/10/06 15:16:10 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Association.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Association.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Autoload.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Autoload.st	Mon Dec 20 07:13:27 2010 +0000
@@ -763,15 +763,15 @@
 !Autoload class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Autoload.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Autoload.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.157 2010-03-13 11:36:57 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.157 2010/03/13 11:36:57 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Autoload.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Autoload.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Autoload initialize!
@@ -779,3 +779,4 @@
 
 
 
+
--- a/AutoloadMetaclass.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/AutoloadMetaclass.st	Mon Dec 20 07:13:27 2010 +0000
@@ -101,17 +101,18 @@
 !AutoloadMetaclass class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AutoloadMetaclass.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AutoloadMetaclass.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/AutoloadMetaclass.st,v 1.8 2010-04-03 10:47:04 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/AutoloadMetaclass.st,v 1.8 2010/04/03 10:47:04 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: AutoloadMetaclass.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: AutoloadMetaclass.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Bag.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Bag.st	Mon Dec 20 07:13:27 2010 +0000
@@ -416,17 +416,18 @@
 !Bag class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Bag.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Bag.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Bag.st,v 1.41 2010-03-30 13:38:23 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Bag.st,v 1.41 2010/03/30 13:38:23 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Bag.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Bag.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Behavior.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Behavior.st	Mon Dec 20 07:13:27 2010 +0000
@@ -4709,14 +4709,15 @@
 !Behavior class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Behavior.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Behavior.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.305 2010-07-08 14:12:15 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.305 2010/07/08 14:12:15 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Behavior.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Behavior.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
+
--- a/Block.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Block.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2931,15 +2931,15 @@
 !Block class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Block.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Block.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Block.st,v 1.183 2010-09-05 16:08:19 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Block.st,v 1.183 2010/09/05 16:08:19 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Block.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Block.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Block initialize!
@@ -2951,3 +2951,4 @@
 
 
 
+
--- a/Boolean.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Boolean.st	Mon Dec 20 07:13:27 2010 +0000
@@ -112,6 +112,13 @@
 
 !Boolean methodsFor:'blocked'!
 
+addDependent:someOne
+    "/ not really an error ...
+    "/ self error:'should not be invoked for booleans'
+
+    "Created: / 17-11-2010 / 13:03:25 / cg"
+!
+
 onChangeSend:selector to:someOne
     "/ not really an error ...
     "/ self error:'should not be invoked for booleans'
@@ -222,17 +229,18 @@
 !Boolean class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Boolean.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Boolean.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Boolean.st,v 1.40 2010-01-21 11:48:59 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Boolean.st,v 1.41 2010/11/17 14:59:49 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Boolean.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Boolean.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/ByteArray.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ByteArray.st	Mon Dec 20 07:13:27 2010 +0000
@@ -3012,18 +3012,19 @@
 !ByteArray class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ByteArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ByteArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ByteArray.st,v 1.203 2010-09-21 06:58:04 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ByteArray.st,v 1.203 2010/09/21 06:58:04 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ByteArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ByteArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/CharacterArray.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterArray.st	Mon Dec 20 07:13:27 2010 +0000
@@ -4147,6 +4147,26 @@
     "Created: / 13-08-2010 / 17:09:05 / sr"
 !
 
+hasAnyRegexMatches: rxString ignoringCase:aBoolean
+    "return true, if any substrings in the receiver, matches the regular expression in rxString"
+
+    aBoolean ifTrue:[
+        ^ self hasAnyRegexMatchesIgnoringCase: rxString
+    ] ifFalse:[
+        ^ self hasAnyRegexMatches: rxString
+    ].
+
+    "
+     '1234 abcd 3456 defg' hasAnyRegexMatches:'[0-9]+'   
+     'abcd 3456 defg' hasAnyRegexMatches:'[0-9]+'        
+     'abcd xxax defg' hasAnyRegexMatches:'[0-9]+'        
+     'arith [arc]' hasAnyRegexMatches:'(ab)+'        
+     'arith [arc]' hasAnyRegexMatches:'(ab)*'        
+    "
+
+    "Created: / 13-12-2010 / 11:03:05 / cg"
+!
+
 hasAnyRegexMatchesIgnoringCase: rxString
     "return true, if any substrings in the receiver, matches the regular expression in rxString"
 
@@ -4162,6 +4182,26 @@
     "
 
     "Created: / 13-08-2010 / 17:11:11 / sr"
+!
+
+matchesRegex:regexString ignoringCase:aBoolean
+    "Test if the receiver matches a regex.
+     May raise RxParser>>regexErrorSignal or child signals.
+     This is a part of the Regular Expression Matcher package,
+        (c) 1996, 1999 Vassili Bykov.
+     Refer to `documentation' protocol of RxParser class for details."
+
+    aBoolean ifTrue:[
+        ^ self matchesRegexIgnoringCase:regexString
+    ] ifFalse:[
+        ^ self matchesRegex:regexString
+    ].
+
+    "
+     'hello world' matchesRegex:'h.*d'.
+    "
+
+    "Created: / 13-12-2010 / 11:01:49 / cg"
 ! !
 
 !CharacterArray methodsFor:'padded copying'!
@@ -4781,7 +4821,7 @@
                 ].
             ] ifFalse:[
                 next isDigit ifTrue:[
-                    v := argArrayOrDictionary at:(next digitValue) ifAbsent:nil
+                    v := argArrayOrDictionary at:(next digitValue) ifAbsent:''
                 ] ifFalse:[
                     next == $( ifTrue:[
                         idx2 := self indexOf:$) startingAt:idx+2.
@@ -4800,7 +4840,7 @@
                                     key isNumeric ifTrue:[
                                         key := Integer readFrom:key onError:nil.
                                     ].
-                                    v := argArrayOrDictionary at:key ifAbsent:nil
+                                    v := argArrayOrDictionary at:key ifAbsent:''
                                 ]
                             ].
                         ].
@@ -4820,13 +4860,13 @@
                         ].
                     ]
                 ].
-                v notNil ifTrue:[
+                "/ v notNil ifTrue:[
                     v isBlock ifTrue:[
                         v := v value
                     ].
 
                     v printOn:aStream.
-                ].
+                "/ ].
             ]
         ].
         start := idx + 2
@@ -4864,7 +4904,7 @@
      ].
     "
 
-    "Modified: / 12-08-2010 / 13:23:10 / cg"
+    "Modified: / 18-11-2010 / 15:43:28 / cg"
 !
 
 firstLine
@@ -5861,15 +5901,15 @@
 !CharacterArray class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CharacterArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.440 2010-09-21 06:58:24 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.445 2010/12/13 10:42:56 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: CharacterArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 CharacterArray initialize!
@@ -5882,3 +5922,4 @@
 
 
 
+
--- a/CharacterEncoder.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterEncoder.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1622,15 +1622,15 @@
 !CharacterEncoder class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CharacterEncoder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.108 2010-09-20 16:00:45 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.108 2010/09/20 16:00:45 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 CharacterEncoder initialize!
@@ -1638,3 +1638,4 @@
 
 
 
+
--- a/CharacterEncoderImplementations__EBCDIC.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterEncoderImplementations__EBCDIC.st	Mon Dec 20 07:13:27 2010 +0000
@@ -623,5 +623,6 @@
 !EBCDIC class methodsFor:'documentation'!
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__EBCDIC.st,v 1.1 2010-09-20 15:26:46 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__EBCDIC.st,v 1.1 2010/09/20 15:26:46 cg Exp §'
 ! !
+
--- a/CharacterEncoderImplementations__ISO10646_to_UTF16BE.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterEncoderImplementations__ISO10646_to_UTF16BE.st	Mon Dec 20 07:13:27 2010 +0000
@@ -264,17 +264,18 @@
 !ISO10646_to_UTF16BE class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF16BE.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF16BE.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_ISO10646_to_UTF16BE.st,v 1.3 2009-11-04 00:46:08 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_ISO10646_to_UTF16BE.st,v 1.3 2009/11/04 00:46:08 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF16BE.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__ISO10646_to_UTF16BE.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/CharacterEncoderImplementations__JIS0208_to_SJIS.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterEncoderImplementations__JIS0208_to_SJIS.st	Mon Dec 20 07:13:27 2010 +0000
@@ -339,14 +339,15 @@
 !JIS0208_to_SJIS class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CharacterEncoderImplementations__JIS0208_to_SJIS.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__JIS0208_to_SJIS.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_SJIS.st,v 1.12 2009-11-05 16:26:27 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_SJIS.st,v 1.12 2009/11/05 16:26:27 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__JIS0208_to_SJIS.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__JIS0208_to_SJIS.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
+
--- a/CharacterEncoderImplementations__SingleByteEncoder.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterEncoderImplementations__SingleByteEncoder.st	Mon Dec 20 07:13:27 2010 +0000
@@ -73,17 +73,18 @@
 !SingleByteEncoder class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CharacterEncoderImplementations__SingleByteEncoder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__SingleByteEncoder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_SingleByteEncoder.st,v 1.9 2009-12-11 16:54:15 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_SingleByteEncoder.st,v 1.9 2009/12/11 16:54:15 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__SingleByteEncoder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__SingleByteEncoder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/CharacterEncoderImplementations__TwoByteEncoder.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterEncoderImplementations__TwoByteEncoder.st	Mon Dec 20 07:13:27 2010 +0000
@@ -79,17 +79,18 @@
 !TwoByteEncoder class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CharacterEncoderImplementations__TwoByteEncoder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__TwoByteEncoder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_TwoByteEncoder.st,v 1.6 2009-11-04 00:47:35 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Encoder_TwoByteEncoder.st,v 1.6 2009/11/04 00:47:35 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: CharacterEncoderImplementations__TwoByteEncoder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterEncoderImplementations__TwoByteEncoder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/CharacterWriteStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CharacterWriteStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -240,17 +240,18 @@
 !CharacterWriteStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CharacterWriteStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterWriteStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/CharacterWriteStream.st,v 1.9 2009-10-05 09:20:25 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/CharacterWriteStream.st,v 1.9 2009/10/05 09:20:25 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: CharacterWriteStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: CharacterWriteStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Class.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Class.st	Mon Dec 20 07:13:27 2010 +0000
@@ -5095,14 +5095,15 @@
 !Class class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Class.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Class.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Class.st,v 1.575 2010-10-27 14:35:25 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Class.st,v 1.575 2010/10/27 14:35:25 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Class.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Class.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
+
--- a/ClassBuildError.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ClassBuildError.st	Mon Dec 20 07:13:27 2010 +0000
@@ -37,17 +37,18 @@
 !ClassBuildError class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ClassBuildError.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ClassBuildError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ClassBuildError.st,v 1.2 2009-09-29 19:32:30 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ClassBuildError.st,v 1.2 2009/09/29 19:32:30 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ClassBuildError.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ClassBuildError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/ClassBuilder.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ClassBuilder.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2217,15 +2217,15 @@
 !ClassBuilder class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ClassBuilder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ClassBuilder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.96 2010-10-22 11:54:47 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.96 2010/10/22 11:54:47 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ClassBuilder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ClassBuilder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
@@ -2233,3 +2233,4 @@
 
 
 
+
--- a/ClassDescription.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ClassDescription.st	Mon Dec 20 07:13:27 2010 +0000
@@ -4104,15 +4104,15 @@
 !ClassDescription class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ClassDescription.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ClassDescription.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.214 2010-04-19 16:46:03 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.214 2010/04/19 16:46:03 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ClassDescription.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ClassDescription.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ClassDescription initialize!
@@ -4123,3 +4123,4 @@
 
 
 
+
--- a/Collection.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Collection.st	Mon Dec 20 07:13:27 2010 +0000
@@ -3867,15 +3867,15 @@
 !Collection class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Collection.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Collection.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Collection.st,v 1.252 2010-09-21 06:58:29 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Collection.st,v 1.252 2010/09/21 06:58:29 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Collection.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Collection.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Collection initialize!
@@ -3886,3 +3886,4 @@
 
 
 
+
--- a/CompiledCode.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/CompiledCode.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1848,13 +1848,14 @@
 !CompiledCode class methodsFor:'documentation'!
 
 version
-    ^ '$Id: CompiledCode.st 10599 2010-11-30 15:53:23Z vranyj1 $'
+    ^ '$Id: CompiledCode.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.108 2009-10-06 14:59:40 fm Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.108 2009/10/06 14:59:40 fm Exp '
 !
 
 version_SVN
-    ^ '$Id: CompiledCode.st 10599 2010-11-30 15:53:23Z vranyj1 $'
+    ^ '$Id: CompiledCode.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
+
--- a/Context.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Context.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2399,16 +2399,17 @@
 !Context class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Context.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Context.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Context.st,v 1.158 2010-08-14 10:56:21 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Context.st,v 1.158 2010/08/14 10:56:21 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Context.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Context.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Context initialize!
 
+
--- a/Date.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Date.st	Mon Dec 20 07:13:27 2010 +0000
@@ -3014,15 +3014,15 @@
 !Date class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Date.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Date.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Date.st,v 1.135 2010-03-26 14:26:26 fm Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Date.st,v 1.135 2010/03/26 14:26:26 fm Exp '
 !
 
 version_SVN
-    ^ '$Id: Date.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Date.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Date initialize!
@@ -3030,3 +3030,4 @@
 
 
 
+
--- a/Delay.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Delay.st	Mon Dec 20 07:13:27 2010 +0000
@@ -343,15 +343,16 @@
 !Delay class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Delay.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Delay.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Delay.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Delay.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/Delay.st,v 1.43 2010-08-02 14:02:50 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/Delay.st,v 1.43 2010/08/02 14:02:50 cg Exp §'
 ! !
 
 
+
--- a/Dictionary.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Dictionary.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2057,15 +2057,15 @@
 !Dictionary class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Dictionary.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Dictionary.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.102 2010-08-24 08:28:27 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.102 2010/08/24 08:28:27 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Dictionary.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Dictionary.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Dictionary initialize!
@@ -2074,3 +2074,4 @@
 
 
 
+
--- a/DirectoryStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/DirectoryStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -795,18 +795,19 @@
 !DirectoryStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: DirectoryStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: DirectoryStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/DirectoryStream.st,v 1.74 2010-04-30 16:48:14 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/DirectoryStream.st,v 1.74 2010/04/30 16:48:14 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: DirectoryStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: DirectoryStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/EncodedStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/EncodedStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -258,17 +258,18 @@
 !EncodedStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: EncodedStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: EncodedStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/EncodedStream.st,v 1.18 2010-02-04 16:11:51 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/EncodedStream.st,v 1.18 2010/02/04 16:11:51 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: EncodedStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: EncodedStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Error.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Error.st	Mon Dec 20 07:13:27 2010 +0000
@@ -50,10 +50,10 @@
 !Error class methodsFor:'initialization'!
 
 initialize
-
     NotifierString := 'error encountered'.
 
-    "Created: / 4.8.1999 / 08:48:18 / stefan"
+    "Created: / 04-08-1999 / 08:48:18 / stefan"
+    "Modified: / 17-11-2010 / 17:53:07 / cg"
 ! !
 
 !Error class methodsFor:'misc ui support'!
@@ -85,15 +85,15 @@
 !Error class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Error.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Error.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Error.st,v 1.10 2009-10-01 13:44:07 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Error.st,v 1.11 2010/11/17 16:53:31 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Error.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Error.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Error initialize!
@@ -101,3 +101,4 @@
 
 
 
+
--- a/ExecutableFunction.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExecutableFunction.st	Mon Dec 20 07:13:27 2010 +0000
@@ -413,18 +413,19 @@
 !ExecutableFunction class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ExecutableFunction.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExecutableFunction.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: ExecutableFunction.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExecutableFunction.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.56 2010-04-27 10:26:12 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.56 2010/04/27 10:26:12 cg Exp '
 ! !
 
 
 
 
 
+
--- a/ExternalAddress.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExternalAddress.st	Mon Dec 20 07:13:27 2010 +0000
@@ -310,18 +310,19 @@
 !ExternalAddress class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ExternalAddress.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalAddress.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalAddress.st,v 1.26 2010-10-26 21:45:34 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalAddress.st,v 1.26 2010/10/26 21:45:34 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ExternalAddress.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalAddress.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/ExternalBytes.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExternalBytes.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1290,15 +1290,15 @@
 !ExternalBytes class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ExternalBytes.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalBytes.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalBytes.st,v 1.79 2010-09-21 06:57:43 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalBytes.st,v 1.79 2010/09/21 06:57:43 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ExternalBytes.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalBytes.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ExternalBytes initialize!
@@ -1307,3 +1307,4 @@
 
 
 
+
--- a/ExternalFunction.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExternalFunction.st	Mon Dec 20 07:13:27 2010 +0000
@@ -972,15 +972,15 @@
 !ExternalFunction class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ExternalFunction.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalFunction.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalFunction.st,v 1.27 2009-11-05 16:26:28 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalFunction.st,v 1.27 2009/11/05 16:26:28 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ExternalFunction.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalFunction.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ExternalFunction initialize!
@@ -988,3 +988,4 @@
 
 
 
+
--- a/ExternalFunctionCallback.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExternalFunctionCallback.st	Mon Dec 20 07:13:27 2010 +0000
@@ -829,17 +829,18 @@
 !ExternalFunctionCallback class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ExternalFunctionCallback.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalFunctionCallback.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalFunctionCallback.st,v 1.15 2009-11-05 16:25:17 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalFunctionCallback.st,v 1.15 2009/11/05 16:25:17 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ExternalFunctionCallback.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalFunctionCallback.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/ExternalLibrary.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExternalLibrary.st	Mon Dec 20 07:13:27 2010 +0000
@@ -43,7 +43,7 @@
 !ExternalLibrary class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalLibrary.st,v 1.2 2010-02-01 11:29:17 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalLibrary.st,v 1.2 2010/02/01 11:29:17 cg Exp '
 !
 
 version_SVN
@@ -53,3 +53,4 @@
 
 
 
+
--- a/ExternalLibraryFunction.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExternalLibraryFunction.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1492,15 +1492,15 @@
 !ExternalLibraryFunction class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ExternalLibraryFunction.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalLibraryFunction.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.79 2010-07-08 14:16:05 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.79 2010/07/08 14:16:05 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ExternalLibraryFunction.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalLibraryFunction.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ExternalLibraryFunction initialize!
@@ -1508,3 +1508,4 @@
 
 
 
+
--- a/ExternalStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ExternalStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -5691,15 +5691,15 @@
 !ExternalStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ExternalStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.341 2010-04-12 19:27:17 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.341 2010/04/12 19:27:17 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ExternalStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ExternalStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ExternalStream initialize!
@@ -5708,3 +5708,4 @@
 
 
 
+
--- a/FileDirectory.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/FileDirectory.st	Mon Dec 20 07:13:27 2010 +0000
@@ -794,16 +794,17 @@
 !FileDirectory class methodsFor:'documentation'!
 
 version
-    ^ '$Id: FileDirectory.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FileDirectory.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.49 2009-10-26 15:24:34 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.49 2009/10/26 15:24:34 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: FileDirectory.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FileDirectory.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 FileDirectory initialize!
 
+
--- a/FileStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/FileStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1710,15 +1710,15 @@
 !FileStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: FileStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FileStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/FileStream.st,v 1.144 2010-08-31 18:05:23 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/FileStream.st,v 1.144 2010/08/31 18:05:23 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: FileStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FileStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 FileStream initialize!
@@ -1728,3 +1728,4 @@
 
 
 
+
--- a/Filename.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Filename.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2159,8 +2159,8 @@
     ].
 
     ^ OperatingSystem accessDeniedErrorSignal
-        raiseRequestWith:filename
-        errorString:(' : ' , filename asString , errString)
+        raiseRequestWith:filename ? self
+        errorString:(' : ' , (filename ? self) asString , errString)
 
     "Modified: / 26.9.1999 / 16:11:44 / cg"
 !
@@ -2171,8 +2171,8 @@
     "report an error that some file could not be created"
 
     ^ OperatingSystem accessDeniedErrorSignal
-        raiseRequestWith:filename
-        errorString:(' - cannot create/write file: ' , filename asString)
+        raiseRequestWith:filename?self
+        errorString:(' - cannot create/write file: ' , (filename ? self) asString)
 !
 
 fileNotFoundError:filename 
@@ -2181,8 +2181,8 @@
     "report an error that some file was not found"
 
     ^ OperatingSystem fileNotFoundErrorSignal
-        raiseRequestWith:filename
-        errorString:('file not found: ' , filename asString)
+        raiseRequestWith:filename?self
+        errorString:('file not found: ' , (filename ? self) asString)
 !
 
 removeError:filename
@@ -2191,8 +2191,8 @@
     "report an error that some file could not be removed"
 
     ^ OperatingSystem accessDeniedErrorSignal
-        raiseRequestWith:filename
-        errorString:('cannot remove: ' , filename asString)
+        raiseRequestWith:filename?self
+        errorString:('cannot remove: ' , (filename?self) asString)
 !
 
 reportError:string with:filename
@@ -2201,7 +2201,7 @@
     "report an error"
 
     ^ OperatingSystem errorSignal
-        raiseRequestWith:filename
+        raiseRequestWith:filename?self
         errorString:string
 ! !
 
@@ -5792,15 +5792,15 @@
 !Filename class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Filename.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Filename.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Filename.st,v 1.360 2010-10-29 15:25:22 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Filename.st,v 1.361 2010/11/19 13:25:20 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Filename.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Filename.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Filename initialize!
@@ -5812,3 +5812,4 @@
 
 
 
+
--- a/FixedPoint.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/FixedPoint.st	Mon Dec 20 07:13:27 2010 +0000
@@ -163,17 +163,6 @@
 
 !FixedPoint class methodsFor:'instance creation'!
 
-fromSchemaString: aString
-	"Answer an instance. (keeping the scale)"
-
-	#swAdded.
-
-	Smalltalk isSmalltalkX ifTrue:[
-	    ^super fromString: aString
-	].
-	^super fromString: aString , 's'
-!
-
 numerator:n denominator:d
     "redefined to block the inherited instance creation method from fraction.
      Raises an error - you must give a scale"
@@ -206,6 +195,7 @@
     ^ self readFrom:aStringOrStream onError:0
 
     "
+     FixedPoint readFrom:'.456'  
      FixedPoint readFrom:'123.456'  
      FixedPoint readFrom:'3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788'
      FixedPoint readFrom:(ReadStream on:'foobar')     
@@ -216,7 +206,7 @@
      FixedPoint readFrom:'1.5'    
     "
 
-    "Modified: / 25.10.1997 / 15:30:29 / cg"
+    "Modified: / 23-11-2010 / 14:39:29 / cg"
 !
 
 readFrom:aStringOrStream decimalPointCharacters:decimalPointCharacters onError:exceptionBlock
@@ -236,8 +226,13 @@
     ].
 
     (aStream atEnd or:[aStream peek isLetter]) ifTrue: [^ exceptionBlock value].
-
-    integerPart := Number readFromString:(aStream upToAny:decimalPointCharacters).
+    (decimalPointCharacters includes:aStream peek) ifTrue:[
+        "/ no integer part
+        integerPart := 0.
+        aStream next.
+    ] ifFalse:[
+        integerPart := Number readFromString:(aStream upToAny:decimalPointCharacters).
+    ].
     (aStream atEnd or: [aStream peek isLetter]) ifTrue: [
         fractionPart := 0.
         scale := 1.
@@ -271,8 +266,8 @@
      FixedPoint readFrom:'foot' onError:['bad fixedpoint'] 
     "
 
-    "Created: / 25.10.1997 / 15:28:59 / cg"
-    "Modified: / 25.10.1997 / 15:31:47 / cg"
+    "Created: / 25-10-1997 / 15:28:59 / cg"
+    "Modified: / 23-11-2010 / 14:38:12 / cg"
 ! !
 
 !FixedPoint class methodsFor:'constants'!
@@ -1354,17 +1349,18 @@
 !FixedPoint class methodsFor:'documentation'!
 
 version
-    ^ '$Id: FixedPoint.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FixedPoint.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/FixedPoint.st,v 1.44 2010-02-10 17:46:09 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/FixedPoint.st,v 1.45 2010/11/23 13:39:59 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: FixedPoint.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FixedPoint.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Float.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Float.st	Mon Dec 20 07:13:27 2010 +0000
@@ -371,17 +371,18 @@
 
     num := super readFrom:aStringOrStream onError:nil.
     num isNil ifTrue:[
-	^ exceptionBlock value
+        ^ exceptionBlock value
     ].
     ^ num asFloat
 
     "
+     Float readFrom:'.1'
      Float readFrom:'0.1'
      Float readFrom:'0'
     "
 
-    "Created: / 7.1.1998 / 16:17:19 / cg"
-    "Modified: / 7.1.1998 / 16:18:33 / cg"
+    "Created: / 07-01-1998 / 16:17:19 / cg"
+    "Modified: / 23-11-2010 / 14:35:41 / cg"
 ! !
 
 !Float class methodsFor:'accessing'!
@@ -2733,15 +2734,15 @@
 !Float class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Float.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Float.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Float.st,v 1.175 2010-05-05 14:06:04 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Float.st,v 1.176 2010/11/23 13:35:52 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Float.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Float.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Float initialize!
@@ -2750,3 +2751,4 @@
 
 
 
+
--- a/FloatArray.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/FloatArray.st	Mon Dec 20 07:13:27 2010 +0000
@@ -992,17 +992,18 @@
 !FloatArray class methodsFor:'documentation'!
 
 version
-    ^ '$Id: FloatArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FloatArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/FloatArray.st,v 1.26 2009-12-01 22:11:19 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/FloatArray.st,v 1.26 2009/12/01 22:11:19 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: FloatArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: FloatArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/GenericException.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/GenericException.st	Mon Dec 20 07:13:27 2010 +0000
@@ -172,11 +172,11 @@
 !GenericException class methodsFor:'initialization'!
 
 initialize
-
     NotifierString := 'unknown exception'.
     StrictRaising := false.     "set to true to check weather a signal may be raised proceedable"
 
-    "Modified: / 4.8.1999 / 09:06:26 / stefan"
+    "Modified: / 04-08-1999 / 09:06:26 / stefan"
+    "Modified: / 17-11-2010 / 17:53:13 / cg"
 ! !
 
 !GenericException class methodsFor:'instance creation'!
@@ -2273,15 +2273,15 @@
 !GenericException class methodsFor:'documentation'!
 
 version
-    ^ '$Id: GenericException.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: GenericException.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.127 2010-09-05 16:08:47 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.128 2010/11/17 16:53:23 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: GenericException.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: GenericException.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 GenericException initialize!
@@ -2291,3 +2291,4 @@
 
 
 
+
--- a/HashStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/HashStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -327,17 +327,18 @@
 !HashStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: HashStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: HashStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/HashStream.st,v 1.13 2010-03-04 14:34:21 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/HashStream.st,v 1.13 2010/03/04 14:34:21 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: HashStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: HashStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/ImmutableArray.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ImmutableArray.st	Mon Dec 20 07:13:27 2010 +0000
@@ -223,7 +223,7 @@
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ImmutableArray.st,v 1.28 2009-11-16 08:59:40 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ImmutableArray.st,v 1.28 2009/11/16 08:59:40 stefan Exp '
 !
 
 version_SVN
@@ -233,3 +233,4 @@
 
 
 
+
--- a/ImmutableByteArray.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ImmutableByteArray.st	Mon Dec 20 07:13:27 2010 +0000
@@ -237,7 +237,7 @@
 !ImmutableByteArray class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ImmutableByteArray.st,v 1.7 2009-11-16 08:59:40 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ImmutableByteArray.st,v 1.7 2009/11/16 08:59:40 stefan Exp '
 !
 
 version_SVN
@@ -247,3 +247,4 @@
 
 
 
+
--- a/ImmutableString.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ImmutableString.st	Mon Dec 20 07:13:27 2010 +0000
@@ -232,7 +232,7 @@
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ImmutableString.st,v 1.9 2009-11-16 08:59:40 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ImmutableString.st,v 1.9 2009/11/16 08:59:40 stefan Exp '
 !
 
 version_SVN
@@ -242,3 +242,4 @@
 
 
 
+
--- a/Infinity.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Infinity.st	Mon Dec 20 07:13:27 2010 +0000
@@ -425,15 +425,15 @@
 !Infinity class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Infinity.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Infinity.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Infinity.st,v 1.13 2009-10-12 19:34:30 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Infinity.st,v 1.13 2009/10/12 19:34:30 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Infinity.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Infinity.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Infinity initialize!
@@ -441,3 +441,4 @@
 
 
 
+
--- a/InlineObjectClassDescription.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/InlineObjectClassDescription.st	Mon Dec 20 07:13:27 2010 +0000
@@ -53,15 +53,16 @@
 !InlineObjectClassDescription class methodsFor:'documentation'!
 
 version
-    ^ '$Id: InlineObjectClassDescription.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: InlineObjectClassDescription.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: InlineObjectClassDescription.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: InlineObjectClassDescription.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/InlineObjectClassDescription.st,v 1.2 2010-08-13 16:57:49 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/InlineObjectClassDescription.st,v 1.2 2010/08/13 16:57:49 cg Exp §'
 ! !
 
 
+
--- a/Integer.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Integer.st	Mon Dec 20 07:13:27 2010 +0000
@@ -4720,15 +4720,15 @@
 !Integer class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Integer.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Integer.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Integer.st,v 1.251 2010-08-17 15:32:31 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Integer.st,v 1.251 2010/08/17 15:32:31 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Integer.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Integer.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Integer initialize!
@@ -4739,3 +4739,4 @@
 
 
 
+
--- a/Interval.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Interval.st	Mon Dec 20 07:13:27 2010 +0000
@@ -692,14 +692,15 @@
 !Interval class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Interval.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Interval.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Interval.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Interval.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/Interval.st,v 1.52 2010-09-21 06:57:23 stefan Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/Interval.st,v 1.52 2010/09/21 06:57:23 stefan Exp §'
 ! !
 
+
--- a/KeyedCollection.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/KeyedCollection.st	Mon Dec 20 07:13:27 2010 +0000
@@ -200,18 +200,19 @@
 !KeyedCollection class methodsFor:'documentation'!
 
 version
-    ^ '$Id: KeyedCollection.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: KeyedCollection.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/KeyedCollection.st,v 1.8 2010-08-24 08:29:08 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/KeyedCollection.st,v 1.8 2010/08/24 08:29:08 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: KeyedCollection.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: KeyedCollection.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/LargeInteger.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/LargeInteger.st	Mon Dec 20 07:13:27 2010 +0000
@@ -5141,15 +5141,15 @@
 !LargeInteger class methodsFor:'documentation'!
 
 version
-    ^ '$Id: LargeInteger.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LargeInteger.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.202 2010-08-10 10:34:11 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.202 2010/08/10 10:34:11 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: LargeInteger.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LargeInteger.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
@@ -5157,3 +5157,4 @@
 
 
 
+
--- a/LibraryDefinition.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/LibraryDefinition.st	Mon Dec 20 07:13:27 2010 +0000
@@ -682,17 +682,18 @@
 !LibraryDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Id: LibraryDefinition.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LibraryDefinition.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.98 2010-03-08 12:00:07 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.98 2010/03/08 12:00:07 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: LibraryDefinition.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LibraryDefinition.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/LimitedPrecisionReal.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/LimitedPrecisionReal.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1197,15 +1197,15 @@
 !LimitedPrecisionReal class methodsFor:'documentation'!
 
 version
-    ^ '$Id: LimitedPrecisionReal.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LimitedPrecisionReal.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/LimitedPrecisionReal.st,v 1.72 2010-03-06 11:27:34 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/LimitedPrecisionReal.st,v 1.72 2010/03/06 11:27:34 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: LimitedPrecisionReal.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LimitedPrecisionReal.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 LimitedPrecisionReal initialize!
@@ -1213,3 +1213,4 @@
 
 
 
+
--- a/LinkedList.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/LinkedList.st	Mon Dec 20 07:13:27 2010 +0000
@@ -239,32 +239,11 @@
 remove:aLink ifAbsent:exceptionBlock
     "remove the argument, aLink from the sequence and return it;
      if absent, evaluate the exceptionBlock.
-     Actually this is really a #removeIdentical (but for compatibility ...)"
-
-    |prevNode nextNode thisNode|
+     Actually this is really a #removeIdentical (but for compatibility...)"
 
-    thisNode := firstLink.
-    [thisNode notNil] whileTrue:[
-	nextNode := thisNode nextLink.
-	(thisNode == aLink) ifTrue:[
-	    prevNode isNil ifTrue:[
-		firstLink := nextNode
-	    ] ifFalse:[
-		prevNode nextLink:nextNode
-	    ].
-	    nextNode isNil ifTrue:[
-		lastLink := prevNode
-	    ].
-	    numberOfNodes := numberOfNodes - 1.
-	    thisNode nextLink:nil.
-	    ^ aLink
-	].
-	prevNode := thisNode.
-	thisNode := nextNode
-    ].
-    ^ exceptionBlock value
+    ^ self removeIdentical:aLink ifAbsent:exceptionBlock
 
-    "Modified: 1.2.1997 / 12:01:59 / cg"
+    "Modified: / 30-11-2010 / 13:38:45 / cg"
 !
 
 removeAll
@@ -293,6 +272,36 @@
     link nextLink:nil.
     numberOfNodes := numberOfNodes - 1.
     ^ link
+!
+
+removeIdentical:aLink ifAbsent:exceptionBlock
+    "remove the argument, aLink from the sequence and return it;
+     if absent, evaluate the exceptionBlock."
+
+    |prevNode nextNode thisNode|
+
+    thisNode := firstLink.
+    [thisNode notNil] whileTrue:[
+        nextNode := thisNode nextLink.
+        (thisNode == aLink) ifTrue:[
+            prevNode isNil ifTrue:[
+                firstLink := nextNode
+            ] ifFalse:[
+                prevNode nextLink:nextNode
+            ].
+            nextNode isNil ifTrue:[
+                lastLink := prevNode
+            ].
+            numberOfNodes := numberOfNodes - 1.
+            thisNode nextLink:nil.
+            ^ aLink
+        ].
+        prevNode := thisNode.
+        thisNode := nextNode
+    ].
+    ^ exceptionBlock value
+
+    "Created: / 30-11-2010 / 13:38:25 / cg"
 ! !
 
 !LinkedList methodsFor:'enumerating'!
@@ -330,21 +339,21 @@
      if found, return the index otherwise return 0. Here, index is defined
      as the link-nodes position in the list.
      The comparison is done using ==
-     (i.e. equality test - not identity test)."
+     (i.e. identity test - not equality test)."
 
     |theNode idx "{ Class: SmallInteger }"|
 
     theNode := firstLink.
     idx := 1.
     [idx < start] whileTrue:[
-	theNode isNil ifTrue:[^ 0].     "reached the end"
-	theNode := theNode nextLink.
-	idx := idx + 1.
+        theNode isNil ifTrue:[^ 0].     "reached the end"
+        theNode := theNode nextLink.
+        idx := idx + 1.
     ].
     [theNode notNil] whileTrue:[
-	(aLink == theNode) ifTrue:[^ idx].
-	theNode := theNode nextLink.
-	idx := idx + 1.
+        (aLink == theNode) ifTrue:[^ idx].
+        theNode := theNode nextLink.
+        idx := idx + 1.
     ].                                  "reached the end"
     ^ 0
 
@@ -421,9 +430,14 @@
 !LinkedList class methodsFor:'documentation'!
 
 version
-    ^ '$Id: LinkedList.st 10517 2010-04-26 18:26:38Z vranyj1 $'
+    ^ '$Id: LinkedList.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: LinkedList.st 10517 2010-04-26 18:26:38Z vranyj1 $'
+    ^ '$Id: LinkedList.st 10602 2010-12-20 07:13:27Z vranyj1 $'
+!
+
+version_CVS
+    ^ 'Header: /cvs/stx/stx/libbasic/LinkedList.st,v 1.40 2010/12/08 15:06:55 stefan Exp '
 ! !
+
--- a/LongFloat.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/LongFloat.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2537,15 +2537,15 @@
 !LongFloat class methodsFor:'documentation'!
 
 version
-    ^ '$Id: LongFloat.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LongFloat.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.68 2010-09-05 15:48:37 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.68 2010/09/05 15:48:37 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: LongFloat.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: LongFloat.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 LongFloat initialize!
@@ -2555,3 +2555,4 @@
 
 
 
+
--- a/MD5Stream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/MD5Stream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -455,15 +455,15 @@
 !MD5Stream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: MD5Stream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: MD5Stream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 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.14 2010/08/07 17:11:19 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: MD5Stream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: MD5Stream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 MD5Stream initialize!
@@ -472,3 +472,4 @@
 
 
 
+
--- a/MessageNotUnderstood.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/MessageNotUnderstood.st	Mon Dec 20 07:13:27 2010 +0000
@@ -169,15 +169,16 @@
 !MessageNotUnderstood class methodsFor:'documentation'!
 
 version
-    ^ '$Id: MessageNotUnderstood.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: MessageNotUnderstood.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN  
-  ^ '$Id: MessageNotUnderstood.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+  ^ '$Id: MessageNotUnderstood.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !  
  
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/MessageNotUnderstood.st,v 1.11 2010-08-19 13:44:12 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/MessageNotUnderstood.st,v 1.11 2010/08/19 13:44:12 cg Exp §'
 ! !
 
 
+
--- a/MessageSend.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/MessageSend.st	Mon Dec 20 07:13:27 2010 +0000
@@ -269,14 +269,15 @@
 !MessageSend class methodsFor:'documentation'!
 
 version
-    ^ '$Id: MessageSend.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: MessageSend.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: MessageSend.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: MessageSend.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/MessageSend.st,v 1.22 2010-09-14 14:05:26 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/MessageSend.st,v 1.22 2010/09/14 14:05:26 cg Exp §'
 ! !
 
+
--- a/Metaclass.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Metaclass.st	Mon Dec 20 07:13:27 2010 +0000
@@ -889,15 +889,15 @@
 !Metaclass class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Metaclass.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Metaclass.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.208 2010-04-03 10:46:40 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.208 2010/04/03 10:46:40 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Metaclass.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Metaclass.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Metaclass initialize!
@@ -905,3 +905,4 @@
 
 
 
+
--- a/Method.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Method.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2342,13 +2342,15 @@
 hasResource:aSymbol
     "return true if the method has a <resource> definition for aSymbol."
 
-    ^ self hasResource and:[ self resources includesKey:aSymbol ]
+    ^ self hasResource and:[ (self resources ? #()) includesKey:aSymbol ]
 
     "
      Method allInstancesDo:[:m |
         (m hasResource:#image) ifTrue:[self halt]
      ].
     "
+
+    "Modified: / 01-12-2010 / 13:59:58 / cg"
 !
 
 homeMethod
@@ -3356,16 +3358,17 @@
 !Method class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Method.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Method.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/Method.st,v 1.353 2010-10-22 10:37:09 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/Method.st,v 1.354 2010/12/01 13:00:17 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: Method.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Method.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Method initialize!
 
+
--- a/MiniDebugger.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/MiniDebugger.st	Mon Dec 20 07:13:27 2010 +0000
@@ -875,14 +875,15 @@
 !MiniDebugger class methodsFor:'documentation'!
 
 version
-    ^ '$Id: MiniDebugger.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: MiniDebugger.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: MiniDebugger.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: MiniDebugger.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/MiniDebugger.st,v 1.78 2010-10-29 16:52:00 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/MiniDebugger.st,v 1.78 2010/10/29 16:52:00 cg Exp §'
 ! !
 
+
--- a/NameSpace.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/NameSpace.st	Mon Dec 20 07:13:27 2010 +0000
@@ -705,14 +705,15 @@
 !NameSpace class methodsFor:'documentation'!
 
 version
-    ^ '$Id: NameSpace.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: NameSpace.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/NameSpace.st,v 1.69 2009-12-03 10:42:57 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/NameSpace.st,v 1.69 2009/12/03 10:42:57 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: NameSpace.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: NameSpace.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
+
--- a/NoHandlerError.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/NoHandlerError.st	Mon Dec 20 07:13:27 2010 +0000
@@ -560,15 +560,15 @@
 !NoHandlerError class methodsFor:'documentation'!
 
 version
-    ^ '$Id: NoHandlerError.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: NoHandlerError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/NoHandlerError.st,v 1.19 2010-03-13 10:31:25 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/NoHandlerError.st,v 1.19 2010/03/13 10:31:25 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: NoHandlerError.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: NoHandlerError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 NoHandlerError initialize!
@@ -576,3 +576,4 @@
 
 
 
+
--- a/NoModificationError.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/NoModificationError.st	Mon Dec 20 07:13:27 2010 +0000
@@ -50,7 +50,7 @@
 !NoModificationError class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/NoModificationError.st,v 1.2 2009-11-05 22:42:42 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/NoModificationError.st,v 1.2 2009/11/05 22:42:42 cg Exp '
 !
 
 version_SVN
@@ -62,3 +62,4 @@
 
 
 
+
--- a/NonPositionableExternalStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/NonPositionableExternalStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -560,17 +560,18 @@
 !NonPositionableExternalStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: NonPositionableExternalStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: NonPositionableExternalStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/NonPositionableExternalStream.st,v 1.61 2010-03-04 15:11:43 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/NonPositionableExternalStream.st,v 1.61 2010/03/04 15:11:43 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: NonPositionableExternalStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: NonPositionableExternalStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Notification.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Notification.st	Mon Dec 20 07:13:27 2010 +0000
@@ -338,15 +338,15 @@
 !Notification class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Notification.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Notification.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Notification.st,v 1.25 2009-10-14 17:34:24 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Notification.st,v 1.25 2009/10/14 17:34:24 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Notification.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Notification.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Notification initialize!
@@ -354,3 +354,4 @@
 
 
 
+
--- a/Number.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Number.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2251,18 +2251,19 @@
 !Number class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Number.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Number.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Number.st,v 1.133 2010-08-02 11:27:38 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Number.st,v 1.133 2010/08/02 11:27:38 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Number.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Number.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/OSErrorHolder.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/OSErrorHolder.st	Mon Dec 20 07:13:27 2010 +0000
@@ -412,15 +412,15 @@
 !OSErrorHolder class methodsFor:'documentation'!
 
 version
-    ^ '$Id: OSErrorHolder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: OSErrorHolder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/OSErrorHolder.st,v 1.19 2010-07-22 18:11:49 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/OSErrorHolder.st,v 1.19 2010/07/22 18:11:49 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: OSErrorHolder.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: OSErrorHolder.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 OSErrorHolder initialize!
@@ -429,3 +429,4 @@
 
 
 
+
--- a/OSProcess.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/OSProcess.st	Mon Dec 20 07:13:27 2010 +0000
@@ -146,7 +146,7 @@
 !OSProcess class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/OSProcess.st,v 1.1 2010-04-27 08:07:00 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/OSProcess.st,v 1.1 2010/04/27 08:07:00 stefan Exp '
 !
 
 version_SVN
@@ -156,3 +156,4 @@
 
 
 
+
--- a/Object.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Object.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2867,11 +2867,11 @@
     <resource: #skipInDebuggersWalkBack>
 
     "/ dont send #halt: here - ask cg why.
-    (Smalltalk at:#IgnoreHalt ifAbsent:false) == true ifTrue:[^ self].
+    Smalltalk ignoreHalt ifTrue:[^ self].
     ^ HaltInterrupt raiseRequestWith:#halt
 
-    "Modified: / 2.8.1999 / 17:00:29 / stefan"
-    "Modified: / 17.11.2001 / 22:47:44 / cg"
+    "Modified: / 02-08-1999 / 17:00:29 / stefan"
+    "Modified: / 18-11-2010 / 11:21:51 / cg"
 !
 
 halt:aString
@@ -2882,10 +2882,10 @@
 
     <resource: #skipInDebuggersWalkBack>
 
-    (Smalltalk at:#IgnoreHalt ifAbsent:false) == true ifTrue:[^ self].
+    Smalltalk ignoreHalt ifTrue:[^ self].
     ^ HaltInterrupt raiseRequestWith:#halt: errorString:aString
 
-    "Modified: 8.5.1996 / 09:13:23 / cg"
+    "Modified: / 18-11-2010 / 11:22:16 / cg"
 !
 
 inspectorClass
@@ -6911,7 +6911,9 @@
 
     thisContext isRecursive ifTrue:[
         Object recursiveStoreStringSignal raiseRequestWith:self.
-        ('Object [error]: storeString of self referencing object.') errorPrintCR.
+        'Object [error]: storeString of self referencing object (' errorPrint.
+        self class name errorPrint.
+        ')' errorPrintCR.
         aStream nextPutAll:'#("recursive")'.
         ^ self
     ].
@@ -6987,7 +6989,7 @@
      (Object readFrom:s) inspect
     "
 
-    "Modified: 28.1.1997 / 00:36:12 / cg"
+    "Modified: / 03-12-2010 / 13:27:51 / cg"
 !
 
 storeString
@@ -8830,6 +8832,15 @@
     "Created: / 10-08-2006 / 16:24:53 / cg"
 !
 
+isProxy
+    "return true, if the receiver is a proxy for another (lazy loaded) object.
+     False is returned here."
+
+    ^ false
+
+    "Created: / 21-11-2010 / 11:15:46 / cg"
+!
+
 isRealNameSpace
     "return true, if the receiver is really a nameSpace (i.e. a NameSpace, but not Smalltalk).
      False is returned here - the method is only redefined in Namespace."
@@ -9172,7 +9183,7 @@
 
             s := WriteStream with:aString.
             s cr; cr.
-            s nextPutLine:'Calling Chain (Support Information):'.
+            s nextPutLine:'Calling Chain:'.
             s nextPutLine:'--------------------------------------------------------------'.
             1 to:25 do:[:n |
                 con notNil ifTrue:[
@@ -9242,8 +9253,8 @@
      self errorNotify:'hello there'
     "
 
-    "Created: / 17.8.1998 / 10:09:26 / cg"
-    "Modified: / 16.11.2001 / 15:40:12 / cg"
+    "Created: / 17-08-1998 / 10:09:26 / cg"
+    "Modified: / 09-12-2010 / 10:22:34 / cg"
 !
 
 information:aString
@@ -9343,18 +9354,19 @@
 !Object class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Object.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Object.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Object.st,v 1.653 2010-10-20 08:47:34 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Object.st,v 1.657 2010/12/09 09:23:08 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Object.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Object.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Object initialize!
 
 
 
+
--- a/ObjectMemory.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ObjectMemory.st	Mon Dec 20 07:13:27 2010 +0000
@@ -5378,15 +5378,15 @@
 !ObjectMemory class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ObjectMemory.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ObjectMemory.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.249 2010-05-11 10:31:43 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.249 2010/05/11 10:31:43 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ObjectMemory.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ObjectMemory.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ObjectMemory initialize!
@@ -5395,3 +5395,4 @@
 
 
 
+
--- a/PCFilename.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/PCFilename.st	Mon Dec 20 07:13:27 2010 +0000
@@ -311,9 +311,9 @@
     "/ replace colons by underscore
     "/ may need more to convert - time will show
 
-    (nameString indexOfAny:#($: $ ) startingAt:srchStart) ~~ 0 ifTrue:[
+    (nameString indexOfAny:#($: ) startingAt:srchStart) ~~ 0 ifTrue:[
         nameString := nameString copy.
-        nameString replaceAny:#($: $ ) with:$_ from:srchStart to:(nameString size).
+        nameString replaceAny:#($: ) with:$_ from:srchStart to:(nameString size).
     ].
     ^ self
 
@@ -326,7 +326,7 @@
      '\\idefix\' asFilename makeLegalFilename 
     "
 
-    "Modified: / 11.10.1998 / 01:40:47 / cg"
+    "Modified: / 01-12-2010 / 18:53:59 / cg"
 !
 
 makeNonDOSName
@@ -886,11 +886,11 @@
 !PCFilename class methodsFor:'documentation'!
 
 version
-    ^ '$Id: PCFilename.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PCFilename.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.51 2010-10-26 10:47:38 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.52 2010/12/01 17:54:15 cg Exp §'
 ! !
 
 
@@ -899,3 +899,4 @@
 
 
 
+
--- a/PackageId.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/PackageId.st	Mon Dec 20 07:13:27 2010 +0000
@@ -279,17 +279,18 @@
 !PackageId class methodsFor:'documentation'!
 
 version
-    ^ '$Id: PackageId.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PackageId.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/PackageId.st,v 1.16 2009-10-22 15:43:27 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/PackageId.st,v 1.16 2009/10/22 15:43:27 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: PackageId.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PackageId.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/PeekableStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/PeekableStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1026,15 +1026,15 @@
 !PeekableStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: PeekableStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PeekableStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/PeekableStream.st,v 1.39 2010-03-12 12:39:13 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/PeekableStream.st,v 1.39 2010/03/12 12:39:13 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: PeekableStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PeekableStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 PeekableStream initialize!
@@ -1042,3 +1042,4 @@
 
 
 
+
--- a/PipeStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/PipeStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -796,15 +796,15 @@
 !PipeStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: PipeStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PipeStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.111 2010-02-09 18:01:01 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.111 2010/02/09 18:01:01 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: PipeStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PipeStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 PipeStream initialize!
@@ -812,3 +812,4 @@
 
 
 
+
--- a/PluginSupport.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/PluginSupport.st	Mon Dec 20 07:13:27 2010 +0000
@@ -188,17 +188,18 @@
 !PluginSupport class methodsFor:'documentation'!
 
 version
-    ^ '$Id: PluginSupport.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PluginSupport.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/PluginSupport.st,v 1.14 2010-09-14 14:07:59 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/PluginSupport.st,v 1.14 2010/09/14 14:07:59 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: PluginSupport.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: PluginSupport.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/ProceedableError.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ProceedableError.st	Mon Dec 20 07:13:27 2010 +0000
@@ -50,31 +50,36 @@
 !ProceedableError class methodsFor:'initialization'!
 
 initialize
-
     NotifierString := 'proceedable error'.
 
     "
      self initialize
     "
 
-
+    "Modified: / 17-11-2010 / 17:53:04 / cg"
 ! !
 
 !ProceedableError class methodsFor:'queries'!
 
 mayProceed
+    ^ true
 
-    ^ true
+    "Modified: / 17-11-2010 / 17:53:37 / cg"
 ! !
 
 !ProceedableError class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProceedableError.st 10517 2010-04-26 18:26:38Z vranyj1 $'
+    ^ '$Id: ProceedableError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: ProceedableError.st 10517 2010-04-26 18:26:38Z vranyj1 $'
+    ^ '$Id: ProceedableError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
+!
+
+version_CVS
+    ^ 'Header: /cvs/stx/stx/libbasic/ProceedableError.st,v 1.6 2010/11/17 16:53:49 cg Exp '
 ! !
 
 ProceedableError initialize!
+
--- a/Process.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Process.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2053,15 +2053,15 @@
 !Process class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Process.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Process.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Process.st,v 1.171 2010-08-13 07:40:24 sr Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Process.st,v 1.171 2010/08/13 07:40:24 sr Exp '
 !
 
 version_SVN
-    ^ '$Id: Process.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Process.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Process initialize!
@@ -2070,3 +2070,4 @@
 
 
 
+
--- a/ProcessorScheduler.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ProcessorScheduler.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1033,19 +1033,19 @@
     |pri l newState|
 
     OperatingSystem interruptsBlocked ifFalse:[
-	MiniDebugger
-	    enterWithMessage:'immediateInterrupt with no interruptsBlocked'
-	    mayProceed:true.
+        MiniDebugger
+            enterWithMessage:'immediateInterrupt with no interruptsBlocked'
+            mayProceed:true.
     ].
 
     (whyCode == 2) ifTrue:[
-	 newState := #wrapWait.
+         newState := #wrapWait.
     ] ifFalse:[
-	(whyCode == 3) ifTrue:[
-	    newState := #osWait.
-	] ifFalse:[
-	    newState := #stopped.
-	].
+        (whyCode == 3) ifTrue:[
+            newState := #osWait.
+        ] ifFalse:[
+            newState := #stopped.
+        ].
     ].
     activeProcess setStateTo:newState if:#active.
 
@@ -1055,10 +1055,10 @@
     "notice: this is slightly faster than putting the if-code into
      the ifAbsent block, because [] is a shared cheap block, created at compile time
     "
-    (l isNil or:[(l remove:activeProcess ifAbsent:nil) isNil]) ifTrue:[
-	"/ 'Processor [warning]: bad vmSuspendInterrupt: not on run list' errorPrintCR.
-	MiniDebugger enterWithMessage:'bad vmSuspendInterrupt: not on run list' mayProceed:true.
-	^ self
+    (l isNil or:[(l removeIdentical:activeProcess ifAbsent:nil) isNil]) ifTrue:[
+        "/ 'Processor [warning]: bad vmSuspendInterrupt: not on run list' errorPrintCR.
+        MiniDebugger enterWithMessage:'bad vmSuspendInterrupt: not on run list' mayProceed:true.
+        ^ self
     ].
 ! !
 
@@ -1673,7 +1673,7 @@
 
         oldList := quiescentProcessLists at:oldPrio.
         oldList notNil ifTrue:[
-            (oldList remove:aProcess ifAbsent:nil) notNil ifTrue:[
+            (oldList removeIdentical:aProcess ifAbsent:nil) notNil ifTrue:[
                 newList := quiescentProcessLists at:newPrio.
                 newList isNil ifTrue:[
                     quiescentProcessLists at:newPrio put:(newList := LinkedList new).
@@ -1772,9 +1772,9 @@
         quiescentProcessLists at:pri put:l.
     ].
     l addLast:aProcess.
+    aProcess state:#run.
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
 
-    aProcess state:#run.
 
     timeSliceNeededSemaphore notNil ifTrue:[
         "/ tell timeslicer, that some work might be needed...
@@ -1847,7 +1847,6 @@
         quiescentProcessLists at:pri put:l.
     ].
     l addLast:aProcess.
-    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
 
     (pri > currentPriority) ifTrue:[
         "
@@ -1863,7 +1862,8 @@
             "/ tell timeslicer, that some work might be needed...
             timeSliceNeededSemaphore signalIf.
         ]
-    ]
+    ].
+    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
 
     "Modified: / 24-08-1998 / 18:28:42 / cg"
     "Modified: / 03-08-2004 / 19:01:47 / stefan"
@@ -1885,8 +1885,8 @@
      If the process is the current one, reschedule.
 
      Notice:
-	 This method should only be called by Process>>suspend or
-	 Process>>suspendWithState:"
+         This method should only be called by Process>>suspend or
+         Process>>suspendWithState:"
 
     |pri l p wasBlocked|
 
@@ -1894,30 +1894,30 @@
      some debugging stuff
     "
     aProcess isNil ifTrue:[
-	InvalidProcessSignal raiseRequestWith:aProcess errorString:'nil suspend'.
-	^ self
+        InvalidProcessSignal raiseRequestWith:aProcess errorString:'nil suspend'.
+        ^ self
     ].
     aProcess id isNil ifTrue:[
-	InvalidProcessSignal raiseRequestWith:aProcess errorString:'bad suspend: already dead'.
-	self threadSwitch:scheduler.
-	^ self
+        InvalidProcessSignal raiseRequestWith:aProcess errorString:'bad suspend: already dead'.
+        self threadSwitch:scheduler.
+        ^ self
     ].
     aProcess == scheduler ifTrue:[
-	"only the scheduler may suspend itself"
-	activeProcess == scheduler ifTrue:[
-	    suspendScheduler := true.
-	    [suspendScheduler] whileTrue:[
-		self dispatch.
-	    ].
-	    ^ self
-	].
-
-	InvalidProcessSignal raiseRequestWith:aProcess errorString:'attempt to suspend scheduler'.
-	^ self
+        "only the scheduler may suspend itself"
+        activeProcess == scheduler ifTrue:[
+            suspendScheduler := true.
+            [suspendScheduler] whileTrue:[
+                self dispatch.
+            ].
+            ^ self
+        ].
+
+        InvalidProcessSignal raiseRequestWith:aProcess errorString:'attempt to suspend scheduler'.
+        ^ self
     ].
 
     aProcess hasInterruptActions ifTrue:[
-	aProcess interrupt.
+        aProcess interrupt.
     ].
 
     wasBlocked := OperatingSystem blockInterrupts.
@@ -1928,24 +1928,24 @@
     "notice: this is slightly faster than putting the if-code into
      the ifAbsent block, because [] is a shared cheap block, created at compile time
     "
-    (l isNil or:[(l remove:aProcess ifAbsent:nil) isNil]) ifTrue:[
-	"/ 'Processor [warning]: bad suspend: process is not running' errorPrintCR.
-	"/ MiniDebugger enterWithMessage:'bad suspend: process is not running'.
-	aProcess == activeProcess ifTrue:[
-	    self threadSwitch:scheduler.
-	].
-	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
-	^ self
+    (l isNil or:[(l removeIdentical:aProcess ifAbsent:nil) isNil]) ifTrue:[
+        "/ 'Processor [warning]: bad suspend: process is not running' errorPrintCR.
+        "/ MiniDebugger enterWithMessage:'bad suspend: process is not running'.
+        aProcess == activeProcess ifTrue:[
+            self threadSwitch:scheduler.
+        ].
+        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+        ^ self
     ].
 
     (aProcess == activeProcess) ifTrue:[
-	"we can immediately switch sometimes"
-	l isEmpty ifFalse:[
-	    p := l first
-	] ifTrue:[
-	    p := scheduler
-	].
-	self threadSwitch:p
+        "we can immediately switch sometimes"
+        l isEmpty ifTrue:[
+            p := scheduler
+        ] ifFalse:[
+            p := l first
+        ].
+        self threadSwitch:p
     ].
 
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
@@ -1992,16 +1992,16 @@
 
     aProcess isNil ifTrue:[^ self].
     aProcess == scheduler ifTrue:[
-	InvalidProcessSignal raiseWith:aProcess errorString:'attempt to terminate scheduler'.
-	^ self
+        InvalidProcessSignal raiseWith:aProcess errorString:'attempt to terminate scheduler'.
+        ^ self
     ].
 
     wasBlocked := OperatingSystem blockInterrupts.
 
     id := aProcess id.
     id isNil ifTrue:[   "already dead"
-	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
-	^ self
+        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+        ^ self
     ].
 
     aProcess setId:nil state:#dead.
@@ -2011,31 +2011,31 @@
     pri := aProcess priority.
     l := quiescentProcessLists at:pri.
     l notNil ifTrue:[
-	(l remove:aProcess ifAbsent:nil) notNil ifTrue:[
-	    l isEmpty ifTrue:[
-		quiescentProcessLists at:pri put:nil
-	    ]
-	].
+        (l removeIdentical:aProcess ifAbsent:nil) "notNil ifTrue:[
+            l isEmpty ifTrue:[
+                quiescentProcessLists at:pri put:nil
+            ]
+        ]."
     ].
 
     aProcess == activeProcess ifTrue:[
-	"
-	 hard case - its the currently running process
-	 we must have the next active process destroy this one
-	 (we cannot destroy the chair we are sitting on ... :-)
-	"
-	zombie notNil ifTrue:[
-	    self error:'active process is zombie' mayProceed:true.
-	    self class threadDestroy:zombie.
-	].
-
-	self unRemember:aProcess.
-	zombie := id.
-
-	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
-	self threadSwitch:scheduler.
-	"not reached"
-	^ self
+        "
+         hard case - its the currently running process
+         we must have the next active process destroy this one
+         (we cannot destroy the chair we are sitting on ... :-)
+        "
+        zombie notNil ifTrue:[
+            self error:'active process is zombie' mayProceed:true.
+            self class threadDestroy:zombie.
+        ].
+
+        self unRemember:aProcess.
+        zombie := id.
+
+        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+        self threadSwitch:scheduler.
+        "not reached"
+        ^ self
     ].
 
     self unRemember:aProcess.
@@ -3378,15 +3378,15 @@
 !ProcessorScheduler class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProcessorScheduler.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ProcessorScheduler.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.255 2010-08-02 11:36:55 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.257 2010/12/08 15:09:24 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ProcessorScheduler.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ProcessorScheduler.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ProcessorScheduler initialize!
@@ -3395,3 +3395,4 @@
 
 
 
+
--- a/ProgrammingLanguage.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ProgrammingLanguage.st	Mon Dec 20 07:13:27 2010 +0000
@@ -413,17 +413,18 @@
 !ProgrammingLanguage class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProgrammingLanguage.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ProgrammingLanguage.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.12 2010-08-04 10:06:44 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.12 2010/08/04 10:06:44 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: ProgrammingLanguage.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ProgrammingLanguage.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ProgrammingLanguage initialize!
 
 
+
--- a/Project.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Project.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1617,15 +1617,15 @@
 !Project class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Project.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Project.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Project.st,v 1.208 2009-10-27 09:00:33 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Project.st,v 1.208 2009/10/27 09:00:33 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Project.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Project.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Project initialize!
@@ -1633,3 +1633,4 @@
 
 
 
+
--- a/ProjectDefinition.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ProjectDefinition.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2397,7 +2397,7 @@
 
     |dict|
 
-    dict := Dictionary withKeysAndValues:#( 
+    dict := OrderedDictionary withKeysAndValues:#( 
           'Make.spec'         #'generate_make_dot_spec'
           'Make.proto'        #'generate_make_dot_proto'
           'Makefile'          #'generate_makefile'
@@ -2412,6 +2412,8 @@
         at:self rcFilename      put:#'generate_packageName_dot_rc'.
 
     ^ dict.
+
+    "Modified: / 30-11-2010 / 18:24:21 / cg"
 !
 
 fileNamesToGenerate
@@ -2812,19 +2814,19 @@
         at: 'MODULE_DIRECTORY' put: ( self moduleDirectory ); 
         at: 'MODULE_PATH' put: ( self moduleDirectory_win32 );
         at: 'PRIMARY_TARGET' put: (self primaryTarget_bc_dot_mak);
-        at: 'ADDITIONAL_BASE_ADDRESS_DEFINITION' put: (self additionalBaseAddressDefinition_bc_dot_mak);
-        at: 'ADDITIONAL_DEFINITIONS' put: (self additionalDefinitions_bc_dot_mak);
-        at: 'ADDITIONAL_RULES' put: (self additionalRules_bc_dot_mak);
-        at: 'ADDITIONAL_TARGETS' put: (self additionalTargets_bc_dot_mak);
-        at: 'ADDITIONAL_LINK_LIBRARIES' put: (self additionalLinkLibraries_bc_dot_mak); 
-        at: 'LOCAL_INCLUDES' put: (self generateLocalIncludes_win32);
-        at: 'LOCAL_DEFINES' put: self localDefines_win32;
-        at: 'GLOBAL_DEFINES' put: self globalDefines_win32;
-        at: 'MAKE_PREREQUISITES' put: (self generateRequiredMakePrerequisites_bc_dot_mak).
+        at: 'ADDITIONAL_BASE_ADDRESS_DEFINITION' put: (self additionalBaseAddressDefinition_bc_dot_mak ? '');
+        at: 'ADDITIONAL_DEFINITIONS' put: (self additionalDefinitions_bc_dot_mak ? '');
+        at: 'ADDITIONAL_RULES' put: (self additionalRules_bc_dot_mak ? '');
+        at: 'ADDITIONAL_TARGETS' put: (self additionalTargets_bc_dot_mak ? '');
+        at: 'ADDITIONAL_LINK_LIBRARIES' put: (self additionalLinkLibraries_bc_dot_mak ? ''); 
+        at: 'LOCAL_INCLUDES' put: (self generateLocalIncludes_win32 ? '');
+        at: 'LOCAL_DEFINES' put: self localDefines_win32 ? '';
+        at: 'GLOBAL_DEFINES' put: self globalDefines_win32 ? '';
+        at: 'MAKE_PREREQUISITES' put: (self generateRequiredMakePrerequisites_bc_dot_mak ? '').
     ^ d
 
     "Created: / 18-08-2006 / 11:43:39 / cg"
-    "Modified: / 14-09-2006 / 20:20:19 / cg"
+    "Modified: / 24-11-2010 / 20:15:05 / cg"
 !
 
 bmake_dot_mak_mappings
@@ -4929,7 +4931,18 @@
     "load some packages (at least the projectDefinitions and their extensions).
      If asAutoloaded == true, classes will be only installed as autoloaded."
 
-    |packagesBefore|
+    |packagesToLoad packagesBefore|
+
+    "/ assume that the packages are loaded IFF the definition class is present and
+    "/ the extensions are present.
+    packagesToLoad := aListOfPackages 
+                            reject:[:packageID | 
+                                |cls|
+
+                                cls := ProjectDefinition definitionClassForPackage:packageID.
+                                cls notNil and:[cls isFullyLoaded "hasAllExtensionsLoaded"]
+                            ].
+    packagesToLoad isEmpty ifTrue:[^ self].
 
     packagesBefore := PackagesBeingLoaded copy.
     PackagesBeingLoaded isNil ifTrue:[
@@ -4937,7 +4950,7 @@
     ].
     [
         Class withoutUpdatingChangesDo:[
-            aListOfPackages do:[:aPackage |
+            packagesToLoad do:[:aPackage |
                 |def|
 
                 (PackagesBeingLoaded includes:aPackage) ifFalse:[
@@ -4955,6 +4968,8 @@
     ] ensure:[
         PackagesBeingLoaded := packagesBefore.
     ].
+
+    "Modified: / 09-12-2010 / 12:36:17 / cg"
 !
 
 loadPreRequisitesAsAutoloaded:asAutoloaded
@@ -5631,9 +5646,11 @@
 !
 
 isFullyLoaded
-    ^ self hasAllCompiledClassesFullyLoaded and:[self hasAllClassesLoaded and:[self hasAllExtensionsLoaded]]
+    ^ self hasAllCompiledClassesFullyLoaded 
+    and:[self hasAllClassesLoaded and:[self hasAllExtensionsLoaded]]
 
     "Created: / 24-10-2006 / 23:52:23 / cg"
+    "Modified: / 09-12-2010 / 12:32:31 / cg"
 !
 
 projectType
@@ -5730,15 +5747,16 @@
 !ProjectDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProjectDefinition.st 10594 2010-11-17 22:46:52Z vranyj1 $'
+    ^ '$Id: ProjectDefinition.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.322 2010-10-30 12:44:01 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.326 2010/12/09 11:36:24 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ProjectDefinition.st 10594 2010-11-17 22:46:52Z vranyj1 $'
+    ^ '$Id: ProjectDefinition.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 ProjectDefinition initialize!
+
--- a/ProtoObject.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ProtoObject.st	Mon Dec 20 07:13:27 2010 +0000
@@ -183,17 +183,18 @@
 !ProtoObject class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProtoObject.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ProtoObject.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ProtoObject.st,v 1.13 2009-12-01 19:59:38 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ProtoObject.st,v 1.13 2009/12/01 19:59:38 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ProtoObject.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ProtoObject.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/PrototypeLookupAlgorithm.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/PrototypeLookupAlgorithm.st	Mon Dec 20 07:13:27 2010 +0000
@@ -105,7 +105,7 @@
 !PrototypeLookupAlgorithm class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/PrototypeLookupAlgorithm.st,v 1.3 2010-04-07 16:39:47 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/PrototypeLookupAlgorithm.st,v 1.3 2010/04/07 16:39:47 cg Exp '
 !
 
 version_SVN
@@ -115,3 +115,4 @@
 
 
 
+
--- a/Query.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Query.st	Mon Dec 20 07:13:27 2010 +0000
@@ -272,15 +272,15 @@
 !Query class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Query.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Query.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Query.st,v 1.13 2009-10-01 13:44:05 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Query.st,v 1.13 2009/10/01 13:44:05 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Query.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Query.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Query initialize!
@@ -288,3 +288,4 @@
 
 
 
+
--- a/QuerySignal.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/QuerySignal.st	Mon Dec 20 07:13:27 2010 +0000
@@ -504,17 +504,18 @@
 !QuerySignal class methodsFor:'documentation'!
 
 version
-    ^ '$Id: QuerySignal.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: QuerySignal.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/QuerySignal.st,v 1.44 2009-10-01 07:27:33 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/QuerySignal.st,v 1.44 2009/10/01 07:27:33 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: QuerySignal.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: QuerySignal.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/ReadEvalPrintLoop.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ReadEvalPrintLoop.st	Mon Dec 20 07:13:27 2010 +0000
@@ -372,14 +372,15 @@
 !ReadEvalPrintLoop class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ReadEvalPrintLoop.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ReadEvalPrintLoop.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: ReadEvalPrintLoop.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ReadEvalPrintLoop.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/ReadEvalPrintLoop.st,v 1.27 2010-11-02 12:30:08 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/ReadEvalPrintLoop.st,v 1.27 2010/11/02 12:30:08 cg Exp §'
 ! !
 
+
--- a/ReadStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ReadStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -828,17 +828,18 @@
 !ReadStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ReadStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ReadStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ReadStream.st,v 1.64 2009-11-05 16:25:23 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ReadStream.st,v 1.64 2009/11/05 16:25:23 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ReadStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ReadStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Rectangle.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Rectangle.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1817,16 +1817,17 @@
 !Rectangle class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Rectangle.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Rectangle.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Rectangle.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Rectangle.st 10602 2010-12-20 07:13:27Z vranyj1 $'
    
 ! 
    
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/Rectangle.st,v 1.84 2010-07-16 14:59:40 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/Rectangle.st,v 1.84 2010/07/16 14:59:40 cg Exp §'
 ! !
 
 
+
--- a/RecursionLock.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/RecursionLock.st	Mon Dec 20 07:13:27 2010 +0000
@@ -310,17 +310,18 @@
 !RecursionLock class methodsFor:'documentation'!
 
 version
-    ^ '$Id: RecursionLock.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: RecursionLock.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/RecursionLock.st,v 1.35 2010-02-04 09:03:44 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/RecursionLock.st,v 1.35 2010/02/04 09:03:44 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: RecursionLock.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: RecursionLock.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Registry.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Registry.st	Mon Dec 20 07:13:27 2010 +0000
@@ -514,15 +514,16 @@
 !Registry class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Registry.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Registry.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: Registry.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Registry.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Registry.st,v 1.61 2010-08-11 10:06:08 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Registry.st,v 1.61 2010/08/11 10:06:08 stefan Exp '
 ! !
 
 
+
--- a/SHA1Stream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SHA1Stream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -682,15 +682,15 @@
 !SHA1Stream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SHA1Stream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SHA1Stream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SHA1Stream.st,v 1.19 2010-04-13 14:36:36 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SHA1Stream.st,v 1.19 2010/04/13 14:36:36 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SHA1Stream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SHA1Stream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 SHA1Stream initialize!
@@ -699,3 +699,4 @@
 
 
 
+
--- a/SameForAllNotification.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SameForAllNotification.st	Mon Dec 20 07:13:27 2010 +0000
@@ -45,5 +45,6 @@
 !SameForAllNotification class methodsFor:'documentation'!
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/SameForAllNotification.st,v 1.1 2010-10-14 08:38:23 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/SameForAllNotification.st,v 1.1 2010/10/14 08:38:23 cg Exp §'
 ! !
+
--- a/Semaphore.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Semaphore.st	Mon Dec 20 07:13:27 2010 +0000
@@ -366,7 +366,7 @@
     waitingProcesses isNil ifTrue:[
         waitingProcesses := Array with:aProcess
     ] ifFalse:[
-        waitingProcesses class == Array ifTrue:[
+        waitingProcesses isArray ifTrue:[
             waitingProcesses := OrderedCollection withAll:waitingProcesses.
         ].
         waitingProcesses add:aProcess.
@@ -413,13 +413,14 @@
      NOTE: Must be called when known that waitingProcesses is nonNil and
            also with blocked interrupts"
 
-    |q|
+    |processes|
 
-    q := waitingProcesses.
-    waitingProcesses := nil.
+    processes := waitingProcesses.
+"/ do not set to nil - a waiting process may be suspended and will not be resumed...
+"/    waitingProcesses := nil.
 
     "/ todo: resume by priority; higher first.
-    q do:[:each | Processor resume:each].
+    processes do:[:eachProcess | Processor resume:eachProcess].
 ! !
 
 !Semaphore methodsFor:'private-accessing'!
@@ -540,7 +541,7 @@
 
     |wasBlocked|
 
-    waitingProcesses size ~~ 0 ifTrue:[
+    waitingProcesses notNil ifTrue:[
         wasBlocked := OperatingSystem blockInterrupts.
         [
             |processes|
@@ -549,11 +550,13 @@
              (in case one has higher prio and goes into a wait immediately again.)"
 
             processes := waitingProcesses.
-            waitingProcesses := nil.
-            processes do:[:eachWaitingProcess|
-                count := count + 1.
-                Processor makeRunnable:eachWaitingProcess.
-            ].    
+            processes size ~~ 0 ifTrue:[
+                waitingProcesses := nil.
+                processes do:[:eachWaitingProcess|
+                    count := count + 1.
+                    Processor makeRunnable:eachWaitingProcess.
+                ]. 
+            ].
         ] ensure:[
             wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
         ].
@@ -920,17 +923,18 @@
 !Semaphore class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Semaphore.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Semaphore.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.83 2010-02-05 12:58:06 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.84 2010/11/30 13:13:46 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Semaphore.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Semaphore.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/SemaphoreSet.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SemaphoreSet.st	Mon Dec 20 07:13:27 2010 +0000
@@ -306,17 +306,18 @@
 !SemaphoreSet class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SemaphoreSet.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SemaphoreSet.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SemaphoreSet.st,v 1.19 2010-02-05 12:58:13 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SemaphoreSet.st,v 1.19 2010/02/05 12:58:13 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SemaphoreSet.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SemaphoreSet.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/SequenceableCollection.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SequenceableCollection.st	Mon Dec 20 07:13:27 2010 +0000
@@ -7849,15 +7849,15 @@
 !SequenceableCollection class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SequenceableCollection.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SequenceableCollection.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.299 2010-08-24 08:16:49 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.299 2010/08/24 08:16:49 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SequenceableCollection.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SequenceableCollection.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 SequenceableCollection initialize!
@@ -7868,3 +7868,4 @@
 
 
 
+
--- a/Set.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Set.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1174,15 +1174,15 @@
 !Set class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Set.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Set.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Set.st,v 1.106 2010-07-23 19:40:09 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Set.st,v 1.106 2010/07/23 19:40:09 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Set.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Set.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Set initialize!
@@ -1191,3 +1191,4 @@
 
 
 
+
--- a/SharedPool.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SharedPool.st	Mon Dec 20 07:13:27 2010 +0000
@@ -160,18 +160,19 @@
 !SharedPool class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SharedPool.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SharedPool.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SharedPool.st,v 1.10 2010-10-14 10:05:04 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SharedPool.st,v 1.10 2010/10/14 10:05:04 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SharedPool.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SharedPool.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/ShortFloat.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/ShortFloat.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1724,18 +1724,19 @@
 !ShortFloat class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ShortFloat.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ShortFloat.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ShortFloat.st,v 1.104 2010-05-05 13:56:55 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ShortFloat.st,v 1.104 2010/05/05 13:56:55 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: ShortFloat.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: ShortFloat.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/Signal.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Signal.st	Mon Dec 20 07:13:27 2010 +0000
@@ -964,18 +964,19 @@
 !Signal class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Signal.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Signal.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Signal.st,v 1.109 2010-08-10 08:35:38 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Signal.st,v 1.109 2010/08/10 08:35:38 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Signal.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Signal.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/SignalSet.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SignalSet.st	Mon Dec 20 07:13:27 2010 +0000
@@ -332,17 +332,18 @@
 !SignalSet class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SignalSet.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SignalSet.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SignalSet.st,v 1.45 2009-10-01 07:38:40 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SignalSet.st,v 1.45 2009/10/01 07:38:40 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SignalSet.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SignalSet.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/SmallInteger.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SmallInteger.st	Mon Dec 20 07:13:27 2010 +0000
@@ -3922,15 +3922,15 @@
 !SmallInteger class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SmallInteger.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmallInteger.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.187 2010-08-09 17:52:27 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.187 2010/08/09 17:52:27 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SmallInteger.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmallInteger.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
@@ -3939,3 +3939,4 @@
 
 
 
+
--- a/Smalltalk.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Smalltalk.st	Mon Dec 20 07:13:27 2010 +0000
@@ -24,7 +24,7 @@
 		BitmapDirName PackageDirName FileInDirName ChangeFileName
 		ImageStartTime ImageRestartTime DemoMode SaveEmergencyImage
 		SpecialObjectArray CallbackSignal KnownPackages
-		ClassesFailedToInitialize HasNoConsole'
+		ClassesFailedToInitialize HasNoConsole IgnoreHalt'
 	poolDictionaries:''
 	category:'System-Support'
 !
@@ -1670,6 +1670,34 @@
     ^ self primitiveFailed
 !
 
+ignoreHalt
+    "return true, if halts are ignored.
+     Usually, this is done in standAlone applications"
+
+    IgnoreHalt isNil ifTrue:[
+        ^  self isStandAloneApp 
+    ].
+    ^ IgnoreHalt
+
+    "Created: / 18-11-2010 / 11:20:16 / cg"
+!
+
+ignoreHalt:aBoolean
+    "control if halts are to be ignored; 
+     usually, this is done in standAlone applications"
+
+    IgnoreHalt := aBoolean
+
+    "
+     Smalltalk ignoreHalt:true.
+     self halt.
+     Smalltalk ignoreHalt:false.
+     self halt.
+    "
+
+    "Created: / 18-11-2010 / 11:20:27 / cg"
+!
+
 vmInstructionTrace:aBoolean
 
 
@@ -2246,6 +2274,8 @@
 
     |packageDir def sourceCodeManager|
 
+    aPackageString = 'stx:libbasic' ifTrue:[^ true].
+
     "/ if there is a projectDefinition, let it load itself...
     def := aPackageString asPackageId projectDefinitionClass.
     def notNil ifTrue:[
@@ -2280,7 +2310,7 @@
      Smalltalk loadPackageWithId:'exept:ctypes'
     "
 
-    "Modified: / 07-12-2006 / 15:04:39 / cg"
+    "Modified: / 16-11-2010 / 17:42:49 / cg"
 !
 
 loadPackage:packageId fromAllSourceFilesInDirectory:aDirectory
@@ -7498,15 +7528,15 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Smalltalk.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Smalltalk.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.944 2010-11-02 09:07:59 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.946 2010/11/18 10:26:49 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Smalltalk.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Smalltalk.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
@@ -7523,3 +7553,4 @@
 
 
 
+
--- a/SmalltalkChunkFileSourceReader.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SmalltalkChunkFileSourceReader.st	Mon Dec 20 07:13:27 2010 +0000
@@ -47,15 +47,15 @@
 !SmalltalkChunkFileSourceReader class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SmalltalkChunkFileSourceReader.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmalltalkChunkFileSourceReader.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceReader.st,v 1.5 2009-10-08 11:56:01 fm Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceReader.st,v 1.5 2009/10/08 11:56:01 fm Exp §'
 !
 
 version_SVN
-    ^ '$Id: SmalltalkChunkFileSourceReader.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmalltalkChunkFileSourceReader.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
@@ -64,3 +64,4 @@
 
 
 
+
--- a/SmalltalkChunkFileSourceWriter.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SmalltalkChunkFileSourceWriter.st	Mon Dec 20 07:13:27 2010 +0000
@@ -505,15 +505,16 @@
 !SmalltalkChunkFileSourceWriter class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SmalltalkChunkFileSourceWriter.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmalltalkChunkFileSourceWriter.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.12 2009-10-02 14:30:07 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.12 2009/10/02 14:30:07 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SmalltalkChunkFileSourceWriter.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmalltalkChunkFileSourceWriter.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
+
--- a/SmalltalkLanguage.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SmalltalkLanguage.st	Mon Dec 20 07:13:27 2010 +0000
@@ -211,17 +211,18 @@
 !SmalltalkLanguage class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SmalltalkLanguage.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmalltalkLanguage.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/SmalltalkLanguage.st,v 1.12 2009-11-12 13:53:17 stefan Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/SmalltalkLanguage.st,v 1.12 2009/11/12 13:53:17 stefan Exp §'
 !
 
 version_SVN
-    ^ '$Id: SmalltalkLanguage.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SmalltalkLanguage.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/StandaloneStartup.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/StandaloneStartup.st	Mon Dec 20 07:13:27 2010 +0000
@@ -536,7 +536,7 @@
 
     debugging := false.
     (self allowDebugOption) ifTrue:[
-        idx := argv indexOfAny:#('--debug').
+        idx := argv indexOf:'--debug'.
         idx ~~ 0 ifTrue:[
             self verboseInfo:('debug on').
             argv removeAtIndex:idx.
@@ -614,7 +614,7 @@
 
     ^ true
 
-    "Modified: / 31-10-2007 / 16:05:59 / cg"
+    "Modified: / 15-11-2010 / 14:17:34 / cg"
 !
 
 setupToolsForDebug
@@ -653,6 +653,8 @@
         ex reject.        
     ] do:[
         |idx|
+
+        Smalltalk showSplashMessage:('start').
         self verboseInfo:('starting...').
         CommandLineArguments := (self additionalArgumentsFromRegistry) 
                                 , Smalltalk commandLineArguments.
@@ -671,7 +673,6 @@
             ].
         ] ifFalse:[
             CommandLineArguments removeAtIndex:idx.
-            Verbose := true.
         ].
 
         "/ Arrive here, if no other application is running.
@@ -687,7 +688,7 @@
         self main
     ].
 
-    "Modified: / 06-10-2010 / 09:43:44 / cg"
+    "Modified: / 17-11-2010 / 10:10:22 / cg"
 !
 
 startStartBlockProcess
@@ -797,15 +798,15 @@
 !StandaloneStartup class methodsFor:'documentation'!
 
 version
-    ^ '$Id: StandaloneStartup.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: StandaloneStartup.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/StandaloneStartup.st,v 1.53 2010-10-06 07:54:45 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/StandaloneStartup.st,v 1.56 2010/11/17 09:12:07 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: StandaloneStartup.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: StandaloneStartup.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 StandaloneStartup initialize!
@@ -814,3 +815,4 @@
 
 
 
+
--- a/Stream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Stream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -3201,15 +3201,15 @@
 !Stream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Stream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Stream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Stream.st,v 1.186 2010-08-19 13:43:26 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Stream.st,v 1.186 2010/08/19 13:43:26 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Stream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Stream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Stream initialize!
@@ -3218,3 +3218,4 @@
 
 
 
+
--- a/StreamError.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/StreamError.st	Mon Dec 20 07:13:27 2010 +0000
@@ -53,17 +53,18 @@
 !StreamError class methodsFor:'documentation'!
 
 version
-    ^ '$Id: StreamError.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: StreamError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/StreamError.st,v 1.7 2010-02-04 11:42:34 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/StreamError.st,v 1.7 2010/02/04 11:42:34 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: StreamError.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: StreamError.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/String.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/String.st	Mon Dec 20 07:13:27 2010 +0000
@@ -3706,17 +3706,18 @@
 !String class methodsFor:'documentation'!
 
 version
-    ^ '$Id: String.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: String.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/String.st,v 1.272 2010-10-29 16:58:16 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/String.st,v 1.272 2010/10/29 16:58:16 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: String.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: String.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Symbol.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Symbol.st	Mon Dec 20 07:13:27 2010 +0000
@@ -717,14 +717,15 @@
 !Symbol class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Symbol.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Symbol.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.91 2010-09-21 06:57:35 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.91 2010/09/21 06:57:35 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Symbol.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Symbol.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
+
--- a/SystemChangeNotifier.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/SystemChangeNotifier.st	Mon Dec 20 07:13:27 2010 +0000
@@ -113,14 +113,15 @@
 !SystemChangeNotifier class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/SystemChangeNotifier.st,v 1.4 2010-04-14 16:13:57 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/SystemChangeNotifier.st,v 1.4 2010/04/14 16:13:57 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: SystemChangeNotifier.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: SystemChangeNotifier.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/Time.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Time.st	Mon Dec 20 07:13:27 2010 +0000
@@ -714,17 +714,18 @@
 !Time class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Time.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Time.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Time.st,v 1.87 2010-03-31 09:39:45 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Time.st,v 1.87 2010/03/31 09:39:45 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: Time.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Time.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/TimeoutNotification.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/TimeoutNotification.st	Mon Dec 20 07:13:27 2010 +0000
@@ -43,10 +43,11 @@
 !TimeoutNotification class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/TimeoutNotification.st,v 1.1 2010-08-20 10:16:29 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/TimeoutNotification.st,v 1.1 2010/08/20 10:16:29 cg Exp '
 !
 
 version_SVN
     ^ '$Id$'
 ! !
 
+
--- a/Timestamp.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Timestamp.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2436,15 +2436,15 @@
 !Timestamp class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Timestamp.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Timestamp.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Timestamp.st,v 1.131 2010-10-05 14:40:57 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Timestamp.st,v 1.131 2010/10/05 14:40:57 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Timestamp.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Timestamp.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Timestamp initialize!
@@ -2452,3 +2452,4 @@
 
 
 
+
--- a/UndefinedObject.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/UndefinedObject.st	Mon Dec 20 07:13:27 2010 +0000
@@ -691,17 +691,18 @@
 !UndefinedObject class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UndefinedObject.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UndefinedObject.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: UndefinedObject.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UndefinedObject.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.71 2010-07-28 17:20:51 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.71 2010/07/28 17:20:51 cg Exp '
 ! !
 
 UndefinedObject initialize!
 
 
+
--- a/UninterpretedBytes.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/UninterpretedBytes.st	Mon Dec 20 07:13:27 2010 +0000
@@ -2902,18 +2902,19 @@
 !UninterpretedBytes class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UninterpretedBytes.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UninterpretedBytes.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/UninterpretedBytes.st,v 1.77 2010-07-19 13:58:34 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/UninterpretedBytes.st,v 1.77 2010/07/19 13:58:34 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: UninterpretedBytes.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UninterpretedBytes.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
 
+
--- a/UnixFilename.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/UnixFilename.st	Mon Dec 20 07:13:27 2010 +0000
@@ -207,17 +207,18 @@
 !UnixFilename class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UnixFilename.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UnixFilename.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/UnixFilename.st,v 1.16 2009-10-28 14:02:12 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/UnixFilename.st,v 1.16 2009/10/28 14:02:12 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: UnixFilename.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UnixFilename.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/UnixOperatingSystem.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/UnixOperatingSystem.st	Mon Dec 20 07:13:27 2010 +0000
@@ -13106,15 +13106,15 @@
 !UnixOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UnixOperatingSystem.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UnixOperatingSystem.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.279 2010-10-29 15:25:37 stefan Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.279 2010/10/29 15:25:37 stefan Exp '
 !
 
 version_SVN
-    ^ '$Id: UnixOperatingSystem.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UnixOperatingSystem.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 UnixOperatingSystem initialize!
@@ -13127,3 +13127,4 @@
 
 
 
+
--- a/UserMessage.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/UserMessage.st	Mon Dec 20 07:13:27 2010 +0000
@@ -195,17 +195,18 @@
 !UserMessage class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UserMessage.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UserMessage.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/UserMessage.st,v 1.6 2009-10-02 00:08:10 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/UserMessage.st,v 1.6 2009/10/02 00:08:10 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: UserMessage.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UserMessage.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/UserNotification.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/UserNotification.st	Mon Dec 20 07:13:27 2010 +0000
@@ -142,15 +142,15 @@
 !UserNotification class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UserNotification.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UserNotification.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/UserNotification.st,v 1.15 2009-10-14 17:34:46 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/UserNotification.st,v 1.15 2009/10/14 17:34:46 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: UserNotification.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UserNotification.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 UserNotification initialize!
@@ -158,3 +158,4 @@
 
 
 
+
--- a/UserPreferences.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/UserPreferences.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1224,6 +1224,30 @@
     "
 !
 
+delayedMenuShowAndHide
+    "the Windows behavior of showing submenus of a menu slightly delayed,
+     to allow for short-time leaving of the mouse pointer.
+     (bug #D1480943)"
+
+    ^ self at:#delayedMenuShowAndHide ifAbsent:true
+
+    "Created: / 29-11-2010 / 19:47:21 / cg"
+!
+
+delayedMenuShowAndHide:aBoolean
+    "the Windows behavior of showing submenus of a menu slightly delayed,
+     to allow for short-time leaving of the mouse pointer.
+     (bug #D1480943)"
+
+    ^ self at:#delayedMenuShowAndHide put:aBoolean
+
+    "
+     UserPreferences current delayedMenuShowAndHide
+    "
+
+    "Created: / 29-11-2010 / 19:47:36 / cg"
+!
+
 expandSelectionOnMouseMoveWithButtonPressed
     "expand the selection in a selectionInListView if the mouse is pressed while moving over
      more lines. Default is not FALSE !!"
@@ -1409,6 +1433,23 @@
     "
 !
 
+showDottedLinesInTree
+    ^ self at:#showDottedLinesInTree ifAbsent:true
+
+    "Created: / 03-12-2010 / 11:31:46 / cg"
+!
+
+showDottedLinesInTree:aBoolean
+    ^ self at:#showDottedLinesInTree put:aBoolean
+
+    "
+     UserPreferences current showDottedLinesInTree:true.
+     UserPreferences current showDottedLinesInTree:false.
+    "
+
+    "Created: / 03-12-2010 / 11:31:53 / cg"
+!
+
 showRightButtonMenuOnRelease
     "the Windows behavior of showing the right-button menu on a release.
      Not yet fully implemented."
@@ -1450,10 +1491,44 @@
     "
 !
 
+toolTipAutoHideDelay
+    "return the time, tooltips are shown"
+
+    ^ self at:#toolTipAutoHideDelay ifAbsentPut:[FlyByHelp showTime]
+
+    "
+     UserPreferences current toolTipAutoHideDelay
+    "
+
+    "Created: / 10-11-2010 / 12:08:58 / cg"
+!
+
+toolTipAutoHideDelay:aTimeDuration
+    "set the time, tooltips are shown. Nil means: dont hide"
+
+    self at:#toolTipAutoHideDelay put:aTimeDuration.
+    FlyByHelp showTime:aTimeDuration asSeconds.
+
+    "
+     UserPreferences current toolTipAutoHideDelay:10 seconds
+    "
+
+    "Created: / 10-11-2010 / 12:09:33 / cg"
+!
+
 waitCursorVisibleTime
     "anser the time (in ms), how long a wait cursor should be visible at least"
 
     ^ 200
+!
+
+workAroundRenderingBugOnVista
+    "a temporary kludge for the vista-cleartype character redraw bug"
+
+    ^ OperatingSystem isMSWINDOWSlike
+
+    "Created: / 08-11-2010 / 14:47:52 / cg"
+    "Modified: / 09-11-2010 / 13:02:43 / cg"
 ! !
 
 !UserPreferences methodsFor:'accessing-prefs-browser'!
@@ -3386,17 +3461,18 @@
 !UserPreferences class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UserPreferences.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UserPreferences.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/UserPreferences.st,v 1.255 2010-11-01 23:00:37 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/UserPreferences.st,v 1.265 2010/12/03 10:31:59 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: UserPreferences.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: UserPreferences.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/Warning.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Warning.st	Mon Dec 20 07:13:27 2010 +0000
@@ -155,15 +155,15 @@
 !Warning class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Warning.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Warning.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Warning.st,v 1.14 2009-10-14 17:34:52 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Warning.st,v 1.14 2009/10/14 17:34:52 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Warning.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Warning.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Warning initialize!
@@ -171,3 +171,4 @@
 
 
 
+
--- a/WeakArray.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/WeakArray.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1020,18 +1020,19 @@
 !WeakArray class methodsFor:'documentation'!
 
 version
-    ^ '$Id: WeakArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: WeakArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_SVN
-    ^ '$Id: WeakArray.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: WeakArray.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.66 2010-08-11 14:11:08 sr Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.66 2010/08/11 14:11:08 sr Exp §'
 ! !
 
 WeakArray initialize!
 
 
 
+
--- a/Win32Constants.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Win32Constants.st	Mon Dec 20 07:13:27 2010 +0000
@@ -57,11 +57,11 @@
 !Win32Constants class methodsFor:'documentation'!
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Win32Constants.st,v 1.3 2010-02-01 11:29:27 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Win32Constants.st,v 1.3 2010/02/01 11:29:27 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Win32Constants.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Win32Constants.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Win32Constants initialize!
@@ -69,3 +69,4 @@
 
 
 
+
--- a/Win32OperatingSystem.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Win32OperatingSystem.st	Mon Dec 20 07:13:27 2010 +0000
@@ -1,7 +1,7 @@
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
  COPYRIGHT (c) 1998-2004 by eXept Software AG
-              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
@@ -13,161 +13,161 @@
 "{ Package: 'stx:libbasic' }"
 
 AbstractOperatingSystem subclass:#Win32OperatingSystem
-        instanceVariableNames:''
-        classVariableNames:'Initialized HostName DomainName CurrentDirectory'
-        poolDictionaries:'Win32Constants'
-        category:'OS-Windows'
+	instanceVariableNames:''
+	classVariableNames:'Initialized HostName DomainName CurrentDirectory'
+	poolDictionaries:'Win32Constants'
+	category:'OS-Windows'
 !
 
 ByteArray variableByteSubclass:#DevModeStructure
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 ByteArray variableByteSubclass:#DocInfoStructure
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Object subclass:#FileStatusInfo
-        instanceVariableNames:'type mode uid gid size id accessed modified created statusChanged
-                sourcePath linkTargetPath fullPathName alternativePathName'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:'type mode uid gid size id accessed modified created statusChanged
+		sourcePath linkTargetPath fullPathName alternativePathName'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Object subclass:#OSProcessStatus
-        instanceVariableNames:'pid status code core'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:'pid status code core'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Object subclass:#PerformanceData
-        instanceVariableNames:'objectArray perfTime perfFreq perfTime100nSec'
-        classVariableNames:'PerformanceText CounterIndexTextDictionary
-                HelpIndexTextDictionary'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:'objectArray perfTime perfFreq perfTime100nSec'
+	classVariableNames:'PerformanceText CounterIndexTextDictionary
+		HelpIndexTextDictionary'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Object subclass:#Abstract
-        instanceVariableNames:'lastData lastTimestamp cachedResults'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::PerformanceData
+	instanceVariableNames:'lastData lastTimestamp cachedResults'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::PerformanceData
 !
 
 Win32OperatingSystem::PerformanceData::Abstract subclass:#DiskIO
-        instanceVariableNames:''
-        classVariableNames:'TheOneAndOnlyInstance'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::PerformanceData
+	instanceVariableNames:''
+	classVariableNames:'TheOneAndOnlyInstance'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::PerformanceData
 !
 
 Win32OperatingSystem::PerformanceData::Abstract subclass:#Global
-        instanceVariableNames:''
-        classVariableNames:'TheOneAndOnlyInstance'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::PerformanceData
+	instanceVariableNames:''
+	classVariableNames:'TheOneAndOnlyInstance'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::PerformanceData
 !
 
 Win32OperatingSystem::PerformanceData::Abstract subclass:#Memory
-        instanceVariableNames:''
-        classVariableNames:'TheOneAndOnlyInstance'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::PerformanceData
+	instanceVariableNames:''
+	classVariableNames:'TheOneAndOnlyInstance'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::PerformanceData
 !
 
 Win32OperatingSystem::PerformanceData::Abstract subclass:#Network
-        instanceVariableNames:''
-        classVariableNames:'TheOneAndOnlyInstance'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::PerformanceData
+	instanceVariableNames:''
+	classVariableNames:'TheOneAndOnlyInstance'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::PerformanceData
 !
 
 Win32OperatingSystem::PerformanceData::Abstract subclass:#Process
-        instanceVariableNames:''
-        classVariableNames:'TheOneAndOnlyInstance'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::PerformanceData
+	instanceVariableNames:''
+	classVariableNames:'TheOneAndOnlyInstance'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::PerformanceData
 !
 
 Win32OperatingSystem::PerformanceData::Abstract subclass:#Processor
-        instanceVariableNames:''
-        classVariableNames:'TheOneAndOnlyInstance'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::PerformanceData
+	instanceVariableNames:''
+	classVariableNames:'TheOneAndOnlyInstance'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::PerformanceData
 !
 
 ByteArray variableByteSubclass:#PrinterInfo2Structure
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Object subclass:#RegistryEntry
-        instanceVariableNames:'path handle'
-        classVariableNames:'Lobby HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE
-                HKEY_USERS HKEY_PERFORMANCE_DATA HKEY_CURRENT_CONFIG
-                HKEY_DYN_DATA HKEY_PERFORMANCE_TEXT HKEY_PERFORMANCE_NLSTEXT'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:'path handle'
+	classVariableNames:'Lobby HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE
+		HKEY_USERS HKEY_PERFORMANCE_DATA HKEY_CURRENT_CONFIG
+		HKEY_DYN_DATA HKEY_PERFORMANCE_TEXT HKEY_PERFORMANCE_NLSTEXT'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 ByteArray variableByteSubclass:#TextMetricsStructure
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 OSHandle subclass:#Win32IOHandle
-        instanceVariableNames:''
-        classVariableNames:'Lobby'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:'Lobby'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Win32Handle subclass:#Win32PrinterHandle
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Win32Handle subclass:#Win32ProcessHandle
-        instanceVariableNames:'pid'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:'pid'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Win32OperatingSystem::Win32IOHandle subclass:#Win32SerialPortHandle
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Win32OperatingSystem::Win32IOHandle subclass:#Win32SocketHandle
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 ByteArray variableByteSubclass:#WinPointStructure
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 !Win32OperatingSystem primitiveDefinitions!
@@ -485,48 +485,48 @@
     tv.tv_usec = 0;
 
     if (readMode) {
-        n = select (sock + 1, & fds, NULL, NULL, & tv);
+	n = select (sock + 1, & fds, NULL, NULL, & tv);
     } else {
-        n = select (sock + 1, NULL, & fds, NULL, & tv);
+	n = select (sock + 1, NULL, & fds, NULL, & tv);
     }
 
     if (n == 0) {
-        return (0);
+	return (0);
     }
 
     if (n > 0) {
-        return ((FD_ISSET (sock, & fds)) ? 1 : 0);
+	return ((FD_ISSET (sock, & fds)) ? 1 : 0);
     }
 
     winErrNo = WSAGetLastError();
     switch (winErrNo) {
-        case WSAENOTSOCK:
-            if (readMode) {
-
-                DWORD  w = 0;
-                HANDLE h = (HANDLE) _get_osfhandle (aFD);
-
-                if (PeekNamedPipe (h, 0, 0, 0, & w, 0)) {
-                    if( !__isWinNT || w > 0 )
-                        return (1);
-
-                    return (0);
-                }
+	case WSAENOTSOCK:
+	    if (readMode) {
+
+		DWORD  w = 0;
+		HANDLE h = (HANDLE) _get_osfhandle (aFD);
+
+		if (PeekNamedPipe (h, 0, 0, 0, & w, 0)) {
+		    if( !__isWinNT || w > 0 )
+			return (1);
+
+		    return (0);
+		}
 #if 0
-                console_fprintf(stderr, "_canAccessIOWithoutBlocking non Socket\n");
-#endif
-                return (-1);
-            }
-            /* in writeMode we return allways true for none-sockets */
-            return (1);
-
-        case WSAEINPROGRESS:
-        case WSAEWOULDBLOCK:
-            return (0);
-
-        default:
-            console_fprintf(stderr, "_canAccessIOWithoutBlocking -> %d (0x%x)\n", winErrNo, winErrNo);
-            return (-1);
+		console_fprintf(stderr, "_canAccessIOWithoutBlocking non Socket\n");
+#endif
+		return (-1);
+	    }
+	    /* in writeMode we return allways true for none-sockets */
+	    return (1);
+
+	case WSAEINPROGRESS:
+	case WSAEWOULDBLOCK:
+	    return (0);
+
+	default:
+	    console_fprintf(stderr, "_canAccessIOWithoutBlocking -> %d (0x%x)\n", winErrNo, winErrNo);
+	    return (-1);
     }
 
     /* not reached */
@@ -548,7 +548,7 @@
     FARPROC entry;
 
     if (*pLibHandle == NULL) {
-        *pLibHandle = LoadLibrary(libraryName);
+	*pLibHandle = LoadLibrary(libraryName);
     }
     entry = GetProcAddress(*pLibHandle, functionName);
     return entry;
@@ -607,7 +607,7 @@
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
  COPYRIGHT (c) 1998-2004 by eXept Software AG
-              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
@@ -637,90 +637,90 @@
 
     [Class variables:]
 
-        HostName        <String>        remembered hostname
-
-        DomainName      <String>        remembered domainname
-
-        CurrentDirectory <String>       remembered currentDirectories path
+	HostName        <String>        remembered hostname
+
+	DomainName      <String>        remembered domainname
+
+	CurrentDirectory <String>       remembered currentDirectories path
 
     [author:]
-        Claus Gittinger (initial version & cleanup)
-        Manfred Dierolf (many features)
+	Claus Gittinger (initial version & cleanup)
+	Manfred Dierolf (many features)
 
     [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]
 "
 ! !
 
@@ -732,18 +732,18 @@
 
     if( ! coInitialized ) {
 #ifdef NO_NT4_0_COMPATIBILITY
-        FARPROC CoInitializeEx_entry = (FARPROC) CoInitializeEx;
-#else
-        FARPROC CoInitializeEx_entry = __get_ole32_functionAddress("CoInitializeEx");
+	FARPROC CoInitializeEx_entry = (FARPROC) CoInitializeEx;
+#else
+	FARPROC CoInitializeEx_entry = __get_ole32_functionAddress("CoInitializeEx");
 #endif /* NO_NT4_0_COMPATIBILITY */
-        hres = (*CoInitializeEx_entry)(NULL, COINIT_MULTITHREADED);
-        if (! SUCCEEDED(hres)) {
-            console_fprintf(stderr, "OperatingSystem [info]: Could not open the COM library hres = %08x\n", hres );
-            goto error;
-        }
-        coInitialized = 1;
+	hres = (*CoInitializeEx_entry)(NULL, COINIT_MULTITHREADED);
+	if (! SUCCEEDED(hres)) {
+	    console_fprintf(stderr, "OperatingSystem [info]: Could not open the COM library hres = %08x\n", hres );
+	    goto error;
+	}
+	coInitialized = 1;
 #ifdef COM_DEBUG
-        console_fprintf(stderr, "OperatingSystem [info]: COM initialized\n" );
+	console_fprintf(stderr, "OperatingSystem [info]: COM initialized\n" );
 #endif
     }
     RETURN (self );
@@ -765,9 +765,9 @@
     GetVersionEx (&osvi);
 
     if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) {
-        __isWinNT = 1;
+	__isWinNT = 1;
     } else {
-        __isWinNT = 0;
+	__isWinNT = 0;
     }
 %}.
 !
@@ -777,14 +777,14 @@
 
     "/ attention: must be ok to be called twice during startup.
     Initialized == nil ifTrue:[
-        Initialized := true.
-        ObjectMemory addDependent:self.
-        HostName := nil.
-        DomainName := nil.
-        LastErrorNumber := nil.
-        PipeFailed := false.
-        self initOSType.
-        self coInitialize.
+	Initialized := true.
+	ObjectMemory addDependent:self.
+	HostName := nil.
+	DomainName := nil.
+	LastErrorNumber := nil.
+	PipeFailed := false.
+	self initOSType.
+	self coInitialize.
     ].
 
     "Modified: 13.9.1997 / 10:47:32 / cg"
@@ -794,15 +794,15 @@
     "catch image restart and flush some cached data"
 
     something == #earlyRestart ifTrue:[
-        "
-         flush cached data
-        "
-        HostName := nil.
-        DomainName := nil.
-        LastErrorNumber := nil.
-        PipeFailed := false.
-        self initOSType.
-        self coInitialize.
+	"
+	 flush cached data
+	"
+	HostName := nil.
+	DomainName := nil.
+	LastErrorNumber := nil.
+	PipeFailed := false.
+	self initOSType.
+	self coInitialize.
     ]
 
     "Modified: 22.4.1996 / 13:10:43 / cg"
@@ -1397,7 +1397,7 @@
 
     lp = __win32_getLogFilename();
     if (lp) {
-        ret = __MKSTRING(lp);
+	ret = __MKSTRING(lp);
     }
 %}.
     ^ ret
@@ -1415,16 +1415,16 @@
     |logFilePath|
 
     aFilenameOrNil notNil ifTrue:[
-        logFilePath := aFilenameOrNil asFilename pathName
+	logFilePath := aFilenameOrNil asFilename pathName
     ].
 
 %{
     extern void __win32_setLogFile();
 
     if (__isStringLike(logFilePath)) {
-        __win32_setLogFile(__stringVal(logFilePath));
+	__win32_setLogFile(__stringVal(logFilePath));
     } else {
-        __win32_setLogFile( NULL );
+	__win32_setLogFile( NULL );
     }
 %}
 
@@ -1443,14 +1443,14 @@
 !Win32OperatingSystem class methodsFor:'clipboard'!
 
 clipboardContainsBitmap
-        "Answer whether the clipboard contains a bitmap."
+	"Answer whether the clipboard contains a bitmap."
 
     ^self clipboardContainsFormat: 2 "CfBitmap"
 !
 
 clipboardContainsFormat: aCfConstant
-        "Answer true if the clipboard contains data in
-         the format described by aCfConstant.  "
+	"Answer true if the clipboard contains data in
+	 the format described by aCfConstant.  "
 
     ^self primIsClipboardFormatAvailable: aCfConstant
 !
@@ -1463,7 +1463,7 @@
 !
 
 emptyClipboard
-        "Private - empty the clipboard. Note: it must be opened first."
+	"Private - empty the clipboard. Note: it must be opened first."
     | result |
     result := self primEmptyClipboard.
     result ifFalse: [ ^self error].
@@ -1524,7 +1524,7 @@
 !
 
 setBitmapToClipboard: aBitmap
-        "Copy aBitmap to the clipboard."
+	"Copy aBitmap to the clipboard."
     | handle |
     aBitmap isNil ifTrue:[ ^nil ].
     aBitmap id isNil ifTrue:[aBitmap onDevice: Screen current].
@@ -1536,7 +1536,7 @@
     self closeClipboard
 
     "
-        self setBitmapToClipboard: Image fromUser
+	self setBitmapToClipboard: Image fromUser
     "
 !
 
@@ -1583,818 +1583,818 @@
       int __eno = __unsignedLongIntVal(errNr);
 
       if (__isWIN32Error(__eno)) {
-        switch (__eno & 0xFFFF) {
-            /*
-             * WIN32 GetLastError returns
-             */
-            case ERROR_INVALID_FUNCTION:
-                sym = @symbol(ERROR_INVALID_FUNCTION);
-                typ = @symbol(illegalOperationSignal);
-                break;
-
-            case ERROR_BAD_FORMAT:
-                sym = @symbol(ERROR_BAD_FORMAT);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            case ERROR_FILE_NOT_FOUND:
-                sym = @symbol(ERROR_FILE_NOT_FOUND);
-                typ = @symbol(nonexistentSignal);
-                break;
-
-            case ERROR_PATH_NOT_FOUND:
-                sym = @symbol(ERROR_PATH_NOT_FOUND);
-                typ = @symbol(nonexistentSignal);
-                break;
-
-            case ERROR_TOO_MANY_OPEN_FILES:
-                sym = @symbol(ERROR_TOO_MANY_OPEN_FILES);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            /*
-             * what a nice errorCode - thats the most "useful" one I ever
-             * encountered ... (... those stupid micro-softies ...)
-             */
-            case ERROR_OPEN_FAILED:
-                sym = @symbol(ERROR_OPEN_FAILED);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_ACCESS_DENIED:
-                sym = @symbol(ERROR_ACCESS_DENIED);
-                typ = @symbol(noPermissionsSignal);
-                break;
-
-            case ERROR_INVALID_HANDLE:
-                sym = @symbol(ERROR_INVALID_HANDLE);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            case ERROR_NOT_ENOUGH_MEMORY:
-                sym = @symbol(ERROR_NOT_ENOUGH_MEMORY);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_INVALID_ACCESS:
-                sym = @symbol(ERROR_INVALID_ACCESS);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
-
-            case ERROR_INVALID_DATA:
-                sym = @symbol(ERROR_INVALID_DATA);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            case ERROR_INVALID_NAME:
-                sym = @symbol(ERROR_INVALID_NAME);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            case ERROR_ARENA_TRASHED:
-                sym = @symbol(ERROR_ARENA_TRASHED);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_OUTOFMEMORY:
-                sym = @symbol(ERROR_OUTOFMEMORY);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_BROKEN_PIPE:
-                sym = @symbol(ERROR_BROKEN_PIPE);
-                typ = @symbol(peerFaultSignal);
-                break;
-
-            case ERROR_GEN_FAILURE:
-                sym = @symbol(ERROR_GEN_FAILURE);
-                break;
-
-            case ERROR_WRITE_PROTECT:
-                sym = @symbol(ERROR_WRITE_PROTECT);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
-
-            case ERROR_WRITE_FAULT:
-                sym = @symbol(ERROR_WRITE_FAULT);
-                typ = @symbol(transferFaultSignal);
-                break;
-
-            case ERROR_READ_FAULT:
-                sym = @symbol(ERROR_READ_FAULT);
-                typ = @symbol(transferFaultSignal);
-                break;
-
-            case ERROR_HANDLE_DISK_FULL:
-                sym = @symbol(ERROR_HANDLE_DISK_FULL);
-                typ = @symbol(volumeFullSignal);
-                break;
-
-            case ERROR_DISK_FULL:
-                sym = @symbol(ERROR_DISK_FULL);
-                typ = @symbol(volumeFullSignal);
-                break;
-
-            case ERROR_SHARING_VIOLATION:
-                sym = @symbol(ERROR_SHARING_VIOLATION);
-                typ = @symbol(noPermissionsSignal);
-                break;
-
-            case ERROR_LOCK_VIOLATION:
-                sym = @symbol(ERROR_LOCK_VIOLATION);
-                typ = @symbol(noPermissionsSignal);
-                break;
-
-            case ERROR_INVALID_PARAMETER:
-                sym = @symbol(ERROR_INVALID_PARAMETER);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            case ERROR_NET_WRITE_FAULT:
-                sym = @symbol(ERROR_NET_WRITE_FAULT);
-                typ = @symbol(transferFaultSignal);
-                break;
-
-            case ERROR_NOT_SUPPORTED:
-                sym = @symbol(ERROR_NOT_SUPPORTED);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
-
-            case ERROR_REM_NOT_LIST:
-                sym = @symbol(ERROR_REM_NOT_LIST);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_NETWORK_ACCESS_DENIED:
-                sym = @symbol(ERROR_NETWORK_ACCESS_DENIED);
-                typ = @symbol(noPermissionsSignal);
-                break;
-
-            case ERROR_DUP_NAME:
-                sym = @symbol(ERROR_DUP_NAME);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_BAD_NETPATH:
-                sym = @symbol(ERROR_BAD_NETPATH);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_NETWORK_BUSY:
-                sym = @symbol(ERROR_NETWORK_BUSY);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_DRIVE_LOCKED:
-                sym = @symbol(ERROR_DRIVE_LOCKED);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
-
-            case ERROR_INVALID_DRIVE:
-                sym = @symbol(ERROR_INVALID_DRIVE);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            case ERROR_WRONG_DISK:
-                sym = @symbol(ERROR_WRONG_DISK);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_CURRENT_DIRECTORY:
-                sym = @symbol(ERROR_CURRENT_DIRECTORY);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            /*
-             * what a nice errorCode - thats the most "useful" one I ever
-             * encountered ... (... those stupid micro-softies ...)
-             */
-            case ERROR_CANNOT_MAKE:
-                sym = @symbol(ERROR_CANNOT_MAKE);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
-
-            case ERROR_NO_MORE_FILES:
-                sym = @symbol(ERROR_NO_MORE_FILES);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_NOT_READY:
-                sym = @symbol(ERROR_NOT_READY);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_NOT_DOS_DISK:
-                sym = @symbol(ERROR_NOT_DOS_DISK);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
-
-            case ERROR_OUT_OF_PAPER:
-                sym = @symbol(ERROR_OUT_OF_PAPER);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_PRINTQ_FULL:
-                sym = @symbol(ERROR_PRINTQ_FULL);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            default:
-                sym = nil;
-                break;
-        }
+	switch (__eno & 0xFFFF) {
+	    /*
+	     * WIN32 GetLastError returns
+	     */
+	    case ERROR_INVALID_FUNCTION:
+		sym = @symbol(ERROR_INVALID_FUNCTION);
+		typ = @symbol(illegalOperationSignal);
+		break;
+
+	    case ERROR_BAD_FORMAT:
+		sym = @symbol(ERROR_BAD_FORMAT);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    case ERROR_FILE_NOT_FOUND:
+		sym = @symbol(ERROR_FILE_NOT_FOUND);
+		typ = @symbol(nonexistentSignal);
+		break;
+
+	    case ERROR_PATH_NOT_FOUND:
+		sym = @symbol(ERROR_PATH_NOT_FOUND);
+		typ = @symbol(nonexistentSignal);
+		break;
+
+	    case ERROR_TOO_MANY_OPEN_FILES:
+		sym = @symbol(ERROR_TOO_MANY_OPEN_FILES);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    /*
+	     * what a nice errorCode - thats the most "useful" one I ever
+	     * encountered ... (... those stupid micro-softies ...)
+	     */
+	    case ERROR_OPEN_FAILED:
+		sym = @symbol(ERROR_OPEN_FAILED);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_ACCESS_DENIED:
+		sym = @symbol(ERROR_ACCESS_DENIED);
+		typ = @symbol(noPermissionsSignal);
+		break;
+
+	    case ERROR_INVALID_HANDLE:
+		sym = @symbol(ERROR_INVALID_HANDLE);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    case ERROR_NOT_ENOUGH_MEMORY:
+		sym = @symbol(ERROR_NOT_ENOUGH_MEMORY);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_INVALID_ACCESS:
+		sym = @symbol(ERROR_INVALID_ACCESS);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
+
+	    case ERROR_INVALID_DATA:
+		sym = @symbol(ERROR_INVALID_DATA);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    case ERROR_INVALID_NAME:
+		sym = @symbol(ERROR_INVALID_NAME);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    case ERROR_ARENA_TRASHED:
+		sym = @symbol(ERROR_ARENA_TRASHED);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_OUTOFMEMORY:
+		sym = @symbol(ERROR_OUTOFMEMORY);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_BROKEN_PIPE:
+		sym = @symbol(ERROR_BROKEN_PIPE);
+		typ = @symbol(peerFaultSignal);
+		break;
+
+	    case ERROR_GEN_FAILURE:
+		sym = @symbol(ERROR_GEN_FAILURE);
+		break;
+
+	    case ERROR_WRITE_PROTECT:
+		sym = @symbol(ERROR_WRITE_PROTECT);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
+
+	    case ERROR_WRITE_FAULT:
+		sym = @symbol(ERROR_WRITE_FAULT);
+		typ = @symbol(transferFaultSignal);
+		break;
+
+	    case ERROR_READ_FAULT:
+		sym = @symbol(ERROR_READ_FAULT);
+		typ = @symbol(transferFaultSignal);
+		break;
+
+	    case ERROR_HANDLE_DISK_FULL:
+		sym = @symbol(ERROR_HANDLE_DISK_FULL);
+		typ = @symbol(volumeFullSignal);
+		break;
+
+	    case ERROR_DISK_FULL:
+		sym = @symbol(ERROR_DISK_FULL);
+		typ = @symbol(volumeFullSignal);
+		break;
+
+	    case ERROR_SHARING_VIOLATION:
+		sym = @symbol(ERROR_SHARING_VIOLATION);
+		typ = @symbol(noPermissionsSignal);
+		break;
+
+	    case ERROR_LOCK_VIOLATION:
+		sym = @symbol(ERROR_LOCK_VIOLATION);
+		typ = @symbol(noPermissionsSignal);
+		break;
+
+	    case ERROR_INVALID_PARAMETER:
+		sym = @symbol(ERROR_INVALID_PARAMETER);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    case ERROR_NET_WRITE_FAULT:
+		sym = @symbol(ERROR_NET_WRITE_FAULT);
+		typ = @symbol(transferFaultSignal);
+		break;
+
+	    case ERROR_NOT_SUPPORTED:
+		sym = @symbol(ERROR_NOT_SUPPORTED);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
+
+	    case ERROR_REM_NOT_LIST:
+		sym = @symbol(ERROR_REM_NOT_LIST);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_NETWORK_ACCESS_DENIED:
+		sym = @symbol(ERROR_NETWORK_ACCESS_DENIED);
+		typ = @symbol(noPermissionsSignal);
+		break;
+
+	    case ERROR_DUP_NAME:
+		sym = @symbol(ERROR_DUP_NAME);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_BAD_NETPATH:
+		sym = @symbol(ERROR_BAD_NETPATH);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_NETWORK_BUSY:
+		sym = @symbol(ERROR_NETWORK_BUSY);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_DRIVE_LOCKED:
+		sym = @symbol(ERROR_DRIVE_LOCKED);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
+
+	    case ERROR_INVALID_DRIVE:
+		sym = @symbol(ERROR_INVALID_DRIVE);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    case ERROR_WRONG_DISK:
+		sym = @symbol(ERROR_WRONG_DISK);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_CURRENT_DIRECTORY:
+		sym = @symbol(ERROR_CURRENT_DIRECTORY);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    /*
+	     * what a nice errorCode - thats the most "useful" one I ever
+	     * encountered ... (... those stupid micro-softies ...)
+	     */
+	    case ERROR_CANNOT_MAKE:
+		sym = @symbol(ERROR_CANNOT_MAKE);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
+
+	    case ERROR_NO_MORE_FILES:
+		sym = @symbol(ERROR_NO_MORE_FILES);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_NOT_READY:
+		sym = @symbol(ERROR_NOT_READY);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_NOT_DOS_DISK:
+		sym = @symbol(ERROR_NOT_DOS_DISK);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
+
+	    case ERROR_OUT_OF_PAPER:
+		sym = @symbol(ERROR_OUT_OF_PAPER);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_PRINTQ_FULL:
+		sym = @symbol(ERROR_PRINTQ_FULL);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    default:
+		sym = nil;
+		break;
+	}
       } else {
-        switch (__eno) {
-            /*
-             * POSIX errnos - these should be defined
-             */
+	switch (__eno) {
+	    /*
+	     * POSIX errnos - these should be defined
+	     */
 #ifdef EPERM
-            case EPERM:
-                sym = @symbol(EPERM);
-                typ = @symbol(noPermissionsSignal);
-                break;
+	    case EPERM:
+		sym = @symbol(EPERM);
+		typ = @symbol(noPermissionsSignal);
+		break;
 #endif
 #ifdef ENOENT
-            case ENOENT:
-                sym = @symbol(ENOENT);
-                typ = @symbol(nonexistentSignal);
-                break;
+	    case ENOENT:
+		sym = @symbol(ENOENT);
+		typ = @symbol(nonexistentSignal);
+		break;
 #endif
 #ifdef ESRCH
-            case ESRCH:
-                sym = @symbol(ESRCH);
-                typ = @symbol(unavailableReferentSignal);
-                break;
+	    case ESRCH:
+		sym = @symbol(ESRCH);
+		typ = @symbol(unavailableReferentSignal);
+		break;
 #endif
 #ifdef EINTR
-            case EINTR:
-                sym = @symbol(EINTR);
-                typ = @symbol(transientErrorSignal);
-                break;
+	    case EINTR:
+		sym = @symbol(EINTR);
+		typ = @symbol(transientErrorSignal);
+		break;
 #endif
 #ifdef EIO
-            case EIO:
-                sym = @symbol(EIO);
-                typ = @symbol(transferFaultSignal);
-                break;
+	    case EIO:
+		sym = @symbol(EIO);
+		typ = @symbol(transferFaultSignal);
+		break;
 #endif
 #ifdef ENXIO
-            case ENXIO:
-                sym = @symbol(ENXIO);
-                typ = @symbol(unavailableReferentSignal);
-                break;
+	    case ENXIO:
+		sym = @symbol(ENXIO);
+		typ = @symbol(unavailableReferentSignal);
+		break;
 #endif
 #ifdef E2BIG
-            case E2BIG:
-                sym = @symbol(E2BIG);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
+	    case E2BIG:
+		sym = @symbol(E2BIG);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
 #endif
 #ifdef ENOEXEC
-            case ENOEXEC:
-                sym = @symbol(ENOEXEC);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case ENOEXEC:
+		sym = @symbol(ENOEXEC);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EBADF
-            case EBADF:
-                sym = @symbol(EBADF);
-                typ = @symbol(badAccessorSignal);
-                break;
+	    case EBADF:
+		sym = @symbol(EBADF);
+		typ = @symbol(badAccessorSignal);
+		break;
 #endif
 #ifdef ECHILD
-            case ECHILD:
-                sym = @symbol(ECHILD);
-                typ = @symbol(informationSignal);
-                break;
+	    case ECHILD:
+		sym = @symbol(ECHILD);
+		typ = @symbol(informationSignal);
+		break;
 #endif
 #if !defined(EWOULDBLOCK) && defined(EAGAIN) && (EWOULDBLOCK != EAGAIN)
-            case EAGAIN:
-                sym = @symbol(EAGAIN);
-                typ = @symbol(notReadySignal);
-                break;
+	    case EAGAIN:
+		sym = @symbol(EAGAIN);
+		typ = @symbol(notReadySignal);
+		break;
 #endif
 #ifdef ENOMEM
-            case ENOMEM:
-                sym = @symbol(ENOMEM);
-                typ = @symbol(noMemorySignal);
-                break;
+	    case ENOMEM:
+		sym = @symbol(ENOMEM);
+		typ = @symbol(noMemorySignal);
+		break;
 #endif
 #ifdef EACCES
-            case EACCES:
-                sym = @symbol(EACCES);
-                typ = @symbol(noPermissionsSignal);
-                break;
+	    case EACCES:
+		sym = @symbol(EACCES);
+		typ = @symbol(noPermissionsSignal);
+		break;
 #endif
 #ifdef EFAULT
-            case EFAULT:
-                sym = @symbol(EFAULT);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
+	    case EFAULT:
+		sym = @symbol(EFAULT);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
 #endif
 #ifdef EBUSY
-            case EBUSY:
-                sym = @symbol(EBUSY);
-                typ = @symbol(unavailableReferentSignal);
-                break;
+	    case EBUSY:
+		sym = @symbol(EBUSY);
+		typ = @symbol(unavailableReferentSignal);
+		break;
 #endif
 #ifdef EEXIST
-            case EEXIST:
-                sym = @symbol(EEXIST);
-                typ = @symbol(existingReferentSignal);
-                break;
+	    case EEXIST:
+		sym = @symbol(EEXIST);
+		typ = @symbol(existingReferentSignal);
+		break;
 #endif
 #ifdef EXDEV
-            case EXDEV:
-                sym = @symbol(EXDEV);
-                typ = @symbol(inappropriateReferentSignal);
-                break;
+	    case EXDEV:
+		sym = @symbol(EXDEV);
+		typ = @symbol(inappropriateReferentSignal);
+		break;
 #endif
 #ifdef ENODEV
-            case ENODEV:
-                sym = @symbol(ENODEV);
-                typ = @symbol(inaccessibleSignal);
-                break;
+	    case ENODEV:
+		sym = @symbol(ENODEV);
+		typ = @symbol(inaccessibleSignal);
+		break;
 #endif
 #ifdef ENOTDIR
-            case ENOTDIR:
-                sym = @symbol(ENOTDIR);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case ENOTDIR:
+		sym = @symbol(ENOTDIR);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EISDIR
-            case EISDIR:
-                sym = @symbol(EISDIR);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case EISDIR:
+		sym = @symbol(EISDIR);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EINVAL
-            case EINVAL:
-                sym = @symbol(EINVAL);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
+	    case EINVAL:
+		sym = @symbol(EINVAL);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
 #endif
 #ifdef ENFILE
-            case ENFILE:
-                sym = @symbol(ENFILE);
-                typ = @symbol(noResourcesSignal);
-                break;
+	    case ENFILE:
+		sym = @symbol(ENFILE);
+		typ = @symbol(noResourcesSignal);
+		break;
 #endif
 #ifdef EMFILE
-            case EMFILE:
-                sym = @symbol(EMFILE);
-                typ = @symbol(noResourcesSignal);
-                break;
+	    case EMFILE:
+		sym = @symbol(EMFILE);
+		typ = @symbol(noResourcesSignal);
+		break;
 #endif
 #ifdef ENOTTY
-            case ENOTTY:
-                sym = @symbol(ENOTTY);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case ENOTTY:
+		sym = @symbol(ENOTTY);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EFBIG
-            case EFBIG:
-                sym = @symbol(EFBIG);
-                typ = @symbol(noResourcesSignal);
-                break;
+	    case EFBIG:
+		sym = @symbol(EFBIG);
+		typ = @symbol(noResourcesSignal);
+		break;
 #endif
 #ifdef ENOSPC
-            case ENOSPC:
-                sym = @symbol(ENOSPC);
-                typ = @symbol(noResourcesSignal);
-                break;
+	    case ENOSPC:
+		sym = @symbol(ENOSPC);
+		typ = @symbol(noResourcesSignal);
+		break;
 #endif
 #ifdef ESPIPE
-            case ESPIPE:
-                sym = @symbol(ESPIPE);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case ESPIPE:
+		sym = @symbol(ESPIPE);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EROFS
-            case EROFS:
-                sym = @symbol(EROFS);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case EROFS:
+		sym = @symbol(EROFS);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EMLINK
-            case EMLINK:
-                sym = @symbol(EMLINK);
-                typ = @symbol(rangeErrorSignal);
-                break;
+	    case EMLINK:
+		sym = @symbol(EMLINK);
+		typ = @symbol(rangeErrorSignal);
+		break;
 #endif
 #ifdef EPIPE
-            case EPIPE:
-                sym = @symbol(EPIPE);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case EPIPE:
+		sym = @symbol(EPIPE);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef EDOM
-            case EDOM:
-                sym = @symbol(EDOM);
-                typ = @symbol(rangeErrorSignal);
-                break;
+	    case EDOM:
+		sym = @symbol(EDOM);
+		typ = @symbol(rangeErrorSignal);
+		break;
 #endif
 #ifdef ERANGE
-            case ERANGE:
-                sym = @symbol(ERANGE);
-                typ = @symbol(rangeErrorSignal);
-                break;
+	    case ERANGE:
+		sym = @symbol(ERANGE);
+		typ = @symbol(rangeErrorSignal);
+		break;
 #endif
 #ifdef EDEADLK
 # if EDEADLK != EWOULDBLOCK
-            case EDEADLK:
-                sym = @symbol(EDEADLK);
-                typ = @symbol(noResourcesSignal);
-                break;
+	    case EDEADLK:
+		sym = @symbol(EDEADLK);
+		typ = @symbol(noResourcesSignal);
+		break;
 # endif
 #endif
 #ifdef ENAMETOOLONG
-            case ENAMETOOLONG:
-                sym = @symbol(ENAMETOOLONG);
-                typ = @symbol(rangeErrorSignal);
-                break;
+	    case ENAMETOOLONG:
+		sym = @symbol(ENAMETOOLONG);
+		typ = @symbol(rangeErrorSignal);
+		break;
 #endif
 #ifdef ENOLCK
-            case ENOLCK:
-                sym = @symbol(ENOLCK);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case ENOLCK:
+		sym = @symbol(ENOLCK);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef ENOSYS
-            case ENOSYS:
-                sym = @symbol(ENOSYS);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case ENOSYS:
+		sym = @symbol(ENOSYS);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST)
-            case ENOTEMPTY:
-                sym = @symbol(ENOTEMPTY);
-                typ = @symbol(inappropriateReferentSignal);
-                break;
+	    case ENOTEMPTY:
+		sym = @symbol(ENOTEMPTY);
+		typ = @symbol(inappropriateReferentSignal);
+		break;
 #endif
 #ifdef EILSEQ
-            case EILSEQ:
-                sym = @symbol(EILSEQ);
-                typ = @symbol(transferFaultSignal);
-                break;
-#endif
-            /*
-             * XPG3 errnos - defined on most systems
-             */
+	    case EILSEQ:
+		sym = @symbol(EILSEQ);
+		typ = @symbol(transferFaultSignal);
+		break;
+#endif
+	    /*
+	     * XPG3 errnos - defined on most systems
+	     */
 #ifdef ENOTBLK
-            case ENOTBLK:
-                sym = @symbol(ENOTBLK);
-                typ = @symbol(inappropriateReferentSignal);
-                break;
+	    case ENOTBLK:
+		sym = @symbol(ENOTBLK);
+		typ = @symbol(inappropriateReferentSignal);
+		break;
 #endif
 #ifdef ETXTBSY
-            case ETXTBSY:
-                sym = @symbol(ETXTBSY);
-                typ = @symbol(inaccessibleSignal);
-                break;
-#endif
-            /*
-             * some others
-             */
+	    case ETXTBSY:
+		sym = @symbol(ETXTBSY);
+		typ = @symbol(inaccessibleSignal);
+		break;
+#endif
+	    /*
+	     * some others
+	     */
 #ifdef EWOULDBLOCK
-            case EWOULDBLOCK:
-                sym = @symbol(EWOULDBLOCK);
-                typ = @symbol(notReadySignal);
-                break;
+	    case EWOULDBLOCK:
+		sym = @symbol(EWOULDBLOCK);
+		typ = @symbol(notReadySignal);
+		break;
 #endif
 #ifdef ENOMSG
-            case ENOMSG:
-                sym = @symbol(ENOMSG);
-                typ = @symbol(noDataSignal);
-                break;
+	    case ENOMSG:
+		sym = @symbol(ENOMSG);
+		typ = @symbol(noDataSignal);
+		break;
 #endif
 #ifdef ELOOP
-            case ELOOP:
-                sym = @symbol(ELOOP);
-                typ = @symbol(rangeErrorSignal);
-                break;
-#endif
-
-            /*
-             * some stream errors
-             */
+	    case ELOOP:
+		sym = @symbol(ELOOP);
+		typ = @symbol(rangeErrorSignal);
+		break;
+#endif
+
+	    /*
+	     * some stream errors
+	     */
 #ifdef ETIME
-            case ETIME:
-                sym = @symbol(ETIME);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ETIME:
+		sym = @symbol(ETIME);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef ENOSR
-            case ENOSR:
-                sym = @symbol(ENOSR);
-                typ = @symbol(noResourcesSignal);
-                break;
+	    case ENOSR:
+		sym = @symbol(ENOSR);
+		typ = @symbol(noResourcesSignal);
+		break;
 #endif
 #ifdef ENOSTR
-            case ENOSTR:
-                sym = @symbol(ENOSTR);
-                typ = @symbol(inappropriateReferentSignal);
-                break;
+	    case ENOSTR:
+		sym = @symbol(ENOSTR);
+		typ = @symbol(inappropriateReferentSignal);
+		break;
 #endif
 #ifdef ECOMM
-            case ECOMM:
-                sym = @symbol(ECOMM);
-                typ = @symbol(transferFaultSignal);
-                break;
+	    case ECOMM:
+		sym = @symbol(ECOMM);
+		typ = @symbol(transferFaultSignal);
+		break;
 #endif
 #ifdef EPROTO
-            case EPROTO:
-                sym = @symbol(EPROTO);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
-#endif
-            /*
-             * nfs errors
-             */
+	    case EPROTO:
+		sym = @symbol(EPROTO);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
+#endif
+	    /*
+	     * nfs errors
+	     */
 #ifdef ESTALE
-            case ESTALE:
-                sym = @symbol(ESTALE);
-                typ = @symbol(unavailableReferentSignal);
-                break;
+	    case ESTALE:
+		sym = @symbol(ESTALE);
+		typ = @symbol(unavailableReferentSignal);
+		break;
 #endif
 #ifdef EREMOTE
-            case EREMOTE:
-                sym = @symbol(EREMOTE);
-                typ = @symbol(rangeErrorSignal);
-                break;
-#endif
-            /*
-             * some networking errors
-             */
+	    case EREMOTE:
+		sym = @symbol(EREMOTE);
+		typ = @symbol(rangeErrorSignal);
+		break;
+#endif
+	    /*
+	     * some networking errors
+	     */
 #ifdef EINPROGRESS
-            case EINPROGRESS:
-                sym = @symbol(EINPROGRESS);
-                typ = @symbol(operationStartedSignal);
-                break;
+	    case EINPROGRESS:
+		sym = @symbol(EINPROGRESS);
+		typ = @symbol(operationStartedSignal);
+		break;
 #endif
 #ifdef EALREADY
-            case EALREADY:
-                sym = @symbol(EALREADY);
-                typ = @symbol(operationStartedSignal);
-                break;
+	    case EALREADY:
+		sym = @symbol(EALREADY);
+		typ = @symbol(operationStartedSignal);
+		break;
 #endif
 #ifdef ENOTSOCK
-            case ENOTSOCK:
-                sym = @symbol(ENOTSOCK);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case ENOTSOCK:
+		sym = @symbol(ENOTSOCK);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EDESTADDRREQ
-            case EDESTADDRREQ:
-                sym = @symbol(EDESTADDRREQ);
-                typ = @symbol(underspecifiedSignal);
-                break;
+	    case EDESTADDRREQ:
+		sym = @symbol(EDESTADDRREQ);
+		typ = @symbol(underspecifiedSignal);
+		break;
 #endif
 #ifdef EMSGSIZE
-            case EMSGSIZE:
-                sym = @symbol(EMSGSIZE);
-                typ = @symbol(rangeErrorSignal);
-                break;
+	    case EMSGSIZE:
+		sym = @symbol(EMSGSIZE);
+		typ = @symbol(rangeErrorSignal);
+		break;
 #endif
 #ifdef EPROTOTYPE
-            case EPROTOTYPE:
-                sym = @symbol(EPROTOTYPE);
-                typ = @symbol(wrongSubtypeForOperationSignal);
-                break;
+	    case EPROTOTYPE:
+		sym = @symbol(EPROTOTYPE);
+		typ = @symbol(wrongSubtypeForOperationSignal);
+		break;
 #endif
 #ifdef ENOPROTOOPT
-            case ENOPROTOOPT:
-                sym = @symbol(ENOPROTOOPT);
-                typ = @symbol(unsupportedOperationSignal);
-                break;
+	    case ENOPROTOOPT:
+		sym = @symbol(ENOPROTOOPT);
+		typ = @symbol(unsupportedOperationSignal);
+		break;
 #endif
 #ifdef EPROTONOSUPPORT
-            case EPROTONOSUPPORT:
-                sym = @symbol(EPROTONOSUPPORT);
-                typ = @symbol(unsupportedOperationSignal);
-                break;
+	    case EPROTONOSUPPORT:
+		sym = @symbol(EPROTONOSUPPORT);
+		typ = @symbol(unsupportedOperationSignal);
+		break;
 #endif
 #ifdef ESOCKTNOSUPPORT
-            case ESOCKTNOSUPPORT:
-                sym = @symbol(ESOCKTNOSUPPORT);
-                typ = @symbol(unsupportedOperationSignal);
-                break;
+	    case ESOCKTNOSUPPORT:
+		sym = @symbol(ESOCKTNOSUPPORT);
+		typ = @symbol(unsupportedOperationSignal);
+		break;
 #endif
 #ifdef EOPNOTSUPP
-            case EOPNOTSUPP:
-                sym = @symbol(EOPNOTSUPP);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case EOPNOTSUPP:
+		sym = @symbol(EOPNOTSUPP);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef EPFNOSUPPORT
-            case EPFNOSUPPORT:
-                sym = @symbol(EPFNOSUPPORT);
-                typ = @symbol(unsupportedOperationSignal);
-                break;
+	    case EPFNOSUPPORT:
+		sym = @symbol(EPFNOSUPPORT);
+		typ = @symbol(unsupportedOperationSignal);
+		break;
 #endif
 #ifdef EAFNOSUPPORT
-            case EAFNOSUPPORT:
-                sym = @symbol(EAFNOSUPPORT);
-                typ = @symbol(unsupportedOperationSignal);
-                break;
+	    case EAFNOSUPPORT:
+		sym = @symbol(EAFNOSUPPORT);
+		typ = @symbol(unsupportedOperationSignal);
+		break;
 #endif
 #ifdef EADDRINUSE
-            case EADDRINUSE:
-                sym = @symbol(EADDRINUSE);
-                typ = @symbol(existingReferentSignal);
-                break;
+	    case EADDRINUSE:
+		sym = @symbol(EADDRINUSE);
+		typ = @symbol(existingReferentSignal);
+		break;
 #endif
 #ifdef EADDRNOTAVAIL
-            case EADDRNOTAVAIL:
-                sym = @symbol(EADDRNOTAVAIL);
-                typ = @symbol(noPermissionsSignal);
-                break;
+	    case EADDRNOTAVAIL:
+		sym = @symbol(EADDRNOTAVAIL);
+		typ = @symbol(noPermissionsSignal);
+		break;
 #endif
 #ifdef ETIMEDOUT
-            case ETIMEDOUT:
-                sym = @symbol(ETIMEDOUT);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ETIMEDOUT:
+		sym = @symbol(ETIMEDOUT);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef ECONNREFUSED
-            case ECONNREFUSED:
-                sym = @symbol(ECONNREFUSED);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ECONNREFUSED:
+		sym = @symbol(ECONNREFUSED);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef ENETDOWN
-            case ENETDOWN:
-                sym = @symbol(ENETDOWN);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ENETDOWN:
+		sym = @symbol(ENETDOWN);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef ENETUNREACH
-            case ENETUNREACH:
-                sym = @symbol(ENETUNREACH);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ENETUNREACH:
+		sym = @symbol(ENETUNREACH);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef ENETRESET
-            case ENETRESET:
-                sym = @symbol(ENETRESET);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ENETRESET:
+		sym = @symbol(ENETRESET);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef ECONNABORTED
-            case ECONNABORTED:
-                sym = @symbol(ECONNABORTED);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ECONNABORTED:
+		sym = @symbol(ECONNABORTED);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef ECONNRESET
-            case ECONNRESET:
-                sym = @symbol(ECONNRESET);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case ECONNRESET:
+		sym = @symbol(ECONNRESET);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef EISCONN
-            case EISCONN:
-                sym = @symbol(EISCONN);
-                typ = @symbol(unpreparedOperationSignal);
-                break;
+	    case EISCONN:
+		sym = @symbol(EISCONN);
+		typ = @symbol(unpreparedOperationSignal);
+		break;
 #endif
 #ifdef ENOTCONN
-            case ENOTCONN:
-                sym = @symbol(ENOTCONN);
-                typ = @symbol(unpreparedOperationSignal);
-                break;
+	    case ENOTCONN:
+		sym = @symbol(ENOTCONN);
+		typ = @symbol(unpreparedOperationSignal);
+		break;
 #endif
 #ifdef ESHUTDOWN
-            case ESHUTDOWN:
-                sym = @symbol(ESHUTDOWN);
-                typ = @symbol(unpreparedOperationSignal);
-                break;
+	    case ESHUTDOWN:
+		sym = @symbol(ESHUTDOWN);
+		typ = @symbol(unpreparedOperationSignal);
+		break;
 #endif
 #ifdef EHOSTDOWN
-            case EHOSTDOWN:
-                sym = @symbol(EHOSTDOWN);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case EHOSTDOWN:
+		sym = @symbol(EHOSTDOWN);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 #ifdef EHOSTUNREACH
-            case EHOSTUNREACH:
-                sym = @symbol(EHOSTUNREACH);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case EHOSTUNREACH:
+		sym = @symbol(EHOSTUNREACH);
+		typ = @symbol(peerFaultSignal);
+		break;
 #endif
 
 #ifdef WSAEFAULT
-            case WSAEFAULT:
-                sym = @symbol(WSAEFAULT);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
+	    case WSAEFAULT:
+		sym = @symbol(WSAEFAULT);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
 #endif
 #ifdef WSAEINTR
-            case WSAEINTR:
-                sym = @symbol(WSAEINTR);
-                typ = @symbol(transientErrorSignal);
-                break;
+	    case WSAEINTR:
+		sym = @symbol(WSAEINTR);
+		typ = @symbol(transientErrorSignal);
+		break;
 #endif
 #ifdef WSAEBADF
-            case WSAEBADF:
-                sym = @symbol(WSAEBADF);
-                typ = @symbol(badAccessorSignal);
-                break;
+	    case WSAEBADF:
+		sym = @symbol(WSAEBADF);
+		typ = @symbol(badAccessorSignal);
+		break;
 #endif
 #ifdef WSAEACCESS
-            case WSAEACCESS:
-                sym = @symbol(WSAEACCESS);
-                typ = @symbol(badAccessorSignal);
-                break;
+	    case WSAEACCESS:
+		sym = @symbol(WSAEACCESS);
+		typ = @symbol(badAccessorSignal);
+		break;
 #endif
 #ifdef WSAEINVAL
-            case WSAEINVAL:
-                sym = @symbol(WSAEINVAL);
-                typ = @symbol(invalidArgumentsSignal);
-                break;
+	    case WSAEINVAL:
+		sym = @symbol(WSAEINVAL);
+		typ = @symbol(invalidArgumentsSignal);
+		break;
 #endif
 #ifdef WSAEMFILE
-            case WSAEMFILE:
-                sym = @symbol(WSAEMFILE);
-                typ = @symbol(noResourcesSignal);
-                break;
+	    case WSAEMFILE:
+		sym = @symbol(WSAEMFILE);
+		typ = @symbol(noResourcesSignal);
+		break;
 #endif
 #ifdef WSAEWOULDBLOCK
-            case WSAEWOULDBLOCK:
-                sym = @symbol(WSAEWOULDBLOCK);
-                typ = @symbol(notReadySignal);
-                break;
+	    case WSAEWOULDBLOCK:
+		sym = @symbol(WSAEWOULDBLOCK);
+		typ = @symbol(notReadySignal);
+		break;
 #endif
 #ifdef WSAEINPROGRESS
-            case WSAEINPROGRESS:
-                sym = @symbol(WSAEINPROGRESS);
-                typ = @symbol(operationStartedSignal);
-                break;
+	    case WSAEINPROGRESS:
+		sym = @symbol(WSAEINPROGRESS);
+		typ = @symbol(operationStartedSignal);
+		break;
 #endif
 #ifdef WSAEALREADY
-            case WSAEALREADY:
-                sym = @symbol(WSAEALREADY);
-                typ = @symbol(operationStartedSignal);
-                break;
+	    case WSAEALREADY:
+		sym = @symbol(WSAEALREADY);
+		typ = @symbol(operationStartedSignal);
+		break;
 #endif
 #ifdef WSAENOTSOCK
-            case WSAENOTSOCK:
-                sym = @symbol(WSAENOTSOCK);
-                typ = @symbol(inappropriateOperationSignal);
-                break;
+	    case WSAENOTSOCK:
+		sym = @symbol(WSAENOTSOCK);
+		typ = @symbol(inappropriateOperationSignal);
+		break;
 #endif
 #ifdef WSAEPROTONOSUPPORT
-            case WSAEPROTONOSUPPORT:
-                sym = @symbol(WSAEPROTONOSUPPORT);
-                typ = @symbol(unsupportedOperationSignal);
-                break;
+	    case WSAEPROTONOSUPPORT:
+		sym = @symbol(WSAEPROTONOSUPPORT);
+		typ = @symbol(unsupportedOperationSignal);
+		break;
 #endif
 #ifdef WSAESOCKTNOSUPPORT
-            case WSAESOCKTNOSUPPORT:
-                sym = @symbol(WSAESOCKTNOSUPPORT);
-                typ = @symbol(unsupportedOperationSignal);
-                break;
+	    case WSAESOCKTNOSUPPORT:
+		sym = @symbol(WSAESOCKTNOSUPPORT);
+		typ = @symbol(unsupportedOperationSignal);
+		break;
 #endif
 #ifdef E_NOINTERFACE
-            case E_NOINTERFACE:
-                sym = @symbol(E_NOINTERFACE);
-                typ = @symbol(noInterfaceSignal);
-                break;
+	    case E_NOINTERFACE:
+		sym = @symbol(E_NOINTERFACE);
+		typ = @symbol(noInterfaceSignal);
+		break;
 #endif
 #ifdef CO_E_NOTINITIALIZED
-            case CO_E_NOTINITIALIZED:
-                sym = @symbol(CO_E_NOTINITIALIZED);
-                typ = @symbol(coNotInitializedSignal);
-                break;
+	    case CO_E_NOTINITIALIZED:
+		sym = @symbol(CO_E_NOTINITIALIZED);
+		typ = @symbol(coNotInitializedSignal);
+		break;
 #endif
 #ifdef REGDB_E_CLASSNOTREG
-            case REGDB_E_CLASSNOTREG:
-                sym = @symbol(REGDB_E_CLASSNOTREG);
-                typ = @symbol(classNotRegisteredSignal);
-                break;
+	    case REGDB_E_CLASSNOTREG:
+		sym = @symbol(REGDB_E_CLASSNOTREG);
+		typ = @symbol(classNotRegisteredSignal);
+		break;
 #endif
 #ifdef CLASS_E_NOAGGREGATION
-            case CLASS_E_NOAGGREGATION:
-                sym = @symbol(CLASS_E_NOAGGREGATION);
-                typ = @symbol(noAggregationSignal);
-                break;
+	    case CLASS_E_NOAGGREGATION:
+		sym = @symbol(CLASS_E_NOAGGREGATION);
+		typ = @symbol(noAggregationSignal);
+		break;
 #endif
 #ifdef DISP_E_UNKNOWNNAME
-            case DISP_E_UNKNOWNNAME:
-                sym = @symbol(DISP_E_UNKNOWNNAME);
-                typ = @symbol(unknownNameSignal);
-                break;
+	    case DISP_E_UNKNOWNNAME:
+		sym = @symbol(DISP_E_UNKNOWNNAME);
+		typ = @symbol(unknownNameSignal);
+		break;
 #endif
 #ifdef OLEOBJ_E_NOVERBS
-            case OLEOBJ_E_NOVERBS:
-                sym = @symbol(OLEOBJ_E_NOVERBS);
-                typ = @symbol(noVerbsSignal);
-                break;
-#endif
-
-            default:
-                break;
-        }
+	    case OLEOBJ_E_NOVERBS:
+		sym = @symbol(OLEOBJ_E_NOVERBS);
+		typ = @symbol(noVerbsSignal);
+		break;
+#endif
+
+	    default:
+		break;
+	}
       }
     }
 %}.
@@ -2424,207 +2424,207 @@
      */
 #ifdef ERROR_INVALID_FUNCTION
     if (sym == @symbol(ERROR_INVALID_FUNCTION)) {
-        RETURN ( __mkSmallInteger(ERROR_INVALID_FUNCTION) );
+	RETURN ( __mkSmallInteger(ERROR_INVALID_FUNCTION) );
     }
 #endif
 #ifdef ERROR_BAD_FORMAT
     if (sym == @symbol(ERROR_BAD_FORMAT)) {
-        RETURN ( __mkSmallInteger(ERROR_BAD_FORMAT) );
+	RETURN ( __mkSmallInteger(ERROR_BAD_FORMAT) );
     }
 #endif
 #ifdef ERROR_FILE_NOT_FOUND
     if (sym == @symbol(ERROR_FILE_NOT_FOUND)) {
-        RETURN ( __mkSmallInteger(ERROR_FILE_NOT_FOUND) );
+	RETURN ( __mkSmallInteger(ERROR_FILE_NOT_FOUND) );
     }
 #endif
 #ifdef ERROR_PATH_NOT_FOUND
     if (sym == @symbol(ERROR_PATH_NOT_FOUND)) {
-        RETURN ( __mkSmallInteger(ERROR_PATH_NOT_FOUND) );
+	RETURN ( __mkSmallInteger(ERROR_PATH_NOT_FOUND) );
     }
 #endif
 #ifdef ERROR_TOO_MANY_OPEN_FILES
     if (sym == @symbol(ERROR_TOO_MANY_OPEN_FILES)) {
-        RETURN ( __mkSmallInteger(ERROR_TOO_MANY_OPEN_FILES) );
+	RETURN ( __mkSmallInteger(ERROR_TOO_MANY_OPEN_FILES) );
     }
 #endif
 #ifdef ERROR_OPEN_FAILED
     if (sym == @symbol(ERROR_OPEN_FAILED)) {
-        RETURN ( __mkSmallInteger(ERROR_OPEN_FAILED) );
+	RETURN ( __mkSmallInteger(ERROR_OPEN_FAILED) );
     }
 #endif
 #ifdef ERROR_ACCESS_DENIED
     if (sym == @symbol(ERROR_ACCESS_DENIED)) {
-        RETURN ( __mkSmallInteger(ERROR_ACCESS_DENIED) );
+	RETURN ( __mkSmallInteger(ERROR_ACCESS_DENIED) );
     }
 #endif
 #ifdef ERROR_INVALID_HANDLE
     if (sym == @symbol(ERROR_INVALID_HANDLE)) {
-        RETURN ( __mkSmallInteger(ERROR_INVALID_HANDLE) );
+	RETURN ( __mkSmallInteger(ERROR_INVALID_HANDLE) );
     }
 #endif
 #ifdef ERROR_NOT_ENOUGH_MEMORY
     if (sym == @symbol(ERROR_NOT_ENOUGH_MEMORY)) {
-        RETURN ( __mkSmallInteger(ERROR_NOT_ENOUGH_MEMORY) );
+	RETURN ( __mkSmallInteger(ERROR_NOT_ENOUGH_MEMORY) );
     }
 #endif
 #ifdef ERROR_INVALID_ACCESS
     if (sym == @symbol(ERROR_INVALID_ACCESS)) {
-        RETURN ( __mkSmallInteger(ERROR_INVALID_ACCESS) );
+	RETURN ( __mkSmallInteger(ERROR_INVALID_ACCESS) );
     }
 #endif
 #ifdef ERROR_INVALID_DATA
     if (sym == @symbol(ERROR_INVALID_DATA)) {
-        RETURN ( __mkSmallInteger(ERROR_INVALID_DATA) );
+	RETURN ( __mkSmallInteger(ERROR_INVALID_DATA) );
     }
 #endif
 #ifdef ERROR_INVALID_NAME
     if (sym == @symbol(ERROR_INVALID_NAME)) {
-        RETURN ( __mkSmallInteger(ERROR_INVALID_NAME) );
+	RETURN ( __mkSmallInteger(ERROR_INVALID_NAME) );
     }
 #endif
 #ifdef ERROR_ARENA_TRASHED
     if (sym == @symbol(ERROR_ARENA_TRASHED)) {
-        RETURN ( __mkSmallInteger(ERROR_ARENA_TRASHED) );
+	RETURN ( __mkSmallInteger(ERROR_ARENA_TRASHED) );
     }
 #endif
 #ifdef ERROR_OUTOFMEMORY
     if (sym == @symbol(ERROR_OUTOFMEMORY)) {
-        RETURN ( __mkSmallInteger(ERROR_OUTOFMEMORY) );
+	RETURN ( __mkSmallInteger(ERROR_OUTOFMEMORY) );
     }
 #endif
 #ifdef ERROR_BROKEN_PIPE
     if (sym == @symbol(ERROR_BROKEN_PIPE)) {
-        RETURN ( __mkSmallInteger(ERROR_BROKEN_PIPE) );
+	RETURN ( __mkSmallInteger(ERROR_BROKEN_PIPE) );
     }
 #endif
 #ifdef ERROR_GEN_FAILURE
     if (sym == @symbol(ERROR_GEN_FAILURE)) {
-        RETURN ( __mkSmallInteger(ERROR_GEN_FAILURE) );
+	RETURN ( __mkSmallInteger(ERROR_GEN_FAILURE) );
     }
 #endif
 #ifdef ERROR_WRITE_PROTECT
     if (sym == @symbol(ERROR_WRITE_PROTECT)) {
-        RETURN ( __mkSmallInteger(ERROR_WRITE_PROTECT) );
+	RETURN ( __mkSmallInteger(ERROR_WRITE_PROTECT) );
     }
 #endif
 #ifdef ERROR_WRITE_FAULT
     if (sym == @symbol(ERROR_WRITE_FAULT)) {
-        RETURN ( __mkSmallInteger(ERROR_WRITE_FAULT) );
+	RETURN ( __mkSmallInteger(ERROR_WRITE_FAULT) );
     }
 #endif
 #ifdef ERROR_READ_FAULT
     if (sym == @symbol(ERROR_READ_FAULT)) {
-        RETURN ( __mkSmallInteger(ERROR_READ_FAULT) );
+	RETURN ( __mkSmallInteger(ERROR_READ_FAULT) );
     }
 #endif
 #ifdef ERROR_HANDLE_DISK_FULL
     if (sym == @symbol(ERROR_HANDLE_DISK_FULL)) {
-        RETURN ( __mkSmallInteger(ERROR_HANDLE_DISK_FULL) );
+	RETURN ( __mkSmallInteger(ERROR_HANDLE_DISK_FULL) );
     }
 #endif
 #ifdef ERROR_DISK_FULL
     if (sym == @symbol(ERROR_DISK_FULL)) {
-        RETURN ( __mkSmallInteger(ERROR_DISK_FULL) );
+	RETURN ( __mkSmallInteger(ERROR_DISK_FULL) );
     }
 #endif
 #ifdef ERROR_ERROR_SHARING_VIOLATION
     if (sym == @symbol(ERROR_ERROR_SHARING_VIOLATION)) {
-        RETURN ( __mkSmallInteger(ERROR_ERROR_SHARING_VIOLATION) );
+	RETURN ( __mkSmallInteger(ERROR_ERROR_SHARING_VIOLATION) );
     }
 #endif
 #ifdef ERROR_LOCK_VIOLATION
     if (sym == @symbol(ERROR_LOCK_VIOLATION)) {
-        RETURN ( __mkSmallInteger(ERROR_LOCK_VIOLATION) );
+	RETURN ( __mkSmallInteger(ERROR_LOCK_VIOLATION) );
     }
 #endif
 #ifdef ERROR_INVALID_PARAMETER
     if (sym == @symbol(ERROR_INVALID_PARAMETER)) {
-        RETURN ( __mkSmallInteger(ERROR_INVALID_PARAMETER) );
+	RETURN ( __mkSmallInteger(ERROR_INVALID_PARAMETER) );
     }
 #endif
 #ifdef ERROR_NET_WRITE_FAULT
     if (sym == @symbol(ERROR_NET_WRITE_FAULT)) {
-        RETURN ( __mkSmallInteger(ERROR_NET_WRITE_FAULT) );
+	RETURN ( __mkSmallInteger(ERROR_NET_WRITE_FAULT) );
     }
 #endif
 #ifdef ERROR_NOT_SUPPORTED
     if (sym == @symbol(ERROR_NOT_SUPPORTED)) {
-        RETURN ( __mkSmallInteger(ERROR_NOT_SUPPORTED) );
+	RETURN ( __mkSmallInteger(ERROR_NOT_SUPPORTED) );
     }
 #endif
 #ifdef ERROR_REM_NOT_LIST
     if (sym == @symbol(ERROR_REM_NOT_LIST)) {
-        RETURN ( __mkSmallInteger(ERROR_REM_NOT_LIST) );
+	RETURN ( __mkSmallInteger(ERROR_REM_NOT_LIST) );
     }
 #endif
 #ifdef ERROR_NETWORK_ACCESS_DENIED
     if (sym == @symbol(ERROR_NETWORK_ACCESS_DENIED)) {
-        RETURN ( __mkSmallInteger(ERROR_NETWORK_ACCESS_DENIED) );
+	RETURN ( __mkSmallInteger(ERROR_NETWORK_ACCESS_DENIED) );
     }
 #endif
 #ifdef ERROR_DUP_NAME
     if (sym == @symbol(ERROR_DUP_NAME)) {
-        RETURN ( __mkSmallInteger(ERROR_DUP_NAME) );
+	RETURN ( __mkSmallInteger(ERROR_DUP_NAME) );
     }
 #endif
 #ifdef ERROR_BAD_NETPATH
     if (sym == @symbol(ERROR_BAD_NETPATH)) {
-        RETURN ( __mkSmallInteger(ERROR_BAD_NETPATH) );
+	RETURN ( __mkSmallInteger(ERROR_BAD_NETPATH) );
     }
 #endif
 #ifdef ERROR_NETWORK_BUSY
     if (sym == @symbol(ERROR_NETWORK_BUSY)) {
-        RETURN ( __mkSmallInteger(ERROR_NETWORK_BUSY) );
+	RETURN ( __mkSmallInteger(ERROR_NETWORK_BUSY) );
     }
 #endif
 #ifdef ERROR_DRIVE_LOCKED
     if (sym == @symbol(ERROR_DRIVE_LOCKED)) {
-        RETURN ( __mkSmallInteger(ERROR_DRIVE_LOCKED) );
+	RETURN ( __mkSmallInteger(ERROR_DRIVE_LOCKED) );
     }
 #endif
 #ifdef ERROR_INVALID_DRIVE
     if (sym == @symbol(ERROR_INVALID_DRIVE)) {
-        RETURN ( __mkSmallInteger(ERROR_INVALID_DRIVE) );
+	RETURN ( __mkSmallInteger(ERROR_INVALID_DRIVE) );
     }
 #endif
 #ifdef ERROR_WRONG_DISK
     if (sym == @symbol(ERROR_WRONG_DISK)) {
-        RETURN ( __mkSmallInteger(ERROR_WRONG_DISK) );
+	RETURN ( __mkSmallInteger(ERROR_WRONG_DISK) );
     }
 #endif
 #ifdef ERROR_CURRENT_DIRECTORY
     if (sym == @symbol(ERROR_CURRENT_DIRECTORY)) {
-        RETURN ( __mkSmallInteger(ERROR_CURRENT_DIRECTORY) );
+	RETURN ( __mkSmallInteger(ERROR_CURRENT_DIRECTORY) );
     }
 #endif
 #ifdef ERROR_CANNOT_MAKE
     if (sym == @symbol(ERROR_CANNOT_MAKE)) {
-        RETURN ( __mkSmallInteger(ERROR_CANNOT_MAKE) );
+	RETURN ( __mkSmallInteger(ERROR_CANNOT_MAKE) );
     }
 #endif
 #ifdef ERROR_NO_MORE_FILES
     if (sym == @symbol(ERROR_NO_MORE_FILES)) {
-        RETURN ( __mkSmallInteger(ERROR_NO_MORE_FILES) );
+	RETURN ( __mkSmallInteger(ERROR_NO_MORE_FILES) );
     }
 #endif
 #ifdef ERROR_NOT_READY
     if (sym == @symbol(ERROR_NOT_READY)) {
-        RETURN ( __mkSmallInteger(ERROR_NOT_READY) );
+	RETURN ( __mkSmallInteger(ERROR_NOT_READY) );
     }
 #endif
 #ifdef ERROR_NOT_DOS_DISK
     if (sym == @symbol(ERROR_NOT_DOS_DISK)) {
-        RETURN ( __mkSmallInteger(ERROR_NOT_DOS_DISK) );
+	RETURN ( __mkSmallInteger(ERROR_NOT_DOS_DISK) );
     }
 #endif
 #ifdef ERROR_OUT_OF_PAPER
     if (sym == @symbol(ERROR_OUT_OF_PAPER)) {
-        RETURN ( __mkSmallInteger(ERROR_OUT_OF_PAPER) );
+	RETURN ( __mkSmallInteger(ERROR_OUT_OF_PAPER) );
     }
 #endif
 #ifdef ERROR_PRINTQ_FULL
     if (sym == @symbol(ERROR_PRINTQ_FULL)) {
-        RETURN ( __mkSmallInteger(ERROR_PRINTQ_FULL) );
+	RETURN ( __mkSmallInteger(ERROR_PRINTQ_FULL) );
     }
 #endif
 
@@ -2633,229 +2633,229 @@
      */
 #ifdef EPERM
     if (sym == @symbol(EPERM)) {
-        RETURN ( __mkSmallInteger(EPERM) );
+	RETURN ( __mkSmallInteger(EPERM) );
     }
 #endif
 
 #ifdef ENOENT
     if (sym == @symbol(ENOENT)) {
-        RETURN ( __mkSmallInteger(ENOENT) );
+	RETURN ( __mkSmallInteger(ENOENT) );
     }
 #endif
 
 #ifdef ESRCH
     if (sym == @symbol(ESRCH)) {
-        RETURN ( __mkSmallInteger(ESRCH) );
+	RETURN ( __mkSmallInteger(ESRCH) );
     }
 #endif
 
 #ifdef EINTR
     if (sym == @symbol(EINTR)) {
-        RETURN ( __mkSmallInteger(EINTR) );
+	RETURN ( __mkSmallInteger(EINTR) );
     }
 #endif
 
 #ifdef EIO
     if (sym == @symbol(EIO)) {
-        RETURN ( __mkSmallInteger(EIO) );
+	RETURN ( __mkSmallInteger(EIO) );
     }
 #endif
 
 #ifdef ENXIO
     if (sym == @symbol(ENXIO)) {
-        RETURN ( __mkSmallInteger(ENXIO) );
+	RETURN ( __mkSmallInteger(ENXIO) );
     }
 #endif
 
 #ifdef E2BIG
     if (sym == @symbol(E2BIG)) {
-        RETURN ( __mkSmallInteger(E2BIG) );
+	RETURN ( __mkSmallInteger(E2BIG) );
     }
 #endif
 
 #ifdef ENOEXEC
     if (sym == @symbol(ENOEXEC)) {
-        RETURN ( __mkSmallInteger(ENOEXEC) );
+	RETURN ( __mkSmallInteger(ENOEXEC) );
     }
 #endif
 
 #ifdef EBADF
     if (sym == @symbol(EBADF)) {
-        RETURN ( __mkSmallInteger(EBADF) );
+	RETURN ( __mkSmallInteger(EBADF) );
     }
 #endif
 
 #ifdef ECHILD
     if (sym == @symbol(ECHILD)) {
-        RETURN ( __mkSmallInteger(ECHILD) );
+	RETURN ( __mkSmallInteger(ECHILD) );
     }
 #endif
 
 #if defined(EAGAIN)
     if (sym == @symbol(EAGAIN)) {
-        RETURN ( __mkSmallInteger(EAGAIN) );
+	RETURN ( __mkSmallInteger(EAGAIN) );
     }
 #endif
 
 #ifdef ENOMEM
     if (sym == @symbol(ENOMEM)) {
-        RETURN ( __mkSmallInteger(ENOMEM) );
+	RETURN ( __mkSmallInteger(ENOMEM) );
     }
 #endif
 
 #ifdef EACCES
     if (sym == @symbol(EACCES)) {
-        RETURN ( __mkSmallInteger(EACCES) );
+	RETURN ( __mkSmallInteger(EACCES) );
     }
 #endif
 
 #ifdef EFAULT
     if (sym == @symbol(EFAULT)) {
-        RETURN ( __mkSmallInteger(EFAULT) );
+	RETURN ( __mkSmallInteger(EFAULT) );
     }
 #endif
 
 #ifdef EBUSY
     if (sym == @symbol(EBUSY)) {
-        RETURN ( __mkSmallInteger(EBUSY) );
+	RETURN ( __mkSmallInteger(EBUSY) );
     }
 #endif
 
 #ifdef EXDEV
     if (sym == @symbol(EXDEV)) {
-        RETURN ( __mkSmallInteger(EXDEV) );
+	RETURN ( __mkSmallInteger(EXDEV) );
     }
 #endif
 
 #ifdef ENODEV
     if (sym == @symbol(ENODEV)) {
-        RETURN ( __mkSmallInteger(ENODEV) );
+	RETURN ( __mkSmallInteger(ENODEV) );
     }
 #endif
 
 #ifdef ENOTDIR
     if (sym == @symbol(ENOTDIR)) {
-        RETURN ( __mkSmallInteger(ENOTDIR) );
+	RETURN ( __mkSmallInteger(ENOTDIR) );
     }
 #endif
 
 #ifdef EISDIR
     if (sym == @symbol(EISDIR)) {
-        RETURN ( __mkSmallInteger(EISDIR) );
+	RETURN ( __mkSmallInteger(EISDIR) );
     }
 #endif
 
 #ifdef EINVAL
     if (sym == @symbol(EINVAL)) {
-        RETURN ( __mkSmallInteger(EINVAL) );
+	RETURN ( __mkSmallInteger(EINVAL) );
     }
 #endif
 
 #ifdef ENFILE
     if (sym == @symbol(ENFILE)) {
-        RETURN ( __mkSmallInteger(ENFILE) );
+	RETURN ( __mkSmallInteger(ENFILE) );
     }
 #endif
 
 #ifdef EMFILE
     if (sym == @symbol(EMFILE)) {
-        RETURN ( __mkSmallInteger(EMFILE) );
+	RETURN ( __mkSmallInteger(EMFILE) );
     }
 #endif
 
 #ifdef ENOTTY
     if (sym == @symbol(ENOTTY)) {
-        RETURN ( __mkSmallInteger(ENOTTY) );
+	RETURN ( __mkSmallInteger(ENOTTY) );
     }
 #endif
 
 #ifdef EFBIG
     if (sym == @symbol(EFBIG)) {
-        RETURN ( __mkSmallInteger(EFBIG) );
+	RETURN ( __mkSmallInteger(EFBIG) );
     }
 #endif
 
 #ifdef ENOSPC
     if (sym == @symbol(ENOSPC)) {
-        RETURN ( __mkSmallInteger(ENOSPC) );
+	RETURN ( __mkSmallInteger(ENOSPC) );
     }
 #endif
 
 #ifdef ESPIPE
     if (sym == @symbol(ESPIPE)) {
-        RETURN ( __mkSmallInteger(ESPIPE) );
+	RETURN ( __mkSmallInteger(ESPIPE) );
     }
 #endif
 
 #ifdef EROFS
     if (sym == @symbol(EROFS)) {
-        RETURN ( __mkSmallInteger(EROFS) );
+	RETURN ( __mkSmallInteger(EROFS) );
     }
 #endif
 
 #ifdef EMLINK
     if (sym == @symbol(EMLINK)) {
-        RETURN ( __mkSmallInteger(EMLINK) );
+	RETURN ( __mkSmallInteger(EMLINK) );
     }
 #endif
 
 #ifdef EPIPE
     if (sym == @symbol(EPIPE)) {
-        RETURN ( __mkSmallInteger(EPIPE) );
+	RETURN ( __mkSmallInteger(EPIPE) );
     }
 #endif
 
 #ifdef EDOM
     if (sym == @symbol(EDOM)) {
-        RETURN ( __mkSmallInteger(EDOM) );
+	RETURN ( __mkSmallInteger(EDOM) );
     }
 #endif
 
 #ifdef ERANGE
     if (sym == @symbol(ERANGE)) {
-        RETURN ( __mkSmallInteger(ERANGE) );
+	RETURN ( __mkSmallInteger(ERANGE) );
     }
 #endif
 
 #ifdef EDEADLK
     if (sym == @symbol(EDEADLK)) {
-        RETURN ( __mkSmallInteger(EDEADLK) );
+	RETURN ( __mkSmallInteger(EDEADLK) );
     }
 #endif
 
 #ifdef ENAMETOOLONG
     if (sym == @symbol(ENAMETOOLONG)) {
-        RETURN ( __mkSmallInteger(ENAMETOOLONG) );
+	RETURN ( __mkSmallInteger(ENAMETOOLONG) );
     }
 #endif
 
 #ifdef ENOLCK
     if (sym == @symbol(ENOLCK)) {
-        RETURN ( __mkSmallInteger(ENOLCK) );
+	RETURN ( __mkSmallInteger(ENOLCK) );
     }
 #endif
 
 #ifdef ENOSYS
     if (sym == @symbol(ENOSYS)) {
-        RETURN ( __mkSmallInteger(ENOSYS) );
+	RETURN ( __mkSmallInteger(ENOSYS) );
     }
 #endif
 
 #ifdef ENOTEMPTY
     if (sym == @symbol(ENOTEMPTY)) {
-        RETURN ( __mkSmallInteger(ENOTEMPTY) );
+	RETURN ( __mkSmallInteger(ENOTEMPTY) );
     }
 #endif
 
 #ifdef EEXIST
     if (sym == @symbol(EEXIST)) {
-        RETURN ( __mkSmallInteger(EEXIST) );
+	RETURN ( __mkSmallInteger(EEXIST) );
     }
 #endif
 
 #ifdef EILSEQ
     if (sym == @symbol(EILSEQ)) {
-        RETURN ( __mkSmallInteger(EILSEQ) );
+	RETURN ( __mkSmallInteger(EILSEQ) );
     }
 #endif
 
@@ -2864,13 +2864,13 @@
      */
 #ifdef ENOTBLK
     if (sym == @symbol(ENOTBLK)) {
-        RETURN ( __mkSmallInteger(ENOTBLK) );
+	RETURN ( __mkSmallInteger(ENOTBLK) );
     }
 #endif
 
 #ifdef ETXTBSY
     if (sym == @symbol(ETXTBSY)) {
-        RETURN ( __mkSmallInteger(ETXTBSY) );
+	RETURN ( __mkSmallInteger(ETXTBSY) );
     }
 #endif
 
@@ -2879,19 +2879,19 @@
      */
 #ifdef EWOULDBLOCK
     if (sym == @symbol(EWOULDBLOCK)) {
-        RETURN ( __mkSmallInteger(EWOULDBLOCK) );
+	RETURN ( __mkSmallInteger(EWOULDBLOCK) );
     }
 #endif
 
 #ifdef ENOMSG
     if (sym == @symbol(ENOMSG)) {
-        RETURN ( __mkSmallInteger(ENOMSG) );
+	RETURN ( __mkSmallInteger(ENOMSG) );
     }
 #endif
 
 #ifdef ELOOP
     if (sym == @symbol(ELOOP)) {
-        RETURN ( __mkSmallInteger(ELOOP) );
+	RETURN ( __mkSmallInteger(ELOOP) );
     }
 #endif
 
@@ -2900,31 +2900,31 @@
      */
 #ifdef ETIME
     if (sym == @symbol(ETIME)) {
-        RETURN ( __mkSmallInteger(ETIME) );
+	RETURN ( __mkSmallInteger(ETIME) );
     }
 #endif
 
 #ifdef ENOSR
     if (sym == @symbol(ENOSR)) {
-        RETURN ( __mkSmallInteger(ENOSR) );
+	RETURN ( __mkSmallInteger(ENOSR) );
     }
 #endif
 
 #ifdef ENOSTR
     if (sym == @symbol(ENOSTR)) {
-        RETURN ( __mkSmallInteger(ENOSTR) );
+	RETURN ( __mkSmallInteger(ENOSTR) );
     }
 #endif
 
 #ifdef ECOMM
     if (sym == @symbol(ECOMM)) {
-        RETURN ( __mkSmallInteger(ECOMM) );
+	RETURN ( __mkSmallInteger(ECOMM) );
     }
 #endif
 
 #ifdef EPROTO
     if (sym == @symbol(EPROTO)) {
-        RETURN ( __mkSmallInteger(EPROTO) );
+	RETURN ( __mkSmallInteger(EPROTO) );
     }
 #endif
 
@@ -2933,13 +2933,13 @@
      */
 #ifdef ESTALE
     if (sym == @symbol(ESTALE)) {
-        RETURN ( __mkSmallInteger(ESTALE) );
+	RETURN ( __mkSmallInteger(ESTALE) );
     }
 #endif
 
 #ifdef EREMOTE
     if (sym == @symbol(EREMOTE)) {
-        RETURN ( __mkSmallInteger(EREMOTE) );
+	RETURN ( __mkSmallInteger(EREMOTE) );
     }
 #endif
 
@@ -2948,157 +2948,157 @@
      */
 #ifdef EINPROGRESS
     if (sym == @symbol(EINPROGRESS)) {
-        RETURN ( __mkSmallInteger(EINPROGRESS) );
+	RETURN ( __mkSmallInteger(EINPROGRESS) );
     }
 #endif
 
 #ifdef EALREADY
     if (sym == @symbol(EALREADY)) {
-        RETURN ( __mkSmallInteger(EALREADY) );
+	RETURN ( __mkSmallInteger(EALREADY) );
     }
 #endif
 
 #ifdef ENOTSOCK
     if (sym == @symbol(ENOTSOCK)) {
-        RETURN ( __mkSmallInteger(ENOTSOCK) );
+	RETURN ( __mkSmallInteger(ENOTSOCK) );
     }
 #endif
 
 #ifdef EDESTADDRREQ
     if (sym == @symbol(EDESTADDRREQ)) {
-        RETURN ( __mkSmallInteger(EDESTADDRREQ) );
+	RETURN ( __mkSmallInteger(EDESTADDRREQ) );
     }
 #endif
 
 #ifdef EMSGSIZE
     if (sym == @symbol(EMSGSIZE)) {
-        RETURN ( __mkSmallInteger(EMSGSIZE) );
+	RETURN ( __mkSmallInteger(EMSGSIZE) );
     }
 #endif
 
 #ifdef EPROTOTYPE
     if (sym == @symbol(EPROTOTYPE)) {
-        RETURN ( __mkSmallInteger(EPROTOTYPE) );
+	RETURN ( __mkSmallInteger(EPROTOTYPE) );
     }
 #endif
 
 #ifdef ENOPROTOOPT
     if (sym == @symbol(ENOPROTOOPT)) {
-        RETURN ( __mkSmallInteger(ENOPROTOOPT) );
+	RETURN ( __mkSmallInteger(ENOPROTOOPT) );
     }
 #endif
 
 #ifdef EPROTONOSUPPORT
     if (sym == @symbol(EPROTONOSUPPORT)) {
-        RETURN ( __mkSmallInteger(EPROTONOSUPPORT) );
+	RETURN ( __mkSmallInteger(EPROTONOSUPPORT) );
     }
 #endif
 
 #ifdef ESOCKTNOSUPPORT
     if (sym == @symbol(ESOCKTNOSUPPORT)) {
-        RETURN ( __mkSmallInteger(ESOCKTNOSUPPORT) );
+	RETURN ( __mkSmallInteger(ESOCKTNOSUPPORT) );
     }
 #endif
 
 #ifdef EOPNOTSUPP
     if (sym == @symbol(EOPNOTSUPP)) {
-        RETURN ( __mkSmallInteger(EOPNOTSUPP) );
+	RETURN ( __mkSmallInteger(EOPNOTSUPP) );
     }
 #endif
 
 #ifdef EPFNOSUPPORT
     if (sym == @symbol(EPFNOSUPPORT)) {
-        RETURN ( __mkSmallInteger(EPFNOSUPPORT) );
+	RETURN ( __mkSmallInteger(EPFNOSUPPORT) );
     }
 #endif
 
 #ifdef EAFNOSUPPORT
     if (sym == @symbol(EAFNOSUPPORT)) {
-        RETURN ( __mkSmallInteger(EAFNOSUPPORT) );
+	RETURN ( __mkSmallInteger(EAFNOSUPPORT) );
     }
 #endif
 
 #ifdef EADDRINUSE
     if (sym == @symbol(EADDRINUSE)) {
-        RETURN ( __mkSmallInteger(EADDRINUSE) );
+	RETURN ( __mkSmallInteger(EADDRINUSE) );
     }
 #endif
 
 #ifdef EADDRNOTAVAIL
     if (sym == @symbol(EADDRNOTAVAIL)) {
-        RETURN ( __mkSmallInteger(EADDRNOTAVAIL) );
+	RETURN ( __mkSmallInteger(EADDRNOTAVAIL) );
     }
 #endif
 
 #ifdef ETIMEDOUT
     if (sym == @symbol(ETIMEDOUT)) {
-        RETURN ( __mkSmallInteger(ETIMEDOUT) );
+	RETURN ( __mkSmallInteger(ETIMEDOUT) );
     }
 #endif
 
 #ifdef ECONNREFUSED
     if (sym == @symbol(ECONNREFUSED)) {
-        RETURN ( __mkSmallInteger(ECONNREFUSED) );
+	RETURN ( __mkSmallInteger(ECONNREFUSED) );
     }
 #endif
 
 #ifdef ENETDOWN
     if (sym == @symbol(ENETDOWN)) {
-        RETURN ( __mkSmallInteger(ENETDOWN) );
+	RETURN ( __mkSmallInteger(ENETDOWN) );
     }
 #endif
 
 #ifdef ENETUNREACH
     if (sym == @symbol(ENETUNREACH)) {
-        RETURN ( __mkSmallInteger(ENETUNREACH) );
+	RETURN ( __mkSmallInteger(ENETUNREACH) );
     }
 #endif
 
 #ifdef ENETRESET
     if (sym == @symbol(ENETRESET)) {
-        RETURN ( __mkSmallInteger(ENETRESET) );
+	RETURN ( __mkSmallInteger(ENETRESET) );
     }
 #endif
 
 #ifdef ECONNABORTED
     if (sym == @symbol(ECONNABORTED)) {
-        RETURN ( __mkSmallInteger(ECONNABORTED) );
+	RETURN ( __mkSmallInteger(ECONNABORTED) );
     }
 #endif
 
 #ifdef ECONNRESET
     if (sym == @symbol(ECONNRESET)) {
-        RETURN ( __mkSmallInteger(ECONNRESET) );
+	RETURN ( __mkSmallInteger(ECONNRESET) );
     }
 #endif
 
 #ifdef EISCONN
     if (sym == @symbol(EISCONN)) {
-        RETURN ( __mkSmallInteger(EISCONN) );
+	RETURN ( __mkSmallInteger(EISCONN) );
     }
 #endif
 
 #ifdef ENOTCONN
     if (sym == @symbol(ENOTCONN)) {
-        RETURN ( __mkSmallInteger(ENOTCONN) );
+	RETURN ( __mkSmallInteger(ENOTCONN) );
     }
 #endif
 
 #ifdef ESHUTDOWN
     if (sym == @symbol(ESHUTDOWN)) {
-        RETURN ( __mkSmallInteger(ESHUTDOWN) );
+	RETURN ( __mkSmallInteger(ESHUTDOWN) );
     }
 #endif
 
 #ifdef EHOSTDOWN
     if (sym == @symbol(EHOSTDOWN)) {
-        RETURN ( __mkSmallInteger(EHOSTDOWN) );
+	RETURN ( __mkSmallInteger(EHOSTDOWN) );
     }
 #endif
 
 #ifdef EHOSTUNREACH
     if (sym == @symbol(EHOSTUNREACH)) {
-        RETURN ( __mkSmallInteger(EHOSTUNREACH) );
+	RETURN ( __mkSmallInteger(EHOSTUNREACH) );
     }
 #endif
     /*
@@ -3106,92 +3106,92 @@
      */
 #ifdef WSAEINTR
     if (sym == @symbol(WSAEINTR)) {
-        RETURN ( __mkSmallInteger(WSAEINTR) );
+	RETURN ( __mkSmallInteger(WSAEINTR) );
     }
 #endif
 #ifdef WSAEBADF
     if (sym == @symbol(WSAEBADF)) {
-        RETURN ( __mkSmallInteger(WSAEBADF) );
+	RETURN ( __mkSmallInteger(WSAEBADF) );
     }
 #endif
 #ifdef WSAEACCESS
     if (sym == @symbol(WSAEACCESS)) {
-        RETURN ( __mkSmallInteger(WSAEACCESS) );
+	RETURN ( __mkSmallInteger(WSAEACCESS) );
     }
 #endif
 #ifdef WSAEFAULT
     if (sym == @symbol(WSAEFAULT)) {
-        RETURN ( __mkSmallInteger(WSAEFAULT) );
+	RETURN ( __mkSmallInteger(WSAEFAULT) );
     }
 #endif
 #ifdef WSAEINVAL
     if (sym == @symbol(WSAEINVAL)) {
-        RETURN ( __mkSmallInteger(WSAEINVAL) );
+	RETURN ( __mkSmallInteger(WSAEINVAL) );
     }
 #endif
 #ifdef WSAEMFILE
     if (sym == @symbol(WSAEMFILE)) {
-        RETURN ( __mkSmallInteger(WSAEMFILE) );
+	RETURN ( __mkSmallInteger(WSAEMFILE) );
     }
 #endif
 #ifdef WSAEWOULDBLOCK
     if (sym == @symbol(WSAEWOULDBLOCK)) {
-        RETURN ( __mkSmallInteger(WSAEWOULDBLOCK) );
+	RETURN ( __mkSmallInteger(WSAEWOULDBLOCK) );
     }
 #endif
 #ifdef WSAEINPROGRESS
     if (sym == @symbol(WSAEINPROGRESS)) {
-        RETURN ( __mkSmallInteger(WSAEINPROGRESS) );
+	RETURN ( __mkSmallInteger(WSAEINPROGRESS) );
     }
 #endif
 #ifdef WSAEALREADY
     if (sym == @symbol(WSAEALREADY)) {
-        RETURN ( __mkSmallInteger(WSAEALREADY) );
+	RETURN ( __mkSmallInteger(WSAEALREADY) );
     }
 #endif
 #ifdef WSAENOTSOCK
     if (sym == @symbol(WSAENOTSOCK)) {
-        RETURN ( __mkSmallInteger(WSAENOTSOCK) );
+	RETURN ( __mkSmallInteger(WSAENOTSOCK) );
     }
 #endif
 #ifdef WSAEPROTONOSUPPORT
     if (sym == @symbol(WSAEPROTONOSUPPORT)) {
-        RETURN ( __mkSmallInteger(WSAEPROTONOSUPPORT) );
+	RETURN ( __mkSmallInteger(WSAEPROTONOSUPPORT) );
     }
 #endif
 #ifdef WSAESOCKTNOSUPPORT
     if (sym == @symbol(WSAESOCKTNOSUPPORT)) {
-        RETURN ( __mkSmallInteger(WSAESOCKTNOSUPPORT) );
+	RETURN ( __mkSmallInteger(WSAESOCKTNOSUPPORT) );
     }
 #endif
 #ifdef E_NOINTERFACE
     if (sym == @symbol(E_NOINTERFACE)) {
-        RETURN ( __MKUINT(E_NOINTERFACE) );
+	RETURN ( __MKUINT(E_NOINTERFACE) );
     }
 #endif
 #ifdef CO_E_NOTINITIALIZED
     if (sym == @symbol(CO_E_NOTINITIALIZED)) {
-        RETURN ( __MKUINT(CO_E_NOTINITIALIZED) );
+	RETURN ( __MKUINT(CO_E_NOTINITIALIZED) );
     }
 #endif
 #ifdef REGDB_E_CLASSNOTREG
     if (sym == @symbol(REGDB_E_CLASSNOTREG)) {
-        RETURN ( __MKUINT(REGDB_E_CLASSNOTREG) );
+	RETURN ( __MKUINT(REGDB_E_CLASSNOTREG) );
     }
 #endif
 #ifdef CLASS_E_NOAGGREGATION
     if (sym == @symbol(CLASS_E_NOAGGREGATION)) {
-        RETURN ( __MKUINT(CLASS_E_NOAGGREGATION) );
+	RETURN ( __MKUINT(CLASS_E_NOAGGREGATION) );
     }
 #endif
 #ifdef DISP_E_UNKNOWNNAME
     if (sym == @symbol(DISP_E_UNKNOWNNAME)) {
-        RETURN ( __MKUINT(DISP_E_UNKNOWNNAME) );
+	RETURN ( __MKUINT(DISP_E_UNKNOWNNAME) );
     }
 #endif
 #ifdef OLEOBJ_E_NOVERBS
     if (sym == @symbol(OLEOBJ_E_NOVERBS)) {
-        RETURN ( __MKUINT(OLEOBJ_E_NOVERBS) );
+	RETURN ( __MKUINT(OLEOBJ_E_NOVERBS) );
     }
 #endif
 
@@ -3253,56 +3253,56 @@
     hasRedirection := (aCommandString isNil or:[aCommandString includesAny:'<>|']).
 
     hasRedirection ifFalse:[
-        "/ test whether the commandString is an executable;
-        "/ then, no shell is required
-        cmdName := aCommandString withoutSeparators.
-        (cmdName notEmpty and:[(cmdName startsWith:$") not]) ifTrue:[
-            |index file suffix|
-
-            index := cmdName indexOfSeparatorStartingAt:1.
-            index ~~ 0 ifTrue:[
-                args := cmdName copyFrom:(index+1).
-                cmdName := cmdName copyFrom:1 to:(index-1).
-            ] ifFalse:[
-                args := ''.
-            ].
-
-            file   := cmdName asFilename.
-            suffix := file suffix.
-
-            suffix isEmptyOrNil ifTrue:[
-                suffix := 'exe'.
-                file := file withSuffix:suffix.
-            ].
-
-            (file exists and:[suffix = 'exe' or:[suffix = 'com']]) ifTrue:[
-                "/ is an executable, no shell required
-                path := file fullAlternativePathName.
-                ^ Array with:path with:aCommandString.
+	"/ test whether the commandString is an executable;
+	"/ then, no shell is required
+	cmdName := aCommandString withoutSeparators.
+	(cmdName notEmpty and:[(cmdName startsWith:$") not]) ifTrue:[
+	    |index file suffix|
+
+	    index := cmdName indexOfSeparatorStartingAt:1.
+	    index ~~ 0 ifTrue:[
+		args := cmdName copyFrom:(index+1).
+		cmdName := cmdName copyFrom:1 to:(index-1).
+	    ] ifFalse:[
+		args := ''.
+	    ].
+
+	    file   := cmdName asFilename.
+	    suffix := file suffix.
+
+	    suffix isEmptyOrNil ifTrue:[
+		suffix := 'exe'.
+		file := file withSuffix:suffix.
+	    ].
+
+	    (file exists and:[suffix = 'exe' or:[suffix = 'com']]) ifTrue:[
+		"/ is an executable, no shell required
+		path := file fullAlternativePathName.
+		^ Array with:path with:aCommandString.
 "/                ^ Array with:path with:(path, ' ', args).
-            ].
-            path := self pathOfCommand:cmdName.
-            path notNil ifTrue:[
-                "/ is an executable, no shell required
-                ^ Array with:path with:aCommandString.
+	    ].
+	    path := self pathOfCommand:cmdName.
+	    path notNil ifTrue:[
+		"/ is an executable, no shell required
+		^ Array with:path with:aCommandString.
 "/                ^ Array with:path with:(path, ' ', args).
-            ].
-        ].
+	    ].
+	].
     ].
 
     shell := self getEnvironment:'COMSPEC'.
     shell isNil ifTrue:[
-        wDir := self getWindowsSystemDirectory asFilename.
-        shell := #('cmd.exe' 'command.com') detect:[:eachCommand|
-                        (wDir / eachCommand) isExecutable
-                    ] ifNone:[
-                        self error:'no cmd.exe available'.
-                    ].
-        shell := (wDir / shell) pathName.
+	wDir := self getWindowsSystemDirectory asFilename.
+	shell := #('cmd.exe' 'command.com') detect:[:eachCommand|
+			(wDir / eachCommand) isExecutable
+		    ] ifNone:[
+			self error:'no cmd.exe available'.
+		    ].
+	shell := (wDir / shell) pathName.
     ].
 
     aCommandString isEmptyOrNil ifTrue:[
-        ^ Array with:shell with:nil
+	^ Array with:shell with:nil
     ].
 
     ^ Array with:shell with:(' /c "' , aCommandString, '"')
@@ -3321,48 +3321,48 @@
     "Internal lowLevel entry for combined fork & exec for WIN32
 
      If fork is false (chain a command):
-         execute the OS command specified by the argument, aCommandPath, with
-         arguments in argArray (no arguments, if nil).
-         If successful, this method does not return and smalltalk is gone.
-         If not successful, it does return.
-         Normal use is with forkForCommand.
+	 execute the OS command specified by the argument, aCommandPath, with
+	 arguments in argArray (no arguments, if nil).
+	 If successful, this method does not return and smalltalk is gone.
+	 If not successful, it does return.
+	 Normal use is with forkForCommand.
 
      If fork is true (subprocess command execution):
-        fork a child to do the above.
-        The process id of the child process is returned; nil if the fork failed.
+	fork a child to do the above.
+	The process id of the child process is returned; nil if the fork failed.
 
      fdArray contains the filedescriptors, to be used for the child (if fork is true).
-        fdArray[1] = 15 -> use fd 15 as stdin.
-        If an element of the array is set to nil, the corresponding filedescriptor
-        will be closed for the child.
-        fdArray[0] == StdIn for child
-        fdArray[1] == StdOut for child
-        fdArray[2] == StdErr for child
-        on VMS, these must be channels as returned by createMailBox.
+	fdArray[1] = 15 -> use fd 15 as stdin.
+	If an element of the array is set to nil, the corresponding filedescriptor
+	will be closed for the child.
+	fdArray[0] == StdIn for child
+	fdArray[1] == StdOut for child
+	fdArray[2] == StdErr for child
+	on VMS, these must be channels as returned by createMailBox.
 
      NOTE that in WIN32 the fds are HANDLES.
 
      If newPgrp is true, the subprocess will be established in a new process group.
-        The processgroup will be equal to id.
-        newPgrp is not used on WIN32 and VMS systems."
+	The processgroup will be equal to id.
+	newPgrp is not used on WIN32 and VMS systems."
 
     |dirPath rslt|
 
     aDirectory notNil ifTrue:[
-        dirPath := aDirectory asFilename asAbsoluteFilename osNameForDirectory.
-        (dirPath endsWith:':') ifTrue:[
-            dirPath := dirPath , '\'.
-        ].
+	dirPath := aDirectory asFilename asAbsoluteFilename osNameForDirectory.
+	(dirPath endsWith:':') ifTrue:[
+	    dirPath := dirPath , '\'.
+	].
     ].
 
     rslt := self
-        primExec:aCommandPath
-        commandLine:argString
-        fileDescriptors:fdArray
-        fork:doFork
-        newPgrp:newPgrp
-        inPath:dirPath
-        createFlags:nil.
+	primExec:aCommandPath
+	commandLine:argString
+	fileDescriptors:fdArray
+	fork:doFork
+	newPgrp:newPgrp
+	inPath:dirPath
+	createFlags:nil.
 
 "/ 'created ' print. cmdLine print. ' -> ' print. rslt printCR.
     ^ rslt
@@ -3389,34 +3389,34 @@
     |nullStream in out err rslt auxFd|
 
     (in := anExternalInStream) isNil ifTrue:[
-        nullStream := Filename nullDevice readWriteStream.
-        in := nullStream.
+	nullStream := Filename nullDevice readWriteStream.
+	in := nullStream.
     ].
     (out := anExternalOutStream) isNil ifTrue:[
-        nullStream isNil ifTrue:[nullStream := Filename nullDevice writeStream].
-        out := nullStream.
+	nullStream isNil ifTrue:[nullStream := Filename nullDevice writeStream].
+	out := nullStream.
     ].
     (err := anExternalErrStream) isNil ifTrue:[
-        err := out
+	err := out
     ].
     anAuxiliaryStream notNil ifTrue:[
-        auxFd := anAuxiliaryStream fileDescriptor
+	auxFd := anAuxiliaryStream fileDescriptor
     ].
 
     rslt := self
-        exec:commandString
-        withArguments:argString
-        environment:anEvironmentDictionary
-        fileDescriptors:(Array with:in fileDescriptor
-                               with:out fileDescriptor
-                               with:err fileDescriptor
-                               with:auxFd)
-        fork:true
-        newPgrp:true "/ false
-        inDirectory:dir.
+	exec:commandString
+	withArguments:argString
+	environment:anEvironmentDictionary
+	fileDescriptors:(Array with:in fileDescriptor
+			       with:out fileDescriptor
+			       with:err fileDescriptor
+			       with:auxFd)
+	fork:true
+	newPgrp:true "/ false
+	inDirectory:dir.
 
     nullStream notNil ifTrue:[
-        nullStream close.
+	nullStream close.
     ].
     ^ rslt
 
@@ -3439,7 +3439,7 @@
      The following will no longer work. monitorPid has disappeared
 
      pid notNil ifTrue:[
-         Processor monitorPid:pid action:[:OSstatus | sema signal ].
+	 Processor monitorPid:pid action:[:OSstatus | sema signal ].
      ].
      in close.
      out close.
@@ -3463,28 +3463,28 @@
     int status = -1;
 
     if (__isExternalAddressLike(aProcessId)) {
-        HANDLE handle = _HANDLEVal(aProcessId);
-        if (handle) {
+	HANDLE handle = _HANDLEVal(aProcessId);
+	if (handle) {
 #ifdef DO_WRAP_CALLS
-            do {
-                __threadErrno = 0;
-                endStatus = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, handle, INFINITE);
-            } while ((endStatus < 0) && (__threadErrno == EINTR));
-#else
-            endStatus = WaitForSingleObject(handle , INFINITE);
-#endif
-            if (endStatus != WAIT_FAILED) {
-                if (GetExitCodeProcess(handle,&endStatus)) {
-                    status = endStatus;
+	    do {
+		__threadErrno = 0;
+		endStatus = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, handle, INFINITE);
+	    } while ((endStatus < 0) && (__threadErrno == EINTR));
+#else
+	    endStatus = WaitForSingleObject(handle , INFINITE);
+#endif
+	    if (endStatus != WAIT_FAILED) {
+		if (GetExitCodeProcess(handle,&endStatus)) {
+		    status = endStatus;
 #ifdef PROCESSDEBUGWIN32
-                    console_fprintf(stderr, "getexitcode status = %d\n",status);
-                } else {
-                    console_fprintf(stderr, "getexitcode failed.\n");
-#endif
-                }
-            }
-        }
-        RETURN ( __mkSmallInteger(status));
+		    console_fprintf(stderr, "getexitcode status = %d\n",status);
+		} else {
+		    console_fprintf(stderr, "getexitcode failed.\n");
+#endif
+		}
+	    }
+	}
+	RETURN ( __mkSmallInteger(status));
     }
 %}.
     self primitiveFailed
@@ -3498,45 +3498,45 @@
     |path f fExt|
 
     aCommand asFilename isAbsolute ifTrue:[
-        aCommand asFilename exists ifTrue:[
-            ^ aCommand
-        ].
-        ^ nil
+	aCommand asFilename exists ifTrue:[
+	    ^ aCommand
+	].
+	^ nil
     ].
 
     (aCommand includes:Filename separator) ifTrue:[
-        path := Filename currentDirectory construct:aCommand.
-        (path exists
-        or:[(path withSuffix:'exe') exists]) ifTrue:[
-            ^ path pathName
-        ].
+	path := Filename currentDirectory construct:aCommand.
+	(path exists
+	or:[(path withSuffix:'exe') exists]) ifTrue:[
+	    ^ path pathName
+	].
     ].
 
     path := self getEnvironment:'PATH'.
     path notNil ifTrue:[
-        (path asCollectionOfSubstringsSeparatedBy:(self pathSeparator)) do:[:path |
-            path isEmpty ifTrue:[
-                f := aCommand asFilename
-            ] ifFalse:[
-                f := path asFilename construct:aCommand.
-            ].
-            f suffix isEmpty ifTrue:[
-                self executableFileExtensions do:[:ext |
-                    ext notEmpty ifTrue:[
-                        fExt := (f pathName , '.' , ext) asFilename.
-                    ] ifFalse:[
-                        fExt := f.
-                    ].
-                    fExt isExecutable ifTrue:[
-                        ^ fExt pathName
-                    ].
-                ].
-            ] ifFalse:[
-                f isExecutable ifTrue:[
-                    ^ f pathName
-                ].
-            ].
-        ].
+	(path asCollectionOfSubstringsSeparatedBy:(self pathSeparator)) do:[:path |
+	    path isEmpty ifTrue:[
+		f := aCommand asFilename
+	    ] ifFalse:[
+		f := path asFilename construct:aCommand.
+	    ].
+	    f suffix isEmpty ifTrue:[
+		self executableFileExtensions do:[:ext |
+		    ext notEmpty ifTrue:[
+			fExt := (f pathName , '.' , ext) asFilename.
+		    ] ifFalse:[
+			fExt := f.
+		    ].
+		    fExt isExecutable ifTrue:[
+			^ fExt pathName
+		    ].
+		].
+	    ] ifFalse:[
+		f isExecutable ifTrue:[
+		    ^ f pathName
+		].
+	    ].
+	].
     ].
     ^ nil
 
@@ -3574,149 +3574,149 @@
     SECURITY_DESCRIPTOR securityDescriptor;
 
     if ((__isStringLike(commandPath) || (commandPath == nil)) && __isStringLike(commandLine)) {
-        if (commandPath != nil) {
-            cmdPath = __stringVal(commandPath);
-        }
-        cmdLine = __stringVal(commandLine);
-
-        if (__isStringLike(dirName)) {
-            dir = __stringVal(dirName);
-        }
-
-        /*
-         * create descriptors as req'd
-         */
-        memset(&securityAttributes, 0, sizeof(securityAttributes));
-        securityAttributes.nLength = sizeof(securityAttributes);
-        securityAttributes.bInheritHandle = TRUE;
-
-        InitializeSecurityDescriptor(&securityDescriptor, SECURITY_DESCRIPTOR_REVISION);
-        SetSecurityDescriptorDacl(&securityDescriptor, -1, 0, 0);
-
-        securityAttributes.lpSecurityDescriptor = &securityDescriptor;
-        memset(&lppiProcInfo, 0, sizeof (lppiProcInfo));
-
-        memset(&lpsiStartInfo, 0, sizeof(lpsiStartInfo));
-        lpsiStartInfo.cb                = sizeof(lpsiStartInfo);
-        lpsiStartInfo.lpReserved        = NULL;
-        lpsiStartInfo.lpDesktop         = NULL;
-        lpsiStartInfo.lpTitle           = NULL;
-        lpsiStartInfo.dwX               = 0;
-        lpsiStartInfo.dwY               = 0;
-        lpsiStartInfo.dwXSize           = 100;
-        lpsiStartInfo.dwYSize           = 100;
-        lpsiStartInfo.dwXCountChars     = 0;
-        lpsiStartInfo.dwYCountChars     = 0;
-        lpsiStartInfo.dwFillAttribute   = 0;
-        if (0 /*__isWinNT*/) {
-            lpsiStartInfo.dwFlags           = STARTF_USESTDHANDLES;
-            lpsiStartInfo.wShowWindow       = SW_SHOWDEFAULT;
-        } else {
-            lpsiStartInfo.dwFlags           = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES /*| STARTF_USEPOSITION*/;
-            lpsiStartInfo.wShowWindow       = SW_HIDE /*SW_SHOWDEFAULT*/;
-        }
-        lpsiStartInfo.cbReserved2       = 0;
-        lpsiStartInfo.lpReserved2       = NULL;
-        lpsiStartInfo.hStdInput         = NULL;
-        lpsiStartInfo.hStdOutput        = NULL;
-        lpsiStartInfo.hStdError         = NULL;
-
-        /*
-         * set create process flags
-         * if the flags arg is nil, use common defaults;
-         * if non-nil, it must be a positive integer containing the fdwCreate bits.
-         */
-        if (flagsOrNil != nil) {
-            fdwCreate = __longIntVal(flagsOrNil);
-        } else {
-            if (0 /* __isWinNT */)
-                fdwCreate = 0; //IDLE_PRIORITY_CLASS;
-            else
-                fdwCreate = CREATE_NEW_CONSOLE; //|IDLE_PRIORITY_CLASS; // DETACHED_PROCESS; // NORMAL_PRIORITY_CLASS ;
-
-            if (newPgrp == true) {
-                fdwCreate |= CREATE_NEW_PROCESS_GROUP;
-            }
-            fdwCreate |= CREATE_DEFAULT_ERROR_MODE;
-        }
-
-        if (fdArray == nil) {
-            lpsiStartInfo.hStdInput  = (HANDLE) _get_osfhandle (0);
-            lpsiStartInfo.hStdOutput = (HANDLE) _get_osfhandle (1);
-            lpsiStartInfo.hStdError  = (HANDLE) _get_osfhandle (2);
-        } else if (__isArrayLike(fdArray) && (__arraySize(fdArray) >= 3)) {
-            if (__ArrayInstPtr(fdArray)->a_element[0] != nil) {
-                if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[0])) {
-                    lpsiStartInfo.hStdInput = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[0]);
-                } else {
-                    lpsiStartInfo.hStdInput = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[0]));
-                }
-            }
-            if (__ArrayInstPtr(fdArray)->a_element[1] != nil) {
-                if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[1])) {
-                    lpsiStartInfo.hStdOutput = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[1]);
-                } else {
-                    lpsiStartInfo.hStdOutput = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[1]));
-                }
-            }
-            if (__ArrayInstPtr(fdArray)->a_element[2] != nil) {
-                if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[2])) {
-                    lpsiStartInfo.hStdError  = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[2]);
-                } else {
-                    lpsiStartInfo.hStdError = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[2]));
-                }
-            }
+	if (commandPath != nil) {
+	    cmdPath = __stringVal(commandPath);
+	}
+	cmdLine = __stringVal(commandLine);
+
+	if (__isStringLike(dirName)) {
+	    dir = __stringVal(dirName);
+	}
+
+	/*
+	 * create descriptors as req'd
+	 */
+	memset(&securityAttributes, 0, sizeof(securityAttributes));
+	securityAttributes.nLength = sizeof(securityAttributes);
+	securityAttributes.bInheritHandle = TRUE;
+
+	InitializeSecurityDescriptor(&securityDescriptor, SECURITY_DESCRIPTOR_REVISION);
+	SetSecurityDescriptorDacl(&securityDescriptor, -1, 0, 0);
+
+	securityAttributes.lpSecurityDescriptor = &securityDescriptor;
+	memset(&lppiProcInfo, 0, sizeof (lppiProcInfo));
+
+	memset(&lpsiStartInfo, 0, sizeof(lpsiStartInfo));
+	lpsiStartInfo.cb                = sizeof(lpsiStartInfo);
+	lpsiStartInfo.lpReserved        = NULL;
+	lpsiStartInfo.lpDesktop         = NULL;
+	lpsiStartInfo.lpTitle           = NULL;
+	lpsiStartInfo.dwX               = 0;
+	lpsiStartInfo.dwY               = 0;
+	lpsiStartInfo.dwXSize           = 100;
+	lpsiStartInfo.dwYSize           = 100;
+	lpsiStartInfo.dwXCountChars     = 0;
+	lpsiStartInfo.dwYCountChars     = 0;
+	lpsiStartInfo.dwFillAttribute   = 0;
+	if (0 /*__isWinNT*/) {
+	    lpsiStartInfo.dwFlags           = STARTF_USESTDHANDLES;
+	    lpsiStartInfo.wShowWindow       = SW_SHOWDEFAULT;
+	} else {
+	    lpsiStartInfo.dwFlags           = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES /*| STARTF_USEPOSITION*/;
+	    lpsiStartInfo.wShowWindow       = SW_HIDE /*SW_SHOWDEFAULT*/;
+	}
+	lpsiStartInfo.cbReserved2       = 0;
+	lpsiStartInfo.lpReserved2       = NULL;
+	lpsiStartInfo.hStdInput         = NULL;
+	lpsiStartInfo.hStdOutput        = NULL;
+	lpsiStartInfo.hStdError         = NULL;
+
+	/*
+	 * set create process flags
+	 * if the flags arg is nil, use common defaults;
+	 * if non-nil, it must be a positive integer containing the fdwCreate bits.
+	 */
+	if (flagsOrNil != nil) {
+	    fdwCreate = __longIntVal(flagsOrNil);
+	} else {
+	    if (0 /* __isWinNT */)
+		fdwCreate = 0; //IDLE_PRIORITY_CLASS;
+	    else
+		fdwCreate = CREATE_NEW_CONSOLE; //|IDLE_PRIORITY_CLASS; // DETACHED_PROCESS; // NORMAL_PRIORITY_CLASS ;
+
+	    if (newPgrp == true) {
+		fdwCreate |= CREATE_NEW_PROCESS_GROUP;
+	    }
+	    fdwCreate |= CREATE_DEFAULT_ERROR_MODE;
+	}
+
+	if (fdArray == nil) {
+	    lpsiStartInfo.hStdInput  = (HANDLE) _get_osfhandle (0);
+	    lpsiStartInfo.hStdOutput = (HANDLE) _get_osfhandle (1);
+	    lpsiStartInfo.hStdError  = (HANDLE) _get_osfhandle (2);
+	} else if (__isArrayLike(fdArray) && (__arraySize(fdArray) >= 3)) {
+	    if (__ArrayInstPtr(fdArray)->a_element[0] != nil) {
+		if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[0])) {
+		    lpsiStartInfo.hStdInput = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[0]);
+		} else {
+		    lpsiStartInfo.hStdInput = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[0]));
+		}
+	    }
+	    if (__ArrayInstPtr(fdArray)->a_element[1] != nil) {
+		if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[1])) {
+		    lpsiStartInfo.hStdOutput = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[1]);
+		} else {
+		    lpsiStartInfo.hStdOutput = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[1]));
+		}
+	    }
+	    if (__ArrayInstPtr(fdArray)->a_element[2] != nil) {
+		if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[2])) {
+		    lpsiStartInfo.hStdError  = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[2]);
+		} else {
+		    lpsiStartInfo.hStdError = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[2]));
+		}
+	    }
 #if defined(PROCESSDEBUGWIN32)
-            console_fprintf(stderr, "stdin %x\n", lpsiStartInfo.hStdInput);
-            console_fprintf(stderr, "stdout %x\n",lpsiStartInfo.hStdOutput);
-            console_fprintf(stderr, "stderr %x\n",lpsiStartInfo.hStdError);
-#endif
-        } else {
-            console_fprintf(stderr, "Win32OS [warning]: bad fd arg in createProcess\n");
-        }
-
-        if (doFork == true) {
+	    console_fprintf(stderr, "stdin %x\n", lpsiStartInfo.hStdInput);
+	    console_fprintf(stderr, "stdout %x\n",lpsiStartInfo.hStdOutput);
+	    console_fprintf(stderr, "stderr %x\n",lpsiStartInfo.hStdError);
+#endif
+	} else {
+	    console_fprintf(stderr, "Win32OS [warning]: bad fd arg in createProcess\n");
+	}
+
+	if (doFork == true) {
 #ifdef PROCESSDEBUGWIN32
-            console_fprintf(stderr, "create process cmdPath:<%s> cmdLine:<%s> in <%s>\n", cmdPath, cmdLine, dir);
-#endif
-            if (CreateProcess(  cmdPath,
-                                cmdLine,
-                                &securityAttributes, NULL /* &securityAttributes */,          
-                                securityAttributes.bInheritHandle,      /* inherit handles */
-                                fdwCreate | CREATE_SUSPENDED,           /* resume after setting affinity */
-                                NULL,                                   /* env */
-                                dir,
-                                &lpsiStartInfo,
-                                &lppiProcInfo ))
-            {
-                DWORD processAffinityMask, systemAffinityMask;   
-
-                /* 
-                 * Process was created suspended, now set the affinity mask
-                 * to any processor, and resume the processes main thread.
-                 * (librun/process.s limited the affinity to a single processor).
-                 */
-                GetProcessAffinityMask(lppiProcInfo.hProcess, &processAffinityMask, &systemAffinityMask);
-                SetProcessAffinityMask(lppiProcInfo.hProcess, systemAffinityMask);
-                if ((fdwCreate & CREATE_SUSPENDED) == 0) {
-                    ResumeThread(lppiProcInfo.hThread);
-                }
-                CloseHandle(lppiProcInfo.hThread);
+	    console_fprintf(stderr, "create process cmdPath:<%s> cmdLine:<%s> in <%s>\n", cmdPath, cmdLine, dir);
+#endif
+	    if (CreateProcess(  cmdPath,
+				cmdLine,
+				&securityAttributes, NULL /* &securityAttributes */,
+				securityAttributes.bInheritHandle,      /* inherit handles */
+				fdwCreate | CREATE_SUSPENDED,           /* resume after setting affinity */
+				NULL,                                   /* env */
+				dir,
+				&lpsiStartInfo,
+				&lppiProcInfo ))
+	    {
+		DWORD processAffinityMask, systemAffinityMask;
+
+		/*
+		 * Process was created suspended, now set the affinity mask
+		 * to any processor, and resume the processes main thread.
+		 * (librun/process.s limited the affinity to a single processor).
+		 */
+		GetProcessAffinityMask(lppiProcInfo.hProcess, &processAffinityMask, &systemAffinityMask);
+		SetProcessAffinityMask(lppiProcInfo.hProcess, systemAffinityMask);
+		if ((fdwCreate & CREATE_SUSPENDED) == 0) {
+		    ResumeThread(lppiProcInfo.hThread);
+		}
+		CloseHandle(lppiProcInfo.hThread);
 #ifdef PROCESSDEBUGWIN32
-                console_fprintf(stderr, "created process hProcess=%x\n", lppiProcInfo.hProcess);
-#endif
-
-                __externalAddressVal(handle) = lppiProcInfo.hProcess;
-                ((struct __Win32OperatingSystem__Win32ProcessHandle_struct *)(handle))->pid = __mkSmallInteger(lppiProcInfo.dwProcessId);
-                RETURN (handle);
-            }
+		console_fprintf(stderr, "created process hProcess=%x\n", lppiProcInfo.hProcess);
+#endif
+
+		__externalAddressVal(handle) = lppiProcInfo.hProcess;
+		((struct __Win32OperatingSystem__Win32ProcessHandle_struct *)(handle))->pid = __mkSmallInteger(lppiProcInfo.dwProcessId);
+		RETURN (handle);
+	    }
 #ifdef PROCESSDEBUGWIN32
-            console_fprintf(stderr, "created process error %d\n", GetLastError());
-#endif
-            RETURN (nil);
-        } else {
-            ; /* should never be called that way */
-        }
+	    console_fprintf(stderr, "created process error %d\n", GetLastError());
+#endif
+	    RETURN (nil);
+	} else {
+	    ; /* should never be called that way */
+	}
     }
 %}.
     "
@@ -3731,102 +3731,113 @@
 shellExecute:hwnd lpOperation:lpOperation lpFile:lpFile lpParameters:lpParameters lpDirectory:lpDirectory nShowCmd:nShowCmd
     "Opens or prints the specified file, which can be an executable, document file, or directory.
      If its a directory, an explorer window is opened (see example below).
-     Can be used to open a browser or viewer on html-files, pdf-files etc."
-
-    |errorNumber|
+     Can be used to open a browser or viewer on html-files, pdf-files etc"
+
+    |errorNumber handle|
+
+    handle := Win32ProcessHandle new.
 
 %{
     SHELLEXECUTEINFO shExecInfo = {0};
     shExecInfo.cbSize = sizeof(shExecInfo);
 
     if (__isSmallInteger(nShowCmd)) {
-        shExecInfo.nShow = __intVal(nShowCmd);
+	shExecInfo.nShow = __intVal(nShowCmd);
     } else {
-        if (nShowCmd == @symbol(SW_SHOW)) {
-            shExecInfo.nShow = SW_SHOW;
-        } else if (nShowCmd == @symbol(SW_SHOWNORMAL)) {
-            shExecInfo.nShow = SW_SHOWNORMAL;
-        } else if (nShowCmd == @symbol(SW_SHOWDEFAULT)) {
-            shExecInfo.nShow = SW_SHOWDEFAULT;
-        } else if (nShowCmd == @symbol(SW_SHOWMAXIMIZED)) {
-            shExecInfo.nShow = SW_SHOWMAXIMIZED;
-        } else if (nShowCmd == @symbol(SW_SHOWMINIMIZED)) {
-            shExecInfo.nShow = SW_SHOWMINIMIZED;
-        } else if (nShowCmd == @symbol(SW_SHOWMINNOACTIVE)) {
-            shExecInfo.nShow = SW_SHOWMINNOACTIVE;
-        } else if (nShowCmd == @symbol(SW_SHOWNA)) {
-            shExecInfo.nShow = SW_SHOWNA;
-        } else if (nShowCmd == @symbol(SW_SHOWNOACTIVATE)) {
-            shExecInfo.nShow = SW_SHOWNOACTIVATE;
-        } else if (nShowCmd == @symbol(SW_MAXIMIZE)) {
-            shExecInfo.nShow = SW_MAXIMIZE;
-        } else if (nShowCmd == @symbol(SW_RESTORE)) {
-            shExecInfo.nShow = SW_RESTORE;
-        } else {
-            goto badArgument;
-        }
+	if (nShowCmd == @symbol(SW_SHOW)) {
+	    shExecInfo.nShow = SW_SHOW;
+	} else if (nShowCmd == @symbol(SW_SHOWNORMAL)) {
+	    shExecInfo.nShow = SW_SHOWNORMAL;
+	} else if (nShowCmd == @symbol(SW_SHOWDEFAULT)) {
+	    shExecInfo.nShow = SW_SHOWDEFAULT;
+	} else if (nShowCmd == @symbol(SW_SHOWMAXIMIZED)) {
+	    shExecInfo.nShow = SW_SHOWMAXIMIZED;
+	} else if (nShowCmd == @symbol(SW_SHOWMINIMIZED)) {
+	    shExecInfo.nShow = SW_SHOWMINIMIZED;
+	} else if (nShowCmd == @symbol(SW_SHOWMINNOACTIVE)) {
+	    shExecInfo.nShow = SW_SHOWMINNOACTIVE;
+	} else if (nShowCmd == @symbol(SW_SHOWNA)) {
+	    shExecInfo.nShow = SW_SHOWNA;
+	} else if (nShowCmd == @symbol(SW_SHOWNOACTIVATE)) {
+	    shExecInfo.nShow = SW_SHOWNOACTIVATE;
+	} else if (nShowCmd == @symbol(SW_MAXIMIZE)) {
+	    shExecInfo.nShow = SW_MAXIMIZE;
+	} else if (nShowCmd == @symbol(SW_RESTORE)) {
+	    shExecInfo.nShow = SW_RESTORE;
+	} else {
+	    goto badArgument;
+	}
     }
     if (((lpOperation == nil) || __isStringLike(lpOperation))
      && ((lpFile == nil) || __isStringLike(lpFile))
      && ((lpParameters == nil) || __isStringLike(lpParameters))
      && ((lpDirectory == nil) || __isStringLike(lpDirectory))
     ) {
-        shExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
-        shExecInfo.hwnd = 0;
-        shExecInfo.lpVerb        = (lpOperation != nil) ? __stringVal(lpOperation) : NULL;
-        shExecInfo.lpFile        = (lpFile != nil) ? __stringVal(lpFile) : NULL;
-        shExecInfo.lpParameters  = (lpParameters != nil) ? __stringVal(lpParameters) : NULL;
-        shExecInfo.lpDirectory   = (lpDirectory != nil) ? __stringVal(lpDirectory) : NULL;
-        if (hwnd != nil) {
-            if (__isExternalAddressLike(hwnd)) {
-                shExecInfo.hwnd = (HANDLE)(__externalAddressVal(hwnd));
-            } else
-                goto badArgument;
-        }
-        if (ShellExecuteEx(&shExecInfo)) {
-            if (shExecInfo.hProcess) {
-                DWORD processAffinityMask, systemAffinityMask;   
-                /* 
-                 * Set the affinity mask
-                 * to any processor, and resume the processes main thread.
-                 * (librun/process.s limited the affinity to a single processor).
-                 */
-                GetProcessAffinityMask(shExecInfo.hProcess, &processAffinityMask, &systemAffinityMask);
-                SetProcessAffinityMask(shExecInfo.hProcess, systemAffinityMask);
-                CloseHandle(shExecInfo.hProcess);    
-            }
-            RETURN (self); /* OK */
-        } else {
-            /* error */
-            errorNumber = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-        }
+	// hProcess member receives the process handle
+	shExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
+
+	shExecInfo.hwnd = 0;
+	shExecInfo.lpVerb        = (lpOperation != nil) ? __stringVal(lpOperation) : NULL;
+	shExecInfo.lpFile        = (lpFile != nil) ? __stringVal(lpFile) : NULL;
+	shExecInfo.lpParameters  = (lpParameters != nil) ? __stringVal(lpParameters) : NULL;
+	shExecInfo.lpDirectory   = (lpDirectory != nil) ? __stringVal(lpDirectory) : NULL;
+	if (hwnd != nil) {
+	    if (__isExternalAddressLike(hwnd)) {
+		shExecInfo.hwnd = (HANDLE)(__externalAddressVal(hwnd));
+	    } else
+		goto badArgument;
+	}
+	if (ShellExecuteEx(&shExecInfo)) {
+	    if (shExecInfo.hProcess) {
+		DWORD processAffinityMask, systemAffinityMask;
+		/*
+		 * Set the affinity mask
+		 * to any processor, and resume the processes main thread.
+		 * (librun/process.s limited the affinity to a single processor).
+		 */
+		GetProcessAffinityMask(shExecInfo.hProcess, &processAffinityMask, &systemAffinityMask);
+		SetProcessAffinityMask(shExecInfo.hProcess, systemAffinityMask);
+
+		// new (does not work, yet):
+		// __externalAddressVal(handle) = shExecInfo.hProcess;
+		// RETURN (handle);
+
+		// old:
+		CloseHandle(shExecInfo.hProcess);
+		RETURN (self); /* OK */
+	    } else {
+		RETURN (self); /* OK */
+	    }
+	} else {
+	    /* error */
+	    errorNumber = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+	}
     }
 badArgument: ;
 %}.
-
     errorNumber isNil ifTrue:[
-        self primitiveFailed:'invalid argument(s)'.
+	self primitiveFailed:'invalid argument(s)'.
     ] ifFalse:[
-        (OperatingSystem errorHolderForNumber:errorNumber)
-            parameter:lpFile;
-            reportError
+	(OperatingSystem errorHolderForNumber:errorNumber)
+	    parameter:lpFile;
+	    reportError
     ].
 
     "
      self
-        shellExecute:nil
-        lpOperation:'open'
-        lpFile:(Filename currentDirectory pathName)
-        lpParameters:nil
-        lpDirectory:(Filename currentDirectory pathName)
-        nShowCmd:#SW_SHOWNORMAL
+	shellExecute:nil
+	lpOperation:'open'
+	lpFile:(Filename currentDirectory pathName)
+	lpParameters:nil
+	lpDirectory:(Filename currentDirectory pathName)
+	nShowCmd:#SW_SHOWNORMAL
     self
-        shellExecute:nil
-        lpOperation:'explore'
-        lpFile:(Filename currentDirectory pathName)
-        lpParameters:nil
-        lpDirectory:(Filename currentDirectory pathName)
-        nShowCmd:#SW_SHOWNORMAL
+	shellExecute:nil
+	lpOperation:'explore'
+	lpFile:(Filename currentDirectory pathName)
+	lpParameters:nil
+	lpDirectory:(Filename currentDirectory pathName)
+	nShowCmd:#SW_SHOWNORMAL
     "
 !
 
@@ -3851,10 +3862,10 @@
     shellAndArgs := self commandAndArgsForOSCommand:aCommandString.
 
     ^ self
-        exec:(shellAndArgs at:1) withArguments:(shellAndArgs at:2)
-        inputFrom:anExternalInStream outputTo:anExternalOutStream
-        errorTo:anExternalErrStream auxFrom:anAuxiliaryStream
-        environment:anEvironmentDictionary inDirectory:dir
+	exec:(shellAndArgs at:1) withArguments:(shellAndArgs at:2)
+	inputFrom:anExternalInStream outputTo:anExternalOutStream
+	errorTo:anExternalErrStream auxFrom:anAuxiliaryStream
+	environment:anEvironmentDictionary inDirectory:dir
 
     "blocking at current prio (i.e. only higher prio threads execute):
 
@@ -3875,7 +3886,7 @@
      The following will no longer work. monitorPid has disappeared
 
      pid notNil ifTrue:[
-         Processor monitorPid:pid action:[:OSstatus | sema signal ].
+	 Processor monitorPid:pid action:[:OSstatus | sema signal ].
      ].
      in close.
      out close.
@@ -3897,12 +3908,12 @@
 
 %{
     if (__isSmallInteger(anIntegerOrHandle)) {
-        close(__intVal(anIntegerOrHandle));
-        RETURN(self);
+	close(__intVal(anIntegerOrHandle));
+	RETURN(self);
     }
     if (__isExternalAddressLike(anIntegerOrHandle)) {
        if (!CloseHandle( __externalAddressVal(anIntegerOrHandle))) {
-           console_fprintf( stderr, "Win32OS [warning]: Could not close handle : %x\n", __externalAddressVal(anIntegerOrHandle));
+	   console_fprintf( stderr, "Win32OS [warning]: Could not close handle : %x\n", __externalAddressVal(anIntegerOrHandle));
        }
        RETURN(self);
     }
@@ -3922,45 +3933,45 @@
 
 %{
     if (__isStringLike(aPathName)) {
-        int ret;
-        SECURITY_ATTRIBUTES sa;
-
-        sa.nLength = sizeof( sa );
-        sa.lpSecurityDescriptor = NULL;
-        sa.bInheritHandle = TRUE;
-
-        ret = CreateDirectoryA(__stringVal(aPathName), &sa);
-        if (ret != TRUE) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	int ret;
+	SECURITY_ATTRIBUTES sa;
+
+	sa.nLength = sizeof( sa );
+	sa.lpSecurityDescriptor = NULL;
+	sa.bInheritHandle = TRUE;
+
+	ret = CreateDirectoryA(__stringVal(aPathName), &sa);
+	if (ret != TRUE) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
     if (__isUnicode16String(aPathName)) {
-        int ret;
-        SECURITY_ATTRIBUTES sa;
-        wchar_t _wPathName[MAXPATHLEN+1];
-        int i, l;
-
-        l = __unicode16StringSize(aPathName);
-        if (l > MAXPATHLEN) l = MAXPATHLEN;
-        for (i=0; i<l; i++) {
-            _wPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _wPathName[i] = 0;
-
-        sa.nLength = sizeof( sa );
-        sa.lpSecurityDescriptor = NULL;
-        sa.bInheritHandle = TRUE;
-
-        ret = CreateDirectoryW(_wPathName, &sa);
-        if (ret != TRUE) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	int ret;
+	SECURITY_ATTRIBUTES sa;
+	wchar_t _wPathName[MAXPATHLEN+1];
+	int i, l;
+
+	l = __unicode16StringSize(aPathName);
+	if (l > MAXPATHLEN) l = MAXPATHLEN;
+	for (i=0; i<l; i++) {
+	    _wPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_wPathName[i] = 0;
+
+	sa.nLength = sizeof( sa );
+	sa.lpSecurityDescriptor = NULL;
+	sa.bInheritHandle = TRUE;
+
+	ret = CreateDirectoryW(_wPathName, &sa);
+	if (ret != TRUE) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 %}.
     ^ self primitiveFailed
@@ -4006,32 +4017,32 @@
     char szGotPath[MAX_PATH];
 
     if (! __isStringLike(aPathName)) {
-        console_fprintf(stderr, "OperatingSystem [info]: invalid argument\n");
-        goto error;
+	console_fprintf(stderr, "OperatingSystem [info]: invalid argument\n");
+	goto error;
     }
 
     if( ! coInitialized ) {
-        console_fprintf(stderr, "OperatingSystem [info]: com not initialized\n");
-        goto error;
+	console_fprintf(stderr, "OperatingSystem [info]: com not initialized\n");
+	goto error;
     }
 
     if ( ipShellLink == NULL ) {
-        hres = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
-                                &IID_IShellLink, (LPVOID *)&ipShellLink);
-        if (! SUCCEEDED(hres)) {
-            console_fprintf(stderr, "OperatingSystem [info]: CoCreateInstance Error - hres = %08x\n", hres);
-            ipShellLink = NULL;
-            goto error;
-        }
-
-        hres = ipShellLink->lpVtbl->QueryInterface( ipShellLink, &IID_IPersistFile, & ipPersistFile );
-        if (! SUCCEEDED(hres)) {
-            console_fprintf(stderr, "OperatingSystem [info]: QueryInterface Error - hres = %08x\n", hres);
-            ipShellLink->lpVtbl->Release(ipShellLink);
-            ipShellLink   = NULL;
-            ipPersistFile = NULL;
-            goto error;
-        }
+	hres = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+				&IID_IShellLink, (LPVOID *)&ipShellLink);
+	if (! SUCCEEDED(hres)) {
+	    console_fprintf(stderr, "OperatingSystem [info]: CoCreateInstance Error - hres = %08x\n", hres);
+	    ipShellLink = NULL;
+	    goto error;
+	}
+
+	hres = ipShellLink->lpVtbl->QueryInterface( ipShellLink, &IID_IPersistFile, & ipPersistFile );
+	if (! SUCCEEDED(hres)) {
+	    console_fprintf(stderr, "OperatingSystem [info]: QueryInterface Error - hres = %08x\n", hres);
+	    ipShellLink->lpVtbl->Release(ipShellLink);
+	    ipShellLink   = NULL;
+	    ipPersistFile = NULL;
+	    goto error;
+	}
     }
 
     MultiByteToWideChar(CP_ACP, 0, __stringVal(aPathName), -1, wsz, MAX_PATH);
@@ -4039,18 +4050,18 @@
     hres = ipPersistFile->lpVtbl->Load(ipPersistFile, wsz, STGM_READ);
 
     if (SUCCEEDED(hres)) {
-        hres = ipShellLink->lpVtbl->GetPath(ipShellLink, szGotPath, MAX_PATH,
-                    (WIN32_FIND_DATA *)&wfd, 0 /* SLGP_SHORTPATH */ );
-        if (SUCCEEDED(hres)) {
-            resolvedPath = __MKSTRING(szGotPath);
-        } else {
+	hres = ipShellLink->lpVtbl->GetPath(ipShellLink, szGotPath, MAX_PATH,
+		    (WIN32_FIND_DATA *)&wfd, 0 /* SLGP_SHORTPATH */ );
+	if (SUCCEEDED(hres)) {
+	    resolvedPath = __MKSTRING(szGotPath);
+	} else {
 #ifdef COM_DEBUG
-            console_fprintf(stderr, "OperatingSystem [info]: GetPath failed - hres = %08x\n", hres );
-#endif
-        }
+	    console_fprintf(stderr, "OperatingSystem [info]: GetPath failed - hres = %08x\n", hres );
+#endif
+	}
     } else {
 #ifdef COM_DEBUG
-        console_fprintf(stderr, "OperatingSystem [info]: Load failed - hres = %08x\n", hres );
+	console_fprintf(stderr, "OperatingSystem [info]: Load failed - hres = %08x\n", hres );
 #endif
     }
     /* ipPersistFile->lpVtbl->Release(ipPersistFile);  */
@@ -4076,10 +4087,10 @@
      Return true if successful, false if not."
 
     (oldPath isString not or:[newPath isString not]) ifTrue:[
-        "/
-        "/ bad argument(s) given
-        "/
-        ^ self primitiveFailed
+	"/
+	"/ bad argument(s) given
+	"/
+	^ self primitiveFailed
     ].
 
     "/
@@ -4112,24 +4123,24 @@
     DWORD access, share, create, attr;
 
     if (__isStringLike(pathName)) {
-        name = __stringVal(pathName);
+	name = __stringVal(pathName);
     } else if (__isUnicode16String(pathName)) {
-        l = __unicode16StringSize(pathName);
-        if (l > MAXPATHLEN) l = MAXPATHLEN;
-        for (i=0; i<l; i++) {
-            _wPathName[i] = __unicode16StringVal(pathName)[i];
-        }
-        _wPathName[i] = 0;
+	l = __unicode16StringSize(pathName);
+	if (l > MAXPATHLEN) l = MAXPATHLEN;
+	for (i=0; i<l; i++) {
+	    _wPathName[i] = __unicode16StringVal(pathName)[i];
+	}
+	_wPathName[i] = 0;
     } else {
-        fileHandle = nil;
-        argumentError = @symbol(badPathName);
-        goto badArgument;
+	fileHandle = nil;
+	argumentError = @symbol(badPathName);
+	goto badArgument;
     }
 
     if (! __isArrayLike(attributeSpec)) {
-        fileHandle = nil;
-        argumentError = @symbol(badAttributeSpec);
-        goto badArgument;
+	fileHandle = nil;
+	argumentError = @symbol(badAttributeSpec);
+	goto badArgument;
     }
     ap = __ArrayInstPtr(attributeSpec)->a_element;
     numAttrib = __arraySize(attributeSpec);
@@ -4140,77 +4151,77 @@
     attr = 0;
 
     for (i=0; i<numAttrib;i++) {
-        OBJ attrSym = ap[i];
-
-        if (attrSym == @symbol(FILE_SHARE_READ)) {
-            share |= FILE_SHARE_READ;
-        } else if (attrSym == @symbol(FILE_SHARE_WRITE)) {
-            share |= FILE_SHARE_WRITE;
-
-        } else if (attrSym == @symbol(GENERIC_READ)) {
-            access |= GENERIC_READ;
-        } else if (attrSym == @symbol(GENERIC_WRITE)) {
-            access |= GENERIC_WRITE;
-
-        } else if (attrSym == @symbol(CREATE_NEW)) {
-            create |= CREATE_NEW;
-        } else if (attrSym == @symbol(CREATE_ALWAYS)) {
-            create |= CREATE_ALWAYS;
-        } else if (attrSym == @symbol(OPEN_EXISTING)) {
-            create |= OPEN_EXISTING;
-        } else if (attrSym == @symbol(OPEN_ALWAYS)) {
-            create |= OPEN_ALWAYS;
-        } else if (attrSym == @symbol(TRUNCATE_EXISTING)) {
-            create |= TRUNCATE_EXISTING;
-
-        } else if (attrSym == @symbol(FILE_ATTRIBUTE_HIDDEN)) {
-            attr |= FILE_ATTRIBUTE_HIDDEN;
-        } else if (attrSym == @symbol(FILE_ATTRIBUTE_READONLY)) {
-            attr |= FILE_ATTRIBUTE_READONLY;
-        } else if (attrSym == @symbol(FILE_ATTRIBUTE_READONLY)) {
-            attr |= FILE_ATTRIBUTE_READONLY;
-        } else if (attrSym == @symbol(FILE_FLAG_WRITE_THROUGH)) {
-            attr |= FILE_FLAG_WRITE_THROUGH;
-        } else if (attrSym == @symbol(FILE_FLAG_SEQUENTIAL_SCAN)) {
-            attr |= FILE_FLAG_SEQUENTIAL_SCAN;
-        } else if (attrSym == @symbol(FILE_FLAG_DELETE_ON_CLOSE)) {
-            attr |= FILE_FLAG_DELETE_ON_CLOSE;
-        } else {
-            console_fprintf(stderr, "Win32OS [warning]: unsupported open mode\n");
-        }
+	OBJ attrSym = ap[i];
+
+	if (attrSym == @symbol(FILE_SHARE_READ)) {
+	    share |= FILE_SHARE_READ;
+	} else if (attrSym == @symbol(FILE_SHARE_WRITE)) {
+	    share |= FILE_SHARE_WRITE;
+
+	} else if (attrSym == @symbol(GENERIC_READ)) {
+	    access |= GENERIC_READ;
+	} else if (attrSym == @symbol(GENERIC_WRITE)) {
+	    access |= GENERIC_WRITE;
+
+	} else if (attrSym == @symbol(CREATE_NEW)) {
+	    create |= CREATE_NEW;
+	} else if (attrSym == @symbol(CREATE_ALWAYS)) {
+	    create |= CREATE_ALWAYS;
+	} else if (attrSym == @symbol(OPEN_EXISTING)) {
+	    create |= OPEN_EXISTING;
+	} else if (attrSym == @symbol(OPEN_ALWAYS)) {
+	    create |= OPEN_ALWAYS;
+	} else if (attrSym == @symbol(TRUNCATE_EXISTING)) {
+	    create |= TRUNCATE_EXISTING;
+
+	} else if (attrSym == @symbol(FILE_ATTRIBUTE_HIDDEN)) {
+	    attr |= FILE_ATTRIBUTE_HIDDEN;
+	} else if (attrSym == @symbol(FILE_ATTRIBUTE_READONLY)) {
+	    attr |= FILE_ATTRIBUTE_READONLY;
+	} else if (attrSym == @symbol(FILE_ATTRIBUTE_READONLY)) {
+	    attr |= FILE_ATTRIBUTE_READONLY;
+	} else if (attrSym == @symbol(FILE_FLAG_WRITE_THROUGH)) {
+	    attr |= FILE_FLAG_WRITE_THROUGH;
+	} else if (attrSym == @symbol(FILE_FLAG_SEQUENTIAL_SCAN)) {
+	    attr |= FILE_FLAG_SEQUENTIAL_SCAN;
+	} else if (attrSym == @symbol(FILE_FLAG_DELETE_ON_CLOSE)) {
+	    attr |= FILE_FLAG_DELETE_ON_CLOSE;
+	} else {
+	    console_fprintf(stderr, "Win32OS [warning]: unsupported open mode\n");
+	}
     }
     if (create == 0) {
-        fileHandle = nil;
-        argumentError = @symbol(missingCreateMode);
-        goto badArgument;
+	fileHandle = nil;
+	argumentError = @symbol(missingCreateMode);
+	goto badArgument;
     }
 #ifdef PROCESSDEBUGWIN32
     console_fprintf(stderr, "name:<%s> access:%x share:%x create:%x attr:%x\n",
-                name, access, share, create, attr);
+		name, access, share, create, attr);
 #endif
     if (__isStringLike(pathName)) {
-        h = CreateFileA(name, access, share, 0 /* sa */, create, attr, 0 /* hTempl */);
+	h = CreateFileA(name, access, share, 0 /* sa */, create, attr, 0 /* hTempl */);
     } else {
-        h = CreateFileW(_wPathName, access, share, 0 /* sa */, create, attr, 0 /* hTempl */);
+	h = CreateFileW(_wPathName, access, share, 0 /* sa */, create, attr, 0 /* hTempl */);
     }
 
     if (h != INVALID_HANDLE_VALUE) {
-        __externalAddressVal(fileHandle) = (void *)h;
+	__externalAddressVal(fileHandle) = (void *)h;
     } else {
-        fileHandle = nil;
-        errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
+	fileHandle = nil;
+	errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
     }
 
 badArgument: ;
 %}.
     fileHandle notNil ifTrue:[
-        fileHandle registerForFinalization.
-        ^ fileHandle.
+	fileHandle registerForFinalization.
+	^ fileHandle.
     ].
     errorNumber isNil ifTrue:[
-        self error:'invalid argument(s): ', argumentError.
+	self error:'invalid argument(s): ', argumentError.
     ] ifFalse:[
-        (self errorHolderForNumber:errorNumber) reportError
+	(self errorHolderForNumber:errorNumber) reportError
     ].
 !
 
@@ -4258,51 +4269,51 @@
 
     if (__isStringLike(fullPathName)) {
 #ifdef DO_WRAP_CALLS
-        {
-            char _aPathName[MAXPATHLEN];
-
-            strncpy(_aPathName, __stringVal(fullPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-            do {
-                __threadErrno = 0;
-                ret = STX_API_NOINT_CALL1( "RemoveDirectoryA", RemoveDirectoryA, _aPathName);
-            } while ((ret < 0) && (__threadErrno == EINTR));
-        }
-#else
-        ret = RemoveDirectoryA((char *)__stringVal(fullPathName));
-        __threadErrno = __WIN32_ERR(GetLastError());
-#endif
-        if (ret != TRUE) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	{
+	    char _aPathName[MAXPATHLEN];
+
+	    strncpy(_aPathName, __stringVal(fullPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	    do {
+		__threadErrno = 0;
+		ret = STX_API_NOINT_CALL1( "RemoveDirectoryA", RemoveDirectoryA, _aPathName);
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+	}
+#else
+	ret = RemoveDirectoryA((char *)__stringVal(fullPathName));
+	__threadErrno = __WIN32_ERR(GetLastError());
+#endif
+	if (ret != TRUE) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
     if (__isUnicode16String(fullPathName)) {
 #ifdef DO_WRAP_CALLS
-        {
-            wchar_t _wPathName[MAXPATHLEN+1];
-            int i, l;
-
-            l = __unicode16StringSize(fullPathName);
-            if (l > MAXPATHLEN) l = MAXPATHLEN;
-            for (i=0; i<l; i++) {
-                _wPathName[i] = __unicode16StringVal(fullPathName)[i];
-            }
-            _wPathName[i] = 0;
-            do {
-                __threadErrno = 0;
-                ret = STX_API_NOINT_CALL1( "RemoveDirectoryW", RemoveDirectoryW, _wPathName);
-            } while ((ret < 0) && (__threadErrno == EINTR));
-        }
-#else
-        ret = RemoveDirectoryW((char *)__stringVal(fullPathName));
-        __threadErrno = __WIN32_ERR(GetLastError());
-#endif
-        if (ret != TRUE) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	{
+	    wchar_t _wPathName[MAXPATHLEN+1];
+	    int i, l;
+
+	    l = __unicode16StringSize(fullPathName);
+	    if (l > MAXPATHLEN) l = MAXPATHLEN;
+	    for (i=0; i<l; i++) {
+		_wPathName[i] = __unicode16StringVal(fullPathName)[i];
+	    }
+	    _wPathName[i] = 0;
+	    do {
+		__threadErrno = 0;
+		ret = STX_API_NOINT_CALL1( "RemoveDirectoryW", RemoveDirectoryW, _wPathName);
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+	}
+#else
+	ret = RemoveDirectoryW((char *)__stringVal(fullPathName));
+	__threadErrno = __WIN32_ERR(GetLastError());
+#endif
+	if (ret != TRUE) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 %}.
     "/
@@ -4326,51 +4337,51 @@
 
     if (__isStringLike(fullPathName)) {
 #ifdef DO_WRAP_CALLS
-        {
-            char _aPathName[MAXPATHLEN];
-
-            strncpy(_aPathName, __stringVal(fullPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-            do {
-                __threadErrno = 0;
-                ret = STX_API_NOINT_CALL1( "DeleteFileA", DeleteFileA, _aPathName);
-            } while ((ret < 0) && (__threadErrno == EINTR));
-        }
-#else
-        ret = DeleteFileA((char *)__stringVal(fullPathName));
-        __threadErrno = __WIN32_ERR(GetLastError());
-#endif
-        if (ret != TRUE) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	{
+	    char _aPathName[MAXPATHLEN];
+
+	    strncpy(_aPathName, __stringVal(fullPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	    do {
+		__threadErrno = 0;
+		ret = STX_API_NOINT_CALL1( "DeleteFileA", DeleteFileA, _aPathName);
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+	}
+#else
+	ret = DeleteFileA((char *)__stringVal(fullPathName));
+	__threadErrno = __WIN32_ERR(GetLastError());
+#endif
+	if (ret != TRUE) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
     if (__isUnicode16String(fullPathName)) {
 #ifdef DO_WRAP_CALLS
-        {
-            wchar_t _wPathName[MAXPATHLEN+1];
-            int i, l;
-
-            l = __unicode16StringSize(fullPathName);
-            if (l > MAXPATHLEN) l = MAXPATHLEN;
-            for (i=0; i<l; i++) {
-                _wPathName[i] = __unicode16StringVal(fullPathName)[i];
-            }
-            _wPathName[i] = 0;
-            do {
-                __threadErrno = 0;
-                ret = STX_API_NOINT_CALL1( "DeleteFileW", DeleteFileW, _wPathName);
-            } while ((ret < 0) && (__threadErrno == EINTR));
-        }
-#else
-        ret = DeleteFileW((char *)__stringVal(fullPathName));
-        __threadErrno = __WIN32_ERR(GetLastError());
-#endif
-        if (ret != TRUE) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	{
+	    wchar_t _wPathName[MAXPATHLEN+1];
+	    int i, l;
+
+	    l = __unicode16StringSize(fullPathName);
+	    if (l > MAXPATHLEN) l = MAXPATHLEN;
+	    for (i=0; i<l; i++) {
+		_wPathName[i] = __unicode16StringVal(fullPathName)[i];
+	    }
+	    _wPathName[i] = 0;
+	    do {
+		__threadErrno = 0;
+		ret = STX_API_NOINT_CALL1( "DeleteFileW", DeleteFileW, _wPathName);
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+	}
+#else
+	ret = DeleteFileW((char *)__stringVal(fullPathName));
+	__threadErrno = __WIN32_ERR(GetLastError());
+#endif
+	if (ret != TRUE) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 
 %}.
@@ -4390,32 +4401,32 @@
 
     if (__isStringLike(oldPath) && __isStringLike(newPath)) {
 #ifdef DO_WRAP_CALLS
-        char _oldPath[MAXPATHLEN], _newPath[MAXPATHLEN];
-
-        strncpy(_oldPath, __stringVal(oldPath), MAXPATHLEN-1); _oldPath[MAXPATHLEN-1] = '\0';
-        strncpy(_newPath, __stringVal(newPath), MAXPATHLEN-1); _newPath[MAXPATHLEN-1] = '\0';
-
-        do {
-            __threadErrno = 0;
-            ret = STX_C_NOINT_CALL2( "rename", rename, _oldPath, _newPath);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        __BEGIN_INTERRUPTABLE__
-        do {
-            __threadErrno = 0;
-            ret = rename((char *) __stringVal(oldPath), (char *) __stringVal(newPath));
-        } while ((ret < 0) && (__threadErrno == EINTR));
-        __END_INTERRUPTABLE__
-
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        if (ret < 0) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	char _oldPath[MAXPATHLEN], _newPath[MAXPATHLEN];
+
+	strncpy(_oldPath, __stringVal(oldPath), MAXPATHLEN-1); _oldPath[MAXPATHLEN-1] = '\0';
+	strncpy(_newPath, __stringVal(newPath), MAXPATHLEN-1); _newPath[MAXPATHLEN-1] = '\0';
+
+	do {
+	    __threadErrno = 0;
+	    ret = STX_C_NOINT_CALL2( "rename", rename, _oldPath, _newPath);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	__BEGIN_INTERRUPTABLE__
+	do {
+	    __threadErrno = 0;
+	    ret = rename((char *) __stringVal(oldPath), (char *) __stringVal(newPath));
+	} while ((ret < 0) && (__threadErrno == EINTR));
+	__END_INTERRUPTABLE__
+
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	if (ret < 0) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 %}.
     ^ self primitiveFailed
@@ -4474,43 +4485,43 @@
 #   endif
 
     if (aSymbol == @symbol(readUser)) {
-        RETURN ( __mkSmallInteger(S_IRUSR) );
+	RETURN ( __mkSmallInteger(S_IRUSR) );
     }
     if (aSymbol == @symbol(writeUser)) {
-        RETURN ( __mkSmallInteger(S_IWUSR) );
+	RETURN ( __mkSmallInteger(S_IWUSR) );
     }
     if (aSymbol == @symbol(executeUser)) {
-        RETURN ( __mkSmallInteger(S_IXUSR) );
+	RETURN ( __mkSmallInteger(S_IXUSR) );
     }
     if (aSymbol == @symbol(readGroup)) {
-        RETURN ( __mkSmallInteger(S_IRGRP) );
+	RETURN ( __mkSmallInteger(S_IRGRP) );
     }
     if (aSymbol == @symbol(writeGroup)) {
-        RETURN ( __mkSmallInteger(S_IWGRP) );
+	RETURN ( __mkSmallInteger(S_IWGRP) );
     }
     if (aSymbol == @symbol(executeGroup)) {
-        RETURN ( __mkSmallInteger(S_IXGRP) );
+	RETURN ( __mkSmallInteger(S_IXGRP) );
     }
     if (aSymbol == @symbol(readOthers)) {
-        RETURN ( __mkSmallInteger(S_IROTH) );
+	RETURN ( __mkSmallInteger(S_IROTH) );
     }
     if (aSymbol == @symbol(writeOthers)) {
-        RETURN ( __mkSmallInteger(S_IWOTH) );
+	RETURN ( __mkSmallInteger(S_IWOTH) );
     }
     if (aSymbol == @symbol(executeOthers)) {
-        RETURN ( __mkSmallInteger(S_IXOTH) );
+	RETURN ( __mkSmallInteger(S_IXOTH) );
     }
 
     // These are not defined for Win32 - simply ignore them
     // (but handle them for UNIX compatibility
     if (aSymbol == @symbol(setUid)) {
-        RETURN ( __mkSmallInteger(0) );
+	RETURN ( __mkSmallInteger(0) );
     }
     if (aSymbol == @symbol(setGid)) {
-        RETURN ( __mkSmallInteger(0) );
+	RETURN ( __mkSmallInteger(0) );
     }
     if (aSymbol == @symbol(removeOnlyByOwner)) {
-        RETURN ( __mkSmallInteger(0) );
+	RETURN ( __mkSmallInteger(0) );
     }
 
 %}.
@@ -4529,7 +4540,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
     "
 
@@ -4539,31 +4550,31 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-
-        do {
-            __threadErrno = 0;
-            ret = STX_C_NOINT_CALL2( "stat", stat, _aPathName, &buf);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        __BEGIN_INTERRUPTABLE__
-        do {
-            __threadErrno = 0;
-            ret = stat( (char *)__stringVal(aPathName), &buf);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-        __END_INTERRUPTABLE__
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-
-        if (ret < 0) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN ( nil );
-        }
-        RETURN ( __mkSmallInteger(buf.st_mode & 0777) );
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+
+	do {
+	    __threadErrno = 0;
+	    ret = STX_C_NOINT_CALL2( "stat", stat, _aPathName, &buf);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	__BEGIN_INTERRUPTABLE__
+	do {
+	    __threadErrno = 0;
+	    ret = stat( (char *)__stringVal(aPathName), &buf);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+	__END_INTERRUPTABLE__
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+
+	if (ret < 0) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN ( nil );
+	}
+	RETURN ( __mkSmallInteger(buf.st_mode & 0777) );
     }
 %}.
    ^ self primitiveFailed
@@ -4586,30 +4597,30 @@
 
     if (__isStringLike(aPathName) && __isSmallInteger(modeBits)) {
 #ifdef DO_WRAP_CALLS
-        int chmod();
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            ret = STX_C_NOINT_CALL2( "chmod", chmod, _aPathName, __intVal(modeBits));
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        __BEGIN_INTERRUPTABLE__
-        do {
-            __threadErrno = 0;
-            ret = chmod((char *)__stringVal(aPathName), __intVal(modeBits));
-        } while ((ret < 0) && (__threadErrno == EINTR));
-        __END_INTERRUPTABLE__
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        if (ret < 0) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN ( false );
-        }
-        RETURN ( true );
+	int chmod();
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    ret = STX_C_NOINT_CALL2( "chmod", chmod, _aPathName, __intVal(modeBits));
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	__BEGIN_INTERRUPTABLE__
+	do {
+	    __threadErrno = 0;
+	    ret = chmod((char *)__stringVal(aPathName), __intVal(modeBits));
+	} while ((ret < 0) && (__threadErrno == EINTR));
+	__END_INTERRUPTABLE__
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	if (ret < 0) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN ( false );
+	}
+	RETURN ( true );
     }
 %}.
     ^ self primitiveFailed
@@ -4643,9 +4654,9 @@
     __rslt = __STX_API_CALL1( "GetOpenFileName", (void *)GetOpenFileName, (void *)(__address));
 
     if (__rslt == TRUE) {
-        rslt = true;
+	rslt = true;
     } else {
-        rslt = false;
+	rslt = false;
     }
 %}.
     ^ rslt
@@ -4667,9 +4678,9 @@
     __rslt = __STX_API_CALL1( "GetSaveFileName", (void *)GetSaveFileName, (void *)(__address));
 
     if (__rslt == TRUE) {
-        rslt = true;
+	rslt = true;
     } else {
-        rslt = false;
+	rslt = false;
     }
 %}.
     ^ rslt
@@ -4692,7 +4703,7 @@
 
     attr := self primGetFileAttributes:aPathName.
     (attr bitTest:FILE_ATTRIBUTE_HIDDEN ) ifTrue:[
-        ^ self primSetFileAttributes:aPathName to:(attr bitClear:2).
+	^ self primSetFileAttributes:aPathName to:(attr bitClear:2).
     ].
     ^ true
 
@@ -4708,27 +4719,27 @@
     |names n "{ Class: SmallInteger }" |
 
     names := pathName
-                asCollectionOfSubstringsSeparatedBy:self fileSeparator.
+		asCollectionOfSubstringsSeparatedBy:self fileSeparator.
     names := names asOrderedCollection.
     "
      cut off initial double-slashes
     "
     [names startsWith:#('' '')] whileTrue:[
-        names removeFirst.
+	names removeFirst.
     ].
     "
      cut off double-slashes at end
     "
     [names endsWith:#('')] whileTrue:[
-        names removeLast.
+	names removeLast.
     ].
     "
      cut off current-dir at beginning
     "
     n := names size.
     [(n >= 2) and:[names startsWith:#('.')]] whileTrue:[
-        names removeFirst.
-        n := n - 1.
+	names removeFirst.
+	n := n - 1.
     ].
 
     "
@@ -4737,14 +4748,14 @@
     [(n > 2)
      and:[(names endsWith:#('..'))
      and:[((names at:(n - 1)) startsWith:'.') not ]]] whileTrue:[
-        names removeLast; removeLast.
-        n := n - 2.
+	names removeLast; removeLast.
+	n := n - 2.
     ].
 
     ^ names asStringWith:self fileSeparator
-                    from:1
-                    to:n
-                    compressTabs:false final:nil
+		    from:1
+		    to:n
+		    compressTabs:false final:nil
 
     "
      OperatingSystem compressPath:'.\..'
@@ -4782,8 +4793,8 @@
 
 getDiskInfoOf:volumeNameArg
     "returns a dictionary filled with any of:
-        freeBytes
-        totalBytes
+	freeBytes
+	totalBytes
      and possibly additional (OS-specific) information"
 
     |volumeName info ok sectorsPerCluster bytesPerSector freeClusters totalClusters
@@ -4791,11 +4802,11 @@
 
     volumeName := volumeNameArg.
     (volumeName endsWith:$\) ifFalse:[
-        volumeName := volumeName , '\'
+	volumeName := volumeName , '\'
     ].
 %{
     typedef BOOL (WINAPI *P_GDFSE)(LPCTSTR, PULARGE_INTEGER,
-                                   PULARGE_INTEGER, PULARGE_INTEGER);
+				   PULARGE_INTEGER, PULARGE_INTEGER);
     P_GDFSE pGetDiskFreeSpaceEx = NULL;
 
     DWORD __sectorsPerCluster, __bytesPerSector, __freeClusters, __totalClusters;
@@ -4803,62 +4814,62 @@
     unsigned __int64 i64FreeBytesForUsersQuota, i64TotalBytes, i64FreeBytes;
 
     if (__isStringLike(volumeName) || __isSymbol(volumeName)) {
-         /*
-          *  Use GetDiskFreeSpaceEx if available; otherwise, use GetDiskFreeSpace.
-          *  Notice that GetDiskFreeSpace does not work correctly under win2k,
-          *  and GetDiskFreeSpaceEx is not avail. for all win versions (can microsoft ever do something right ?).
-          */
-        pGetDiskFreeSpaceEx = (P_GDFSE)GetProcAddress (
-                                            GetModuleHandle ("kernel32.dll"),
-                                                             "GetDiskFreeSpaceExA");
-        if (pGetDiskFreeSpaceEx) {
-            fResult = pGetDiskFreeSpaceEx (__stringVal(volumeName),
-                                 (PULARGE_INTEGER)&i64FreeBytesForUsersQuota,
-                                 (PULARGE_INTEGER)&i64TotalBytes,
-                                 (PULARGE_INTEGER)&i64FreeBytes);
-            if (fResult) {
-                freeBytesForUsersQuota = __MKUINT64(&i64FreeBytesForUsersQuota);
-                totalBytes = __MKUINT64(&i64TotalBytes);
-                freeBytes = __MKUINT64(&i64FreeBytes);
-            }
-        }
-        fResult = GetDiskFreeSpace(__stringVal(volumeName),
-                             &__sectorsPerCluster,
-                             &__bytesPerSector,
-                             &__freeClusters,
-                             &__totalClusters);
-        if (fResult) {
-            sectorsPerCluster = __MKUINT(__sectorsPerCluster);
-            bytesPerSector = __MKUINT(__bytesPerSector);
-            freeClusters = __MKUINT(__freeClusters);
-            totalClusters = __MKUINT(__totalClusters);
-        }
-        switch (GetDriveType(__stringVal(volumeName))) {
-            case DRIVE_REMOVABLE:
-                type = @symbol(removable); break;
-            case DRIVE_FIXED:
-                type = @symbol(fixed); break;
-            case DRIVE_REMOTE:
-                type = @symbol(network); break;
-            case DRIVE_CDROM:
-                type = @symbol(cdrom); break;
-            case DRIVE_RAMDISK:
-                type = @symbol(ramdisk); break;
-            case DRIVE_UNKNOWN:
-            default:
-                break;
-        }
-        if (fResult) {
-            ok = true;
-        } else {
-            __threadErrno = __WIN32_ERR(GetLastError());
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-        }
+	 /*
+	  *  Use GetDiskFreeSpaceEx if available; otherwise, use GetDiskFreeSpace.
+	  *  Notice that GetDiskFreeSpace does not work correctly under win2k,
+	  *  and GetDiskFreeSpaceEx is not avail. for all win versions (can microsoft ever do something right ?).
+	  */
+	pGetDiskFreeSpaceEx = (P_GDFSE)GetProcAddress (
+					    GetModuleHandle ("kernel32.dll"),
+							     "GetDiskFreeSpaceExA");
+	if (pGetDiskFreeSpaceEx) {
+	    fResult = pGetDiskFreeSpaceEx (__stringVal(volumeName),
+				 (PULARGE_INTEGER)&i64FreeBytesForUsersQuota,
+				 (PULARGE_INTEGER)&i64TotalBytes,
+				 (PULARGE_INTEGER)&i64FreeBytes);
+	    if (fResult) {
+		freeBytesForUsersQuota = __MKUINT64(&i64FreeBytesForUsersQuota);
+		totalBytes = __MKUINT64(&i64TotalBytes);
+		freeBytes = __MKUINT64(&i64FreeBytes);
+	    }
+	}
+	fResult = GetDiskFreeSpace(__stringVal(volumeName),
+			     &__sectorsPerCluster,
+			     &__bytesPerSector,
+			     &__freeClusters,
+			     &__totalClusters);
+	if (fResult) {
+	    sectorsPerCluster = __MKUINT(__sectorsPerCluster);
+	    bytesPerSector = __MKUINT(__bytesPerSector);
+	    freeClusters = __MKUINT(__freeClusters);
+	    totalClusters = __MKUINT(__totalClusters);
+	}
+	switch (GetDriveType(__stringVal(volumeName))) {
+	    case DRIVE_REMOVABLE:
+		type = @symbol(removable); break;
+	    case DRIVE_FIXED:
+		type = @symbol(fixed); break;
+	    case DRIVE_REMOTE:
+		type = @symbol(network); break;
+	    case DRIVE_CDROM:
+		type = @symbol(cdrom); break;
+	    case DRIVE_RAMDISK:
+		type = @symbol(ramdisk); break;
+	    case DRIVE_UNKNOWN:
+	    default:
+		break;
+	}
+	if (fResult) {
+	    ok = true;
+	} else {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	}
     }
 %}.
     ok == true ifFalse:[
-        self primitiveFailed.
-        ^ self
+	self primitiveFailed.
+	^ self
     ].
 
     info := IdentityDictionary new.
@@ -4868,14 +4879,14 @@
     info at:#totalClusters put:totalClusters.
 
     info at:#freeBytes put:(freeBytes notNil
-                                ifTrue:[freeBytes]
-                                ifFalse:[freeClusters * sectorsPerCluster * bytesPerSector]).
+				ifTrue:[freeBytes]
+				ifFalse:[freeClusters * sectorsPerCluster * bytesPerSector]).
     info at:#totalBytes put:(totalBytes notNil
-                                ifTrue:[totalBytes]
-                                ifFalse:[totalClusters * sectorsPerCluster * bytesPerSector]).
+				ifTrue:[totalBytes]
+				ifFalse:[totalClusters * sectorsPerCluster * bytesPerSector]).
     info at:#freeBytesForUsersQuota put:freeBytesForUsersQuota.
     type notNil ifTrue:[
-        info at:#type put:type
+	info at:#type put:type
     ].
     ^ info
 
@@ -4917,13 +4928,13 @@
 
 getDriveType:aPathName
     "returns:
-        0 -> Unknown
-        1 -> Invalid
-        2 -> removable
-        3 -> fixed
-        4 -> remote
-        5 -> cdrom
-        6 -> ramdisk.
+	0 -> Unknown
+	1 -> Invalid
+	2 -> removable
+	3 -> fixed
+	4 -> remote
+	5 -> cdrom
+	6 -> ramdisk.
     This is a stupid interface - do not use."
 
 %{
@@ -4931,20 +4942,20 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetDriveType", GetDriveType, _aPathName);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        ret = GetDriveType((char *) __stringVal(aPathName));
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        RETURN (__MKSMALLINT(ret));
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetDriveType", GetDriveType, _aPathName);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	ret = GetDriveType((char *) __stringVal(aPathName));
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	RETURN (__MKSMALLINT(ret));
     }
 %}.
     ^ self primitiveFailed
@@ -4967,24 +4978,24 @@
     DWORD dummy;
 
     if (__isStringLike(aPathName)) {
-        sz = GetFileVersionInfoSizeA(__stringVal(aPathName), &dummy);
+	sz = GetFileVersionInfoSizeA(__stringVal(aPathName), &dummy);
     } else if (__isUnicode16String(aPathName)) {
-        sz = GetFileVersionInfoSizeW(__unicode16StringVal(aPathName), &dummy);
+	sz = GetFileVersionInfoSizeW(__unicode16StringVal(aPathName), &dummy);
     } else {
-        goto badArgument;
+	goto badArgument;
     }
 
     if (sz > 0) {
-        OBJ versionData;
-
-        versionData = __BYTEARRAY_UNINITIALIZED_NEW_INT(sz);
-        if (versionData == nil) {
-            RETURN (nil);
-        }
-        if (GetFileVersionInfo(__stringVal(aPathName), 0, sz, __ByteArrayInstPtr(versionData)->ba_element) == FALSE) {
-            RETURN (nil);
-        }
-        RETURN (versionData);
+	OBJ versionData;
+
+	versionData = __BYTEARRAY_UNINITIALIZED_NEW_INT(sz);
+	if (versionData == nil) {
+	    RETURN (nil);
+	}
+	if (GetFileVersionInfo(__stringVal(aPathName), 0, sz, __ByteArrayInstPtr(versionData)->ba_element) == FALSE) {
+	    RETURN (nil);
+	}
+	RETURN (versionData);
     }
     RETURN (nil);
 badArgument: ;
@@ -5002,35 +5013,35 @@
     wchar_t _aPathName[MAX_PATH+1];
 
     if (__isStringLike(aPathName)) {
-        int i;
-        int l = __stringSize(aPathName);
-        if (l > MAX_PATH) l = MAX_PATH;
-
-        for (i=0; i<l; i++) {
-            _aPathName[i] = __stringVal(aPathName)[i];
-        }
-        _aPathName[i] = 0;
+	int i;
+	int l = __stringSize(aPathName);
+	if (l > MAX_PATH) l = MAX_PATH;
+
+	for (i=0; i<l; i++) {
+	    _aPathName[i] = __stringVal(aPathName)[i];
+	}
+	_aPathName[i] = 0;
     } else if (__isUnicode16String(aPathName)) {
-        int i;
-        int l = __unicode16StringSize(aPathName);
-        if (l > MAX_PATH) l = MAX_PATH;
-
-        for (i=0; i<l; i++) {
-            _aPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _aPathName[i] = 0;
+	int i;
+	int l = __unicode16StringSize(aPathName);
+	if (l > MAX_PATH) l = MAX_PATH;
+
+	for (i=0; i<l; i++) {
+	    _aPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_aPathName[i] = 0;
     } else
-        goto badArgument;
+	goto badArgument;
 
 #ifdef DO_WRAP_CALLS
      do {
-         __threadErrno = 0;
-         ret = STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW, _aPathName, _aPathName, MAX_PATH+1);
+	 __threadErrno = 0;
+	 ret = STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW, _aPathName, _aPathName, MAX_PATH+1);
      } while ((ret == 0) && (__threadErrno == EINTR));
 #else
      ret = GetLongPathNameW(_aPathName, _aPathName, MAX_PATH+1);
      if (ret == 0) {
-         __threadErrno = __WIN32_ERR(GetLastError());
+	 __threadErrno = __WIN32_ERR(GetLastError());
      }
 #endif
      RETURN ( __MKU16STRING(_aPathName));
@@ -5060,35 +5071,35 @@
     wchar_t _aPathName[MAX_PATH+1];
 
     if (__isStringLike(aPathName)) {
-        int i;
-        int l = __stringSize(aPathName);
-        if (l > MAX_PATH) l = MAX_PATH;
-
-        for (i=0; i<l; i++) {
-            _aPathName[i] = __stringVal(aPathName)[i];
-        }
-        _aPathName[i] = 0;
+	int i;
+	int l = __stringSize(aPathName);
+	if (l > MAX_PATH) l = MAX_PATH;
+
+	for (i=0; i<l; i++) {
+	    _aPathName[i] = __stringVal(aPathName)[i];
+	}
+	_aPathName[i] = 0;
     } else if (__isUnicode16String(aPathName)) {
-        int i;
-        int l = __unicode16StringSize(aPathName);
-        if (l > MAX_PATH) l = MAX_PATH;
-
-        for (i=0; i<l; i++) {
-            _aPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _aPathName[i] = 0;
+	int i;
+	int l = __unicode16StringSize(aPathName);
+	if (l > MAX_PATH) l = MAX_PATH;
+
+	for (i=0; i<l; i++) {
+	    _aPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_aPathName[i] = 0;
     } else
-        goto badArgument;
+	goto badArgument;
 
 #ifdef DO_WRAP_CALLS
      do {
-         __threadErrno = 0;
-         ret = STX_API_NOINT_CALL3( "GetShortPathNameW", GetShortPathNameW, _aPathName, _aPathName, MAX_PATH+1);
+	 __threadErrno = 0;
+	 ret = STX_API_NOINT_CALL3( "GetShortPathNameW", GetShortPathNameW, _aPathName, _aPathName, MAX_PATH+1);
      } while ((ret == 0) && (__threadErrno == EINTR));
 #else
      ret = GetShortPathNameW(_aPathName, _aPathName, MAX_PATH+1);
      if (ret == 0) {
-         __threadErrno = __WIN32_ERR(GetLastError());
+	 __threadErrno = __WIN32_ERR(GetLastError());
      }
 #endif
      RETURN ( __MKU16STRING(_aPathName));
@@ -5121,16 +5132,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.
@@ -5144,10 +5155,10 @@
 
     info := self linkInfoOf:aPathName.
     (info notNil and:[info isSymbolicLink]) ifTrue:[
-        target := info path.
-        target notNil ifTrue:[
-            ^ self linkInfoOf:target.
-        ]
+	target := info path.
+	target notNil ifTrue:[
+	    ^ self linkInfoOf:target.
+	]
     ].
     ^ info
 
@@ -5172,46 +5183,46 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
-        } while ((ret == -1) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesA((char *) __stringVal(aPathName));
-        if (ret == -1) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
+	} while ((ret == -1) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesA((char *) __stringVal(aPathName));
+	if (ret == -1) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
 #endif
     } else if (__isUnicode16String(aPathName)) {
-        wchar_t _wPathName[MAXPATHLEN+1];
-        int i, l;
-
-        l = __unicode16StringSize(aPathName);
-        if (l > MAXPATHLEN) l = MAXPATHLEN;
-        for (i=0; i<l; i++) {
-            _wPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _wPathName[i] = 0;
+	wchar_t _wPathName[MAXPATHLEN+1];
+	int i, l;
+
+	l = __unicode16StringSize(aPathName);
+	if (l > MAXPATHLEN) l = MAXPATHLEN;
+	for (i=0; i<l; i++) {
+	    _wPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_wPathName[i] = 0;
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
-        } while ((ret == -1) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesW(_wPathName);
-        if (ret == -1) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
+	} while ((ret == -1) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesW(_wPathName);
+	if (ret == -1) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
 #endif
     } else
-        goto err;
+	goto err;
 
     if (ret < 0) {
-        @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-        RETURN ( false );
+	@global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	RETURN ( false );
     }
     RETURN ( (ret & FILE_ATTRIBUTE_DIRECTORY) ? true : false);
 err:;
@@ -5219,7 +5230,7 @@
     ^ self primitiveFailed
 
     "an alternative implementation would be:
-        ^ (self infoOf:aPathName) type == #directory
+	^ (self infoOf:aPathName) type == #directory
     "
     "
      self isDirectory:'.'
@@ -5263,65 +5274,65 @@
 
 %{
     if (__isStringLike(aPathName)) {
-        int ret;
-
-        /*
-         * under windows, all files are readable ...
-         * so, only check for the files existence here.
-         */
+	int ret;
+
+	/*
+	 * under windows, all files are readable ...
+	 * so, only check for the files existence here.
+	 */
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesA((char *) __stringVal(aPathName));
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        if (ret < 0) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesA((char *) __stringVal(aPathName));
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	if (ret < 0) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 
     if (__isUnicode16String(aPathName)) {
-        int ret;
-
-        /*
-         * under windows, all files are readable ...
-         * so, only check for the files existence here.
-         */
-        wchar_t _wPathName[MAXPATHLEN+1];
-        int i, l;
-
-        l = __unicode16StringSize(aPathName);
-        if (l > MAXPATHLEN) l = MAXPATHLEN;
-        for (i=0; i<l; i++) {
-            _wPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _wPathName[i] = 0;
+	int ret;
+
+	/*
+	 * under windows, all files are readable ...
+	 * so, only check for the files existence here.
+	 */
+	wchar_t _wPathName[MAXPATHLEN+1];
+	int i, l;
+
+	l = __unicode16StringSize(aPathName);
+	if (l > MAXPATHLEN) l = MAXPATHLEN;
+	for (i=0; i<l; i++) {
+	    _wPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_wPathName[i] = 0;
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesW(_wPathName);
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        if (ret < 0) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesW(_wPathName);
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	if (ret < 0) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 %}.
     ^ self primitiveFailed
@@ -5356,46 +5367,46 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
-        } while ((ret == -1) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesA((char *) __stringVal(aPathName));
-        if (ret == -1) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
+	} while ((ret == -1) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesA((char *) __stringVal(aPathName));
+	if (ret == -1) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
 #endif
     } else  if (__isUnicode16String(aPathName)) {
-        wchar_t _wPathName[MAXPATHLEN+1];
-        int i, l;
-
-        l = __unicode16StringSize(aPathName);
-        if (l > MAXPATHLEN) l = MAXPATHLEN;
-        for (i=0; i<l; i++) {
-            _wPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _wPathName[i] = 0;
+	wchar_t _wPathName[MAXPATHLEN+1];
+	int i, l;
+
+	l = __unicode16StringSize(aPathName);
+	if (l > MAXPATHLEN) l = MAXPATHLEN;
+	for (i=0; i<l; i++) {
+	    _wPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_wPathName[i] = 0;
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
-        } while ((ret == -1) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesW(_wPathName);
-        if (ret == -1) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
+	} while ((ret == -1) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesW(_wPathName);
+	if (ret == -1) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
 #endif
     } else
-        goto err;
+	goto err;
 
     if (ret == -1) {
-        @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-        RETURN ( false );
+	@global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	RETURN ( false );
     }
     RETURN (true);
 
@@ -5418,8 +5429,8 @@
 
     attr := self primGetFileAttributes:aPathName.
     attr notNil ifTrue:[
-        ^ (attr bitAnd: (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY ))
-            ~~ FILE_ATTRIBUTE_READONLY
+	^ (attr bitAnd: (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY ))
+	    ~~ FILE_ATTRIBUTE_READONLY
     ].
     ^ false
 
@@ -5434,16 +5445,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.
@@ -5469,45 +5480,45 @@
     wchar_t _aPathName[MAX_PATH+1];
 
     if (__isStringLike(aPathName)) {
-        int i;
-        int l = __stringSize(aPathName);
-        if (l > MAX_PATH) l = MAX_PATH;
-
-        for (i=0; i<l; i++) {
-            _aPathName[i] = __stringVal(aPathName)[i];
-        }
-        _aPathName[i] = 0;
+	int i;
+	int l = __stringSize(aPathName);
+	if (l > MAX_PATH) l = MAX_PATH;
+
+	for (i=0; i<l; i++) {
+	    _aPathName[i] = __stringVal(aPathName)[i];
+	}
+	_aPathName[i] = 0;
     } else if (__isUnicode16String(aPathName)) {
-        int i;
-        int l = __unicode16StringSize(aPathName);
-        if (l > MAX_PATH) l = MAX_PATH;
-
-        for (i=0; i<l; i++) {
-            _aPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _aPathName[i] = 0;
+	int i;
+	int l = __unicode16StringSize(aPathName);
+	if (l > MAX_PATH) l = MAX_PATH;
+
+	for (i=0; i<l; i++) {
+	    _aPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_aPathName[i] = 0;
     } else
-        goto badArgument;
+	goto badArgument;
 
 #ifdef DO_WRAP_CALLS
     {
-        do {
-            __threadErrno = 0;
-            result = STX_API_NOINT_CALL3( "GetFileAttributesExW", GetFileAttributesExW, _aPathName, GetFileExInfoStandard, &fileAttributeData);
-        } while (!result && (__threadErrno == EINTR));
+	do {
+	    __threadErrno = 0;
+	    result = STX_API_NOINT_CALL3( "GetFileAttributesExW", GetFileAttributesExW, _aPathName, GetFileExInfoStandard, &fileAttributeData);
+	} while (!result && (__threadErrno == EINTR));
     }
 #else
     result = GetFileAttributesExW(_aPathName, GetFileExInfoStandard, &fileAttributeData);
     if (!result) {
-        __threadErrno = __WIN32_ERR(GetLastError());
+	__threadErrno = __WIN32_ERR(GetLastError());
     }
 #endif
 
     if (!result) {
-        @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	@global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
     } else {
-        id = __mkSmallInteger(0);   /* could get it by opening ... */
-        size = __MKLARGEINT64(1, fileAttributeData.nFileSizeLow, fileAttributeData.nFileSizeHigh);
+	id = __mkSmallInteger(0);   /* could get it by opening ... */
+	size = __MKLARGEINT64(1, fileAttributeData.nFileSizeLow, fileAttributeData.nFileSizeHigh);
 
 //        if (fileAttributeData.cFileName[0] != '\0') {
 //            bcopy(fileAttributeData.cFileName, fileNameBuffer, MAX_PATH*sizeof(wchar_t));
@@ -5521,83 +5532,83 @@
 //            alternativeName = __MKU16STRING(alternativeFileNameBuffer); /* DOS name */
 //        }
 
-        /*
-         * simulate access bits
-         */
-        if (fileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_READONLY) {
-            modeBits = 0444;
-        } else {
-            modeBits = 0666;
-        }
-
-        if (fileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
-            type = @symbol(directory);
-            modeBits = 0777;   /* executable and WRITABLE - refer to comment in #isWritable: */
-        } else if (fileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) {
-            type = @symbol(symbolicLink);
-            modeBits = 0777;   /* even in UNIX symlinks have 0777 */
-        } else {
-            type = @symbol(regular);
-        }
-
-        mode = __mkSmallInteger(modeBits);
-
-        cOsTime = FileTimeToOsTime(&fileAttributeData.ftCreationTime);
-        aOsTime = FileTimeToOsTime(&fileAttributeData.ftLastAccessTime);
-        mOsTime = FileTimeToOsTime(&fileAttributeData.ftLastWriteTime);
+	/*
+	 * simulate access bits
+	 */
+	if (fileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_READONLY) {
+	    modeBits = 0444;
+	} else {
+	    modeBits = 0666;
+	}
+
+	if (fileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
+	    type = @symbol(directory);
+	    modeBits = 0777;   /* executable and WRITABLE - refer to comment in #isWritable: */
+	} else if (fileAttributeData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) {
+	    type = @symbol(symbolicLink);
+	    modeBits = 0777;   /* even in UNIX symlinks have 0777 */
+	} else {
+	    type = @symbol(regular);
+	}
+
+	mode = __mkSmallInteger(modeBits);
+
+	cOsTime = FileTimeToOsTime(&fileAttributeData.ftCreationTime);
+	aOsTime = FileTimeToOsTime(&fileAttributeData.ftLastAccessTime);
+	mOsTime = FileTimeToOsTime(&fileAttributeData.ftLastWriteTime);
     }
 
   badArgument: ;
 %}.
 
     (aPathName endsWith:'.lnk') ifTrue:[
-        type := #symbolicLink.
-        "/ now done lazyly in FileStatusInfo, when the path is accessed
-        "/ path := self getLinkTarget:aPathName.
+	type := #symbolicLink.
+	"/ now done lazyly in FileStatusInfo, when the path is accessed
+	"/ path := self getLinkTarget:aPathName.
     ].
 
     mode isNil ifTrue:[
-        (self isDirectory:aPathName) ifTrue:[
-            "/ the code above fails for root directories (these do not exist).
-            "/ simulate here
-            mode := 8r777.
-            type := #directory.
-            uid := gid := 0.
-            size := 0.
-            id := 0.
-            atime := mtime := ctime := Timestamp now.
-        ].
+	(self isDirectory:aPathName) ifTrue:[
+	    "/ the code above fails for root directories (these do not exist).
+	    "/ simulate here
+	    mode := 8r777.
+	    type := #directory.
+	    uid := gid := 0.
+	    size := 0.
+	    id := 0.
+	    atime := mtime := ctime := Timestamp now.
+	].
     ].
     mode notNil ifTrue:[
-        atime isNil ifTrue:[
-            atime := Timestamp new fromOSTime:aOsTime.
-        ].
-        mtime isNil ifTrue:[
-            mtime := Timestamp new fromOSTime:mOsTime.
-        ].
-        ctime isNil ifTrue:[
-            ctime := Timestamp new fromOSTime:cOsTime.
-        ].
-        fileName notNil ifTrue:[
-            fileName := fileName asSingleByteStringIfPossible
-        ].
-        alternativeName notNil ifTrue:[
-            alternativeName := alternativeName asSingleByteStringIfPossible
-        ].
-        info := FileStatusInfo
-                    type:type
-                    mode:mode
-                    uid:uid
-                    gid:gid
-                    size:size
-                    id:id
-                    accessed:atime
-                    modified:mtime
-                    created:ctime
-                    sourcePath:aPathName
-                    fullName:fileName
-                    alternativeName:alternativeName.
-        ^ info
+	atime isNil ifTrue:[
+	    atime := Timestamp new fromOSTime:aOsTime.
+	].
+	mtime isNil ifTrue:[
+	    mtime := Timestamp new fromOSTime:mOsTime.
+	].
+	ctime isNil ifTrue:[
+	    ctime := Timestamp new fromOSTime:cOsTime.
+	].
+	fileName notNil ifTrue:[
+	    fileName := fileName asSingleByteStringIfPossible
+	].
+	alternativeName notNil ifTrue:[
+	    alternativeName := alternativeName asSingleByteStringIfPossible
+	].
+	info := FileStatusInfo
+		    type:type
+		    mode:mode
+		    uid:uid
+		    gid:gid
+		    size:size
+		    id:id
+		    accessed:atime
+		    modified:mtime
+		    created:ctime
+		    sourcePath:aPathName
+		    fullName:fileName
+		    alternativeName:alternativeName.
+	^ info
    ].
    ^ nil
 
@@ -5618,8 +5629,8 @@
      Returns nil if no mimeType for the given suffix is known."
 
     ^ RegistryEntry
-        stringValueFor:'Content Type'
-        atKey:('HKEY_CLASSES_ROOT\.' , aFileSuffix)
+	stringValueFor:'Content Type'
+	atKey:('HKEY_CLASSES_ROOT\.' , aFileSuffix)
 
     "
      self mimeTypeForSuffix:'au'
@@ -5652,20 +5663,20 @@
     path := self primPathNameOf:pathName.
 
     path isNil ifTrue:[
-        (self isValidPath:pathName) ifFalse:[
-            p := pathName.
-            [(p size > 1)
-             and:[p endsWith:(self fileSeparator)]
-            ] whileTrue:[
-                p := p copyWithoutLast:1.
-            ].
-            ^ p
-        ].
-
-        "/
-        "/ return the original - there is nothing else can we do
-        "/
-        path := self compressPath:pathName
+	(self isValidPath:pathName) ifFalse:[
+	    p := pathName.
+	    [(p size > 1)
+	     and:[p endsWith:(self fileSeparator)]
+	    ] whileTrue:[
+		p := p copyWithoutLast:1.
+	    ].
+	    ^ p
+	].
+
+	"/
+	"/ return the original - there is nothing else can we do
+	"/
+	path := self compressPath:pathName
     ].
     ^ path.
 
@@ -5720,52 +5731,52 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesA((char *) __stringVal(aPathName));
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        if (ret >= 0) {
-            RETURN ( __mkSmallInteger(ret) );
-        }
-        __threadErrno = __WIN32_ERR(GetLastError());
-        RETURN (nil);
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesA", GetFileAttributesA, _aPathName);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesA((char *) __stringVal(aPathName));
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	if (ret >= 0) {
+	    RETURN ( __mkSmallInteger(ret) );
+	}
+	__threadErrno = __WIN32_ERR(GetLastError());
+	RETURN (nil);
     }
 
     if (__isUnicode16String(aPathName)) {
-        wchar_t _wPathName[MAXPATHLEN+1];
-        int i, l;
-
-        l = __unicode16StringSize(aPathName);
-        if (l > MAXPATHLEN) l = MAXPATHLEN;
-        for (i=0; i<l; i++) {
-            _wPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _wPathName[i] = 0;
+	wchar_t _wPathName[MAXPATHLEN+1];
+	int i, l;
+
+	l = __unicode16StringSize(aPathName);
+	if (l > MAXPATHLEN) l = MAXPATHLEN;
+	for (i=0; i<l; i++) {
+	    _wPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_wPathName[i] = 0;
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        ret = GetFileAttributesW(_wPathName);
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        if (ret >= 0) {
-            RETURN ( __mkSmallInteger(ret) );
-        }
-        __threadErrno = __WIN32_ERR(GetLastError());
-        RETURN (nil);
+	do {
+	    __threadErrno = 0;
+	    ret = STX_API_NOINT_CALL1( "GetFileAttributesW", GetFileAttributesW, _wPathName);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	ret = GetFileAttributesW(_wPathName);
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	if (ret >= 0) {
+	    RETURN ( __mkSmallInteger(ret) );
+	}
+	__threadErrno = __WIN32_ERR(GetLastError());
+	RETURN (nil);
     }
 %}.
     ^ self primitiveFailed
@@ -5795,102 +5806,102 @@
 
 %{  /* xxSTACK: 16000 */
     if (__isStringLike(aPathName)) {
-        char nameBuffer[MAXPATHLEN + 1 + MAXPATHLEN + 1];
-        char *pFinal;
-        int rslt;
+	char nameBuffer[MAXPATHLEN + 1 + MAXPATHLEN + 1];
+	char *pFinal;
+	int rslt;
 
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            rslt = STX_API_NOINT_CALL4( "GetFullPathName", GetFullPathName, _aPathName, sizeof(nameBuffer), nameBuffer, &pFinal);
-        } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-        rslt = GetFullPathName(__stringVal(aPathName), sizeof(nameBuffer), nameBuffer, &pFinal);
-#endif
-
-        if (rslt > 0) {
-            /*
-             * Attention: GetLongPathName is not available on old NT4.0/W95/W98
-             */
-            static FARPROC GetLongPathName_entry = NULL;
+	char _aPathName[MAXPATHLEN];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    rslt = STX_API_NOINT_CALL4( "GetFullPathName", GetFullPathName, _aPathName, sizeof(nameBuffer), nameBuffer, &pFinal);
+	} while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+	rslt = GetFullPathName(__stringVal(aPathName), sizeof(nameBuffer), nameBuffer, &pFinal);
+#endif
+
+	if (rslt > 0) {
+	    /*
+	     * Attention: GetLongPathName is not available on old NT4.0/W95/W98
+	     */
+	    static FARPROC GetLongPathName_entry = NULL;
 #ifdef NO_NT4_0_COMPATIBILITY
-            GetLongPathName_entry = (FARPROC) GetLongPathName;
-#else
-            if (GetLongPathName_entry == NULL) {
-                GetLongPathName_entry = __get_kernel32_functionAddress("GetLongPathNameA");
-            }
+	    GetLongPathName_entry = (FARPROC) GetLongPathName;
+#else
+	    if (GetLongPathName_entry == NULL) {
+		GetLongPathName_entry = __get_kernel32_functionAddress("GetLongPathNameA");
+	    }
 #endif /* NO_NT4_0_COMPATIBILITY */
 
-            if (GetLongPathName_entry) {
+	    if (GetLongPathName_entry) {
 #ifdef DO_WRAP_CALLS
-                do {
-                    __threadErrno = 0;
-                    rslt = STX_API_NOINT_CALL3( "GetLongPathName", GetLongPathName_entry, nameBuffer, nameBuffer, sizeof(nameBuffer));
-                } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-                rslt = (*GetLongPathName_entry)(nameBuffer, nameBuffer, sizeof(nameBuffer));
-#endif
-            }
-        }
-        if (rslt > 0) {
-            RETURN ( __MKSTRING(nameBuffer) );
-        }
-        __threadErrno = __WIN32_ERR(GetLastError());
-        RETURN (nil);
+		do {
+		    __threadErrno = 0;
+		    rslt = STX_API_NOINT_CALL3( "GetLongPathName", GetLongPathName_entry, nameBuffer, nameBuffer, sizeof(nameBuffer));
+		} while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+		rslt = (*GetLongPathName_entry)(nameBuffer, nameBuffer, sizeof(nameBuffer));
+#endif
+	    }
+	}
+	if (rslt > 0) {
+	    RETURN ( __MKSTRING(nameBuffer) );
+	}
+	__threadErrno = __WIN32_ERR(GetLastError());
+	RETURN (nil);
     }
     if (__isUnicode16String(aPathName)) {
-        wchar_t nameBuffer[MAXPATHLEN + 1 + MAXPATHLEN + 1];
-        char *pFinal;
-        int rslt;
-        wchar_t _aPathName[MAXPATHLEN+1];
-        int i, l;
-
-        l = __unicode16StringSize(aPathName);
-        if (l > MAXPATHLEN) l = MAXPATHLEN;
-        for (i=0; i<l; i++) {
-            _aPathName[i] = __unicode16StringVal(aPathName)[i];
-        }
-        _aPathName[i] = 0;
+	wchar_t nameBuffer[MAXPATHLEN + 1 + MAXPATHLEN + 1];
+	char *pFinal;
+	int rslt;
+	wchar_t _aPathName[MAXPATHLEN+1];
+	int i, l;
+
+	l = __unicode16StringSize(aPathName);
+	if (l > MAXPATHLEN) l = MAXPATHLEN;
+	for (i=0; i<l; i++) {
+	    _aPathName[i] = __unicode16StringVal(aPathName)[i];
+	}
+	_aPathName[i] = 0;
 
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            rslt = STX_API_NOINT_CALL4( "GetFullPathNameW", GetFullPathNameW, _aPathName, MAXPATHLEN, nameBuffer, &pFinal);
-        } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-        rslt = GetFullPathName(_aPathName, MAXPATHLEN, nameBuffer, &pFinal);
-#endif
-        if (rslt > 0) {
-            /*
-             * Attention: GetLongPathName is not available on old NT4.0/W95/W98
-             */
-            static FARPROC GetLongPathNameW_entry = NULL;
+	do {
+	    __threadErrno = 0;
+	    rslt = STX_API_NOINT_CALL4( "GetFullPathNameW", GetFullPathNameW, _aPathName, MAXPATHLEN, nameBuffer, &pFinal);
+	} while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+	rslt = GetFullPathName(_aPathName, MAXPATHLEN, nameBuffer, &pFinal);
+#endif
+	if (rslt > 0) {
+	    /*
+	     * Attention: GetLongPathName is not available on old NT4.0/W95/W98
+	     */
+	    static FARPROC GetLongPathNameW_entry = NULL;
 #ifdef NO_NT4_0_COMPATIBILITY
-            GetLongPathNameW_entry = (FARPROC) GetLongPathNameW;
-#else
-            if (GetLongPathNameW_entry == NULL) {
-                GetLongPathNameW_entry = __get_kernel32_functionAddress("GetLongPathNameW");
-            }
+	    GetLongPathNameW_entry = (FARPROC) GetLongPathNameW;
+#else
+	    if (GetLongPathNameW_entry == NULL) {
+		GetLongPathNameW_entry = __get_kernel32_functionAddress("GetLongPathNameW");
+	    }
 #endif /* NO_NT4_0_COMPATIBILITY */
 
-            if (GetLongPathNameW_entry) {
+	    if (GetLongPathNameW_entry) {
 #ifdef DO_WRAP_CALLS
-                do {
-                    __threadErrno = 0;
-                    rslt = STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW_entry, nameBuffer, nameBuffer, MAXPATHLEN);
-                } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-                rslt = (*GetLongPathNameW_entry)(nameBuffer, nameBuffer, MAXPATHLEN);
-#endif
-            }
-        }
-        if (rslt > 0) {
-            RETURN ( __MKU16STRING(nameBuffer) );
-        }
-        __threadErrno = __WIN32_ERR(GetLastError());
+		do {
+		    __threadErrno = 0;
+		    rslt = STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW_entry, nameBuffer, nameBuffer, MAXPATHLEN);
+		} while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+		rslt = (*GetLongPathNameW_entry)(nameBuffer, nameBuffer, MAXPATHLEN);
+#endif
+	    }
+	}
+	if (rslt > 0) {
+	    RETURN ( __MKU16STRING(nameBuffer) );
+	}
+	__threadErrno = __WIN32_ERR(GetLastError());
     }
 %}.
     ^ nil
@@ -5928,55 +5939,55 @@
     int ret;
 
     if (__isSmallInteger(anInteger)) {
-        if (__isStringLike(aPathName)) {
+	if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-            char _aPathName[MAXPATHLEN];
-
-            strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-            do {
-                __threadErrno = 0;
-                ret = STX_API_NOINT_CALL2( "SetFileAttributesA", SetFileAttributesA, _aPathName, __intVal(anInteger) );
-            } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-            ret = SetFileAttributesA((char *) __stringVal(aPathName), __intVal(anInteger));
-            if (ret < 0) {
-                __threadErrno = __WIN32_ERR(GetLastError());
-            }
-#endif
-            if (ret >= 0) {
-                RETURN ( true );
-            }
-            __threadErrno = __WIN32_ERR(GetLastError());
-            RETURN (false);
-        }
-
-        if (__isUnicode16String(aPathName)) {
-            wchar_t _wPathName[MAXPATHLEN+1];
-            int i, l;
-
-            l = __unicode16StringSize(aPathName);
-            if (l > MAXPATHLEN) l = MAXPATHLEN;
-            for (i=0; i<l; i++) {
-                _wPathName[i] = __unicode16StringVal(aPathName)[i];
-            }
-            _wPathName[i] = 0;
+	    char _aPathName[MAXPATHLEN];
+
+	    strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	    do {
+		__threadErrno = 0;
+		ret = STX_API_NOINT_CALL2( "SetFileAttributesA", SetFileAttributesA, _aPathName, __intVal(anInteger) );
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	    ret = SetFileAttributesA((char *) __stringVal(aPathName), __intVal(anInteger));
+	    if (ret < 0) {
+		__threadErrno = __WIN32_ERR(GetLastError());
+	    }
+#endif
+	    if (ret >= 0) {
+		RETURN ( true );
+	    }
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	    RETURN (false);
+	}
+
+	if (__isUnicode16String(aPathName)) {
+	    wchar_t _wPathName[MAXPATHLEN+1];
+	    int i, l;
+
+	    l = __unicode16StringSize(aPathName);
+	    if (l > MAXPATHLEN) l = MAXPATHLEN;
+	    for (i=0; i<l; i++) {
+		_wPathName[i] = __unicode16StringVal(aPathName)[i];
+	    }
+	    _wPathName[i] = 0;
 #ifdef DO_WRAP_CALLS
-            do {
-                __threadErrno = 0;
-                ret = STX_API_NOINT_CALL2( "SetFileAttributesW", SetFileAttributesW, _wPathName, __intVal(anInteger) );
-            } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-            ret = SetFileAttributesW(_wPathName, __intVal(anInteger));
-            if (ret < 0) {
-                __threadErrno = __WIN32_ERR(GetLastError());
-            }
-#endif
-            if (ret >= 0) {
-                RETURN ( true );
-            }
-            __threadErrno = __WIN32_ERR(GetLastError());
-            RETURN (false);
-        }
+	    do {
+		__threadErrno = 0;
+		ret = STX_API_NOINT_CALL2( "SetFileAttributesW", SetFileAttributesW, _wPathName, __intVal(anInteger) );
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	    ret = SetFileAttributesW(_wPathName, __intVal(anInteger));
+	    if (ret < 0) {
+		__threadErrno = __WIN32_ERR(GetLastError());
+	    }
+#endif
+	    if (ret >= 0) {
+		RETURN ( true );
+	    }
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	    RETURN (false);
+	}
     }
 %}.
     ^ self primitiveFailed
@@ -5984,9 +5995,9 @@
 
 setCurrentDirectory:pathName
     pathName bitsPerCharacter == 16 ifTrue:[
-        self primSetCurrentDirectoryW:(pathName copyWith:(Character value:0))
+	self primSetCurrentDirectoryW:(pathName copyWith:(Character value:0))
     ] ifFalse:[
-        self primSetCurrentDirectoryA:pathName
+	self primSetCurrentDirectoryA:pathName
     ].
 
     "
@@ -6004,7 +6015,7 @@
 
     attr := self primGetFileAttributes:aPathName.
     (attr bitTest:FILE_ATTRIBUTE_HIDDEN ) ifFalse:[
-        ^ self primSetFileAttributes:aPathName to:(attr bitOr:2).
+	^ self primSetFileAttributes:aPathName to:(attr bitOr:2).
     ].
     ^ true  "/ aready set
 
@@ -6019,7 +6030,7 @@
 
     attr := self primGetFileAttributes:aPathName.
     (attr bitTest:FILE_ATTRIBUTE_NORMAL ) ifFalse:[
-        ^ self primSetFileAttributes:aPathName to:(attr bitOr:2).
+	^ self primSetFileAttributes:aPathName to:(attr bitOr:2).
     ].
     ^ true  "/ aready set
 !
@@ -6031,7 +6042,7 @@
 
     attr := self primGetFileAttributes:aPathName.
     (attr bitTest:FILE_ATTRIBUTE_TEMPORARY ) ifFalse:[
-        ^ self primSetFileAttributes:aPathName to:(attr bitOr:2).
+	^ self primSetFileAttributes:aPathName to:(attr bitOr:2).
     ].
     ^ true  "/ aready set
 !
@@ -6041,7 +6052,7 @@
      For nonexistent files, nil is returned."
 
     "could be implemented as:
-        (self infoOf:aPathName) accessed
+	(self infoOf:aPathName) accessed
     "
     | i|
 
@@ -6059,7 +6070,7 @@
      For nonexistent files, nil is returned."
 
     "could be implemented as:
-        (self infoOf:aPathName) modified
+	(self infoOf:aPathName) modified
     "
 
     | i|
@@ -6082,7 +6093,7 @@
 
     "
      this could have been implemented as:
-        (self infoOf:aPathName) type
+	(self infoOf:aPathName) type
     "
 
     i := self infoOf:aPathName.
@@ -6099,31 +6110,31 @@
 
 volumeLabelOf: aFilenameOrString
 
-        "Answer the volume label of the disk containing aFilenameOrString."
+	"Answer the volume label of the disk containing aFilenameOrString."
 
     | volName |
 
     volName := String new: 255.
     ( self
-        getVolumeInformation: aFilenameOrString asFilename volume, '\'
-        name: volName
-        nameSize: volName size
-        serialNumber: nil
-        maximumComponentLength: nil
-        fileSystemFlags: nil
-        fileSystemName: nil
-        fileSystemNameSize: 0 )
-            ifFalse: [
-                Transcript showCR:'GetVolumeInformation error'.
-                ^ ''
-        ].
+	getVolumeInformation: aFilenameOrString asFilename volume, '\'
+	name: volName
+	nameSize: volName size
+	serialNumber: nil
+	maximumComponentLength: nil
+	fileSystemFlags: nil
+	fileSystemName: nil
+	fileSystemNameSize: 0 )
+	    ifFalse: [
+		Transcript showCR:'GetVolumeInformation error'.
+		^ ''
+	].
     ^ volName copyUpTo: Character null
 
     "
-        self volumeLabelOf: 'C:\pepe.pep'
-        self volumeLabelOf: 'C:'
-        self volumeLabelOf: 'C:\\'
-        self volumeLabelOf: 'C:\'
+	self volumeLabelOf: 'C:\pepe.pep'
+	self volumeLabelOf: 'C:'
+	self volumeLabelOf: 'C:\\'
+	self volumeLabelOf: 'C:\'
 
     "
 !
@@ -6136,7 +6147,7 @@
 
     aPathString size < 2 ifTrue:[^ ''].
     (aPathString at:2) == $: ifTrue:[
-        ^ (aPathString at:1) asString.
+	^ (aPathString at:1) asString.
     ].
     ^ ''
 ! !
@@ -6153,11 +6164,11 @@
      html documents, pdf documents etc."
 
     Error
-        handle:[:ex |
-            Dialog warn:'Shell execution failed'
-        ] do:[
-            self openApplicationForDocument:aFilenameOrString operation:#open
-        ]
+	handle:[:ex |
+	    Dialog warn:'Shell execution failed'
+	] do:[
+	    self openApplicationForDocument:aFilenameOrString operation:#open
+	]
 
     "
      self openDocumentationFilename: 'C:\WINDOWS\Help\clipbrd.chm' asFilename
@@ -6214,8 +6225,8 @@
 
 %{
     while(1) {
-        console_printf("blocking...");
-        Sleep(50);
+	console_printf("blocking...");
+	Sleep(50);
     }
 %}.
     "
@@ -6229,8 +6240,8 @@
 
 %{
     while(1) {
-        console_printf("blocking...");
-        STX_API_CALL1("Sleep", Sleep, 50);
+	console_printf("blocking...");
+	STX_API_CALL1("Sleep", Sleep, 50);
     }
 %}.
     "
@@ -6247,7 +6258,7 @@
     int ret;
 
     do {
-        ret = STX_API_NOINT_CALL1("Sleep", Sleep, 60000);
+	ret = STX_API_NOINT_CALL1("Sleep", Sleep, 60000);
     } while (ret < 0 && __threadErrno == EINTR);
 %}.
     "
@@ -6264,7 +6275,7 @@
     int ret;
 
     do {
-        ret = STX_API_CALL1("Sleep", Sleep, 60000);
+	ret = STX_API_CALL1("Sleep", Sleep, 60000);
     } while (ret < 0 && __threadErrno == EINTR);
 %}.
     "
@@ -6286,8 +6297,8 @@
 
     if (__isSmallInteger(signalNumber)) {
 #ifdef SIG_DFL
-        signal(__intVal(signalNumber), SIG_DFL);
-        RETURN (self);
+	signal(__intVal(signalNumber), SIG_DFL);
+	RETURN (self);
 #endif
     }
 %}.
@@ -6330,14 +6341,14 @@
 %{  /* NOCONTEXT */
 
     if (__isSmallInteger(signalNumber)) {
-        int sigNo = __intVal(signalNumber);
-
-        if (sigNo == 0) {
-            RETURN (self);
-        }
+	int sigNo = __intVal(signalNumber);
+
+	if (sigNo == 0) {
+	    RETURN (self);
+	}
 #ifdef SIG_IGN
-        signal(sigNo, SIG_IGN);
-        RETURN (self);
+	signal(sigNo, SIG_IGN);
+	RETURN (self);
 #endif
     }
 %}.
@@ -6358,8 +6369,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."
 
 %{  /* NOCONTEXT */
 
@@ -6485,121 +6496,121 @@
      &&  (sigNr <= SIG_LIMIT)
 #endif
     ) {
-        /*
-         * standard signals are forced into standard handlers
-         * - all others go into general signalInterrupt
-         */
+	/*
+	 * standard signals are forced into standard handlers
+	 * - all others go into general signalInterrupt
+	 */
 #if defined(SIGPOLL) && defined(SIGIO)
-        if (sigNr == SIGPOLL)
-            sigNr = SIGIO;
-#endif
-        switch (sigNr) {
-            case 0:
-                /* enabling a non-supported signal */
-                RETURN (self);
+	if (sigNr == SIGPOLL)
+	    sigNr = SIGIO;
+#endif
+	switch (sigNr) {
+	    case 0:
+		/* enabling a non-supported signal */
+		RETURN (self);
 
 #ifdef SIGBREAK
-            case SIGBREAK:
+	    case SIGBREAK:
 #endif
 #ifdef SIGINT
-            case SIGINT:
+	    case SIGINT:
 #endif
 #ifdef SIGQUIT
-            case SIGQUIT:
+	    case SIGQUIT:
 #endif
 #ifdef SIGNALDEBUGWIN32
-                console_printf("ConsoleSignal %d\n",sigNr);
-#endif
-                SetConsoleCtrlHandler((PHANDLER_ROUTINE)__signalUserInterruptWIN32,TRUE);
-                RETURN (self);
+		console_printf("ConsoleSignal %d\n",sigNr);
+#endif
+		SetConsoleCtrlHandler((PHANDLER_ROUTINE)__signalUserInterruptWIN32,TRUE);
+		RETURN (self);
 #ifdef SIGFPE
-            case SIGFPE:
-                handler = __signalFpExceptionInterrupt;
-                break;
+	    case SIGFPE:
+		handler = __signalFpExceptionInterrupt;
+		break;
 #endif
 
 #ifdef SIGPIPE
-            case SIGPIPE:
-                handler = __signalPIPEInterrupt;
-                break;
+	    case SIGPIPE:
+		handler = __signalPIPEInterrupt;
+		break;
 #endif
 #ifdef SIGBUS
-            case SIGBUS:
-                handler = __signalBUSInterrupt;
-                break;
+	    case SIGBUS:
+		handler = __signalBUSInterrupt;
+		break;
 #endif
 #ifdef SIGSEGV
-            case SIGSEGV:
-                handler = __signalSEGVInterrupt;
-                break;
+	    case SIGSEGV:
+		handler = __signalSEGVInterrupt;
+		break;
 #endif
 #ifdef SIGILL
-            case SIGILL:
-                handler = __signalTrapInterrupt;
-                break;
+	    case SIGILL:
+		handler = __signalTrapInterrupt;
+		break;
 #endif
 #ifdef SIGEMT
-            case SIGEMT:
-                handler = __signalTrapInterrupt;
-                break;
+	    case SIGEMT:
+		handler = __signalTrapInterrupt;
+		break;
 #endif
 #ifdef SIGIO
-            case SIGIO:
-                handler = __signalIoInterrupt;
-                break;
+	    case SIGIO:
+		handler = __signalIoInterrupt;
+		break;
 #endif
 
 #ifdef CHILD_SIGNAL
-            case CHILD_SIGNAL:
-                handler = __signalChildInterrupt;
-                break;
-#endif
-
-            default:
-                handler = __signalInterrupt;
-                break;
-        }
-
-        {
+	    case CHILD_SIGNAL:
+		handler = __signalChildInterrupt;
+		break;
+#endif
+
+	    default:
+		handler = __signalInterrupt;
+		break;
+	}
+
+	{
 #ifdef HAS_SIGACTION
-            struct sigaction act;
-
-            /*
-             * Do not add SA_RESTART here. A signal can cause a
-             * thread switch, another thread can do a garbage collect
-             * and restarted system calls may write into old
-             * (collected) addresses.
-             */
-
-            act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
-            sigemptyset(&act.sa_mask);
-            act.sa_handler = handler;
-            sigaction(sigNr, &act, 0);
+	    struct sigaction act;
+
+	    /*
+	     * Do not add SA_RESTART here. A signal can cause a
+	     * thread switch, another thread can do a garbage collect
+	     * and restarted system calls may write into old
+	     * (collected) addresses.
+	     */
+
+	    act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
+	    sigemptyset(&act.sa_mask);
+	    act.sa_handler = handler;
+	    sigaction(sigNr, &act, 0);
 #else
 # ifdef HAS_SIGVEC
-            struct sigvec vec;
-
-            vec.sv_flags = SV_INTERRUPT;
-            sigemptyset(&vec.sv_mask);
-            vec.sv_handler = handler;
-            sigvec(sigNr, &vec, NULL);
+	    struct sigvec vec;
+
+	    vec.sv_flags = SV_INTERRUPT;
+	    sigemptyset(&vec.sv_mask);
+	    vec.sv_handler = handler;
+	    sigvec(sigNr, &vec, NULL);
 # else
 #  ifdef WIN32
 #   ifdef SIGNALDEBUGWIN32
-            console_printf("signal %d can't change handler\n",sigNr);
+	    console_printf("signal %d can't change handler\n",sigNr);
 #   endif
 #  else
-            (void) signal(sigNr, handler);
+	    (void) signal(sigNr, handler);
 #  endif
 # endif
 #endif
-        }
-
-        /*
-         * maybe, we should Return the old enable-status
-         * as boolean here ...
-         */
-        RETURN (self);
+	}
+
+	/*
+	 * maybe, we should Return the old enable-status
+	 * as boolean here ...
+	 */
+	RETURN (self);
     }
 %}.
 
@@ -6617,8 +6628,8 @@
     extern void __win32SetTimer();
 
     if (__isSmallInteger(milliSeconds)) {
-        __win32SetTimer( __intVal(milliSeconds) );
-        RETURN (true);
+	__win32SetTimer( __intVal(milliSeconds) );
+	RETURN (true);
     }
 %}.
     ^ false
@@ -6638,8 +6649,8 @@
      The process terminates immediately and has no chance to perform any cleanup actions.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self terminateProcess:processId
 !
@@ -6651,9 +6662,9 @@
      Do not confuse UNIX signals with Smalltalk-Signals.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId
-              if the signal terminates that process."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId
+	      if the signal terminates that process."
 
     "/
     "/ either invalid argument (non-integers)
@@ -6666,15 +6677,15 @@
     "terminate a process.
      The process has a chance to do some cleanup.
      WIN32:
-         Under unix, we have terminateProcess, which does a soft
-         terminate (giving the process a chance to cleanup) and
-         killProcess, which does a hard terminate.
-         Under WIN32, both (currently) use the TerminateProcess
-         function, which unconditionally causes a process to exit.
-         I.e. under WIN32, the process has no chance to perform cleanup.
-         Use it only in extreme circumstances. The state of
-         global data maintained by dynamic-link libraries (DLLs)
-         may be compromised if TerminateProcess is used.
+	 Under unix, we have terminateProcess, which does a soft
+	 terminate (giving the process a chance to cleanup) and
+	 killProcess, which does a hard terminate.
+	 Under WIN32, both (currently) use the TerminateProcess
+	 function, which unconditionally causes a process to exit.
+	 I.e. under WIN32, the process has no chance to perform cleanup.
+	 Use it only in extreme circumstances. The state of
+	 global data maintained by dynamic-link libraries (DLLs)
+	 may be compromised if TerminateProcess is used.
      TODO: send it a WM_QUIT instead, to allow for proper shutdown."
 
     self terminateProcess:processHandleOrPid exitCode:0
@@ -6684,33 +6695,33 @@
     "terminate a process.
      The process should have a chance to do some cleanup.
      WIN32:
-         Under unix, we have terminateProcess, which does a soft
-         terminate (giving the process a chance to cleanup) and
-         killProcess, which does a hard terminate.
-         Under WIN32, both (currently) use the TerminateProcess
-         function, which unconditionally causes a process to exit.
-         I.e. under WIN32, the process has no chance to perform cleanup.
-         Use it only in extreme circumstances. The state of
-         global data maintained by dynamic-link libraries (DLLs)
-         may be compromised if TerminateProcess is used.
+	 Under unix, we have terminateProcess, which does a soft
+	 terminate (giving the process a chance to cleanup) and
+	 killProcess, which does a hard terminate.
+	 Under WIN32, both (currently) use the TerminateProcess
+	 function, which unconditionally causes a process to exit.
+	 I.e. under WIN32, the process has no chance to perform cleanup.
+	 Use it only in extreme circumstances. The state of
+	 global data maintained by dynamic-link libraries (DLLs)
+	 may be compromised if TerminateProcess is used.
      TODO: send it a WM_QUIT instead, to allow for proper shutdown."
 
 %{
     if (__isExternalAddressLike(processHandleOrPid) ) {
-        HANDLE hProcess = _HANDLEVal(processHandleOrPid);
-
-        if (hProcess != 0) {
-            TerminateProcess( hProcess, __intVal(exitCode) );
-        }
-        RETURN( true );
+	HANDLE hProcess = _HANDLEVal(processHandleOrPid);
+
+	if (hProcess != 0) {
+	    TerminateProcess( hProcess, __intVal(exitCode) );
+	}
+	RETURN( true );
     } else if( __isSmallInteger(processHandleOrPid) ) {
-        HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0, __smallIntegerVal(processHandleOrPid));
-
-        if( hProcess != 0 ) {
-            TerminateProcess( hProcess, __intVal(exitCode) );
-            CloseHandle(hProcess);
-        }
-        RETURN( true );
+	HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0, __smallIntegerVal(processHandleOrPid));
+
+	if( hProcess != 0 ) {
+	    TerminateProcess( hProcess, __intVal(exitCode) );
+	    CloseHandle(hProcess);
+	}
+	RETURN( true );
     }
 %}.
     self primitiveFailed:#invalidParameter.
@@ -6724,8 +6735,8 @@
     "terminate a process group.
      The processes should have a chance to do some cleanup.
      WIN32:
-         The processGroup is terminated by sending it a CTRL-C
-         using GenerateConsoleCtrlEvent."
+	 The processGroup is terminated by sending it a CTRL-C
+	 using GenerateConsoleCtrlEvent."
 
     | pid list |
 
@@ -6733,14 +6744,14 @@
     list size == 0 ifTrue:[^ self ].
 
     processGroupHandleOrPid isInteger ifTrue:[
-        pid := processGroupHandleOrPid
+	pid := processGroupHandleOrPid
     ] ifFalse:[
-        pid := processGroupHandleOrPid pid.
+	pid := processGroupHandleOrPid pid.
     ].
     list do:[:anOSProcess |
-        ( anOSProcess parentPid == pid ) ifTrue:[
-            self terminateProcess:( anOSProcess pid ).
-        ].
+	( anOSProcess parentPid == pid ) ifTrue:[
+	    self terminateProcess:( anOSProcess pid ).
+	].
     ].
 
 ! !
@@ -6767,8 +6778,8 @@
     sa.bInheritHandle = TRUE;
 
     if( ! CreatePipe( &pipeRead, &pipeWrite, &sa, 0 ) ) {
-        @global(LastErrorNumber) = error = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
-        goto out;
+	@global(LastErrorNumber) = error = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
+	goto out;
     }
 
 #if 1
@@ -6788,9 +6799,9 @@
 out:;
 %}.
     (fd1 notNil and:[fd2 notNil]) ifTrue:[
-        (fd1 ~~ -1 and:[fd2 ~~ -1]) ifTrue:[
-            ^ Array with:fd1 with:fd2.
-        ].
+	(fd1 ~~ -1 and:[fd2 ~~ -1]) ifTrue:[
+	    ^ Array with:fd1 with:fd2.
+	].
     ].
 
     ^ nil
@@ -6802,15 +6813,15 @@
     "free pid resource"
 %{
     if (__isExternalAddressLike(pid) ) {
-        HANDLE __pid = _HANDLEVal(pid);
-
-        if (__pid != 0) {
+	HANDLE __pid = _HANDLEVal(pid);
+
+	if (__pid != 0) {
 #ifdef PROCESSDEBUGWIN32
-            console_printf("Close ProcessHandle %x\n", __pid);
-#endif
-            CloseHandle(__pid);
-            _HANDLEVal(pid) = 0;
-        }
+	    console_printf("Close ProcessHandle %x\n", __pid);
+#endif
+	    CloseHandle(__pid);
+	    _HANDLEVal(pid) = 0;
+	}
     }
 %}.
     ^ true.
@@ -6825,17 +6836,17 @@
     spaceForTargetHandle := ExternalLong new.
     hMe := self getCurrentProcess.
     rslt := self
-                primDuplicateHandle_hSourcProcessHandle:hMe
-                hSourceHandle:aHandle
-                hTargetProcesshandle:targetProcessHandle
-                lpTargetHandle:spaceForTargetHandle
-                dwDesiredAccess:0
-                bInheritHandle:false
-                dwOptions:2 "DUPLICATE_SAME_ACCESS".
+		primDuplicateHandle_hSourcProcessHandle:hMe
+		hSourceHandle:aHandle
+		hTargetProcesshandle:targetProcessHandle
+		lpTargetHandle:spaceForTargetHandle
+		dwDesiredAccess:0
+		bInheritHandle:false
+		dwOptions:2 "DUPLICATE_SAME_ACCESS".
 
     rslt ifFalse:[
-        self primitiveFailed.
-        ^ nil
+	self primitiveFailed.
+	^ nil
     ].
     ^ ExternalAddress newAddress:(spaceForTargetHandle value).
 
@@ -6857,20 +6868,22 @@
     hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 
     if( hProcessSnap != INVALID_HANDLE_VALUE ) {
-        pe32.dwSize = sizeof(PROCESSENTRY32);
-        Process32First( hProcessSnap, & pe32 );
-
-        do {
-            st_perProc = __SSEND0(@global(OSProcess), @symbol(new), 0);
-
-            __SSEND1(st_perProc, @symbol(commandLine:), 0, __MKSTRING(pe32.szExeFile) );
-            __SSEND1(st_perProc, @symbol(pid:), 0, __mkSmallInteger(pe32.th32ProcessID) );
-            __SSEND1(st_perProc, @symbol(parentPid:), 0, __mkSmallInteger(pe32.th32ParentProcessID) );
-
-            __SSEND1(list, @symbol(add:), 0, st_perProc );
-        }
-        while(Process32Next(hProcessSnap,&pe32));
-    }
+	pe32.dwSize = sizeof(PROCESSENTRY32);
+	Process32First( hProcessSnap, & pe32 );
+
+	do {
+	    st_perProc = __SSEND0(@global(OSProcess), @symbol(new), 0);
+
+	    __SSEND1(st_perProc, @symbol(commandLine:), 0, __MKSTRING(pe32.szExeFile) );
+	    __SSEND1(st_perProc, @symbol(pid:), 0, __mkSmallInteger(pe32.th32ProcessID) );
+	    __SSEND1(st_perProc, @symbol(parentPid:), 0, __mkSmallInteger(pe32.th32ParentProcessID) );
+
+	    __SSEND1(list, @symbol(add:), 0, st_perProc );
+	}
+	while(Process32Next(hProcessSnap,&pe32));
+	CloseHandle( hProcessSnap );
+    }
+
 #endif  /* TLHELP32_H_INCLUDE */
 
 %}.
@@ -6889,8 +6902,8 @@
 
 getPrivateProfileString:appNameString key:keyNameString default:defaultString fileName:fileName
     ^ self
-        getProfileString:appNameString key:keyNameString default:defaultString
-        fileName:fileName private:true
+	getProfileString:appNameString key:keyNameString default:defaultString
+	fileName:fileName private:true
 
     "Modified: / 27-07-2006 / 11:57:03 / fm"
 !
@@ -6908,40 +6921,40 @@
     OBJ retVal;
 
     if (__isStringLike(appNameString)) {
-        __appNameString = __stringVal(appNameString);
+	__appNameString = __stringVal(appNameString);
     } else if (appNameString != nil)
-        goto primitiveFail;
+	goto primitiveFail;
 
     if (__isStringLike(keyNameString)) {
-        __keyNameString = __stringVal(keyNameString);
+	__keyNameString = __stringVal(keyNameString);
     } else if (keyNameString != nil)
-        goto primitiveFail;
+	goto primitiveFail;
 
     if (__isStringLike(defaultString)) {
-        __defaultString = __stringVal(defaultString);
+	__defaultString = __stringVal(defaultString);
     } else if (defaultString != nil)
-        goto primitiveFail;
+	goto primitiveFail;
 
     do {
-        nChars = GetProfileString(__appNameString, __keyNameString, __defaultString, usedBuffer, bufferSize);
-        if (nChars >= 0) {
-            if (nChars != bufferSize-1) {
-                retVal = __MKSTRING_L(usedBuffer, nChars);
-                if (usedBuffer != quickBuffer) free(usedBuffer);
-                RETURN (retVal);
-            }
-
-            {
-                /* use a bigger buffer */
-                char *newBuffer;
-                int newBufferSize = bufferSize * 2;
-
-                newBuffer = (char *)malloc( newBufferSize );
-                if (usedBuffer != quickBuffer) free(usedBuffer);
-                usedBuffer = newBuffer;
-                bufferSize = newBufferSize;
-            }
-        }
+	nChars = GetProfileString(__appNameString, __keyNameString, __defaultString, usedBuffer, bufferSize);
+	if (nChars >= 0) {
+	    if (nChars != bufferSize-1) {
+		retVal = __MKSTRING_L(usedBuffer, nChars);
+		if (usedBuffer != quickBuffer) free(usedBuffer);
+		RETURN (retVal);
+	    }
+
+	    {
+		/* use a bigger buffer */
+		char *newBuffer;
+		int newBufferSize = bufferSize * 2;
+
+		newBuffer = (char *)malloc( newBufferSize );
+		if (usedBuffer != quickBuffer) free(usedBuffer);
+		usedBuffer = newBuffer;
+		bufferSize = newBufferSize;
+	    }
+	}
 
     } while (nChars > 0);
     RETURN (nil);
@@ -6966,49 +6979,49 @@
     OBJ retVal;
 
     if (__isStringLike(appNameString)) {
-        __appNameString = __stringVal(appNameString);
+	__appNameString = __stringVal(appNameString);
     } else if (appNameString != nil)
-        goto primitiveFail;
+	goto primitiveFail;
 
     if (__isStringLike(keyNameString)) {
-        __keyNameString = __stringVal(keyNameString);
+	__keyNameString = __stringVal(keyNameString);
     } else if (keyNameString != nil)
-        goto primitiveFail;
+	goto primitiveFail;
 
     if (__isStringLike(defaultString)) {
-        __defaultString = __stringVal(defaultString);
+	__defaultString = __stringVal(defaultString);
     } else if (defaultString != nil)
-        goto primitiveFail;
+	goto primitiveFail;
 
     if (private == true) {
-        if (! __isStringLike(fileName)) goto primitiveFail;
-        __fileName = __stringVal(fileName);
+	if (! __isStringLike(fileName)) goto primitiveFail;
+	__fileName = __stringVal(fileName);
     }
 
     do {
-        if (private == true) {
-            nChars = GetPrivateProfileString(__appNameString, __keyNameString, __defaultString, usedBuffer, bufferSize, __fileName);
-        } else {
-            nChars = GetProfileString(__appNameString, __keyNameString, __defaultString, usedBuffer, bufferSize);
-        }
-        if (nChars >= 0) {
-            if (nChars != bufferSize-1) {
-                retVal = __MKSTRING_L(usedBuffer, nChars);
-                if (usedBuffer != quickBuffer) free(usedBuffer);
-                RETURN (retVal);
-            }
-
-            {
-                /* use a bigger buffer */
-                char *newBuffer;
-                int newBufferSize = bufferSize * 2;
-
-                newBuffer = (char *)malloc( newBufferSize );
-                if (usedBuffer != quickBuffer) free(usedBuffer);
-                usedBuffer = newBuffer;
-                bufferSize = newBufferSize;
-            }
-        }
+	if (private == true) {
+	    nChars = GetPrivateProfileString(__appNameString, __keyNameString, __defaultString, usedBuffer, bufferSize, __fileName);
+	} else {
+	    nChars = GetProfileString(__appNameString, __keyNameString, __defaultString, usedBuffer, bufferSize);
+	}
+	if (nChars >= 0) {
+	    if (nChars != bufferSize-1) {
+		retVal = __MKSTRING_L(usedBuffer, nChars);
+		if (usedBuffer != quickBuffer) free(usedBuffer);
+		RETURN (retVal);
+	    }
+
+	    {
+		/* use a bigger buffer */
+		char *newBuffer;
+		int newBufferSize = bufferSize * 2;
+
+		newBuffer = (char *)malloc( newBufferSize );
+		if (usedBuffer != quickBuffer) free(usedBuffer);
+		usedBuffer = newBuffer;
+		bufferSize = newBufferSize;
+	    }
+	}
 
     } while (nChars > 0);
     RETURN (nil);
@@ -7044,7 +7057,7 @@
 
     "
      self
-        playSound:'C:\Dokumente und Einstellungen\cg\work\exept\expecco\resources\sounds\start.wav'
+	playSound:'C:\Dokumente und Einstellungen\cg\work\exept\expecco\resources\sounds\start.wav'
     "
 
     "Created: / 06-11-2007 / 00:46:57 / cg"
@@ -7062,8 +7075,8 @@
 
     "
      self
-        playSound:'C:\Dokumente und Einstellungen\cg\work\exept\expecco\resources\sounds\start.wav'
-        mode:1
+	playSound:'C:\Dokumente und Einstellungen\cg\work\exept\expecco\resources\sounds\start.wav'
+	mode:1
     "
 
     "Modified: / 06-11-2007 / 00:46:27 / cg"
@@ -7093,7 +7106,7 @@
     <apicall: dword "GetLastError" () module: "kernel32.dll" >
 
     "
-        self primGetLastError
+	self primGetLastError
     "
 !
 
@@ -7102,7 +7115,7 @@
     <apicall: void "SetLastError" (dword) module: "kernel32.dll" >
 
     "
-        self primSetLastError: 0
+	self primSetLastError: 0
     "
 !
 
@@ -7148,8 +7161,8 @@
 "/    lastErrorCode == 5 "ERROR_ACCESS_DENIED" ifTrue:[Transcript showCR: 'Mutex not accesible (GetLastError = ERROR_ACCESS_DENIED)'.].
 "/    lastErrorCode == 183 "ERROR_ALREADY_EXISTS" ifTrue:[Transcript showCR: 'Mutex already exists (GetLastError = ERROR_ALREADY_EXISTS)'.].
     (handle isNil or:[handle address ~~ 0]) ifFalse:[
-        Transcript showCR: 'CreateMutexNamed: "', name printString, '" failed'.
-        handle := nil.
+	Transcript showCR: 'CreateMutexNamed: "', name printString, '" failed'.
+	handle := nil.
     ].
     ^ Array with: handle with: lastErrorCode
 
@@ -7169,8 +7182,8 @@
     lastErrorCode := handleAndLastErrorCode second.
 "/    self assert: lastErrorCode == 0.
     ^ handle isNil
-        or:[lastErrorCode == 183 "ERROR_ALREADY_EXISTS"
-            or:[ lastErrorCode == 5 "ERROR_ACCESS_DENIED"]]
+	or:[lastErrorCode == 183 "ERROR_ALREADY_EXISTS"
+	    or:[ lastErrorCode == 5 "ERROR_ACCESS_DENIED"]]
 
     "Modified: / 03-08-2010 / 16:59:41 / cg"
 !
@@ -7187,8 +7200,8 @@
 "/    lastErrorCode = 2 ifTrue:[Transcript showCR: 'Mutex does not exist (GetLastError = ERROR_FILE_NOT_FOUND)'.].
 "/    lastErrorCode = 5 ifTrue:[Transcript showCR: 'Mutex not accesible (GetLastError = ERROR_ACCESS_DENIED)'.].
     (handle isNil or:[handle address ~~ 0]) ifFalse:[
-        Transcript showCR: 'OpenMutexNamed: "', name printString, '" failed'.
-        ^ nil.
+	Transcript showCR: 'OpenMutexNamed: "', name printString, '" failed'.
+	^ nil.
     ].
 
     ^ handle
@@ -7245,8 +7258,8 @@
     | released|
 
     hMutex isNil ifTrue:[
-        Transcript showCR: 'hMutex is nil - cannot release'.
-        ^ false
+	Transcript showCR: 'hMutex is nil - cannot release'.
+	^ false
     ].
     released := self primReleaseMutex: hMutex.
     released ifFalse:[Transcript showCR: 'Release Mutex failed'.].
@@ -7262,8 +7275,8 @@
 
     hMutex := self openMutexNamed: name.
     hMutex isNil ifTrue:[
-        Transcript showCR: 'Cannot release Mutex named: "', name printString,'"'.
-        ^ false
+	Transcript showCR: 'Cannot release Mutex named: "', name printString,'"'.
+	^ false
     ].
     ^ self releaseMutex: hMutex.
 
@@ -7293,53 +7306,53 @@
 getDomainName
     "return the DNS 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."
 
     |domainName idx hostName k|
 
     DomainName notNil ifTrue:[
-        ^ DomainName
+	^ DomainName
     ].
 
     "/ sometimes, we can extract the domainName from the hostName ...
     hostName := self getHostName.
     hostName notEmptyOrNil ifTrue:[
-        idx := hostName indexOf:$..
-        idx ~~ 0 ifTrue:[
-            domainName := hostName copyFrom:idx+1.
-        ]
+	idx := hostName indexOf:$..
+	idx ~~ 0 ifTrue:[
+	    domainName := hostName copyFrom:idx+1.
+	]
     ].
 
     domainName isNil ifTrue:[
-        domainName := self getEnvironment:'DOMAIN'.
-        domainName isNil ifTrue:[
-            domainName := self getEnvironment:'DOMAINNAME'.
-        ].
-
-        domainName isNil ifTrue:[
-            "/ ok, search the registry ...
-            "/ under NT and later, it is found there ...
-            k := RegistryEntry key:'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters'.
-            k notNil ifTrue:[
-                domainName := k valueNamed:'Domain'.
-                k close.
-            ].
-        ].
-
-        domainName isNil ifTrue:[
-            "/ under Win95/Win98, it is found there ...
-            k := RegistryEntry key:'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP'.
-            k notNil ifTrue:[
-                domainName := k valueNamed:'Domain'.
-                k close.
-            ]
-        ].
-
-        domainName isNil ifTrue:[
-            'Win32OperatingSystem [warning]: cannot find out domainName' errorPrintCR.
-            domainName := 'unknown'.
-        ].
-        DomainName := domainName.     "cache only, if it is fixed"
+	domainName := self getEnvironment:'DOMAIN'.
+	domainName isNil ifTrue:[
+	    domainName := self getEnvironment:'DOMAINNAME'.
+	].
+
+	domainName isNil ifTrue:[
+	    "/ ok, search the registry ...
+	    "/ under NT and later, it is found there ...
+	    k := RegistryEntry key:'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters'.
+	    k notNil ifTrue:[
+		domainName := k valueNamed:'Domain'.
+		k close.
+	    ].
+	].
+
+	domainName isNil ifTrue:[
+	    "/ under Win95/Win98, it is found there ...
+	    k := RegistryEntry key:'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP'.
+	    k notNil ifTrue:[
+		domainName := k valueNamed:'Domain'.
+		k close.
+	    ]
+	].
+
+	domainName isNil ifTrue:[
+	    'Win32OperatingSystem [warning]: cannot find out domainName' errorPrintCR.
+	    domainName := 'unknown'.
+	].
+	DomainName := domainName.     "cache only, if it is fixed"
     ].
     ^ domainName
 
@@ -7359,28 +7372,28 @@
     char *env;
 
     if (__isStringLike(aStringOrSymbol)) {
-        char buff[1024];
-        int nNeeded;
-        OBJ ret = nil;
-
-        nNeeded = GetEnvironmentVariable(__stringVal(aStringOrSymbol),
-                                   buff,
-                                   sizeof(buff));
-        if (nNeeded > sizeof(buff)) {
-            char *buff2;
-
-            buff2 = (char *)malloc(nNeeded);
-            GetEnvironmentVariable(__stringVal(aStringOrSymbol),
-                                   buff2,
-                                   nNeeded);
-            ret = __MKSTRING(buff2);
-            free(buff2);
-        } else {
-            if (nNeeded > 0) {
-                ret = __MKSTRING(buff);
-            }
-        }
-        RETURN (ret);
+	char buff[1024];
+	int nNeeded;
+	OBJ ret = nil;
+
+	nNeeded = GetEnvironmentVariable(__stringVal(aStringOrSymbol),
+				   buff,
+				   sizeof(buff));
+	if (nNeeded > sizeof(buff)) {
+	    char *buff2;
+
+	    buff2 = (char *)malloc(nNeeded);
+	    GetEnvironmentVariable(__stringVal(aStringOrSymbol),
+				   buff2,
+				   nNeeded);
+	    ret = __MKSTRING(buff2);
+	    free(buff2);
+	} else {
+	    if (nNeeded > 0) {
+		ret = __MKSTRING(buff);
+	    }
+	}
+	RETURN (ret);
     }
 %}
 .
@@ -7409,7 +7422,7 @@
     DWORD buffSize = sizeof(buffer);
 
     if (GetComputerNameEx(ComputerNameDnsFullyQualified, buffer, &buffSize) == TRUE) {
-        hostName = __MKSTRING(buffer);
+	hostName = __MKSTRING(buffer);
     }
 %}.
     ^ hostName
@@ -7427,14 +7440,14 @@
 
     lang := self getEnvironment:'LANG'.
     (lang isNil or:[lang = 'default']) ifTrue:[
-        "/ ok, search the registry ...
-        "/ under XP, it is found there ...
-        lang := RegistryEntry
-                    stringValueFor:'sLanguage'
-                    atKey:'HKEY_CURRENT_USER\Control Panel\International'.
-        lang notNil ifTrue:[
-            lang := self mapLanguage:lang.
-        ].
+	"/ ok, search the registry ...
+	"/ under XP, it is found there ...
+	lang := RegistryEntry
+		    stringValueFor:'sLanguage'
+		    atKey:'HKEY_CURRENT_USER\Control Panel\International'.
+	lang notNil ifTrue:[
+	    lang := self mapLanguage:lang.
+	].
     ].
     ^ lang
 
@@ -7448,42 +7461,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.
 
@@ -7494,9 +7507,9 @@
     |info val|
 
     LocaleInfo notNil ifTrue:[
-        "/ return the internal info; useful on systems which do not
-        "/ support this.
-        ^ LocaleInfo
+	"/ return the internal info; useful on systems which do not
+	"/ support this.
+	^ LocaleInfo
     ].
 
     info := IdentityDictionary new.
@@ -7517,31 +7530,31 @@
     int   csNegSepBySpace;      /* money: 1 if currency symbol should be separated by a space from a negative value; 0 if no space */
     int   csPosSignPosition;    /* money: 0: ()'s around the value & currency symbol */
     int   csNegSignPosition;    /*        1: sign precedes the value & currency symbol */
-                                /*        2: sign succeeds the value & currency symbol */
-                                /*        3: sign immediately precedes the currency symbol */
-                                /*        4: sign immediately suceeds the currency symbol */
+				/*        2: sign succeeds the value & currency symbol */
+				/*        3: sign immediately precedes the currency symbol */
+				/*        4: sign immediately suceeds the currency symbol */
 
 #if defined(HAS_LOCALECONV)
     struct lconv *conf;
 
     conf = localeconv();
     if (conf) {
-        decimalPoint = conf->decimal_point;
-        thousandsSep = conf->thousands_sep;
-        intCurrencySymbol = conf->int_curr_symbol;
-        currencySymbol = conf->currency_symbol;
-        monDecimalPoint = conf->mon_decimal_point;
-        monThousandsSep = conf->mon_thousands_sep;
-        positiveSign = conf->positive_sign;
-        negativeSign = conf->negative_sign;
-        intFractDigits = conf->int_frac_digits;
-        fractDigits = conf->frac_digits;
-        csPosPrecedes = conf->p_cs_precedes;
-        csNegPrecedes = conf->n_cs_precedes;
-        csPosSepBySpace = conf->p_sep_by_space;
-        csNegSepBySpace = conf->n_sep_by_space;
-        csPosSignPosition = conf->p_sign_posn;
-        csNegSignPosition = conf->n_sign_posn;
+	decimalPoint = conf->decimal_point;
+	thousandsSep = conf->thousands_sep;
+	intCurrencySymbol = conf->int_curr_symbol;
+	currencySymbol = conf->currency_symbol;
+	monDecimalPoint = conf->mon_decimal_point;
+	monThousandsSep = conf->mon_thousands_sep;
+	positiveSign = conf->positive_sign;
+	negativeSign = conf->negative_sign;
+	intFractDigits = conf->int_frac_digits;
+	fractDigits = conf->frac_digits;
+	csPosPrecedes = conf->p_cs_precedes;
+	csNegPrecedes = conf->n_cs_precedes;
+	csPosSepBySpace = conf->p_sep_by_space;
+	csNegSepBySpace = conf->n_sep_by_space;
+	csPosSignPosition = conf->p_sign_posn;
+	csNegSignPosition = conf->n_sign_posn;
     }
 #else
     decimalPoint = (char *)0;
@@ -7562,129 +7575,129 @@
     csNegSignPosition = -1;
 #endif
     if (decimalPoint) {
-        val = __MKSTRING(decimalPoint);
-        __AT_PUT_(info, @symbol(decimalPoint), val);
+	val = __MKSTRING(decimalPoint);
+	__AT_PUT_(info, @symbol(decimalPoint), val);
     }
     if (thousandsSep) {
-        val = __MKSTRING(thousandsSep);
-        __AT_PUT_(info, @symbol(thousandsSeparator), val);
+	val = __MKSTRING(thousandsSep);
+	__AT_PUT_(info, @symbol(thousandsSeparator), val);
     }
     if (intCurrencySymbol) {
-        val = __MKSTRING(intCurrencySymbol);
-        __AT_PUT_(info, @symbol(internationCurrencySymbol), val);
+	val = __MKSTRING(intCurrencySymbol);
+	__AT_PUT_(info, @symbol(internationCurrencySymbol), val);
     }
     if (currencySymbol) {
-        val = __MKSTRING(currencySymbol);
-        __AT_PUT_(info, @symbol(currencySymbol), val);
+	val = __MKSTRING(currencySymbol);
+	__AT_PUT_(info, @symbol(currencySymbol), val);
     }
     if (monDecimalPoint) {
-        val = __MKSTRING(monDecimalPoint);
-        __AT_PUT_(info, @symbol(monetaryDecimalPoint), val);
+	val = __MKSTRING(monDecimalPoint);
+	__AT_PUT_(info, @symbol(monetaryDecimalPoint), val);
     }
     if (monThousandsSep) {
-        val = __MKSTRING(monThousandsSep);
-        __AT_PUT_(info, @symbol(monetaryThousandsSeparator), val);
+	val = __MKSTRING(monThousandsSep);
+	__AT_PUT_(info, @symbol(monetaryThousandsSeparator), val);
     }
     if (positiveSign) {
-        val = __MKSTRING(positiveSign);
-        __AT_PUT_(info, @symbol(positiveSign), val);
+	val = __MKSTRING(positiveSign);
+	__AT_PUT_(info, @symbol(positiveSign), val);
     }
     if (negativeSign) {
-        val = __MKSTRING(negativeSign);
-        __AT_PUT_(info, @symbol(negativeSign), val);
+	val = __MKSTRING(negativeSign);
+	__AT_PUT_(info, @symbol(negativeSign), val);
     }
     if (intFractDigits >= 0) {
-        __AT_PUT_(info, @symbol(internationalFractionalDigits),  __mkSmallInteger(intFractDigits));
+	__AT_PUT_(info, @symbol(internationalFractionalDigits),  __mkSmallInteger(intFractDigits));
     }
     if (fractDigits >= 0) {
-        __AT_PUT_(info, @symbol(fractionalDigits),  __mkSmallInteger(fractDigits));
+	__AT_PUT_(info, @symbol(fractionalDigits),  __mkSmallInteger(fractDigits));
     }
     if (csPosPrecedes >= 0) {
-        if (csPosPrecedes == 0) {
-            val = false;
-        } else {
-            val = true;
-        }
-        __AT_PUT_(info, @symbol(positiveSignPrecedesCurrencySymbol), val );
+	if (csPosPrecedes == 0) {
+	    val = false;
+	} else {
+	    val = true;
+	}
+	__AT_PUT_(info, @symbol(positiveSignPrecedesCurrencySymbol), val );
     }
     if (csNegPrecedes >= 0) {
-        if (csNegPrecedes == 0) {
-            val = false;
-        } else {
-            val = true;
-        }
-        __AT_PUT_(info, @symbol(negativeSignPrecedesCurrencySymbol), val );
+	if (csNegPrecedes == 0) {
+	    val = false;
+	} else {
+	    val = true;
+	}
+	__AT_PUT_(info, @symbol(negativeSignPrecedesCurrencySymbol), val );
     }
     if (csPosSepBySpace >= 0) {
-        if (csPosSepBySpace == 0) {
-            val = false;
-        } else {
-            val = true;
-        }
-        __AT_PUT_(info, @symbol(positiveSignSeparatedBySpaceFromCurrencySymbol), val);
+	if (csPosSepBySpace == 0) {
+	    val = false;
+	} else {
+	    val = true;
+	}
+	__AT_PUT_(info, @symbol(positiveSignSeparatedBySpaceFromCurrencySymbol), val);
     }
     if (csNegSepBySpace >= 0) {
-        if (csNegSepBySpace == 0) {
-            val = false;
-        } else {
-            val = true;
-        }
-        __AT_PUT_(info, @symbol(negativeSignSeparatedBySpaceFromCurrencySymbol), val);
+	if (csNegSepBySpace == 0) {
+	    val = false;
+	} else {
+	    val = true;
+	}
+	__AT_PUT_(info, @symbol(negativeSignSeparatedBySpaceFromCurrencySymbol), val);
     }
     switch (csPosSignPosition) {
-        case 0:
-            val = @symbol(parenthesesAround);
-            break;
-
-        case 1:
-            val = @symbol(signPrecedes);
-            break;
-
-        case 2:
-            val = @symbol(signSuceeds);
-            break;
-
-        case 3:
-            val = @symbol(signPrecedesCurrencySymbol);
-            break;
-
-        case 4:
-            val = @symbol(signSuceedsCurrencySymbol);
-            break;
-
-        default:
-            val = nil;
+	case 0:
+	    val = @symbol(parenthesesAround);
+	    break;
+
+	case 1:
+	    val = @symbol(signPrecedes);
+	    break;
+
+	case 2:
+	    val = @symbol(signSuceeds);
+	    break;
+
+	case 3:
+	    val = @symbol(signPrecedesCurrencySymbol);
+	    break;
+
+	case 4:
+	    val = @symbol(signSuceedsCurrencySymbol);
+	    break;
+
+	default:
+	    val = nil;
     }
     if (val != nil) {
-        __AT_PUT_(info, @symbol(positiveSignPosition), val);
+	__AT_PUT_(info, @symbol(positiveSignPosition), val);
     }
 
     switch (csNegSignPosition) {
-        case 0:
-            val = @symbol(parenthesesAround);
-            break;
-
-        case 1:
-            val = @symbol(signPrecedes);
-            break;
-
-        case 2:
-            val = @symbol(signSuceeds);
-            break;
-
-        case 3:
-            val = @symbol(signPrecedesCurrencySymbol);
-            break;
-
-        case 4:
-            val = @symbol(signSuceedsCurrencySymbol);
-            break;
-
-        default:
-            val = nil;
+	case 0:
+	    val = @symbol(parenthesesAround);
+	    break;
+
+	case 1:
+	    val = @symbol(signPrecedes);
+	    break;
+
+	case 2:
+	    val = @symbol(signSuceeds);
+	    break;
+
+	case 3:
+	    val = @symbol(signPrecedesCurrencySymbol);
+	    break;
+
+	case 4:
+	    val = @symbol(signSuceedsCurrencySymbol);
+	    break;
+
+	default:
+	    val = nil;
     }
     if (val != nil) {
-        __AT_PUT_(info, @symbol(negativeSignPosition), val);
+	__AT_PUT_(info, @symbol(negativeSignPosition), val);
     }
 %}.
     ^ info
@@ -7698,8 +7711,8 @@
 
 getNetworkMACAddresses
     "return a dictionary filled with
-        key -> name of interface
-        value -> the MAC adress (as ByteArray)
+	key -> name of interface
+	value -> the MAC adress (as ByteArray)
      for each interface
     "
 
@@ -7728,27 +7741,27 @@
     GetAdaptersInfo_entry = (FARPROC) GetAdaptersInfo;
 #else
     if (GetAdaptersInfo_entry == NULL) {
-        GetAdaptersInfo_entry = __get_iphlpapi_functionAddress("GetAdaptersInfo");
+	GetAdaptersInfo_entry = __get_iphlpapi_functionAddress("GetAdaptersInfo");
     }
 #endif /* NO_NT4_0_COMPATIBILITY */
 
     if (GetAdaptersInfo_entry) {
-        dwStatus = (*GetAdaptersInfo_entry)(
-                                AdapterInfo,                 // [out] buffer to receive data
-                                &dwBufLen);                  // [in] size of receive data buffer
-        if (dwStatus == ERROR_SUCCESS) {
-            PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;
-            unsigned char *bP;
-            int nA = 0;
-
-            bP = __byteArrayVal(rawData);
-            do {
-                name = __MKSTRING(pAdapterInfo->AdapterName);
-                description = __MKSTRING(pAdapterInfo->Description);
-                macAddress = __MKBYTEARRAY(pAdapterInfo->Address, 6);
-                ipAddress = __MKSTRING(pAdapterInfo->IpAddressList.IpAddress.String);
-                ipAddressMask = __MKSTRING(pAdapterInfo->IpAddressList.IpMask.String);
-                entry = __ARRAY_NEW_INT(5);
+	dwStatus = (*GetAdaptersInfo_entry)(
+				AdapterInfo,                 // [out] buffer to receive data
+				&dwBufLen);                  // [in] size of receive data buffer
+	if (dwStatus == ERROR_SUCCESS) {
+	    PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;
+	    unsigned char *bP;
+	    int nA = 0;
+
+	    bP = __byteArrayVal(rawData);
+	    do {
+		name = __MKSTRING(pAdapterInfo->AdapterName);
+		description = __MKSTRING(pAdapterInfo->Description);
+		macAddress = __MKBYTEARRAY(pAdapterInfo->Address, 6);
+		ipAddress = __MKSTRING(pAdapterInfo->IpAddressList.IpAddress.String);
+		ipAddressMask = __MKSTRING(pAdapterInfo->IpAddressList.IpMask.String);
+		entry = __ARRAY_NEW_INT(5);
 /*
  * back to ST/X's String definition
  */
@@ -7758,33 +7771,33 @@
 # ifdef __DEF_String
 #  define Context __DEF_Context
 # endif
-                __ArrayInstPtr(entry)->a_element[0] = name; __STORE(entry, name);
-                __ArrayInstPtr(entry)->a_element[1] = description; __STORE(entry, description);
-                __ArrayInstPtr(entry)->a_element[2] = macAddress; __STORE(entry, macAddress);
-                __ArrayInstPtr(entry)->a_element[3] = ipAddress; __STORE(entry, ipAddress);
-                __ArrayInstPtr(entry)->a_element[4] = ipAddressMask; __STORE(entry, ipAddressMask);
-
-                __ArrayInstPtr(rawData)->a_element[nA] = entry; __STORE(rawData, entry);
-                nA++;
-                pAdapterInfo = pAdapterInfo->Next;
-            } while(pAdapterInfo);
-            nAdapters = __mkSmallInteger(nA);
-        }
+		__ArrayInstPtr(entry)->a_element[0] = name; __STORE(entry, name);
+		__ArrayInstPtr(entry)->a_element[1] = description; __STORE(entry, description);
+		__ArrayInstPtr(entry)->a_element[2] = macAddress; __STORE(entry, macAddress);
+		__ArrayInstPtr(entry)->a_element[3] = ipAddress; __STORE(entry, ipAddress);
+		__ArrayInstPtr(entry)->a_element[4] = ipAddressMask; __STORE(entry, ipAddressMask);
+
+		__ArrayInstPtr(rawData)->a_element[nA] = entry; __STORE(rawData, entry);
+		nA++;
+		pAdapterInfo = pAdapterInfo->Next;
+	    } while(pAdapterInfo);
+	    nAdapters = __mkSmallInteger(nA);
+	}
     }
 #endif /* NO_GETADAPTERSINFO */
 %}.
     info := Dictionary new.
     nAdapters notNil ifTrue:[
-        1 to:nAdapters do:[:i |
-            |entry name description macAddr ipAddr|
-
-            entry := rawData at:i.
-            name := entry at:1.
-            "/ description := entry at:2.
-            macAddr := entry at:3.
-            "/ ipAddr := entry at:4.
-            info at:name put:macAddr.
-        ].
+	1 to:nAdapters do:[:i |
+	    |entry name description macAddr ipAddr|
+
+	    entry := rawData at:i.
+	    name := entry at:1.
+	    "/ description := entry at:2.
+	    macAddr := entry at:3.
+	    "/ ipAddr := entry at:4.
+	    info at:name put:macAddr.
+	].
     ].
     ^ info
 
@@ -7797,14 +7810,14 @@
     "answer the number of physical processors in the system"
 
     %{
-        SYSTEM_INFO sInfo;
-        GetSystemInfo(&sInfo);
-
-        return __mkSmallInteger(sInfo.dwNumberOfProcessors);
+	SYSTEM_INFO sInfo;
+	GetSystemInfo(&sInfo);
+
+	return __mkSmallInteger(sInfo.dwNumberOfProcessors);
     %}.
 
     "
-        self getNumberOfProcessors
+	self getNumberOfProcessors
     "
 !
 
@@ -7827,7 +7840,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."
 
 %{  /* NO_CONTEXT */
 #if defined(HAS_GETHOSTID)
@@ -7841,15 +7854,15 @@
 #endif
 #if defined(HAS_SYSINFO) && defined(SI_HW_SERIAL)
     {
-        char buffer[128];
-
-        buffer[0] = 0;
-        if (sysinfo(SI_HW_SERIAL, buffer, sizeof(buffer))) {
-            buffer[127] = 0;
-            if (strlen(buffer) > 0) {
-                RETURN(__MKSTRING(buffer));
-            }
-        }
+	char buffer[128];
+
+	buffer[0] = 0;
+	if (sysinfo(SI_HW_SERIAL, buffer, sizeof(buffer))) {
+	    buffer[127] = 0;
+	    if (strlen(buffer) > 0) {
+		RETURN(__MKSTRING(buffer));
+	    }
+	}
     }
 #endif
 %}.
@@ -7873,25 +7886,25 @@
        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 ...)
 
      win32:
-        #physicalRam -> total amount of physical memory
-        #freeRam -> amount of free memory
-        #swapSize -> size of swapSpace (page file)
-        #freeSwap -> free bytes in swapSpace
-        #virtualRam -> total amount of virtual memory
-        #freeVirtual -> amount of free virtual memory
-        #memoryLoad -> percentage of memory usage (useless)
+	#physicalRam -> total amount of physical memory
+	#freeRam -> amount of free memory
+	#swapSize -> size of swapSpace (page file)
+	#freeSwap -> free bytes in swapSpace
+	#virtualRam -> total amount of virtual memory
+	#freeVirtual -> amount of free virtual memory
+	#memoryLoad -> percentage of memory usage (useless)
     "
 
     |sys node rel ver minorVer majorVer mach dom info arch
@@ -7917,20 +7930,20 @@
     majorVer = __mkSmallInteger(verMajor);
 
     if (HIWORD(vsn) & 0x8000) {
-        sys = @symbol(win95);
+	sys = @symbol(win95);
     } else {
-        if ((verMajor > 5)
-         || ((verMajor == 5) && (verMinor >= 1))) {
-            sys = @symbol(xp);
-            if (verMajor >= 6) {
-                sys = @symbol(vista);
-                if (verMinor >= 1) {
-                    sys = @symbol(win7);
-                }
-            }
-        } else {
-            sys = @symbol(nt);
-        }
+	if ((verMajor > 5)
+	 || ((verMajor == 5) && (verMinor >= 1))) {
+	    sys = @symbol(xp);
+	    if (verMajor >= 6) {
+		sys = @symbol(vista);
+		if (verMinor >= 1) {
+		    sys = @symbol(win7);
+		}
+	    }
+	} else {
+	    sys = @symbol(nt);
+	}
     }
     len = snprintf(vsnBuffer, sizeof(vsnBuffer), "%d.%d", verMajor, verMinor);
     rel = __MKSTRING_L(vsnBuffer, len);
@@ -7956,155 +7969,155 @@
 #endif
     {
 #ifdef PROCESSOR_ARCHITECTURE_INTEL
-        case PROCESSOR_ARCHITECTURE_INTEL:
-            arch = @symbol(intel);
-            break;
+	case PROCESSOR_ARCHITECTURE_INTEL:
+	    arch = @symbol(intel);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_MIPS
-        case PROCESSOR_ARCHITECTURE_MIPS:
-            arch = @symbol(mips);
-            break;
+	case PROCESSOR_ARCHITECTURE_MIPS:
+	    arch = @symbol(mips);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_ALPHA
-        case PROCESSOR_ARCHITECTURE_ALPHA:
-            arch = @symbol(alpha);
-            break;
+	case PROCESSOR_ARCHITECTURE_ALPHA:
+	    arch = @symbol(alpha);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_ALPHA64
-        case PROCESSOR_ARCHITECTURE_ALPHA64:
-            arch = @symbol(alpha64);
-            break;
+	case PROCESSOR_ARCHITECTURE_ALPHA64:
+	    arch = @symbol(alpha64);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_PPC
-        case PROCESSOR_ARCHITECTURE_PPC:
-            arch = @symbol(ppc);
-            break;
+	case PROCESSOR_ARCHITECTURE_PPC:
+	    arch = @symbol(ppc);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_ARM
-        case PROCESSOR_ARCHITECTURE_ARM:
-            arch = @symbol(arm);
-            break;
+	case PROCESSOR_ARCHITECTURE_ARM:
+	    arch = @symbol(arm);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_SHX
-        case PROCESSOR_ARCHITECTURE_SHX:
-            arch = @symbol(shx);
-            break;
+	case PROCESSOR_ARCHITECTURE_SHX:
+	    arch = @symbol(shx);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_IA64
-        case PROCESSOR_ARCHITECTURE_IA64:
-            arch = @symbol(ia64);
-            break;
+	case PROCESSOR_ARCHITECTURE_IA64:
+	    arch = @symbol(ia64);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_MSIL
-        case PROCESSOR_ARCHITECTURE_MSIL:
-            arch = @symbol(msil);
-            break;
-#endif
-        default:
-            arch = @symbol(unknown);
-            break;
+	case PROCESSOR_ARCHITECTURE_MSIL:
+	    arch = @symbol(msil);
+	    break;
+#endif
+	default:
+	    arch = @symbol(unknown);
+	    break;
     }
 
     switch (sysInfo.dwProcessorType) {
 #ifdef PROCESSOR_INTEL_386
-        case PROCESSOR_INTEL_386:
-            mach = @symbol(i386);
-            break;
+	case PROCESSOR_INTEL_386:
+	    mach = @symbol(i386);
+	    break;
 #endif
 #ifdef PROCESSOR_INTEL_486
-        case PROCESSOR_INTEL_486:
-            mach = @symbol(i486);
-            break;
+	case PROCESSOR_INTEL_486:
+	    mach = @symbol(i486);
+	    break;
 #endif
 #ifdef PROCESSOR_INTEL_PENTIUM
-        case PROCESSOR_INTEL_PENTIUM:
-            mach = @symbol(i586);
-            break;
+	case PROCESSOR_INTEL_PENTIUM:
+	    mach = @symbol(i586);
+	    break;
 #endif
 #ifdef PROCESSOR_INTEL_860
-        case PROCESSOR_INTEL_860:
-            mach = @symbol(i860);
-            break;
+	case PROCESSOR_INTEL_860:
+	    mach = @symbol(i860);
+	    break;
 #endif
 #ifdef PROCESSOR_INTEL_IA64
-        case PROCESSOR_INTEL_IA64:
-            mach = @symbol(ia64);
-            break;
+	case PROCESSOR_INTEL_IA64:
+	    mach = @symbol(ia64);
+	    break;
 #endif
 #ifdef PROCESSOR_MIPS_R2000
-        case PROCESSOR_MIPS_R2000:
-            mach = @symbol(r2000);
-            break;
+	case PROCESSOR_MIPS_R2000:
+	    mach = @symbol(r2000);
+	    break;
 #endif
 #ifdef PROCESSOR_MIPS_R3000
-        case PROCESSOR_MIPS_R3000:
-            mach = @symbol(r3000);
-            break;
+	case PROCESSOR_MIPS_R3000:
+	    mach = @symbol(r3000);
+	    break;
 #endif
 #ifdef PROCESSOR_MIPS_R4000
-        case PROCESSOR_MIPS_R4000:
-            mach = @symbol(r4000);
-            break;
+	case PROCESSOR_MIPS_R4000:
+	    mach = @symbol(r4000);
+	    break;
 #endif
 #ifdef PROCESSOR_ALPHA_21064
-        case PROCESSOR_ALPHA_21064:
-            mach = @symbol(alpha21064);
-            break;
+	case PROCESSOR_ALPHA_21064:
+	    mach = @symbol(alpha21064);
+	    break;
 #endif
 #ifdef PROCESSOR_ARM720
-        case PROCESSOR_ARM720:
-            mach = @symbol(arm720);
-            break;
+	case PROCESSOR_ARM720:
+	    mach = @symbol(arm720);
+	    break;
 #endif
 #ifdef PROCESSOR_ARM820
-        case PROCESSOR_ARM820:
-            mach = @symbol(arm820);
-            break;
+	case PROCESSOR_ARM820:
+	    mach = @symbol(arm820);
+	    break;
 #endif
 #ifdef PROCESSOR_ARM920
-        case PROCESSOR_ARM920:
-            mach = @symbol(arm920);
-            break;
+	case PROCESSOR_ARM920:
+	    mach = @symbol(arm920);
+	    break;
 #endif
 #ifdef PROCESSOR_ARM_7TDMI
-        case PROCESSOR_ARM_7TDMI:
-            mach = @symbol(arm70001);
-            break;
+	case PROCESSOR_ARM_7TDMI:
+	    mach = @symbol(arm70001);
+	    break;
 #endif
 #ifdef PROCESSOR_PPC_601
-        case PROCESSOR_PPC_601:
-            mach = @symbol(ppc601);
-            break;
+	case PROCESSOR_PPC_601:
+	    mach = @symbol(ppc601);
+	    break;
 #endif
 #ifdef PROCESSOR_PPC_603
-        case PROCESSOR_PPC_603:
-            mach = @symbol(ppc603);
-            break;
+	case PROCESSOR_PPC_603:
+	    mach = @symbol(ppc603);
+	    break;
 #endif
 #ifdef PROCESSOR_PPC_604
-        case PROCESSOR_PPC_604:
-            mach = @symbol(ppc604);
-            break;
+	case PROCESSOR_PPC_604:
+	    mach = @symbol(ppc604);
+	    break;
 #endif
 #ifdef PROCESSOR_PPC_620
-        case PROCESSOR_PPC_620:
-            mach = @symbol(ppc620);
-            break;
-#endif
-
-        default:
-            sprintf(vsnBuffer, "%d", sysInfo.dwProcessorType);
-            mach =  __MKSTRING(vsnBuffer);
-            break;
+	case PROCESSOR_PPC_620:
+	    mach = @symbol(ppc620);
+	    break;
+#endif
+
+	default:
+	    sprintf(vsnBuffer, "%d", sysInfo.dwProcessorType);
+	    mach =  __MKSTRING(vsnBuffer);
+	    break;
     }
 
     numberOfCPUs = __MKUINT(sysInfo.dwNumberOfProcessors);
 %}.
     node isNil ifTrue:[
-        node := self getHostName.
+	node := self getHostName.
     ].
     dom isNil ifTrue:[
-        dom := self getDomainName.
+	dom := self getDomainName.
     ].
 
     info := IdentityDictionary new.
@@ -8175,7 +8188,7 @@
     char buffer[MAXPATHLEN];
 
     if (GetWindowsDirectory(buffer, MAXPATHLEN)) {
-        RETURN (__MKSTRING(buffer));
+	RETURN (__MKSTRING(buffer));
     }
 %}.
     ^ nil
@@ -8196,7 +8209,7 @@
     char buffer[MAXPATHLEN];
 
     if (GetSystemDirectory(buffer, MAXPATHLEN)) {
-        RETURN (__MKSTRING(buffer));
+	RETURN (__MKSTRING(buffer));
     }
 %}.
     ^ nil
@@ -8234,7 +8247,7 @@
 
 %{   /* NOCONTEXT */
      if (__isWinNT)
-        RETURN(true);
+	RETURN(true);
 %}.
      ^ false.
 !
@@ -8257,28 +8270,28 @@
     int err;
 
     if (__isSmallInteger(pid)) {
-        // assume, that synchronize needs less privilege...
-        processHandle = OpenProcess(SYNCHRONIZE, FALSE, __smallIntegerVal(pid));
-        if (processHandle) {
-            CloseHandle(processHandle);
-            RETURN(true);
-        }
-
-        err = GetLastError();
-        // we do not have access to the process (so pid does exist ;-))
-        if (err == ERROR_ACCESS_DENIED) {
-            RETURN(true);
-        }
-        // pid does not exist
-        if (err == ERROR_INVALID_PARAMETER) {
-            RETURN(false);
-        }
-
-        // any other error - raise signal
-        __threadErrno = __WIN32_ERR(err);
-        error = __mkSmallInteger(__threadErrno);
+	// assume, that synchronize needs less privilege...
+	processHandle = OpenProcess(SYNCHRONIZE, FALSE, __smallIntegerVal(pid));
+	if (processHandle) {
+	    CloseHandle(processHandle);
+	    RETURN(true);
+	}
+
+	err = GetLastError();
+	// we do not have access to the process (so pid does exist ;-))
+	if (err == ERROR_ACCESS_DENIED) {
+	    RETURN(true);
+	}
+	// pid does not exist
+	if (err == ERROR_INVALID_PARAMETER) {
+	    RETURN(false);
+	}
+
+	// any other error - raise signal
+	__threadErrno = __WIN32_ERR(err);
+	error = __mkSmallInteger(__threadErrno);
     } else {
-        error = @symbol(invalidParameter);
+	error = @symbol(invalidParameter);
     }
 %}.
 
@@ -8321,11 +8334,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."
 
 %{  /* NOCONTEXT */
 
@@ -8355,10 +8368,10 @@
 
 osName
 
-    ^ 'Windows ', 
-        (#('NT' '2000' 'XP' 'VISTA' '7') 
-            at: (#('4.1' '5.0' '5.1' '6.0' '6.1') indexOf:OperatingSystem osVersion) 
-            ifAbsent:OperatingSystem osVersion).
+    ^ 'Windows ',
+	(#('NT' '2000' 'XP' 'VISTA' '7')
+	    at: (#('4.1' '5.0' '5.1' '6.0' '6.1') indexOf:OperatingSystem osVersion)
+	    ifAbsent:OperatingSystem osVersion).
 
     "
       self osName
@@ -8397,11 +8410,11 @@
 
 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 this many bytes (max 4) as a SmallInteger.
 
      Return nil on error (and raise PrimitiveFailure).
 
@@ -8419,38 +8432,38 @@
     unsigned int __localBuffer = 0;
 
     if (__isSmallInteger(bufferOrInteger)) {
-        __useLocalBuffer = 1;
-        __buffer = (unsigned char *)&__localBuffer;
-        __bufferSize = __smallIntegerVal(bufferOrInteger);
-        if (__bufferSize > sizeof(INT))
-            __bufferSize = sizeof(INT);
+	__useLocalBuffer = 1;
+	__buffer = (unsigned char *)&__localBuffer;
+	__bufferSize = __smallIntegerVal(bufferOrInteger);
+	if (__bufferSize > sizeof(INT))
+	    __bufferSize = sizeof(INT);
     } else if (__isString(bufferOrInteger)) {
-        __buffer = __stringVal(bufferOrInteger);
-        __bufferSize = __stringSize(bufferOrInteger);
+	__buffer = __stringVal(bufferOrInteger);
+	__bufferSize = __stringSize(bufferOrInteger);
     } else if (__isByteArray(bufferOrInteger)) {
-        __buffer = __byteArrayVal(bufferOrInteger);
-        __bufferSize = __byteArraySize(bufferOrInteger);
+	__buffer = __byteArrayVal(bufferOrInteger);
+	__bufferSize = __byteArraySize(bufferOrInteger);
     } else {
-        goto error;
+	goto error;
     }
 
     if (P_RtlGenRandom == 0) {
-        HINSTANCE hAdvapi32 = LoadLibrary("advapi32.dll");
-        // console_printf("hAdvapi32: %x\n", hAdvapi32);
-        if (hAdvapi32) {
-            P_RtlGenRandom = (BOOL (__stdcall *)(PVOID , ULONG))
-                                GetProcAddress(hAdvapi32, "SystemFunction036");
-            // console_printf("P_RtlGenRandom: %x\n", P_RtlGenRandom);
-            if (P_RtlGenRandom == 0) {
-                goto error;
-            }
-        }
+	HINSTANCE hAdvapi32 = LoadLibrary("advapi32.dll");
+	// console_printf("hAdvapi32: %x\n", hAdvapi32);
+	if (hAdvapi32) {
+	    P_RtlGenRandom = (BOOL (__stdcall *)(PVOID , ULONG))
+				GetProcAddress(hAdvapi32, "SystemFunction036");
+	    // console_printf("P_RtlGenRandom: %x\n", P_RtlGenRandom);
+	    if (P_RtlGenRandom == 0) {
+		goto error;
+	    }
+	}
     }
     if ((*P_RtlGenRandom)(__buffer, __bufferSize)) {
-        if (__useLocalBuffer) {
-            RETURN(__mkSmallInteger(__localBuffer & _MAX_INT));
-        }
-        RETURN (bufferOrInteger);
+	if (__useLocalBuffer) {
+	    RETURN(__mkSmallInteger(__localBuffer & _MAX_INT));
+	}
+	RETURN (bufferOrInteger);
     }
 error: ;
 %}.
@@ -8472,9 +8485,9 @@
 
     if (__isStringLike(aStringOrSymbol)
      && __isStringLike(newValueString) ) {
-        if (SetEnvironmentVariable(__stringVal(aStringOrSymbol), __stringVal(newValueString)) != 0) {
-            RETURN(self);
-        }
+	if (SetEnvironmentVariable(__stringVal(aStringOrSymbol), __stringVal(newValueString)) != 0) {
+	    RETURN(self);
+	}
     }
 %}.
     self primitiveFailed
@@ -8638,39 +8651,39 @@
     pPath := super defaultPackagePath.
     pkgDirPath := self stxPackageDirPath.
     pkgDirPath notNil ifTrue:[
-        "/ and also add the packageDirPath from the registry ...
-        dirs := pkgDirPath asCollectionOfSubstringsSeparatedBy:$;.
-        dirs do:[:aDir |
-            (pPath includes:aDir) ifFalse:[
-                pPath add:aDir.
-            ]
-        ]
+	"/ and also add the packageDirPath from the registry ...
+	dirs := pkgDirPath asCollectionOfSubstringsSeparatedBy:$;.
+	dirs do:[:aDir |
+	    (pPath includes:aDir) ifFalse:[
+		pPath add:aDir.
+	    ]
+	]
     ] ifFalse:[
-        #(
-            '\smalltalk'
-            '\programme\smalltalk'
-            '\programme\eXept\smalltalk'
-            '\programs\smalltalk'
-            '\programs\eXept\smalltalk'
-        ) do:[:d | |dd|
-            dd := d asFilename constructString:'packages'.
-            (pPath includes:dd) ifFalse:[
-                pPath add:dd.
-            ].
-            dd := (d asFilename construct:Smalltalk versionString) constructString:'packages'.
-            (pPath includes:dd) ifFalse:[
-                pPath add:dd.
-            ].
-        ].
+	#(
+	    '\smalltalk'
+	    '\programme\smalltalk'
+	    '\programme\eXept\smalltalk'
+	    '\programs\smalltalk'
+	    '\programs\eXept\smalltalk'
+	) do:[:d | |dd|
+	    dd := d asFilename constructString:'packages'.
+	    (pPath includes:dd) ifFalse:[
+		pPath add:dd.
+	    ].
+	    dd := (d asFilename construct:Smalltalk versionString) constructString:'packages'.
+	    (pPath includes:dd) ifFalse:[
+		pPath add:dd.
+	    ].
+	].
     ].
 
     "/ under windows, the commandName includes the path - good.
     p := Smalltalk commandName.
     p notNil ifTrue:[
-        p := p asFilename directory constructString:'packages'.
-        (pPath includes:p) ifFalse:[
-            pPath add:p.
-        ]
+	p := p asFilename directory constructString:'packages'.
+	(pPath includes:p) ifFalse:[
+	    pPath add:p.
+	]
     ].
     pPath := pPath select:[:p | p asFilename exists].
     ^ pPath
@@ -8690,31 +8703,31 @@
 
     libDirPath := self stxLibDirPath.
     libDirPath notNil ifTrue:[
-        "/ and also add the libDirPath from the registry ...
-        (sysPath includes:libDirPath) ifFalse:[
-            sysPath add:libDirPath
-        ].
+	"/ and also add the libDirPath from the registry ...
+	(sysPath includes:libDirPath) ifFalse:[
+	    sysPath add:libDirPath
+	].
     ].
     #(
-        '\programs\eXept\smalltalk'
-        '\programme\eXept\smalltalk'
-        '\programs\smalltalk'
-        '\programme\smalltalk'
-        '\smalltalk'
+	'\programs\eXept\smalltalk'
+	'\programme\eXept\smalltalk'
+	'\programs\smalltalk'
+	'\programme\smalltalk'
+	'\smalltalk'
     ) do:[:dir |
-        |vsnDir|
-
-        (dir asFilename isDirectory) ifTrue:[
-            vsnDir := dir , '\' , Smalltalk versionString.
-            (vsnDir asFilename isDirectory) ifTrue:[
-                (sysPath includes:vsnDir) ifFalse:[
-                    sysPath add:vsnDir.
-                ]
-            ].
-            (sysPath includes:dir) ifFalse:[
-                sysPath add:dir.
-            ].
-        ]
+	|vsnDir|
+
+	(dir asFilename isDirectory) ifTrue:[
+	    vsnDir := dir , '\' , Smalltalk versionString.
+	    (vsnDir asFilename isDirectory) ifTrue:[
+		(sysPath includes:vsnDir) ifFalse:[
+		    sysPath add:vsnDir.
+		]
+	    ].
+	    (sysPath includes:dir) ifFalse:[
+		sysPath add:dir.
+	    ].
+	]
     ].
 
     ^ sysPath
@@ -8729,7 +8742,7 @@
 
     k := RegistryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X\' , Smalltalk versionString.
     k notNil ifTrue:[
-        p := k valueNamed:'BinDir'.
+	p := k valueNamed:'BinDir'.
     ].
     ^ p
 
@@ -8742,17 +8755,17 @@
     "ask the registry for the lib directory"
 
     (Array
-        with:('HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X\' , Smalltalk versionString)
-        with:('HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'))
+	with:('HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X\' , Smalltalk versionString)
+	with:('HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'))
     do:[:eachKeyToTry |
-        |k p|
-
-        k := RegistryEntry key:eachKeyToTry.
-        k notNil ifTrue:[
-            p := k valueNamed:'LibDir'.
-            k closeKey.
-            ^ p
-        ].
+	|k p|
+
+	k := RegistryEntry key:eachKeyToTry.
+	k notNil ifTrue:[
+	    p := k valueNamed:'LibDir'.
+	    k closeKey.
+	    ^ p
+	].
     ].
     ^ nil
 
@@ -8768,7 +8781,7 @@
 
     k := RegistryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X\' , Smalltalk versionString.
     k notNil ifTrue:[
-        p := k valueNamed:'PackageDirPath'.
+	p := k valueNamed:'PackageDirPath'.
     ].
     ^ p
 
@@ -8846,22 +8859,22 @@
 #define DM_OUT_DEFAULT      DM_UPDATE
 "
     nBytesNeeded := self
-           primDocumentProperties:nil
-           hPrinter:hPrinter
-           pDeviceName: deviceName
-           pDevModeOutput:nil
-           pDevModeInput:nil
-           fMode:0.
+	   primDocumentProperties:nil
+	   hPrinter:hPrinter
+	   pDeviceName: deviceName
+	   pDevModeOutput:nil
+	   pDevModeInput:nil
+	   fMode:0.
 
     devModeOutput := DevModeStructure new:(nBytesNeeded * 2 "never trust MS !!").
 
     rslt := self
-           primDocumentProperties:nil
-           hPrinter:hPrinter
-           pDeviceName: deviceName
-           pDevModeOutput:devModeOutput
-           pDevModeInput:pDevModeInputOrNil
-           fMode:4+2.
+	   primDocumentProperties:nil
+	   hPrinter:hPrinter
+	   pDeviceName: deviceName
+	   pDevModeOutput:devModeOutput
+	   pDevModeInput:pDevModeInputOrNil
+	   fMode:4+2.
 
     ^ devModeOutput
 
@@ -8926,23 +8939,23 @@
 #define DM_OUT_DEFAULT      DM_UPDATE
 "
     nBytesNeeded := self
-           primDocumentProperties:nil
-           hPrinter:hPrinter
-           pDeviceName: deviceName
-           pDevModeOutput:nil
-           pDevModeInput:nil
-           fMode:0.
+	   primDocumentProperties:nil
+	   hPrinter:hPrinter
+	   pDeviceName: deviceName
+	   pDevModeOutput:nil
+	   pDevModeInput:nil
+	   fMode:0.
 
     nBytesNeeded < 0 ifTrue:[^nil].
     devModeOutput := DevModeStructure new:(nBytesNeeded * 2 "never trust MS !!").
 
     rslt := self
-           primDocumentProperties:nil
-           hPrinter:hPrinter
-           pDeviceName: deviceName
-           pDevModeOutput:devModeOutput
-           pDevModeInput:nil
-           fMode:2.
+	   primDocumentProperties:nil
+	   hPrinter:hPrinter
+	   pDeviceName: deviceName
+	   pDevModeOutput:devModeOutput
+	   pDevModeInput:nil
+	   fMode:2.
 
      ^ devModeOutput
 
@@ -8965,19 +8978,19 @@
      sizeBytesArray := ByteArray new:4.
 
      bytesNeeded := self
-                primGetPrinter:hPrinter
-                level:2
-                informationBuffer: nil
-                bufferSize: 0
-                bufferNeededSize:sizeBytesArray.
+		primGetPrinter:hPrinter
+		level:2
+		informationBuffer: nil
+		bufferSize: 0
+		bufferNeededSize:sizeBytesArray.
      bytesNeeded := sizeBytesArray longAt:1.
      informationBuffer := PrinterInfo2Structure new: bytesNeeded.
      rslt := self
-                primGetPrinter:hPrinter
-                level:2
-                informationBuffer:informationBuffer
-                bufferSize: bytesNeeded
-                bufferNeededSize:sizeBytesArray.
+		primGetPrinter:hPrinter
+		level:2
+		informationBuffer:informationBuffer
+		bufferSize: bytesNeeded
+		bufferNeededSize:sizeBytesArray.
      self closePrinter: printerName.
      ^informationBuffer
 
@@ -8997,47 +9010,47 @@
     printerNames := self getPrintersNames.
     collectedInfo := OrderedCollection new.
     printerNames do:[:eachName |
-        |fn vol attributes nm deviceInfo infoFields driverName|
-
-        attributes := Dictionary new.
-
-        fn := eachName asFilename.
-        vol := fn volume.
-        vol notEmptyOrNil ifTrue:[
-            (vol startsWith:'\\') ifTrue:[
-                "/ a remote printer
-                attributes at:#isRemotePrinter put:true.
-                attributes at:#remotePrinterName put:(fn baseName).
-                attributes at:#remotePrinterHost put:(fn directoryName copyFrom:3).
-            ] ifFalse:[
-                "/ some other printer
-            ].
-        ] ifFalse:[
-            "/ some other printer
-        ].
-
-        deviceInfo := self getProfileString:'PrinterPorts' key:eachName default:''.
-        "gives us smething like 'winspool,Ne00:,15,45',
-         which is: driverName, deviceName, ? , ?"
-
-        infoFields := deviceInfo asCollectionOfSubstringsSeparatedBy:$,.
-        driverName := infoFields at:1.
-        2 to: infoFields size by:3 do:[:i |
-            |medium longName|
-
-            medium := infoFields at:i.
-            longName := eachName ,',' , driverName , ',' , medium.
-            attributes at:#driverName put:driverName.
-            attributes at:#longName put:longName.
-            attributes at:#medium put:medium.
-
-            collectedInfo add:
-                (AbstractOperatingSystem::PrinterInfo new
-                    printerName:eachName
-                    attributes:attributes;
-                    setDocumentProperties;
-                    yourself)
-        ].
+	|fn vol attributes nm deviceInfo infoFields driverName|
+
+	attributes := Dictionary new.
+
+	fn := eachName asFilename.
+	vol := fn volume.
+	vol notEmptyOrNil ifTrue:[
+	    (vol startsWith:'\\') ifTrue:[
+		"/ a remote printer
+		attributes at:#isRemotePrinter put:true.
+		attributes at:#remotePrinterName put:(fn baseName).
+		attributes at:#remotePrinterHost put:(fn directoryName copyFrom:3).
+	    ] ifFalse:[
+		"/ some other printer
+	    ].
+	] ifFalse:[
+	    "/ some other printer
+	].
+
+	deviceInfo := self getProfileString:'PrinterPorts' key:eachName default:''.
+	"gives us smething like 'winspool,Ne00:,15,45',
+	 which is: driverName, deviceName, ? , ?"
+
+	infoFields := deviceInfo asCollectionOfSubstringsSeparatedBy:$,.
+	driverName := infoFields at:1.
+	2 to: infoFields size by:3 do:[:i |
+	    |medium longName|
+
+	    medium := infoFields at:i.
+	    longName := eachName ,',' , driverName , ',' , medium.
+	    attributes at:#driverName put:driverName.
+	    attributes at:#longName put:longName.
+	    attributes at:#medium put:medium.
+
+	    collectedInfo add:
+		(AbstractOperatingSystem::PrinterInfo new
+		    printerName:eachName
+		    attributes:attributes;
+		    setDocumentProperties;
+		    yourself)
+	].
     ].
     ^ collectedInfo
 
@@ -9055,7 +9068,7 @@
     |printerNames|
 
     printerNames := (self getProfileString:'PrinterPorts' key:nil default:'')
-                       asCollectionOfSubstringsSeparatedBy:(Character value:0).
+		       asCollectionOfSubstringsSeparatedBy:(Character value:0).
     printerNames := printerNames reject:[:nm | nm isEmpty].
     ^printerNames
 
@@ -9144,12 +9157,12 @@
 
      hPrinter := self openPrinter:'\\http://exept.exept.de:631\lj4' .
      rslt := self
-            primDocumentProperties:nil
-            hPrinter:hPrinter
-            pDeviceName: '\\http://exept.exept.de:631\lj4'
-            pDevModeOutput:nil
-            pDevModeInput:nil
-            fMode:0.
+	    primDocumentProperties:nil
+	    hPrinter:hPrinter
+	    pDeviceName: '\\http://exept.exept.de:631\lj4'
+	    pDevModeOutput:nil
+	    pDevModeInput:nil
+	    fMode:0.
 
      self halt.
     "
@@ -9166,12 +9179,12 @@
 
      hPrinter := self openPrinter:'\\http://exept.exept.de:631\lj4' .
      rslt := self
-            primDocumentProperties:nil
-            hPrinter:hPrinter
-            pDeviceName: '\\http://exept.exept.de:631\lj4'
-            pDevModeOutput:nil
-            pDevModeInput:nil
-            fMode:0.
+	    primDocumentProperties:nil
+	    hPrinter:hPrinter
+	    pDeviceName: '\\http://exept.exept.de:631\lj4'
+	    pDevModeOutput:nil
+	    pDevModeInput:nil
+	    fMode:0.
 
      self halt.
     "
@@ -9188,12 +9201,12 @@
 
      hPrinter := self openPrinter:'\\http://exept.exept.de:631\lj4' .
      rslt := self
-            primDocumentProperties:nil
-            hPrinter:hPrinter
-            pDeviceName: '\\http://exept.exept.de:631\lj4'
-            pDevModeOutput:nil
-            pDevModeInput:nil
-            fMode:0.
+	    primDocumentProperties:nil
+	    hPrinter:hPrinter
+	    pDeviceName: '\\http://exept.exept.de:631\lj4'
+	    pDevModeOutput:nil
+	    pDevModeInput:nil
+	    fMode:0.
 
      self halt.
     "
@@ -9222,20 +9235,20 @@
 
      sizeBytesArray := ByteArray new:4.
      ok := self
-                primGetPrinter:hPrinter
-                level:2
-                informationBuffer: nil
-                bufferSize: 0
-                bufferNeededSize:sizeBytesArray.
+		primGetPrinter:hPrinter
+		level:2
+		informationBuffer: nil
+		bufferSize: 0
+		bufferNeededSize:sizeBytesArray.
      bytesNeeded := sizeBytesArray longAt:1.
 
      informationBuffer := PrinterInfo2Structure new: bytesNeeded.
      rslt := self
-                primGetPrinter:hPrinter
-                level:2
-                informationBuffer:informationBuffer
-                bufferSize: bytesNeeded
-                bufferNeededSize:sizeBytesArray.
+		primGetPrinter:hPrinter
+		level:2
+		informationBuffer:informationBuffer
+		bufferSize: bytesNeeded
+		bufferNeededSize:sizeBytesArray.
      self assert: rslt.
      informationBuffer inspect.
      self closePrinter: printerName.
@@ -9365,9 +9378,9 @@
       'NON'     'no_NO'
       'NOR'     'no_NO'
      ) pairWiseDo:[:key :mappedValue|
-        key = windowsLanguageString ifTrue:[
-            ^ mappedValue
-        ]
+	key = windowsLanguageString ifTrue:[
+	    ^ mappedValue
+	]
     ].
 
     "no mapping"
@@ -9387,34 +9400,34 @@
 !Win32OperatingSystem class methodsFor:'regional settings'!
 
 country
-        "Answer the current system value for country."
+	"Answer the current system value for country."
 
     ^self queryNationalProfileString: 'iCountry' default: 0
 
     "
-        self country
+	self country
     "
 
     "Modified: / 22-12-2006 / 16:45:32 / User"
 !
 
 countryName
-        "Answer the current system value for country name."
+	"Answer the current system value for country name."
 
     ^self queryNationalProfileString: 'sCountry' default: 'Deutschland'
 
     "
-        self countryName
+	self countryName
     "
 
     "Modified: / 22-12-2006 / 16:45:32 / User"
 !
 
 dateFormat
-        "Answer the current system value for date format.
-         Answer DfMDY = Month-Day-Year
-                DfDMY = Day-Month-Year
-                DfYMD = Year-Month-Day."
+	"Answer the current system value for date format.
+	 Answer DfMDY = Month-Day-Year
+		DfDMY = Day-Month-Year
+		DfYMD = Year-Month-Day."
     |separatorString|
 
     separatorString := self dateSeparator.
@@ -9426,56 +9439,56 @@
     ^'%(day)', separatorString, '%(mon)', separatorString, '%(year)'
 
     "
-        self dateFormat
+	self dateFormat
     "
 
     "Modified: / 22-12-2006 / 16:43:30 / User"
 !
 
 dateFormatCode
-        "Answer the current system value for date format.
-         Answer DfMDY = Month-Day-Year = 0
-                DfDMY = Day-Month-Year = 1
-                DfYMD = Year-Month-Day = 2"
+	"Answer the current system value for date format.
+	 Answer DfMDY = Month-Day-Year = 0
+		DfDMY = Day-Month-Year = 1
+		DfYMD = Year-Month-Day = 2"
 
     ^self queryNationalProfileInt: 'iDate' default: 0
 
     "
-        self dateFormatCode
+	self dateFormatCode
     "
 
     "Modified: / 22-12-2006 / 16:45:53 / User"
 !
 
 dateSeparator
-        "Answer the current system value for date separator."
+	"Answer the current system value for date separator."
 
     ^self queryNationalProfileString: 'sDate' default: '/'
 
     "
-        self dateSeparator
+	self dateSeparator
     "
 
     "Modified: / 22-12-2006 / 16:45:32 / User"
 !
 
 decimalSeparator
-        "Answer the current system value for decimal separator."
+	"Answer the current system value for decimal separator."
 
     ^self queryNationalProfileString: 'sDecimal' default: '.'
 
     "
-        self decimalSeparator
+	self decimalSeparator
     "
 
     "Created: / 22-12-2006 / 16:45:11 / User"
 !
 
 isDateFormatDMY
-        "Answer the current system value for date format.
-         Answer DfMDY = Month-Day-Year
-                DfDMY = Day-Month-Year
-                DfYMD = Year-Month-Day."
+	"Answer the current system value for date format.
+	 Answer DfMDY = Month-Day-Year
+		DfDMY = Day-Month-Year
+		DfYMD = Year-Month-Day."
 
     ^self dateFormatCode = 1
 
@@ -9483,10 +9496,10 @@
 !
 
 isDateFormatMDY
-        "Answer the current system value for date format.
-         Answer DfMDY = Month-Day-Year
-                DfDMY = Day-Month-Year
-                DfYMD = Year-Month-Day."
+	"Answer the current system value for date format.
+	 Answer DfMDY = Month-Day-Year
+		DfDMY = Day-Month-Year
+		DfYMD = Year-Month-Day."
 
     ^self dateFormatCode = 0
 
@@ -9494,10 +9507,10 @@
 !
 
 isDateFormatYMD
-        "Answer the current system value for date format.
-         Answer DfMDY = Month-Day-Year
-                DfDMY = Day-Month-Year
-                DfYMD = Year-Month-Day."
+	"Answer the current system value for date format.
+	 Answer DfMDY = Month-Day-Year
+		DfDMY = Day-Month-Year
+		DfYMD = Year-Month-Day."
 
     ^self dateFormatCode = 2
 
@@ -9505,7 +9518,7 @@
 !
 
 isTimeFormat12Hour
-        "Answer whether the current system time format is 12-hour."
+	"Answer whether the current system time format is 12-hour."
 
     ^self timeFormat = 0
 
@@ -9532,11 +9545,11 @@
 
     | answer |
     answer := self primGetProfileInt: 'Intl'
-        keyName: aKeyName
-        default: -1 asUnsigned32.
+	keyName: aKeyName
+	default: -1 asUnsigned32.
     ^answer = -1 asUnsigned32
-        ifTrue: [ defaultValue ]
-        ifFalse: [ answer ]
+	ifTrue: [ defaultValue ]
+	ifFalse: [ answer ]
 
 "
     self queryNationalProfileInt: 'iDate' default: 0
@@ -9546,43 +9559,43 @@
 !
 
 queryNationalProfileString: aKeyName default: defaultValue
-        "Answer the string value of key aKeyName in
-        the [Intl] application section of the WIN.INI profile file.
-        Answer defaultValue if aKeyName cannot be found."
+	"Answer the string value of key aKeyName in
+	the [Intl] application section of the WIN.INI profile file.
+	Answer defaultValue if aKeyName cannot be found."
     | extString result |
     extString := String new: 80.
     result := self primGetProfileString: 'Intl'
-        keyName: aKeyName
-        default: ''
-        returnedString: extString
-        size: extString size.
+	keyName: aKeyName
+	default: ''
+	returnedString: extString
+	size: extString size.
     ^result > 0
-        ifTrue: [extString copyFrom: 1 to: result]
-        ifFalse: [ defaultValue ]
+	ifTrue: [extString copyFrom: 1 to: result]
+	ifFalse: [ defaultValue ]
 
     "Created: / 22-12-2006 / 16:13:01 / User"
 !
 
 thousandsSeparator
-        "Answer the current system value
-        for the thousands separator."
+	"Answer the current system value
+	for the thousands separator."
 
     ^self queryNationalProfileString: 'sThousand' default: ','
 
     "
-        self thousandsSeparator
+	self thousandsSeparator
     "
 
     "Created: / 22-12-2006 / 16:46:50 / User"
 !
 
 timeFormat
-        "Answer the current system value for time format."
+	"Answer the current system value for time format."
 
     ^self queryNationalProfileInt: 'iTime' default: 0
 
     "
-        self timeFormat
+	self timeFormat
     "
 
     "Created: / 22-12-2006 / 16:48:27 / User"
@@ -9611,19 +9624,19 @@
      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"
+	open
+	edit"
 
     |result filename|
 
     filename := aFilenameOrString asFilename.
     result := self
-        shellExecute:nil
-        lpOperation:operationSymbol
-        lpFile:filename pathName
-        lpParameters:nil
-        lpDirectory:filename directory pathName
-        nShowCmd:#SW_SHOWNORMAL.
+	shellExecute:nil
+	lpOperation:operationSymbol
+	lpFile:filename pathName
+	lpParameters:nil
+	lpDirectory:filename directory pathName
+	nShowCmd:#SW_SHOWNORMAL.
     ^ self.
 
     "
@@ -9659,27 +9672,27 @@
      I added this in order to be able to shutdown w95 cleanly"
 
     confirmationMessageOrNil notNil ifTrue:[
-        (Dialog confirm:confirmationMessageOrNil) ifFalse:[
-            ^ false
-        ].
+	(Dialog confirm:confirmationMessageOrNil) ifFalse:[
+	    ^ false
+	].
     ].
 %{
     int flag;
 
     if (how == @symbol(shutdown)) {
-        flag = EWX_SHUTDOWN;
+	flag = EWX_SHUTDOWN;
     } else if (how == @symbol(reboot)) {
-        flag = EWX_REBOOT;
+	flag = EWX_REBOOT;
     } else if (how == @symbol(logoff)) {
-        flag = EWX_LOGOFF;
+	flag = EWX_LOGOFF;
     } else if (how == @symbol(forceShutdown)) {
-        flag = EWX_SHUTDOWN | EWX_FORCE;
+	flag = EWX_SHUTDOWN | EWX_FORCE;
     } else if (how == @symbol(forceReboot)) {
-        flag = EWX_REBOOT | EWX_FORCE;
+	flag = EWX_REBOOT | EWX_FORCE;
     } else if (how == @symbol(forceLogoff)) {
-        flag = EWX_LOGOFF | EWX_FORCE;
+	flag = EWX_LOGOFF | EWX_FORCE;
     } else {
-        RETURN (false);
+	RETURN (false);
     }
     RETURN ((ExitWindowsEx(flag, 0) == TRUE) ? true : false);
 %}
@@ -9696,22 +9709,22 @@
      && __bothSmallInteger(d, h)
      && __bothSmallInteger(min, s)
      && __isSmallInteger(millis)) {
-        SYSTEMTIME sysTime;
-        FILETIME fileTime;
-
-        sysTime.wHour = __intVal(h);
-        sysTime.wMinute = __intVal(min);
-        sysTime.wSecond = __intVal(s);
-        sysTime.wMilliseconds = __intVal(millis);
-
-        sysTime.wYear = __intVal(y);
-        sysTime.wMonth = __intVal(m);
-        sysTime.wDay = __intVal(d);
-
-        if (SystemTimeToFileTime(&sysTime, &fileTime) == 0)
-            goto error;
-
-        RETURN(FileTimeToOsTime(&fileTime));
+	SYSTEMTIME sysTime;
+	FILETIME fileTime;
+
+	sysTime.wHour = __intVal(h);
+	sysTime.wMinute = __intVal(min);
+	sysTime.wSecond = __intVal(s);
+	sysTime.wMilliseconds = __intVal(millis);
+
+	sysTime.wYear = __intVal(y);
+	sysTime.wMonth = __intVal(m);
+	sysTime.wDay = __intVal(d);
+
+	if (SystemTimeToFileTime(&sysTime, &fileTime) == 0)
+	    goto error;
+
+	RETURN(FileTimeToOsTime(&fileTime));
     }
 error:;
 %}.
@@ -9737,30 +9750,30 @@
      && __bothSmallInteger(d, h)
      && __bothSmallInteger(min, s)
      && __isSmallInteger(millis)) {
-        SYSTEMTIME sysTime;
-        FILETIME fileTime;
-
-        sysTime.wHour = __intVal(h);
-        sysTime.wMinute = __intVal(min);
-        sysTime.wSecond = __intVal(s);
-        sysTime.wMilliseconds = __intVal(millis);
-
-        sysTime.wYear = __intVal(y);
-        sysTime.wMonth = __intVal(m);
-        sysTime.wDay = __intVal(d);
+	SYSTEMTIME sysTime;
+	FILETIME fileTime;
+
+	sysTime.wHour = __intVal(h);
+	sysTime.wMinute = __intVal(min);
+	sysTime.wSecond = __intVal(s);
+	sysTime.wMilliseconds = __intVal(millis);
+
+	sysTime.wYear = __intVal(y);
+	sysTime.wMonth = __intVal(m);
+	sysTime.wDay = __intVal(d);
 
 #if 0
-        /* Sorry, but this function is not supported in Win2000
-           - we use LocalFileTimeToFileTime */
-        if (TzSpecificLocalTimeToSystemTime(0, &sysTime, &sysTime) == 0)
-            goto error;
-#endif
-        if (SystemTimeToFileTime(&sysTime, &fileTime) == 0)
-            goto error;
-        if (LocalFileTimeToFileTime(&fileTime, &fileTime) == 0)
-            goto error;
-
-        RETURN(FileTimeToOsTime(&fileTime));
+	/* Sorry, but this function is not supported in Win2000
+	   - we use LocalFileTimeToFileTime */
+	if (TzSpecificLocalTimeToSystemTime(0, &sysTime, &sysTime) == 0)
+	    goto error;
+#endif
+	if (SystemTimeToFileTime(&sysTime, &fileTime) == 0)
+	    goto error;
+	if (LocalFileTimeToFileTime(&fileTime, &fileTime) == 0)
+	    goto error;
+
+	RETURN(FileTimeToOsTime(&fileTime));
     }
 error:;
 %}.
@@ -9790,10 +9803,10 @@
     LONGLONG micros;
 
     if (! frequencyKnown) {
-        // get the high resolution counter's accuracy
-        QueryPerformanceFrequency(&ticksPerSecond);
-        frequencyKnown = 1;
-        divisor = ticksPerSecond / (LONGLONG)1000000;
+	// get the high resolution counter's accuracy
+	QueryPerformanceFrequency(&ticksPerSecond);
+	frequencyKnown = 1;
+	divisor = ticksPerSecond / (LONGLONG)1000000;
     }
 
     // what time is it?
@@ -9829,8 +9842,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.
 
      Don't use this method in application code since it is an internal (private)
      interface. For compatibility with ST-80, use Time millisecondClockValue.
@@ -9888,57 +9901,57 @@
 
     retVal = GetTimeZoneInformation(&tzInfo);
     switch (retVal) {
-        case TIME_ZONE_ID_INVALID:
-            error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-            break;
-
-        case TIME_ZONE_ID_UNKNOWN:
-        case TIME_ZONE_ID_STANDARD:
-        case TIME_ZONE_ID_DAYLIGHT:
-        default:
-            bias = __mkSmallInteger(tzInfo.Bias);
-            memmove(nm, tzInfo.StandardName, 32*sizeof(WCHAR));
-            nm[32] = 0;
-            standardName = __MKU16STRING(nm);
-            standardDate_y = __mkSmallInteger(tzInfo.StandardDate.wYear);
-            standardDate_m = __mkSmallInteger(tzInfo.StandardDate.wMonth);
-            standardDate_d = __mkSmallInteger(tzInfo.StandardDate.wDay);
-            standardDate_wd = __mkSmallInteger(tzInfo.StandardDate.wDayOfWeek);
-            standardDate_h = __mkSmallInteger(tzInfo.StandardDate.wHour);
-            standardDate_min = __mkSmallInteger(tzInfo.StandardDate.wMinute);
-            standardDate_s = __mkSmallInteger(tzInfo.StandardDate.wSecond);
-            standardBias =  __mkSmallInteger(tzInfo.StandardBias);
-            memmove(nm, tzInfo.DaylightName, 32*sizeof(WCHAR));
-            nm[32] = 0;
-            daylightName = __MKU16STRING(nm);
-            daylightDate_y = __mkSmallInteger(tzInfo.DaylightDate.wYear);
-            daylightDate_m = __mkSmallInteger(tzInfo.DaylightDate.wMonth);
-            daylightDate_d = __mkSmallInteger(tzInfo.DaylightDate.wDay);
-            daylightDate_wd = __mkSmallInteger(tzInfo.DaylightDate.wDayOfWeek);
-            daylightDate_h = __mkSmallInteger(tzInfo.DaylightDate.wHour);
-            daylightDate_min = __mkSmallInteger(tzInfo.DaylightDate.wMinute);
-            daylightDate_s = __mkSmallInteger(tzInfo.DaylightDate.wSecond);
-            daylightBias =  __mkSmallInteger(tzInfo.DaylightBias);
-            break;
+	case TIME_ZONE_ID_INVALID:
+	    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+	    break;
+
+	case TIME_ZONE_ID_UNKNOWN:
+	case TIME_ZONE_ID_STANDARD:
+	case TIME_ZONE_ID_DAYLIGHT:
+	default:
+	    bias = __mkSmallInteger(tzInfo.Bias);
+	    memmove(nm, tzInfo.StandardName, 32*sizeof(WCHAR));
+	    nm[32] = 0;
+	    standardName = __MKU16STRING(nm);
+	    standardDate_y = __mkSmallInteger(tzInfo.StandardDate.wYear);
+	    standardDate_m = __mkSmallInteger(tzInfo.StandardDate.wMonth);
+	    standardDate_d = __mkSmallInteger(tzInfo.StandardDate.wDay);
+	    standardDate_wd = __mkSmallInteger(tzInfo.StandardDate.wDayOfWeek);
+	    standardDate_h = __mkSmallInteger(tzInfo.StandardDate.wHour);
+	    standardDate_min = __mkSmallInteger(tzInfo.StandardDate.wMinute);
+	    standardDate_s = __mkSmallInteger(tzInfo.StandardDate.wSecond);
+	    standardBias =  __mkSmallInteger(tzInfo.StandardBias);
+	    memmove(nm, tzInfo.DaylightName, 32*sizeof(WCHAR));
+	    nm[32] = 0;
+	    daylightName = __MKU16STRING(nm);
+	    daylightDate_y = __mkSmallInteger(tzInfo.DaylightDate.wYear);
+	    daylightDate_m = __mkSmallInteger(tzInfo.DaylightDate.wMonth);
+	    daylightDate_d = __mkSmallInteger(tzInfo.DaylightDate.wDay);
+	    daylightDate_wd = __mkSmallInteger(tzInfo.DaylightDate.wDayOfWeek);
+	    daylightDate_h = __mkSmallInteger(tzInfo.DaylightDate.wHour);
+	    daylightDate_min = __mkSmallInteger(tzInfo.DaylightDate.wMinute);
+	    daylightDate_s = __mkSmallInteger(tzInfo.DaylightDate.wSecond);
+	    daylightBias =  __mkSmallInteger(tzInfo.DaylightBias);
+	    break;
     }
 %}.
     error notNil ifTrue:[
-        self primitiveFailed.
+	self primitiveFailed.
     ].
 
     info := AbstractOperatingSystem::TimeZoneInfo new.
     info
-        bias:bias
-        name:standardName standardBias:standardBias
-        daylightName:daylightName daylightBias:daylightBias.
+	bias:bias
+	name:standardName standardBias:standardBias
+	daylightName:daylightName daylightBias:daylightBias.
 
     standardDate_m ~~ 0 ifTrue:[
-        info standardYear:standardDate_y standardMonth:standardDate_m standardDay:standardDate_d
-             standardWeekDay:standardDate_wd standardHour:standardDate_h standardMinute:standardDate_min.
+	info standardYear:standardDate_y standardMonth:standardDate_m standardDay:standardDate_d
+	     standardWeekDay:standardDate_wd standardHour:standardDate_h standardMinute:standardDate_min.
     ].
     daylightDate_m ~~ 0 ifTrue:[
-        info daylightYear:daylightDate_y daylightMonth:daylightDate_m daylightDay:daylightDate_d
-             daylightWeekDay:daylightDate_wd daylightHour:daylightDate_h daylightMinute:daylightDate_min.
+	info daylightYear:daylightDate_y daylightMonth:daylightDate_m daylightDay:daylightDate_d
+	     daylightWeekDay:daylightDate_wd daylightHour:daylightDate_h daylightMinute:daylightDate_min.
     ].
 
     ^ info
@@ -9962,8 +9975,8 @@
 %{  /* NOCONTEXT */
 
     if (__isSmallInteger(numberOfSeconds)) {
-        sleep(__intVal(numberOfSeconds));
-        RETURN ( self );
+	sleep(__intVal(numberOfSeconds));
+	RETURN ( self );
     }
 %}.
     "
@@ -9993,43 +10006,43 @@
 
     /* try cache */
     {
-        OBJ lastSeconds, lastTimeInfo;
-
-        lastSeconds = @global(LastTimeInfoSeconds);
-        if (lastSeconds
-         && (__longIntVal(lastSeconds) == t)
-         && (@global(LastTimeInfoMilliseconds) == osMilliseconds)
-         && (@global(LastTimeInfoIsLocal) == isLocalTime)
-        ) {
-            lastTimeInfo = @global(LastTimeInfo);
-            if (lastTimeInfo != nil) {
-                RETURN (lastTimeInfo);
-            }
-        }
+	OBJ lastSeconds, lastTimeInfo;
+
+	lastSeconds = @global(LastTimeInfoSeconds);
+	if (lastSeconds
+	 && (__longIntVal(lastSeconds) == t)
+	 && (@global(LastTimeInfoMilliseconds) == osMilliseconds)
+	 && (@global(LastTimeInfoIsLocal) == isLocalTime)
+	) {
+	    lastTimeInfo = @global(LastTimeInfo);
+	    if (lastTimeInfo != nil) {
+		RETURN (lastTimeInfo);
+	    }
+	}
     }
 
     TimetToFileTime((time_t)t, &fileTime);
 
     if (isLocalTime == true) {
-        TIME_ZONE_INFORMATION tzInfo;
-        int tzState;
-        LONGLONG longTime;
-
-        FileTimeToLocalFileTime(&fileTime, &localFileTime);
-        FileTimeToSystemTime(&localFileTime, &sysTime);
-
-        longTime = ((LONGLONG)fileTime.dwHighDateTime << 32) + fileTime.dwLowDateTime;
-        longTime -= ((LONGLONG)localFileTime.dwHighDateTime << 32) + localFileTime.dwLowDateTime;
-        utcOffset = __mkSmallInteger((INT)(longTime / 10000000));
-
-        if ((tzState = GetTimeZoneInformation(&tzInfo)) < 0) {
-            reason = @symbol(getTimeZoneFailed);
-            goto error;
-        }
-        dstOffset = __mkSmallInteger((tzInfo.Bias + tzInfo.DaylightBias) * 60);
+	TIME_ZONE_INFORMATION tzInfo;
+	int tzState;
+	LONGLONG longTime;
+
+	FileTimeToLocalFileTime(&fileTime, &localFileTime);
+	FileTimeToSystemTime(&localFileTime, &sysTime);
+
+	longTime = ((LONGLONG)fileTime.dwHighDateTime << 32) + fileTime.dwLowDateTime;
+	longTime -= ((LONGLONG)localFileTime.dwHighDateTime << 32) + localFileTime.dwLowDateTime;
+	utcOffset = __mkSmallInteger((INT)(longTime / 10000000));
+
+	if ((tzState = GetTimeZoneInformation(&tzInfo)) < 0) {
+	    reason = @symbol(getTimeZoneFailed);
+	    goto error;
+	}
+	dstOffset = __mkSmallInteger((tzInfo.Bias + tzInfo.DaylightBias) * 60);
     } else {
-        FileTimeToSystemTime(&fileTime, &sysTime);
-        utcOffset = __mkSmallInteger(0);
+	FileTimeToSystemTime(&fileTime, &sysTime);
+	utcOffset = __mkSmallInteger(0);
     }
 
     hours = __mkSmallInteger(sysTime.wHour);
@@ -10044,22 +10057,22 @@
 error:;
 %}.
     year isNil ifTrue:[
-        ^ self primitiveFailed
+	^ self primitiveFailed
     ].
 
     info := self timeInfoClass new.
     info
-        year:year
-        month:month
-        day:day
-        hours:hours
-        minutes:minutes
-        seconds:seconds
-        milliseconds:osMilliseconds
-        utcOffset:utcOffset
-        dst:(utcOffset = dstOffset)
-        dayInYear:yDay
-        dayInWeek:weekDay.
+	year:year
+	month:month
+	day:day
+	hours:hours
+	minutes:minutes
+	seconds:seconds
+	milliseconds:osMilliseconds
+	utcOffset:utcOffset
+	dst:(utcOffset = dstOffset)
+	dayInYear:yDay
+	dayInWeek:weekDay.
 
     LastTimeInfo := info.
     LastTimeInfoSeconds := osSeconds.
@@ -10111,18 +10124,18 @@
 
     appDataDirFromEnv := self getEnvironment:'APPDATA'.
     appDataDirFromEnv notNil ifTrue:[
-        ^ appDataDirFromEnv , '\' , appName
-    ].
-    appDataDirFromRegistry := 
-        (self registryEntry key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
-            valueNamed:'AppData'.
+	^ appDataDirFromEnv , '\' , appName
+    ].
+    appDataDirFromRegistry :=
+	(self registryEntry key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
+	    valueNamed:'AppData'.
     appDataDirFromRegistry notNil ifTrue:[
-        ^ appDataDirFromRegistry , '\' , appName
+	^ appDataDirFromRegistry , '\' , appName
     ].
     ^ super getApplicationDataDirectoryFor:appName
 
     "
-     OperatingSystem getApplicationDataDirectoryFor:'expecco'  
+     OperatingSystem getApplicationDataDirectoryFor:'expecco'
     "
 
     "Created: / 29-07-2010 / 12:13:12 / sr"
@@ -10136,15 +10149,15 @@
     |dir path|
 
     path := (self registryEntry
-                key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
-            valueNamed:'Desktop'.
+		key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
+	    valueNamed:'Desktop'.
 
     path isNil ifTrue:[
-        "Fallback"
-        dir := self getHomeDirectory.
-        dir isNil ifTrue:[ ^ nil ].
-
-        path := dir , '\Desktop'.
+	"Fallback"
+	dir := self getHomeDirectory.
+	dir isNil ifTrue:[ ^ nil ].
+
+	path := dir , '\Desktop'.
     ].
 
     (self isValidPath:path) ifFalse:[ ^ nil ].
@@ -10165,11 +10178,11 @@
     |dir|
 
     dir := (self registryEntry
-                key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
-            valueNamed:'Personal'.
+		key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
+	    valueNamed:'Personal'.
 
     dir isNil ifTrue:[
-        dir := self getHomeDirectory.
+	dir := self getHomeDirectory.
     ].
 
     ^ dir.
@@ -10218,11 +10231,11 @@
     info := self userInfoOf:userID.
     (info notNil
     and:[info includesKey:#gecos]) ifTrue:[
-        gecos := info at:#gecos.
-        (gecos includes:$,) ifTrue:[
-            ^ gecos copyTo:(gecos indexOf:$,) - 1
-        ].
-        ^ gecos
+	gecos := info at:#gecos.
+	(gecos includes:$,) ifTrue:[
+	    ^ gecos copyTo:(gecos indexOf:$,) - 1
+	].
+	^ gecos
     ].
     ^ self getUserNameFromID:userID
 
@@ -10270,7 +10283,7 @@
 
     dir := self getEnvironment:'USERPROFILE'.
     dir isNil ifTrue:[
-        dir := '.'.
+	dir := '.'.
     ].
     ^ dir.
 
@@ -10295,33 +10308,33 @@
     char *name = (char *)0;
 
     if (firstCall) {
-        DWORD nameSize = sizeof(cachedName);
-
-        if (GetUserName(cachedName, &nameSize) == TRUE) {
-            name = cachedName;
-            firstCall = 0;
-        }
+	DWORD nameSize = sizeof(cachedName);
+
+	if (GetUserName(cachedName, &nameSize) == TRUE) {
+	    name = cachedName;
+	    firstCall = 0;
+	}
     } else {
-        name = cachedName;
+	name = cachedName;
     }
 
     /*
      * try a few common environment variables ...
      */
     if (! name || (name[0] == 0) ) {
-        name = getenv("LOGIN");
-        if (! name || (name[0] == 0) ) {
-            name = getenv("LOGNAME");
-            if (! name || (name[0] == 0) ) {
-                name = getenv("USER");
-            }
-        }
+	name = getenv("LOGIN");
+	if (! name || (name[0] == 0) ) {
+	    name = getenv("LOGNAME");
+	    if (! name || (name[0] == 0) ) {
+		name = getenv("USER");
+	    }
+	}
     }
     /*
      * nope - I really font know who you are.
      */
     if (! name || (name[0] == 0) ) {
-        name = "you";
+	name = "you";
     }
 
     RETURN ( __MKSTRING(name) );
@@ -10350,7 +10363,7 @@
      This is the login name, not the fullName."
 
     aNumber == self getUserID ifTrue:[
-        ^ self getLoginName
+	^ self getLoginName
     ].
 
     ^ '? (' , aNumber printString , ')'
@@ -10375,19 +10388,19 @@
 
     info := IdentityDictionary new.
     name isNil ifTrue:[
-        aNameOrID == self getUserID ifTrue:[
-            name := self getLoginName
-        ].
+	aNameOrID == self getUserID ifTrue:[
+	    name := self getLoginName
+	].
     ].
     name notNil ifTrue:[
-        info at:#name put:name.
+	info at:#name put:name.
     ] ifFalse:[
-        info at:#name put:'unknown'
+	info at:#name put:'unknown'
     ].
     dir isNil ifTrue:[
-        aNameOrID == self getUserID ifTrue:[
-            dir := self getHomeDirectory
-        ]
+	aNameOrID == self getUserID ifTrue:[
+	    dir := self getHomeDirectory
+	]
     ].
     dir notNil ifTrue:[info at:#dir put:dir].
     "/ uid notNil ifTrue:[info at:#uid put:uid].
@@ -10428,79 +10441,79 @@
     DWORD endStatus;
 
     if (__isExternalAddressLike(pidToWait) ) {
-        HANDLE __pidToWait = _HANDLEVal(pidToWait);
-        int t;
+	HANDLE __pidToWait = _HANDLEVal(pidToWait);
+	int t;
 
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-        console_printf("childProcessWait %x b %d\n",__pidToWait,blocking==true);
-#endif
-        t = (blocking==true) ? INFINITE : 0;
+	console_printf("childProcessWait %x b %d\n",__pidToWait,blocking==true);
+#endif
+	t = (blocking==true) ? INFINITE : 0;
 
 #ifdef DO_WRAP_CALLS
-        if (t == 0) {
-            /* no need for WRAP-call; does not block */
-            endStatus = WaitForSingleObject(__pidToWait, t);
-            if (endStatus < 0) {
-                __threadErrno = __WIN32_ERR(GetLastError());
-            }
-        } else {
-            do {
-                __threadErrno = 0;
-                endStatus = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, __pidToWait, t);
-            } while ((endStatus < 0) && (__threadErrno == EINTR));
-        }
-#else
-        endStatus = WaitForSingleObject(__pidToWait, t);
-        if (endStatus < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        if ( endStatus == WAIT_TIMEOUT ) {
-            if (blocking==true)
-                status = @symbol(timeout);
-            else {
-                status = @symbol(continue);
+	if (t == 0) {
+	    /* no need for WRAP-call; does not block */
+	    endStatus = WaitForSingleObject(__pidToWait, t);
+	    if (endStatus < 0) {
+		__threadErrno = __WIN32_ERR(GetLastError());
+	    }
+	} else {
+	    do {
+		__threadErrno = 0;
+		endStatus = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, __pidToWait, t);
+	    } while ((endStatus < 0) && (__threadErrno == EINTR));
+	}
+#else
+	endStatus = WaitForSingleObject(__pidToWait, t);
+	if (endStatus < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	if ( endStatus == WAIT_TIMEOUT ) {
+	    if (blocking==true)
+		status = @symbol(timeout);
+	    else {
+		status = @symbol(continue);
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-                console_printf("ret nil\n");
-#endif
-                RETURN(nil);
-            }
-        } else {
-            status = @symbol(exit);
+		console_printf("ret nil\n");
+#endif
+		RETURN(nil);
+	    }
+	} else {
+	    status = @symbol(exit);
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-            console_printf("exit\n");
-#endif
-            if (endStatus == WAIT_OBJECT_0) {
-                DWORD exitCode;
-
-                if (GetExitCodeProcess(__pidToWait, &exitCode)) {
+	    console_printf("exit\n");
+#endif
+	    if (endStatus == WAIT_OBJECT_0) {
+		DWORD exitCode;
+
+		if (GetExitCodeProcess(__pidToWait, &exitCode)) {
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-                    console_printf("exitCode: %d\n", exitCode);
-#endif
-                    if (exitCode == STILL_ACTIVE) {
-                        RETURN(nil);
-                    }
+		    console_printf("exitCode: %d\n", exitCode);
+#endif
+		    if (exitCode == STILL_ACTIVE) {
+			RETURN(nil);
+		    }
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-                    console_printf("exit %d\n", exitCode);
-#endif
-                    code = __mkSmallInteger(exitCode);
-                } else {
+		    console_printf("exit %d\n", exitCode);
+#endif
+		    code = __mkSmallInteger(exitCode);
+		} else {
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-                    console_printf("GetExitCodeProcess failed\n");
-#endif
-                    code = __mkSmallInteger(GetLastError());
-                }
-            } else {
-                code = __mkSmallInteger(-1);
-            }
-        }
-        core = false;
-        pid = pidToWait;
+		    console_printf("GetExitCodeProcess failed\n");
+#endif
+		    code = __mkSmallInteger(GetLastError());
+		}
+	    } else {
+		code = __mkSmallInteger(-1);
+	    }
+	}
+	core = false;
+	pid = pidToWait;
     }
 %}.
 
     (status isNil or:[pid isNil]) ifTrue:[
-        ^ self primitiveFailed
+	^ self primitiveFailed
     ].
 
 "/ Transcript show:'pid: '; show:pid; show:' status: '; show:status;
@@ -10546,92 +10559,92 @@
     int    exceptCount;
 
     if (__isNonNilObject(readFdArray)) {
-        if (! __isArrayLike(readFdArray)) goto fail;
-        readCount = __arraySize(readFdArray);
+	if (! __isArrayLike(readFdArray)) goto fail;
+	readCount = __arraySize(readFdArray);
     } else {
-        readCount = 0;
+	readCount = 0;
     }
 
     if (__isNonNilObject(writeFdArray)) {
-        if (! __isArrayLike(writeFdArray)) goto fail;
-        writeCount = __arraySize(writeFdArray);
+	if (! __isArrayLike(writeFdArray)) goto fail;
+	writeCount = __arraySize(writeFdArray);
     } else {
-        writeCount = 0;
+	writeCount = 0;
     }
 
     if (__isNonNilObject(exceptFdArray)) {
-        if (! __isArrayLike(exceptFdArray)) goto fail;
-        exceptCount = __arraySize(exceptFdArray);
+	if (! __isArrayLike(exceptFdArray)) goto fail;
+	exceptCount = __arraySize(exceptFdArray);
     } else {
-        exceptCount = 0;
+	exceptCount = 0;
     }
 
     for (i = 0; (i < readCount) && (numHandles < MAXHANDLE);i++) {
-        fd = __ArrayInstPtr(readFdArray)->a_element[i];
-
-        if (fd != nil) {
-            if (__isExternalAddressLike(fd)) {
-                hArray  [numHandles] = _HANDLEVal(fd);
-                retArray[numHandles] = i;
-                ++numHandles;
-            } else {
-                int canRead = _canReadWithoutBlocking (__intVal(fd) );
-
-                if (canRead > 0 ) {
-                    RETURN (fd);
-                } else {
-                    if (canRead < 0 ) {
-                        @global(LastErrorNumber) = __mkSmallInteger(EBADF);
-                        RETURN ( @symbol(error) );
-                    }
-                }
-            }
-        }
+	fd = __ArrayInstPtr(readFdArray)->a_element[i];
+
+	if (fd != nil) {
+	    if (__isExternalAddressLike(fd)) {
+		hArray  [numHandles] = _HANDLEVal(fd);
+		retArray[numHandles] = i;
+		++numHandles;
+	    } else {
+		int canRead = _canReadWithoutBlocking (__intVal(fd) );
+
+		if (canRead > 0 ) {
+		    RETURN (fd);
+		} else {
+		    if (canRead < 0 ) {
+			@global(LastErrorNumber) = __mkSmallInteger(EBADF);
+			RETURN ( @symbol(error) );
+		    }
+		}
+	    }
+	}
     }
 
     for (i = 0; (i < writeCount) && (numHandles < MAXHANDLE);i++) {
-        fd = __ArrayInstPtr(writeFdArray)->a_element[i];
-
-        if (fd != nil) {
-            if (__isExternalAddressLike(fd)) {
-                hArray  [numHandles] = _HANDLEVal(fd);
-                retArray[numHandles] = i + 10000;
-                ++numHandles;
-            } else {
-                int canWrite = _canWriteWithoutBlocking (__intVal(fd) );
-
-                if (canWrite > 0 ) {
-                    RETURN (fd);
-                } else {
-                    if (canWrite < 0 ) {
-                        @global(LastErrorNumber) = __mkSmallInteger(EBADF);
-                        RETURN ( @symbol(error) );
-                    }
-                }
-            }
-        }
+	fd = __ArrayInstPtr(writeFdArray)->a_element[i];
+
+	if (fd != nil) {
+	    if (__isExternalAddressLike(fd)) {
+		hArray  [numHandles] = _HANDLEVal(fd);
+		retArray[numHandles] = i + 10000;
+		++numHandles;
+	    } else {
+		int canWrite = _canWriteWithoutBlocking (__intVal(fd) );
+
+		if (canWrite > 0 ) {
+		    RETURN (fd);
+		} else {
+		    if (canWrite < 0 ) {
+			@global(LastErrorNumber) = __mkSmallInteger(EBADF);
+			RETURN ( @symbol(error) );
+		    }
+		}
+	    }
+	}
     }
 
     for (i = 0; (i < exceptCount) && (numHandles < MAXHANDLE);i++) {
-        fd = __ArrayInstPtr(exceptFdArray)->a_element[i];
-
-        if (fd != nil) {
-            if (__isExternalAddressLike(fd)) {
-                hArray  [numHandles] = _HANDLEVal(fd);
-                retArray[numHandles] = i + 20000;
-                ++numHandles;
-            }
-        }
+	fd = __ArrayInstPtr(exceptFdArray)->a_element[i];
+
+	if (fd != nil) {
+	    if (__isExternalAddressLike(fd)) {
+		hArray  [numHandles] = _HANDLEVal(fd);
+		retArray[numHandles] = i + 20000;
+		++numHandles;
+	    }
+	}
     }
 
     if (__isSmallInteger(millis)) {
-        t = __intVal(millis);
-
-        if (t <= 0 && numHandles == 0) {
-            RETURN (nil);
-        }
+	t = __intVal(millis);
+
+	if (t <= 0 && numHandles == 0) {
+	    RETURN (nil);
+	}
     } else {
-        t = INFINITE;
+	t = INFINITE;
     }
 
 #ifdef SELECT3DEBUGWIN32
@@ -10641,112 +10654,112 @@
     res = __vmWait (numHandles, hArray, MAXHANDLE, t);
 
     if (numHandles) {
-        if (res == WAIT_FAILED) {
+	if (res == WAIT_FAILED) {
 #ifdef SELECT2DEBUGWIN32
-            console_printf("- error %d; ret nil\n",GetLastError());
-#endif
-            if (__threadErrno == EINTR) {
-                __threadErrno = 0;
-                @global(LastErrorNumber) = nil;
-            } else {
-                __threadErrno = EBADF;
-                if (@global(InfoPrinting) == true) {
-                    console_fprintf(stderr, "Win32OS [info]: select errno = %d\n", __threadErrno);
-                }
-                @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-                RETURN ( @symbol(error) );
-            }
-            RETURN ( nil );
-        }
-
-        if (res == WAIT_TIMEOUT) {
+	    console_printf("- error %d; ret nil\n",GetLastError());
+#endif
+	    if (__threadErrno == EINTR) {
+		__threadErrno = 0;
+		@global(LastErrorNumber) = nil;
+	    } else {
+		__threadErrno = EBADF;
+		if (@global(InfoPrinting) == true) {
+		    console_fprintf(stderr, "Win32OS [info]: select errno = %d\n", __threadErrno);
+		}
+		@global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+		RETURN ( @symbol(error) );
+	    }
+	    RETURN ( nil );
+	}
+
+	if (res == WAIT_TIMEOUT) {
 #ifdef SELECT3DEBUGWIN32
-            console_printf("- timeOut; ret nil\n" );
-#endif
-            goto polling;
-        }
-
-        if (res == numHandles) {
-            if (1 /* @global(InfoPrinting) == true */) {
-                console_fprintf(stderr, "Win32OS [info]: plugIn event has been handled\n");
-            }
-            __threadErrno = 0;
-            @global(LastErrorNumber) = nil;
-            RETURN ( nil );
-        }
-        if ((res < 0) || (res > numHandles)) {
+	    console_printf("- timeOut; ret nil\n" );
+#endif
+	    goto polling;
+	}
+
+	if (res == numHandles) {
+	    if (1 /* @global(InfoPrinting) == true */) {
+		console_fprintf(stderr, "Win32OS [info]: plugIn event has been handled\n");
+	    }
+	    __threadErrno = 0;
+	    @global(LastErrorNumber) = nil;
+	    RETURN ( nil );
+	}
+	if ((res < 0) || (res > numHandles)) {
 #ifdef SELECTDEBUGWIN32
-            console_printf("- res=%d error1 %d\n", res, GetLastError());
-#endif
-            __threadErrno = 0;
-            @global(LastErrorNumber) = nil;
-            RETURN ( nil );
-        }
-
-        ret = res;
-
-        if (ret < numHandles) {
-            int fd = retArray[ret];
-
-            @global(LastErrorNumber) = nil;
+	    console_printf("- res=%d error1 %d\n", res, GetLastError());
+#endif
+	    __threadErrno = 0;
+	    @global(LastErrorNumber) = nil;
+	    RETURN ( nil );
+	}
+
+	ret = res;
+
+	if (ret < numHandles) {
+	    int fd = retArray[ret];
+
+	    @global(LastErrorNumber) = nil;
 
 #ifdef SELECTDEBUGWIN32
-            if (ret) console_printf("wait Handles %d %d ret\n", ret, fd);
-#endif
-            if (fd < 10000) {
-                RETURN ( __ArrayInstPtr(readFdArray)->a_element[fd] );
-            }
-            if (fd < 20000) {
-                RETURN ( __ArrayInstPtr(writeFdArray)->a_element[fd-10000] );
-            }
-            RETURN ( __ArrayInstPtr(exceptFdArray)->a_element[fd-20000] );
-        }
-        console_fprintf(stderr, "Win32OS [info]: wait Handles ret = %d error2 %d\n", ret, GetLastError());
-        goto fail;
+	    if (ret) console_printf("wait Handles %d %d ret\n", ret, fd);
+#endif
+	    if (fd < 10000) {
+		RETURN ( __ArrayInstPtr(readFdArray)->a_element[fd] );
+	    }
+	    if (fd < 20000) {
+		RETURN ( __ArrayInstPtr(writeFdArray)->a_element[fd-10000] );
+	    }
+	    RETURN ( __ArrayInstPtr(exceptFdArray)->a_element[fd-20000] );
+	}
+	console_fprintf(stderr, "Win32OS [info]: wait Handles ret = %d error2 %d\n", ret, GetLastError());
+	goto fail;
     } else {
 
 polling:
 
-        for (i=0; i < readCount;i++) {
-            fd = __ArrayInstPtr(readFdArray)->a_element[i];
-
-            if (fd != nil) {
-                if (! __isExternalAddressLike(fd)) {
-                    int canRead = _canReadWithoutBlocking (__intVal(fd));
-
-                    if (canRead > 0 ) {
-                        RETURN (fd);
-                    } else {
-                        if (canRead < 0 ) {
-                            @global(LastErrorNumber) = __mkSmallInteger(EBADF);
-                            RETURN ( @symbol(error) );
-                        }
-                    }
-                }
-            }
-        }
-
-        for (i=0; i < writeCount;i++) {
-            fd = __ArrayInstPtr(writeFdArray)->a_element[i];
-
-            if (fd != nil) {
-                if (! __isExternalAddressLike(fd)) {
-                    int canWrite = _canWriteWithoutBlocking (__intVal(fd));
-
-                    if (canWrite > 0 ) {
-                        RETURN (fd);
-                    } else {
-                        if (canWrite < 0 ) {
-                            @global(LastErrorNumber) = __mkSmallInteger(EBADF);
-                            RETURN ( @symbol(error) );
-                        }
-                    }
-                }
-            }
-        }
-
-        @global(LastErrorNumber) = nil;
-        RETURN ( nil );
+	for (i=0; i < readCount;i++) {
+	    fd = __ArrayInstPtr(readFdArray)->a_element[i];
+
+	    if (fd != nil) {
+		if (! __isExternalAddressLike(fd)) {
+		    int canRead = _canReadWithoutBlocking (__intVal(fd));
+
+		    if (canRead > 0 ) {
+			RETURN (fd);
+		    } else {
+			if (canRead < 0 ) {
+			    @global(LastErrorNumber) = __mkSmallInteger(EBADF);
+			    RETURN ( @symbol(error) );
+			}
+		    }
+		}
+	    }
+	}
+
+	for (i=0; i < writeCount;i++) {
+	    fd = __ArrayInstPtr(writeFdArray)->a_element[i];
+
+	    if (fd != nil) {
+		if (! __isExternalAddressLike(fd)) {
+		    int canWrite = _canWriteWithoutBlocking (__intVal(fd));
+
+		    if (canWrite > 0 ) {
+			RETURN (fd);
+		    } else {
+			if (canWrite < 0 ) {
+			    @global(LastErrorNumber) = __mkSmallInteger(EBADF);
+			    RETURN ( @symbol(error) );
+			}
+		    }
+		}
+	    }
+	}
+
+	@global(LastErrorNumber) = nil;
+	RETURN ( nil );
     }
 
 fail: ;
@@ -10787,51 +10800,51 @@
     INT i, count;
 
     if (! __isArrayLike(fdOrHandleArray)) {
-        goto fail;
+	goto fail;
     }
     count = __arraySize(fdOrHandleArray);
 
     for (i=0; i<count; i++) {
-        OBJ fdOrHandle = __ArrayInstPtr(fdOrHandleArray)->a_element[i];
-        HANDLE h;
-
-        if (__isExternalAddressLike(fdOrHandle)) {
-            h = _HANDLEVal(fdOrHandle);
-        } else {
-            if (__isSmallInteger(fdOrHandle)) {
-                h = (HANDLE) _get_osfhandle (__intVal(fdOrHandle));
-            } else {
-                goto fail;
-            }
-        }
-        hArray[i] = h;
+	OBJ fdOrHandle = __ArrayInstPtr(fdOrHandleArray)->a_element[i];
+	HANDLE h;
+
+	if (__isExternalAddressLike(fdOrHandle)) {
+	    h = _HANDLEVal(fdOrHandle);
+	} else {
+	    if (__isSmallInteger(fdOrHandle)) {
+		h = (HANDLE) _get_osfhandle (__intVal(fdOrHandle));
+	    } else {
+		goto fail;
+	    }
+	}
+	hArray[i] = h;
     }
 
     if (__isSmallInteger(millis)) {
-        t = __intVal(millis);
+	t = __intVal(millis);
     } else {
-        t = INFINITE;
+	t = INFINITE;
     }
 
 #ifdef DO_WRAP_CALLS
     do {
-        __threadErrno = 0;
-        res = STX_API_CALL4( "WaitForMultipleObjects", WaitForMultipleObjects, count, hArray, FALSE, t);
+	__threadErrno = 0;
+	res = STX_API_CALL4( "WaitForMultipleObjects", WaitForMultipleObjects, count, hArray, FALSE, t);
     } while ((res < 0) && (__threadErrno == EINTR));
 #else
     res = WaitForMultipleObjects(count, hArray, FALSE, t);
     if (res < 0) {
-        __threadErrno = __WIN32_ERR(GetLastError());
+	__threadErrno = __WIN32_ERR(GetLastError());
     }
 #endif
     if (res == WAIT_FAILED) {
-        RETURN (nil);
+	RETURN (nil);
     }
     if (res == WAIT_TIMEOUT) {
-        RETURN (nil);
+	RETURN (nil);
     }
     if ((res >= WAIT_OBJECT_0) && (res < (WAIT_OBJECT_0+count))) {
-        RETURN (__ArrayInstPtr(fdOrHandleArray)->a_element[res-WAIT_OBJECT_0]);
+	RETURN (__ArrayInstPtr(fdOrHandleArray)->a_element[res-WAIT_OBJECT_0]);
     }
 
     RETURN (nil);
@@ -10856,37 +10869,37 @@
     HANDLE h = NULL;
 
     if (__isExternalAddressLike(fdOrHandle)) {
-        h = _HANDLEVal(fdOrHandle);
+	h = _HANDLEVal(fdOrHandle);
     } else {
-        if (__isSmallInteger(fdOrHandle)) {
-            h = (HANDLE) _get_osfhandle (__intVal(fdOrHandle));
-        } else {
-            goto fail;
-        }
+	if (__isSmallInteger(fdOrHandle)) {
+	    h = (HANDLE) _get_osfhandle (__intVal(fdOrHandle));
+	} else {
+	    goto fail;
+	}
     }
 
     if (__isSmallInteger(millis)) {
-        t = __intVal(millis);
+	t = __intVal(millis);
     } else {
-        t = INFINITE;
+	t = INFINITE;
     }
 
 #ifdef DO_WRAP_CALLS
     do {
-        __threadErrno = 0;
-        res = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, h,  t);
+	__threadErrno = 0;
+	res = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, h,  t);
     } while ((res < 0) && (__threadErrno == EINTR));
 #else
     res = WaitForSingleObject(h, t);
     if (res < 0) {
-        __threadErrno = __WIN32_ERR(GetLastError());
+	__threadErrno = __WIN32_ERR(GetLastError());
     }
 #endif
     if (res == WAIT_FAILED) {
-        RETURN (nil);
+	RETURN (nil);
     }
     if (res == WAIT_TIMEOUT) {
-        RETURN (nil);
+	RETURN (nil);
     }
 
     RETURN (fdOrHandle);
@@ -11081,11 +11094,11 @@
 
 type:t mode:m uid:u gid:g size:s id:i accessed:aT modified:mT created:cT sourcePath:lP fullName:fullName alternativeName:name2
     ^ self basicNew
-        type:t mode:m uid:u gid:g size:s
-        id:i accessed:aT modified:mT created:cT
-        sourcePath:lP
-        fullName:fullName
-        alternativeName:name2
+	type:t mode:m uid:u gid:g size:s
+	id:i accessed:aT modified:mT created:cT
+	sourcePath:lP
+	fullName:fullName
+	alternativeName:name2
 ! !
 
 !Win32OperatingSystem::FileStatusInfo methodsFor:'accessing'!
@@ -11106,18 +11119,18 @@
 
     path := self alternativePathName.
     path notNil ifTrue:[
-        idx := path lastIndexOf:$\ startingAt:path size-1.
-        idx ~~ 0 ifTrue:[
-            path := path copyFrom:(idx+1).
-        ].
+	idx := path lastIndexOf:$\ startingAt:path size-1.
+	idx ~~ 0 ifTrue:[
+	    path := path copyFrom:(idx+1).
+	].
     ].
 
     ^ path
 
     "
-        'C:\' asFilename info alternativeName
-        'C:\Dokumente und Einstellungen\' asFilename info alternativeName
-        'C:\Dokumente und Einstellungen' asFilename info alternativeName
+	'C:\' asFilename info alternativeName
+	'C:\Dokumente und Einstellungen\' asFilename info alternativeName
+	'C:\Dokumente und Einstellungen' asFilename info alternativeName
     "
 !
 
@@ -11127,14 +11140,14 @@
 
     "/ access lazily...
     alternativePathName isNil ifTrue:[
-        alternativePathName := (OperatingSystem getShortPathName:sourcePath) asSingleByteString.
+	alternativePathName := (OperatingSystem getShortPathName:sourcePath) asSingleByteString.
     ].
 
     ^ alternativePathName
 
     "
-        'C:\' asFilename info alternativePathName
-        'C:\Dokumente und Einstellungen' asFilename info alternativePathName
+	'C:\' asFilename info alternativePathName
+	'C:\Dokumente und Einstellungen' asFilename info alternativePathName
     "
 !
 
@@ -11158,18 +11171,18 @@
 
     path := self fullPathName.
     path notNil ifTrue:[
-        idx := path lastIndexOf:$\ startingAt:path size-1.
-        idx ~~ 0 ifTrue:[
-            path := path copyFrom:(idx+1).
-        ].
+	idx := path lastIndexOf:$\ startingAt:path size-1.
+	idx ~~ 0 ifTrue:[
+	    path := path copyFrom:(idx+1).
+	].
     ].
 
     ^ path
 
     "
-        '\' asFilename info fullName
-        'C:\' asFilename info fullName
-        'C:\Dokumente und Einstellungen' asFilename info fullName
+	'\' asFilename info fullName
+	'C:\' asFilename info fullName
+	'C:\Dokumente und Einstellungen' asFilename info fullName
     "
 !
 
@@ -11179,14 +11192,14 @@
 
     "/ access lazily...
     fullPathName isNil ifTrue:[
-        fullPathName := (OperatingSystem getLongPathName:sourcePath) asSingleByteStringIfPossible.
+	fullPathName := (OperatingSystem getLongPathName:sourcePath) asSingleByteStringIfPossible.
     ].
 
     ^ fullPathName
 
     "
-        'C:\' asFilename info fullPathName
-        'C:\Dokumente und Einstellungen' asFilename info fullPathName
+	'C:\' asFilename info fullPathName
+	'C:\Dokumente und Einstellungen' asFilename info fullPathName
     "
 !
 
@@ -11207,9 +11220,9 @@
 
     "/ access lazily...
     linkTargetPath isNil ifTrue:[
-        type == #symbolicLink ifTrue:[
-            linkTargetPath := OperatingSystem getLinkTarget:sourcePath.
-        ]
+	type == #symbolicLink ifTrue:[
+	    linkTargetPath := OperatingSystem getLinkTarget:sourcePath.
+	]
     ].
 
     ^ linkTargetPath
@@ -11471,20 +11484,20 @@
 
     [Instance variables:]
 
-        pid     <Integer>       OS-Process identifier
-
-        status  <Symbol>        either #exit #signal #stop #continue
-
-        code    <Integer>       either exitcode or signalnumber
-
-        core    <Boolean>       true if core has been dumped
+	pid     <Integer>       OS-Process identifier
+
+	status  <Symbol>        either #exit #signal #stop #continue
+
+	code    <Integer>       either exitcode or signalnumber
+
+	core    <Boolean>       true if core has been dumped
 
 
     [author:]
-        Stefan Vogel
+	Stefan Vogel
 
     [see also:]
-        OperatingSystem
+	OperatingSystem
 "
 ! !
 
@@ -11625,24 +11638,24 @@
 counterIndexTextDictionary
 
     "
-        self counterIndexTextDictionary
+	self counterIndexTextDictionary
     "
 
     CounterIndexTextDictionary isNil ifTrue:[
-        self synchronized:[
-            CounterIndexTextDictionary isNil ifTrue:[
-                |performanceText counterIndexTextDictionary|
-
-                performanceText := self getPerformanceText valueNamed:'Counter'.
-                counterIndexTextDictionary := IdentityDictionary new.
-
-                1 to:performanceText size by:2 do:[:index|
-                    counterIndexTextDictionary at:(performanceText at:index) asInteger put:(performanceText at:index + 1).
-                ].
-
-                CounterIndexTextDictionary := counterIndexTextDictionary.
-            ].
-        ].
+	self synchronized:[
+	    CounterIndexTextDictionary isNil ifTrue:[
+		|performanceText counterIndexTextDictionary|
+
+		performanceText := self getPerformanceText valueNamed:'Counter'.
+		counterIndexTextDictionary := IdentityDictionary new.
+
+		1 to:performanceText size by:2 do:[:index|
+		    counterIndexTextDictionary at:(performanceText at:index) asInteger put:(performanceText at:index + 1).
+		].
+
+		CounterIndexTextDictionary := counterIndexTextDictionary.
+	    ].
+	].
     ].
 
     ^ CounterIndexTextDictionary
@@ -11651,24 +11664,24 @@
 helpIndexTextDictionary
 
     "
-        self helpIndexTextDictionary
+	self helpIndexTextDictionary
     "
 
     HelpIndexTextDictionary isNil ifTrue:[
-        self synchronized:[
-            HelpIndexTextDictionary isNil ifTrue:[
-                |performanceText helpIndexTextDictionary|
-
-                performanceText := self getPerformanceText valueNamed:'Help'.
-                helpIndexTextDictionary := IdentityDictionary new.
-
-                1 to:performanceText size by:2 do:[:index|
-                    helpIndexTextDictionary at:(performanceText at:index) asInteger put:(performanceText at:index + 1).
-                ].
-
-                HelpIndexTextDictionary := helpIndexTextDictionary.
-            ].
-        ].
+	self synchronized:[
+	    HelpIndexTextDictionary isNil ifTrue:[
+		|performanceText helpIndexTextDictionary|
+
+		performanceText := self getPerformanceText valueNamed:'Help'.
+		helpIndexTextDictionary := IdentityDictionary new.
+
+		1 to:performanceText size by:2 do:[:index|
+		    helpIndexTextDictionary at:(performanceText at:index) asInteger put:(performanceText at:index + 1).
+		].
+
+		HelpIndexTextDictionary := helpIndexTextDictionary.
+	    ].
+	].
     ].
 
     ^ HelpIndexTextDictionary
@@ -11705,86 +11718,86 @@
 documentation
 
     "
-        VISTA:
-
-        Wer versucht unter Vista die Registy HKEY_PERFORMANCE_DATA abzufragen wird zunchst enttuscht.
-        Die UAC UserAccessControl verhindern dies nmlich (selbs fr den admin).
-
-        Um dies zu umgehen:
-
-        To turn off UAC
-
-        1. Click Start, and then click Control Panel.
-        2. In Control Panel, click User Accounts.
-        3. In the User Accounts window, click User Accounts.
-        4. In the User Accounts tasks window, click Turn User Account Control on or off.
-        5. If UAC is currently configured in Admin Approval Mode, the User Account Control message appears. Click Continue.
-        6. Clear the Use User Account Control (UAC) to help protect your computer check box, and then click OK.
-        7. Click Restart Now to apply the change right away, or click Restart Later and close the User Accounts tasks window.
+	VISTA:
+
+	Wer versucht unter Vista die Registy HKEY_PERFORMANCE_DATA abzufragen wird zunchst enttuscht.
+	Die UAC UserAccessControl verhindern dies nmlich (selbs fr den admin).
+
+	Um dies zu umgehen:
+
+	To turn off UAC
+
+	1. Click Start, and then click Control Panel.
+	2. In Control Panel, click User Accounts.
+	3. In the User Accounts window, click User Accounts.
+	4. In the User Accounts tasks window, click Turn User Account Control on or off.
+	5. If UAC is currently configured in Admin Approval Mode, the User Account Control message appears. Click Continue.
+	6. Clear the Use User Account Control (UAC) to help protect your computer check box, and then click OK.
+	7. Click Restart Now to apply the change right away, or click Restart Later and close the User Accounts tasks window.
     "
 !
 
 examples
 
     "
-        ######################################### PRIMITIVE
-        self getUsedMemoryInPercentage.
-
-        self getPhysicalMemoryInKB.
-        self getPhysicalMemoryInMB.
-
-        self getFreePhysicalMemoryInKB.
-        self getFreePhysicalMemoryInMB.
-
-        self getPageFileSizeInKB.
-        self getPageFileSizeInMB.
-
-        self getFreePageFileSizeInKB.
-        self getFreePageFileSizeInMB.
-
-        self getVirtualMemoryInKB.
-        self getVirtualMemoryInMB.
-
-        ######################################### REGISTRY
-        self helpIndexTextDictionary
-        self counterIndexTextDictionary
-
-        self global getCounterNameIndexArray.
-        self global getObjectNameIndexArray.
-
-        self processor getCounterNameIndexArray.
-        self processor processorUsage.
-        self processor processorUsageFromLast.
-        self processor interruptsPerSecond.
-        self processor interruptsPerSecondFromLast.
-
-        self process getCounterNameIndexArray.
-        self process processUsage.
-        self process processUsageFromLast.
-        self process runningProcesses.
-        self process runningProcessNameList.
-
-        self network getCounterNameIndexArray.
-        self network kBytesReceivedPerSecond.
-        self network kBytesReceivedPerSecondFromLast.
-        self network kBytesSentPerSecond.
-        self network kBytesSentPerSecondFromLast.
-
-        self memory getCounterNameIndexArray.
-        self memory availableMBytes.
-        self memory availableKBytes.
-
-        self diskIO getCounterNameIndexArray.
-        self diskIO diskSpaceFreeInMegaByte.
-        self diskIO diskQueueLength.
-        self diskIO diskTransfersPerSecond.
-        self diskIO diskTransfersPerSecondFromlast.
-        self diskIO diskReadsPerSecond.
-        self diskIO diskReadsPerSecondFromLast.
-        self diskIO diskWritesPerSecond.
-        self diskIO diskWritesPerSecondFromLast.
-        self diskIO diskBytesPerSecond.
-        self diskIO diskBytesPerSecondFromLast.
+	######################################### PRIMITIVE
+	self getUsedMemoryInPercentage.
+
+	self getPhysicalMemoryInKB.
+	self getPhysicalMemoryInMB.
+
+	self getFreePhysicalMemoryInKB.
+	self getFreePhysicalMemoryInMB.
+
+	self getPageFileSizeInKB.
+	self getPageFileSizeInMB.
+
+	self getFreePageFileSizeInKB.
+	self getFreePageFileSizeInMB.
+
+	self getVirtualMemoryInKB.
+	self getVirtualMemoryInMB.
+
+	######################################### REGISTRY
+	self helpIndexTextDictionary
+	self counterIndexTextDictionary
+
+	self global getCounterNameIndexArray.
+	self global getObjectNameIndexArray.
+
+	self processor getCounterNameIndexArray.
+	self processor processorUsage.
+	self processor processorUsageFromLast.
+	self processor interruptsPerSecond.
+	self processor interruptsPerSecondFromLast.
+
+	self process getCounterNameIndexArray.
+	self process processUsage.
+	self process processUsageFromLast.
+	self process runningProcesses.
+	self process runningProcessNameList.
+
+	self network getCounterNameIndexArray.
+	self network kBytesReceivedPerSecond.
+	self network kBytesReceivedPerSecondFromLast.
+	self network kBytesSentPerSecond.
+	self network kBytesSentPerSecondFromLast.
+
+	self memory getCounterNameIndexArray.
+	self memory availableMBytes.
+	self memory availableKBytes.
+
+	self diskIO getCounterNameIndexArray.
+	self diskIO diskSpaceFreeInMegaByte.
+	self diskIO diskQueueLength.
+	self diskIO diskTransfersPerSecond.
+	self diskIO diskTransfersPerSecondFromlast.
+	self diskIO diskReadsPerSecond.
+	self diskIO diskReadsPerSecondFromLast.
+	self diskIO diskWritesPerSecond.
+	self diskIO diskWritesPerSecondFromLast.
+	self diskIO diskBytesPerSecond.
+	self diskIO diskBytesPerSecondFromLast.
     "
 ! !
 
@@ -11793,7 +11806,7 @@
 initialize
 
     "
-        self initialize
+	self initialize
     "
 
     PerformanceText := CounterIndexTextDictionary := HelpIndexTextDictionary := nil.
@@ -11804,7 +11817,7 @@
 getPerformanceText
 
     PerformanceText isNil ifTrue:[
-        PerformanceText := Win32OperatingSystem registryEntry key:'HKEY_PERFORMANCE_TEXT'.
+	PerformanceText := Win32OperatingSystem registryEntry key:'HKEY_PERFORMANCE_TEXT'.
     ].
 
     ^ PerformanceText
@@ -11816,16 +11829,16 @@
     |ret|
 
     %{
-        MEMORYSTATUS mState;
-        GlobalMemoryStatus (&mState);
-
-        ret = __mkSmallInteger(mState.dwAvailPageFile / 1024);
+	MEMORYSTATUS mState;
+	GlobalMemoryStatus (&mState);
+
+	ret = __mkSmallInteger(mState.dwAvailPageFile / 1024);
     %}.
 
     ^ ret
 
     "
-        self getFreePageFileSizeInKB
+	self getFreePageFileSizeInKB
     "
 !
 
@@ -11833,7 +11846,7 @@
     ^ (self getFreePageFileSizeInKB / 1024) asInteger
 
     "
-        self getFreePageFileSizeInMB
+	self getFreePageFileSizeInMB
     "
 !
 
@@ -11841,16 +11854,16 @@
     |ret|
 
     %{
-        MEMORYSTATUS mState;
-        GlobalMemoryStatus (&mState);
-
-        ret = __mkSmallInteger(mState.dwAvailPhys / 1024);
+	MEMORYSTATUS mState;
+	GlobalMemoryStatus (&mState);
+
+	ret = __mkSmallInteger(mState.dwAvailPhys / 1024);
     %}.
 
     ^ ret
 
     "
-        self getFreePhysicalMemoryInKB
+	self getFreePhysicalMemoryInKB
     "
 !
 
@@ -11858,7 +11871,7 @@
     ^ (self getFreePhysicalMemoryInKB / 1024) asInteger
 
     "
-        self getFreePhysicalMemoryInMB
+	self getFreePhysicalMemoryInMB
     "
 !
 
@@ -11866,7 +11879,7 @@
     ^ self getPageFileSizeInMB * 1024
 
     "
-        self getPageFileSizeInKB
+	self getPageFileSizeInKB
     "
 !
 
@@ -11874,16 +11887,16 @@
     |ret|
 
     %{
-        SYSTEM_INFO sInfo;
-        GetSystemInfo(&sInfo);
-
-        ret = __mkSmallInteger(sInfo.dwPageSize);
+	SYSTEM_INFO sInfo;
+	GetSystemInfo(&sInfo);
+
+	ret = __mkSmallInteger(sInfo.dwPageSize);
     %}.
 
     ^ ret
 
     "
-        self getPageFileSizeInMB
+	self getPageFileSizeInMB
     "
 !
 
@@ -11891,16 +11904,16 @@
     |ret|
 
     %{
-        MEMORYSTATUS mState;
-        GlobalMemoryStatus (&mState);
-
-        ret = __mkSmallInteger(mState.dwTotalPhys / 1024);
+	MEMORYSTATUS mState;
+	GlobalMemoryStatus (&mState);
+
+	ret = __mkSmallInteger(mState.dwTotalPhys / 1024);
     %}.
 
     ^ ret
 
     "
-        self getPhysicalMemoryInKB
+	self getPhysicalMemoryInKB
     "
 !
 
@@ -11908,7 +11921,7 @@
     ^ (self getPhysicalMemoryInKB / 1024) asInteger
 
     "
-        self getPhysicalMemoryInMB
+	self getPhysicalMemoryInMB
     "
 !
 
@@ -11916,16 +11929,16 @@
     |ret|
 
     %{
-        MEMORYSTATUS mState;
-        GlobalMemoryStatus (&mState);
-
-        ret = __mkSmallInteger(mState.dwMemoryLoad);
+	MEMORYSTATUS mState;
+	GlobalMemoryStatus (&mState);
+
+	ret = __mkSmallInteger(mState.dwMemoryLoad);
     %}.
 
     ^ ret
 
     "
-        self getUsedMemoryInPercentage
+	self getUsedMemoryInPercentage
     "
 !
 
@@ -11933,16 +11946,16 @@
     |ret|
 
     %{
-        MEMORYSTATUS mState;
-        GlobalMemoryStatus (&mState);
-
-        ret = __mkSmallInteger(mState.dwTotalVirtual / 1024);
+	MEMORYSTATUS mState;
+	GlobalMemoryStatus (&mState);
+
+	ret = __mkSmallInteger(mState.dwTotalVirtual / 1024);
     %}.
 
     ^ ret
 
     "
-        self getVirtualMemoryInKB
+	self getVirtualMemoryInKB
     "
 !
 
@@ -11950,7 +11963,7 @@
     ^ (self getVirtualMemoryInKB / 1024) asInteger
 
     "
-        self getVirtualMemoryInMB
+	self getVirtualMemoryInMB
     "
 ! !
 
@@ -12016,155 +12029,155 @@
 
     //iterate all following objetcs
     for (objectIterator=0; objectIterator<numObjectTypes; objectIterator++) {
-        //add the st_perObject dictionary to st_objectArray
-        st_perObject = __SSEND0(@global(Dictionary), @symbol(new), 0);
-        __AT_PUT_(st_objectArray, __mkSmallInteger(objectIterator+1), st_perObject);
-
-        //get the object data
-        __AT_PUT_(st_perObject, @symbol(ObjectNameTitleIndex), __mkSmallInteger(perfObjectPtr->ObjectNameTitleIndex));
-        __AT_PUT_(st_perObject, @symbol(DetailLevel), __mkSmallInteger(perfObjectPtr->DetailLevel));
-        __AT_PUT_(st_perObject, @symbol(NumCounters), __mkSmallInteger(perfObjectPtr->NumCounters));
-        __AT_PUT_(st_perObject, @symbol(NumInstances), __mkSmallInteger(perfObjectPtr->NumInstances));
-
-        //setup counter array and initialize its pointer
-        st_counterArray = __ARRAY_NEW_INT(perfObjectPtr->NumCounters);
-        perfCounterPtr = (PERF_COUNTER_DEFINITION *)((char *)perfObjectPtr + perfObjectPtr->HeaderLength);
-
-        //add the st_counterArray to st_perObject dictionary
-        __AT_PUT_(st_perObject, @symbol(Counters), st_counterArray);
-
-        //iterate all following counter definition
-        for (counterIterator=0; counterIterator<perfObjectPtr->NumCounters; counterIterator++) {
-            //add the st_perCounter dictionary to st_counterArray
-            st_perCounter = __SSEND0(@global(Dictionary), @symbol(new), 0);
-            __AT_PUT_(st_counterArray, __mkSmallInteger(counterIterator+1), st_perCounter);
-
-            //get the counter data
-            __AT_PUT_(st_perCounter, @symbol(CounterNameTitleIndex), __mkSmallInteger(perfCounterPtr->CounterNameTitleIndex));
-            __AT_PUT_(st_perCounter, @symbol(CounterTypeBits), __mkSmallInteger(perfCounterPtr->CounterType));
-            __AT_PUT_(st_perCounter, @symbol(CounterSize), __mkSmallInteger(perfCounterPtr->CounterSize));
-            __AT_PUT_(st_perCounter, @symbol(CounterOffset), __mkSmallInteger(perfCounterPtr->CounterOffset));
-
-            //put the counter type size
-            switch (perfCounterPtr->CounterType & PERF_SIZE_MASK) {
-                case PERF_SIZE_DWORD:
-                    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(DWORD));
-                    break;
-                case PERF_SIZE_LARGE:
-                    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(LARGE));
-                    break;
-                case PERF_SIZE_ZERO:
-                    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(ZERO));
-                    break;
-                case PERF_SIZE_VARIABLE_LEN:
-                    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(VARIABLE_LEN));
-                    break;
-            }
-            switch (perfCounterPtr->CounterType & PERF_TYPE_MASK) {
-                case PERF_TYPE_NUMBER:
-                    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(NUMBER));
-                    switch (perfCounterPtr->CounterType & PERF_NUMBERTYPE_MASK) {
-                        case PERF_NUMBER_HEX:
-                            __AT_PUT_(st_perCounter, @symbol(NUMBER),@symbol(HEX));
-                            break;
-                        case PERF_NUMBER_DECIMAL:
-                            __AT_PUT_(st_perCounter, @symbol(NUMBER),@symbol(DECIMAL));
-                            break;
-                        case PERF_NUMBER_DEC_1000:
-                            __AT_PUT_(st_perCounter, @symbol(NUMBER),@symbol(DEC_1000));
-                            break;
-                    }
-                    break;
-                case PERF_TYPE_COUNTER:
-                    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(COUNTER));
-                    switch (perfCounterPtr->CounterType & PERF_COUNTERTYPE_MASK) {
-                        case PERF_COUNTER_VALUE:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(VALUE));
-                            break;
-                        case PERF_COUNTER_RATE:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(RATE));
-                            break;
-                        case PERF_COUNTER_FRACTION:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(FRACTION));
-                            break;
-                        case PERF_COUNTER_BASE:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(BASE));
-                            break;
-                        case PERF_COUNTER_ELAPSED:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(ELAPSED));
-                            break;
-                        case PERF_COUNTER_QUEUELEN:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(QUEUELEN));
-                            break;
-                        case PERF_COUNTER_HISTOGRAM:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(HISTOGRAM));
-                            break;
-                        case PERF_COUNTER_PRECISION:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(PRECISION));
-                            break;
-                    }
-                    break;
-                case PERF_TYPE_TEXT:
-                    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(TEXT));
-                    switch (perfCounterPtr->CounterType & PERF_TEXTTYPE_MASK) {
-                        case PERF_TEXT_UNICODE:
-                            __AT_PUT_(st_perCounter, @symbol(TEXT),@symbol(UNICODE));
-                            break;
-                        case PERF_TEXT_ASCII:
-                            __AT_PUT_(st_perCounter, @symbol(TEXT),@symbol(ASCII));
-                            break;
-                    }
-                    break;
-                case PERF_TYPE_ZERO:
-                    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(ZERO));
-                    break;
-            }
-
-            //setup the counter pointer to the next counter definition
-            perfCounterPtr = (PERF_COUNTER_DEFINITION *)((char *)perfCounterPtr + perfCounterPtr->ByteLength);
-        }
-
-        //goon dependent on the count of instances
-        if (perfObjectPtr->NumInstances < 1) {
-            perfCounterBlockPtr = (PERF_COUNTER_BLOCK *)(perfCounterPtr);
-            __AT_PUT_(st_perObject, @symbol(RawData), __MKBYTEARRAY(perfCounterBlockPtr, perfCounterBlockPtr->ByteLength));
-        } else {
-            //setup the instance pointer to the end of all counters
-            perfInstancePtr = (PERF_INSTANCE_DEFINITION *)(perfCounterPtr);
-
-            //setup st_instanceArray and add it to st_perObject
-            st_instanceArray = __ARRAY_NEW_INT(perfObjectPtr->NumInstances);
-            __AT_PUT_(st_perObject, @symbol(Instances), st_instanceArray);
-
-            //iterate the instances
-            for (instanceIterator=0; instanceIterator<perfObjectPtr->NumInstances; instanceIterator++) {
-                //setup st_perInstance and add it to st_instanceArray
-                st_perInstance = __SSEND0(@global(Dictionary), @symbol(new), 0);
-                __AT_PUT_(st_instanceArray, __mkSmallInteger(instanceIterator+1), st_perInstance);
-
-                //get the instance data
-                __AT_PUT_(st_perInstance, @symbol(Name), __MKBYTEARRAY((wchar_t *)((BYTE *)perfInstancePtr + perfInstancePtr->NameOffset),perfInstancePtr->NameLength));
-                __AT_PUT_(st_perInstance, @symbol(ParentObjectTitleIndex), __mkSmallInteger(perfInstancePtr->ParentObjectTitleIndex));
-                __AT_PUT_(st_perInstance, @symbol(ParentObjectInstance), __mkSmallInteger(perfInstancePtr->ParentObjectInstance));
-                __AT_PUT_(st_perInstance, @symbol(NameOffset), __mkSmallInteger(perfInstancePtr->NameOffset));
-                __AT_PUT_(st_perInstance, @symbol(NameLength), __mkSmallInteger(perfInstancePtr->NameLength));
-
-                //setup the instance pointer to the its end
-                perfInstancePtr = (PERF_INSTANCE_DEFINITION *)((char *)perfInstancePtr + perfInstancePtr->ByteLength);
-
-                //setup the counter block pointer
-                perfCounterBlockPtr = (PERF_COUNTER_BLOCK *)(perfInstancePtr);
-
-                //get the instance raw data
-                __AT_PUT_(st_perInstance, @symbol(RawData), __MKBYTEARRAY(perfCounterBlockPtr, perfCounterBlockPtr->ByteLength));
-
-                //setup the instance pointer to the next instance
-                perfInstancePtr = (PERF_INSTANCE_DEFINITION *)((char *)perfCounterBlockPtr + perfCounterBlockPtr->ByteLength);
-            }
-        }
-
-        //setup the object pointer to the next object
-        perfObjectPtr = (PERF_OBJECT_TYPE *)((char *)perfObjectPtr + perfObjectPtr->TotalByteLength);
+	//add the st_perObject dictionary to st_objectArray
+	st_perObject = __SSEND0(@global(Dictionary), @symbol(new), 0);
+	__AT_PUT_(st_objectArray, __mkSmallInteger(objectIterator+1), st_perObject);
+
+	//get the object data
+	__AT_PUT_(st_perObject, @symbol(ObjectNameTitleIndex), __mkSmallInteger(perfObjectPtr->ObjectNameTitleIndex));
+	__AT_PUT_(st_perObject, @symbol(DetailLevel), __mkSmallInteger(perfObjectPtr->DetailLevel));
+	__AT_PUT_(st_perObject, @symbol(NumCounters), __mkSmallInteger(perfObjectPtr->NumCounters));
+	__AT_PUT_(st_perObject, @symbol(NumInstances), __mkSmallInteger(perfObjectPtr->NumInstances));
+
+	//setup counter array and initialize its pointer
+	st_counterArray = __ARRAY_NEW_INT(perfObjectPtr->NumCounters);
+	perfCounterPtr = (PERF_COUNTER_DEFINITION *)((char *)perfObjectPtr + perfObjectPtr->HeaderLength);
+
+	//add the st_counterArray to st_perObject dictionary
+	__AT_PUT_(st_perObject, @symbol(Counters), st_counterArray);
+
+	//iterate all following counter definition
+	for (counterIterator=0; counterIterator<perfObjectPtr->NumCounters; counterIterator++) {
+	    //add the st_perCounter dictionary to st_counterArray
+	    st_perCounter = __SSEND0(@global(Dictionary), @symbol(new), 0);
+	    __AT_PUT_(st_counterArray, __mkSmallInteger(counterIterator+1), st_perCounter);
+
+	    //get the counter data
+	    __AT_PUT_(st_perCounter, @symbol(CounterNameTitleIndex), __mkSmallInteger(perfCounterPtr->CounterNameTitleIndex));
+	    __AT_PUT_(st_perCounter, @symbol(CounterTypeBits), __mkSmallInteger(perfCounterPtr->CounterType));
+	    __AT_PUT_(st_perCounter, @symbol(CounterSize), __mkSmallInteger(perfCounterPtr->CounterSize));
+	    __AT_PUT_(st_perCounter, @symbol(CounterOffset), __mkSmallInteger(perfCounterPtr->CounterOffset));
+
+	    //put the counter type size
+	    switch (perfCounterPtr->CounterType & PERF_SIZE_MASK) {
+		case PERF_SIZE_DWORD:
+		    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(DWORD));
+		    break;
+		case PERF_SIZE_LARGE:
+		    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(LARGE));
+		    break;
+		case PERF_SIZE_ZERO:
+		    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(ZERO));
+		    break;
+		case PERF_SIZE_VARIABLE_LEN:
+		    __AT_PUT_(st_perCounter, @symbol(SIZE),@symbol(VARIABLE_LEN));
+		    break;
+	    }
+	    switch (perfCounterPtr->CounterType & PERF_TYPE_MASK) {
+		case PERF_TYPE_NUMBER:
+		    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(NUMBER));
+		    switch (perfCounterPtr->CounterType & PERF_NUMBERTYPE_MASK) {
+			case PERF_NUMBER_HEX:
+			    __AT_PUT_(st_perCounter, @symbol(NUMBER),@symbol(HEX));
+			    break;
+			case PERF_NUMBER_DECIMAL:
+			    __AT_PUT_(st_perCounter, @symbol(NUMBER),@symbol(DECIMAL));
+			    break;
+			case PERF_NUMBER_DEC_1000:
+			    __AT_PUT_(st_perCounter, @symbol(NUMBER),@symbol(DEC_1000));
+			    break;
+		    }
+		    break;
+		case PERF_TYPE_COUNTER:
+		    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(COUNTER));
+		    switch (perfCounterPtr->CounterType & PERF_COUNTERTYPE_MASK) {
+			case PERF_COUNTER_VALUE:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(VALUE));
+			    break;
+			case PERF_COUNTER_RATE:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(RATE));
+			    break;
+			case PERF_COUNTER_FRACTION:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(FRACTION));
+			    break;
+			case PERF_COUNTER_BASE:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(BASE));
+			    break;
+			case PERF_COUNTER_ELAPSED:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(ELAPSED));
+			    break;
+			case PERF_COUNTER_QUEUELEN:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(QUEUELEN));
+			    break;
+			case PERF_COUNTER_HISTOGRAM:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(HISTOGRAM));
+			    break;
+			case PERF_COUNTER_PRECISION:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(PRECISION));
+			    break;
+		    }
+		    break;
+		case PERF_TYPE_TEXT:
+		    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(TEXT));
+		    switch (perfCounterPtr->CounterType & PERF_TEXTTYPE_MASK) {
+			case PERF_TEXT_UNICODE:
+			    __AT_PUT_(st_perCounter, @symbol(TEXT),@symbol(UNICODE));
+			    break;
+			case PERF_TEXT_ASCII:
+			    __AT_PUT_(st_perCounter, @symbol(TEXT),@symbol(ASCII));
+			    break;
+		    }
+		    break;
+		case PERF_TYPE_ZERO:
+		    __AT_PUT_(st_perCounter, @symbol(TYPE),@symbol(ZERO));
+		    break;
+	    }
+
+	    //setup the counter pointer to the next counter definition
+	    perfCounterPtr = (PERF_COUNTER_DEFINITION *)((char *)perfCounterPtr + perfCounterPtr->ByteLength);
+	}
+
+	//goon dependent on the count of instances
+	if (perfObjectPtr->NumInstances < 1) {
+	    perfCounterBlockPtr = (PERF_COUNTER_BLOCK *)(perfCounterPtr);
+	    __AT_PUT_(st_perObject, @symbol(RawData), __MKBYTEARRAY(perfCounterBlockPtr, perfCounterBlockPtr->ByteLength));
+	} else {
+	    //setup the instance pointer to the end of all counters
+	    perfInstancePtr = (PERF_INSTANCE_DEFINITION *)(perfCounterPtr);
+
+	    //setup st_instanceArray and add it to st_perObject
+	    st_instanceArray = __ARRAY_NEW_INT(perfObjectPtr->NumInstances);
+	    __AT_PUT_(st_perObject, @symbol(Instances), st_instanceArray);
+
+	    //iterate the instances
+	    for (instanceIterator=0; instanceIterator<perfObjectPtr->NumInstances; instanceIterator++) {
+		//setup st_perInstance and add it to st_instanceArray
+		st_perInstance = __SSEND0(@global(Dictionary), @symbol(new), 0);
+		__AT_PUT_(st_instanceArray, __mkSmallInteger(instanceIterator+1), st_perInstance);
+
+		//get the instance data
+		__AT_PUT_(st_perInstance, @symbol(Name), __MKBYTEARRAY((wchar_t *)((BYTE *)perfInstancePtr + perfInstancePtr->NameOffset),perfInstancePtr->NameLength));
+		__AT_PUT_(st_perInstance, @symbol(ParentObjectTitleIndex), __mkSmallInteger(perfInstancePtr->ParentObjectTitleIndex));
+		__AT_PUT_(st_perInstance, @symbol(ParentObjectInstance), __mkSmallInteger(perfInstancePtr->ParentObjectInstance));
+		__AT_PUT_(st_perInstance, @symbol(NameOffset), __mkSmallInteger(perfInstancePtr->NameOffset));
+		__AT_PUT_(st_perInstance, @symbol(NameLength), __mkSmallInteger(perfInstancePtr->NameLength));
+
+		//setup the instance pointer to the its end
+		perfInstancePtr = (PERF_INSTANCE_DEFINITION *)((char *)perfInstancePtr + perfInstancePtr->ByteLength);
+
+		//setup the counter block pointer
+		perfCounterBlockPtr = (PERF_COUNTER_BLOCK *)(perfInstancePtr);
+
+		//get the instance raw data
+		__AT_PUT_(st_perInstance, @symbol(RawData), __MKBYTEARRAY(perfCounterBlockPtr, perfCounterBlockPtr->ByteLength));
+
+		//setup the instance pointer to the next instance
+		perfInstancePtr = (PERF_INSTANCE_DEFINITION *)((char *)perfCounterBlockPtr + perfCounterBlockPtr->ByteLength);
+	    }
+	}
+
+	//setup the object pointer to the next object
+	perfObjectPtr = (PERF_OBJECT_TYPE *)((char *)perfObjectPtr + perfObjectPtr->TotalByteLength);
     }
 %}.
     objectArray := st_objectArray.
@@ -12173,61 +12186,61 @@
     perfTime100nSec := st_perfTime100nSec.
 
     getNameBlock := [:i|
-        self class counterIndexTextDictionary at:i ifAbsent:['<<no name>>'].
+	self class counterIndexTextDictionary at:i ifAbsent:['<<no name>>'].
     ].
 
     getCounterValueBlock := [:counter :rawData|
-        |offset counterValue|
-
-        offset := counter at:#CounterOffset.
-        offset >= rawData size ifTrue:[
-            counterValue := nil.
-        ] ifFalse:[
-            (counter at:#SIZE) == #LARGE ifTrue:[
-                counterValue := rawData unsignedLongLongAt:offset + 1 bigEndian:false.
-            ] ifFalse:[
-                (counter at:#SIZE) == #DWORD ifTrue:[
-                    counterValue := rawData unsignedLongAt:offset + 1 bigEndian:false.
-                ] ifFalse:[
-                    self halt.
-                ].
-            ].
-        ].
-
-        counterValue
+	|offset counterValue|
+
+	offset := counter at:#CounterOffset.
+	offset >= rawData size ifTrue:[
+	    counterValue := nil.
+	] ifFalse:[
+	    (counter at:#SIZE) == #LARGE ifTrue:[
+		counterValue := rawData unsignedLongLongAt:offset + 1 bigEndian:false.
+	    ] ifFalse:[
+		(counter at:#SIZE) == #DWORD ifTrue:[
+		    counterValue := rawData unsignedLongAt:offset + 1 bigEndian:false.
+		] ifFalse:[
+		    self halt.
+		].
+	    ].
+	].
+
+	counterValue
     ].
 
     objectArray do:[:anObject|
-        "setup the object name"
-        anObject at:#ObjectNameTitle put:(getNameBlock value:(anObject at:#ObjectNameTitleIndex)).
-
-        "setup the name and a counter value array to each counter"
-        (anObject at:#Counters) do:[:aCounter|
-            aCounter at:#CounterNameTitle put:(getNameBlock value:(aCounter at:#CounterNameTitleIndex)).
-            aCounter at:#CounterValueArray put:OrderedCollection new.
-        ].
-
-        (anObject at:#NumInstances) < 1 ifTrue:[
-            |rawData|
-
-            rawData := anObject at:#RawData.
-
-            (anObject at:#Counters) do:[:aCounter|
-                (aCounter at:#CounterValueArray) add:(getCounterValueBlock value:aCounter value:rawData).
-            ].
-        ] ifFalse:[
-            (anObject at:#Instances) do:[:anInstance|
-                |rawData|
-
-                rawData := anInstance at:#RawData.
-
-                anInstance at:#Name put:((Unicode16String fromBytes:(anInstance at:#Name) copy swapBytes) copyWithoutLast:1).
-
-                (anObject at:#Counters) do:[:aCounter|
-                    (aCounter at:#CounterValueArray) add:(getCounterValueBlock value:aCounter value:rawData).
-                ].
-            ].
-        ].
+	"setup the object name"
+	anObject at:#ObjectNameTitle put:(getNameBlock value:(anObject at:#ObjectNameTitleIndex)).
+
+	"setup the name and a counter value array to each counter"
+	(anObject at:#Counters) do:[:aCounter|
+	    aCounter at:#CounterNameTitle put:(getNameBlock value:(aCounter at:#CounterNameTitleIndex)).
+	    aCounter at:#CounterValueArray put:OrderedCollection new.
+	].
+
+	(anObject at:#NumInstances) < 1 ifTrue:[
+	    |rawData|
+
+	    rawData := anObject at:#RawData.
+
+	    (anObject at:#Counters) do:[:aCounter|
+		(aCounter at:#CounterValueArray) add:(getCounterValueBlock value:aCounter value:rawData).
+	    ].
+	] ifFalse:[
+	    (anObject at:#Instances) do:[:anInstance|
+		|rawData|
+
+		rawData := anInstance at:#RawData.
+
+		anInstance at:#Name put:((Unicode16String fromBytes:(anInstance at:#Name) copy swapBytes) copyWithoutLast:1).
+
+		(anObject at:#Counters) do:[:aCounter|
+		    (aCounter at:#CounterValueArray) add:(getCounterValueBlock value:aCounter value:rawData).
+		].
+	    ].
+	].
     ].
 
     ^ self
@@ -12238,7 +12251,7 @@
 cachedResults
 
     cachedResults isNil ifTrue:[
-        cachedResults := IdentityDictionary new.
+	cachedResults := IdentityDictionary new.
     ].
 
     ^ cachedResults
@@ -12265,8 +12278,8 @@
 aliveTime
 
     "
-        returns the time a data stays alive, in milliseconds
-        before we push a new call and overwrite the data
+	returns the time a data stays alive, in milliseconds
+	before we push a new call and overwrite the data
     "
 
     ^ self subclassResponsibility
@@ -12289,18 +12302,18 @@
 data
 
     self synchronized:[
-        |lastTS|
-
-        lastTS := self lastTimestamp.
-        lastTS isNil ifTrue:[
-            ^ self dataBasic
-        ] ifFalse:[
-            Timestamp now asMilliseconds - lastTS >= self aliveTime ifTrue:[
-                ^ self dataBasic
-            ] ifFalse:[
-                ^ self lastData
-            ].
-        ].
+	|lastTS|
+
+	lastTS := self lastTimestamp.
+	lastTS isNil ifTrue:[
+	    ^ self dataBasic
+	] ifFalse:[
+	    Timestamp now asMilliseconds - lastTS >= self aliveTime ifTrue:[
+		^ self dataBasic
+	    ] ifFalse:[
+		^ self lastData
+	    ].
+	].
     ].
 !
 
@@ -12324,9 +12337,9 @@
     data := self data.
 
     self indexedNameNumbered == 0 ifTrue:[
-        object := data objectArray at:1 ifAbsent:[debugBlock value:(object at:#ObjectNameTitle)].
+	object := data objectArray at:1 ifAbsent:[debugBlock value:(object at:#ObjectNameTitle)].
     ] ifFalse:[
-        object := data objectArray detect:[:el|(el at:#ObjectNameTitleIndex) == self indexedNameNumbered] ifNone:[self error:'counter not found'].
+	object := data objectArray detect:[:el|(el at:#ObjectNameTitleIndex) == self indexedNameNumbered] ifNone:[self error:'counter not found'].
     ].
 
     ^ (object at:#Counters) collect:[:el|Array with:(el at:#CounterNameTitle) with:(el at:#CounterNameTitleIndex)].
@@ -12339,14 +12352,14 @@
 
     cachedResult := self cachedResults at:aSelector ifAbsent:nil.
     cachedResult notNil ifTrue:[
-        |currentResult|
-
-        currentResult := self perform:aSelector.
-        return := self getPerSecondViaResult1:cachedResult result2:currentResult.
-
-        self cachedResults at:aSelector put:currentResult.
+	|currentResult|
+
+	currentResult := self perform:aSelector.
+	return := self getPerSecondViaResult1:cachedResult result2:currentResult.
+
+	self cachedResults at:aSelector put:currentResult.
     ] ifFalse:[
-        self cachedResults at:aSelector put:(self perform:aSelector).
+	self cachedResults at:aSelector put:(self perform:aSelector).
     ].
 
     ^ return
@@ -12370,15 +12383,15 @@
     globalResult := Dictionary new.
 
     values2 keysDo:[:key|
-        |difference|
-
-        difference := (values2 at:key) - (values1 at:key).
-
-        runTimeInS = 0 ifTrue:[
-            globalResult at:key put:0.
-        ] ifFalse:[
-            globalResult at:key put:(difference / runTimeInS) asFloat.
-        ].
+	|difference|
+
+	difference := (values2 at:key) - (values1 at:key).
+
+	runTimeInS = 0 ifTrue:[
+	    globalResult at:key put:0.
+	] ifFalse:[
+	    globalResult at:key put:(difference / runTimeInS) asFloat.
+	].
     ].
 
     ^ globalResult
@@ -12396,15 +12409,15 @@
     globalResult := Dictionary new.
 
     values2 keysDo:[:key|
-        |difference|
-
-        difference := (values2 at:key) - (values1 at:key).
-
-        runTimeInS = 0 ifTrue:[
-            globalResult at:key put:0.
-        ] ifFalse:[
-            globalResult at:key put:(difference / runTimeInS) asFloat.
-        ].
+	|difference|
+
+	difference := (values2 at:key) - (values1 at:key).
+
+	runTimeInS = 0 ifTrue:[
+	    globalResult at:key put:0.
+	] ifFalse:[
+	    globalResult at:key put:(difference / runTimeInS) asFloat.
+	].
     ].
 
     ^ globalResult
@@ -12415,14 +12428,14 @@
 
     cachedResult := self cachedResults at:aSelector ifAbsent:nil.
     cachedResult notNil ifTrue:[
-        |currentResult|
-
-        currentResult := self perform:aSelector.
-        return := self getUsageViaResult1:cachedResult result2:currentResult.
-
-        self cachedResults at:aSelector put:currentResult.
+	|currentResult|
+
+	currentResult := self perform:aSelector.
+	return := self getUsageViaResult1:cachedResult result2:currentResult.
+
+	self cachedResults at:aSelector put:currentResult.
     ] ifFalse:[
-        self cachedResults at:aSelector put:(self perform:aSelector).
+	self cachedResults at:aSelector put:(self perform:aSelector).
     ].
 
     ^ return
@@ -12445,22 +12458,22 @@
     value2 := result2 at:#values.
 
     value1 keysDo:[:key|
-        |diff dPerSecond load1024 res|
-
-        diff := (value2 at:key) - (value1 at:key).
-        diff := diff bitShift:10.
-
-        deltaTIn100Ns = 0 ifTrue:[
-            dPerSecond := 0.
-        ] ifFalse:[
-            dPerSecond := (diff / deltaTIn100Ns) asFloat.
-        ].
-        load1024 := 1024 - dPerSecond.
-
-        res := (load1024 / 1024 * 100) asFloat.
-        res < 0 ifTrue:[res := 0].
-
-        globalResult at:key put:res.
+	|diff dPerSecond load1024 res|
+
+	diff := (value2 at:key) - (value1 at:key).
+	diff := diff bitShift:10.
+
+	deltaTIn100Ns = 0 ifTrue:[
+	    dPerSecond := 0.
+	] ifFalse:[
+	    dPerSecond := (diff / deltaTIn100Ns) asFloat.
+	].
+	load1024 := 1024 - dPerSecond.
+
+	res := (load1024 / 1024 * 100) asFloat.
+	res < 0 ifTrue:[res := 0].
+
+	globalResult at:key put:res.
     ].
 
     ^ globalResult
@@ -12476,22 +12489,22 @@
     value2 := result2 at:#values.
 
     value1 keysDo:[:key|
-        |diff dPerSecond load1024 res|
-
-        diff := (value2 at:key) - (value1 at:key).
-        diff := diff bitShift:10.
-
-        deltaTIn100Ns = 0 ifTrue:[
-            dPerSecond := 0.
-        ] ifFalse:[
-            dPerSecond := (diff / deltaTIn100Ns) asFloat.
-        ].
-        load1024 := 1024 - dPerSecond.
-
-        res := (load1024 / 1024 * 100) asFloat.
-        res < 0 ifTrue:[res := 0].
-
-        globalResult at:key put:res.
+	|diff dPerSecond load1024 res|
+
+	diff := (value2 at:key) - (value1 at:key).
+	diff := diff bitShift:10.
+
+	deltaTIn100Ns = 0 ifTrue:[
+	    dPerSecond := 0.
+	] ifFalse:[
+	    dPerSecond := (diff / deltaTIn100Ns) asFloat.
+	].
+	load1024 := 1024 - dPerSecond.
+
+	res := (load1024 / 1024 * 100) asFloat.
+	res < 0 ifTrue:[res := 0].
+
+	globalResult at:key put:res.
     ].
 
     ^ globalResult
@@ -12515,15 +12528,15 @@
     |data object counter values debugBlock numInstances|
 
     debugBlock := [:obj|
-        ^ 'obj:', obj , ' this:', self printString , ' idx:', self indexedName
+	^ 'obj:', obj , ' this:', self printString , ' idx:', self indexedName
     ].
 
     data := self dataBasic.
 
     objectIndex == 0 ifTrue:[
-        object := data objectArray at:1 ifAbsent:[debugBlock value:(object at:#ObjectNameTitle)].
+	object := data objectArray at:1 ifAbsent:[debugBlock value:(object at:#ObjectNameTitle)].
     ] ifFalse:[
-        object := data objectArray detect:[:el|(el at:#ObjectNameTitleIndex) == objectIndex] ifNone:[debugBlock value:(object at:#ObjectNameTitle)].
+	object := data objectArray detect:[:el|(el at:#ObjectNameTitleIndex) == objectIndex] ifNone:[debugBlock value:(object at:#ObjectNameTitle)].
     ].
 
     counter := (object at:#Counters) detect:[:aCounter|(aCounter at:#CounterNameTitleIndex) == counterIndex] ifNone:[debugBlock value:(object at:#ObjectNameTitle)].
@@ -12532,28 +12545,28 @@
     numInstances := object at:#NumInstances.
 
     numInstances > 0 ifTrue:[
-        1 to:numInstances do:[:idx|
-            |value instanceName|
-
-            value := (counter at:#CounterValueArray) at:idx.
-            instanceName := ((object at:#Instances) at:idx) at:#Name.
-
-            values at:instanceName put:value.
-        ].
+	1 to:numInstances do:[:idx|
+	    |value instanceName|
+
+	    value := (counter at:#CounterValueArray) at:idx.
+	    instanceName := ((object at:#Instances) at:idx) at:#Name.
+
+	    values at:instanceName put:value.
+	].
     ] ifFalse:[
-        values at:'<<singleton>>' put:(counter at:#CounterValueArray) first.
+	values at:'<<singleton>>' put:(counter at:#CounterValueArray) first.
     ].
 
     boolean ifTrue:[
-        |return|
-
-        return := IdentityDictionary new.
-        return at:#time put:data perfTime.
-        return at:#frequence put:data perfFreq.
-        return at:#time100nSec put:data perfTime100nSec.
-        return at:#values put:values.
-
-        ^ return
+	|return|
+
+	return := IdentityDictionary new.
+	return at:#time put:data perfTime.
+	return at:#frequence put:data perfFreq.
+	return at:#time100nSec put:data perfTime100nSec.
+	return at:#values put:values.
+
+	^ return
     ].
 
     ^ values
@@ -12575,15 +12588,15 @@
     |data object counter values debugBlock numInstances|
 
     debugBlock := [:obj|
-        ^ 'obj:', obj , ' this:', self printString , ' idx:', self indexedName
+	^ 'obj:', obj , ' this:', self printString , ' idx:', self indexedName
     ].
 
     data := self data.
 
     objectIndex == 0 ifTrue:[
-        object := data objectArray at:1 ifAbsent:[debugBlock value:(object at:#ObjectNameTitle)].
+	object := data objectArray at:1 ifAbsent:[debugBlock value:(object at:#ObjectNameTitle)].
     ] ifFalse:[
-        object := data objectArray detect:[:el|(el at:#ObjectNameTitleIndex) == objectIndex] ifNone:[debugBlock value:(object at:#ObjectNameTitle)].
+	object := data objectArray detect:[:el|(el at:#ObjectNameTitleIndex) == objectIndex] ifNone:[debugBlock value:(object at:#ObjectNameTitle)].
     ].
 
     counter := (object at:#Counters) detect:[:aCounter|(aCounter at:#CounterNameTitleIndex) == counterIndex] ifNone:[debugBlock value:(object at:#ObjectNameTitle)].
@@ -12592,28 +12605,28 @@
     numInstances := object at:#NumInstances.
 
     numInstances > 0 ifTrue:[
-        1 to:numInstances do:[:idx|
-            |value instanceName|
-
-            value := (counter at:#CounterValueArray) at:idx.
-            instanceName := ((object at:#Instances) at:idx) at:#Name.
-
-            values at:instanceName put:value.
-        ].
+	1 to:numInstances do:[:idx|
+	    |value instanceName|
+
+	    value := (counter at:#CounterValueArray) at:idx.
+	    instanceName := ((object at:#Instances) at:idx) at:#Name.
+
+	    values at:instanceName put:value.
+	].
     ] ifFalse:[
-        values at:'<<singleton>>' put:(counter at:#CounterValueArray) first.
+	values at:'<<singleton>>' put:(counter at:#CounterValueArray) first.
     ].
 
     boolean ifTrue:[
-        |return|
-
-        return := IdentityDictionary new.
-        return at:#time put:data perfTime.
-        return at:#frequence put:data perfFreq.
-        return at:#time100nSec put:data perfTime100nSec.
-        return at:#values put:values.
-
-        ^ return
+	|return|
+
+	return := IdentityDictionary new.
+	return at:#time put:data perfTime.
+	return at:#frequence put:data perfFreq.
+	return at:#time100nSec put:data perfTime100nSec.
+	return at:#values put:values.
+
+	^ return
     ].
 
     ^ values
@@ -12624,7 +12637,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -12646,7 +12659,7 @@
     ^ self getValuesByCounter:218 timed:true
 
     "
-        self current diskBytes
+	self current diskBytes
     "
 !
 
@@ -12654,7 +12667,7 @@
     ^ self getBasicValuesByCounter:218 timed:true
 
     "
-        self current diskBytesBasic
+	self current diskBytesBasic
     "
 !
 
@@ -12662,7 +12675,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskBytes]
 
     "
-        self current diskBytesPerSecond
+	self current diskBytesPerSecond
     "
 !
 
@@ -12670,7 +12683,7 @@
     ^ self getPerSecondFromLast:#diskBytesBasic
 
     "
-        self current diskBytesPerSecondFromLast
+	self current diskBytesPerSecondFromLast
     "
 !
 
@@ -12678,7 +12691,7 @@
     ^ self getValuesByCounter:198
 
     "
-        self current diskQueueLength
+	self current diskQueueLength
     "
 !
 
@@ -12686,7 +12699,7 @@
     ^ self getValuesByCounter:214 timed:true
 
     "
-        self current diskRead
+	self current diskRead
     "
 !
 
@@ -12694,7 +12707,7 @@
     ^ self getBasicValuesByCounter:214 timed:true
 
     "
-        self current diskReadBasic
+	self current diskReadBasic
     "
 !
 
@@ -12702,7 +12715,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskRead]
 
     "
-        self current diskReadsPerSecond
+	self current diskReadsPerSecond
     "
 !
 
@@ -12710,7 +12723,7 @@
     ^ self getPerSecondFromLast:#diskReadBasic
 
     "
-        self current diskReadsPerSecondFromLast
+	self current diskReadsPerSecondFromLast
     "
 !
 
@@ -12718,7 +12731,7 @@
     ^ self getValuesByCounter:408
 
     "
-        self current diskSpaceFreeInMegaByte
+	self current diskSpaceFreeInMegaByte
     "
 !
 
@@ -12726,7 +12739,7 @@
     ^ self getValuesByCounter:212 timed:true
 
     "
-        self current diskTransfers
+	self current diskTransfers
     "
 !
 
@@ -12734,7 +12747,7 @@
     ^ self getBasicValuesByCounter:212 timed:true
 
     "
-        self current diskTransfersBasic
+	self current diskTransfersBasic
     "
 !
 
@@ -12742,7 +12755,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskTransfers]
 
     "
-        self current diskTransfersPerSecond
+	self current diskTransfersPerSecond
     "
 !
 
@@ -12750,7 +12763,7 @@
     ^ self getPerSecondFromLast:#diskTransfersBasic
 
     "
-        self current diskTransfersPerSecondFromlast
+	self current diskTransfersPerSecondFromlast
     "
 !
 
@@ -12758,7 +12771,7 @@
     ^ self getValuesByCounter:216 timed:true
 
     "
-        self current diskWrite
+	self current diskWrite
     "
 !
 
@@ -12766,7 +12779,7 @@
     ^ self getBasicValuesByCounter:216 timed:true
 
     "
-        self current diskWriteBasic
+	self current diskWriteBasic
     "
 !
 
@@ -12774,7 +12787,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskWrite]
 
     "
-        self current diskWritesPerSecond
+	self current diskWritesPerSecond
     "
 !
 
@@ -12782,7 +12795,7 @@
     ^ self getPerSecondFromLast:#diskWriteBasic
 
     "
-        self current diskWritesPerSecondFromLast
+	self current diskWritesPerSecondFromLast
     "
 ! !
 
@@ -12791,7 +12804,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -12820,12 +12833,12 @@
     indexNameArray := OrderedCollection new.
 
     data objectArray do:[:anObject|
-        |index name|
-
-        index := anObject at:#ObjectNameTitleIndex.
-        name := Win32OperatingSystem::PerformanceData counterIndexTextDictionary at:index.
-
-        indexNameArray add:(Array with:name with:index).
+	|index name|
+
+	index := anObject at:#ObjectNameTitleIndex.
+	name := Win32OperatingSystem::PerformanceData counterIndexTextDictionary at:index.
+
+	indexNameArray add:(Array with:name with:index).
     ].
 
     ^ indexNameArray
@@ -12836,7 +12849,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -12858,7 +12871,7 @@
     ^ self getValuesByCounter:1380
 
     "
-        self current availableKBytes
+	self current availableKBytes
     "
 !
 
@@ -12866,7 +12879,7 @@
     ^ self getValuesByCounter:1382
 
     "
-        self current availableMBytes
+	self current availableMBytes
     "
 ! !
 
@@ -12875,7 +12888,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -12901,7 +12914,7 @@
     ^ self getValuesByCounter:264 timed:true
 
     "
-        self current bytesReceived
+	self current bytesReceived
     "
 !
 
@@ -12909,7 +12922,7 @@
     ^ self getBasicValuesByCounter:264 timed:true
 
     "
-        self current bytesReceivedBasic
+	self current bytesReceivedBasic
     "
 !
 
@@ -12917,7 +12930,7 @@
     ^ self getPerSecondViaPerformBlock:[self bytesReceived]
 
     "
-        self current bytesReceivedPerSecond
+	self current bytesReceivedPerSecond
     "
 !
 
@@ -12925,7 +12938,7 @@
     ^ self getPerSecondFromLast:#bytesReceivedBasic
 
     "
-        self current bytesReceivedPerSecondFromlast
+	self current bytesReceivedPerSecondFromlast
     "
 !
 
@@ -12933,7 +12946,7 @@
     ^ self getValuesByCounter:506 timed:true
 
     "
-        self current bytesSent
+	self current bytesSent
     "
 !
 
@@ -12941,7 +12954,7 @@
     ^ self getBasicValuesByCounter:506 timed:true
 
     "
-        self current bytesSentBasic
+	self current bytesSentBasic
     "
 !
 
@@ -12949,7 +12962,7 @@
     ^ self getPerSecondViaPerformBlock:[self bytesSent]
 
     "
-        self current bytesSentPerSecond
+	self current bytesSentPerSecond
     "
 !
 
@@ -12957,7 +12970,7 @@
     ^ self getPerSecondFromLast:#bytesSentBasic
 
     "
-        self current bytesSentPerSecondFromlast
+	self current bytesSentPerSecondFromlast
     "
 !
 
@@ -12967,13 +12980,13 @@
     modifiedDictionary := Dictionary new.
 
     (self getPerSecondViaPerformBlock:[self bytesReceived]) keysAndValuesDo:[:key :value|
-        modifiedDictionary at:key put:(value / 1024).
+	modifiedDictionary at:key put:(value / 1024).
     ].
 
     ^ modifiedDictionary
 
     "
-        self current kBytesReceivedPerSecond
+	self current kBytesReceivedPerSecond
     "
 !
 
@@ -12986,13 +12999,13 @@
     modifiedDictionary := Dictionary new.
 
     return keysAndValuesDo:[:key :value|
-        modifiedDictionary at:key put:(value / 1024).
+	modifiedDictionary at:key put:(value / 1024).
     ].
 
     ^ modifiedDictionary
 
     "
-        self current kBytesReceivedPerSecondFromLast
+	self current kBytesReceivedPerSecondFromLast
     "
 !
 
@@ -13002,13 +13015,13 @@
     modifiedDictionary := Dictionary new.
 
     (self getPerSecondViaPerformBlock:[self bytesSent]) keysAndValuesDo:[:key :value|
-        modifiedDictionary at:key put:(value / 1024).
+	modifiedDictionary at:key put:(value / 1024).
     ].
 
     ^ modifiedDictionary
 
     "
-        self current kBytesSentPerSecond
+	self current kBytesSentPerSecond
     "
 !
 
@@ -13021,13 +13034,13 @@
     modifiedDictionary := Dictionary new.
 
     return keysAndValuesDo:[:key :value|
-        modifiedDictionary at:key put:(value / 1024).
+	modifiedDictionary at:key put:(value / 1024).
     ].
 
     ^ modifiedDictionary
 
     "
-        self current kBytesSentPerSecondFromLast
+	self current kBytesSentPerSecondFromLast
     "
 ! !
 
@@ -13036,7 +13049,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -13058,7 +13071,7 @@
     ^ self getValuesByCounter:6 timed:true
 
     "
-        self current processTime
+	self current processTime
     "
 !
 
@@ -13066,7 +13079,7 @@
     ^ self getBasicValuesByCounter:6 timed:true
 
     "
-        self current processTimeBasic
+	self current processTimeBasic
     "
 !
 
@@ -13076,13 +13089,13 @@
     modifiedDictionary := Dictionary new.
 
     (self getUsageViaPerformBlock:[self processTime]) keysAndValuesDo:[:key :value|
-        modifiedDictionary at:key put:(100 - value).
+	modifiedDictionary at:key put:(100 - value).
     ].
 
     ^ modifiedDictionary
 
     "
-        self current processUsage
+	self current processUsage
     "
 !
 
@@ -13095,13 +13108,13 @@
     modifiedDictionary := Dictionary new.
 
     return keysAndValuesDo:[:key :value|
-        modifiedDictionary at:key put:(100 - value).
+	modifiedDictionary at:key put:(100 - value).
     ].
 
     ^ modifiedDictionary
 
     "
-        self current processUsageFromLast
+	self current processUsageFromLast
     "
 !
 
@@ -13110,7 +13123,7 @@
     ^ (self data objectArray first at:#Instances) collect:[:el|el at:#Name]
 
     "
-        self current runningProcessNameList
+	self current runningProcessNameList
     "
 !
 
@@ -13119,7 +13132,7 @@
     ^ (self data objectArray first at:#NumInstances)
 
     "
-        self current runningProcesses
+	self current runningProcesses
     "
 ! !
 
@@ -13128,7 +13141,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -13150,7 +13163,7 @@
     ^ self getValuesByCounter:148 timed:true
 
     "
-        self current interrupts
+	self current interrupts
     "
 !
 
@@ -13158,7 +13171,7 @@
     ^ self getBasicValuesByCounter:148 timed:true
 
     "
-        self current interruptsBasic
+	self current interruptsBasic
     "
 !
 
@@ -13166,7 +13179,7 @@
     ^ self getPerSecondViaPerformBlock:[self interrupts]
 
     "
-        self current interruptsPerSecond
+	self current interruptsPerSecond
     "
 !
 
@@ -13174,7 +13187,7 @@
     ^ self getPerSecondFromLast:#interruptsBasic
 
     "
-        self current interruptsPerSecondFromLast
+	self current interruptsPerSecondFromLast
     "
 !
 
@@ -13182,7 +13195,7 @@
     ^ self getValuesByCounter:6 timed:true
 
     "
-        self current processorTime
+	self current processorTime
     "
 !
 
@@ -13190,7 +13203,7 @@
     ^ self getBasicValuesByCounter:6 timed:true
 
     "
-        self current processorTimeBasic
+	self current processorTimeBasic
     "
 !
 
@@ -13198,7 +13211,7 @@
     ^ self getUsageViaPerformBlock:[self processorTime]
 
     "
-        self current processorUsage
+	self current processorUsage
     "
 !
 
@@ -13206,7 +13219,7 @@
     ^ self getUsageFromLast:#processorTimeBasic
 
     "
-        self current processorUsageFromLast
+	self current processorUsageFromLast
     "
 ! !
 
@@ -13217,10 +13230,10 @@
     |defaultPriority|
 
     Error handle:[:ex |
-        Transcript showCR: 'PrinterInfo2 error getting defaultPriority - ', ex description.
-        defaultPriority := 0.
+	Transcript showCR: 'PrinterInfo2 error getting defaultPriority - ', ex description.
+	defaultPriority := 0.
     ] do:[
-        defaultPriority := self unsignedLongAt:(60 + 1)
+	defaultPriority := self unsignedLongAt:(60 + 1)
     ].
     ^ defaultPriority
 
@@ -13232,15 +13245,15 @@
     |pComment|
 
     Error handle:[:ex |
-        Transcript showCR: 'PrinterInfo2 error getting pComment - ', ex description.
-        pComment := 0.
+	Transcript showCR: 'PrinterInfo2 error getting pComment - ', ex description.
+	pComment := 0.
     ] do:[
-        pComment := self unsignedLongAt:(20 + 1).
+	pComment := self unsignedLongAt:(20 + 1).
     ].
 
     ^ pComment == 0
-        ifTrue:''
-        ifFalse:[ (ExternalBytes address:pComment) stringAt:1 ]
+	ifTrue:''
+	ifFalse:[ (ExternalBytes address:pComment) stringAt:1 ]
 
     "Created: / 01-08-2006 / 14:02:55 / fm"
     "Modified: / 16-04-2007 / 13:08:39 / cg"
@@ -13250,10 +13263,10 @@
     |pName|
 
     Error handle:[:ex |
-        Transcript showCR: 'PrinterInfo2 error getting pDriverName - ', ex description.
-        pName := 0.
+	Transcript showCR: 'PrinterInfo2 error getting pDriverName - ', ex description.
+	pName := 0.
     ] do:[
-        pName := self unsignedLongAt:(16 + 1).
+	pName := self unsignedLongAt:(16 + 1).
     ].
     pName == 0 ifTrue:[^ ''].
     ^ (ExternalBytes address:pName) stringAt:1
@@ -13266,18 +13279,18 @@
     |pLocation externalBytes|
 
     Error handle:[:ex |
-        Transcript showCR: 'PrinterInfo2 error getting pLocation - ', ex description.
-        pLocation := 0.
+	Transcript showCR: 'PrinterInfo2 error getting pLocation - ', ex description.
+	pLocation := 0.
     ] do:[
-        pLocation := self unsignedLongAt:(24 + 1).
+	pLocation := self unsignedLongAt:(24 + 1).
     ].
 
     pLocation == 0 ifTrue:[^ nil].
 
     externalBytes := ExternalBytes address:pLocation.
     ^ externalBytes isEmpty
-        ifTrue:[ nil ]
-        ifFalse:[ externalBytes stringAt:1 ]
+	ifTrue:[ nil ]
+	ifFalse:[ externalBytes stringAt:1 ]
 
     "Created: / 01-08-2006 / 14:03:21 / fm"
     "Modified: / 18-10-2006 / 12:06:45 / User"
@@ -13289,10 +13302,10 @@
     |priority|
 
     Error handle:[:ex |
-        Transcript showCR: 'PrinterInfo2 error getting priority - ', ex description.
-        priority := 0.
+	Transcript showCR: 'PrinterInfo2 error getting priority - ', ex description.
+	priority := 0.
     ] do:[
-        priority := self unsignedLongAt: 56 + 1
+	priority := self unsignedLongAt: 56 + 1
     ].
     ^ priority
 
@@ -13305,10 +13318,10 @@
     |status|
 
     Error handle:[:ex |
-        Transcript showCR: 'PrinterInfo2 error getting status - ', ex description.
-        status := -1.
+	Transcript showCR: 'PrinterInfo2 error getting status - ', ex description.
+	status := -1.
     ] do:[
-        status := self unsignedLongAt: 72 + 1
+	status := self unsignedLongAt: 72 + 1
     ].
     ^ status
 
@@ -13322,13 +13335,13 @@
     "returns a collection of root keyNames"
 
     ^ #(
-        'HKEY_CLASSES_ROOT'
-        'HKEY_CURRENT_USER'
-        'HKEY_LOCAL_MACHINE'
-        'HKEY_USERS'
-        'HKEY_PERFORMANCE_DATA'
-        'HKEY_CURRENT_CONFIG'
-        'HKEY_DYN_DATA'
+	'HKEY_CLASSES_ROOT'
+	'HKEY_CURRENT_USER'
+	'HKEY_LOCAL_MACHINE'
+	'HKEY_USERS'
+	'HKEY_PERFORMANCE_DATA'
+	'HKEY_CURRENT_CONFIG'
+	'HKEY_DYN_DATA'
       )
 !
 
@@ -13345,149 +13358,149 @@
     Interface to a WIN32 registry.
 
     As this is a private class, access it via
-        Win32OperatingSystem registryEntry
+	Win32OperatingSystem registryEntry
 
     [author:]
-        Claus Gittinger (initial version & cleanup)
+	Claus Gittinger (initial version & cleanup)
 "
 !
 
 examples
 "
     retrieve an existing entry by key:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'
+									[exEnd]
 
 
     retrieve a non-existing entry by key:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\xxx'
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\xxx'
+									[exEnd]
 
 
     ask a keys value:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion'.
-        Transcript show:'Windows serial NR:'; showCR:(k valueNamed:'ProductId').
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'.
-        Transcript showCR:(k valueNamed:'CurrentVersion').
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion'.
+	Transcript show:'Windows serial NR:'; showCR:(k valueNamed:'ProductId').
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'.
+	Transcript showCR:(k valueNamed:'CurrentVersion').
+									[exEnd]
 
 
     create a sub-key (if not already present):
-                                                                        [exBegin]
-        |k subKey|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'.
-        subKey := k createSubKeyNamed:'RegistryDemo'
-                                                                        [exEnd]
+									[exBegin]
+	|k subKey|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'.
+	subKey := k createSubKeyNamed:'RegistryDemo'
+									[exEnd]
 
 
     change a keys value:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\RegistryDemo'.
-        k valueNamed:'FooBarBaz' put:'a foo bar baz string'.
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\RegistryDemo'.
+	k valueNamed:'FooBarBaz' put:'a foo bar baz string'.
+									[exEnd]
 
     delete a value:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\RegistryDemo'.
-        k deleteValueNamed:'FooBarBaz'.
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\RegistryDemo'.
+	k deleteValueNamed:'FooBarBaz'.
+									[exEnd]
 
     delete a key:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'.
-        k deleteSubKeyNamed:'RegistryDemo'.
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'.
+	k deleteSubKeyNamed:'RegistryDemo'.
+									[exEnd]
 
     enumerate keys:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software'.
-        k subKeysDo:[:subKey |
-            Transcript showCR:subKey path
-        ]
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software'.
+	k subKeysDo:[:subKey |
+	    Transcript showCR:subKey path
+	]
+									[exEnd]
 
     enumerate all keys (recursive):
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software'.
-        k allSubKeysDo:[:subKey |
-            Transcript showCR:subKey path
-        ]
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software'.
+	k allSubKeysDo:[:subKey |
+	    Transcript showCR:subKey path
+	]
+									[exEnd]
 
     fetch value by index:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'.
-        Transcript showCR:(k valueNameAtIndex:0)
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'.
+	Transcript showCR:(k valueNameAtIndex:0)
+									[exEnd]
 
 
     enumerate value names:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'.
-        k valueNamesDo:[:nm  |
-           Transcript showCR:nm.
-        ]
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'.
+	k valueNamesDo:[:nm  |
+	   Transcript showCR:nm.
+	]
+									[exEnd]
 
     enumerate values:
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'.
-        k valueNamesAndValuesDo:[:nm :val |
-            Transcript showCR:(nm , ' -> ' , val storeString).
-        ]
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'.
+	k valueNamesAndValuesDo:[:nm :val |
+	    Transcript showCR:(nm , ' -> ' , val storeString).
+	]
+									[exEnd]
 
     search for a value (where does NT store the domain ?):
-                                                                        [exBegin]
-        |k|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\System'.
-        k subKeysDo:[:subKey |
-            subKey subKeysDo:[:subSubKey |
-                |tcp params|
-
-                (subSubKey path asLowercase endsWith:'services') ifTrue:[
-                    tcp := subSubKey subKeyNamed:'tcpip'.
-                    tcp notNil ifTrue:[
-                        params := tcp subKeyNamed:'parameters'.
-                        params notNil ifTrue:[
-                            Transcript showCR:'Domain is found in ' , params path ,
-                                        ' value: ' , (params valueNamed:'Domain').
-                            params close.
-                        ].
-                        tcp close.
-                    ]
-                ]
-            ]
-        ]
-                                                                        [exEnd]
+									[exBegin]
+	|k|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\System'.
+	k subKeysDo:[:subKey |
+	    subKey subKeysDo:[:subSubKey |
+		|tcp params|
+
+		(subSubKey path asLowercase endsWith:'services') ifTrue:[
+		    tcp := subSubKey subKeyNamed:'tcpip'.
+		    tcp notNil ifTrue:[
+			params := tcp subKeyNamed:'parameters'.
+			params notNil ifTrue:[
+			    Transcript showCR:'Domain is found in ' , params path ,
+					' value: ' , (params valueNamed:'Domain').
+			    params close.
+			].
+			tcp close.
+		    ]
+		]
+	    ]
+	]
+									[exEnd]
 
 
 "
@@ -13535,31 +13548,31 @@
     HKEY_CLASSES_ROOT isNil ifTrue:[self initialize].
 
     specialKeyStringOrSymbol = #'HKEY_CLASSES_ROOT' ifTrue:[
-        ^ HKEY_CLASSES_ROOT.
+	^ HKEY_CLASSES_ROOT.
     ].
     specialKeyStringOrSymbol = #'HKEY_CURRENT_USER' ifTrue:[
-        ^ HKEY_CURRENT_USER.
+	^ HKEY_CURRENT_USER.
     ].
     specialKeyStringOrSymbol = #'HKEY_LOCAL_MACHINE' ifTrue:[
-        ^ HKEY_LOCAL_MACHINE.
+	^ HKEY_LOCAL_MACHINE.
     ].
     specialKeyStringOrSymbol = #'HKEY_USERS' ifTrue:[
-        ^ HKEY_USERS.
+	^ HKEY_USERS.
     ].
     specialKeyStringOrSymbol = #'HKEY_PERFORMANCE_DATA' ifTrue:[
-        ^ HKEY_PERFORMANCE_DATA.
+	^ HKEY_PERFORMANCE_DATA.
     ].
     specialKeyStringOrSymbol = #'HKEY_CURRENT_CONFIG' ifTrue:[
-        ^ HKEY_CURRENT_CONFIG.
+	^ HKEY_CURRENT_CONFIG.
     ].
     specialKeyStringOrSymbol = #'HKEY_DYN_DATA' ifTrue:[
-        ^ HKEY_DYN_DATA.
+	^ HKEY_DYN_DATA.
     ].
     specialKeyStringOrSymbol = #'HKEY_PERFORMANCE_TEXT' ifTrue:[
-        ^ HKEY_PERFORMANCE_TEXT.
+	^ HKEY_PERFORMANCE_TEXT.
     ].
     specialKeyStringOrSymbol = #'HKEY_PERFORMANCE_NLSTEXT' ifTrue:[
-        ^ HKEY_PERFORMANCE_NLSTEXT.
+	^ HKEY_PERFORMANCE_NLSTEXT.
     ].
 
     ^ nil
@@ -13572,7 +13585,7 @@
     "handle image restarts and refetch registry handles"
 
     (something == #returnFromSnapshot) ifTrue:[
-        self initialize
+	self initialize
     ]
 
     "Created: 15.6.1996 / 15:14:03 / cg"
@@ -13585,9 +13598,9 @@
     |h newEntry|
 
     aHandleValue isInteger ifTrue:[
-        h := ExternalAddress newAddress:aHandleValue
+	h := ExternalAddress newAddress:aHandleValue
     ] ifFalse:[
-        h := aHandleValue
+	h := aHandleValue
     ].
 
     "/ rootKeys are not registered for RegClose ...
@@ -13609,11 +13622,11 @@
 
     idx := aKeyNamePath indexOf:(self separator).
     idx == 0 ifTrue:[
-        first := aKeyNamePath.
-        rest := nil.
+	first := aKeyNamePath.
+	rest := nil.
     ] ifFalse:[
-        first := aKeyNamePath copyTo:idx-1.
-        rest := aKeyNamePath copyFrom:idx+1
+	first := aKeyNamePath copyTo:idx-1.
+	rest := aKeyNamePath copyFrom:idx+1
     ].
 
     first := first asUppercase.
@@ -13621,17 +13634,17 @@
     "/ the first is a pseudo name
     root := self rootKey:first.
     root isNil ifTrue:[
-        ^ nil
+	^ nil
     ].
 
     rest size == 0 ifTrue:[
-        ^ root
+	^ root
     ].
 
     Error handle:[:ex |
-        ^ nil
+	^ nil
     ] do:[
-        ^ root subKeyNamed:rest.
+	^ root subKeyNamed:rest.
     ].
 
     "
@@ -13768,7 +13781,7 @@
 
     k := self key:'HKEY_CLASSES_ROOT\MIME\Database\Content Type\',mimeType.
     k notNil ifTrue:[
-        suffix := k valueNamed:'extension'.
+	suffix := k valueNamed:'extension'.
     ].
     ^ suffix
 !
@@ -13782,35 +13795,35 @@
     suffix isNil ifTrue:[^ nil].
 
     (suffix startsWith:'.') ifTrue:[
-        suffix := suffix copyFrom:2
+	suffix := suffix copyFrom:2
     ].
     k := self key:'HKEY_CLASSES_ROOT\.',suffix.
 
     k notNil ifTrue:[
-        fkey := (k valueNamed:'').
+	fkey := (k valueNamed:'').
     ].
     fkey isNil ifTrue:[
-        fkey := suffix,'_auto_file'
+	fkey := suffix,'_auto_file'
     ].
 
     fkey notEmptyOrNil ifTrue:[
 
-        redirect := nil.
-
-        k := Win32OperatingSystem::RegistryEntry key:('HKEY_CLASSES_ROOT\' , fkey , '\CurVer').
-        k notNil ifTrue:[
-            redirect := k defaultValue
-        ].
-
-        redirect isNil ifTrue:[
-             k := Win32OperatingSystem::RegistryEntry key:('HKEY_CLASSES_ROOT\' , (fkey) , '\shell\',operation,'\command').
-        ] ifFalse:[
-             k := Win32OperatingSystem::RegistryEntry key:('HKEY_CLASSES_ROOT\' , (redirect) , '\shell\',operation,'\command').
-        ].
-
-        k notNil ifTrue:[
-            cmd := k defaultValue
-        ].
+	redirect := nil.
+
+	k := Win32OperatingSystem::RegistryEntry key:('HKEY_CLASSES_ROOT\' , fkey , '\CurVer').
+	k notNil ifTrue:[
+	    redirect := k defaultValue
+	].
+
+	redirect isNil ifTrue:[
+	     k := Win32OperatingSystem::RegistryEntry key:('HKEY_CLASSES_ROOT\' , (fkey) , '\shell\',operation,'\command').
+	] ifFalse:[
+	     k := Win32OperatingSystem::RegistryEntry key:('HKEY_CLASSES_ROOT\' , (redirect) , '\shell\',operation,'\command').
+	].
+
+	k notNil ifTrue:[
+	    cmd := k defaultValue
+	].
     ].
 
 
@@ -13835,8 +13848,8 @@
 
     "
      self
-        stringValueFor:'Content Type'
-        atKey:'HKEY_CLASSES_ROOT\.au'
+	stringValueFor:'Content Type'
+	atKey:'HKEY_CLASSES_ROOT\.au'
     "
 ! !
 
@@ -13878,26 +13891,26 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(subKeyString)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if ((_retVal = RegCreateKey(myKey, __stringVal(subKeyString), &subKey)) == ERROR_SUCCESS) {
-            subHandle = __MKEXTERNALADDRESS(subKey);
-        } else {
-            if ((_retVal != ERROR_PATH_NOT_FOUND)
-             && (_retVal != ERROR_FILE_NOT_FOUND)) {
-                errorNumber = __MKSMALLINT(_retVal);
-            }
-        }
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	if ((_retVal = RegCreateKey(myKey, __stringVal(subKeyString), &subKey)) == ERROR_SUCCESS) {
+	    subHandle = __MKEXTERNALADDRESS(subKey);
+	} else {
+	    if ((_retVal != ERROR_PATH_NOT_FOUND)
+	     && (_retVal != ERROR_FILE_NOT_FOUND)) {
+		errorNumber = __MKSMALLINT(_retVal);
+	    }
+	}
     }
 %}.
     subHandle notNil ifTrue:[
-        newEntry := self class basicNew
-                        setHandle:subHandle
-                        path:(path , self class separator asString , subKeyString).
-        newEntry registerForFinalization.
-        ^ newEntry.
+	newEntry := self class basicNew
+			setHandle:subHandle
+			path:(path , self class separator asString , subKeyString).
+	newEntry registerForFinalization.
+	^ newEntry.
     ].
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ nil
 
@@ -13921,18 +13934,18 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(subKeyString)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if ((_retVal = RegDeleteKey(myKey, __stringVal(subKeyString))) == ERROR_SUCCESS) {
-            RETURN (true);
-        }
-        if ((_retVal != ERROR_PATH_NOT_FOUND)
-         && (_retVal != ERROR_FILE_NOT_FOUND)) {
-            errorNumber = __MKSMALLINT(_retVal);
-        }
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	if ((_retVal = RegDeleteKey(myKey, __stringVal(subKeyString))) == ERROR_SUCCESS) {
+	    RETURN (true);
+	}
+	if ((_retVal != ERROR_PATH_NOT_FOUND)
+	 && (_retVal != ERROR_FILE_NOT_FOUND)) {
+	    errorNumber = __MKSMALLINT(_retVal);
+	}
     }
 %}.
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ false
 
@@ -13956,24 +13969,24 @@
     int _retVal;
 
     if (__isExternalAddressLike(__INST(handle)) && __isStringLike(hostName)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if ((_retVal = RegConnectRegistryA(__stringVal(hostName), myKey, &remoteKey)) == ERROR_SUCCESS) {
-            remoteHandle = __MKEXTERNALADDRESS(remoteKey);
-        } else {
-            if ((_retVal != ERROR_PATH_NOT_FOUND)
-             && (_retVal != ERROR_FILE_NOT_FOUND)) {
-                errorNumber = __MKSMALLINT(_retVal);
-            }
-        }
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	if ((_retVal = RegConnectRegistryA(__stringVal(hostName), myKey, &remoteKey)) == ERROR_SUCCESS) {
+	    remoteHandle = __MKEXTERNALADDRESS(remoteKey);
+	} else {
+	    if ((_retVal != ERROR_PATH_NOT_FOUND)
+	     && (_retVal != ERROR_FILE_NOT_FOUND)) {
+		errorNumber = __MKSMALLINT(_retVal);
+	    }
+	}
     }
 %}.
     remoteHandle notNil ifTrue:[
-        newEntry := self class basicNew setHandle:remoteHandle path:path.
-        newEntry registerForFinalization.
-        ^ newEntry.
+	newEntry := self class basicNew setHandle:remoteHandle path:path.
+	newEntry registerForFinalization.
+	^ newEntry.
     ].
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ nil
 
@@ -14020,30 +14033,30 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isSmallInteger(subKeyIndex)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if ((_retVal = RegEnumKeyExA(myKey, __intVal(subKeyIndex),
-                         nameBuffer, &nameSize,
-                         NULL,
-                         classNameBuffer, &classNameSize,
-                         &modificationTime)) == ERROR_SUCCESS) {
-            nameBuffer[nameSize] = '\0';
-            classNameBuffer[classNameSize] = '\0';
-            subKeyName = __MKSTRING(nameBuffer);
-            subKeyClassName = __MKSTRING(classNameBuffer);
-        } else {
-            if ((_retVal != ERROR_PATH_NOT_FOUND)
-             && (_retVal != ERROR_FILE_NOT_FOUND)
-             && (_retVal != ERROR_NO_MORE_ITEMS)) {
-                errorNumber = __MKSMALLINT(_retVal);
-            }
-        }
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	if ((_retVal = RegEnumKeyExA(myKey, __intVal(subKeyIndex),
+			 nameBuffer, &nameSize,
+			 NULL,
+			 classNameBuffer, &classNameSize,
+			 &modificationTime)) == ERROR_SUCCESS) {
+	    nameBuffer[nameSize] = '\0';
+	    classNameBuffer[classNameSize] = '\0';
+	    subKeyName = __MKSTRING(nameBuffer);
+	    subKeyClassName = __MKSTRING(classNameBuffer);
+	} else {
+	    if ((_retVal != ERROR_PATH_NOT_FOUND)
+	     && (_retVal != ERROR_FILE_NOT_FOUND)
+	     && (_retVal != ERROR_NO_MORE_ITEMS)) {
+		errorNumber = __MKSMALLINT(_retVal);
+	    }
+	}
     }
 %}.
     subKeyName notNil ifTrue:[
-        ^ self subKeyNamed:subKeyName.
+	^ self subKeyNamed:subKeyName.
     ].
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ nil
 
@@ -14067,28 +14080,28 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(subKeyString)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        _retVal = RegOpenKey(myKey, __stringVal(subKeyString), &subKey);
-        if (_retVal == ERROR_SUCCESS) {
-            subHandle = __MKEXTERNALADDRESS(subKey);
-        } else {
-            if ((_retVal != ERROR_PATH_NOT_FOUND)
-             && (_retVal != ERROR_FILE_NOT_FOUND)) {
-                errorNumber = __MKSMALLINT(_retVal);
-            }
-        }
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	_retVal = RegOpenKey(myKey, __stringVal(subKeyString), &subKey);
+	if (_retVal == ERROR_SUCCESS) {
+	    subHandle = __MKEXTERNALADDRESS(subKey);
+	} else {
+	    if ((_retVal != ERROR_PATH_NOT_FOUND)
+	     && (_retVal != ERROR_FILE_NOT_FOUND)) {
+		errorNumber = __MKSMALLINT(_retVal);
+	    }
+	}
     }
 %}.
     subHandle notNil ifTrue:[
-        newEntry := self class basicNew
-                        setHandle:subHandle
-                        path:((path ? '?') , self class separator asString , subKeyString).
-
-        newEntry registerForFinalization.
-        ^ newEntry.
+	newEntry := self class basicNew
+			setHandle:subHandle
+			path:((path ? '?') , self class separator asString , subKeyString).
+
+	newEntry registerForFinalization.
+	^ newEntry.
     ].
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ nil
 
@@ -14112,11 +14125,11 @@
 
 defaultValue:datum
     "store a value; the value type depends upon the stored value:
-        ByteArray       -> REG_BINARY
-        String          -> REG_SZ
-        Array of string -> REG_MULTI_SZ
-        Integer         -> REG_DWORD
-        nil             -> REG_NONE
+	ByteArray       -> REG_BINARY
+	String          -> REG_SZ
+	Array of string -> REG_MULTI_SZ
+	Integer         -> REG_DWORD
+	nil             -> REG_NONE
     "
 
     ^ self valueNamed:'' put:datum
@@ -14138,18 +14151,18 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(aValueName)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if ((_retVal = RegDeleteValue(myKey, __stringVal(aValueName))) == ERROR_SUCCESS) {
-            RETURN (true);
-        }
-        if ((_retVal != ERROR_PATH_NOT_FOUND)
-         && (_retVal != ERROR_FILE_NOT_FOUND)) {
-            errorNumber = __MKSMALLINT(_retVal);
-        }
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	if ((_retVal = RegDeleteValue(myKey, __stringVal(aValueName))) == ERROR_SUCCESS) {
+	    RETURN (true);
+	}
+	if ((_retVal != ERROR_PATH_NOT_FOUND)
+	 && (_retVal != ERROR_FILE_NOT_FOUND)) {
+	    errorNumber = __MKSMALLINT(_retVal);
+	}
     }
 %}.
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ false
 !
@@ -14169,24 +14182,24 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isSmallInteger(valueIndex)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if ((_retVal = RegEnumValueA(myKey, __intVal(valueIndex),
-                         nameBuffer, &nameSize,
-                         NULL,
-                         &valueType,
-                         NULL, NULL)) == ERROR_SUCCESS) {
-            nameBuffer[nameSize] = '\0';
-            valueName = __MKSTRING(nameBuffer);
-        } else {
-            if ((_retVal != ERROR_PATH_NOT_FOUND)
-             && (_retVal != ERROR_FILE_NOT_FOUND)) {
-                errorNumber = __MKSMALLINT(_retVal);
-            }
-        }
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	if ((_retVal = RegEnumValueA(myKey, __intVal(valueIndex),
+			 nameBuffer, &nameSize,
+			 NULL,
+			 &valueType,
+			 NULL, NULL)) == ERROR_SUCCESS) {
+	    nameBuffer[nameSize] = '\0';
+	    valueName = __MKSTRING(nameBuffer);
+	} else {
+	    if ((_retVal != ERROR_PATH_NOT_FOUND)
+	     && (_retVal != ERROR_FILE_NOT_FOUND)) {
+		errorNumber = __MKSMALLINT(_retVal);
+	    }
+	}
     }
 %}.
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ valueName
 
@@ -14200,11 +14213,11 @@
 
 valueNamed:aValueName
     "retrieve a value; the returned object depends upon the type:
-        REG_BINARY      -> ByteArray
-        REG_SZ          -> String
-        REG_MULTI_SZ    -> Array of strings
-        REG_DWORD       -> Integer
-        REG_NONE        -> nil
+	REG_BINARY      -> ByteArray
+	REG_SZ          -> String
+	REG_MULTI_SZ    -> Array of strings
+	REG_DWORD       -> Integer
+	REG_NONE        -> nil
     "
 
     |stringArray retVal errorNumber|
@@ -14213,9 +14226,9 @@
     HKEY myKey;
     DWORD valueType;
     union {
-        DWORD dWord;
-        unsigned char dWordBytes[4];
-        unsigned char smallDataBuffer[1024*128];
+	DWORD dWord;
+	unsigned char dWordBytes[4];
+	unsigned char smallDataBuffer[1024*128];
     } quickData;
     int val;
     DWORD dataSize = sizeof(quickData);
@@ -14231,166 +14244,166 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(aValueName)) {
-        int ret;
-
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-
-        /*
-         * try to get it with one call ...
-         */
-        ret = RegQueryValueEx(myKey, __stringVal(aValueName),
-                         NULL,
-                         &valueType,
-                         (char *)&quickData,
-                         &dataSize);
+	int ret;
+
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+
+	/*
+	 * try to get it with one call ...
+	 */
+	ret = RegQueryValueEx(myKey, __stringVal(aValueName),
+			 NULL,
+			 &valueType,
+			 (char *)&quickData,
+			 &dataSize);
 #if 0
-        console_printf("dataSize=%d\n", dataSize);
-#endif
-        while (ret == ERROR_MORE_DATA) {
+	console_printf("dataSize=%d\n", dataSize);
+#endif
+	while (ret == ERROR_MORE_DATA) {
 #if 0
-            console_printf("ERROR_MORE_DATA dataSize=%d\n", dataSize);
-            console_printf("valueType=%d\n", valueType);
-#endif
-            /*
-             * nope - need another one ...
-             */
-            if (myKey = HKEY_PERFORMANCE_DATA) {
-                dataSize = dataSize * 2;
-            }
-            switch (valueType) {
-                case REG_BINARY:
-                case REG_MULTI_SZ:
-                    dataBuffer = malloc(dataSize);;
-                    break;
-                case REG_SZ:
-                    dataBuffer = malloc(dataSize);
-                    break;
-                default:
-                    console_printf("RegistryEntry [warning]: unhandled valueType: %d\n", valueType);
-                    break;
-            }
-            if (dataBuffer) {
-                ret = RegQueryValueEx(myKey, __stringVal(aValueName),
-                                 NULL,
-                                 &valueType,
-                                 dataBuffer,
-                                 &dataSize);
-            } else {
-                break;
-            }
-            if (myKey != HKEY_PERFORMANCE_DATA) {
-                if (ret != ERROR_SUCCESS) break;
-            }
-        }
-
-        if (ret == ERROR_SUCCESS) {
+	    console_printf("ERROR_MORE_DATA dataSize=%d\n", dataSize);
+	    console_printf("valueType=%d\n", valueType);
+#endif
+	    /*
+	     * nope - need another one ...
+	     */
+	    if (myKey = HKEY_PERFORMANCE_DATA) {
+		dataSize = dataSize * 2;
+	    }
+	    switch (valueType) {
+		case REG_BINARY:
+		case REG_MULTI_SZ:
+		    dataBuffer = malloc(dataSize);;
+		    break;
+		case REG_SZ:
+		    dataBuffer = malloc(dataSize);
+		    break;
+		default:
+		    console_printf("RegistryEntry [warning]: unhandled valueType: %d\n", valueType);
+		    break;
+	    }
+	    if (dataBuffer) {
+		ret = RegQueryValueEx(myKey, __stringVal(aValueName),
+				 NULL,
+				 &valueType,
+				 dataBuffer,
+				 &dataSize);
+	    } else {
+		break;
+	    }
+	    if (myKey != HKEY_PERFORMANCE_DATA) {
+		if (ret != ERROR_SUCCESS) break;
+	    }
+	}
+
+	if (ret == ERROR_SUCCESS) {
 #if 0
-            console_printf("ERROR_SUCCESS dataSize=%d\n", dataSize);
-            console_printf("valueType=%d\n", valueType);
-#endif
-            switch (valueType) {
-                case REG_NONE:
-                    /* RETURN (@symbol(none));  */
-                    retVal = nil;
-                    break;
-
-                case REG_BINARY:
-                    retVal = __MKBYTEARRAY(dataBuffer ? dataBuffer : quickData.smallDataBuffer, dataSize);
-                    break;
-
-                case REG_SZ:
-                case REG_EXPAND_SZ:
+	    console_printf("ERROR_SUCCESS dataSize=%d\n", dataSize);
+	    console_printf("valueType=%d\n", valueType);
+#endif
+	    switch (valueType) {
+		case REG_NONE:
+		    /* RETURN (@symbol(none));  */
+		    retVal = nil;
+		    break;
+
+		case REG_BINARY:
+		    retVal = __MKBYTEARRAY(dataBuffer ? dataBuffer : quickData.smallDataBuffer, dataSize);
+		    break;
+
+		case REG_SZ:
+		case REG_EXPAND_SZ:
 #ifdef USE_UNICODE
-                    retVal = __MKU16STRING(dataBuffer ? dataBuffer : quickData.smallDataBuffer);
-#else
-                    retVal = __MKSTRING(dataBuffer ? dataBuffer : quickData.smallDataBuffer);
-#endif
-                    break;
+		    retVal = __MKU16STRING(dataBuffer ? dataBuffer : quickData.smallDataBuffer);
+#else
+		    retVal = __MKSTRING(dataBuffer ? dataBuffer : quickData.smallDataBuffer);
+#endif
+		    break;
 
 #if 0
-                case REG_DWORD:
-                    /* int in native format */
-                    retVal = __MKUINT(quickData.dWord);
-                    break;
-#endif
-                case REG_DWORD_LITTLE_ENDIAN:
-                    val = quickData.dWordBytes[3];
-                    val = (val << 8) | quickData.dWordBytes[2];
-                    val = (val << 8) | quickData.dWordBytes[1];
-                    val = (val << 8) | quickData.dWordBytes[0];
-                    retVal = __MKUINT(val);
-                    break;
-
-                case REG_DWORD_BIG_ENDIAN:
-                    val = quickData.dWordBytes[0];
-                    val = (val << 8) | quickData.dWordBytes[1];
-                    val = (val << 8) | quickData.dWordBytes[2];
-                    val = (val << 8) | quickData.dWordBytes[3];
-                    retVal = __MKUINT(val);
-                    break;
-
-                case REG_MULTI_SZ:
-                    {
-                        CHAR *cp, *cp0;
-                        int ns, i;
-
-                        cp0 = dataBuffer ? dataBuffer : quickData.smallDataBuffer;
+		case REG_DWORD:
+		    /* int in native format */
+		    retVal = __MKUINT(quickData.dWord);
+		    break;
+#endif
+		case REG_DWORD_LITTLE_ENDIAN:
+		    val = quickData.dWordBytes[3];
+		    val = (val << 8) | quickData.dWordBytes[2];
+		    val = (val << 8) | quickData.dWordBytes[1];
+		    val = (val << 8) | quickData.dWordBytes[0];
+		    retVal = __MKUINT(val);
+		    break;
+
+		case REG_DWORD_BIG_ENDIAN:
+		    val = quickData.dWordBytes[0];
+		    val = (val << 8) | quickData.dWordBytes[1];
+		    val = (val << 8) | quickData.dWordBytes[2];
+		    val = (val << 8) | quickData.dWordBytes[3];
+		    retVal = __MKUINT(val);
+		    break;
+
+		case REG_MULTI_SZ:
+		    {
+			CHAR *cp, *cp0;
+			int ns, i;
+
+			cp0 = dataBuffer ? dataBuffer : quickData.smallDataBuffer;
 #if 0
-                        console_printf("**************\n");
-                        for (i=0;i<50;i++) {
-                          console_printf("%x ", cp0[i]);
-                        }
-                        console_printf("\n");
-                        for (i=0;i<50;i++) {
-                          if (cp0[i] == 0)
-                            console_printf("\n");
-                          else
-                            console_printf("%c", cp0[i]);
-                        }
-                        console_printf("\n");
-                        console_printf("**************\n");
-#endif
-                        cp = cp0;
-                        ns = 0;
-                        while (*cp) {
-                            while (*cp++) ;;
-                            ns++;
-                        }
-                        stringArray = __ARRAY_NEW_INT(ns);
-
-                        i = 0;
-                        while (*cp0) {
-                            OBJ s;
-                            CHAR *cp;
-
-                            cp = cp0;
-                            while (*cp++) ;;
+			console_printf("**************\n");
+			for (i=0;i<50;i++) {
+			  console_printf("%x ", cp0[i]);
+			}
+			console_printf("\n");
+			for (i=0;i<50;i++) {
+			  if (cp0[i] == 0)
+			    console_printf("\n");
+			  else
+			    console_printf("%c", cp0[i]);
+			}
+			console_printf("\n");
+			console_printf("**************\n");
+#endif
+			cp = cp0;
+			ns = 0;
+			while (*cp) {
+			    while (*cp++) ;;
+			    ns++;
+			}
+			stringArray = __ARRAY_NEW_INT(ns);
+
+			i = 0;
+			while (*cp0) {
+			    OBJ s;
+			    CHAR *cp;
+
+			    cp = cp0;
+			    while (*cp++) ;;
 #ifdef USE_UNICODE
-                            s = __MKU16STRING(cp0); __ArrayInstPtr(stringArray)->a_element[i] = s; __STORE(stringArray, s);
-#else
-                            s = __MKSTRING(cp0); __ArrayInstPtr(stringArray)->a_element[i] = s; __STORE(stringArray, s);
-#endif
-                            cp0 = cp;
-                            i++;
-                        }
-                        retVal = stringArray;
-                        break;
-                    }
-                default:
-                    console_printf("RegistryEntry [warning]: unhandled valueType: %d\n", valueType);
-                    break;
-            }
-        } else {
-            if ((ret != ERROR_PATH_NOT_FOUND)
-             && (ret != ERROR_FILE_NOT_FOUND)) {
-                errorNumber = __MKSMALLINT(ret);
-            }
-        }
+			    s = __MKU16STRING(cp0); __ArrayInstPtr(stringArray)->a_element[i] = s; __STORE(stringArray, s);
+#else
+			    s = __MKSTRING(cp0); __ArrayInstPtr(stringArray)->a_element[i] = s; __STORE(stringArray, s);
+#endif
+			    cp0 = cp;
+			    i++;
+			}
+			retVal = stringArray;
+			break;
+		    }
+		default:
+		    console_printf("RegistryEntry [warning]: unhandled valueType: %d\n", valueType);
+		    break;
+	    }
+	} else {
+	    if ((ret != ERROR_PATH_NOT_FOUND)
+	     && (ret != ERROR_FILE_NOT_FOUND)) {
+		errorNumber = __MKSMALLINT(ret);
+	    }
+	}
     }
     if (dataBuffer) free(dataBuffer);
 %}.
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
 
     ^ retVal
@@ -14405,11 +14418,11 @@
 
 valueNamed:aValueName put:datum
     "store a value; the value type depends upon the stored value:
-        ByteArray       -> REG_BINARY
-        String          -> REG_SZ
-        Array of string -> REG_MULTI_SZ
-        Integer         -> REG_DWORD
-        nil             -> REG_NONE
+	ByteArray       -> REG_BINARY
+	String          -> REG_SZ
+	Array of string -> REG_MULTI_SZ
+	Integer         -> REG_DWORD
+	nil             -> REG_NONE
     "
 
     |data stringArray errorNumber|
@@ -14423,99 +14436,99 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(aValueName)) {
-        int ret;
-        OBJ cls;
-
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-
-        if (datum == nil) {
-            valueType = REG_NONE;
-            dataSize = 0;
-        } else if (__isSmallInteger(datum)) {
-            valueType = REG_DWORD;
-            val = __intVal(datum);
-            dataPointer = (unsigned char *)(&val);
-            dataSize = sizeof(val);
-        } else if (__isStringLike(datum)) {
-            valueType = REG_SZ;
-            dataPointer = __stringVal(datum);
-            dataSize = __stringSize(datum) + 1;
-        } else if (__Class(datum) == ByteArray) {
-            valueType = REG_BINARY;
-            dataPointer = __ByteArrayInstPtr(datum)->ba_element;
-            dataSize = __byteArraySize(datum);
-        } else if (__Class(datum) == LargeInteger) {
-            valueType = REG_DWORD;
-            val = __longIntVal(datum);
-            if (val) {
-                dataPointer = (unsigned char *)(&val);
-                dataSize = sizeof(val);
-            } else {
-                datumOk = 0;
-            }
-        } else if (__Class(datum) == Array) {
-            int i = 0, ns = 0, totalSize = 0;
-
-            valueType = REG_MULTI_SZ;
-
-            /*
-             * must allocate a local buffer
-             * find size ...
-             */
-            for (i=0; i<__arraySize(datum); i++) {
-                OBJ s = __ArrayInstPtr(datum)->a_element[i];
-
-                if (__isStringLike(s)) {
-                    totalSize += __stringSize(s) + 1;
-                } else {
-                    datumOk = 0;
-                    break;
-                }
-                ns++;
-            }
-            if (datumOk) {
-                char *cp;
-
-                /*
-                 * allocate and fill...
-                 */
-                totalSize ++;
-                dataPointer = (char *)(malloc(totalSize));
-                mustFreeData = 1;
-                cp = dataPointer;
-                for (i=0; i<__arraySize(datum); i++) {
-                    OBJ s = __ArrayInstPtr(datum)->a_element[i];
-
-                    strcpy(cp, __stringVal(s));
-                    cp += __stringSize(s);
-                    *cp++ = '\0';
-                }
-                *cp++ = '\0';
-                dataSize = totalSize;
-            }
-        } else {
-            datumOk = 0;
-        }
-
-        if (datumOk) {
-            ret = RegSetValueExA(myKey, __stringVal(aValueName),
-                                0, valueType,
-                                dataPointer, dataSize);
-            if (mustFreeData) {
-                free(dataPointer);
-            }
-            if (ret == ERROR_SUCCESS) {
-                RETURN (true);
-            }
-            if ((ret != ERROR_PATH_NOT_FOUND)
-             && (ret != ERROR_FILE_NOT_FOUND)) {
-                errorNumber = __MKSMALLINT(ret);
-            }
-        }
+	int ret;
+	OBJ cls;
+
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+
+	if (datum == nil) {
+	    valueType = REG_NONE;
+	    dataSize = 0;
+	} else if (__isSmallInteger(datum)) {
+	    valueType = REG_DWORD;
+	    val = __intVal(datum);
+	    dataPointer = (unsigned char *)(&val);
+	    dataSize = sizeof(val);
+	} else if (__isStringLike(datum)) {
+	    valueType = REG_SZ;
+	    dataPointer = __stringVal(datum);
+	    dataSize = __stringSize(datum) + 1;
+	} else if (__Class(datum) == ByteArray) {
+	    valueType = REG_BINARY;
+	    dataPointer = __ByteArrayInstPtr(datum)->ba_element;
+	    dataSize = __byteArraySize(datum);
+	} else if (__Class(datum) == LargeInteger) {
+	    valueType = REG_DWORD;
+	    val = __longIntVal(datum);
+	    if (val) {
+		dataPointer = (unsigned char *)(&val);
+		dataSize = sizeof(val);
+	    } else {
+		datumOk = 0;
+	    }
+	} else if (__Class(datum) == Array) {
+	    int i = 0, ns = 0, totalSize = 0;
+
+	    valueType = REG_MULTI_SZ;
+
+	    /*
+	     * must allocate a local buffer
+	     * find size ...
+	     */
+	    for (i=0; i<__arraySize(datum); i++) {
+		OBJ s = __ArrayInstPtr(datum)->a_element[i];
+
+		if (__isStringLike(s)) {
+		    totalSize += __stringSize(s) + 1;
+		} else {
+		    datumOk = 0;
+		    break;
+		}
+		ns++;
+	    }
+	    if (datumOk) {
+		char *cp;
+
+		/*
+		 * allocate and fill...
+		 */
+		totalSize ++;
+		dataPointer = (char *)(malloc(totalSize));
+		mustFreeData = 1;
+		cp = dataPointer;
+		for (i=0; i<__arraySize(datum); i++) {
+		    OBJ s = __ArrayInstPtr(datum)->a_element[i];
+
+		    strcpy(cp, __stringVal(s));
+		    cp += __stringSize(s);
+		    *cp++ = '\0';
+		}
+		*cp++ = '\0';
+		dataSize = totalSize;
+	    }
+	} else {
+	    datumOk = 0;
+	}
+
+	if (datumOk) {
+	    ret = RegSetValueExA(myKey, __stringVal(aValueName),
+				0, valueType,
+				dataPointer, dataSize);
+	    if (mustFreeData) {
+		free(dataPointer);
+	    }
+	    if (ret == ERROR_SUCCESS) {
+		RETURN (true);
+	    }
+	    if ((ret != ERROR_PATH_NOT_FOUND)
+	     && (ret != ERROR_FILE_NOT_FOUND)) {
+		errorNumber = __MKSMALLINT(ret);
+	    }
+	}
     }
 %}.
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ false
 
@@ -14536,14 +14549,14 @@
 
     idx := 0.
     [true] whileTrue:[
-        subEntry := self subKeyAtIndex:idx.
-        subEntry isNil ifTrue:[
-            ^self
-        ].
-        aBlock value:subEntry.
-        subEntry allSubKeysDo:aBlock.
-        subEntry close.
-        idx := idx + 1.
+	subEntry := self subKeyAtIndex:idx.
+	subEntry isNil ifTrue:[
+	    ^self
+	].
+	aBlock value:subEntry.
+	subEntry allSubKeysDo:aBlock.
+	subEntry close.
+	idx := idx + 1.
     ]
 
     "
@@ -14551,7 +14564,7 @@
 
      top := self key:'HKEY_LOCAL_MACHINE'.
      top allSubKeysDo:[:subEntry |
-        Transcript showCR:subEntry path
+	Transcript showCR:subEntry path
      ]
     "
 !
@@ -14583,13 +14596,13 @@
 
     idx := 0.
     [true] whileTrue:[
-        subEntry := self subKeyAtIndex:idx.
-        subEntry isNil ifTrue:[
-            ^self
-        ].
-        aBlock value:subEntry.
-        subEntry close.
-        idx := idx + 1.
+	subEntry := self subKeyAtIndex:idx.
+	subEntry isNil ifTrue:[
+	    ^self
+	].
+	aBlock value:subEntry.
+	subEntry close.
+	idx := idx + 1.
     ]
 
     "
@@ -14597,7 +14610,7 @@
 
      top := self key:'HKEY_LOCAL_MACHINE'.
      top subKeysDo:[:subEntry |
-        Transcript showCR:subEntry path
+	Transcript showCR:subEntry path
      ]
     "
 !
@@ -14606,7 +14619,7 @@
     "evaluate aBlock for all value names"
 
     self valueNamesDo:[:nm |
-        aBlock value:nm value:(self valueNamed:nm)
+	aBlock value:nm value:(self valueNamed:nm)
     ]
 
     "
@@ -14614,7 +14627,7 @@
 
      key := self key:'HKEY_LOCAL_MACHINE\SOFTWARE\eXept\Smalltalk/X'.
      key valueNamesAndValuesDo:[:nm :val |
-        Transcript showCR:(nm , ' -> ' , val storeString).
+	Transcript showCR:(nm , ' -> ' , val storeString).
      ]
     "
 !
@@ -14626,12 +14639,12 @@
 
     idx := 0.
     [true] whileTrue:[
-        valueName := self valueNameAtIndex:idx.
-        valueName isNil ifTrue:[
-            ^self
-        ].
-        aBlock value:valueName.
-        idx := idx + 1.
+	valueName := self valueNameAtIndex:idx.
+	valueName isNil ifTrue:[
+	    ^self
+	].
+	aBlock value:valueName.
+	idx := idx + 1.
     ]
 ! !
 
@@ -14651,9 +14664,9 @@
     HKEY myKey;
 
     if (__isExternalAddressLike(__INST(handle))) {
-        myKey = (HKEY)(__externalAddressVal(__INST(handle)));
-        __INST(handle) = nil;
-        RegCloseKey(myKey);
+	myKey = (HKEY)(__externalAddressVal(__INST(handle)));
+	__INST(handle) = nil;
+	RegCloseKey(myKey);
     }
 %}
 !
@@ -14666,7 +14679,7 @@
     "some entry has been collected - close it"
 
     handle notNil ifTrue:[
-        self closeKey.
+	self closeKey.
     ]
 
     "Created: / 19.5.1999 / 22:39:52 / cg"
@@ -14677,10 +14690,10 @@
 
 printOn:aStream
     aStream
-        nextPutAll:self className;
-        nextPut:$(;
-        nextPutAll:path;
-        nextPut:$).
+	nextPutAll:self className;
+	nextPut:$(;
+	nextPutAll:path;
+	nextPut:$).
 ! !
 
 !Win32OperatingSystem::RegistryEntry methodsFor:'private'!
@@ -14703,7 +14716,7 @@
 
     key = __longIntVal(integerHandleValue);
     if (! key) {
-        RETURN (nil);
+	RETURN (nil);
     }
 
     t = __MKEXTERNALADDRESS(key); __INST(handle) = t; __STORE(self, t);
@@ -14785,88 +14798,88 @@
     BOOL ok;
 
     if ((hFile == 0) || (hFile == INVALID_HANDLE_VALUE)) {
-        errSym = @symbol(errorNotOpen);
-        goto bad;
+	errSym = @symbol(errorNotOpen);
+	goto bad;
     }
     if (! __bothSmallInteger(count, firstIndex)) {
-        errSym = @symbol(badArgument);
-        goto bad;
+	errSym = @symbol(badArgument);
+	goto bad;
     }
     cntWanted = __smallIntegerVal(count);
     if (cntWanted <= 0) {
-        errSym = @symbol(badCount);
-        goto bad;
+	errSym = @symbol(badCount);
+	goto bad;
     }
     offs = __smallIntegerVal(firstIndex) - 1;
     if (offs < 0) {
-        errSym = @symbol(badOffset);
-        goto bad;
+	errSym = @symbol(badOffset);
+	goto bad;
     }
 
     bufferIsExternalBytes = __isExternalBytesLike(aByteBuffer);
     if (! bufferIsExternalBytes) {
-        if (__isByteArray(aByteBuffer)) {
-            bufferSize = __byteArraySize(aByteBuffer);
-        } else if (__isString(aByteBuffer)) {  // not isStringLike here !
-            bufferSize = __stringSize(aByteBuffer);
-        } else {
-            errSym = @symbol(badBuffer);
-            goto bad;
-        }
-        if (bufferSize < (cntWanted + offs)) {
-            errSym = @symbol(badBufferSize);
-            goto bad;
-        }
-        if (cntWanted <= sizeof(miniBuffer)) {
-            extPtr = miniBuffer;
-        } else {
-            extPtr = malloc(cntWanted);
-            mustFreeBuffer = 1;
-        }
+	if (__isByteArray(aByteBuffer)) {
+	    bufferSize = __byteArraySize(aByteBuffer);
+	} else if (__isString(aByteBuffer)) {  // not isStringLike here !
+	    bufferSize = __stringSize(aByteBuffer);
+	} else {
+	    errSym = @symbol(badBuffer);
+	    goto bad;
+	}
+	if (bufferSize < (cntWanted + offs)) {
+	    errSym = @symbol(badBufferSize);
+	    goto bad;
+	}
+	if (cntWanted <= sizeof(miniBuffer)) {
+	    extPtr = miniBuffer;
+	} else {
+	    extPtr = malloc(cntWanted);
+	    mustFreeBuffer = 1;
+	}
     } else {
-        OBJ sz;
-
-        extPtr = (char *)(__externalBytesAddress(aByteBuffer));
-        sz = __externalBytesSize(aByteBuffer);
-        if (! __isSmallInteger(sz)) {
-            errSym = @symbol(badBufferSize);
-            goto bad;
-        }
-        bufferSize = __smallIntegerVal(sz);
-        if (bufferSize < (cntWanted + offs)) {
-            errSym = @symbol(badBufferSize);
-            goto bad;
-        }
-        extPtr = extPtr + offs;
+	OBJ sz;
+
+	extPtr = (char *)(__externalBytesAddress(aByteBuffer));
+	sz = __externalBytesSize(aByteBuffer);
+	if (! __isSmallInteger(sz)) {
+	    errSym = @symbol(badBufferSize);
+	    goto bad;
+	}
+	bufferSize = __smallIntegerVal(sz);
+	if (bufferSize < (cntWanted + offs)) {
+	    errSym = @symbol(badBufferSize);
+	    goto bad;
+	}
+	extPtr = extPtr + offs;
     }
 
     do {
-        __threadErrno = 0;
-        ok = STX_API_NOINT_CALL5( "ReadFile", ReadFile, hFile, extPtr, cntWanted, &cntRead, 0 /* lpOverlapped */);
+	__threadErrno = 0;
+	ok = STX_API_NOINT_CALL5( "ReadFile", ReadFile, hFile, extPtr, cntWanted, &cntRead, 0 /* lpOverlapped */);
     } while(__threadErrno == EINTR);
 
     if (ok == TRUE) {
-        if (! bufferIsExternalBytes) {
-            /* copy over */
-            memcpy(__byteArrayVal(aByteBuffer)+offs, extPtr, cntRead);
-            if (mustFreeBuffer) {
-                free(extPtr);
-            }
-        }
-        RETURN (__mkSmallInteger(cntRead));
+	if (! bufferIsExternalBytes) {
+	    /* copy over */
+	    memcpy(__byteArrayVal(aByteBuffer)+offs, extPtr, cntRead);
+	    if (mustFreeBuffer) {
+		free(extPtr);
+	    }
+	}
+	RETURN (__mkSmallInteger(cntRead));
     }
     errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
 
 bad: ;
     if (mustFreeBuffer) {
-        free(extPtr);
+	free(extPtr);
     }
 %}.
 
     errorNumber isNil ifTrue:[
-        self error:'invalid argument(s): ', errSym.
+	self error:'invalid argument(s): ', errSym.
     ] ifFalse:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError
     ].
 
     "
@@ -14890,48 +14903,48 @@
     INT t;
 
     if ((hFile == 0) || (hFile == INVALID_HANDLE_VALUE)) {
-        errSym = @symbol(errorNotOpen);
-        goto bad;
+	errSym = @symbol(errorNotOpen);
+	goto bad;
     }
 
 #if 0
     if (ioctlsocket((SOCKET)hFile, FIONREAD, &res)==0) {
-        /* its a socket */
-        if (res > 0) {
-            RETURN ( false );
-        }
+	/* its a socket */
+	if (res > 0) {
+	    RETURN ( false );
+	}
     }
     if (PeekNamedPipe(hFile, 0, 0, 0, &res, 0)) {
-        /* its a namedPipe */
-        if (res > 0) {
-            RETURN ( false );
-        }
+	/* its a namedPipe */
+	if (res > 0) {
+	    RETURN ( false );
+	}
     }
 #endif
     if (__isSmallInteger(millis)) {
-        t = __intVal(millis);
+	t = __intVal(millis);
     } else {
-        t = INFINITE;
+	t = INFINITE;
     }
 
     do {
-        __threadErrno = 0;
-        res = WaitForSingleObject(hFile, t);
+	__threadErrno = 0;
+	res = WaitForSingleObject(hFile, t);
     } while (__threadErrno == EINTR);
 
     switch (res) {
-        case WAIT_OBJECT_0:
-            /* signalled */
-            RETURN ( false );
-
-        case WAIT_TIMEOUT:
-            /* signalled */
-            RETURN ( true );
-
-        default:
-        case WAIT_ABANDONED:
-            errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
-            goto bad;
+	case WAIT_OBJECT_0:
+	    /* signalled */
+	    RETURN ( false );
+
+	case WAIT_TIMEOUT:
+	    /* signalled */
+	    RETURN ( true );
+
+	default:
+	case WAIT_ABANDONED:
+	    errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
+	    goto bad;
     }
 
 bad: ;
@@ -14946,9 +14959,9 @@
 
 seekTo:newPosition from:whence
     "whence is one of:
-        #begin
-        #current
-        #end
+	#begin
+	#current
+	#end
     "
 
     |errSym errorNumber|
@@ -14960,42 +14973,42 @@
     __uint64__ pos64, newPos64;
 
     if ((hFile == 0) || (hFile == INVALID_HANDLE_VALUE)) {
-        errSym = @symbol(errorNotOpen);
-        goto bad;
+	errSym = @symbol(errorNotOpen);
+	goto bad;
     }
 
     if (whence == @symbol(begin)) {
-        moveHow = FILE_BEGIN;
+	moveHow = FILE_BEGIN;
     } else if (whence == @symbol(current)) {
-        moveHow = FILE_CURRENT;
+	moveHow = FILE_CURRENT;
     } else if (whence == @symbol(end)) {
-        moveHow = FILE_END;
+	moveHow = FILE_END;
     } else {
-        errSym = @symbol(badArgument2);
-        goto bad;
+	errSym = @symbol(badArgument2);
+	goto bad;
     }
 
     if (__signedLong64IntVal(newPosition, &pos64) == 0) {
-        errSym = @symbol(badArgument);
-        goto bad;
+	errSym = @symbol(badArgument);
+	goto bad;
     }
     posLo = pos64.lo;
     posHi = pos64.hi;
 
     posLo = SetFilePointer(hFile, posLo, &posHi, moveHow);
     if (posLo == 0xFFFFFFFF) {
-        int lastError;
-
-        /* can be either an error, or a valid low-word */
-        lastError = GetLastError();
-        if (lastError != NO_ERROR) {
-            errorNumber = __mkSmallInteger( __WIN32_ERR(lastError) );
-            goto bad;
-        }
+	int lastError;
+
+	/* can be either an error, or a valid low-word */
+	lastError = GetLastError();
+	if (lastError != NO_ERROR) {
+	    errorNumber = __mkSmallInteger( __WIN32_ERR(lastError) );
+	    goto bad;
+	}
     }
 
     if (posHi == 0) {
-        RETURN (__MKUINT( posLo ));
+	RETURN (__MKUINT( posLo ));
     }
     newPos64.lo = posLo;
     newPos64.hi = posHi;
@@ -15006,9 +15019,9 @@
 %}.
 
     errorNumber isNil ifTrue:[
-        self error:'invalid argument(s): ', errSym.
+	self error:'invalid argument(s): ', errSym.
     ] ifFalse:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError
     ].
 !
 
@@ -15029,82 +15042,82 @@
     BOOL ok;
 
     if ((hFile == 0) || (hFile == INVALID_HANDLE_VALUE)) {
-        errSym = @symbol(errorNotOpen);
-        goto bad;
+	errSym = @symbol(errorNotOpen);
+	goto bad;
     }
     if (! __bothSmallInteger(count, firstIndex)) {
-        errSym = @symbol(badArgument);
-        goto bad;
+	errSym = @symbol(badArgument);
+	goto bad;
     }
     cntWanted = __smallIntegerVal(count);
     if (cntWanted <= 0) {
-        errSym = @symbol(badCount);
-        goto bad;
+	errSym = @symbol(badCount);
+	goto bad;
     }
     offs = __smallIntegerVal(firstIndex) - 1;
     if (offs < 0) {
-        errSym = @symbol(badOffset);
-        goto bad;
+	errSym = @symbol(badOffset);
+	goto bad;
     }
 
     bufferIsExternalBytes = __isExternalBytesLike(aByteBuffer);
     if (! bufferIsExternalBytes) {
-        if (__isByteArray(aByteBuffer)) {
-            bufferSize = __byteArraySize(aByteBuffer);
-        } else if (__isStringLike(aByteBuffer)) {
-            bufferSize = __stringSize(aByteBuffer);
-        } else {
-            errSym = @symbol(badBuffer);
-            goto bad;
-        }
-        if (bufferSize < (cntWanted + offs)) {
-            errSym = @symbol(badBufferSize);
-            goto bad;
-        }
-        if (cntWanted <= sizeof(miniBuffer)) {
-            extPtr = miniBuffer;
-        } else {
-            extPtr = malloc(cntWanted);
-            mustFreeBuffer = 1;
-        }
-        memcpy(extPtr, __byteArrayVal(aByteBuffer)+offs, cntWanted);
+	if (__isByteArray(aByteBuffer)) {
+	    bufferSize = __byteArraySize(aByteBuffer);
+	} else if (__isStringLike(aByteBuffer)) {
+	    bufferSize = __stringSize(aByteBuffer);
+	} else {
+	    errSym = @symbol(badBuffer);
+	    goto bad;
+	}
+	if (bufferSize < (cntWanted + offs)) {
+	    errSym = @symbol(badBufferSize);
+	    goto bad;
+	}
+	if (cntWanted <= sizeof(miniBuffer)) {
+	    extPtr = miniBuffer;
+	} else {
+	    extPtr = malloc(cntWanted);
+	    mustFreeBuffer = 1;
+	}
+	memcpy(extPtr, __byteArrayVal(aByteBuffer)+offs, cntWanted);
     } else {
-        extPtr = (char *)(__externalBytesAddress(aByteBuffer));
-        bufferSize = __externalBytesSize(aByteBuffer);
-        if (! __isSmallInteger(bufferSize)) {
-            errSym = @symbol(badBufferSize);
-            goto bad;
-        }
-        bufferSize = __smallIntegerVal(bufferSize);
-        if (bufferSize < (cntWanted + offs)) {
-            errSym = @symbol(badBufferSize);
-            goto bad;
-        }
-        extPtr = extPtr + offs;
+	extPtr = (char *)(__externalBytesAddress(aByteBuffer));
+	bufferSize = __externalBytesSize(aByteBuffer);
+	if (! __isSmallInteger(bufferSize)) {
+	    errSym = @symbol(badBufferSize);
+	    goto bad;
+	}
+	bufferSize = __smallIntegerVal(bufferSize);
+	if (bufferSize < (cntWanted + offs)) {
+	    errSym = @symbol(badBufferSize);
+	    goto bad;
+	}
+	extPtr = extPtr + offs;
     }
 
     do {
-        __threadErrno = 0;
-        ok = STX_API_NOINT_CALL5( "WriteFile", WriteFile, hFile, extPtr, cntWanted, &cntWritten, 0 /* lpOverlapped */);
+	__threadErrno = 0;
+	ok = STX_API_NOINT_CALL5( "WriteFile", WriteFile, hFile, extPtr, cntWanted, &cntWritten, 0 /* lpOverlapped */);
     } while(__threadErrno == EINTR);
 
     if (ok == TRUE) {
-        if (mustFreeBuffer) {
-            free(extPtr);
-        }
-        RETURN (__mkSmallInteger(cntWritten));
+	if (mustFreeBuffer) {
+	    free(extPtr);
+	}
+	RETURN (__mkSmallInteger(cntWritten));
     }
     errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
 
 bad: ;
     if (mustFreeBuffer) {
-        free(extPtr);
+	free(extPtr);
     }
 %}.
     errorNumber isNil ifTrue:[
-        self error:'invalid argument(s): ', errSym.
+	self error:'invalid argument(s): ', errSym.
     ] ifFalse:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError
     ].
 
     "
@@ -15133,8 +15146,8 @@
     HANDLE h = (HANDLE)(__externalAddressVal(self));
 
     if (h) {
-        __externalAddressVal(self) = (HANDLE)0;
-        CloseHandle(h);
+	__externalAddressVal(self) = (HANDLE)0;
+	CloseHandle(h);
     }
 %}.
 ! !
@@ -15143,7 +15156,7 @@
 
 closeHandle
     self address ~~ 0 ifTrue:[
-        OperatingSystem primClosePrinter:self.
+	OperatingSystem primClosePrinter:self.
     ]
 
     "Created: / 27-07-2006 / 14:48:37 / fm"
@@ -15168,9 +15181,9 @@
 !Win32OperatingSystem::Win32SerialPortHandle methodsFor:'opening'!
 
 open:portName baudRate:baudRate stopBitsType:stopBitsType
-                    parityType:parityType dataBits:dataBits
-                    inFlowCtrl:inFlowCtrlType outFlowCtrl:outFlowCtrlType
-                    xOnChar:xOnChar xOffChar:xOffChar
+		    parityType:parityType dataBits:dataBits
+		    inFlowCtrl:inFlowCtrlType outFlowCtrl:outFlowCtrlType
+		    xOnChar:xOnChar xOffChar:xOffChar
     "portName: COM%d
      baudRate: Integer
      stopBitsType: #stop1, #stop2 or #stop1_5
@@ -15189,13 +15202,13 @@
     DCB dcb;
     char *__portName;
     int __setBaudRate = 1,
-        __setDataBits = 1,
-        __setXOnChar = 1,
-        __setXOffChar = 1,
-        __setInFlowCtrl = 1,
-        __setOutFlowCtrl = 1,
-        __setStopBits = 1,
-        __setParityType = 1;
+	__setDataBits = 1,
+	__setXOnChar = 1,
+	__setXOffChar = 1,
+	__setInFlowCtrl = 1,
+	__setOutFlowCtrl = 1,
+	__setStopBits = 1,
+	__setParityType = 1;
     int __baudRate, __dataBits;
     int __xOnChar, __xOffChar;
     int __inFlowCtrl, __outFlowCtrl;
@@ -15210,90 +15223,90 @@
 #   define NONE      3
 
     if (__isStringLike(portName)) {
-        __portName = __stringVal(portName);
+	__portName = __stringVal(portName);
     } else {
-        goto failure;
+	goto failure;
     }
     if (__isSmallInteger(baudRate)) {
-        __baudRate = __intVal(baudRate);
+	__baudRate = __intVal(baudRate);
     } else if (baudRate == nil) {
-        __setBaudRate = 0;
+	__setBaudRate = 0;
     } else {
-        goto failure;
+	goto failure;
     }
 
     if (__isSmallInteger(dataBits)) {
-        __dataBits = __intVal(dataBits);
+	__dataBits = __intVal(dataBits);
     } else if (dataBits == nil) {
-        __setDataBits = 0;
+	__setDataBits = 0;
     } else {
-        goto failure;
+	goto failure;
     }
 
     if (__isSmallInteger(xOnChar)) {
-        __xOnChar = __intVal(xOnChar);
+	__xOnChar = __intVal(xOnChar);
     } else if (__isCharacter(xOnChar)) {
-        __xOnChar = __intVal(_characterVal(xOnChar));
+	__xOnChar = __intVal(_characterVal(xOnChar));
     } else if (xOnChar == nil) {
-        __setXOnChar = 0;
+	__setXOnChar = 0;
     } else {
-        goto failure;
+	goto failure;
     }
 
     if (__isSmallInteger(xOffChar)) {
-        __xOffChar = __intVal(xOffChar);
+	__xOffChar = __intVal(xOffChar);
     } else if (__isCharacter(xOffChar)) {
-        __xOffChar = __intVal(_characterVal(xOffChar));
+	__xOffChar = __intVal(_characterVal(xOffChar));
     } else if (xOffChar == nil) {
-        __setXOffChar = 0;
+	__setXOffChar = 0;
     } else {
-        goto failure;
+	goto failure;
     }
 
     if (inFlowCtrlType == @symbol(xOnOff)) {
-        __inFlowCtrl = XONOFF;
+	__inFlowCtrl = XONOFF;
     } else if (inFlowCtrlType == @symbol(hardware)) {
-        __inFlowCtrl = HARDWARE;
+	__inFlowCtrl = HARDWARE;
     } else if (inFlowCtrlType == nil) {
-        __setInFlowCtrl = 0;
+	__setInFlowCtrl = 0;
     } else {
-        goto failure;
+	goto failure;
     }
 
     if (outFlowCtrlType == @symbol(xOnOff)) {
-        __outFlowCtrl = XONOFF;
+	__outFlowCtrl = XONOFF;
     } else if (outFlowCtrlType == @symbol(hardware)) {
-        __outFlowCtrl = HARDWARE;
+	__outFlowCtrl = HARDWARE;
     } else if (outFlowCtrlType == nil) {
-        __setOutFlowCtrl = 0;
+	__setOutFlowCtrl = 0;
     } else {
-        goto failure;
+	goto failure;
     }
 
     if (stopBitsType == @symbol(stop1)) {
-        __stopBits = STOP1;
+	__stopBits = STOP1;
     } else if (stopBitsType == @symbol(stop2)) {
-        __stopBits = STOP2;
+	__stopBits = STOP2;
     } else if (stopBitsType == @symbol(stop1_5)) {
-        __stopBits = STOP1_5;
+	__stopBits = STOP1_5;
     } else if (stopBitsType == nil) {
-        __setStopBits = 0;
+	__setStopBits = 0;
     } else {
-        goto failure;
+	goto failure;
     }
 
     port = CreateFile(__portName,
-              GENERIC_READ | GENERIC_WRITE,
-              0,             /* comm devices must be opened with exclusive access */
-              NULL,          /* no security attrs */
-              OPEN_EXISTING, /* comm devices must use OPEN_EXISTING */
-              0,             /* no overlapped I/O */
-              NULL           /* hTemplate must be NULL for comm devices */
-           );
+	      GENERIC_READ | GENERIC_WRITE,
+	      0,             /* comm devices must be opened with exclusive access */
+	      NULL,          /* no security attrs */
+	      OPEN_EXISTING, /* comm devices must use OPEN_EXISTING */
+	      0,             /* no overlapped I/O */
+	      NULL           /* hTemplate must be NULL for comm devices */
+	   );
     if (port == INVALID_HANDLE_VALUE) {
-        console_fprintf(stderr, "Win32OS [info]: serial port open failed\n");
-        errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
-        goto failure;
+	console_fprintf(stderr, "Win32OS [info]: serial port open failed\n");
+	errorNumber = __mkSmallInteger( __WIN32_ERR(GetLastError()) );
+	goto failure;
     }
     /* Flush the driver */
     PurgeComm( port, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR );
@@ -15320,42 +15333,42 @@
     if (__setXOffChar) dcb.XoffChar = __xOffChar;
 
     if (__setStopBits) {
-        /* set stop bits */
-        switch(__stopBits) {
-            case STOP1_5: dcb.StopBits = 1; break; /* 1.5 stop bits */
-            case STOP1: dcb.StopBits = 0; break; /* 1 stop bit */
-            case STOP2: dcb.StopBits = 2; break; /* 2 stop bits */
-            default: goto errExit;
-        }
+	/* set stop bits */
+	switch(__stopBits) {
+	    case STOP1_5: dcb.StopBits = 1; break; /* 1.5 stop bits */
+	    case STOP1: dcb.StopBits = 0; break; /* 1 stop bit */
+	    case STOP2: dcb.StopBits = 2; break; /* 2 stop bits */
+	    default: goto errExit;
+	}
     }
 
     if (__setParityType) {
-        /* set parity */
-        switch(__parityType) {
-            case NONE: dcb.Parity = NOPARITY; break;
-            case ODD: dcb.Parity = ODDPARITY; break;
-            case EVEN: dcb.Parity = EVENPARITY; break;
-            default: goto errExit;
-        }
+	/* set parity */
+	switch(__parityType) {
+	    case NONE: dcb.Parity = NOPARITY; break;
+	    case ODD: dcb.Parity = ODDPARITY; break;
+	    case EVEN: dcb.Parity = EVENPARITY; break;
+	    default: goto errExit;
+	}
     }
 
     if (__setInFlowCtrl) {
-        /* set control flow */
-        dcb.fInX = FALSE;
-        dcb.fDtrControl = FALSE;
-        if (__inFlowCtrl == XONOFF) dcb.fInX = TRUE;  /* XOn/XOff handshaking */
-        if (__inFlowCtrl == HARDWARE) dcb.fDtrControl = TRUE;  /* hardware handshaking */
+	/* set control flow */
+	dcb.fInX = FALSE;
+	dcb.fDtrControl = FALSE;
+	if (__inFlowCtrl == XONOFF) dcb.fInX = TRUE;  /* XOn/XOff handshaking */
+	if (__inFlowCtrl == HARDWARE) dcb.fDtrControl = TRUE;  /* hardware handshaking */
     }
     if (__setOutFlowCtrl) {
-        dcb.fOutX = FALSE;
-        dcb.fOutxCtsFlow = FALSE;
-
-        if (__outFlowCtrl == XONOFF) dcb.fOutX = TRUE;  /* XOn/XOff handshaking */
-        if (__outFlowCtrl == HARDWARE) dcb.fOutxCtsFlow = TRUE;  /* hardware handshaking */
+	dcb.fOutX = FALSE;
+	dcb.fOutxCtsFlow = FALSE;
+
+	if (__outFlowCtrl == XONOFF) dcb.fOutX = TRUE;  /* XOn/XOff handshaking */
+	if (__outFlowCtrl == HARDWARE) dcb.fOutxCtsFlow = TRUE;  /* hardware handshaking */
     }
 
     if (SetCommState(port, &dcb)) {
-        RETURN( true );
+	RETURN( true );
     }
 
     console_fprintf(stderr, "Win32OS [info]: serial port comm-setup failed\n");
@@ -15375,9 +15388,9 @@
 #   undef NONE
 %}.
     errorNumber isNil ifTrue:[
-        self error:'invalid argument(s)'.
+	self error:'invalid argument(s)'.
     ] ifFalse:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError
     ].
 ! !
 
@@ -15390,9 +15403,9 @@
     HANDLE port = (HANDLE)(__externalAddressVal(self));
 
     if (port) {
-        __externalAddressVal(self) = (HANDLE)0;
-        PurgeComm( port, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR );
-        CloseHandle(port);
+	__externalAddressVal(self) = (HANDLE)0;
+	PurgeComm( port, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR );
+	CloseHandle(port);
     }
 %}.
 ! !
@@ -15405,18 +15418,18 @@
 
     if (port
      && __isSmallInteger(newRate)) {
-        DCB dcb;
-
-        ZeroMemory(&dcb, sizeof(dcb));
-        dcb.DCBlength = sizeof(dcb);
-        GetCommState(port, &dcb);
-
-        dcb.BaudRate = __intVal(newRate);
-
-        if (! SetCommState(port, &dcb)) {
-            RETURN(false);
-        }
-        RETURN(true);
+	DCB dcb;
+
+	ZeroMemory(&dcb, sizeof(dcb));
+	dcb.DCBlength = sizeof(dcb);
+	GetCommState(port, &dcb);
+
+	dcb.BaudRate = __intVal(newRate);
+
+	if (! SetCommState(port, &dcb)) {
+	    RETURN(false);
+	}
+	RETURN(true);
     }
 %}.
     self primitiveFailed.
@@ -15428,18 +15441,18 @@
 
     if (port
      && __isSmallInteger(newNumberOfBits)) {
-        DCB dcb;
-
-        ZeroMemory(&dcb, sizeof(dcb));
-        dcb.DCBlength = sizeof(dcb);
-        GetCommState(port, &dcb);
-
-        dcb.ByteSize = __intVal(newNumberOfBits);
-
-        if (! SetCommState(port, &dcb)) {
-            RETURN(false);
-        }
-        RETURN(true);
+	DCB dcb;
+
+	ZeroMemory(&dcb, sizeof(dcb));
+	dcb.DCBlength = sizeof(dcb);
+	GetCommState(port, &dcb);
+
+	dcb.ByteSize = __intVal(newNumberOfBits);
+
+	if (! SetCommState(port, &dcb)) {
+	    RETURN(false);
+	}
+	RETURN(true);
     }
 %}.
     self primitiveFailed.
@@ -15452,27 +15465,27 @@
     HANDLE port = (HANDLE)(__externalAddressVal(self));
 
     if (port) {
-        DCB dcb;
-
-        ZeroMemory(&dcb, sizeof(dcb));
-        dcb.DCBlength = sizeof(dcb);
-        GetCommState(port, &dcb);
-
-
-        if ((newParityTypeSymbol == nil) || (newParityTypeSymbol == @symbol(none))) {
-            dcb.Parity = NOPARITY;
-        } else if (newParityTypeSymbol == @symbol(odd)) {
-            dcb.Parity = ODDPARITY;
-        } else if (newParityTypeSymbol == @symbol(even)) {
-            dcb.Parity = EVENPARITY;
-        } else {
-            goto failure;
-        }
-
-        if (! SetCommState(port, &dcb)) {
-            RETURN(false);
-        }
-        RETURN(true);
+	DCB dcb;
+
+	ZeroMemory(&dcb, sizeof(dcb));
+	dcb.DCBlength = sizeof(dcb);
+	GetCommState(port, &dcb);
+
+
+	if ((newParityTypeSymbol == nil) || (newParityTypeSymbol == @symbol(none))) {
+	    dcb.Parity = NOPARITY;
+	} else if (newParityTypeSymbol == @symbol(odd)) {
+	    dcb.Parity = ODDPARITY;
+	} else if (newParityTypeSymbol == @symbol(even)) {
+	    dcb.Parity = EVENPARITY;
+	} else {
+	    goto failure;
+	}
+
+	if (! SetCommState(port, &dcb)) {
+	    RETURN(false);
+	}
+	RETURN(true);
     }
   failure: ;
 %}.
@@ -15485,26 +15498,26 @@
     HANDLE port = (HANDLE)(__externalAddressVal(self));
 
     if (port) {
-        DCB dcb;
-
-        ZeroMemory(&dcb, sizeof(dcb));
-        dcb.DCBlength = sizeof(dcb);
-        GetCommState(port, &dcb);
-
-        if (newStopBitsSymbol == @symbol(stop1)) {
-            dcb.Parity = 0 /* STOP1 */;
-        } else if (newStopBitsSymbol == @symbol(stop2)) {
-            dcb.Parity = 2 /* STOP2 */;
-        } else if (newStopBitsSymbol == @symbol(stop1_5)) {
-            dcb.Parity = 1 /* STOP1_5 */;
-        } else {
-            goto failure;
-        }
-
-        if (! SetCommState(port, &dcb)) {
-            RETURN(false);
-        }
-        RETURN(true);
+	DCB dcb;
+
+	ZeroMemory(&dcb, sizeof(dcb));
+	dcb.DCBlength = sizeof(dcb);
+	GetCommState(port, &dcb);
+
+	if (newStopBitsSymbol == @symbol(stop1)) {
+	    dcb.Parity = 0 /* STOP1 */;
+	} else if (newStopBitsSymbol == @symbol(stop2)) {
+	    dcb.Parity = 2 /* STOP2 */;
+	} else if (newStopBitsSymbol == @symbol(stop1_5)) {
+	    dcb.Parity = 1 /* STOP1_5 */;
+	} else {
+	    goto failure;
+	}
+
+	if (! SetCommState(port, &dcb)) {
+	    RETURN(false);
+	}
+	RETURN(true);
     }
   failure: ;
 %}.
@@ -15562,10 +15575,10 @@
     type := OperatingSystem socketTypeCodeOf:typeArg.
     proto := self protocolCodeOf:protoArg.
     serviceNameArg notNil ifTrue:[
-        serviceName := serviceNameArg printString.      "convert integer port numbers"
-        serviceNameArg isInteger ifTrue:[
-            port := serviceNameArg.
-        ].
+	serviceName := serviceNameArg printString.      "convert integer port numbers"
+	serviceNameArg isInteger ifTrue:[
+	    port := serviceNameArg.
+	].
     ]. "ifFalse:[serviceName := nil]"
 
 %{ /* STACK:32000 */
@@ -15574,24 +15587,24 @@
     int ret, cnt = 0;
 
     if (hostName == nil) {
-        __hostName = 0;
+	__hostName = 0;
     } else if (__isStringLike(hostName)) {
-        __hostName = __stringVal(hostName);
+	__hostName = __stringVal(hostName);
     } else {
-        error = @symbol(badArgument1);
-        goto exitPrim;
+	error = @symbol(badArgument1);
+	goto exitPrim;
     }
     if (serviceName == nil) {
-        __serviceName = 0;
+	__serviceName = 0;
     } else if (__isStringLike(serviceName)) {
-        __serviceName = __stringVal(serviceName);
+	__serviceName = __stringVal(serviceName);
     } else {
-        error = @symbol(badArgument2);
-        goto exitPrim;
+	error = @symbol(badArgument2);
+	goto exitPrim;
     }
     if (__hostName == 0 && __serviceName == 0) {
-        error = @symbol(badArgument);
-        goto exitPrim;
+	error = @symbol(badArgument);
+	goto exitPrim;
     }
 
 {
@@ -15604,121 +15617,121 @@
 
     memset(&hints, 0, sizeof(hints));
     if (__isSmallInteger(domain))
-        hints.ai_family = __intVal(domain);
+	hints.ai_family = __intVal(domain);
     if (__isSmallInteger(type))
-        hints.ai_socktype = __intVal(type);
+	hints.ai_socktype = __intVal(type);
     if (__isSmallInteger(proto))
-        hints.ai_protocol = __intVal(proto);
+	hints.ai_protocol = __intVal(proto);
 
     do {
-        /* must refetch in loop */
-        if (hostName == nil) {
-            __hostName = 0;
-        } else if (__isStringLike(hostName)) {
-            __hostName = __stringVal(hostName);
-        }
-        if (serviceName == nil) {
-            __serviceName = 0;
-        } else if (__isStringLike(serviceName)) {
-            __serviceName = __stringVal(serviceName);
-        }
+	/* must refetch in loop */
+	if (hostName == nil) {
+	    __hostName = 0;
+	} else if (__isStringLike(hostName)) {
+	    __hostName = __stringVal(hostName);
+	}
+	if (serviceName == nil) {
+	    __serviceName = 0;
+	} else if (__isStringLike(serviceName)) {
+	    __serviceName = __stringVal(serviceName);
+	}
 
 # ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            res = STX_WSA_NOINT_CALL4( "getaddrinfo", getaddrinfo, __hostName, __serviceName, &hints, &info);
-        } while ((res < 0) && (__threadErrno == EINTR));
+	do {
+	    __threadErrno = 0;
+	    res = STX_WSA_NOINT_CALL4( "getaddrinfo", getaddrinfo, __hostName, __serviceName, &hints, &info);
+	} while ((res < 0) && (__threadErrno == EINTR));
 # else
-        __BEGIN_INTERRUPTABLE__
-        ret = getaddrinfo(__hostName, __serviceName, &hints, &info);
-        __END_INTERRUPTABLE__
+	__BEGIN_INTERRUPTABLE__
+	ret = getaddrinfo(__hostName, __serviceName, &hints, &info);
+	__END_INTERRUPTABLE__
 # endif
     } while (ret == EAI_SYSTEM && errno == EINTR);
     if (ret != 0) {
-        switch (ret) {
-        case EAI_FAMILY:
-            error = @symbol(badProtocol);
-            break;
-        case EAI_SOCKTYPE:
-            error = @symbol(badSocketType);
-            break;
-        case EAI_BADFLAGS:
-            error = @symbol(badFlags);
-            break;
-        case EAI_NONAME:
-            error = @symbol(unknownHost);
-            break;
-        case EAI_SERVICE:
-            error = @symbol(unknownService);
-            break;
-        case EAI_ADDRFAMILY :
-            error = @symbol(unknownHostForProtocol);
-            break;
-        case EAI_NODATA:
-            error = @symbol(noAddress);
-            break;
-        case EAI_MEMORY:
-            error = @symbol(allocationFailure);
-            break;
-        case EAI_FAIL:
-            error = @symbol(permanentFailure);
-            break;
-        case EAI_AGAIN:
-            error = @symbol(tryAgain);
-            break;
-        case EAI_SYSTEM:
-            error = @symbol(systemError);
-            break;
-        default:
-            error = @symbol(unknownError);
-        }
-        errorString = __MKSTRING(gai_strerror(ret));
-        goto err;
+	switch (ret) {
+	case EAI_FAMILY:
+	    error = @symbol(badProtocol);
+	    break;
+	case EAI_SOCKTYPE:
+	    error = @symbol(badSocketType);
+	    break;
+	case EAI_BADFLAGS:
+	    error = @symbol(badFlags);
+	    break;
+	case EAI_NONAME:
+	    error = @symbol(unknownHost);
+	    break;
+	case EAI_SERVICE:
+	    error = @symbol(unknownService);
+	    break;
+	case EAI_ADDRFAMILY :
+	    error = @symbol(unknownHostForProtocol);
+	    break;
+	case EAI_NODATA:
+	    error = @symbol(noAddress);
+	    break;
+	case EAI_MEMORY:
+	    error = @symbol(allocationFailure);
+	    break;
+	case EAI_FAIL:
+	    error = @symbol(permanentFailure);
+	    break;
+	case EAI_AGAIN:
+	    error = @symbol(tryAgain);
+	    break;
+	case EAI_SYSTEM:
+	    error = @symbol(systemError);
+	    break;
+	default:
+	    error = @symbol(unknownError);
+	}
+	errorString = __MKSTRING(gai_strerror(ret));
+	goto err;
     }
     for (cnt=0, infop=info; infop; infop=infop->ai_next)
-        cnt++;
+	cnt++;
 
     result = __ARRAY_NEW_INT(cnt);
     if (result == nil) {
-        error = @symbol(allocationFailure);
-        goto err;
+	error = @symbol(allocationFailure);
+	goto err;
     }
     for (infop=info, cnt=0; infop; infop=infop->ai_next, cnt++) {
-        OBJ o, resp;
-
-        resp = __ARRAY_NEW_INT(6);
-        if (resp == nil) {
-            error = @symbol(allocationFailure);
-            goto err;
-        }
-
-        __ArrayInstPtr(result)->a_element[cnt] = resp; __STORE(result, resp);
-
-        __ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(infop->ai_flags);
-        __ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(infop->ai_family);
-        __ArrayInstPtr(resp)->a_element[2] = __mkSmallInteger(infop->ai_socktype);
-        __ArrayInstPtr(resp)->a_element[3] = __mkSmallInteger(infop->ai_protocol);
-
-        __PROTECT__(resp);
-        o = __BYTEARRAY_NEW_INT(infop->ai_addrlen);
-        __UNPROTECT__(resp);
-        if (o == nil) {
-            error = @symbol(allocationFailure);
-            goto err;
-        }
-        memcpy(__byteArrayVal(o), infop->ai_addr, infop->ai_addrlen);
+	OBJ o, resp;
+
+	resp = __ARRAY_NEW_INT(6);
+	if (resp == nil) {
+	    error = @symbol(allocationFailure);
+	    goto err;
+	}
+
+	__ArrayInstPtr(result)->a_element[cnt] = resp; __STORE(result, resp);
+
+	__ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(infop->ai_flags);
+	__ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(infop->ai_family);
+	__ArrayInstPtr(resp)->a_element[2] = __mkSmallInteger(infop->ai_socktype);
+	__ArrayInstPtr(resp)->a_element[3] = __mkSmallInteger(infop->ai_protocol);
+
+	__PROTECT__(resp);
+	o = __BYTEARRAY_NEW_INT(infop->ai_addrlen);
+	__UNPROTECT__(resp);
+	if (o == nil) {
+	    error = @symbol(allocationFailure);
+	    goto err;
+	}
+	memcpy(__byteArrayVal(o), infop->ai_addr, infop->ai_addrlen);
        __ArrayInstPtr(resp)->a_element[4] = o; __STORE(resp, o);
 
-        if (infop->ai_canonname) {
-            __PROTECT__(resp);
-            o = __MKSTRING(infop->ai_canonname);
-            __UNPROTECT__(resp);
-            if (o == nil) {
-                error = @symbol(allocationFailure);
-                goto err;
-            }
-            __ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
-        }
+	if (infop->ai_canonname) {
+	    __PROTECT__(resp);
+	    o = __MKSTRING(infop->ai_canonname);
+	    __UNPROTECT__(resp);
+	    if (o == nil) {
+		error = @symbol(allocationFailure);
+		goto err;
+	    }
+	    __ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
+	}
     }
 
 err:
@@ -15735,148 +15748,148 @@
     int i;
 
     if (__isSmallInteger(port)) {
-        __port = htons(__smallIntegerVal(port));
+	__port = htons(__smallIntegerVal(port));
     } else if (__serviceName) {
-        struct servent *sp;
-        char *__proto = 0;
-
-        if (__isStringLike(protoArg))
-            __proto = __stringVal(protoArg);
-
-        sp = getservbyname(__serviceName, __proto);
-        if (sp == NULL) {
-            __port = atoi(__serviceName);
-            if (__port <= 0) {
-                errorString = @symbol(unknownService);
-                error = __mkSmallInteger(-3);
-                goto err;
-            }
-            __port = htons(__port);
-        } else
-            __port = sp->s_port;
+	struct servent *sp;
+	char *__proto = 0;
+
+	if (__isStringLike(protoArg))
+	    __proto = __stringVal(protoArg);
+
+	sp = getservbyname(__serviceName, __proto);
+	if (sp == NULL) {
+	    __port = atoi(__serviceName);
+	    if (__port <= 0) {
+		errorString = @symbol(unknownService);
+		error = __mkSmallInteger(-3);
+		goto err;
+	    }
+	    __port = htons(__port);
+	} else
+	    __port = sp->s_port;
     }
 
     if (__hostName) {
 #  ifdef USE_H_ERRNO
-        do {
-            /* must refetch in loop */
-            if (hostName == nil) {
-                __hostName = 0;
-            } else if (__isStringLike(hostName)) {
-                __hostName = __stringVal(hostName);
-            }
+	do {
+	    /* must refetch in loop */
+	    if (hostName == nil) {
+		__hostName = 0;
+	    } else if (__isStringLike(hostName)) {
+		__hostName = __stringVal(hostName);
+	    }
 # ifdef DO_WRAP_CALLS
-            hp = STX_WSA_NOINT_CALL1("gethostbyname", gethostbyname, __hostName);
-            if ((INT)hp < 0) hp = NULL;
+	    hp = STX_WSA_NOINT_CALL1("gethostbyname", gethostbyname, __hostName);
+	    if ((INT)hp < 0) hp = NULL;
 # else
-            /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname
-             * uses a static data area
-             */
-            __BEGIN_INTERRUPTABLE__
-            hp = gethostbyname(__hostName);
-            __END_INTERRUPTABLE__
-#endif
-        } while ((hp == NULL)
-                  && (
-                        (h_errno == TRY_AGAIN)
-                      || errno == EINTR
+	    /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname
+	     * uses a static data area
+	     */
+	    __BEGIN_INTERRUPTABLE__
+	    hp = gethostbyname(__hostName);
+	    __END_INTERRUPTABLE__
+#endif
+	} while ((hp == NULL)
+		  && (
+			(h_errno == TRY_AGAIN)
+		      || errno == EINTR
 #   ifdef IRIX5_3
-                      || (errno == ECONNREFUSED)
+		      || (errno == ECONNREFUSED)
 #   endif
-                     )
-        );
-        if (hp == 0) {
-            switch (h_errno) {
-            case HOST_NOT_FOUND:
-                errorString = @symbol(unknownHost);
-                break;
-            case NO_ADDRESS:
-                errorString = @symbol(noAddress);
-                break;
-            case NO_RECOVERY:
-                errorString = @symbol(permanentFailure);
-                break;
-            case TRY_AGAIN:
-                errorString = @symbol(tryAgain);
-                break;
-            default:
-                errorString = @symbol(unknownError);
-                break;
-            }
-            error = __mkSmallInteger(h_errno);
-            goto err;
-        }
+		     )
+	);
+	if (hp == 0) {
+	    switch (h_errno) {
+	    case HOST_NOT_FOUND:
+		errorString = @symbol(unknownHost);
+		break;
+	    case NO_ADDRESS:
+		errorString = @symbol(noAddress);
+		break;
+	    case NO_RECOVERY:
+		errorString = @symbol(permanentFailure);
+		break;
+	    case TRY_AGAIN:
+		errorString = @symbol(tryAgain);
+		break;
+	    default:
+		errorString = @symbol(unknownError);
+		break;
+	    }
+	    error = __mkSmallInteger(h_errno);
+	    goto err;
+	}
 #  else /* !USE_H_ERRNO */
-        hp = gethostbyname(__hostName);
-        if (hp == 0) {
-            errorString = @symbol(unknownHost);
-            error = __mkSmallInteger(-1);
-            goto err;
-        }
+	hp = gethostbyname(__hostName);
+	if (hp == 0) {
+	    errorString = @symbol(unknownHost);
+	    error = __mkSmallInteger(-1);
+	    goto err;
+	}
 #  endif /* !USE_H_ERRNO*/
 
-        if (__isSmallInteger(domain) && hp->h_addrtype != __smallIntegerVal(domain)) {
-            errorString = @symbol(unknownHost);
-            error = __mkSmallInteger(-2);
-            goto err;
-        }
-
-        for (cnt = 0, addrpp = hp->h_addr_list; *addrpp; addrpp++)
-            cnt++;
-        addrpp = hp->h_addr_list;
+	if (__isSmallInteger(domain) && hp->h_addrtype != __smallIntegerVal(domain)) {
+	    errorString = @symbol(unknownHost);
+	    error = __mkSmallInteger(-2);
+	    goto err;
+	}
+
+	for (cnt = 0, addrpp = hp->h_addr_list; *addrpp; addrpp++)
+	    cnt++;
+	addrpp = hp->h_addr_list;
     } else {
-        cnt = 1;
+	cnt = 1;
     }
 
     result = __ARRAY_NEW_INT(cnt);
     if (result == nil) {
-        error = @symbol(allocationFailure);
-        goto err;
+	error = @symbol(allocationFailure);
+	goto err;
     }
 
     for (i = 0; i < cnt; i++) {
-        OBJ o, resp;
-        struct sockaddr_in *sa;
-
-        resp = __ARRAY_NEW_INT(6);
-        if (resp == nil) {
-            error = @symbol(allocationFailure);
-            goto err;
-        }
-
-        __ArrayInstPtr(result)->a_element[i] = resp; __STORE(result, resp);
-        __ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(0);
-        __ArrayInstPtr(resp)->a_element[2] = type; __STORE(result, type);
-        __ArrayInstPtr(resp)->a_element[3] = proto; __STORE(result, proto);
-        __PROTECT__(resp);
-        o = __BYTEARRAY_NEW_INT(sizeof(*sa));
-        __UNPROTECT__(resp);
-        if (o == nil) {
-            error = @symbol(allocationFailure);
-            goto err;
-        }
-        __ArrayInstPtr(resp)->a_element[4] = o; __STORE(resp, o);
-        sa = (struct sockaddr_in *)__byteArrayVal(o);
-        sa->sin_port = __port;
-
-        if (__hostName) {
-            sa->sin_family = hp->h_addrtype;
-            memcpy(&sa->sin_addr, *addrpp, hp->h_length);
-            __ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(hp->h_addrtype);
-            if (hp->h_name) {
-                __PROTECT__(resp);
-                o = __MKSTRING(hp->h_name);
-                __UNPROTECT__(resp);
-                if (o == nil) {
-                    error = @symbol(allocationFailure);
-                    goto err;
-                }
-                __ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
-            }
-            addrpp++;
-        } else{
-            __ArrayInstPtr(resp)->a_element[1] = domain; __STORE(resp, domain);
-        }
+	OBJ o, resp;
+	struct sockaddr_in *sa;
+
+	resp = __ARRAY_NEW_INT(6);
+	if (resp == nil) {
+	    error = @symbol(allocationFailure);
+	    goto err;
+	}
+
+	__ArrayInstPtr(result)->a_element[i] = resp; __STORE(result, resp);
+	__ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(0);
+	__ArrayInstPtr(resp)->a_element[2] = type; __STORE(result, type);
+	__ArrayInstPtr(resp)->a_element[3] = proto; __STORE(result, proto);
+	__PROTECT__(resp);
+	o = __BYTEARRAY_NEW_INT(sizeof(*sa));
+	__UNPROTECT__(resp);
+	if (o == nil) {
+	    error = @symbol(allocationFailure);
+	    goto err;
+	}
+	__ArrayInstPtr(resp)->a_element[4] = o; __STORE(resp, o);
+	sa = (struct sockaddr_in *)__byteArrayVal(o);
+	sa->sin_port = __port;
+
+	if (__hostName) {
+	    sa->sin_family = hp->h_addrtype;
+	    memcpy(&sa->sin_addr, *addrpp, hp->h_length);
+	    __ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(hp->h_addrtype);
+	    if (hp->h_name) {
+		__PROTECT__(resp);
+		o = __MKSTRING(hp->h_name);
+		__UNPROTECT__(resp);
+		if (o == nil) {
+		    error = @symbol(allocationFailure);
+		    goto err;
+		}
+		__ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
+	    }
+	    addrpp++;
+	} else{
+	    __ArrayInstPtr(resp)->a_element[1] = domain; __STORE(resp, domain);
+	}
     }
 
 err:;
@@ -15888,58 +15901,58 @@
 exitPrim:;
 %}.
     error notNil ifTrue:[
-        |request|
-        request := SocketAddressInfo new
-            domain:domainArg;
-            type:typeArg;
-            protocol:protoArg;
-            canonicalName:hostName;
-            serviceName:serviceName.
-        ^ (HostNameLookupError new
-                parameter:error;
-                messageText:' - ', (errorString ? error printString);
-                request:request) raiseRequest.
+	|request|
+	request := SocketAddressInfo new
+	    domain:domainArg;
+	    type:typeArg;
+	    protocol:protoArg;
+	    canonicalName:hostName;
+	    serviceName:serviceName.
+	^ (HostNameLookupError new
+		parameter:error;
+		messageText:' - ', (errorString ? error printString);
+		request:request) raiseRequest.
     ].
     1 to:result size do:[:i |
-        |entry dom info|
-
-        info := SocketAddressInfo new.
-        entry := result at:i.
-        info flags:(entry at:1).
-        info domain:(dom := OperatingSystem domainSymbolOf:(entry at:2)).
-        info type:(OperatingSystem socketTypeSymbolOf:(entry at:3)).
-        info protocol:(self protocolSymbolOf:(entry at:4)).
-        info socketAddress:((SocketAddress newDomain:dom) fromBytes:(entry at:5)).
-        info canonicalName:(entry at:6).
-        result at:i put:info
+	|entry dom info|
+
+	info := SocketAddressInfo new.
+	entry := result at:i.
+	info flags:(entry at:1).
+	info domain:(dom := OperatingSystem domainSymbolOf:(entry at:2)).
+	info type:(OperatingSystem socketTypeSymbolOf:(entry at:3)).
+	info protocol:(self protocolSymbolOf:(entry at:4)).
+	info socketAddress:((SocketAddress newDomain:dom) fromBytes:(entry at:5)).
+	info canonicalName:(entry at:6).
+	result at:i put:info
     ].
     ^ result
 
     "
      self getAddressInfo:'localhost' serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:nil
-            domain:#inet type:#stream protocol:nil flags:nil
+	    domain:#inet type:#stream protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:nil
-            domain:#inet type:#stream protocol:#tcp flags:nil
+	    domain:#inet type:#stream protocol:#tcp flags:nil
      self getAddressInfo:'localhost' serviceName:10
-            domain:#inet type:#stream protocol:#tcp flags:nil
+	    domain:#inet type:#stream protocol:#tcp flags:nil
      self getAddressInfo:'localhost' serviceName:'10'
-            domain:#inet type:#stream protocol:#tcp flags:nil
+	    domain:#inet type:#stream protocol:#tcp flags:nil
      self getAddressInfo:'blurb.exept.de' serviceName:nil
-            domain:#inet type:nil protocol:nil flags:nil
+	    domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:'1.2.3.4' serviceName:'bla'
-            domain:#inet type:nil protocol:nil flags:nil
+	    domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:'echo'
-            domain:#inet type:nil protocol:nil flags:nil
+	    domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:nil serviceName:'echo'
-            domain:#inet type:nil protocol:nil flags:nil
+	    domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:nil serviceName:nil
-            domain:#inet type:nil protocol:nil flags:nil
+	    domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:'www.google.de' serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'smc1' serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
     "
 !
 
@@ -15969,20 +15982,20 @@
     int nInstBytes, sockAddrSize;
 
     if (wantHostName == true) {
-        hp = host;
-        hsz = sizeof(host);
+	hp = host;
+	hsz = sizeof(host);
     }
     if (wantServiceName == true) {
-        sp = service;
-        ssz = sizeof(service);
+	sp = service;
+	ssz = sizeof(service);
     }
     if (hp == 0 && sp == 0) {
-        error = @symbol(badArgument);
-        goto err;
+	error = @symbol(badArgument);
+	goto err;
     }
     if (!__isBytes(socketAddress)) {
-        error = @symbol(badArgument1);
-        goto err;
+	error = @symbol(badArgument1);
+	goto err;
     }
 
     nInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(__qClass(socketAddress))->c_ninstvars));
@@ -15990,176 +16003,176 @@
     sockAddrSize -= nInstBytes;
 
     if (!__isSmallInteger(flags)) {
-        error = @symbol(badArgument5);
-        goto err;
+	error = @symbol(badArgument5);
+	goto err;
     }
     __flags = __intVal(flags);
 
 #if defined(NI_NUMERICHOST)
     if (useDatagram == true) {
-        __flags |= NI_DGRAM;
+	__flags |= NI_DGRAM;
     }
 
     {
-        bp = (char *)(__byteArrayVal(socketAddress));
-        bp += nInstBytes;
-        __BEGIN_INTERRUPTABLE__
-        ret = getnameinfo((struct sockaddr *)bp, sockAddrSize,
-                          hp, hsz, sp, ssz, __flags);
-        __END_INTERRUPTABLE__
+	bp = (char *)(__byteArrayVal(socketAddress));
+	bp += nInstBytes;
+	__BEGIN_INTERRUPTABLE__
+	ret = getnameinfo((struct sockaddr *)bp, sockAddrSize,
+			  hp, hsz, sp, ssz, __flags);
+	__END_INTERRUPTABLE__
     } while (ret == EAI_SYSTEM && errno == EINTR);
     if (ret != 0) {
-        switch (ret) {
-        case EAI_FAMILY:
-            error = @symbol(badProtocol);
-            break;
-        case EAI_SOCKTYPE:
-            error = @symbol(badSocketType);
-            break;
-        case EAI_BADFLAGS:
-            error = @symbol(badFlags);
-            break;
-        case EAI_NONAME:
-            error = @symbol(unknownHost);
-            break;
-        case EAI_SERVICE:
-            error = @symbol(unknownService);
-            break;
-        case EAI_ADDRFAMILY :
-            error = @symbol(unknownHostForProtocol);
-            break;
-        case EAI_NODATA:
-            error = @symbol(noAddress);
-            break;
-        case EAI_MEMORY:
-            error = @symbol(allocationFailure);
-            break;
-        case EAI_FAIL:
-            error = @symbol(permanentFailure);
-            break;
-        case EAI_AGAIN:
-            error = @symbol(tryAgain);
-            break;
-        case EAI_SYSTEM:
-            error = @symbol(systemError);
-            break;
-        default:
-            error = @symbol(unknownError);
-        }
-        errorString = __MKSTRING(gai_strerror(ret));
-        goto err;
+	switch (ret) {
+	case EAI_FAMILY:
+	    error = @symbol(badProtocol);
+	    break;
+	case EAI_SOCKTYPE:
+	    error = @symbol(badSocketType);
+	    break;
+	case EAI_BADFLAGS:
+	    error = @symbol(badFlags);
+	    break;
+	case EAI_NONAME:
+	    error = @symbol(unknownHost);
+	    break;
+	case EAI_SERVICE:
+	    error = @symbol(unknownService);
+	    break;
+	case EAI_ADDRFAMILY :
+	    error = @symbol(unknownHostForProtocol);
+	    break;
+	case EAI_NODATA:
+	    error = @symbol(noAddress);
+	    break;
+	case EAI_MEMORY:
+	    error = @symbol(allocationFailure);
+	    break;
+	case EAI_FAIL:
+	    error = @symbol(permanentFailure);
+	    break;
+	case EAI_AGAIN:
+	    error = @symbol(tryAgain);
+	    break;
+	case EAI_SYSTEM:
+	    error = @symbol(systemError);
+	    break;
+	default:
+	    error = @symbol(unknownError);
+	}
+	errorString = __MKSTRING(gai_strerror(ret));
+	goto err;
     }
 # else /* ! NI_NUMERICHOST */
     {
-        /*
-         * Do it using gethostbyaddr()
-         */
-        struct sockaddr_in *sa;
-
-        if (sockAddrSize < sizeof(*sa)) {
-            error = @symbol(badArgument1);
-            goto err;
-        }
-        bp = (char *)(__byteArrayVal(socketAddress));
-        bp += nInstBytes;
-        sa = (struct sockaddr_in *)bp;
-
-        if (sp) {
-            struct servent *servp;
-            char *__proto = 0;
-
-            __proto = (useDatagram == true ? "udp" : "tcp");
-
-            servp = getservbyport(sa->sin_port, __proto);
-            if (servp) {
-                sp = servp->s_name;
-            }
-        }
-        if (hp) {
-            struct hostent *hostp;
+	/*
+	 * Do it using gethostbyaddr()
+	 */
+	struct sockaddr_in *sa;
+
+	if (sockAddrSize < sizeof(*sa)) {
+	    error = @symbol(badArgument1);
+	    goto err;
+	}
+	bp = (char *)(__byteArrayVal(socketAddress));
+	bp += nInstBytes;
+	sa = (struct sockaddr_in *)bp;
+
+	if (sp) {
+	    struct servent *servp;
+	    char *__proto = 0;
+
+	    __proto = (useDatagram == true ? "udp" : "tcp");
+
+	    servp = getservbyport(sa->sin_port, __proto);
+	    if (servp) {
+		sp = servp->s_name;
+	    }
+	}
+	if (hp) {
+	    struct hostent *hostp;
 #  ifdef USE_H_ERRNO
-            do {
-                /* must refetch in loop */
-                bp = (char *)(__byteArrayVal(socketAddress));
-                bp += nInstBytes;
-                sa = (struct sockaddr_in *)bp;
-                /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname uses a static data area
-                 */
-                hostp = gethostbyaddr((char *)&sa->sin_addr, sockAddrSize, sa->sin_family);
-                /* __END_INTERRUPTABLE__ */
-            } while ((hostp == NULL)
-                      && ((h_errno == TRY_AGAIN)
-                          || errno == EINTR
+	    do {
+		/* must refetch in loop */
+		bp = (char *)(__byteArrayVal(socketAddress));
+		bp += nInstBytes;
+		sa = (struct sockaddr_in *)bp;
+		/* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname uses a static data area
+		 */
+		hostp = gethostbyaddr((char *)&sa->sin_addr, sockAddrSize, sa->sin_family);
+		/* __END_INTERRUPTABLE__ */
+	    } while ((hostp == NULL)
+		      && ((h_errno == TRY_AGAIN)
+			  || errno == EINTR
 #   ifdef IRIX5_3
-                          || (errno == ECONNREFUSED)
+			  || (errno == ECONNREFUSED)
 #   endif
-                         )
-            );
-            if (hostp == 0) {
-                switch (h_errno) {
-                case HOST_NOT_FOUND:
-                    errorString = @symbol(unknownHost);
-                    break;
-                case NO_ADDRESS:
-                    errorString = @symbol(noAddress);
-                    break;
-                case NO_RECOVERY:
-                    errorString = @symbol(permanentFailure);
-                    break;
-                case TRY_AGAIN:
-                    errorString = @symbol(tryAgain);
-                    break;
-                default:
-                    errorString = @symbol(unknownError);
-                    break;
-                }
-                error = __mkSmallInteger(h_errno);
-                goto err;
-            }
+			 )
+	    );
+	    if (hostp == 0) {
+		switch (h_errno) {
+		case HOST_NOT_FOUND:
+		    errorString = @symbol(unknownHost);
+		    break;
+		case NO_ADDRESS:
+		    errorString = @symbol(noAddress);
+		    break;
+		case NO_RECOVERY:
+		    errorString = @symbol(permanentFailure);
+		    break;
+		case TRY_AGAIN:
+		    errorString = @symbol(tryAgain);
+		    break;
+		default:
+		    errorString = @symbol(unknownError);
+		    break;
+		}
+		error = __mkSmallInteger(h_errno);
+		goto err;
+	    }
 #  else /* !USE_H_ERRNO */
-            hostp = gethostbyaddr((char *)&sa->sin_addr, sockAddrSize, sa->sin_family);
-            if (hostp == 0) {
-                errorString = @symbol(unknownHost);
-                error = __mkSmallInteger(-1);
-                goto err;
-            }
+	    hostp = gethostbyaddr((char *)&sa->sin_addr, sockAddrSize, sa->sin_family);
+	    if (hostp == 0) {
+		errorString = @symbol(unknownHost);
+		error = __mkSmallInteger(-1);
+		goto err;
+	    }
 #  endif /* !USE_H_ERRNO*/
-            hp = hostp->h_name;
-        }
+	    hp = hostp->h_name;
+	}
     }
 # endif /* ! NI_NUMERICHOST */
 
     if (hp)
-        hostName = __MKSTRING(hp);
+	hostName = __MKSTRING(hp);
     if (sp)
-        serviceName = __MKSTRING(sp);
+	serviceName = __MKSTRING(sp);
 err:;
 #else
     error = @symbol(notImplemented);
 #endif
 %}.
     error notNil ifTrue:[
-        ^ (HostAddressLookupError new
-                parameter:error;
-                messageText:' - ', errorString;
-                request:thisContext message) raiseRequest.
+	^ (HostAddressLookupError new
+		parameter:error;
+		messageText:' - ', errorString;
+		request:thisContext message) raiseRequest.
     ].
 
     ^ Array with:hostName with:serviceName
 
     "
      self getNameInfo:
-        (self getAddressInfo:'localhost' serviceName:'echo'
-                domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
-         wantHostName:true wantServiceName:true datagram:false flags:0
+	(self getAddressInfo:'localhost' serviceName:'echo'
+		domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
+	 wantHostName:true wantServiceName:true datagram:false flags:0
 
      self getNameInfo:
-        (self getAddressInfo:'exept.exept.de' serviceName:'echo'
-                domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
-         wantHostName:true wantServiceName:true datagram:false flags:0
+	(self getAddressInfo:'exept.exept.de' serviceName:'echo'
+		domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
+	 wantHostName:true wantServiceName:true datagram:false flags:0
 
      self getNameInfo:#[1 2 3 4]
-         wantHostName:true wantServiceName:true datagram:false flags:0
+	 wantHostName:true wantServiceName:true datagram:false flags:0
     "
 ! !
 
@@ -16182,35 +16195,35 @@
 !Win32OperatingSystem::WinPointStructure methodsFor:'accessing'!
 
 asPoint
-        "Private - Answer the receiver as a Point."
+	"Private - Answer the receiver as a Point."
     ^self x @ self y
 
     "Created: / 03-08-2006 / 10:45:55 / fm"
 !
 
 x
-        "Private - Answer the x coordinate of the point."
+	"Private - Answer the x coordinate of the point."
     ^self longAt: 0 + 1
 
     "Created: / 03-08-2006 / 10:46:11 / fm"
 !
 
 x: anInteger
-        "Private - Set the x coordinate of the point."
+	"Private - Set the x coordinate of the point."
     self longAt: 0 + 1 put: anInteger
 
     "Created: / 03-08-2006 / 10:46:41 / fm"
 !
 
 y
-        "Private - Answer the y coordinate of the point."
+	"Private - Answer the y coordinate of the point."
     ^self longAt: 4 + 1
 
     "Created: / 03-08-2006 / 10:46:26 / fm"
 !
 
 y: anInteger
-        "Private - Set the y coordinate of the point."
+	"Private - Set the y coordinate of the point."
     self longAt: 4 + 1 put: anInteger
 
     "Created: / 03-08-2006 / 10:46:56 / fm"
@@ -16219,7 +16232,7 @@
 !Win32OperatingSystem::WinPointStructure methodsFor:'printing'!
 
 printOn: aStream
-        "Append a textual representation of the receiver to aStream."
+	"Append a textual representation of the receiver to aStream."
     aStream nextPutAll: self class name, ' { ', self asPoint printString, ' } '
 
     "Created: / 03-08-2006 / 10:45:40 / fm"
@@ -16228,15 +16241,15 @@
 !Win32OperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Win32OperatingSystem.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Win32OperatingSystem.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.412 2010-10-29 16:56:27 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.414 2010/12/01 19:25:36 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: Win32OperatingSystem.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Win32OperatingSystem.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 Win32OperatingSystem initialize!
@@ -16248,3 +16261,4 @@
 
 
 
+
--- a/Win32Process.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/Win32Process.st	Mon Dec 20 07:13:27 2010 +0000
@@ -217,14 +217,15 @@
 !Win32Process class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Win32Process.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: Win32Process.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/Win32Process.st,v 1.2 2010-02-01 11:29:35 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/Win32Process.st,v 1.2 2010/02/01 11:29:35 cg Exp §'
 ! !
 
 
 
 
 
+
--- a/WriteStream.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/WriteStream.st	Mon Dec 20 07:13:27 2010 +0000
@@ -622,17 +622,18 @@
 !WriteStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: WriteStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: WriteStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/WriteStream.st,v 1.71 2009-10-05 09:19:55 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/WriteStream.st,v 1.71 2009/10/05 09:19:55 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: WriteStream.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: WriteStream.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
 
 
 
+
--- a/YesToAllConfirmation.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/YesToAllConfirmation.st	Mon Dec 20 07:13:27 2010 +0000
@@ -101,14 +101,15 @@
 !YesToAllConfirmation class methodsFor:'documentation'!
 
 version
-    ^ '$Id: YesToAllConfirmation.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: YesToAllConfirmation.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libbasic/YesToAllConfirmation.st,v 1.6 2010-10-14 08:38:03 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libbasic/YesToAllConfirmation.st,v 1.6 2010/10/14 08:38:03 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: YesToAllConfirmation.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: YesToAllConfirmation.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
+
--- a/bc.mak	Tue Nov 30 15:53:23 2010 +0000
+++ b/bc.mak	Mon Dec 20 07:13:27 2010 +0000
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/libbasic/bc.mak,v 1.168 2010-09-20 15:40:18 cg Exp $
+# $Header: /cvs/stx/stx/libbasic/bc.mak,v 1.168 2010/09/20 15:40:18 cg Exp $
 #
 # DO NOT EDIT
 # automagically generated from the projectDefinition: stx_libbasic.
@@ -349,3 +349,4 @@
 
 # ENDMAKEDEPEND --- do not remove this line
 
+
--- a/libInit.cc	Tue Nov 30 15:53:23 2010 +0000
+++ b/libInit.cc	Mon Dec 20 07:13:27 2010 +0000
@@ -1,5 +1,5 @@
 /*
- * $Header: /cvs/stx/stx/libbasic/libInit.cc,v 1.161 2010-10-14 16:54:58 cg Exp $
+ * $Header: /cvs/stx/stx/libbasic/libInit.cc,v 1.161 2010/10/14 16:54:58 cg Exp $
  *
  * DO NOT EDIT
  * automagically generated from the projectDefinition: stx_libbasic.
--- a/resources/af.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/af.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/af.rs,v 1.3 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/af.rs,v 1.3 2004/03/15 16:39:09 cg Exp $
 ;
 ; Afrikaans strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/de.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/de.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/de.rs,v 1.8 2010-06-08 19:20:52 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/de.rs,v 1.8 2010/06/08 19:20:52 cg Exp $
 ;
 ; German strings
 ;
@@ -198,3 +198,4 @@
 
 
 
+
--- a/resources/el.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/el.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-7
 
-; $Header: /cvs/stx/stx/libbasic/resources/el.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/el.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Greek strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/en.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/en.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/en.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/en.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; English date strings
 ;
@@ -146,3 +146,4 @@
 
 
 
+
--- a/resources/eo.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/eo.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding utf8
 
-; $Header: /cvs/stx/stx/libbasic/resources/eo.rs,v 1.3 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/eo.rs,v 1.3 2004/03/15 16:39:09 cg Exp $
 ;
 ; Esperanto strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/fr.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/fr.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/fr.rs,v 1.3 2008-02-05 12:23:42 sr Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/fr.rs,v 1.3 2008/02/05 12:23:42 sr Exp $
 ;
 ; French strings
 ;
@@ -53,3 +53,4 @@
 
 
 
+
--- a/resources/hu.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/hu.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding utf-8
 
-; $Header: /cvs/stx/stx/libbasic/resources/hu.rs,v 1.2 2006-10-23 10:20:55 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/hu.rs,v 1.2 2006/10/23 10:20:55 cg Exp $
 ;
 ; Hungarian strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/it.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/it.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/it.rs,v 1.4 2006-10-28 14:11:17 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/it.rs,v 1.4 2006/10/28 14:11:17 cg Exp $
 ;
 ; Italian strings
 ;
@@ -57,3 +57,4 @@
 
 
 
+
--- a/resources/ja.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/ja.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding utf-8
 
-; $Header: /cvs/stx/stx/libbasic/resources/ja.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/ja.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Japanese strings
 ;
@@ -62,3 +62,4 @@
 
 
 
+
--- a/resources/nl.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/nl.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/nl.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/nl.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Dutch strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/no.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/no.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/no.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/no.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Norwegian strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/pt.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/pt.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/pt.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/pt.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Portuguese strings
 ;
@@ -52,3 +52,4 @@
 
 
 
+
--- a/resources/resources.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/resources.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,7 +1,7 @@
 #encoding ascii
 
 ;
-; $Header: /cvs/stx/stx/libbasic/resources/resources.rs,v 1.8 2008-11-28 16:44:55 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/resources.rs,v 1.8 2008/11/28 16:44:55 cg Exp $
 ;
 
 #if Language == #af
@@ -131,3 +131,4 @@
 
 
 
+
--- a/resources/ro.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/ro.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-2
 
-; $Header: /cvs/stx/stx/libbasic/resources/ro.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/ro.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Romanian strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/ru.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/ru.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-5
 
-; $Header: /cvs/stx/stx/libbasic/resources/ru.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/ru.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Russian strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/sv.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/sv.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/sv.rs,v 1.3 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/sv.rs,v 1.3 2004/03/15 16:39:09 cg Exp $
 ;
 ; Swedish strings
 ;
@@ -55,3 +55,4 @@
 
 
 
+
--- a/resources/tr.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/tr.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding iso8859-1
 
-; $Header: /cvs/stx/stx/libbasic/resources/tr.rs,v 1.2 2004-03-15 16:39:09 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/tr.rs,v 1.2 2004/03/15 16:39:09 cg Exp $
 ;
 ; Turkish strings
 ;
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/zh.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/zh.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding utf8
 
-; $Header: /cvs/stx/stx/libbasic/resources/zh.rs,v 1.2 2008-11-28 16:44:28 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/zh.rs,v 1.2 2008/11/28 16:44:28 cg Exp $
 ;
 ; Chinese simplified
 ; extracted from google by claus - can someone proofread, please.
@@ -51,3 +51,4 @@
 
 
 
+
--- a/resources/zh_trad.rs	Tue Nov 30 15:53:23 2010 +0000
+++ b/resources/zh_trad.rs	Mon Dec 20 07:13:27 2010 +0000
@@ -1,6 +1,6 @@
 #encoding utf8
 
-; $Header: /cvs/stx/stx/libbasic/resources/zh_trad.rs,v 1.2 2008-11-28 16:50:03 cg Exp $
+; $Header: /cvs/stx/stx/libbasic/resources/zh_trad.rs,v 1.2 2008/11/28 16:50:03 cg Exp $
 ;
 ; Chinese traditional
 ; this file contains 8bit national characters;
@@ -12,3 +12,4 @@
 
 
 
+
--- a/stx_libbasic.st	Tue Nov 30 15:53:23 2010 +0000
+++ b/stx_libbasic.st	Mon Dec 20 07:13:27 2010 +0000
@@ -528,20 +528,21 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"'10589M'"$"
+    ^ "$SVN-Revision:"'10601M'"$"
 ! !
 
 !stx_libbasic class methodsFor:'documentation'!
 
 version
-    ^ '$Id: stx_libbasic.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: stx_libbasic.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/stx_libbasic.st,v 1.78 2010-10-14 08:42:44 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/stx_libbasic.st,v 1.78 2010/10/14 08:42:44 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: stx_libbasic.st 10590 2010-11-09 16:24:28Z vranyj1 $'
+    ^ '$Id: stx_libbasic.st 10602 2010-12-20 07:13:27Z vranyj1 $'
 ! !
 
+
--- a/vms.mak	Tue Nov 30 15:53:23 2010 +0000
+++ b/vms.mak	Mon Dec 20 07:13:27 2010 +0000
@@ -2,7 +2,7 @@
 # DO NOT EDIT 
 # automatically generated from Make.proto
 #
-# $Header: /cvs/stx/stx/libbasic/vms.mak,v 1.9 2001-10-31 15:02:19 cg Exp $
+# $Header: /cvs/stx/stx/libbasic/vms.mak,v 1.9 2001/10/31 15:02:19 cg Exp $
 #
 TOP=..
 LIBNAME=libbasic
@@ -299,3 +299,4 @@
 
 
 
+