Merge jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 22 Nov 2016 14:52:52 +0000
branchjv
changeset 21026 81e280fc1b93
parent 21025 442ca2ef6f76 (current diff)
parent 20996 3cb1110e6967 (diff)
child 21027 ad86468de3a0
Merge
Behavior.st
CachingRegistry.st
Class.st
Dictionary.st
ExternalLibraryFunction.st
ExternalStream.st
LimitedPrecisionReal.st
PipeStream.st
ProgrammingLanguage.st
ProjectDefinition.st
Registry.st
SequenceableCollection.st
Smalltalk.st
SmalltalkChunkFileSourceWriter.st
WeakIdentityDictionary.st
Win32OperatingSystem.st
stx_libbasic.st
--- a/Behavior.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/Behavior.st	Tue Nov 22 14:52:52 2016 +0000
@@ -1424,6 +1424,7 @@
     ^ self nameWithoutPrefix
 ! !
 
+
 !Behavior methodsFor:'RefactoringBrowser'!
 
 realClass
@@ -5161,15 +5162,17 @@
 !
 
 whichSelectorsAssign: instVarName
-	"Answer a set of selectors whose methods write the argument, instVarName,
-	as a named instance variable."
-
-	^ self whichSelectorsWrite: instVarName
+    "Answer a set of selectors whose methods write the argument, instVarName,
+    as a named instance variable."
+
+    ^ self whichSelectorsWrite: instVarName
+
+    "Modified (comment): / 16-11-2016 / 20:16:53 / cg"
 !
 
 whichSelectorsRead: instVarName
-	"Answer a set of selectors whose methods read the argument, instVarName,
-	as a named instance variable."
+    "Answer a set of selectors whose methods read the argument, instVarName,
+    as a named instance variable."
 
 "/        | instVarIndex methodDict|
 "/        instVarIndex := self allInstVarNames indexOf: instVarName ifAbsent: [^Set new].
@@ -5177,12 +5180,13 @@
 "/        ^methodDict keys select: [:sel | (methodDict at: sel)
 "/                        readsField: instVarIndex]
 
-	| methodDict |
-	methodDict := self methodDictionary.
-	^ methodDict keys
-	    select: [:sel | (methodDict at: sel) readsInstVar: instVarName]
+    | methodDict |
+
+    methodDict := self methodDictionary.
+    ^ methodDict keys select: [:sel | (methodDict at: sel) readsInstVar: instVarName]
 
     "Modified: / 23-07-2012 / 11:22:04 / cg"
+    "Modified (comment): / 16-11-2016 / 20:16:45 / cg"
 !
 
 whichSelectorsReferTo:someLiteralConstant
@@ -5239,20 +5243,21 @@
 !
 
 whichSelectorsWrite: instVarName
-	"Answer a set of selectors whose methods write the argument, instVarName,
-	as a named instance variable."
+    "Answer a set of selectors whose methods write the argument, instVarName,
+    as a named instance variable."
 
 "/        | instVarIndex methodDict |
 "/        instVarIndex := self allInstVarNames indexOf: instVarName ifAbsent: [^Set new].
 "/        methodDict := self methodDictionary.
 "/        ^methodDict keys select: [:sel | (methodDict at: sel)
 "/                        writesField: instVarIndex]
-	| methodDict |
-	methodDict := self methodDictionary.
-	^ methodDict keys
-	    select: [:sel | (methodDict at: sel) writesInstVar: instVarName]
+    | methodDict |
+
+    methodDict := self methodDictionary.
+    ^ methodDict keys select: [:sel | (methodDict at: sel) writesInstVar: instVarName]
 
     "Modified: / 23-07-2012 / 11:21:17 / cg"
+    "Modified (format): / 16-11-2016 / 20:17:17 / cg"
 ! !
 
 !Behavior methodsFor:'snapshots'!
--- a/CachingRegistry.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/CachingRegistry.st	Tue Nov 22 14:52:52 2016 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1999 by eXept Software AG
 	      All Rights Reserved
@@ -91,13 +93,19 @@
     ].
 
     "check the whole registry..."
-    keyArray validElementsDo:[:obj |
-        (obj ~~ DeletedEntry and:[aBlock value:obj]) ifTrue:[
-            keptReferences size >= cacheSize ifTrue:[
-                keptReferences removeFirst.
+    keyArray validElementsDo:[:eachElement |
+        eachElement ~~ DeletedEntry ifTrue:[
+            |realObject|
+
+            realObject := eachElement.
+            eachElement == NilEntry ifTrue:[realObject := nil].
+            (aBlock value:realObject) ifTrue:[
+                keptReferences size >= cacheSize ifTrue:[
+                    keptReferences removeFirst.
+                ].
+                keptReferences addLast:realObject.
+                ^ realObject
             ].
-            keptReferences addLast:obj.
-            ^ obj
         ].
     ].
     ^ exceptionValue value
--- a/Class.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/Class.st	Tue Nov 22 14:52:52 2016 +0000
@@ -386,10 +386,10 @@
     "/ care for standAlone apps which have no CVS (libbasic3) included
     "/
     mgr isNil ifTrue:[
-	AbstractSourceCodeManager notNil ifTrue:[
-	    ^ CVSVersionInfo fromRCSString:aString
-	].
-	^ nil
+        AbstractSourceCodeManager notNil ifTrue:[
+            ^ AbstractSourceCodeManager revisionInfoFromRCSString:aString
+        ].
+        ^ nil
     ].
     ^ mgr revisionInfoFromString:aString.
 
--- a/Dictionary.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/Dictionary.st	Tue Nov 22 14:52:52 2016 +0000
@@ -176,11 +176,10 @@
     ^ newDict
 
     "
-     Dictionary withAssociations:(Array
-                                    with:#'one'->1
-                                    with:#'two'->2
-                                    with:#'three'->3
-                                    with:#'four'->4)
+     Dictionary withAssociations:{ #'one'->1 .
+                                   #'two'->2 .
+                                   #'three'->3 .
+                                   #'four'->4 }
     "
 
     "Created: / 11.2.2000 / 10:05:54 / cg"
@@ -297,6 +296,8 @@
     ^ true
 ! !
 
+
+
 !Dictionary methodsFor:'accessing'!
 
 associationAt:aKey
@@ -1635,7 +1636,7 @@
     <resource:#obsolete>
 
     self obsoleteMethodWarning:'please use #keysDo:'.
-    ^ super do:aBlock
+    ^ self keysDo:aBlock
 
     "Modified: 20.4.1996 / 11:22:01 / cg"
 !
@@ -2455,6 +2456,7 @@
     ^ aVisitor visitDictionary:self with:aParameter
 ! !
 
+
 !Dictionary class methodsFor:'documentation'!
 
 version
--- a/ExternalLibraryFunction.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/ExternalLibraryFunction.st	Tue Nov 22 14:52:52 2016 +0000
@@ -976,7 +976,7 @@
      This is useful, if some code has a hardcoded dll-name in it, which needs to be changed,
      but you do not want or cannot recompile the methods (i.e. no source avail)"
 
-    |handle nameString filename dllPathes|
+    |handle nameString filename dllPaths|
 
     (ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]) ifFalse:[
         self error:('ObjectFileLoader cannot load dll/module: "%1"' bindWith:nameString).
@@ -996,13 +996,13 @@
 
     filename isAbsolute ifFalse:[
         "First ask the class defining the ExternalFunction for the location of the dlls ..."
-        dllPathes := #().
+        dllPaths := #().
         owningClass notNil ifTrue:[
-            dllPathes := owningClass dllPath.
+            dllPaths := owningClass dllPath.
         ].
         ".. then ask the system"
-        dllPathes := dllPathes, self class dllPath.
-        dllPathes do:[:eachDirectory |
+        dllPaths := dllPaths, self class dllPath.
+        dllPaths do:[:eachDirectory |
             |libraryName|
 
             libraryName := eachDirectory asFilename construct:nameString.
@@ -1016,7 +1016,7 @@
         ^ self loadLibrary:(filename withSuffix:ObjectFileLoader sharedLibrarySuffix)
     ].
 
-    self 
+    self
         error:('Cannot find or load dll/module: "%1"' bindWith:nameString)
         mayProceed:true.
     ^ nil
--- a/ExternalStream.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/ExternalStream.st	Tue Nov 22 14:52:52 2016 +0000
@@ -211,7 +211,7 @@
 # define DEBUGBUFFER(buf)  \
     if (((char *)(buf) >= __survStartPtr) \
      && ((char *)(buf) < __survEndPtr)) { \
-	__fatal0("read into survivor\n"); \
+        __fatal0("read into survivor\n"); \
     }
 
 #else
@@ -234,33 +234,33 @@
 // Win returns from ReadFile() with false and _threadErrno == 0 on end of pipe.
 // We don't know why
 #  define READ(ret, f, cp, n, handleType) { \
-	if (handleType == @symbol(socketHandle)) { \
-	  (ret) = __STX_WSA_NOINT_CALL4("recv", recv, (f), (cp), (n), 0); \
-	} else { \
-	  HANDLE h = _get_osfhandle(fileno(f)); \
-	  if (handleType == @symbol(socketFilePointer)) { \
-	    (ret) = __STX_WSA_NOINT_CALL4("recv", recv, h, (cp), (n), 0);\
-	  } else { \
-	    int __res; \
-	    (ret) = __STX_API_NOINT_CALL5("ReadFile", ReadFile, h, (cp), (n), &__res, 0);\
-	    (ret) = (ret) ? __res : ((__threadErrno == EPIPE || __threadErrno == 0) ? 0 : -1); \
-	  } \
-	} \
+        if (handleType == @symbol(socketHandle)) { \
+          (ret) = __STX_WSA_NOINT_CALL4("recv", recv, (f), (cp), (n), 0); \
+        } else { \
+          HANDLE h = _get_osfhandle(fileno(f)); \
+          if (handleType == @symbol(socketFilePointer)) { \
+            (ret) = __STX_WSA_NOINT_CALL4("recv", recv, h, (cp), (n), 0);\
+          } else { \
+            int __res; \
+            (ret) = __STX_API_NOINT_CALL5("ReadFile", ReadFile, h, (cp), (n), &__res, 0);\
+            (ret) = (ret) ? __res : ((__threadErrno == EPIPE || __threadErrno == 0) ? 0 : -1); \
+          } \
+        } \
       }
 
 #  define WRITE(ret, f, cp, n, handleType) { \
-	if (handleType == @symbol(socketHandle)) { \
-	  (ret) = __STX_WSA_NOINT_CALL4("send", send, (f), (cp), (n), 0); \
-	} else {\
-	  HANDLE h = _get_osfhandle(fileno(f)); \
-	  if (handleType == @symbol(socketFilePointer)) { \
-	    (ret) = __STX_WSA_NOINT_CALL4("send", send, h, (cp), (n), 0);\
-	  } else {\
-	    int __res; \
-	    (ret) = __STX_API_NOINT_CALL5("WriteFile", WriteFile, h, (cp), (n), &__res, 0);\
-	    (ret) = (ret) ? __res : -1; \
-	  } \
-	} \
+        if (handleType == @symbol(socketHandle)) { \
+          (ret) = __STX_WSA_NOINT_CALL4("send", send, (f), (cp), (n), 0); \
+        } else {\
+          HANDLE h = _get_osfhandle(fileno(f)); \
+          if (handleType == @symbol(socketFilePointer)) { \
+            (ret) = __STX_WSA_NOINT_CALL4("send", send, h, (cp), (n), 0);\
+          } else {\
+            int __res; \
+            (ret) = __STX_API_NOINT_CALL5("WriteFile", WriteFile, h, (cp), (n), &__res, 0);\
+            (ret) = (ret) ? __res : -1; \
+          } \
+        } \
       }
 
 # define FFLUSH(fp)             fflush(fp)
@@ -271,56 +271,56 @@
 # define __READING__(f)                          \
     if ((__INST(didWrite) != false)              \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = false;                \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = false;                \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 # define __WRITING__(f)                          \
     if ((__INST(didWrite) != true)               \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = true;                 \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = true;                 \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 # define __UNGETC__(c, f, isBuffered)                   \
     if (isBuffered) {                                   \
-	ungetc((c), (f));                               \
+        ungetc((c), (f));                               \
     } else {                                            \
       __INST(readAhead) = __mkSmallInteger((c));        \
     }
 
 # define __READBYTE__(ret, f, buf, isBuffered, handleType) \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) >= 0) {                           \
-		*(buf) = (ret);                         \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		if (__threadErrno == EINTR) {           \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else {                                    \
-		(ret) = 0;                              \
-	    }                                           \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) >= 0) {                           \
+                *(buf) = (ret);                         \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                if (__threadErrno == EINTR) {           \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else {                                    \
+                (ret) = 0;                              \
+            }                                           \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	OBJ rA = __INST(readAhead);                     \
-	if (rA != nil) {                                \
-	    *(buf) = (char)__intVal(rA);                \
-	    __INST(readAhead) = nil;                    \
-	    (ret) = 1;                                  \
-	} else {                                        \
-	    for (;;) {                                  \
-		CLEAR_ERRNO;                            \
-		READ((ret), f, buf, 1, handleType);       \
-		if ((ret) >= 0 || __threadErrno != EINTR) \
-		    break;                              \
-	    }                                           \
-	}                                               \
+        OBJ rA = __INST(readAhead);                     \
+        if (rA != nil) {                                \
+            *(buf) = (char)__intVal(rA);                \
+            __INST(readAhead) = nil;                    \
+            (ret) = 1;                                  \
+        } else {                                        \
+            for (;;) {                                  \
+                CLEAR_ERRNO;                            \
+                READ((ret), f, buf, 1, handleType);       \
+                if ((ret) >= 0 || __threadErrno != EINTR) \
+                    break;                              \
+            }                                           \
+        }                                               \
     }
 
   /*
@@ -330,110 +330,112 @@
 # define __READBYTES__(ret, f, buf, cnt, isBuffered, handleType)    \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {       \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__offs++] = (ret);                    \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__offs++] = (ret);                    \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0;                                 \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		__INST(readAhead) = nil;                \
-		(ret) = 1;                              \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		READ((ret), f, (buf)+__offs, (cnt)-__offs, handleType); \
-		if ((ret) <= 0) {                       \
-		    if ((ret) < 0 && __threadErrno == EINTR) {  \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                __INST(readAhead) = nil;                \
+                (ret) = 1;                              \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                READ((ret), f, (buf)+__offs, (cnt)-__offs, handleType); \
+                if ((ret) <= 0) {                       \
+                    if ((ret) < 0 && __threadErrno == EINTR) {  \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 
 # define __READAVAILBYTES__(ret, f, buf, cnt, isBuffered, handleType) \
   {                                                     \
     int __offs = 0;                                     \
     int oldFlags;                                       \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {       \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__offs++] = (ret);                    \
-	}                                               \
-	(ret) = __offs;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__offs++] = (ret);                    \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		__INST(readAhead) = nil;                \
-		(ret) = 1;                              \
-		__offs ++;                              \
-		continue;                               \
-	    }                                           \
-	    CLEAR_ERRNO;                                \
-	    {                                           \
-	      int res = 0;                              \
-	      if ((handleType == @symbol(socketFilePointer) && (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)),FIONREAD,&res), 1)) \
-		  || (handleType == @symbol(socketHandle) && (ioctlsocket((SOCKET)(f), FIONREAD, &res), 1)) \
-		  || (handleType == @symbol(pipeFilePointer) && (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0, 0,0,&res,0), 1))) { \
-		  if (res > 0) {                        \
-		      if (res > ((cnt)-__offs))         \
-			  res = (cnt)-__offs;           \
-		      READ((ret), f, (buf)+__offs, res, handleType); \
-		  } else {                              \
-		      (ret) = 0;                        \
-		      break;                            \
-		  }                                     \
-	      } else {                                  \
-		  READ((ret), f, (buf)+__offs, (cnt)-__offs, handleType); \
-	      }                                         \
-	    }                                           \
-	    if ((ret) <= 0) {                           \
-		if (ret < 0 && __threadErrno == EINTR)  \
-		    continue;                           \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	(ret) = __offs;                                 \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                __INST(readAhead) = nil;                \
+                (ret) = 1;                              \
+                __offs ++;                              \
+                continue;                               \
+            }                                           \
+            CLEAR_ERRNO;                                \
+            {                                           \
+              int res = 0;                              \
+              if ((handleType == @symbol(socketFilePointer) && (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)),FIONREAD,&res), 1)) \
+                  || (handleType == @symbol(socketHandle) && (ioctlsocket((SOCKET)(f), FIONREAD, &res), 1)) \
+                  || (handleType == @symbol(pipeFilePointer) && (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0, 0,0,&res,0), 1))) { \
+                  if (res > 0) {                        \
+                      if (res > ((cnt)-__offs))         \
+                          res = (cnt)-__offs;           \
+                      READ((ret), f, (buf)+__offs, res, handleType); \
+                  } else {                              \
+                      (ret) = 0;                        \
+                      break;                            \
+                  }                                     \
+              } else {                                  \
+                  READ((ret), f, (buf)+__offs, (cnt)-__offs, handleType); \
+              }                                         \
+            }                                           \
+            if ((ret) <= 0) {                           \
+                if (ret < 0 && __threadErrno == EINTR)  \
+                    continue;                           \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -444,63 +446,63 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {       \
-			clearerr(f);                    \
-			/* refetch */                   \
-			buf = (char *)(obj);   \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__ooffs+__offs] = (ret);              \
-	    __offs++;                                   \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        clearerr(f);                    \
+                        /* refetch */                   \
+                        buf = (char *)(obj);   \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__ooffs+__offs] = (ret);              \
+            __offs++;                                   \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    char __buf[IO_BUFFER_SIZE];                 \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		__INST(readAhead) = nil;                \
-		(ret) = 1;                              \
-	    } else {                                    \
-		int l;                                  \
-		CLEAR_ERRNO;                            \
-		l = (cnt)-__offs;                       \
-		if ( l > IO_BUFFER_SIZE)                \
-		  l = IO_BUFFER_SIZE;                   \
-		READ((ret),f, __buf, l, handleType);                  \
-		if ((ret) <= 0) {                       \
-		    if ((ret) < 0 && __threadErrno == EINTR) {  \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-	    }                                           \
-	    if ((ret) > 0 ) {                           \
-		/* refetch */                               \
-		buf = (char *)(obj);               \
-		memcpy((buf)+__ooffs+__offs,__buf,(ret));   \
-		__offs += (ret);                            \
-	    } else {                                        \
-		(ret) = 0;                                  \
-	    }                                               \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            char __buf[IO_BUFFER_SIZE];                 \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                __INST(readAhead) = nil;                \
+                (ret) = 1;                              \
+            } else {                                    \
+                int l;                                  \
+                CLEAR_ERRNO;                            \
+                l = (cnt)-__offs;                       \
+                if ( l > IO_BUFFER_SIZE)                \
+                  l = IO_BUFFER_SIZE;                   \
+                READ((ret),f, __buf, l, handleType);                  \
+                if ((ret) <= 0) {                       \
+                    if ((ret) < 0 && __threadErrno == EINTR) {  \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+            }                                           \
+            if ((ret) > 0 ) {                           \
+                /* refetch */                               \
+                buf = (char *)(obj);               \
+                memcpy((buf)+__ooffs+__offs,__buf,(ret));   \
+                __offs += (ret);                            \
+            } else {                                        \
+                (ret) = 0;                                  \
+            }                                               \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -509,141 +511,141 @@
     int __ooffs = obj_offs;                          \
     int __offs = 0;                                  \
     char *buf = (char *)(obj);                       \
-						     \
+                                                     \
     (ret) = 0;                                       \
     if (isBuffered) {                                \
-	while (__offs < (cnt)) {                     \
-	    CLEAR_ERRNO;                             \
-	    (ret) = getc(f);                         \
-	    if ((ret) < 0) {                         \
-		if (ferror(f)) {                     \
-		    if (__threadErrno == EINTR) {    \
-			clearerr(f);                 \
-			/* refetch */                \
-			buf = (char *)(obj);\
-			continue;                    \
-		    }                                \
-		} else {                             \
-		    (ret) = 0;                       \
-		}                                    \
-		break;                               \
-	    }                                        \
-	    (buf)[__ooffs+__offs] = (ret);           \
-	    __offs++;                                \
-	}                                            \
-	if (__offs > 0)                              \
-	    (ret) = __offs;                          \
+        while (__offs < (cnt)) {                     \
+            CLEAR_ERRNO;                             \
+            (ret) = getc(f);                         \
+            if ((ret) < 0) {                         \
+                if (ferror(f)) {                     \
+                    if (__threadErrno == EINTR) {    \
+                        clearerr(f);                 \
+                        /* refetch */                \
+                        buf = (char *)(obj);\
+                        continue;                    \
+                    }                                \
+                } else {                             \
+                    (ret) = 0;                       \
+                }                                    \
+                break;                               \
+            }                                        \
+            (buf)[__ooffs+__offs] = (ret);           \
+            __offs++;                                \
+        }                                            \
+        if (__offs > 0)                              \
+            (ret) = __offs;                          \
     } else {                                         \
-	while (__offs < (cnt)) {                     \
-	    char __buf[IO_BUFFER_SIZE];              \
-	    OBJ rA = __INST(readAhead);              \
-	    if (rA != nil) {                         \
-		(buf)[__ooffs+__offs] = __intVal(rA);\
-		__INST(readAhead) = nil;             \
-		(ret) = 1;                           \
-		__offs++;                            \
-		continue;                            \
-	    }                                        \
-	    {                                        \
-		int res = 0;                         \
-		int l = (cnt)-__offs;                \
-		CLEAR_ERRNO;                         \
-		if (l > IO_BUFFER_SIZE)              \
-		    l = IO_BUFFER_SIZE;              \
-		if ((handleType == @symbol(socketFilePointer) && (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)), FIONREAD, &res), 1)) \
-		    || (handleType == @symbol(socketHandle) && (ioctlsocket((SOCKET)(f), FIONREAD, &res), 1)) \
-		    || (handleType == @symbol(pipeFilePointer) && (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0,0,0,&res,0), 1))) { \
-		    if (res > 0) {                   \
-			if (res > l) res = l;        \
-			READ((ret), f, __buf, res, handleType); \
-		    } else {                         \
-			(ret) = 0;                   \
-			break;                       \
-		    }                                \
-		} else {                             \
-		    READ((ret), f, __buf, l, handleType); \
-		}                                     \
-		if ((ret) <= 0) {                     \
-		    if (ret < 0 && __threadErrno == EINTR) \
-			continue;                       \
-		    break;                              \
-		}                                       \
-	    }                                           \
-	    if ((ret) > 0) {                            \
-		buf = (char *)(obj);                    \
-		memcpy((buf)+__ooffs+__offs, __buf, (ret)); \
-		__offs += (ret);                        \
-	    } else {                                    \
-		(ret) = 0;                              \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                     \
+            char __buf[IO_BUFFER_SIZE];              \
+            OBJ rA = __INST(readAhead);              \
+            if (rA != nil) {                         \
+                (buf)[__ooffs+__offs] = __intVal(rA);\
+                __INST(readAhead) = nil;             \
+                (ret) = 1;                           \
+                __offs++;                            \
+                continue;                            \
+            }                                        \
+            {                                        \
+                int res = 0;                         \
+                int l = (cnt)-__offs;                \
+                CLEAR_ERRNO;                         \
+                if (l > IO_BUFFER_SIZE)              \
+                    l = IO_BUFFER_SIZE;              \
+                if ((handleType == @symbol(socketFilePointer) && (ioctlsocket((SOCKET)_get_osfhandle(fileno(f)), FIONREAD, &res), 1)) \
+                    || (handleType == @symbol(socketHandle) && (ioctlsocket((SOCKET)(f), FIONREAD, &res), 1)) \
+                    || (handleType == @symbol(pipeFilePointer) && (PeekNamedPipe((HANDLE)_get_osfhandle(fileno(f)),0,0,0,&res,0), 1))) { \
+                    if (res > 0) {                   \
+                        if (res > l) res = l;        \
+                        READ((ret), f, __buf, res, handleType); \
+                    } else {                         \
+                        (ret) = 0;                   \
+                        break;                       \
+                    }                                \
+                } else {                             \
+                    READ((ret), f, __buf, l, handleType); \
+                }                                     \
+                if ((ret) <= 0) {                     \
+                    if (ret < 0 && __threadErrno == EINTR) \
+                        continue;                       \
+                    break;                              \
+                }                                       \
+            }                                           \
+            if ((ret) > 0) {                            \
+                buf = (char *)(obj);                    \
+                memcpy((buf)+__ooffs+__offs, __buf, (ret)); \
+                __offs += (ret);                        \
+            } else {                                    \
+                (ret) = 0;                              \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
 # define __WRITEBYTE__(ret, f, buf, isBuffered, handleType)         \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    ret = putc(*(buf), f);                      \
-	    if ((ret) >= 0) {                           \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		if (__threadErrno == EINTR) {                   \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else                                      \
-		(ret) = 0;                              \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            ret = putc(*(buf), f);                      \
+            if ((ret) >= 0) {                           \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                if (__threadErrno == EINTR) {                   \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else                                      \
+                (ret) = 0;                              \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    WRITE(ret,f, buf, 1, handleType);                       \
-	    if ((ret) >= 0 || __threadErrno != EINTR)           \
-		break;                                  \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            WRITE(ret,f, buf, 1, handleType);                       \
+            if ((ret) >= 0 || __threadErrno != EINTR)           \
+                break;                                  \
+        }                                               \
    }
 
 # define __WRITEBYTES__(ret, f, buf, cnt, isBuffered, handleType)   \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
-	    if ((ret) <= 0) {                           \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {               \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
+            if ((ret) <= 0) {                           \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {               \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    WRITE(ret,f, (buf)+__offs, (cnt)-__offs, handleType);   \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) { \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            WRITE(ret,f, (buf)+__offs, (cnt)-__offs, handleType);   \
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR) { \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 
 # define __WRITEBYTES_OBJ__(ret, f, obj, obj_offs, cnt, isBuffered, handleType) \
@@ -651,51 +653,51 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f); \
-	    if ((ret) <= 0) {                           \
-		if (ferror(f)) {                        \
-		    if (__threadErrno == EINTR) {       \
-			/* refetch */                   \
-			buf = (char *)(obj);   \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f); \
+            if ((ret) <= 0) {                           \
+                if (ferror(f)) {                        \
+                    if (__threadErrno == EINTR) {       \
+                        /* refetch */                   \
+                        buf = (char *)(obj);   \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    char __buf[IO_BUFFER_SIZE];                 \
-	    int l;                                      \
-	    CLEAR_ERRNO;                                \
-	    l = (cnt)-__offs;                           \
-	    if ( l > IO_BUFFER_SIZE)                    \
-	      l = IO_BUFFER_SIZE;                       \
-	    /* refetch */                               \
-	    buf = (char *)(obj);               \
-	    memcpy(__buf,(buf)+__ooffs+__offs,l);       \
-	    WRITE(ret,f, __buf, l, handleType);                     \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && __threadErrno == EINTR) {        \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            char __buf[IO_BUFFER_SIZE];                 \
+            int l;                                      \
+            CLEAR_ERRNO;                                \
+            l = (cnt)-__offs;                           \
+            if ( l > IO_BUFFER_SIZE)                    \
+              l = IO_BUFFER_SIZE;                       \
+            /* refetch */                               \
+            buf = (char *)(obj);               \
+            memcpy(__buf,(buf)+__ooffs+__offs,l);       \
+            WRITE(ret,f, __buf, l, handleType);                     \
+            if (ret <= 0) {                             \
+                if (ret < 0 && __threadErrno == EINTR) {        \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -706,15 +708,15 @@
 # define __READING__(f)                          \
     if ((__INST(didWrite) != false)              \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = false;                \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = false;                \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 # define __WRITING__(f)                          \
     if ((__INST(didWrite) != true)               \
      && (__INST(mode) == @symbol(readwrite))) {  \
-	__INST(didWrite) = true;                 \
-	OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
+        __INST(didWrite) = true;                 \
+        OPT_FSEEK(f, 0L, SEEK_CUR); /* needed in stdio */  \
     }
 
 
@@ -724,73 +726,73 @@
 # else /* use STDIO */
 #  define __UNGETC__(c, f, isBuffered)                  \
     if (isBuffered) {                                   \
-	ungetc((c), (f));                               \
+        ungetc((c), (f));                               \
     } else {                                            \
-	__INST(readAhead) = __mkSmallInteger((c));          \
+        __INST(readAhead) = __mkSmallInteger((c));          \
     }
 # endif /* use STDIO */
 
 # ifdef NO_STDIO
 #  define __READBYTE__(ret, f, buf, isBuffered, handleType)         \
     {                                                   \
-	OBJ rA = __INST(readAhead);                     \
-	if (rA != nil) {                                \
-	    *(buf) = __intVal(rA);                      \
-	    DEBUGBUFFER(buf);                           \
-	    __INST(readAhead) = nil;                    \
-	    (ret) = 1;                                  \
-	} else {                                        \
-	    for (;;) {                                  \
-		CLEAR_ERRNO;                            \
-		(ret) = READ(f, buf, 1, handleType);    \
-		DEBUGBUFFER(buf);                       \
-		if ((ret) >= 0) break;                  \
-		if (errno != EINTR) {                   \
-		    break;                              \
-		}                                       \
-		__HANDLE_INTERRUPTS__;                  \
-	    }                                           \
-	}                                               \
+        OBJ rA = __INST(readAhead);                     \
+        if (rA != nil) {                                \
+            *(buf) = __intVal(rA);                      \
+            DEBUGBUFFER(buf);                           \
+            __INST(readAhead) = nil;                    \
+            (ret) = 1;                                  \
+        } else {                                        \
+            for (;;) {                                  \
+                CLEAR_ERRNO;                            \
+                (ret) = READ(f, buf, 1, handleType);    \
+                DEBUGBUFFER(buf);                       \
+                if ((ret) >= 0) break;                  \
+                if (errno != EINTR) {                   \
+                    break;                              \
+                }                                       \
+                __HANDLE_INTERRUPTS__;                  \
+            }                                           \
+        }                                               \
     }
 # else /* use STDIO */
 #  define __READBYTE__(ret, f, buf, isBuffered, handleType)         \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) >= 0) {                           \
-		DEBUGBUFFER(buf);                       \
-		*(buf) = (ret);                         \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		if (errno == EINTR) {                   \
-		    __HANDLE_INTERRUPTS__;              \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else                                      \
-		(ret) = 0;                              \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) >= 0) {                           \
+                DEBUGBUFFER(buf);                       \
+                *(buf) = (ret);                         \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                if (errno == EINTR) {                   \
+                    __HANDLE_INTERRUPTS__;              \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else                                      \
+                (ret) = 0;                              \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	OBJ rA = __INST(readAhead);                     \
-	if (rA != nil) {                                \
-	    *(buf) = __intVal(rA);                      \
-	    DEBUGBUFFER(buf);                           \
-	    __INST(readAhead) = nil;                    \
-	    (ret) = 1;                                  \
-	} else {                                        \
-	    for (;;) {                                  \
-		CLEAR_ERRNO;                            \
-		(ret) = read(fileno(f), buf, 1);        \
-		DEBUGBUFFER(buf);                       \
-		if ((ret) >= 0) break;                  \
-		if (errno != EINTR) {                   \
-		    break;                              \
-		}                                       \
-		__HANDLE_INTERRUPTS__;                  \
-	    }                                           \
-	}                                               \
+        OBJ rA = __INST(readAhead);                     \
+        if (rA != nil) {                                \
+            *(buf) = __intVal(rA);                      \
+            DEBUGBUFFER(buf);                           \
+            __INST(readAhead) = nil;                    \
+            (ret) = 1;                                  \
+        } else {                                        \
+            for (;;) {                                  \
+                CLEAR_ERRNO;                            \
+                (ret) = read(fileno(f), buf, 1);        \
+                DEBUGBUFFER(buf);                       \
+                if ((ret) >= 0) break;                  \
+                if (errno != EINTR) {                   \
+                    break;                              \
+                }                                       \
+                __HANDLE_INTERRUPTS__;                  \
+            }                                           \
+        }                                               \
    }
 # endif /* use STDIO */
 
@@ -801,84 +803,84 @@
 # ifdef NO_STDIO
 #  define __READBYTES__(ret, f, buf, cnt, isBuffered, handleType)   \
     {                                                   \
-	int __offs = 0, __cnt;                          \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = READ(f, (buf)+__offs, (cnt)-__offs, handleType); \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && errno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0, __cnt;                          \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = READ(f, (buf)+__offs, (cnt)-__offs, handleType); \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && errno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 # else /* use STDIO */
 #  define __READBYTES__(ret, f, buf, cnt, isBuffered, handleType)     \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (errno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    DEBUGBUFFER(buf);                           \
-	    (buf)[__offs++] = (ret);                    \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (errno == EINTR) {               \
+                        __HANDLE_INTERRUPTS__;          \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            DEBUGBUFFER(buf);                           \
+            (buf)[__offs++] = (ret);                    \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0, __cnt;                          \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		DEBUGBUFFER(buf);                       \
-		(buf)[__offs] = __intVal(rA);           \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = read(fd, (buf)+__offs, (cnt)-__offs);  \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && errno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0, __cnt;                          \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                DEBUGBUFFER(buf);                       \
+                (buf)[__offs] = __intVal(rA);           \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = read(fd, (buf)+__offs, (cnt)-__offs);  \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && errno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 
 
@@ -888,7 +890,7 @@
 
 #  if defined(F_GETFL) && defined(F_SETFL) && (defined(O_NONBLOCK) || defined(O_NDELAY) || defined(FNDELAY))
 #   define SETFLAGS(fd, flags) \
-	fcntl(fd, F_SETFL, flags)
+        fcntl(fd, F_SETFL, flags)
 
 #   if defined(O_NONBLOCK)
 #    define __STX_NONBLOCK_FLAG O_NONBLOCK
@@ -901,13 +903,13 @@
 #   endif
 
 #   define SETNONBLOCKING(fd, oldFlags) \
-	{ \
-	    int flags = fcntl(fd, F_GETFL, 0); \
-	    if (flags >= 0) { \
-		fcntl(fd, F_SETFL, flags | __STX_NONBLOCK_FLAG); \
-	    } \
-	    oldFlags = flags; \
-	}
+        { \
+            int flags = fcntl(fd, F_GETFL, 0); \
+            if (flags >= 0) { \
+                fcntl(fd, F_SETFL, flags | __STX_NONBLOCK_FLAG); \
+            } \
+            oldFlags = flags; \
+        }
 #  else
 #   define SETFLAGS(fd, flags) /* nothing */
 #   define SETNONBLOCKING(fd, oldFlags) /* nothing */
@@ -917,52 +919,52 @@
   {                                                     \
     int __offs = 0, __cnt;                              \
     int oldFlags;                                       \
-							\
+                                                        \
     (ret) = 0;                                          \
     SETNONBLOCKING(fileno(f), oldFlags);                \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (errno == EINTR) {               \
-			(ret) = 0;                      \
-			clearerr(f);                    \
-			break;                          \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__offs++] = (ret);                    \
-	    DEBUGBUFFER(buf);                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (errno == EINTR) {               \
+                        (ret) = 0;                      \
+                        clearerr(f);                    \
+                        break;                          \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__offs++] = (ret);                    \
+            DEBUGBUFFER(buf);                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__offs] = __intVal(rA);           \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-		continue;                               \
-	    }                                           \
-	    CLEAR_ERRNO;                                \
-	    __cnt = read(fd, (buf)+__offs, (cnt)-__offs); \
-	    DEBUGBUFFER(buf);                           \
-	    if (__cnt > 0) {                            \
-		__offs += __cnt;                        \
-	    }                                           \
-	    break;                                      \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__offs] = __intVal(rA);           \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+                continue;                               \
+            }                                           \
+            CLEAR_ERRNO;                                \
+            __cnt = read(fd, (buf)+__offs, (cnt)-__offs); \
+            DEBUGBUFFER(buf);                           \
+            if (__cnt > 0) {                            \
+                __offs += __cnt;                        \
+            }                                           \
+            break;                                      \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
     SETFLAGS(fileno(f), oldFlags);                      \
   }
@@ -980,34 +982,34 @@
     int __offs = 0;                                     \
     int __cnt;                                          \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     {                                                   \
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = READ(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType); \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && errno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = READ(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType); \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && errno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        /* refetch */                   \
+                        buf = (char *)(obj);            \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -1019,61 +1021,61 @@
     int __offs = 0;                                     \
     int __cnt;                                          \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (errno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			clearerr(f);                    \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			DEBUGBUFFER(buf);               \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__ooffs+__offs] = (ret);              \
-	    DEBUGBUFFER(buf);                           \
-	    __offs++;                                   \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (errno == EINTR) {               \
+                        __HANDLE_INTERRUPTS__;          \
+                        clearerr(f);                    \
+                        /* refetch */                   \
+                        buf = (char *)(obj);            \
+                        DEBUGBUFFER(buf);               \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__ooffs+__offs] = (ret);              \
+            DEBUGBUFFER(buf);                           \
+            __offs++;                                   \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-	    } else {                                    \
-		CLEAR_ERRNO;                            \
-		__cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
-		DEBUGBUFFER(buf);                       \
-		if (__cnt <= 0) {                       \
-		    if (__cnt < 0 && errno == EINTR) {  \
-			__HANDLE_INTERRUPTS__;          \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		}                                       \
-		__offs += __cnt;                        \
-	    }                                           \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+            } else {                                    \
+                CLEAR_ERRNO;                            \
+                __cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
+                DEBUGBUFFER(buf);                       \
+                if (__cnt <= 0) {                       \
+                    if (__cnt < 0 && errno == EINTR) {  \
+                        __HANDLE_INTERRUPTS__;          \
+                        /* refetch */                   \
+                        buf = (char *)(obj);            \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                }                                       \
+                __offs += __cnt;                        \
+            }                                           \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 
@@ -1084,56 +1086,56 @@
     int __cnt;                                          \
     char *buf = (char *)(obj);                          \
     int oldFlags;                                       \
-							\
+                                                        \
     (ret) = 0;                                          \
     SETNONBLOCKING(fileno(f), oldFlags);                \
-							\
+                                                        \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = getc(f);                            \
-	    if ((ret) < 0) {                            \
-		if (ferror(f)) {                        \
-		    if (errno == EINTR) {               \
-			clearerr(f);                    \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			(ret) = 0;                      \
-			break;                          \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    (buf)[__ooffs+__offs] = (ret);              \
-	    DEBUGBUFFER(buf);                           \
-	    __offs++;                                   \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = getc(f);                            \
+            if ((ret) < 0) {                            \
+                if (ferror(f)) {                        \
+                    if (errno == EINTR) {               \
+                        clearerr(f);                    \
+                        /* refetch */                   \
+                        buf = (char *)(obj);            \
+                        (ret) = 0;                      \
+                        break;                          \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            (buf)[__ooffs+__offs] = (ret);              \
+            DEBUGBUFFER(buf);                           \
+            __offs++;                                   \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int fd = fileno(f);                             \
-							\
-	while (__offs < (cnt)) {                        \
-	    OBJ rA = __INST(readAhead);                 \
-	    if (rA != nil) {                            \
-		(buf)[__ooffs+__offs] = __intVal(rA);   \
-		DEBUGBUFFER(buf);                       \
-		__INST(readAhead) = nil;                \
-		__offs++;                               \
-		continue;                               \
-	    }                                           \
-	    CLEAR_ERRNO;                                \
-	    __cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
-	    DEBUGBUFFER(buf);                           \
-	    if (__cnt > 0) {                            \
-		__offs += __cnt;                        \
-	    }                                           \
-	    break;                                      \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int fd = fileno(f);                             \
+                                                        \
+        while (__offs < (cnt)) {                        \
+            OBJ rA = __INST(readAhead);                 \
+            if (rA != nil) {                            \
+                (buf)[__ooffs+__offs] = __intVal(rA);   \
+                DEBUGBUFFER(buf);                       \
+                __INST(readAhead) = nil;                \
+                __offs++;                               \
+                continue;                               \
+            }                                           \
+            CLEAR_ERRNO;                                \
+            __cnt = read(fd, (buf)+__ooffs+__offs, (cnt)-__offs); \
+            DEBUGBUFFER(buf);                           \
+            if (__cnt > 0) {                            \
+                __offs += __cnt;                        \
+            }                                           \
+            break;                                      \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
     SETFLAGS(fileno(f), oldFlags);                      \
   }
@@ -1143,44 +1145,44 @@
 
 # ifdef NO_STDIO
 #  define __WRITEBYTE__(ret, f, buf, isBuffered, handleType)          \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = WRITE(f, buf, 1, handleType);       \
-	    if ((ret) >= 0) break;                      \
-	    if (errno != EINTR) {                       \
-		break;                                  \
-	    }                                           \
-	    __HANDLE_INTERRUPTS__;                      \
-	}
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = WRITE(f, buf, 1, handleType);       \
+            if ((ret) >= 0) break;                      \
+            if (errno != EINTR) {                       \
+                break;                                  \
+            }                                           \
+            __HANDLE_INTERRUPTS__;                      \
+        }
 # else /* use STDIO */
 #  define __WRITEBYTE__(ret, f, buf, isBuffered, handleType)        \
     if (isBuffered) {                                   \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    ret = putc(*(buf), f);                      \
-	    if ((ret) >= 0) {                           \
-		(ret) = 1;                              \
-	    } else if (ferror(f)) {                     \
-		/* SOLARIS/SPARC (2.6) generates spurious errors with errno = 0 */ \
-		if (errno == EINTR || errno == 0) {     \
-		    __HANDLE_INTERRUPTS__;              \
-		    clearerr(f);                        \
-		    continue;                           \
-		}                                       \
-	    } else                                      \
-		(ret) = 0;                              \
-	    break;                                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            ret = putc(*(buf), f);                      \
+            if ((ret) >= 0) {                           \
+                (ret) = 1;                              \
+            } else if (ferror(f)) {                     \
+                /* SOLARIS/SPARC (2.6) generates spurious errors with errno = 0 */ \
+                if (errno == EINTR || errno == 0) {     \
+                    __HANDLE_INTERRUPTS__;              \
+                    clearerr(f);                        \
+                    continue;                           \
+                }                                       \
+            } else                                      \
+                (ret) = 0;                              \
+            break;                                      \
+        }                                               \
     } else {                                            \
-	for (;;) {                                      \
-	    CLEAR_ERRNO;                                \
-	    (ret) = write(fileno(f), buf, 1);           \
-	    if ((ret) >= 0) break;                      \
-	    if (errno != EINTR) {                       \
-		break;                                  \
-	    }                                           \
-	    __HANDLE_INTERRUPTS__;                      \
-	}                                               \
+        for (;;) {                                      \
+            CLEAR_ERRNO;                                \
+            (ret) = write(fileno(f), buf, 1);           \
+            if ((ret) >= 0) break;                      \
+            if (errno != EINTR) {                       \
+                break;                                  \
+            }                                           \
+            __HANDLE_INTERRUPTS__;                      \
+        }                                               \
    }
 # endif /* use STDIO */
 
@@ -1192,64 +1194,64 @@
 #  define __WRITEBYTES__(ret, f, buf, cnt, isBuffered, handleType)    \
     (ret) = 0;                                          \
     {                                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = WRITE(f, (buf)+__offs, (cnt)-__offs, handleType); \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && errno == EINTR) {        \
-		    __HANDLE_INTERRUPTS__;              \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = WRITE(f, (buf)+__offs, (cnt)-__offs, handleType); \
+            if (ret <= 0) {                             \
+                if (ret < 0 && errno == EINTR) {        \
+                    __HANDLE_INTERRUPTS__;              \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 # else /* use STDIO */
 #  define __WRITEBYTES__(ret, f, buf, cnt, isBuffered, handleType)    \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
-	    if ((ret) <= 0) {                            \
-		if (ferror(f)) {                        \
-		    if (errno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = fwrite((buf)+__offs, 1, (cnt)-__offs, f);\
+            if ((ret) <= 0) {                            \
+                if (ferror(f)) {                        \
+                    if (errno == EINTR) {               \
+                        __HANDLE_INTERRUPTS__;          \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     } else {                                            \
-	int __offs = 0;                                 \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = write(fileno(f), (buf)+__offs, (cnt)-__offs);\
-	    if ((ret) <= 0) {                           \
-		if ((ret) < 0) {                        \
-		    if (errno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			continue;                       \
-		    }                                   \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        int __offs = 0;                                 \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = write(fileno(f), (buf)+__offs, (cnt)-__offs);\
+            if ((ret) <= 0) {                           \
+                if ((ret) < 0) {                        \
+                    if (errno == EINTR) {               \
+                        __HANDLE_INTERRUPTS__;          \
+                        continue;                       \
+                    }                                   \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
    }
 # endif /* use STDIO */
 
@@ -1263,25 +1265,25 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     {                                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    ret = WRITE(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType); \
-	    if (ret <= 0) {                             \
-		if (ret < 0 && errno == EINTR) {        \
-		    __HANDLE_INTERRUPTS__;              \
-		    /* refetch */                       \
-		    buf = (char *)(obj);                \
-		    continue;                           \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
-	if (__offs > 0)                                 \
-	    (ret) = __offs;                             \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            ret = WRITE(f, (buf)+__ooffs+__offs, (cnt)-__offs, handleType); \
+            if (ret <= 0) {                             \
+                if (ret < 0 && errno == EINTR) {        \
+                    __HANDLE_INTERRUPTS__;              \
+                    /* refetch */                       \
+                    buf = (char *)(obj);                \
+                    continue;                           \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
+        if (__offs > 0)                                 \
+            (ret) = __offs;                             \
     }                                                   \
   }
 # else /* use STDIO */
@@ -1290,48 +1292,48 @@
     int __ooffs = obj_offs;                             \
     int __offs = 0;                                     \
     char *buf = (char *)(obj);                          \
-							\
+                                                        \
     (ret) = 0;                                          \
     if (isBuffered) {                                   \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f);  \
-	    if ((ret) <= 0) {                           \
-		if (ferror(f)) {                        \
-		    if (errno == EINTR) {               \
-			__HANDLE_INTERRUPTS__;          \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			clearerr(f);                    \
-			continue;                       \
-		    }                                   \
-		    break;                              \
-		} else {                                \
-		    (ret) = 0;                          \
-		}                                       \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = fwrite((buf)+__ooffs+__offs, 1, (cnt)-__offs, f);  \
+            if ((ret) <= 0) {                           \
+                if (ferror(f)) {                        \
+                    if (errno == EINTR) {               \
+                        __HANDLE_INTERRUPTS__;          \
+                        /* refetch */                   \
+                        buf = (char *)(obj);            \
+                        clearerr(f);                    \
+                        continue;                       \
+                    }                                   \
+                    break;                              \
+                } else {                                \
+                    (ret) = 0;                          \
+                }                                       \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
     } else {                                            \
-	while (__offs < (cnt)) {                        \
-	    CLEAR_ERRNO;                                \
-	    (ret) = write(fileno(f), (buf)+__ooffs+__offs, (cnt)-__offs); \
-	    if ((ret) <= 0) {                           \
-		if ((ret) < 0) {                        \
-		    if (errno == EINTR){                \
-			__HANDLE_INTERRUPTS__;          \
-			/* refetch */                   \
-			buf = (char *)(obj);            \
-			continue;                       \
-		    }                                   \
-		}                                       \
-		break;                                  \
-	    }                                           \
-	    __offs += (ret);                            \
-	}                                               \
+        while (__offs < (cnt)) {                        \
+            CLEAR_ERRNO;                                \
+            (ret) = write(fileno(f), (buf)+__ooffs+__offs, (cnt)-__offs); \
+            if ((ret) <= 0) {                           \
+                if ((ret) < 0) {                        \
+                    if (errno == EINTR){                \
+                        __HANDLE_INTERRUPTS__;          \
+                        /* refetch */                   \
+                        buf = (char *)(obj);            \
+                        continue;                       \
+                    }                                   \
+                }                                       \
+                break;                                  \
+            }                                           \
+            __offs += (ret);                            \
+        }                                               \
     }                                                   \
     if (__offs > 0)                                     \
-	(ret) = __offs;                                 \
+        (ret) = __offs;                                 \
   }
 # endif /* use STDIO */
 #endif /* unix */
@@ -1897,6 +1899,15 @@
     ^ false
 ! !
 
+!ExternalStream class methodsFor:'finalization'!
+
+finalizationLobby
+    "answer the registry used for finalization.
+     ExternalStreams have their own Registry"
+
+    ^ Lobby
+! !
+
 !ExternalStream class methodsFor:'obsolete'!
 
 makePTYPair
@@ -2519,13 +2530,6 @@
     ^ self class basicNew setAccessor:handleType to:handle
 !
 
-finalizationLobby
-    "answer the registry used for finalization.
-     ExternalStreams have their own Registry"
-
-    ^ Lobby
-!
-
 finalize
     "some Stream has been collected - close the file if not already done"
 
@@ -4675,9 +4679,7 @@
 
 clearEOF
     hitEOF := false
-! !
-
-!ExternalStream protectedMethodsFor:'private'!
+!
 
 closeFile
     "low level close - may be redefined in subclasses
@@ -4740,14 +4742,14 @@
         // cg: the pre Nov2014 code always did the fclose interruptable;
         // I am not sure, if fclose is actually prepared to do this;
         // at least when only reading, this should not block, and we
-        // should be ableto do it without being interruptable.
+        // should be able to do it without being interruptable.
         // Must watch this - if it leads to blockings, change and think about it.
-        if (__INST(mode) != @symbol(readonly)) {
+        if (__INST(mode) == @symbol(readonly)) {
+            rslt = fclose(f);
+        } else {
             __BEGIN_INTERRUPTABLE__
             rslt = fclose(f);
             __END_INTERRUPTABLE__
-        } else {
-            rslt = fclose(f);
         }
 #endif
     } else {
@@ -4785,9 +4787,7 @@
         handle := nil.
         self closeFile:fp
     ]
-! !
-
-!ExternalStream methodsFor:'private'!
+!
 
 closeFile:handle
     "for rel5 only"
--- a/LimitedPrecisionReal.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/LimitedPrecisionReal.st	Tue Nov 22 14:52:52 2016 +0000
@@ -425,18 +425,21 @@
 fmax
     "The largest value allowed by instances of this class."
 
-    |radix|
+    |radix _radix|
 
     radix := self radix.
-    ^(self fromNumber: 1) -
-            ((self fromNumber: radix) timesTwoPower: self precision negated - 1) * radix
-            * ((self fromNumber: radix) timesTwoPower: self emax - 1)
+    _radix := (self fromNumber: radix).
+    ^ ((self fromNumber: 1) -
+            (_radix timesTwoPower: self precision negated - 1)) * radix
+            * (_radix timesTwoPower: self emax - 1)
 
     "
-     Float fmax    
+     Float fmax      
      ShortFloat fmax 
      LongFloat fmax  
     "
+
+    "Modified (comment): / 16-11-2016 / 23:12:36 / cg"
 !
 
 fmin
@@ -1190,7 +1193,6 @@
 ! !
 
 
-
 !LimitedPrecisionReal methodsFor:'printing & storing'!
 
 printOn:aStream
@@ -1261,7 +1263,6 @@
    ^ 0
 ! !
 
-
 !LimitedPrecisionReal methodsFor:'testing'!
 
 isFinite
--- a/PipeStream.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/PipeStream.st	Tue Nov 22 14:52:52 2016 +0000
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 1989 by Claus Gittinger
 	      All Rights Reserved
@@ -224,7 +222,7 @@
 	|p|
 
 	p := PipeStream bidirectionalFor:'cat -u'.
-	p nextPutAll:'Wer ist der Bürgermeister von Wesel'; cr.
+	p nextPutAll:'Wer ist der Bürgermeister von Wesel'; cr.
 	Transcript showCR:p nextLine.
 	p close
     "
@@ -525,7 +523,7 @@
 shutDown
     <resource: #obsolete>
     "this is a historic leftover kept for backward compatibility.
-     The name collides wuth the same name in Socket, which does
+     The name collides with the same name in Socket, which does
      not hard terminate the connection."
 
     self abortAndClose.
--- a/ProgrammingLanguage.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/ProgrammingLanguage.st	Tue Nov 22 14:52:52 2016 +0000
@@ -569,12 +569,25 @@
 !
 
 methodTemplateForDocumentation
-    "return a method definition template string (or nil)"
+    "return a documentation method definition template string (or nil)"
 
     |generatorClass|
 
     (generatorClass := self codeGeneratorClass) isNil ifTrue:[^ nil].
     ^ generatorClass methodTemplateForDocumentation
+
+    "Modified (comment): / 18-11-2016 / 10:53:36 / cg"
+!
+
+methodTemplateForPackageDocumentation
+    "return a documentation method definition template string (or nil) for packages"
+
+    |generatorClass|
+
+    (generatorClass := self codeGeneratorClass) isNil ifTrue:[^ nil].
+    ^ generatorClass methodTemplateForPackageDocumentation
+
+    "Created: / 18-11-2016 / 10:51:09 / cg"
 !
 
 methodTemplateForVersionMethodCVS
--- a/ProjectDefinition.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/ProjectDefinition.st	Tue Nov 22 14:52:52 2016 +0000
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 2006 by eXept Software AG
               All Rights Reserved
@@ -160,9 +158,9 @@
 
     ## Adding additional rules to generated makefiles
 
-    There are two ways to add additional rules to generatec makefiles (Make.proto and bc.mak):
+    There are two ways to add additional rules to generated makefiles (Make.proto and bc.mak):
       1) overriding #additionalRules_make_dot_proto and/or #additionalRules_bc_dot_mak
-      2) addng a method annotated by <file:target:> or <file:target:extends:> 
+      2) adding a method annotated by <file:target:> or <file:target:extends:> 
 
     ### Overriding #additionalRules* methods
 
@@ -3082,25 +3080,29 @@
      Under win32, this is placed into the dll's file-info.
      Other systems may put it elsewhere, or ignore it."
 
-     |m|
+    |m thisYear template|
      
-     m := self module.
+    m := self module.
+    thisYear := Date today year.
+
     m = 'stx' ifTrue:[
         "hardwired-default"
-        ^ 'Copyright Claus Gittinger 1988-%1\nCopyright eXept Software AG %1' bindWith:(Date today year)
-    ].
-    m = 'exept' ifTrue:[
-        "hardwired-default"
-        ^ 'Copyright eXept Software AG %1' bindWith:(Date today year)
-    ].
-
-    ^ 'My CopyRight or CopyLeft'
-
-    "
-        self legalCopyright
-    "
-
-    "Modified: / 30-08-2006 / 18:53:36 / cg"
+        template := 'Copyright Claus Gittinger %1\nCopyright eXept Software AG %1' 
+    ] ifFalse:[
+        m = 'exept' ifTrue:[
+            "hardwired-default"
+            template := 'Copyright eXept Software AG %1' 
+        ] ifFalse:[
+            template := 'My CopyRight or CopyLeft %1'
+        ].
+    ].
+    ^ template bindWith:thisYear
+
+    "
+     self legalCopyright
+    "
+
+    "Modified (comment): / 18-11-2016 / 12:23:36 / cg"
 !
 
 majorVersionNr
@@ -3213,7 +3215,7 @@
         ^ 'Smalltalk/X'
     ].
     m = 'exept' ifTrue:[
-        ^ 'eXept addOns'
+        ^ 'eXept AddOns'
     ].
 
     self isApplicationDefinition ifFalse:[
@@ -3236,7 +3238,7 @@
         ^ nm
     ].
 
-    "Modified: / 08-11-2007 / 16:45:14 / cg"
+    "Modified: / 18-11-2016 / 11:44:03 / cg"
 !
 
 productNameAsValidFilename
--- a/Registry.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/Registry.st	Tue Nov 22 14:52:52 2016 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1993,2015 by Claus Gittinger
               All Rights Reserved
@@ -76,8 +78,7 @@
 !Registry methodsFor:'accessing'!
 
 contents
-    "return the collection of registered objects.
-     Warning: this returns a weak collection."
+    "return the collection of registered objects"
 
     ^ self keys.
 ! !
@@ -146,8 +147,16 @@
 !Registry methodsFor:'enumerating'!
 
 detect:aBlock ifNone:exceptionValue
-    keyArray validElementsDo:[:obj |
-        (obj ~~ DeletedEntry and:[aBlock value:obj]) ifTrue:[^ obj].
+    "detect a key, for which aBlock answers true"
+
+    keyArray validElementsDo:[:eachElement |
+        eachElement ~~ DeletedEntry ifTrue:[
+            |realObject|
+
+            realObject := eachElement.
+            eachElement == NilEntry ifTrue:[realObject := nil].
+            (aBlock value:realObject) ifTrue:[^ realObject].
+        ].
     ].
     ^ exceptionValue value
 !
@@ -155,12 +164,7 @@
 do:aBlock
     "evaluate aBlock for each registered object"
 
-    "#keysDo: would not work, since the keyArray instvar may change if
-     elements are unregistered while looping."
-
-    ^ keyArray validElementsDo:[:each|
-        each ~~ DeletedEntry ifTrue:[aBlock value:each].
-    ]
+    ^ self keysDo:aBlock.
 ! !
 
 !Registry methodsFor:'private'!
--- a/SequenceableCollection.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/SequenceableCollection.st	Tue Nov 22 14:52:52 2016 +0000
@@ -761,6 +761,7 @@
     ^ self replaceFrom:start to:stop with:anArray startingAt:repStart
 ! !
 
+
 !SequenceableCollection methodsFor:'accessing'!
 
 after:anObject
@@ -4098,9 +4099,12 @@
     "
 
     "
-     '123123abc123' copyReplaceAll:$1 withAll:'one'
-     #(1 2 3 4 1 2 3 4) copyReplaceAll:1 withAll:'one'
-    "
+     '123123abc123' copyReplaceAll:$1 withAll:'one' 
+     #(1 2 3 4 1 2 3 4) copyReplaceAll:1 withAll:#(9 9 9) 
+     #(1 2 3 4 1 2 3 4) copyReplaceAll:1 withAll:'one' 
+    "
+
+    "Modified (comment): / 16-11-2016 / 21:35:36 / cg"
 !
 
 copyReplaceAny:collectionOfOldElements with:newElement
@@ -8756,9 +8760,9 @@
 !
 
 nextIndexOf:anElement from:start to:stop
-    "search the collection for anElement, starting the search at index start,
-     stopping at:stop;
-     if found, return the index otherwise return 0.
+    "search the collection for anElement, 
+     starting the search at index start, stopping at:stop.
+     If found, return the index; otherwise return 0.
      The comparison is done using =
      (i.e. equality test - not identity test)."
 
@@ -8788,6 +8792,7 @@
     "
 
     "Modified: / 23-09-2011 / 14:03:05 / cg"
+    "Modified (comment): / 19-11-2016 / 13:04:56 / cg"
 !
 
 nextIndexOf:anElement from:start to:stop ifAbsent:exceptionBlock
--- a/Smalltalk.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/Smalltalk.st	Tue Nov 22 14:52:52 2016 +0000
@@ -2231,6 +2231,7 @@
 !
 
 allKeysDo:aBlock
+    <resource: #obsolete>
     "evaluate the argument, aBlock for all keys in the Smalltalk dictionary"
 
     self keysDo:aBlock
--- a/SmalltalkChunkFileSourceWriter.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/SmalltalkChunkFileSourceWriter.st	Tue Nov 22 14:52:52 2016 +0000
@@ -69,46 +69,50 @@
     |s|
 
     self obsoleteMethodWarning:'use codeGenerator'.
-    s := (TextStream ? WriteStream) on:''.
-    s nextPutAll:
-'message "selector and argument names"
-    "comment stating purpose of this message"
-
-    |temporaries|
-
-    "statement."
-    "statement."
+    ^ SmalltalkLanguage instance methodTemplate.
 
-    "
-     optional: comment giving example use
-    "
-'.
-    s cr.
-    s emphasis:(UserPreferences current commentEmphasisAndColor).
-    s nextPutAll:
-'"
- change the above template into real code;
- remove this comment.
- Then `accept'' either via the menu 
- or via the keyboard (usually CMD-A).
+"/    s := (TextStream ? WriteStream) on:''.
+"/    s nextPutAll:
+"/'message "selector and argument names"
+"/    "comment stating purpose of this message"
+"/
+"/    |temporaries|
+"/
+"/    "statement."
+"/    "statement."
+"/
+"/    "
+"/     optional: comment giving example use
+"/    "
+"/'.
+"/    s cr.
+"/    s emphasis:(UserPreferences current commentEmphasisAndColor).
+"/    s nextPutAll:
+"/'"
+"/ change the above template into real code;
+"/ remove this comment.
+"/ Then `accept'' either via the menu 
+"/ or via the keyboard (usually CMD-A).
+"/
+"/ You do not need this template; you can also
+"/ select any existing methods code, change it,
+"/ and finally `accept''. The method will then be
+"/ installed under the selector as defined in the
+"/ actual text - no matter which method is selected
+"/ in the browser.
+"/
+"/ Or clear this text, type in the method from scratch
+"/ and install it with `accept''.
+"/
+"/ If you don''t like this method template to appear,
+"/ disable it either via the global or browser''s settings dialog,
+"/ or by evaluating:
+"/     UserPreferences current showMethodTemplate:false
+"/"
+"/'.
+"/    ^ s contents
 
- You do not need this template; you can also
- select any existing methods code, change it,
- and finally `accept''. The method will then be
- installed under the selector as defined in the
- actual text - no matter which method is selected
- in the browser.
-
- Or clear this text, type in the method from scratch
- and install it with `accept''.
-
- If you don''t like this method template to appear,
- disable it either via the global or browser''s settings dialog,
- or by evaluating:
-     UserPreferences current showMethodTemplate:false
-"
-'.
-    ^ s contents
+    "Modified: / 18-11-2016 / 01:36:39 / cg"
 !
 
 methodTemplateForDocumentation
@@ -118,28 +122,32 @@
     |s|
 
     self obsoleteMethodWarning:'use codeGenerator'.
-    s := (TextStream ? WriteStream) on:''.
-    s nextPutAll:
-'documentation
-'.
-    s emphasis:(UserPreferences current commentEmphasisAndColor).
-    s nextPutAll:(
-'"
-    comment describing this class.
-    you can disable the generation of this template by evaluating:
-         UserPreferences current showMethodTemplate:false
+    ^ SmalltalkLanguage instance methodTemplateForDocumentation.
 
-    [instance variables:]
-        describe instance variables
-    [class variables:]
-        describe class variables
-    [see also:]
-        
-    [author:]
-        %1
-"
-' bindWith:(OperatingSystem getFullUserName)).
-    ^ s contents
+"/    s := (TextStream ? WriteStream) on:''.
+"/    s nextPutAll:
+"/'documentation
+"/'.
+"/    s emphasis:(UserPreferences current commentEmphasisAndColor).
+"/    s nextPutAll:(
+"/'"
+"/    comment describing this class.
+"/    you can disable the generation of this template by evaluating:
+"/         UserPreferences current showMethodTemplate:false
+"/
+"/    [instance variables:]
+"/        describe instance variables
+"/    [class variables:]
+"/        describe class variables
+"/    [see also:]
+"/        
+"/    [author:]
+"/        %1
+"/"
+"/' bindWith:(OperatingSystem getFullUserName)).
+"/    ^ s contents
+
+    "Modified: / 18-11-2016 / 01:37:41 / cg"
 !
 
 versionMethodTemplateForCVS
--- a/WeakIdentityDictionary.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/WeakIdentityDictionary.st	Tue Nov 22 14:52:52 2016 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1992 by Claus Gittinger
 	      All Rights Reserved
@@ -67,6 +69,26 @@
 "
 ! !
 
+!WeakIdentityDictionary methodsFor:'acessing'!
+
+keys
+    "return a collection containing all valid keys of the receiver"
+
+    |keySet|
+
+    keySet := self emptyCollectionForKeys.
+    keyArray validElementsDo:[:key |
+        (key notNil and:[key ~~ DeletedEntry]) ifTrue:[
+            key == NilEntry ifTrue:[
+                keySet add:nil.
+            ] ifFalse:[
+                keySet add:key.
+            ]
+        ]
+    ].
+    ^ keySet
+! !
+
 !WeakIdentityDictionary methodsFor:'adding & removing'!
 
 at:key ifAbsent:exceptionBlock
@@ -252,6 +274,25 @@
     "Modified: / 13.12.2001 / 14:17:58 / martin"
 ! !
 
+!WeakIdentityDictionary methodsFor:'enumerating'!
+
+keysDo:aBlock
+    "evaluate aBlock for each registered object"
+
+    "#Dictionary>>keysDo: would not work, since the keyArray instvar may change if
+     elements are unregistered while looping."
+
+    ^ keyArray validElementsDo:[:each|
+        each ~~ DeletedEntry ifTrue:[
+            each == NilEntry ifTrue:[
+                aBlock value:nil.
+            ] ifFalse:[
+                aBlock value:each.
+            ]
+        ].
+    ]
+! !
+
 !WeakIdentityDictionary methodsFor:'private'!
 
 findKeyOrNil:key
@@ -528,5 +569,9 @@
 
 version
     ^ '$Header$'
+!
+
+version_CVS
+    ^ '$Header$'
 ! !
 
--- a/Win32OperatingSystem.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/Win32OperatingSystem.st	Tue Nov 22 14:52:52 2016 +0000
@@ -3,7 +3,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
@@ -17,218 +17,218 @@
 "{ NameSpace: Smalltalk }"
 
 AbstractOperatingSystem subclass:#Win32OperatingSystem
-        instanceVariableNames:''
-        classVariableNames:'CurrentDirectory DomainName HostName Initialized LastOsTimeHi
-                LastOsTimeLow LastTimeInfo LastTimeInfoIsLocal'
-        poolDictionaries:'Win32Constants'
-        category:'OS-Windows'
+	instanceVariableNames:''
+	classVariableNames:'CurrentDirectory DomainName HostName Initialized LastOsTimeHi
+		LastOsTimeLow LastTimeInfo LastTimeInfoIsLocal'
+	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
 !
 
 SharedPool subclass:#PECOFFConstants
-        instanceVariableNames:''
-        classVariableNames:'PE_Signature_OFFSET_OFFSET PE_Signature COFF_HEADER_SIZE
-                COFF_HEADER_Machine_OFFSET IMAGE_FILE_MACHINE_UNKNOWN
-                IMAGE_FILE_MACHINE_AM33 IMAGE_FILE_MACHINE_AMD64
-                IMAGE_FILE_MACHINE_ARM IMAGE_FILE_MACHINE_ARMNT
-                IMAGE_FILE_MACHINE_ARM64 IMAGE_FILE_MACHINE_EBC
-                IMAGE_FILE_MACHINE_I386 IMAGE_FILE_MACHINE_IA64
-                IMAGE_FILE_MACHINE_M32R IMAGE_FILE_MACHINE_MIPS16
-                IMAGE_FILE_MACHINE_MIPSFPU IMAGE_FILE_MACHINE_MIPSFPU16
-                IMAGE_FILE_MACHINE_POWERPC IMAGE_FILE_MACHINE_POWEPCFP
-                IMAGE_FILE_MACHINE_R4000 IMAGE_FILE_MACHINE_SH3
-                IMAGE_FILE_MACHINE_SH3DSP IMAGE_FILE_MACHINE_SH4
-                IMAGE_FILE_MACHINE_SH5 IMAGE_FILE_MACHINE_THUMB
-                IMAGE_FILE_MACHINE_WCEMIPSV2'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:'PE_Signature_OFFSET_OFFSET PE_Signature COFF_HEADER_SIZE
+		COFF_HEADER_Machine_OFFSET IMAGE_FILE_MACHINE_UNKNOWN
+		IMAGE_FILE_MACHINE_AM33 IMAGE_FILE_MACHINE_AMD64
+		IMAGE_FILE_MACHINE_ARM IMAGE_FILE_MACHINE_ARMNT
+		IMAGE_FILE_MACHINE_ARM64 IMAGE_FILE_MACHINE_EBC
+		IMAGE_FILE_MACHINE_I386 IMAGE_FILE_MACHINE_IA64
+		IMAGE_FILE_MACHINE_M32R IMAGE_FILE_MACHINE_MIPS16
+		IMAGE_FILE_MACHINE_MIPSFPU IMAGE_FILE_MACHINE_MIPSFPU16
+		IMAGE_FILE_MACHINE_POWERPC IMAGE_FILE_MACHINE_POWEPCFP
+		IMAGE_FILE_MACHINE_R4000 IMAGE_FILE_MACHINE_SH3
+		IMAGE_FILE_MACHINE_SH3DSP IMAGE_FILE_MACHINE_SH4
+		IMAGE_FILE_MACHINE_SH5 IMAGE_FILE_MACHINE_THUMB
+		IMAGE_FILE_MACHINE_WCEMIPSV2'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Object subclass:#PECOFFFileHeader
-        instanceVariableNames:'file data'
-        classVariableNames:''
-        poolDictionaries:'Win32OperatingSystem::PECOFFConstants'
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:'file data'
+	classVariableNames:''
+	poolDictionaries:'Win32OperatingSystem::PECOFFConstants'
+	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 isNew'
-        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 isNew'
+	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
 !
 
 Win32Handle subclass:#Win32ChangeNotificationHandle
-        instanceVariableNames:''
-        classVariableNames:'Lobby'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:'Lobby'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Win32Handle subclass:#Win32IOHandle
-        instanceVariableNames:''
-        classVariableNames:'Lobby'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:'Lobby'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Win32Handle subclass:#Win32MutexHandle
-        instanceVariableNames:''
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Win32Handle subclass:#Win32NetworkResourceHandle
-        instanceVariableNames:''
-        classVariableNames:'ScopeMappingTable TypeMappingTable DisplayTypeMappingTable
-                UsageMappingTable'
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem
+	instanceVariableNames:''
+	classVariableNames:'ScopeMappingTable TypeMappingTable DisplayTypeMappingTable
+		UsageMappingTable'
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem
 !
 
 Object subclass:#NetworkResource
-        instanceVariableNames:'scope type usage displayType remoteName localName provider
-                comment'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:Win32OperatingSystem::Win32NetworkResourceHandle
+	instanceVariableNames:'scope type usage displayType remoteName localName provider
+		comment'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Win32OperatingSystem::Win32NetworkResourceHandle
 !
 
 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!
@@ -585,19 +585,19 @@
     int i, len;
 
     if (__isStringLike(string)) {
-        len = __stringSize(string);
-        if (len > bufferSize) len = bufferSize;
-        for (i=0; i<len; i++) {
-            buffer[i] = __stringVal(string)[i];
-        }
+	len = __stringSize(string);
+	if (len > bufferSize) len = bufferSize;
+	for (i=0; i<len; i++) {
+	    buffer[i] = __stringVal(string)[i];
+	}
     } else if (__isUnicode16String(string)) {
-        len = __unicode16StringSize(string);
-        if (len > bufferSize) len = bufferSize;
-        for (i=0; i<len; i++) {
-            buffer[i] = __unicode16StringVal(string)[i];
-        }
+	len = __unicode16StringSize(string);
+	if (len > bufferSize) len = bufferSize;
+	for (i=0; i<len; i++) {
+	    buffer[i] = __unicode16StringVal(string)[i];
+	}
     } else {
-        return(-1);
+	return(-1);
     }
     buffer[len] = 0;
     return(len);
@@ -620,43 +620,43 @@
     tv.tv_usec = 0;
 
     if (readMode) {
-        n = select (1 , &fds, NULL, NULL, &tv);  // first parameter to select is ignored in windows
+	n = select (1 , &fds, NULL, NULL, &tv);  // first parameter to select is ignored in windows
     } else {
-        n = select (1, NULL, &fds, NULL, &tv);
+	n = select (1, NULL, &fds, NULL, &tv);
     }
 
     if (n == 0) {
-        return (0);
+	return (0);
     }
 
     if (n > 0) {
-        return (FD_ISSET(handle, &fds) ? 1 : 0);
+	return (FD_ISSET(handle, &fds) ? 1 : 0);
     }
 
     winErrNo = WSAGetLastError();
     switch (winErrNo) {
-        case WSAENOTSOCK:
-            if (readMode) {
-                DWORD  w = 0;
-
-                if (PeekNamedPipe (handle, 0, 0, 0, & w, 0)) {
-                    return (w > 0);
-                }
+	case WSAENOTSOCK:
+	    if (readMode) {
+		DWORD  w = 0;
+
+		if (PeekNamedPipe (handle, 0, 0, 0, & w, 0)) {
+		    return (w > 0);
+		}
 #if 0
-                console_fprintf(stderr, "_canAccessIOWithoutBlocking non Socket\n");
-#endif
-                return (-1);
-            }
-            /* in writeMode we return always 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 always 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 */
@@ -678,7 +678,7 @@
     FARPROC entry;
 
     if (*pLibHandle == NULL) {
-        *pLibHandle = LoadLibrary(libraryName);
+	*pLibHandle = LoadLibrary(libraryName);
     }
     entry = GetProcAddress(*pLibHandle, functionName);
     return entry;
@@ -739,11 +739,11 @@
     return(__MKINT(lTime));
 #else
     if (lTime >= (LONGLONG)11644473600000L) {
-        lTime -= (LONGLONG)11644473600000L;  // the number of millis from 1.1.1601 to 1.1.1970
-        return(__MKLARGEINT64(1, (unsigned INT)(lTime & 0xFFFFFFFF), (unsigned INT)(lTime >> 32)));
+	lTime -= (LONGLONG)11644473600000L;  // the number of millis from 1.1.1601 to 1.1.1970
+	return(__MKLARGEINT64(1, (unsigned INT)(lTime & 0xFFFFFFFF), (unsigned INT)(lTime >> 32)));
     } else {
-        lTime = (LONGLONG)11644473600000L - lTime;
-        return(__MKLARGEINT64(-1, (unsigned INT)(lTime & 0xFFFFFFFF), (unsigned INT)(lTime >> 32)));
+	lTime = (LONGLONG)11644473600000L - lTime;
+	return(__MKLARGEINT64(-1, (unsigned INT)(lTime & 0xFFFFFFFF), (unsigned INT)(lTime >> 32)));
     }
 #endif
 }
@@ -757,7 +757,7 @@
     UINT hi = __unsignedLongIntVal(tHigh);
 
     if (hi == 0 && !__isSmallInteger(tHigh))
-        return(0);      // conversion error
+	return(0);      // conversion error
 
     lTime = ((LONGLONG)hi << 32) + (LONGLONG)low;
     lTime = lTime * 10000;      // convert to multiple of 100ns
@@ -777,7 +777,7 @@
     UINT hi = __unsignedLongIntVal(tHigh);
 
     if (hi == 0 && !__isSmallInteger(tHigh))
-        return(0);      // conversion error
+	return(0);      // conversion error
 
     lTime = ((LONGLONG)hi << 32) + (LONGLONG)low;
     lTime += (LONGLONG)11644473600000L;  // rebias to 1.1.1601
@@ -797,7 +797,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
@@ -829,90 +829,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]
 "
 ! !
 
@@ -924,16 +924,16 @@
 
     if( ! coInitialized ) {
 
-        hres = CoInitializeEx(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(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 );
@@ -960,13 +960,13 @@
 
     "/ attention: must be ok to be called twice during startup.
     Initialized isNil ifTrue:[
-        Initialized := true.
-        ObjectMemory addDependent:self.
-        HostName := nil.
-        DomainName := nil.
-        LastErrorNumber := nil.
-        PipeFailed := false.
-        self coInitialize.
+	Initialized := true.
+	ObjectMemory addDependent:self.
+	HostName := nil.
+	DomainName := nil.
+	LastErrorNumber := nil.
+	PipeFailed := false.
+	self coInitialize.
     ].
 
     "Modified: 13.9.1997 / 10:47:32 / cg"
@@ -976,14 +976,14 @@
     "catch image restart and flush some cached data"
 
     something == #earlyRestart ifTrue:[
-        "
-         flush cached data
-        "
-        HostName := nil.
-        DomainName := nil.
-        LastErrorNumber := nil.
-        PipeFailed := false.
-        self coInitialize.
+	"
+	 flush cached data
+	"
+	HostName := nil.
+	DomainName := nil.
+	LastErrorNumber := nil.
+	PipeFailed := false.
+	self coInitialize.
     ]
 
     "Modified: 22.4.1996 / 13:10:43 / cg"
@@ -991,7 +991,6 @@
     "Modified: 7.1.1997 / 19:36:11 / stefan"
 ! !
 
-
 !Win32OperatingSystem class methodsFor:'OS signal constants'!
 
 sigABRT
@@ -1578,7 +1577,7 @@
 
     lp = __win32_getLogFilename();
     if (lp) {
-        ret = __MKSTRING(lp);
+	ret = __MKSTRING(lp);
     }
 %}.
     ^ ret
@@ -1596,16 +1595,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 );
     }
 %}
 
@@ -1624,14 +1623,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
 !
@@ -1644,7 +1643,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].
@@ -1705,7 +1704,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].
@@ -1717,7 +1716,7 @@
     self closeClipboard
 
     "
-        self setBitmapToClipboard: Image fromUser
+	self setBitmapToClipboard: Image fromUser
     "
 !
 
@@ -1747,47 +1746,47 @@
     int    __modeBits = 0;
 
     if (__fileAttr & FILE_ATTRIBUTE_DIRECTORY) {
-        type = @symbol(directory);
-        __modeBits = 0777;   /* executable and WRITABLE - refer to comment in #isWritable: */
+	type = @symbol(directory);
+	__modeBits = 0777;   /* executable and WRITABLE - refer to comment in #isWritable: */
     } else if (__fileAttr & FILE_ATTRIBUTE_REPARSE_POINT) {
-        type = @symbol(symbolicLink);
-        __modeBits = 0777;   /* even in UNIX symlinks have 0777 */
+	type = @symbol(symbolicLink);
+	__modeBits = 0777;   /* even in UNIX symlinks have 0777 */
     } else {
-        type = @symbol(regular);
-        if (__fileAttr & FILE_ATTRIBUTE_READONLY) {
-            __modeBits = 0444;
-        } else {
-            __modeBits = 0666;
-        }
+	type = @symbol(regular);
+	if (__fileAttr & FILE_ATTRIBUTE_READONLY) {
+	    __modeBits = 0444;
+	} else {
+	    __modeBits = 0666;
+	}
     }
     modeBits = __mkSmallInteger(__modeBits);
 
 %}.
     osCrtTime isNil
-        ifTrue: [crtTime := Timestamp now]
-        ifFalse:[crtTime := Timestamp new fromOSTime:(osCrtTime "- OperatingSystem osTimeOf19700101 -- already done")].
+	ifTrue: [crtTime := Timestamp now]
+	ifFalse:[crtTime := Timestamp new fromOSTime:(osCrtTime "- OperatingSystem osTimeOf19700101 -- already done")].
 
     osAccTime isNil
-        ifTrue: [accTime := Timestamp now]
-        ifFalse:[accTime := Timestamp new fromOSTime:(osAccTime "- OperatingSystem osTimeOf19700101 -- already done")].
+	ifTrue: [accTime := Timestamp now]
+	ifFalse:[accTime := Timestamp new fromOSTime:(osAccTime "- OperatingSystem osTimeOf19700101 -- already done")].
 
     osModTime isNil
-        ifTrue: [modTime := accTime]
-        ifFalse:[modTime := Timestamp new fromOSTime:(osModTime "- OperatingSystem osTimeOf19700101 -- already done")].
+	ifTrue: [modTime := accTime]
+	ifFalse:[modTime := Timestamp new fromOSTime:(osModTime "- OperatingSystem osTimeOf19700101 -- already done")].
 
     ^ FileStatusInfo
-                type:type
-                mode:modeBits
-                uid:nil
-                gid:nil
-                size:fileSize
-                id:0
-                accessed:accTime
-                modified:modTime
-                created:crtTime
-                sourcePath:osPathname
-                fullName:nil
-                alternativeName:nil.
+		type:type
+		mode:modeBits
+		uid:nil
+		gid:nil
+		size:fileSize
+		id:0
+		accessed:accTime
+		modified:modTime
+		created:crtTime
+		sourcePath:osPathname
+		fullName:nil
+		alternativeName:nil.
 !
 
 nextLinkInfoFrom:aDirectoryStream dirPointer:dirPointer
@@ -1802,46 +1801,46 @@
 
     if ((dirPointer != nil)
     && __isExternalAddressLike(dirPointer)) {
-        // __INST(lastErrorNumber) = nil;
-        d = _HANDLEVal(dirPointer);
-
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            rslt = (int)(STX_API_NOINT_CALL2( "FindNextFileW", FindNextFileW, d, &data ));
-        } while ((rslt < 0) && (__threadErrno == EINTR));
-
-        if (rslt > 0) {
-            fileSize  = __MKLARGEINT64(1, data.nFileSizeLow, data.nFileSizeHigh);
-            osPathname = __mkStringOrU16String_maxlen( data.cFileName, MAXPATHLEN );
-            osFileAttributes = __mkSmallInteger( data.dwFileAttributes );
-
-            osCrtTime = FileTimeToOsTime1970(&data.ftCreationTime);
-            osAccTime = FileTimeToOsTime1970(&data.ftLastAccessTime);
-            osModTime = FileTimeToOsTime1970(&data.ftLastWriteTime);
-
-        } else {
-            error = __mkSmallInteger( __threadErrno );
-        }
+	// __INST(lastErrorNumber) = nil;
+	d = _HANDLEVal(dirPointer);
+
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    rslt = (int)(STX_API_NOINT_CALL2( "FindNextFileW", FindNextFileW, d, &data ));
+	} while ((rslt < 0) && (__threadErrno == EINTR));
+
+	if (rslt > 0) {
+	    fileSize  = __MKLARGEINT64(1, data.nFileSizeLow, data.nFileSizeHigh);
+	    osPathname = __mkStringOrU16String_maxlen( data.cFileName, MAXPATHLEN );
+	    osFileAttributes = __mkSmallInteger( data.dwFileAttributes );
+
+	    osCrtTime = FileTimeToOsTime1970(&data.ftCreationTime);
+	    osAccTime = FileTimeToOsTime1970(&data.ftLastAccessTime);
+	    osModTime = FileTimeToOsTime1970(&data.ftLastWriteTime);
+
+	} else {
+	    error = __mkSmallInteger( __threadErrno );
+	}
     }
 %}.
     (error notNil and:[error ~~ 0]) ifTrue:[
-        ^ StreamIOError newException
-            errorCode:error;
-            osErrorHolder:(OperatingSystem errorHolderForNumber:error);
-            parameter:aDirectoryStream;
-            raiseRequest
+	^ StreamIOError newException
+	    errorCode:error;
+	    osErrorHolder:(OperatingSystem errorHolderForNumber:error);
+	    parameter:aDirectoryStream;
+	    raiseRequest
     ].
 
     osPathname isNil ifTrue:[^ nil].
 
     ^ self
-        linkInfoFor:osPathname
-        fileSize:fileSize
-        fileAttributes:osFileAttributes
-        osCrtTime:osCrtTime
-        osAccTime:osAccTime
-        osModTime:osModTime
+	linkInfoFor:osPathname
+	fileSize:fileSize
+	fileAttributes:osFileAttributes
+	osCrtTime:osCrtTime
+	osAccTime:osAccTime
+	osModTime:osModTime
 ! !
 
 !Win32OperatingSystem class methodsFor:'error messages'!
@@ -1878,872 +1877,872 @@
       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_NO_SYSTEM_RESOURCES:
-                sym = @symbol(ERROR_NO_SYSTEM_RESOURCES);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_NONPAGED_SYSTEM_RESOURCES:
-                sym = @symbol(ERROR_NONPAGED_SYSTEM_RESOURCES);
-                typ = @symbol(noResourcesSignal);
-                break;
-
-            case ERROR_PAGED_SYSTEM_RESOURCES:
-                sym = @symbol(ERROR_PAGED_SYSTEM_RESOURCES);
-                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;
-
-            case ERROR_FILE_EXISTS:
-                sym = @symbol(ERROR_FILE_EXISTS);
-                typ = @symbol(existingReferentSignal);
-                break;
-
-            default:
-                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_NO_SYSTEM_RESOURCES:
+		sym = @symbol(ERROR_NO_SYSTEM_RESOURCES);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_NONPAGED_SYSTEM_RESOURCES:
+		sym = @symbol(ERROR_NONPAGED_SYSTEM_RESOURCES);
+		typ = @symbol(noResourcesSignal);
+		break;
+
+	    case ERROR_PAGED_SYSTEM_RESOURCES:
+		sym = @symbol(ERROR_PAGED_SYSTEM_RESOURCES);
+		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;
+
+	    case ERROR_FILE_EXISTS:
+		sym = @symbol(ERROR_FILE_EXISTS);
+		typ = @symbol(existingReferentSignal);
+		break;
+
+	    default:
+		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 WSAEADDRINUSE
-            case WSAEADDRINUSE:
-                sym = @symbol(WSAEADDRINUSE);
-                typ = @symbol(existingReferentSignal);
-                break;
+	    case WSAEADDRINUSE:
+		sym = @symbol(WSAEADDRINUSE);
+		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 WSAETIMEDOUT
-            case WSAETIMEDOUT:
-                sym = @symbol(ETIMEDOUT);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case WSAETIMEDOUT:
+		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 WSAECONNREFUSED
-            case WSAECONNREFUSED:
-                sym = @symbol(ECONNREFUSED);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case WSAECONNREFUSED:
+		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 WSAHOSTUNREACH
-            case WSAHOSTUNREACH:
-                sym = @symbol(EHOSTUNREACH);
-                typ = @symbol(peerFaultSignal);
-                break;
+	    case WSAHOSTUNREACH:
+		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 WSAEACCES
-            case WSAEACCES:
-                sym = @symbol(WSAEACCES);
-                typ = @symbol(badAccessorSignal);
-                break;
+	    case WSAEACCES:
+		sym = @symbol(WSAEACCES);
+		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;
+	}
       }
     }
 %}.
     holder := OSErrorHolder new.
     sym isNil ifTrue:[
-        sym := #ERROR_OTHER.
-        errNr notNil ifTrue:[
-            "keep symbols as symbols"
-            holder parameter:(errNr isString ifTrue:[errNr] ifFalse:[errNr asString]).
-        ].
+	sym := #ERROR_OTHER.
+	errNr notNil ifTrue:[
+	    "keep symbols as symbols"
+	    holder parameter:(errNr isString ifTrue:[errNr] ifFalse:[errNr asString]).
+	].
     ].
     holder errorSymbol:sym errorCategory:(typ ? #defaultOsErrorSignal).
     ^ holder
@@ -2774,212 +2773,212 @@
      */
 #ifdef ERROR_INVALID_FUNCTION
     if (sym == @symbol(ERROR_INVALID_FUNCTION)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_FUNCTION)) );
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_FUNCTION)) );
     }
 #endif
 #ifdef ERROR_BAD_FORMAT
     if (sym == @symbol(ERROR_BAD_FORMAT)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_FORMAT)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_FORMAT)));
     }
 #endif
 #ifdef ERROR_FILE_NOT_FOUND
     if (sym == @symbol(ERROR_FILE_NOT_FOUND)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_FILE_NOT_FOUND)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_FILE_NOT_FOUND)));
     }
 #endif
 #ifdef ERROR_PATH_NOT_FOUND
     if (sym == @symbol(ERROR_PATH_NOT_FOUND)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PATH_NOT_FOUND)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PATH_NOT_FOUND)));
     }
 #endif
 #ifdef ERROR_TOO_MANY_OPEN_FILES
     if (sym == @symbol(ERROR_TOO_MANY_OPEN_FILES)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_TOO_MANY_OPEN_FILES)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_TOO_MANY_OPEN_FILES)));
     }
 #endif
 #ifdef ERROR_OPEN_FAILED
     if (sym == @symbol(ERROR_OPEN_FAILED)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OPEN_FAILED)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OPEN_FAILED)));
     }
 #endif
 #ifdef ERROR_ACCESS_DENIED
     if (sym == @symbol(ERROR_ACCESS_DENIED)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ACCESS_DENIED)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ACCESS_DENIED)));
     }
 #endif
 #ifdef ERROR_INVALID_HANDLE
     if (sym == @symbol(ERROR_INVALID_HANDLE)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_HANDLE)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_HANDLE)));
     }
 #endif
 #ifdef ERROR_NOT_ENOUGH_MEMORY
     if (sym == @symbol(ERROR_NOT_ENOUGH_MEMORY)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_ENOUGH_MEMORY)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_ENOUGH_MEMORY)));
     }
 #endif
 #ifdef ERROR_NO_SYSTEM_RESOURCES
     if (sym == @symbol(ERROR_NO_SYSTEM_RESOURCES)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_SYSTEM_RESOURCES)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_SYSTEM_RESOURCES)));
     }
 #endif
 #ifdef ERROR_INVALID_ACCESS
     if (sym == @symbol(ERROR_INVALID_ACCESS)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_ACCESS)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_ACCESS)));
     }
 #endif
 #ifdef ERROR_INVALID_DATA
     if (sym == @symbol(ERROR_INVALID_DATA)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DATA)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DATA)));
     }
 #endif
 #ifdef ERROR_INVALID_NAME
     if (sym == @symbol(ERROR_INVALID_NAME)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_NAME)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_NAME)));
     }
 #endif
 #ifdef ERROR_ARENA_TRASHED
     if (sym == @symbol(ERROR_ARENA_TRASHED)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ARENA_TRASHED)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ARENA_TRASHED)));
     }
 #endif
 #ifdef ERROR_OUTOFMEMORY
     if (sym == @symbol(ERROR_OUTOFMEMORY)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUTOFMEMORY)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUTOFMEMORY)));
     }
 #endif
 #ifdef ERROR_BROKEN_PIPE
     if (sym == @symbol(ERROR_BROKEN_PIPE)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BROKEN_PIPE)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BROKEN_PIPE)));
     }
 #endif
 #ifdef ERROR_GEN_FAILURE
     if (sym == @symbol(ERROR_GEN_FAILURE)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_GEN_FAILURE)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_GEN_FAILURE)));
     }
 #endif
 #ifdef ERROR_WRITE_PROTECT
     if (sym == @symbol(ERROR_WRITE_PROTECT)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_PROTECT)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_PROTECT)));
     }
 #endif
 #ifdef ERROR_WRITE_FAULT
     if (sym == @symbol(ERROR_WRITE_FAULT)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_FAULT)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_FAULT)));
     }
 #endif
 #ifdef ERROR_READ_FAULT
     if (sym == @symbol(ERROR_READ_FAULT)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_READ_FAULT)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_READ_FAULT)));
     }
 #endif
 #ifdef ERROR_HANDLE_DISK_FULL
     if (sym == @symbol(ERROR_HANDLE_DISK_FULL)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_HANDLE_DISK_FULL)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_HANDLE_DISK_FULL)));
     }
 #endif
 #ifdef ERROR_DISK_FULL
     if (sym == @symbol(ERROR_DISK_FULL)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DISK_FULL)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DISK_FULL)));
     }
 #endif
 #ifdef ERROR_ERROR_SHARING_VIOLATION
     if (sym == @symbol(ERROR_ERROR_SHARING_VIOLATION)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ERROR_SHARING_VIOLATION)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ERROR_SHARING_VIOLATION)));
     }
 #endif
 #ifdef ERROR_LOCK_VIOLATION
     if (sym == @symbol(ERROR_LOCK_VIOLATION)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_LOCK_VIOLATION)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_LOCK_VIOLATION)));
     }
 #endif
 #ifdef ERROR_INVALID_PARAMETER
     if (sym == @symbol(ERROR_INVALID_PARAMETER)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_PARAMETER)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_PARAMETER)));
     }
 #endif
 #ifdef ERROR_NET_WRITE_FAULT
     if (sym == @symbol(ERROR_NET_WRITE_FAULT)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NET_WRITE_FAULT)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NET_WRITE_FAULT)));
     }
 #endif
 #ifdef ERROR_NOT_SUPPORTED
     if (sym == @symbol(ERROR_NOT_SUPPORTED)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_SUPPORTED)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_SUPPORTED)));
     }
 #endif
 #ifdef ERROR_REM_NOT_LIST
     if (sym == @symbol(ERROR_REM_NOT_LIST)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_REM_NOT_LIST)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_REM_NOT_LIST)));
     }
 #endif
 #ifdef ERROR_NETWORK_ACCESS_DENIED
     if (sym == @symbol(ERROR_NETWORK_ACCESS_DENIED)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_ACCESS_DENIED)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_ACCESS_DENIED)));
     }
 #endif
 #ifdef ERROR_DUP_NAME
     if (sym == @symbol(ERROR_DUP_NAME)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DUP_NAME)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DUP_NAME)));
     }
 #endif
 #ifdef ERROR_BAD_NETPATH
     if (sym == @symbol(ERROR_BAD_NETPATH)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_NETPATH)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_NETPATH)));
     }
 #endif
 #ifdef ERROR_NETWORK_BUSY
     if (sym == @symbol(ERROR_NETWORK_BUSY)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_BUSY)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_BUSY)));
     }
 #endif
 #ifdef ERROR_DRIVE_LOCKED
     if (sym == @symbol(ERROR_DRIVE_LOCKED)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DRIVE_LOCKED)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DRIVE_LOCKED)));
     }
 #endif
 #ifdef ERROR_INVALID_DRIVE
     if (sym == @symbol(ERROR_INVALID_DRIVE)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DRIVE)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DRIVE)));
     }
 #endif
 #ifdef ERROR_WRONG_DISK
     if (sym == @symbol(ERROR_WRONG_DISK)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRONG_DISK)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRONG_DISK)));
     }
 #endif
 #ifdef ERROR_CURRENT_DIRECTORY
     if (sym == @symbol(ERROR_CURRENT_DIRECTORY)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CURRENT_DIRECTORY)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CURRENT_DIRECTORY)));
     }
 #endif
 #ifdef ERROR_CANNOT_MAKE
     if (sym == @symbol(ERROR_CANNOT_MAKE)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CANNOT_MAKE)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CANNOT_MAKE)));
     }
 #endif
 #ifdef ERROR_NO_MORE_FILES
     if (sym == @symbol(ERROR_NO_MORE_FILES)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_MORE_FILES)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_MORE_FILES)));
     }
 #endif
 #ifdef ERROR_NOT_READY
     if (sym == @symbol(ERROR_NOT_READY)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_READY)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_READY)));
     }
 #endif
 #ifdef ERROR_NOT_DOS_DISK
     if (sym == @symbol(ERROR_NOT_DOS_DISK)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_DOS_DISK)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_DOS_DISK)));
     }
 #endif
 #ifdef ERROR_OUT_OF_PAPER
     if (sym == @symbol(ERROR_OUT_OF_PAPER)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUT_OF_PAPER)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUT_OF_PAPER)));
     }
 #endif
 #ifdef ERROR_PRINTQ_FULL
     if (sym == @symbol(ERROR_PRINTQ_FULL)) {
-        RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PRINTQ_FULL)));
+	RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PRINTQ_FULL)));
     }
 #endif
 
@@ -2988,229 +2987,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
 
@@ -3219,13 +3218,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
 
@@ -3234,19 +3233,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
 
@@ -3255,31 +3254,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
 
@@ -3288,13 +3287,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
 
@@ -3303,162 +3302,162 @@
      */
 #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 WSAETIMEDOUT
     if (sym == @symbol(ETIMEDOUT)) {
-        RETURN ( __mkSmallInteger(WSAETIMEDOUT) );
+	RETURN ( __mkSmallInteger(WSAETIMEDOUT) );
     }
 #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
     /*
@@ -3466,92 +3465,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
 
@@ -3598,8 +3597,8 @@
     |shell args wDir cmdName path|
 
     aCommandString isNonByteCollection ifTrue:[
-        "easy: the caller does not want a shell to be executed"
-        ^ Array with:aCommandString first with:(aCommandString asStringWith:' ') with:nil.
+	"easy: the caller does not want a shell to be executed"
+	^ Array with:aCommandString first with:(aCommandString asStringWith:' ') with:nil.
     ].
 
     "/
@@ -3625,52 +3624,52 @@
     cmdName := (aCommandString ? '') withoutSeparators.
 
     (cmdName isEmpty or:[cmdName includesAny:'<>|']) ifFalse:[
-        "/ test whether the command is a plain executable;
-        "/ if so, no shell is required
-        |index file suffix|
-
-        index := cmdName indexOfSeparatorStartingAt:1.
-        index ~~ 0 ifTrue:[
-            cmdName := cmdName copyFrom:1 to:(index-1).
-            args := cmdName copyFrom:(index+1).
-        ] ifFalse:[
-            args := ''.
-        ].
-
-        (cmdName first = $" and:[cmdName last = $"]) ifTrue:[
-            cmdName := (cmdName copyFrom:2 to:cmdName size - 1) withoutSeparators.
-        ].
-        file := cmdName asFilename.
-        file suffix isEmpty ifTrue:[
-            file := file withSuffix:'exe'.
-        ].
-        path := file fullAlternativePathName.
-        (OperatingSystem getBinaryType:path) notNil ifTrue:[
-            "/ is an executable, no shell required
-            ^ Array with:path with:aCommandString with:nil.
+	"/ test whether the command is a plain executable;
+	"/ if so, no shell is required
+	|index file suffix|
+
+	index := cmdName indexOfSeparatorStartingAt:1.
+	index ~~ 0 ifTrue:[
+	    cmdName := cmdName copyFrom:1 to:(index-1).
+	    args := cmdName copyFrom:(index+1).
+	] ifFalse:[
+	    args := ''.
+	].
+
+	(cmdName first = $" and:[cmdName last = $"]) ifTrue:[
+	    cmdName := (cmdName copyFrom:2 to:cmdName size - 1) withoutSeparators.
+	].
+	file := cmdName asFilename.
+	file suffix isEmpty ifTrue:[
+	    file := file withSuffix:'exe'.
+	].
+	path := file fullAlternativePathName.
+	(OperatingSystem getBinaryType:path) notNil ifTrue:[
+	    "/ is an executable, no shell required
+	    ^ Array with:path with:aCommandString with:nil.
 "/                ^ Array with:path with:(path, ' ', args).
-        ].
-        path := self pathOfCommand:cmdName.
-        (path notNil and:[(OperatingSystem getBinaryType:path) notNil]) ifTrue:[
-            "/ is an executable, no shell required
-            ^ Array with:path with:aCommandString with:nil.
+	].
+	path := self pathOfCommand:cmdName.
+	(path notNil and:[(OperatingSystem getBinaryType:path) notNil]) ifTrue:[
+	    "/ is an executable, no shell required
+	    ^ Array with:path with:aCommandString with:nil.
 "/                ^ 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) isExecutableProgram
-                    ] ifNone:[
-                        self error:'no cmd.exe available'.
-                    ].
-        shell := (wDir / shell) pathName.
+	wDir := self getWindowsSystemDirectory asFilename.
+	shell := #('cmd.exe' 'command.com') detect:[:eachCommand|
+			(wDir / eachCommand) isExecutableProgram
+		    ] ifNone:[
+			self error:'no cmd.exe available'.
+		    ].
+	shell := (wDir / shell) pathName.
     ].
 
     cmdName isEmpty ifTrue:[
-        ^ Array with:shell with:nil with:nil.
+	^ Array with:shell with:nil with:nil.
     ].
 
     ^ Array with:shell with:(' /c "' , aCommandString, '"') with:false.
@@ -3741,6 +3740,7 @@
     rslt := self
         primExec:aCommandPath
         commandLine:argString
+        environment:environment
         fileDescriptors:fdArray
         fork:doFork
         newPgrp:newPgrp
@@ -3766,32 +3766,32 @@
     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 = (INT)STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, handle, INFINITE);
-            } while ((endStatus < 0) && (__threadErrno == EINTR));
-#else
-            endStatus = (INT)WaitForSingleObject(handle , INFINITE);
-#endif
-            if (endStatus != WAIT_FAILED) {
-                if (GetExitCodeProcess(handle,&endStatus)) {
-                    status = endStatus;
+	    do {
+		__threadErrno = 0;
+		endStatus = (INT)STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, handle, INFINITE);
+	    } while ((endStatus < 0) && (__threadErrno == EINTR));
+#else
+	    endStatus = (INT)WaitForSingleObject(handle , INFINITE);
+#endif
+	    if (endStatus != WAIT_FAILED) {
+		if (GetExitCodeProcess(handle,&endStatus)) {
+		    status = endStatus;
 #ifdef PROCESSDEBUGWIN32
-                    if (flag_PROCESSDEBUGWIN32) {
-                        console_fprintf(stderr, "getexitcode status = %d\n",status);
-                    }
-                } else {
-                    if (flag_PROCESSDEBUGWIN32) {
-                        console_fprintf(stderr, "getexitcode failed.\n");
-                    }
-#endif
-                }
-            }
-        }
-        RETURN ( __mkSmallInteger(status));
+		    if (flag_PROCESSDEBUGWIN32) {
+			console_fprintf(stderr, "getexitcode status = %d\n",status);
+		    }
+		} else {
+		    if (flag_PROCESSDEBUGWIN32) {
+			console_fprintf(stderr, "getexitcode failed.\n");
+		    }
+#endif
+		}
+	    }
+	}
+	RETURN ( __mkSmallInteger(status));
     }
 %}.
     self primitiveFailed
@@ -3806,9 +3806,9 @@
 
     cmdFile := aCommand asFilename.
     cmdFile isAbsolute ifTrue:[
-        cmdFile isExecutableProgram ifTrue:[
-            ^ aCommand
-        ].
+	cmdFile isExecutableProgram ifTrue:[
+	    ^ aCommand
+	].
         cmdFile suffix isEmpty ifTrue:[ 
             ((path := cmdFile withSuffix: 'com') exists 
                 or:[ (path := cmdFile withSuffix: 'exe') exists 
@@ -3818,51 +3818,51 @@
                     ]. 
                 ].
         ].
-        ^ nil
+	^ nil
     ].
 
     (aCommand includes:Filename separator) ifTrue:[
-        path := Filename currentDirectory construct:aCommand.
-        path isExecutableProgram ifTrue:[
-            ^ path pathName.
-        ].
-        ^ nil
+	path := Filename currentDirectory construct:aCommand.
+	path isExecutableProgram ifTrue:[
+	    ^ path pathName.
+	].
+	^ nil
     ].
 
     "search in all directories of PATH.
      If there no extension, add the known extensions."
     path := (self getEnvironment:'PATH') ? ''.
     (rentry := self registryEntry key: 'HKEY_CURRENT_USER\Environment') notNil ifTrue:[
-        rpath := rentry valueNamed: 'PATH'.
-        rpath notNil ifTrue:[
-            path := path , self pathSeparator , rpath
-        ].
+	rpath := rentry valueNamed: 'PATH'.
+	rpath notNil ifTrue:[
+	    path := path , self pathSeparator , rpath
+	].
     ].
     path := '.;', path.
     hasSuffix := cmdFile suffix notEmpty.
 
     (path asCollectionOfSubstringsSeparatedBy:self pathSeparator) do:[:eachDirectory |
-        |file|
-
-        eachDirectory isEmpty ifTrue:[
-            file := cmdFile
-        ] ifFalse:[
-            file := eachDirectory asFilename construct:aCommand.
-        ].
-        hasSuffix ifTrue:[
-            file isExecutableProgram ifTrue:[
-                ^ file pathName.
-            ].
-        ] ifFalse:[
-            self executableFileExtensions do:[:ext |
-                |fExt|
-
-                fExt := file withSuffix:ext.
-                fExt isExecutableProgram ifTrue:[
-                    ^ fExt pathName.
-                ].
-            ].
-        ].
+	|file|
+
+	eachDirectory isEmpty ifTrue:[
+	    file := cmdFile
+	] ifFalse:[
+	    file := eachDirectory asFilename construct:aCommand.
+	].
+	hasSuffix ifTrue:[
+	    file isExecutableProgram ifTrue:[
+		^ file pathName.
+	    ].
+	] ifFalse:[
+	    self executableFileExtensions do:[:ext |
+		|fExt|
+
+		fExt := file withSuffix:ext.
+		fExt isExecutableProgram ifTrue:[
+		    ^ fExt pathName.
+		].
+	    ].
+	].
     ].
     ^ nil
 
@@ -3881,18 +3881,19 @@
 
 !
 
-primExec:commandPath commandLine:commandLine fileDescriptors:fdArray fork:doFork newPgrp:newPgrp
-        inPath:dirName createFlags:flagsOrNil inheritHandles:inheritHandles
-        showWindow:showWindowBooleanOrNil
+primExec:commandPath commandLine:commandLine environment:environmentOrNil
+	fileDescriptors:fdArray fork:doFork newPgrp:newPgrp
+	inPath:dirName createFlags:flagsOrNil inheritHandles:inheritHandles
+	showWindow:showWindowBooleanOrNil
     "Internal lowLevel entry for combined fork & exec for WIN32
 
      showWindowBooleanOrNil may be:
-        true  - a window is shown on start of the command
-        false - the command window is hidden
-        nil   - the nCmdShown parameter of the commans's winmain function determins,
-                if a window is shown.
-        #default
-              - same as nil
+	true  - a window is shown on start of the command
+	false - the command window is hidden
+	nil   - the nCmdShown parameter of the commans's winmain function determins,
+		if a window is shown.
+	#default
+	      - same as nil
     "
 
     |handle commandPathUni16 commandLineUni16 dirNameUni16 envString16|
@@ -3904,31 +3905,31 @@
     dirNameUni16 := dirName.
 
     commandPathUni16 notNil ifTrue:[
-        commandPathUni16 := commandPathUni16 asUnicode16String.
+	commandPathUni16 := commandPathUni16 asUnicode16String.
     ].
     commandLineUni16 notNil ifTrue:[
-        commandLineUni16 := commandLineUni16 asUnicode16String.
+	commandLineUni16 := commandLineUni16 asUnicode16String.
     ].
     dirNameUni16 notNil ifTrue:[
-        dirNameUni16 := dirNameUni16 asUnicode16String.
-    ].
-    environment notEmptyOrNil ifTrue:[
-        |newEnv|
-
-        "/ take my current environment; add the definitions given by the argument.
-        newEnv := Dictionary new 
-                    declareAllFrom:(OperatingSystem getEnvironment);
-                    declareAllFrom:environment;
-                    yourself.
-
-        envString16 := 
-            Unicode16String streamContents:[:s |
-                newEnv keysAndValuesDo:[:k :v |
-                    s nextPutAll:k; nextPutAll:'='; nextPutAll:v.
-                    s nextPut:(Character value:0).
-                ].
-                s nextPut:(Character value:0).
-            ].
+	dirNameUni16 := dirNameUni16 asUnicode16String.
+    ].
+    environmentOrNil notNil ifTrue:[
+	|newEnv|
+
+	"/ take my current environment; add the definitions given by the argument.
+	newEnv := Dictionary new
+		    declareAllFrom:(OperatingSystem getEnvironment);
+		    declareAllFrom:environmentOrNil;
+		    yourself.
+
+	envString16 :=
+	    Unicode16String streamContents:[:s |
+		newEnv keysSorted do:[:k |
+		    s nextPutAll:k; nextPutAll:'='; nextPutAll:(newEnv at:k).
+		    s nextPut:(Character value:0).
+		].
+		s nextPut:(Character value:0).
+	    ].
     ].
 
 %{  /* STACK: 32000 */
@@ -3966,300 +3967,300 @@
     SECURITY_DESCRIPTOR securityDescriptor;
 
     if ((__isUnicode16String(commandPathUni16) || (commandPathUni16 == nil)) && __isUnicode16String(commandLineUni16)) {
-        HANDLE stdinHandle = NULL;
-        HANDLE stdoutHandle = NULL;
-        HANDLE stderrHandle = NULL;
-        int mustClose_stdinHandle = 0;
-        int mustClose_stdoutHandle = 0;
-        int mustClose_stderrHandle = 0;
-
-        /*
-         * terminate the multi byte strings
-         */
-        // #commandPathUni16
-        if (commandPathUni16 != nil) {
-            l = __unicode16StringSize(commandPathUni16);
-            if (l >= 4096) { // >= need 1 space for terminator
+	HANDLE stdinHandle = NULL;
+	HANDLE stdoutHandle = NULL;
+	HANDLE stderrHandle = NULL;
+	int mustClose_stdinHandle = 0;
+	int mustClose_stdoutHandle = 0;
+	int mustClose_stderrHandle = 0;
+
+	/*
+	 * terminate the multi byte strings
+	 */
+	// #commandPathUni16
+	if (commandPathUni16 != nil) {
+	    l = __unicode16StringSize(commandPathUni16);
+	    if (l >= 4096) { // >= need 1 space for terminator
 # ifdef PROCESSDEBUGWIN32
-                if (flag_PROCESSDEBUGWIN32) {
-                    console_fprintf(stderr, "argument #commandPathUni16 is to long\n");
-                }
-# endif
-                RETURN(nil);
-            }
-            for (i = 0; i < l; i++) {
-                cmdPathW[i] = __unicode16StringVal(commandPathUni16)[i];
-            }
-            cmdPathW[i] = 0; // set terminator
-            cmdPathWP = &cmdPathW[0];
-        }
-
-        // commandLineUni16
-        l = __unicode16StringSize(commandLineUni16);
-        if (l >= 4096) { // >= need 1 space for terminator
+		if (flag_PROCESSDEBUGWIN32) {
+		    console_fprintf(stderr, "argument #commandPathUni16 is to long\n");
+		}
+# endif
+		RETURN(nil);
+	    }
+	    for (i = 0; i < l; i++) {
+		cmdPathW[i] = __unicode16StringVal(commandPathUni16)[i];
+	    }
+	    cmdPathW[i] = 0; // set terminator
+	    cmdPathWP = &cmdPathW[0];
+	}
+
+	// commandLineUni16
+	l = __unicode16StringSize(commandLineUni16);
+	if (l >= 4096) { // >= need 1 space for terminator
 # ifdef PROCESSDEBUGWIN32
-            if (flag_PROCESSDEBUGWIN32) {
-                console_fprintf(stderr, "argument #commandLineUni16 is to long\n");
-            }
-# endif
-            RETURN(nil);
-        }
-        for (i = 0; i < l; i++) {
-            cmdLineW[i] = __unicode16StringVal(commandLineUni16)[i];
-        }
-        cmdLineW[i] = 0; // set terminator
-        cmdLineWP = &cmdLineW[0];
-
-        // #dirNameUni16
-        if (__isUnicode16String(dirNameUni16)) {
-            l = __unicode16StringSize(dirNameUni16);
-            if (l >= 4096) { // >= need 1 space for terminator
+	    if (flag_PROCESSDEBUGWIN32) {
+		console_fprintf(stderr, "argument #commandLineUni16 is to long\n");
+	    }
+# endif
+	    RETURN(nil);
+	}
+	for (i = 0; i < l; i++) {
+	    cmdLineW[i] = __unicode16StringVal(commandLineUni16)[i];
+	}
+	cmdLineW[i] = 0; // set terminator
+	cmdLineWP = &cmdLineW[0];
+
+	// #dirNameUni16
+	if (__isUnicode16String(dirNameUni16)) {
+	    l = __unicode16StringSize(dirNameUni16);
+	    if (l >= 4096) { // >= need 1 space for terminator
 # ifdef PROCESSDEBUGWIN32
-                if (flag_PROCESSDEBUGWIN32) {
-                    console_fprintf(stderr, "argument #dirNameUni16 is to long\n");
-                }
-# endif
-                RETURN(nil);
-            }
-            for (i = 0; i < l; i++) {
-                dirNameW[i] = __unicode16StringVal(dirNameUni16)[i];
-            }
-            dirNameW[i] = 0; // set terminator
-            dirNameWP = &dirNameW[0];
-        }
-
-        if (envString16 != nil) {
-            envWP = __unicode16StringVal(envString16);
-        }
-
-        /*
-         * create descriptors as req'd
-         */
-        memset(&securityAttributes, 0, sizeof(securityAttributes));
-        securityAttributes.nLength = sizeof(securityAttributes);
-        securityAttributes.bInheritHandle = (inheritHandles == true) ? TRUE : FALSE;
-
-        InitializeSecurityDescriptor(&securityDescriptor, SECURITY_DESCRIPTOR_REVISION);
-        SetSecurityDescriptorDacl(&securityDescriptor, -1, 0, 0);
-
-        securityAttributes.lpSecurityDescriptor = &securityDescriptor;
-
-        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;
-        lpsiStartInfo.dwFlags           = STARTF_USESTDHANDLES /*| STARTF_USEPOSITION*/;
-        if ((showWindowBooleanOrNil != nil) && (showWindowBooleanOrNil != @symbol(default))) {
-            lpsiStartInfo.dwFlags |= STARTF_USESHOWWINDOW;
-            lpsiStartInfo.wShowWindow = showWindowBooleanOrNil == true ? SW_SHOWNORMAL : SW_HIDE;
-        }
-        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 {
-            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) {
-            stdinHandle  = (HANDLE) _get_osfhandle (0);
-            stdoutHandle = (HANDLE) _get_osfhandle (1);
-            stderrHandle  = (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])) {
-                    stdinHandle = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[0]);
-                } else {
-                    stdinHandle = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[0]));
-                }
-            }
-            if (__ArrayInstPtr(fdArray)->a_element[1] != nil) {
-                if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[1])) {
-                    stdoutHandle = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[1]);
-                } else {
-                    stdoutHandle = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[1]));
-                }
-            }
-            if (__ArrayInstPtr(fdArray)->a_element[2] != nil) {
-                if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[2])) {
-                    stderrHandle  = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[2]);
-                } else {
-                    stderrHandle = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[2]));
-                }
-            }
-        } else {
-            console_fprintf(stderr, "Win32OS [warning]: bad fd arg in createProcess\n");
-        }
+		if (flag_PROCESSDEBUGWIN32) {
+		    console_fprintf(stderr, "argument #dirNameUni16 is to long\n");
+		}
+# endif
+		RETURN(nil);
+	    }
+	    for (i = 0; i < l; i++) {
+		dirNameW[i] = __unicode16StringVal(dirNameUni16)[i];
+	    }
+	    dirNameW[i] = 0; // set terminator
+	    dirNameWP = &dirNameW[0];
+	}
+
+	if (envString16 != nil) {
+	    envWP = __unicode16StringVal(envString16);
+	}
+
+	/*
+	 * create descriptors as req'd
+	 */
+	memset(&securityAttributes, 0, sizeof(securityAttributes));
+	securityAttributes.nLength = sizeof(securityAttributes);
+	securityAttributes.bInheritHandle = (inheritHandles == true) ? TRUE : FALSE;
+
+	InitializeSecurityDescriptor(&securityDescriptor, SECURITY_DESCRIPTOR_REVISION);
+	SetSecurityDescriptorDacl(&securityDescriptor, -1, 0, 0);
+
+	securityAttributes.lpSecurityDescriptor = &securityDescriptor;
+
+	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;
+	lpsiStartInfo.dwFlags           = STARTF_USESTDHANDLES /*| STARTF_USEPOSITION*/;
+	if ((showWindowBooleanOrNil != nil) && (showWindowBooleanOrNil != @symbol(default))) {
+	    lpsiStartInfo.dwFlags |= STARTF_USESHOWWINDOW;
+	    lpsiStartInfo.wShowWindow = showWindowBooleanOrNil == true ? SW_SHOWNORMAL : SW_HIDE;
+	}
+	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 {
+	    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) {
+	    stdinHandle  = (HANDLE) _get_osfhandle (0);
+	    stdoutHandle = (HANDLE) _get_osfhandle (1);
+	    stderrHandle  = (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])) {
+		    stdinHandle = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[0]);
+		} else {
+		    stdinHandle = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[0]));
+		}
+	    }
+	    if (__ArrayInstPtr(fdArray)->a_element[1] != nil) {
+		if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[1])) {
+		    stdoutHandle = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[1]);
+		} else {
+		    stdoutHandle = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[1]));
+		}
+	    }
+	    if (__ArrayInstPtr(fdArray)->a_element[2] != nil) {
+		if (__isExternalAddressLike(__ArrayInstPtr(fdArray)->a_element[2])) {
+		    stderrHandle  = _HANDLEVal(__ArrayInstPtr(fdArray)->a_element[2]);
+		} else {
+		    stderrHandle = (HANDLE) _get_osfhandle (__intVal(__ArrayInstPtr(fdArray)->a_element[2]));
+		}
+	    }
+	} else {
+	    console_fprintf(stderr, "Win32OS [warning]: bad fd arg in createProcess\n");
+	}
 
 #if defined(PROCESSDEBUGWIN32)
-        if (flag_PROCESSDEBUGWIN32) {
-            console_fprintf(stderr, "stdin %x\n", stdinHandle);
-            console_fprintf(stderr, "stdout %x\n", stdoutHandle);
-            console_fprintf(stderr, "stderr %x\n", stderrHandle);
-        }
-#endif
-
-        {
-            HANDLE childHandle;
-            int sameHandle = (stdoutHandle == stderrHandle);
-
-            // these MUST be inheritable!
-            if (stdinHandle) {
+	if (flag_PROCESSDEBUGWIN32) {
+	    console_fprintf(stderr, "stdin %x\n", stdinHandle);
+	    console_fprintf(stderr, "stdout %x\n", stdoutHandle);
+	    console_fprintf(stderr, "stderr %x\n", stderrHandle);
+	}
+#endif
+
+	{
+	    HANDLE childHandle;
+	    int sameHandle = (stdoutHandle == stderrHandle);
+
+	    // these MUST be inheritable!
+	    if (stdinHandle) {
 #if 0
-                if (SetHandleInformation(stdinHandle, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT)) {
-                    // good
-                } else {
-                    console_fprintf(stderr, "Win32OS [warning]: SetHandleInformation failed in createProcess\n");
-                }
-#else
-                if (DuplicateHandle(GetCurrentProcess(), stdinHandle, GetCurrentProcess(),
-                                      &childHandle, 0, TRUE, DUPLICATE_SAME_ACCESS)) {
-                    stdinHandle = childHandle;
-                    mustClose_stdinHandle = 1;
-                } else {
-                    console_fprintf(stderr, "Win32OS [warning]: duplicateHandle failed in createProcess\n");
-                }
-#endif
-            }
-            if (stdoutHandle) {
+		if (SetHandleInformation(stdinHandle, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT)) {
+		    // good
+		} else {
+		    console_fprintf(stderr, "Win32OS [warning]: SetHandleInformation failed in createProcess\n");
+		}
+#else
+		if (DuplicateHandle(GetCurrentProcess(), stdinHandle, GetCurrentProcess(),
+				      &childHandle, 0, TRUE, DUPLICATE_SAME_ACCESS)) {
+		    stdinHandle = childHandle;
+		    mustClose_stdinHandle = 1;
+		} else {
+		    console_fprintf(stderr, "Win32OS [warning]: duplicateHandle failed in createProcess\n");
+		}
+#endif
+	    }
+	    if (stdoutHandle) {
 #if 0
-                if (SetHandleInformation(stdoutHandle, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT)) {
-                    // good
-                } else {
-                    console_fprintf(stderr, "Win32OS [warning]: SetHandleInformation failed in createProcess\n");
-                }
-#else
-                if (DuplicateHandle(GetCurrentProcess(), stdoutHandle, GetCurrentProcess(),
-                                      &childHandle, 0, TRUE, DUPLICATE_SAME_ACCESS)) {
-                    stdoutHandle = childHandle;
-                    mustClose_stdoutHandle = 1;
-                } else {
-                    console_fprintf(stderr, "Win32OS [warning]: duplicateHandle failed in createProcess\n");
-                }
-#endif
-            }
-            if (stderrHandle) {
-                if (sameHandle) {
-                    stderrHandle = stdoutHandle;
-                } else {
+		if (SetHandleInformation(stdoutHandle, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT)) {
+		    // good
+		} else {
+		    console_fprintf(stderr, "Win32OS [warning]: SetHandleInformation failed in createProcess\n");
+		}
+#else
+		if (DuplicateHandle(GetCurrentProcess(), stdoutHandle, GetCurrentProcess(),
+				      &childHandle, 0, TRUE, DUPLICATE_SAME_ACCESS)) {
+		    stdoutHandle = childHandle;
+		    mustClose_stdoutHandle = 1;
+		} else {
+		    console_fprintf(stderr, "Win32OS [warning]: duplicateHandle failed in createProcess\n");
+		}
+#endif
+	    }
+	    if (stderrHandle) {
+		if (sameHandle) {
+		    stderrHandle = stdoutHandle;
+		} else {
 #if 0
-                    if (SetHandleInformation(stderrHandle, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT)) {
-                        // good
-                    } else {
-                        console_fprintf(stderr, "Win32OS [warning]: SetHandleInformation failed in createProcess\n");
-                    }
-#else
-                    if (DuplicateHandle(GetCurrentProcess(), stderrHandle, GetCurrentProcess(),
-                                          &childHandle, 0, TRUE, DUPLICATE_SAME_ACCESS)) {
-                        stderrHandle = childHandle;
-                        mustClose_stderrHandle = 1;
-                    } else {
-                        console_fprintf(stderr, "Win32OS [warning]: duplicateHandle failed in createProcess\n");
-                    }
-#endif
-                }
-            }
-        }
-        lpsiStartInfo.hStdInput  = stdinHandle;
-        lpsiStartInfo.hStdOutput = stdoutHandle;
-        lpsiStartInfo.hStdError  = stderrHandle;
-
-        if (doFork == true) {
+		    if (SetHandleInformation(stderrHandle, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT)) {
+			// good
+		    } else {
+			console_fprintf(stderr, "Win32OS [warning]: SetHandleInformation failed in createProcess\n");
+		    }
+#else
+		    if (DuplicateHandle(GetCurrentProcess(), stderrHandle, GetCurrentProcess(),
+					  &childHandle, 0, TRUE, DUPLICATE_SAME_ACCESS)) {
+			stderrHandle = childHandle;
+			mustClose_stderrHandle = 1;
+		    } else {
+			console_fprintf(stderr, "Win32OS [warning]: duplicateHandle failed in createProcess\n");
+		    }
+#endif
+		}
+	    }
+	}
+	lpsiStartInfo.hStdInput  = stdinHandle;
+	lpsiStartInfo.hStdOutput = stdoutHandle;
+	lpsiStartInfo.hStdError  = stderrHandle;
+
+	if (doFork == true) {
 #ifdef PROCESSDEBUGWIN32
-            if (flag_PROCESSDEBUGWIN32) {
-                console_fprintf(stderr, "create process cmdPath:<%s> cmdLine:<%s> in <%s>\n", __stringVal(commandPath), __stringVal(commandLine), __stringVal(dirName));
-            }
-#endif
-            memset(&lppiProcInfo, 0, sizeof (lppiProcInfo));
-
-            if (CreateProcessW( cmdPathWP,
-                                cmdLineWP,
-                                &securityAttributes, NULL               /* &securityAttributes */,
-                                securityAttributes.bInheritHandle,      /* inherit handles */
-                                fdwCreate | CREATE_SUSPENDED            /* resume after setting affinity */
-                                          | CREATE_UNICODE_ENVIRONMENT, 
-                                envWP,                                  /* env */
-                                dirNameWP,
-                                &lpsiStartInfo,
-                                &lppiProcInfo ))
-            {
-                DWORD_PTR 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);
+	    if (flag_PROCESSDEBUGWIN32) {
+		console_fprintf(stderr, "create process cmdPath:<%s> cmdLine:<%s> in <%s>\n", __stringVal(commandPath), __stringVal(commandLine), __stringVal(dirName));
+	    }
+#endif
+	    memset(&lppiProcInfo, 0, sizeof (lppiProcInfo));
+
+	    if (CreateProcessW( cmdPathWP,
+				cmdLineWP,
+				&securityAttributes, NULL               /* &securityAttributes */,
+				securityAttributes.bInheritHandle,      /* inherit handles */
+				fdwCreate | CREATE_SUSPENDED            /* resume after setting affinity */
+					  | CREATE_UNICODE_ENVIRONMENT,
+				envWP,                                  /* env */
+				dirNameWP,
+				&lpsiStartInfo,
+				&lppiProcInfo ))
+	    {
+		DWORD_PTR 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);
 
 #if 0
-                // only works with real console handles
-                {
-                    // change the child's stdIn (console) mode
-                    DWORD mode = 0;
-
-                    if (! GetConsoleMode(stdinHandle, &mode)) {
-                        console_fprintf(stderr, "Win32OS [warning]: GetConsoleMode failed in createProcess\n");
-                    }
-                    if (! SetConsoleMode(stdinHandle, mode & (~ENABLE_ECHO_INPUT))){
-                        console_fprintf(stderr, "Win32OS [warning]: SetConsoleMode failed in createProcess\n");
-                    }
-                }
-#endif
-                if (mustClose_stdinHandle) {
-                    CloseHandle(stdinHandle);
-                }
-                if (mustClose_stdoutHandle) {
-                    CloseHandle(stdoutHandle);
-                }
-                if (mustClose_stderrHandle) {
-                    CloseHandle(stderrHandle);
-                }
+		// only works with real console handles
+		{
+		    // change the child's stdIn (console) mode
+		    DWORD mode = 0;
+
+		    if (! GetConsoleMode(stdinHandle, &mode)) {
+			console_fprintf(stderr, "Win32OS [warning]: GetConsoleMode failed in createProcess\n");
+		    }
+		    if (! SetConsoleMode(stdinHandle, mode & (~ENABLE_ECHO_INPUT))){
+			console_fprintf(stderr, "Win32OS [warning]: SetConsoleMode failed in createProcess\n");
+		    }
+		}
+#endif
+		if (mustClose_stdinHandle) {
+		    CloseHandle(stdinHandle);
+		}
+		if (mustClose_stdoutHandle) {
+		    CloseHandle(stdoutHandle);
+		}
+		if (mustClose_stderrHandle) {
+		    CloseHandle(stderrHandle);
+		}
 #ifdef PROCESSDEBUGWIN32
-                if (flag_PROCESSDEBUGWIN32) {
-                    console_fprintf(stderr, "created process hProcess=%x pid=%d\n", lppiProcInfo.hProcess, lppiProcInfo.dwProcessId);
-                }
-#endif
-
-                __externalAddressVal(handle) = lppiProcInfo.hProcess;
-                ((struct __Win32OperatingSystem__Win32ProcessHandle_struct *)(handle))->pid = __mkSmallInteger(lppiProcInfo.dwProcessId);
-                RETURN (handle);
-            }
+		if (flag_PROCESSDEBUGWIN32) {
+		    console_fprintf(stderr, "created process hProcess=%x pid=%d\n", lppiProcInfo.hProcess, lppiProcInfo.dwProcessId);
+		}
+#endif
+
+		__externalAddressVal(handle) = lppiProcInfo.hProcess;
+		((struct __Win32OperatingSystem__Win32ProcessHandle_struct *)(handle))->pid = __mkSmallInteger(lppiProcInfo.dwProcessId);
+		RETURN (handle);
+	    }
 #ifdef PROCESSDEBUGWIN32
-            if (flag_PROCESSDEBUGWIN32) {
-                console_fprintf(stderr, "created process error %d\n", GetLastError());
-            }
-#endif
-            RETURN (nil);
-        } else {
-            ; /* should never be called that way */
-        }
+	    if (flag_PROCESSDEBUGWIN32) {
+		console_fprintf(stderr, "created process error %d\n", GetLastError());
+	    }
+#endif
+	    RETURN (nil);
+	} else {
+	    ; /* should never be called that way */
+	}
     }
 %}.
     "
@@ -4270,7 +4271,19 @@
     "
     ^ self primitiveFailed
 
-    "Modified: / 15-11-2016 / 19:37:14 / cg"
+    "Created: / 15-11-2016 / 19:39:49 / cg"
+!
+
+primExec:commandPath commandLine:commandLine fileDescriptors:fdArray fork:doFork newPgrp:newPgrp
+	inPath:dirName createFlags:flagsOrNil inheritHandles:inheritHandles
+	showWindow:showWindowBooleanOrNil
+    "obsolete internal lowLevel entry for combined fork & exec for WIN32"
+
+    ^ self
+	primExec:commandPath commandLine:commandLine environment:nil
+	fileDescriptors:fdArray fork:doFork newPgrp:newPgrp
+	inPath:dirName createFlags:flagsOrNil inheritHandles:inheritHandles
+	showWindow:showWindowBooleanOrNil
 !
 
 shellExecute:hwndArg lpOperation:lpOperationArg lpFile:lpFileArg lpParameters:lpParametersArg lpDirectory:lpDirectoryArg nShowCmd:nShowCmd
@@ -4278,7 +4291,7 @@
      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.
      lpDirectory: the pathname string of the directory used for the command,
-                  or nil for the current directory."
+		  or nil for the current directory."
 
     |errorNumber handle|
 
@@ -4289,97 +4302,97 @@
     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 (((lpOperationArg == nil) || __isStringLike(lpOperationArg))
      && ((lpFileArg == nil) || __isStringLike(lpFileArg))
      && ((lpParametersArg == nil) || __isStringLike(lpParametersArg))
      && ((lpDirectoryArg == nil) || __isStringLike(lpDirectoryArg))
     ) {
-        // hProcess member receives the process handle
-        shExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
-
-        shExecInfo.hwnd = 0;
-        shExecInfo.lpVerb        = (lpOperationArg != nil) ? __stringVal(lpOperationArg) : NULL;
-        shExecInfo.lpFile        = (lpFileArg != nil) ? __stringVal(lpFileArg) : NULL;
-        shExecInfo.lpParameters  = (lpParametersArg != nil) ? __stringVal(lpParametersArg) : NULL;
-        shExecInfo.lpDirectory   = (lpDirectoryArg != nil) ? __stringVal(lpDirectoryArg) : NULL;
-        if (hwndArg != nil) {
-            if (__isExternalAddressLike(hwndArg)) {
-                shExecInfo.hwnd = _HANDLEVal(hwndArg);
-            } else
-                goto badArgument;
-        }
-        if (ShellExecuteEx(&shExecInfo)) {
-            if (shExecInfo.hProcess) {
-                DWORD_PTR 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);
-
-                __externalAddressVal(handle) = shExecInfo.hProcess;
-                RETURN (handle);
-            } else {
-                RETURN (nil); /* OK */
-            }
-        } else {
-            /* error */
-            errorNumber = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-        }
+	// hProcess member receives the process handle
+	shExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
+
+	shExecInfo.hwnd = 0;
+	shExecInfo.lpVerb        = (lpOperationArg != nil) ? __stringVal(lpOperationArg) : NULL;
+	shExecInfo.lpFile        = (lpFileArg != nil) ? __stringVal(lpFileArg) : NULL;
+	shExecInfo.lpParameters  = (lpParametersArg != nil) ? __stringVal(lpParametersArg) : NULL;
+	shExecInfo.lpDirectory   = (lpDirectoryArg != nil) ? __stringVal(lpDirectoryArg) : NULL;
+	if (hwndArg != nil) {
+	    if (__isExternalAddressLike(hwndArg)) {
+		shExecInfo.hwnd = _HANDLEVal(hwndArg);
+	    } else
+		goto badArgument;
+	}
+	if (ShellExecuteEx(&shExecInfo)) {
+	    if (shExecInfo.hProcess) {
+		DWORD_PTR 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);
+
+		__externalAddressVal(handle) = shExecInfo.hProcess;
+		RETURN (handle);
+	    } else {
+		RETURN (nil); /* 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:lpFileArg;
-            reportError
+	(OperatingSystem errorHolderForNumber:errorNumber)
+	    parameter:lpFileArg;
+	    reportError
     ].
 
     "
      self
-        shellExecute:nil
-        lpOperation:'open'
-        lpFile:(Filename currentDirectory pathName)
-        lpParameters:nil
-        lpDirectory:nil
-        nShowCmd:#SW_SHOWNORMAL
+	shellExecute:nil
+	lpOperation:'open'
+	lpFile:(Filename currentDirectory pathName)
+	lpParameters:nil
+	lpDirectory:nil
+	nShowCmd:#SW_SHOWNORMAL
     self
-        shellExecute:nil
-        lpOperation:'explore'
-        lpFile:(Filename currentDirectory pathName)
-        lpParameters:nil
-        lpDirectory:nil
-        nShowCmd:#SW_SHOWNORMAL
+	shellExecute:nil
+	lpOperation:'explore'
+	lpFile:(Filename currentDirectory pathName)
+	lpParameters:nil
+	lpDirectory:nil
+	nShowCmd:#SW_SHOWNORMAL
     "
 !
 
@@ -4525,12 +4538,12 @@
 
 %{
     if (__isSmallInteger(anIntegerOrHandle)) {
-        close(__intVal(anIntegerOrHandle));
-        RETURN(self);
+	close(__intVal(anIntegerOrHandle));
+	RETURN(self);
     }
     if (__isExternalAddressLike(anIntegerOrHandle)) {
        if (!CloseHandle( _HANDLEVal(anIntegerOrHandle))) {
-           console_fprintf( stderr, "Win32OS [warning]: Could not close handle : %x\n", _HANDLEVal(anIntegerOrHandle));
+	   console_fprintf( stderr, "Win32OS [warning]: Could not close handle : %x\n", _HANDLEVal(anIntegerOrHandle));
        }
        RETURN(self);
     }
@@ -4557,28 +4570,28 @@
     sa.bInheritHandle = FALSE;
 
     if (__isStringLike(aPathName)) {
-        int ret;
-
-        ret = CreateDirectoryA(__stringVal(aPathName), &sa);
-        if (ret != TRUE) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	int ret;
+
+	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;
-        wchar_t _wPathName[MAXPATHLEN+1];
-
-        _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
-        ret = CreateDirectoryW(_wPathName, &sa);
-        if (ret != TRUE) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	int ret;
+	wchar_t _wPathName[MAXPATHLEN+1];
+
+	_makeWchar(aPathName, _wPathName, sizeof(_wPathName));
+	ret = CreateDirectoryW(_wPathName, &sa);
+	if (ret != TRUE) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 %}.
     ^ self primitiveFailed
@@ -4643,32 +4656,32 @@
     char szGotPath[MAXPATHLEN];
 
     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, (void **)&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, (void **)&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, MAXPATHLEN);
@@ -4676,18 +4689,18 @@
     hres = ipPersistFile->lpVtbl->Load(ipPersistFile, wsz, STGM_READ);
 
     if (SUCCEEDED(hres)) {
-        hres = ipShellLink->lpVtbl->GetPath(ipShellLink, szGotPath, MAXPATHLEN,
-                    (WIN32_FIND_DATA *)&wfd, 0 /* SLGP_SHORTPATH */ );
-        if (SUCCEEDED(hres)) {
-            resolvedPath = __MKSTRING(szGotPath);
-        } else {
+	hres = ipShellLink->lpVtbl->GetPath(ipShellLink, szGotPath, MAXPATHLEN,
+		    (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);  */
@@ -4713,10 +4726,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
     ].
 
     ^ self createHardLinkFrom:oldPath to:newPath
@@ -4748,19 +4761,19 @@
     DWORD access, share, create, attr;
 
     if (__isStringLike(pathName)) {
-        name = __stringVal(pathName);
+	name = __stringVal(pathName);
     } else if (__isUnicode16String(pathName)) {
-        _makeWchar(pathName, _wPathName, sizeof(_wPathName));
+	_makeWchar(pathName, _wPathName, sizeof(_wPathName));
     } 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);
@@ -4771,79 +4784,79 @@
     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
     if (flag_PROCESSDEBUGWIN32) {
-        console_fprintf(stderr, "name:<%s> access:%x share:%x create:%x attr:%x\n",
-                        name, access, share, create, attr);
+	console_fprintf(stderr, "name:<%s> access:%x share:%x create:%x attr:%x\n",
+			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
     ].
 !
 
@@ -4889,46 +4902,46 @@
 
     if (__isStringLike(fullPathName)) {
 #ifdef DO_WRAP_CALLS
-        {
-            char _aPathName[MAXPATHLEN];
-
-            strncpy(_aPathName, __stringVal(fullPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                ret = (int)(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;
+		// do not cast to INT - will loose sign bit then!
+		ret = (int)(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);
     } else if (__isUnicode16String(fullPathName)) {
 #ifdef DO_WRAP_CALLS
-        {
-            wchar_t _wPathName[MAXPATHLEN+1];
-
-            _makeWchar(fullPathName, _wPathName, sizeof(_wPathName));
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                ret = (int)(STX_API_NOINT_CALL1( "RemoveDirectoryW", RemoveDirectoryW, _wPathName));
-            } while ((ret < 0) && (__threadErrno == EINTR));
-        }
-#else
-        ret = RemoveDirectoryW((wchar_t *)__unicode16StringVal(fullPathName));
-        __threadErrno = __WIN32_ERR(GetLastError());
-#endif
-        if (ret != TRUE) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	{
+	    wchar_t _wPathName[MAXPATHLEN+1];
+
+	    _makeWchar(fullPathName, _wPathName, sizeof(_wPathName));
+	    do {
+		__threadErrno = 0;
+		// do not cast to INT - will loose sign bit then!
+		ret = (int)(STX_API_NOINT_CALL1( "RemoveDirectoryW", RemoveDirectoryW, _wPathName));
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+	}
+#else
+	ret = RemoveDirectoryW((wchar_t *)__unicode16StringVal(fullPathName));
+	__threadErrno = __WIN32_ERR(GetLastError());
+#endif
+	if (ret != TRUE) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 %}.
     "/
@@ -4952,47 +4965,47 @@
 
     if (__isStringLike(fullPathName)) {
 #ifdef DO_WRAP_CALLS
-        {
-            char _aPathName[MAXPATHLEN];
-
-            strncpy(_aPathName, __stringVal(fullPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                ret = (int)(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;
+		// do not cast to INT - will loose sign bit then!
+		ret = (int)(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];
-
-            _makeWchar(fullPathName, _wPathName, sizeof(_wPathName));
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                ret = (int)(STX_API_NOINT_CALL1( "DeleteFileW", DeleteFileW, _wPathName));
-            } while ((ret < 0) && (__threadErrno == EINTR));
-        }
-#else
-        ret = DeleteFileW((wchar_t *)__unicode16StringVal(fullPathName));
-        __threadErrno = __WIN32_ERR(GetLastError());
-#endif
-        if (ret != TRUE) {
-            @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-            RETURN (false);
-        }
-        RETURN (true);
+	{
+	    wchar_t _wPathName[MAXPATHLEN+1];
+
+	    _makeWchar(fullPathName, _wPathName, sizeof(_wPathName));
+	    do {
+		__threadErrno = 0;
+		// do not cast to INT - will loose sign bit then!
+		ret = (int)(STX_API_NOINT_CALL1( "DeleteFileW", DeleteFileW, _wPathName));
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+	}
+#else
+	ret = DeleteFileW((wchar_t *)__unicode16StringVal(fullPathName));
+	__threadErrno = __WIN32_ERR(GetLastError());
+#endif
+	if (ret != TRUE) {
+	    @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	    RETURN (false);
+	}
+	RETURN (true);
     }
 
 %}.
@@ -5012,57 +5025,57 @@
 
     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;
-            // do not cast to INT - will loose sign bit then!
-            ret = STX_API_NOINT_CALL2("MoveFileA", MoveFileA, _oldPath, _newPath);
-        } while ((ret == 0) && (__threadErrno == EINTR));
-#else
-        __BEGIN_INTERRUPTABLE__
-        do {
-            __threadErrno = 0;
-            ret = MoveFileA((char *) __stringVal(oldPath), (char *) __stringVal(newPath));
-        } while ((ret == 0) && (__threadErrno == EINTR));
-        __END_INTERRUPTABLE__
-
-        if (ret == 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
+	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;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = STX_API_NOINT_CALL2("MoveFileA", MoveFileA, _oldPath, _newPath);
+	} while ((ret == 0) && (__threadErrno == EINTR));
+#else
+	__BEGIN_INTERRUPTABLE__
+	do {
+	    __threadErrno = 0;
+	    ret = MoveFileA((char *) __stringVal(oldPath), (char *) __stringVal(newPath));
+	} while ((ret == 0) && (__threadErrno == EINTR));
+	__END_INTERRUPTABLE__
+
+	if (ret == 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
 #endif
     } else {
-        wchar_t _oldPathW[MAXPATHLEN], _newPathW[MAXPATHLEN];
-
-        if (_makeWchar(oldPath, _oldPathW, sizeof(_oldPathW)) < 0
-            || _makeWchar(newPath, _newPathW, sizeof(_newPathW)) < 0) {
-            goto err;
-        }
+	wchar_t _oldPathW[MAXPATHLEN], _newPathW[MAXPATHLEN];
+
+	if (_makeWchar(oldPath, _oldPathW, sizeof(_oldPathW)) < 0
+	    || _makeWchar(newPath, _newPathW, sizeof(_newPathW)) < 0) {
+	    goto err;
+	}
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = STX_API_NOINT_CALL2( "MoveFileW", MoveFileW, _oldPathW, _newPathW);
-        } while ((ret == 0) && (__threadErrno == EINTR));
-#else
-        __BEGIN_INTERRUPTABLE__
-        do {
-            __threadErrno = 0;
-            ret = MoveFileW(_oldPathW, _newPathW);
-        } while ((ret == 0) && (__threadErrno == EINTR));
-        __END_INTERRUPTABLE__
-        if (ret == 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-            RETURN(false);
-        }
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = STX_API_NOINT_CALL2( "MoveFileW", MoveFileW, _oldPathW, _newPathW);
+	} while ((ret == 0) && (__threadErrno == EINTR));
+#else
+	__BEGIN_INTERRUPTABLE__
+	do {
+	    __threadErrno = 0;
+	    ret = MoveFileW(_oldPathW, _newPathW);
+	} while ((ret == 0) && (__threadErrno == EINTR));
+	__END_INTERRUPTABLE__
+	if (ret == 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	    RETURN(false);
+	}
 #endif
     }
     if (ret == 0) {
-        @global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
-        RETURN (false);
+	@global(LastErrorNumber) = __mkSmallInteger(__threadErrno);
+	RETURN (false);
     }
     RETURN (true);
 
@@ -5124,43 +5137,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) );
     }
 
 %}.
@@ -5179,7 +5192,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
     "
 
@@ -5189,58 +5202,58 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            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;
+	    // do not cast to INT - will loose sign bit then!
+	    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) );
     } else if (__isUnicode16String(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _wPathName[MAXPATHLEN];
-
-        _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
-
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = STX_C_NOINT_CALL2( "_wstat", _wstat, _wPathName, &buf);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        __BEGIN_INTERRUPTABLE__
-        do {
-            __threadErrno = 0;
-            ret = _wstat((char *)__unicode16StringVal(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 _wPathName[MAXPATHLEN];
+
+	_makeWchar(aPathName, _wPathName, sizeof(_wPathName));
+
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = STX_C_NOINT_CALL2( "_wstat", _wstat, _wPathName, &buf);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	__BEGIN_INTERRUPTABLE__
+	do {
+	    __threadErrno = 0;
+	    ret = _wstat((char *)__unicode16StringVal(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
@@ -5261,7 +5274,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
     "
 
@@ -5271,39 +5284,39 @@
 
     if (__isSmallInteger(aFileDescriptor)) {
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = STX_C_NOINT_CALL2( "fstat", fstat, __smallIntegerVal(aFileDescriptor), &buf);
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        __BEGIN_INTERRUPTABLE__
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = fstat( __smallIntegerVal(aFileDescriptor), &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) );
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = STX_C_NOINT_CALL2( "fstat", fstat, __smallIntegerVal(aFileDescriptor), &buf);
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	__BEGIN_INTERRUPTABLE__
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = fstat( __smallIntegerVal(aFileDescriptor), &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
 
    "
     'c:\windows' asFilename readingFileDo:[:s|
-        (OperatingSystem accessModeOfFd:s fileDescriptor) printStringRadix:8.
+	(OperatingSystem accessModeOfFd:s fileDescriptor) printStringRadix:8.
     ].
     'Make.proto' asFilename readingFileDo:[:s|
-        (OperatingSystem accessModeOfFd:s fileDescriptor) printStringRadix:8.
+	(OperatingSystem accessModeOfFd:s fileDescriptor) printStringRadix:8.
     ].
     (OperatingSystem changeAccessModeOf:'Make.proto' to:8r644)
    "
@@ -5319,62 +5332,62 @@
     int ret;
 
     if (__isSmallInteger(modeBits)) {
-        if (__isStringLike(aPathName)) {
+	if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-            int _chmod();
-            char _aPathName[MAXPATHLEN];
-
-            strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                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 );
-
-        } else if (__isUnicode16String(aPathName)) {
+	    int _chmod();
+	    char _aPathName[MAXPATHLEN];
+
+	    strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	    do {
+		__threadErrno = 0;
+		// do not cast to INT - will loose sign bit then!
+		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 );
+
+	} else if (__isUnicode16String(aPathName)) {
 #ifdef DO_WRAP_CALLS
-            int _wchmod();
-            char _wPathName[MAXPATHLEN];
-
-            _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                ret = STX_C_NOINT_CALL2( "_wchmod", _wchmod, _wPathName, __intVal(modeBits));
-            } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-            __BEGIN_INTERRUPTABLE__
-            do {
-                __threadErrno = 0;
-                ret = _chmod((wchar_t *)__unicode16StringVal(fullPathName), __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 _wchmod();
+	    char _wPathName[MAXPATHLEN];
+
+	    _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
+	    do {
+		__threadErrno = 0;
+		// do not cast to INT - will loose sign bit then!
+		ret = STX_C_NOINT_CALL2( "_wchmod", _wchmod, _wPathName, __intVal(modeBits));
+	    } while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	    __BEGIN_INTERRUPTABLE__
+	    do {
+		__threadErrno = 0;
+		ret = _chmod((wchar_t *)__unicode16StringVal(fullPathName), __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:#argumentError
@@ -5408,14 +5421,14 @@
 
     if (__isExternalAddressLike(openFilenameStructureExternalAddress)
      || __isExternalBytesLike(openFilenameStructureExternalAddress)){
-        __address = __externalAddressVal(openFilenameStructureExternalAddress);
-        __rslt = __STX_API_CALL1( "GetOpenFileNameA", (void *)GetOpenFileNameA, __address);
-
-        if (__rslt == TRUE) {
-            rslt = true;
-        } else {
-            rslt = false;
-        }
+	__address = __externalAddressVal(openFilenameStructureExternalAddress);
+	__rslt = __STX_API_CALL1( "GetOpenFileNameA", (void *)GetOpenFileNameA, __address);
+
+	if (__rslt == TRUE) {
+	    rslt = true;
+	} else {
+	    rslt = false;
+	}
     }
 %}.
     rslt isNil ifTrue:[ self primitiveFailed ].
@@ -5438,14 +5451,14 @@
 
     if (__isExternalAddressLike(openFilenameStructureExternalAddress)
      || __isExternalBytesLike(openFilenameStructureExternalAddress)){
-        __address = __externalAddressVal(openFilenameStructureExternalAddress);
-        __rslt = __STX_API_CALL1( "GetSaveFileName", (void *)GetSaveFileName, __address);
-
-        if (__rslt == TRUE) {
-            rslt = true;
-        } else {
-            rslt = false;
-        }
+	__address = __externalAddressVal(openFilenameStructureExternalAddress);
+	__rslt = __STX_API_CALL1( "GetSaveFileName", (void *)GetSaveFileName, __address);
+
+	if (__rslt == TRUE) {
+	    rslt = true;
+	} else {
+	    rslt = false;
+	}
     }
 %}.
     rslt isNil ifTrue:[ self primitiveFailed ].
@@ -5471,7 +5484,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
 
@@ -5487,27 +5500,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.
     ].
 
     "
@@ -5516,14 +5529,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:'.\..'
@@ -5568,50 +5581,50 @@
     DWORD binaryType;
 
     if (__isStringLike(aPathName)) {
-        ok = GetBinaryTypeA(__stringVal(aPathName), &binaryType);
+	ok = GetBinaryTypeA(__stringVal(aPathName), &binaryType);
     } else if (__isUnicode16String(aPathName)) {
-        ok = GetBinaryTypeW(__unicode16StringVal(aPathName), &binaryType);
+	ok = GetBinaryTypeW(__unicode16StringVal(aPathName), &binaryType);
     } else {
-        goto badArgument;
+	goto badArgument;
     }
 
     if (ok) {
-        OBJ typeSymbol = nil;
-
-        switch (binaryType) {
-            case SCS_32BIT_BINARY:
-                // A 32bit Windows-based application
-                typeSymbol = @symbol(BINARY_32BIT);
-                break;
-            case SCS_64BIT_BINARY:
-                // A 64bit Windows-based application.
-                typeSymbol = @symbol(BINARY_64BIT);
-                break;
-            case SCS_DOS_BINARY:
-                // An MSDOS based application
-                typeSymbol = @symbol(BINARY_DOS);
-                break;
-            case SCS_OS216_BINARY:
-                // A 16bit OS/2-based application
-                typeSymbol = @symbol(BINARY_OS2_16BIT);
-                break;
-            case SCS_PIF_BINARY:
-                // A PIF file that executes an MS-DOS – based application
-                typeSymbol = @symbol(BINARY_PIF);
-                break;
-            case SCS_POSIX_BINARY:
-                // A POSIX based application
-                typeSymbol = @symbol(BINARY_POSIX);
-                break;
-            case SCS_WOW_BINARY:
-                // A 16-bit Windows-based application
-                typeSymbol = @symbol(BINARY_WOW16);
-                break;
-            default:
-                typeSymbol = @symbol(other);
-                break;
-        }
-        RETURN (typeSymbol);
+	OBJ typeSymbol = nil;
+
+	switch (binaryType) {
+	    case SCS_32BIT_BINARY:
+		// A 32bit Windows-based application
+		typeSymbol = @symbol(BINARY_32BIT);
+		break;
+	    case SCS_64BIT_BINARY:
+		// A 64bit Windows-based application.
+		typeSymbol = @symbol(BINARY_64BIT);
+		break;
+	    case SCS_DOS_BINARY:
+		// An MSDOS based application
+		typeSymbol = @symbol(BINARY_DOS);
+		break;
+	    case SCS_OS216_BINARY:
+		// A 16bit OS/2-based application
+		typeSymbol = @symbol(BINARY_OS2_16BIT);
+		break;
+	    case SCS_PIF_BINARY:
+		// A PIF file that executes an MS-DOS – based application
+		typeSymbol = @symbol(BINARY_PIF);
+		break;
+	    case SCS_POSIX_BINARY:
+		// A POSIX based application
+		typeSymbol = @symbol(BINARY_POSIX);
+		break;
+	    case SCS_WOW_BINARY:
+		// A 16-bit Windows-based application
+		typeSymbol = @symbol(BINARY_WOW16);
+		break;
+	    default:
+		typeSymbol = @symbol(other);
+		break;
+	}
+	RETURN (typeSymbol);
     }
     RETURN (nil);
 
@@ -5629,7 +5642,7 @@
 
     ret = GetCurrentDirectoryW(MAXPATHLEN, _aPathName);
     if (ret == 0) {
-        __threadErrno = __WIN32_ERR(GetLastError());
+	__threadErrno = __WIN32_ERR(GetLastError());
     }
     RETURN(__mkStringOrU16String_maxlen(_aPathName, MAXPATHLEN));
 %}.
@@ -5641,8 +5654,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
@@ -5650,11 +5663,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;
@@ -5662,62 +5675,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.
@@ -5727,14 +5740,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
 
@@ -5776,13 +5789,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."
 
 %{
@@ -5791,18 +5804,18 @@
 
     if (_makeWchar(aPathName, _aPathName, sizeof(_aPathName)) > 0) {
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = (int)(STX_API_NOINT_CALL1( "GetDriveTypeW", GetDriveTypeW, _aPathName));
-        } while ((ret < 0) && (__threadErrno == EINTR));
-#else
-        ret = GetDriveTypeW(_aPathName);
-        if (ret < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
-#endif
-        RETURN (__MKSMALLINT(ret));
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = (int)(STX_API_NOINT_CALL1( "GetDriveTypeW", GetDriveTypeW, _aPathName));
+	} while ((ret < 0) && (__threadErrno == EINTR));
+#else
+	ret = GetDriveTypeW(_aPathName);
+	if (ret < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
+#endif
+	RETURN (__MKSMALLINT(ret));
     }
 %}.
     ^ self primitiveFailed
@@ -5825,24 +5838,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: ;
@@ -5861,18 +5874,18 @@
 
     if (_makeWchar(aPathName, _aPathName, sizeof(_aPathName)) > 0) {
 #ifdef DO_WRAP_CALLS
-         do {
-             __threadErrno = 0;
-             // do not cast to INT - will loose sign bit then!
-             ret = (int)(STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW, _aPathName, _aPathName, MAXPATHLEN));
-         } while ((ret == 0) && (__threadErrno == EINTR));
-#else
-         ret = GetLongPathNameW(_aPathName, _aPathName, MAXPATHLEN);
-         if (ret == 0) {
-             __threadErrno = __WIN32_ERR(GetLastError());
-         }
-#endif
-         RETURN (__mkStringOrU16String_maxlen(_aPathName, MAXPATHLEN));
+	 do {
+	     __threadErrno = 0;
+	     // do not cast to INT - will loose sign bit then!
+	     ret = (int)(STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW, _aPathName, _aPathName, MAXPATHLEN));
+	 } while ((ret == 0) && (__threadErrno == EINTR));
+#else
+	 ret = GetLongPathNameW(_aPathName, _aPathName, MAXPATHLEN);
+	 if (ret == 0) {
+	     __threadErrno = __WIN32_ERR(GetLastError());
+	 }
+#endif
+	 RETURN (__mkStringOrU16String_maxlen(_aPathName, MAXPATHLEN));
     }
 %}.
     ^ self primitiveFailed
@@ -5897,9 +5910,9 @@
 
      The info object returned is OS-specific, however it responds to at
      least
-        #isFor32BitArchitecture
-        #isFor64BitArchitecture ... returns true, if the given object is for
-                                     32bit, 64bit architecture respectively
+	#isFor32BitArchitecture
+	#isFor64BitArchitecture ... returns true, if the given object is for
+				     32bit, 64bit architecture respectively
     "
     ^ PECOFFFileHeader fromFile: aStringOrFilename
 
@@ -5915,18 +5928,18 @@
 
     if (_makeWchar(aPathName, _aPathName, sizeof(_aPathName)) > 0) {
 #ifdef DO_WRAP_CALLS
-         do {
-             __threadErrno = 0;
-             // do not cast to INT - will loose sign bit then!
-             ret = (int)(STX_API_NOINT_CALL3( "GetShortPathNameW", GetShortPathNameW, _aPathName, _aPathName, MAXPATHLEN));
-         } while ((ret == 0) && (__threadErrno == EINTR));
-#else
-         ret = GetShortPathNameW(_aPathName, _aPathName, MAXPATHLEN);
-         if (ret == 0) {
-             __threadErrno = __WIN32_ERR(GetLastError());
-         }
-#endif
-         RETURN (__mkStringOrU16String_maxlen(_aPathName, MAXPATHLEN));
+	 do {
+	     __threadErrno = 0;
+	     // do not cast to INT - will loose sign bit then!
+	     ret = (int)(STX_API_NOINT_CALL3( "GetShortPathNameW", GetShortPathNameW, _aPathName, _aPathName, MAXPATHLEN));
+	 } while ((ret == 0) && (__threadErrno == EINTR));
+#else
+	 ret = GetShortPathNameW(_aPathName, _aPathName, MAXPATHLEN);
+	 if (ret == 0) {
+	     __threadErrno = __WIN32_ERR(GetLastError());
+	 }
+#endif
+	 RETURN (__mkStringOrU16String_maxlen(_aPathName, MAXPATHLEN));
      }
 %}.
     ^ self primitiveFailed
@@ -5955,16 +5968,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.
@@ -5978,10 +5991,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
 
@@ -6006,42 +6019,42 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = (int)(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;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = (int)(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];
-
-        _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
+	wchar_t _wPathName[MAXPATHLEN+1];
+
+	_makeWchar(aPathName, _wPathName, sizeof(_wPathName));
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = (int)(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;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = (int)(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:;
@@ -6049,7 +6062,7 @@
     ^ self primitiveFailed
 
     "an alternative implementation would be:
-        ^ (self infoOf:aPathName) type == #directory
+	^ (self infoOf:aPathName) type == #directory
     "
     "
      self isDirectory:'.'
@@ -6137,8 +6150,8 @@
 
     attr := self primGetFileAttributes:aPathName.
     attr notNil ifTrue:[
-        ^ (attr bitAnd: (FILE_ATTRIBUTE_DIRECTORY bitOr: FILE_ATTRIBUTE_READONLY ))
-            ~~ FILE_ATTRIBUTE_READONLY
+	^ (attr bitAnd: (FILE_ATTRIBUTE_DIRECTORY bitOr: FILE_ATTRIBUTE_READONLY ))
+	    ~~ FILE_ATTRIBUTE_READONLY
     ].
     ^ false
 
@@ -6153,16 +6166,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.
@@ -6189,28 +6202,28 @@
     wchar_t _wPathName[MAXPATHLEN+1];
 
     if (_makeWchar(aPathName, _wPathName, sizeof(_wPathName)) < 0)
-        goto badArgument;
+	goto badArgument;
 
 #ifdef DO_WRAP_CALLS
     {
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            result = (int)(STX_API_NOINT_CALL3( "GetFileAttributesExW", GetFileAttributesExW, _wPathName, GetFileExInfoStandard, &fileAttributeData));
-        } while (!result && (__threadErrno == EINTR));
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    result = (int)(STX_API_NOINT_CALL3( "GetFileAttributesExW", GetFileAttributesExW, _wPathName, GetFileExInfoStandard, &fileAttributeData));
+	} while (!result && (__threadErrno == EINTR));
     }
 #else
     result = GetFileAttributesExW(_wPathName, 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, MAXPATHLEN*sizeof(wchar_t));
@@ -6224,79 +6237,79 @@
 //            alternativeName = __mkStringOrU16String_maxlen(alternativeFileNameBuffer, 14); /* 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 = FileTimeToOsTime1970(&fileAttributeData.ftCreationTime);
-        aOsTime = FileTimeToOsTime1970(&fileAttributeData.ftLastAccessTime);
-        mOsTime = FileTimeToOsTime1970(&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 = FileTimeToOsTime1970(&fileAttributeData.ftCreationTime);
+	aOsTime = FileTimeToOsTime1970(&fileAttributeData.ftLastAccessTime);
+	mOsTime = FileTimeToOsTime1970(&fileAttributeData.ftLastWriteTime);
     }
 
   badArgument: ;
 %}.
 
     (aPathName endsWith:'.lnk') ifTrue:[
-        type := #symbolicLink.
-        "/ now done lazily in FileStatusInfo, when the path is accessed
-        "/ path := self getLinkTarget:aPathName.
+	type := #symbolicLink.
+	"/ now done lazily 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:[
-            "/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
-            "/ aOsTime := aOsTime - self osTimeOf19700101. -- already done
-            atime := Timestamp new fromOSTime:aOsTime.
-        ].
-        mtime isNil ifTrue:[
-            "/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
-            "/ mOsTime := mOsTime - self osTimeOf19700101. -- already done
-            mtime := Timestamp new fromOSTime:mOsTime.
-        ].
-        ctime isNil ifTrue:[
-            "/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
-            "/ cOsTime := cOsTime - self osTimeOf19700101. -- already done
-            ctime := Timestamp new fromOSTime:cOsTime.
-        ].
-
-        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:[
+	    "/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
+	    "/ aOsTime := aOsTime - self osTimeOf19700101. -- already done
+	    atime := Timestamp new fromOSTime:aOsTime.
+	].
+	mtime isNil ifTrue:[
+	    "/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
+	    "/ mOsTime := mOsTime - self osTimeOf19700101. -- already done
+	    mtime := Timestamp new fromOSTime:mOsTime.
+	].
+	ctime isNil ifTrue:[
+	    "/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
+	    "/ cOsTime := cOsTime - self osTimeOf19700101. -- already done
+	    ctime := Timestamp new fromOSTime:cOsTime.
+	].
+
+	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
 
@@ -6317,8 +6330,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'
@@ -6351,20 +6364,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 copyButLast: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 copyButLast:1.
+	    ].
+	    ^ p
+	].
+
+	"/
+	"/ return the original - there is nothing else can we do
+	"/
+	path := self compressPath:pathName
     ].
     ^ path.
 
@@ -6393,54 +6406,54 @@
 
     if (__isStringLike(aPathName)) {
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = (int)(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;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = (int)(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];
-
-        _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
+	wchar_t _wPathName[MAXPATHLEN+1];
+
+	_makeWchar(aPathName, _wPathName, sizeof(_wPathName));
 
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = (int)(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;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = (int)(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);
     }
 %}.
     (aPathName isString and:[aPathName isUnicode32String]) ifTrue:[
-        "/ WIN32 only support 16 bit (wide) strings
-        ^ self primGetFileAttributes:aPathName asUnicode16String
+	"/ WIN32 only support 16 bit (wide) strings
+	^ self primGetFileAttributes:aPathName asUnicode16String
     ].
 
     ^ self primitiveFailed
@@ -6472,86 +6485,86 @@
 
 %{
     if (__isStringLike(aPathName)) {
-        char nameBuffer[MAXPATHLEN + 1];
-        char nameBuffer2[MAXPATHLEN + 1];
-        char *returnedName = NULL;
-        int rslt;
+	char nameBuffer[MAXPATHLEN + 1];
+	char nameBuffer2[MAXPATHLEN + 1];
+	char *returnedName = NULL;
+	int rslt;
 
 #ifdef DO_WRAP_CALLS
-        char _aPathName[MAXPATHLEN+1];
-
-        strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            rslt = (int)(STX_API_NOINT_CALL4( "GetFullPathNameA", GetFullPathNameA, _aPathName, MAXPATHLEN, nameBuffer, NULL));
-        } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-        rslt = GetFullPathNameA(__stringVal(aPathName), MAXPATHLEN, nameBuffer, NULL);
-#endif
-        returnedName = nameBuffer;
-
-        if (rslt > 0) {
+	char _aPathName[MAXPATHLEN+1];
+
+	strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    rslt = (int)(STX_API_NOINT_CALL4( "GetFullPathNameA", GetFullPathNameA, _aPathName, MAXPATHLEN, nameBuffer, NULL));
+	} while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+	rslt = GetFullPathNameA(__stringVal(aPathName), MAXPATHLEN, nameBuffer, NULL);
+#endif
+	returnedName = nameBuffer;
+
+	if (rslt > 0) {
 #ifdef DO_WRAP_CALLS
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                rslt = (int)(STX_API_NOINT_CALL3( "GetLongPathNameA", GetLongPathNameA, nameBuffer, nameBuffer2, MAXPATHLEN));
-            } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-            rslt = GetLongPathNameA(nameBuffer, nameBuffer2, MAXPATHLEN);
-#endif
-            returnedName = nameBuffer2;
-        }
-        if (rslt > 0) {
-            RETURN ( __MKSTRING(returnedName) );
-        }
-        __threadErrno = __WIN32_ERR(GetLastError());
-        RETURN (nil);
+	    do {
+		__threadErrno = 0;
+		// do not cast to INT - will loose sign bit then!
+		rslt = (int)(STX_API_NOINT_CALL3( "GetLongPathNameA", GetLongPathNameA, nameBuffer, nameBuffer2, MAXPATHLEN));
+	    } while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+	    rslt = GetLongPathNameA(nameBuffer, nameBuffer2, MAXPATHLEN);
+#endif
+	    returnedName = nameBuffer2;
+	}
+	if (rslt > 0) {
+	    RETURN ( __MKSTRING(returnedName) );
+	}
+	__threadErrno = __WIN32_ERR(GetLastError());
+	RETURN (nil);
     }
     if (__isUnicode16String(aPathName)) {
-        wchar_t nameBuffer[MAXPATHLEN + 1];
-        wchar_t nameBuffer2[MAXPATHLEN + 1];
-        wchar_t *returnedName = NULL;
-        int rslt;
-        wchar_t _wPathName[MAXPATHLEN+1];
-
-        _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
+	wchar_t nameBuffer[MAXPATHLEN + 1];
+	wchar_t nameBuffer2[MAXPATHLEN + 1];
+	wchar_t *returnedName = NULL;
+	int rslt;
+	wchar_t _wPathName[MAXPATHLEN+1];
+
+	_makeWchar(aPathName, _wPathName, sizeof(_wPathName));
 
 #ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            rslt = (int)(STX_API_NOINT_CALL4( "GetFullPathNameW", GetFullPathNameW, _wPathName, MAXPATHLEN, nameBuffer, NULL));
-        } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-        rslt = GetFullPathNameW(_wPathName, MAXPATHLEN, nameBuffer, NULL);
-#endif
-
-        returnedName = nameBuffer;
-
-        if (rslt > 0) {
+	do {
+	    __threadErrno = 0;
+	    rslt = (int)(STX_API_NOINT_CALL4( "GetFullPathNameW", GetFullPathNameW, _wPathName, MAXPATHLEN, nameBuffer, NULL));
+	} while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+	rslt = GetFullPathNameW(_wPathName, MAXPATHLEN, nameBuffer, NULL);
+#endif
+
+	returnedName = nameBuffer;
+
+	if (rslt > 0) {
 
 #ifdef DO_WRAP_CALLS
-            do {
-                __threadErrno = 0;
-                rslt = (int)(STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW, nameBuffer, nameBuffer2, MAXPATHLEN));
-            } while ((rslt < 0) && (__threadErrno == EINTR));
-#else
-            rslt = GetLongPathNameW(nameBuffer, nameBuffer2, MAXPATHLEN);
-#endif
-            returnedName = nameBuffer2;
-        }
-        if (rslt > 0) {
-            RETURN (__mkStringOrU16String_maxlen(returnedName, MAXPATHLEN));
-        }
-        __threadErrno = __WIN32_ERR(GetLastError());
-        RETURN (nil);
+	    do {
+		__threadErrno = 0;
+		rslt = (int)(STX_API_NOINT_CALL3( "GetLongPathNameW", GetLongPathNameW, nameBuffer, nameBuffer2, MAXPATHLEN));
+	    } while ((rslt < 0) && (__threadErrno == EINTR));
+#else
+	    rslt = GetLongPathNameW(nameBuffer, nameBuffer2, MAXPATHLEN);
+#endif
+	    returnedName = nameBuffer2;
+	}
+	if (rslt > 0) {
+	    RETURN (__mkStringOrU16String_maxlen(returnedName, MAXPATHLEN));
+	}
+	__threadErrno = __WIN32_ERR(GetLastError());
+	RETURN (nil);
     }
     error = @symbol(argument);     // argument is not a string or unicode16string
 %}.
 
     error notNil ifTrue:[
-        self primitiveFailed:error.
+	self primitiveFailed:error.
     ].
     ^ nil
 
@@ -6589,51 +6602,51 @@
     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;
-                // do not cast to INT - will loose sign bit then!
-                ret = (int)(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];
-
-            _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
+	    char _aPathName[MAXPATHLEN];
+
+	    strncpy(_aPathName, __stringVal(aPathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+	    do {
+		__threadErrno = 0;
+		// do not cast to INT - will loose sign bit then!
+		ret = (int)(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];
+
+	    _makeWchar(aPathName, _wPathName, sizeof(_wPathName));
 #ifdef DO_WRAP_CALLS
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                ret = (int)(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;
+		// do not cast to INT - will loose sign bit then!
+		ret = (int)(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
@@ -6641,9 +6654,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
     ].
 
     "
@@ -6661,7 +6674,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
 
@@ -6676,7 +6689,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
 !
@@ -6688,7 +6701,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
 !
@@ -6698,7 +6711,7 @@
      For nonexistent files, nil is returned."
 
     "could be implemented as:
-        (self infoOf:aPathName) accessed
+	(self infoOf:aPathName) accessed
     "
     | i|
 
@@ -6716,7 +6729,7 @@
      For nonexistent files, nil is returned."
 
     "could be implemented as:
-        (self infoOf:aPathName) modified
+	(self infoOf:aPathName) modified
     "
 
     | i|
@@ -6739,7 +6752,7 @@
 
     "
      this could have been implemented as:
-        (self infoOf:aPathName) type
+	(self infoOf:aPathName) type
     "
 
     i := self infoOf:aPathName.
@@ -6756,31 +6769,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:\'
 
     "
 !
@@ -6793,7 +6806,7 @@
 
     aPathString size < 2 ifTrue:[^ ''].
     (aPathString at:2) == $: ifTrue:[
-        ^ (aPathString at:1) asString.
+	^ (aPathString at:1) asString.
     ].
     ^ ''
 ! !
@@ -6810,11 +6823,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
@@ -6871,8 +6884,8 @@
 
 %{
     while(1) {
-        console_printf("blocking...");
-        Sleep(50);
+	console_printf("blocking...");
+	Sleep(50);
     }
 %}.
     "
@@ -6886,8 +6899,8 @@
 
 %{
     while(1) {
-        console_printf("blocking...");
-        STX_API_CALL1("Sleep", Sleep, 50);
+	console_printf("blocking...");
+	STX_API_CALL1("Sleep", Sleep, 50);
     }
 %}.
     "
@@ -6904,8 +6917,8 @@
     int ret;
 
     do {
-        // do not cast to INT - will loose sign bit then!
-        ret = (int)(STX_API_NOINT_CALL1("Sleep", Sleep, 60000));
+	// do not cast to INT - will loose sign bit then!
+	ret = (int)(STX_API_NOINT_CALL1("Sleep", Sleep, 60000));
     } while (ret < 0 && __threadErrno == EINTR);
 %}.
     "
@@ -6922,8 +6935,8 @@
     int ret;
 
     do {
-        // do not cast to INT - will loose sign bit then!
-        ret = STX_API_CALL1("Sleep", Sleep, 60000);
+	// do not cast to INT - will loose sign bit then!
+	ret = STX_API_CALL1("Sleep", Sleep, 60000);
     } while (ret < 0 && __threadErrno == EINTR);
 %}.
     "
@@ -6945,8 +6958,8 @@
 
     if (__isSmallInteger(signalNumber)) {
 #ifdef SIG_DFL
-        signal(__intVal(signalNumber), SIG_DFL);
-        RETURN (self);
+	signal(__intVal(signalNumber), SIG_DFL);
+	RETURN (self);
 #endif
     }
 %}.
@@ -6989,14 +7002,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
     }
 %}.
@@ -7017,8 +7030,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 */
 
@@ -7141,121 +7154,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);
     }
 %}.
 
@@ -7273,8 +7286,8 @@
     extern void __win32SetTimer();
 
     if (__isSmallInteger(milliSeconds)) {
-        __win32SetTimer( __intVal(milliSeconds) );
-        RETURN (true);
+	__win32SetTimer( __intVal(milliSeconds) );
+	RETURN (true);
     }
 %}.
     ^ false
@@ -7294,8 +7307,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
 !
@@ -7305,8 +7318,8 @@
      The process(es) terminate 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 terminateProcessGroup:processGroupId
 !
@@ -7355,9 +7368,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)
@@ -7373,9 +7386,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)
@@ -7388,15 +7401,15 @@
     "terminate a process.
 
      ATTENTION 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 a WM_QUIT instead, to allow for proper shutdown."
 
@@ -7407,34 +7420,34 @@
     "terminate a process.
 
      ATTENTION 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 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.
@@ -7448,15 +7461,15 @@
     "terminate a process group (that is all subprocesses of a process).
 
      ATTENTION 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 a WM_QUIT instead, to allow for proper shutdown."
 
     | pid list groupsToTerminate anyMore |
@@ -7465,9 +7478,9 @@
     list size == 0 ifTrue:[^ self ].
 
     processGroupHandleOrPid isInteger ifTrue:[
-        pid := processGroupHandleOrPid
+	pid := processGroupHandleOrPid
     ] ifFalse:[
-        pid := processGroupHandleOrPid pid.
+	pid := processGroupHandleOrPid pid.
     ].
     groupsToTerminate := Set with:pid.
     list := list asSet.
@@ -7475,21 +7488,21 @@
     "/ Transcript show:'terminate group '; showCR:pid.
     anyMore := true.
     [anyMore] whileTrue:[
-        anyMore := false.
-        list doWithExit:[:anOSProcess :exit |
-            |pid|
-
-            (groupsToTerminate includes:anOSProcess parentPid) ifTrue:[
-                pid := anOSProcess pid.
-                groupsToTerminate add:pid.
-                "/ Transcript show:'terminate '; showCR:pid.
-                self terminateProcess:( pid ).
-                list remove:anOSProcess.
-                anyMore := true.
-                "/ need to restart: we have removed an element inside the loop
-                exit value:nil
-            ].
-        ].
+	anyMore := false.
+	list doWithExit:[:anOSProcess :exit |
+	    |pid|
+
+	    (groupsToTerminate includes:anOSProcess parentPid) ifTrue:[
+		pid := anOSProcess pid.
+		groupsToTerminate add:pid.
+		"/ Transcript show:'terminate '; showCR:pid.
+		self terminateProcess:( pid ).
+		list remove:anOSProcess.
+		anyMore := true.
+		"/ need to restart: we have removed an element inside the loop
+		exit value:nil
+	    ].
+	].
     ].
 ! !
 
@@ -7516,8 +7529,8 @@
     sa.bInheritHandle = FALSE;
 
     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
@@ -7529,8 +7542,8 @@
      */
 # ifdef PROCESSDEBUGWIN32
     if (flag_PROCESSDEBUGWIN32) {
-        console_printf("piperead %x\n",pipeRead);
-        console_printf("pipewrite %x\n",pipeWrite);
+	console_printf("piperead %x\n",pipeRead);
+	console_printf("pipewrite %x\n",pipeWrite);
     }
 # endif
     fd1 = __mkSmallInteger(_open_osfhandle(pipeRead, O_BINARY));
@@ -7539,9 +7552,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
@@ -7553,17 +7566,17 @@
     "free pid resource"
 %{
     if (__isExternalAddressLike(pid) ) {
-        HANDLE __pid = _HANDLEVal(pid);
-
-        if (__pid != 0) {
+	HANDLE __pid = _HANDLEVal(pid);
+
+	if (__pid != 0) {
 #ifdef PROCESSDEBUGWIN32
-            if (flag_PROCESSDEBUGWIN32) {
-                console_printf("Close ProcessHandle %x\n", __pid);
-            }
-#endif
-            CloseHandle(__pid);
-            _SETHANDLEVal(pid, 0);
-        }
+	    if (flag_PROCESSDEBUGWIN32) {
+		console_printf("Close ProcessHandle %x\n", __pid);
+	    }
+#endif
+	    CloseHandle(__pid);
+	    _SETHANDLEVal(pid, 0);
+	}
     }
 %}.
     ^ true.
@@ -7578,18 +7591,18 @@
     spaceForTargetHandle := ExternalLong unprotectedNew.
     hMe := self getCurrentProcess.
     rslt := self
-                primDuplicateHandle_hSourcProcessHandle:hMe
-                hSourceHandle:aHandle
-                hTargetProcesshandle:targetProcessHandle ? hMe
-                lpTargetHandle:spaceForTargetHandle
-                dwDesiredAccess:0
-                bInheritHandle:false
-                dwOptions:2 "DUPLICATE_SAME_ACCESS".
+		primDuplicateHandle_hSourcProcessHandle:hMe
+		hSourceHandle:aHandle
+		hTargetProcesshandle:targetProcessHandle ? hMe
+		lpTargetHandle:spaceForTargetHandle
+		dwDesiredAccess:0
+		bInheritHandle:false
+		dwOptions:2 "DUPLICATE_SAME_ACCESS".
 
     rslt ifFalse:[
-        spaceForTargetHandle free.
-        self primitiveFailed:self primGetLastError.
-        ^ nil
+	spaceForTargetHandle free.
+	self primitiveFailed:self primGetLastError.
+	^ nil
     ].
 
     addr := spaceForTargetHandle value.
@@ -7615,20 +7628,20 @@
     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);
-            f = __MKSTRING(pe32.szExeFile);
-            __SSEND1(st_perProc, @symbol(commandLine:), 0, f );
-            __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 );
+	pe32.dwSize = sizeof(PROCESSENTRY32);
+	Process32First( hProcessSnap, & pe32 );
+
+	do {
+	    st_perProc = __SSEND0(@global(OSProcess), @symbol(new), 0);
+	    f = __MKSTRING(pe32.szExeFile);
+	    __SSEND1(st_perProc, @symbol(commandLine:), 0, f );
+	    __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 */
@@ -7649,8 +7662,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"
 !
@@ -7668,40 +7681,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);
@@ -7726,49 +7739,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);
@@ -7798,7 +7811,7 @@
 
     newHandle := self duplicateHandle:anExternalAddress to:nil.
     newHandle isNil ifTrue:[
-        ^ false.
+	^ false.
     ].
 "/    self closeHandle:newHandle.
     ^ true.
@@ -7815,7 +7828,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"
@@ -7833,8 +7846,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"
@@ -7869,7 +7882,7 @@
     "/ <apicall: dword "GetLastError" () module: "kernel32.dll" >
 
     "
-        self primGetLastError
+	self primGetLastError
     "
 !
 
@@ -7878,8 +7891,8 @@
 
 %{  /* NOCONTEXT */
     if (__isSmallInteger(i)) {
-        SetLastError(__intVal(i));
-        RETURN(self);
+	SetLastError(__intVal(i));
+	RETURN(self);
     }
 %}.
    "/ <apicall: void "SetLastError" (dword) module: "kernel32.dll" >
@@ -7896,10 +7909,10 @@
      && __isString(keyName)
      && __isString(profString)
      && __isString(fnString)) {
-        BOOL ret;
-
-        ret = WritePrivateProfileStringA(__stringVal(appName), __stringVal(keyName), __stringVal(profString), __stringVal(fnString));
-        RETURN( ret == 0 ? false : true);
+	BOOL ret;
+
+	ret = WritePrivateProfileStringA(__stringVal(appName), __stringVal(keyName), __stringVal(profString), __stringVal(fnString));
+	RETURN( ret == 0 ? false : true);
     }
 %}.
 
@@ -7959,8 +7972,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"
 !
@@ -7996,25 +8009,25 @@
 %{
     if (__isString(lpName)
      && ((bInitialOwner == true) || (bInitialOwner == false))) {
-        void *c_descr = NULL;
-        char *c_name;
-        HANDLE c_handle;
-
-        c_name = __stringVal(lpName);
-
-        if (lpSecurityDescriptor != nil) {
-            if (__isExternalAddressLike(lpSecurityDescriptor)
-             || __isExternalBytesLike(lpSecurityDescriptor) ) {
-                c_descr = __externalAddressVal(lpSecurityDescriptor);
-            } else
-                goto badArg;
-        }
-        c_handle = CreateMutexA(c_descr, bInitialOwner == true, c_name);
-        if (c_handle == NULL) {
-            RETURN(nil);
-        }
-        __externalAddressVal(handle) = c_handle;
-        RETURN(handle);
+	void *c_descr = NULL;
+	char *c_name;
+	HANDLE c_handle;
+
+	c_name = __stringVal(lpName);
+
+	if (lpSecurityDescriptor != nil) {
+	    if (__isExternalAddressLike(lpSecurityDescriptor)
+	     || __isExternalBytesLike(lpSecurityDescriptor) ) {
+		c_descr = __externalAddressVal(lpSecurityDescriptor);
+	    } else
+		goto badArg;
+	}
+	c_handle = CreateMutexA(c_descr, bInitialOwner == true, c_name);
+	if (c_handle == NULL) {
+	    RETURN(nil);
+	}
+	__externalAddressVal(handle) = c_handle;
+	RETURN(handle);
     }
     badArg: ;
 %}.
@@ -8035,25 +8048,25 @@
 %{
     if (__isString(lpName)
      && ((bInitialOwner == true) || (bInitialOwner == false))) {
-        DWORD c_dwDesiredAccess = 0;
-        char *c_name;
-        BOOL c_initialOwner = (bInitialOwner == true);
-        HANDLE c_handle;
-
-        c_name = __stringVal(lpName);
-
-        if (dwDesiredAccess != nil) {
-            if (! __isSmallInteger(dwDesiredAccess)) {
-                goto badArg;
-            }
-            c_dwDesiredAccess = __intVal(dwDesiredAccess);
-        }
-        c_handle = OpenMutexA(c_dwDesiredAccess, c_initialOwner, c_name);
-        if (c_handle == NULL) {
-            RETURN(nil);
-        }
-        __externalAddressVal(handle) = c_handle;
-        RETURN(handle);
+	DWORD c_dwDesiredAccess = 0;
+	char *c_name;
+	BOOL c_initialOwner = (bInitialOwner == true);
+	HANDLE c_handle;
+
+	c_name = __stringVal(lpName);
+
+	if (dwDesiredAccess != nil) {
+	    if (! __isSmallInteger(dwDesiredAccess)) {
+		goto badArg;
+	    }
+	    c_dwDesiredAccess = __intVal(dwDesiredAccess);
+	}
+	c_handle = OpenMutexA(c_dwDesiredAccess, c_initialOwner, c_name);
+	if (c_handle == NULL) {
+	    RETURN(nil);
+	}
+	__externalAddressVal(handle) = c_handle;
+	RETURN(handle);
     }
     badArg: ;
 %}.
@@ -8069,11 +8082,11 @@
 %{
     if (__isExternalAddressLike(hMutex)
      || __isExternalBytesLike(hMutex) ) {
-        HANDLE _handle = _HANDLEVal(hMutex);
-        BOOL _ret;
-
-        _ret = ReleaseMutex(_handle);
-        RETURN(_ret == 0 ? false : true);
+	HANDLE _handle = _HANDLEVal(hMutex);
+	BOOL _ret;
+
+	_ret = ReleaseMutex(_handle);
+	RETURN(_ret == 0 ? false : true);
     }
 %}.
     "/ <apicall: bool "ReleaseMutex" (handle) module: "kernel32.dll" >
@@ -8089,15 +8102,15 @@
 %{
     if (__isExternalAddressLike(handle)
      || __isExternalBytesLike(handle) ) {
-        HANDLE _handle = _HANDLEVal(handle);
-
-        if (__isSmallInteger(dwMilliseconds)) {
-            DWORD _millis = __intVal(dwMilliseconds);
-            DWORD _ret;
-
-            _ret = ReleaseMutex(_handle);
-            RETURN( __mkSmallInteger(_ret));
-        }
+	HANDLE _handle = _HANDLEVal(handle);
+
+	if (__isSmallInteger(dwMilliseconds)) {
+	    DWORD _millis = __intVal(dwMilliseconds);
+	    DWORD _ret;
+
+	    _ret = ReleaseMutex(_handle);
+	    RETURN( __mkSmallInteger(_ret));
+	}
     }
 %}.
     "/ <apicall: dword "WaitForSingleObject" (handle dword) module: "kernel32.dll" >
@@ -8112,8 +8125,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'.].
@@ -8129,8 +8142,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.
 
@@ -8163,39 +8176,39 @@
 %{
     if (__isString(aDirectoryPathName)
      && __isSmallInteger(changeFlags)) {
-        char *__dirName = __stringVal(aDirectoryPathName);
-        INT __flags = __intVal(changeFlags);
-        HANDLE __changeHandle;
-
-        __changeHandle = FindFirstChangeNotification(__dirName, FALSE, __flags);
-        if (__changeHandle == INVALID_HANDLE_VALUE) {
-            console_printf("failed to create handle\n");
-        } else {
-            __externalAddressVal(handle) = __changeHandle;
-            RETURN (handle);
-        }
+	char *__dirName = __stringVal(aDirectoryPathName);
+	INT __flags = __intVal(changeFlags);
+	HANDLE __changeHandle;
+
+	__changeHandle = FindFirstChangeNotification(__dirName, FALSE, __flags);
+	if (__changeHandle == INVALID_HANDLE_VALUE) {
+	    console_printf("failed to create handle\n");
+	} else {
+	    __externalAddressVal(handle) = __changeHandle;
+	    RETURN (handle);
+	}
     }
 %}.
     self primitiveFailed
 
     "
-        |h|
-
-        [
-            h := OperatingSystem createChangeNotificationHandleFor:'.'
-                flags:(FILE_NOTIFY_CHANGE_FILE_NAME  |
-                       FILE_NOTIFY_CHANGE_DIR_NAME |
-                       FILE_NOTIFY_CHANGE_ATTRIBUTES |
-                       FILE_NOTIFY_CHANGE_SIZE |
-                       FILE_NOTIFY_CHANGE_LAST_WRITE).
-            Transcript showCR:'waiting...'.
-            OperatingSystem waitForSingleObject:h withTimeout:1000.
-            Transcript showCR:'got a change...'.
-            h close.
-        ] fork.
-        Delay waitForSeconds:0.25.
-        Transcript showCR:'changing...'.
-        './bla' asFilename contents:'hello'.
+	|h|
+
+	[
+	    h := OperatingSystem createChangeNotificationHandleFor:'.'
+		flags:(FILE_NOTIFY_CHANGE_FILE_NAME  |
+		       FILE_NOTIFY_CHANGE_DIR_NAME |
+		       FILE_NOTIFY_CHANGE_ATTRIBUTES |
+		       FILE_NOTIFY_CHANGE_SIZE |
+		       FILE_NOTIFY_CHANGE_LAST_WRITE).
+	    Transcript showCR:'waiting...'.
+	    OperatingSystem waitForSingleObject:h withTimeout:1000.
+	    Transcript showCR:'got a change...'.
+	    h close.
+	] fork.
+	Delay waitForSeconds:0.25.
+	Transcript showCR:'changing...'.
+	'./bla' asFilename contents:'hello'.
 
     "
 ! !
@@ -8219,70 +8232,70 @@
 
     count := aString size + 128.
     [
-        aString isWideString ifTrue:[
-            resultString := Unicode16String new:count.
-            resultCount := self primExpandEnvironmentStringsW:aString into:resultString size:count.
-        ] ifFalse:[
-            resultString := String new:count.
-            resultCount := self primExpandEnvironmentStringsA:aString into:resultString size:count.
-        ].
-        resultCount <= count ifTrue:[
-            true
-        ] ifFalse:[
-            "resultString was too small. resultCount is the required buffer size"
-            count := resultCount.
-            false
-        ].
+	aString isWideString ifTrue:[
+	    resultString := Unicode16String new:count.
+	    resultCount := self primExpandEnvironmentStringsW:aString into:resultString size:count.
+	] ifFalse:[
+	    resultString := String new:count.
+	    resultCount := self primExpandEnvironmentStringsA:aString into:resultString size:count.
+	].
+	resultCount <= count ifTrue:[
+	    true
+	] ifFalse:[
+	    "resultString was too small. resultCount is the required buffer size"
+	    count := resultCount.
+	    false
+	].
     ] whileFalse.
     ^ resultString copyTo:resultCount-1.
 
 
     "
-        self expandEnvironmentStrings:'%ProgramFiles%\test\x'
-        self expandEnvironmentStrings:'%ProgramFiles%\test\x' asUnicode16String
+	self expandEnvironmentStrings:'%ProgramFiles%\test\x'
+	self expandEnvironmentStrings:'%ProgramFiles%\test\x' asUnicode16String
     "
 !
 
 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:[
-            ^ '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:[
+	    ^ 'unknown'.
+	].
+	DomainName := domainName.     "cache only, if it is fixed"
     ].
     ^ domainName
 
@@ -8415,11 +8428,11 @@
     // Note: GetComputerNameExA can fail in certain locales!
 #if defined(__MINGW32__)
     if (GetComputerNameA(bufferA, &buffSize) == TRUE) {
-        RETURN(__MKSTRING_L(bufferA, buffSize));
+	RETURN(__MKSTRING_L(bufferA, buffSize));
     }
 #else
     if (GetComputerNameExW(ComputerNameDnsFullyQualified, buffer, &buffSize) == TRUE) {
-        RETURN(__mkStringOrU16String_maxlen(buffer, buffSize));
+	RETURN(__mkStringOrU16String_maxlen(buffer, buffSize));
     }
 #endif
 %}.
@@ -8437,14 +8450,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
 
@@ -8458,28 +8471,28 @@
     "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.
 
@@ -8490,9 +8503,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.
@@ -8513,31 +8526,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;
@@ -8558,129 +8571,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
@@ -8694,8 +8707,8 @@
 
 getNetworkAddresses
     "return a dictionary filled with
-        key -> name of interface
-        value -> the network adsress (as SocketAddress)
+	key -> name of interface
+	value -> the network adsress (as SocketAddress)
      for each interface
     "
 
@@ -8716,21 +8729,21 @@
     DWORD dwStatus;
 
     dwStatus = GetAdaptersInfo(
-                            AdapterInfo,                 // [out] buffer to receive data
-                            &dwBufLen);                  // [in] size of receive data buffer
+			    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);
+	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
@@ -8741,35 +8754,35 @@
 # 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);
     }
 %}.
     "Keep the order as returned by the OS"
     info := OrderedDictionary new:nAdapters ? 0.
     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.
-            ipAddr := entry at:4.
-            ipAddr := IPSocketAddress addressString:ipAddr.
-            "take the first name"
-            (ipAddr hostAddress contains:[:b| b ~~ 0]) ifTrue:[
-                info at:name ifAbsentPut:ipAddr.
-            ]
-        ].
+	1 to:nAdapters do:[:i |
+	    |entry name description macAddr ipAddr|
+
+	    entry := rawData at:i.
+	    name := entry at:1.
+	    "/ description := entry at:2.
+	    ipAddr := entry at:4.
+	    ipAddr := IPSocketAddress addressString:ipAddr.
+	    "take the first name"
+	    (ipAddr hostAddress contains:[:b| b ~~ 0]) ifTrue:[
+		info at:name ifAbsentPut:ipAddr.
+	    ]
+	].
     ].
     ^ info
 
@@ -8780,8 +8793,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
     "
 
@@ -8802,21 +8815,21 @@
     DWORD dwStatus;
 
     dwStatus = GetAdaptersInfo(
-                            AdapterInfo,                 // [out] buffer to receive data
-                            &dwBufLen);                  // [in] size of receive data buffer
+			    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);
+	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
@@ -8827,32 +8840,32 @@
 # 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);
     }
 %}.
     "Keep the order as reurned by the OS"
     info := OrderedDictionary new:nAdapters ? 0.
     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
 
@@ -8865,14 +8878,14 @@
     "answer the number of physical processors in the system"
 
 %{
-        SYSTEM_INFO sInfo;
-        GetSystemInfo(&sInfo);
-
-        return __mkSmallInteger(sInfo.dwNumberOfProcessors);
-%}.
-
-    "
-        self getNumberOfProcessors
+	SYSTEM_INFO sInfo;
+	GetSystemInfo(&sInfo);
+
+	return __mkSmallInteger(sInfo.dwNumberOfProcessors);
+%}.
+
+    "
+	self getNumberOfProcessors
     "
 !
 
@@ -8895,7 +8908,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."
 
     |regKey systemId|
 
@@ -8911,30 +8924,30 @@
 #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
 %}.
 
     regKey := self registryEntry
-        key:'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion'.
+	key:'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion'.
 
     regKey notNil ifTrue:[
-        systemId := regKey valueNamed:'ProductId'.
-        systemId isNil ifTrue:[
-            regKey := self registryEntry
-                key:'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
-                flags:#KEY_WOW64_64KEY createIfAbsent:false.
-            systemId := regKey valueNamed:'ProductId'.
-        ].
+	systemId := regKey valueNamed:'ProductId'.
+	systemId isNil ifTrue:[
+	    regKey := self registryEntry
+		key:'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
+		flags:#KEY_WOW64_64KEY createIfAbsent:false.
+	    systemId := regKey valueNamed:'ProductId'.
+	].
     ].
 
     ^ systemId ? 'unknown'
@@ -8957,25 +8970,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
@@ -9001,23 +9014,23 @@
     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);
-                    if (verMinor >= 2) {
-                        sys = @symbol(win8);
-                    }
-                }
-            }
-        } 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);
+		    if (verMinor >= 2) {
+			sys = @symbol(win8);
+		    }
+		}
+	    }
+	} else {
+	    sys = @symbol(nt);
+	}
     }
     len = snprintf(vsnBuffer, sizeof(vsnBuffer), "%d.%d", verMajor, verMinor);
     rel = __MKSTRING_L(vsnBuffer, len);
@@ -9043,205 +9056,205 @@
 #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_AMD64
-        case PROCESSOR_ARCHITECTURE_AMD64:
-            arch = @symbol(x64);
-            break;
+	case PROCESSOR_ARCHITECTURE_AMD64:
+	    arch = @symbol(x64);
+	    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;
+	case PROCESSOR_ARCHITECTURE_MSIL:
+	    arch = @symbol(msil);
+	    break;
 #endif
 #ifdef PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
-        case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64:
-            arch = @symbol(ia32_on_win64);
-            break;
-#endif
-        default:
-            arch = @symbol(unknown);
-            break;
+	case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64:
+	    arch = @symbol(ia32_on_win64);
+	    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_AMD_X8664
-        case PROCESSOR_AMD_X8664:
-            mach = @symbol(x86_64);
-            break;
+	case PROCESSOR_AMD_X8664:
+	    mach = @symbol(x86_64);
+	    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_STRONGARM
-        case PROCESSOR_STRONGARM:
-            mach = @symbol(strongarm);
-            break;
+	case PROCESSOR_STRONGARM:
+	    mach = @symbol(strongarm);
+	    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;
+	case PROCESSOR_PPC_620:
+	    mach = @symbol(ppc620);
+	    break;
 #endif
 #ifdef PROCESSOR_HITACHI_SH3
-        case PROCESSOR_HITACHI_SH3:
-            mach = @symbol(sh3);
-            break;
+	case PROCESSOR_HITACHI_SH3:
+	    mach = @symbol(sh3);
+	    break;
 #endif
 #ifdef PROCESSOR_HITACHI_SH3E
-        case PROCESSOR_HITACHI_SH3E:
-            mach = @symbol(sh3e);
-            break;
+	case PROCESSOR_HITACHI_SH3E:
+	    mach = @symbol(sh3e);
+	    break;
 #endif
 #ifdef PROCESSOR_HITACHI_SH4
-        case PROCESSOR_HITACHI_SH4:
-            mach = @symbol(sh4);
-            break;
+	case PROCESSOR_HITACHI_SH4:
+	    mach = @symbol(sh4);
+	    break;
 #endif
 #ifdef PROCESSOR_MOTOROLA_821
-        case PROCESSOR_MOTOROLA_821:
-            mach = @symbol(mc821);
-            break;
+	case PROCESSOR_MOTOROLA_821:
+	    mach = @symbol(mc821);
+	    break;
 #endif
 #ifdef PROCESSOR_SHx_SH3
-        case PROCESSOR_SHx_SH3:
-            mach = @symbol(shx_sh3);
-            break;
+	case PROCESSOR_SHx_SH3:
+	    mach = @symbol(shx_sh3);
+	    break;
 #endif
 #ifdef PROCESSOR_SHx_SH4
-        case PROCESSOR_SHx_SH4:
-            mach = @symbol(shx_sh4);
-            break;
-#endif
-
-        default:
-            sprintf(vsnBuffer, "%d", sysInfo.dwProcessorType);
-            mach =  __MKSTRING(vsnBuffer);
-            break;
+	case PROCESSOR_SHx_SH4:
+	    mach = @symbol(shx_sh4);
+	    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.
@@ -9312,7 +9325,7 @@
     wchar_t buffer[MAXPATHLEN+1];
 
     if (GetWindowsDirectoryW(buffer, MAXPATHLEN)) {
-        RETURN (__mkStringOrU16String_maxlen(buffer, MAXPATHLEN));
+	RETURN (__mkStringOrU16String_maxlen(buffer, MAXPATHLEN));
     }
 %}.
     ^ nil
@@ -9333,7 +9346,7 @@
     wchar_t buffer[MAXPATHLEN+1];
 
     if (GetSystemDirectoryW(buffer, MAXPATHLEN)) {
-        RETURN (__mkStringOrU16String_maxlen(buffer, MAXPATHLEN));
+	RETURN (__mkStringOrU16String_maxlen(buffer, MAXPATHLEN));
     }
 %}.
     ^ nil
@@ -9521,11 +9534,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 */
 
@@ -9558,9 +9571,9 @@
 
     osVersion := OperatingSystem osVersion.
     ^ 'Windows ',
-        (#('2000' 'XP' 'Server2003' 'VISTA' '7' '8')
-            at: (#('5.0' '5.1' '5.2' '6.0' '6.1' '6.2') indexOf:osVersion)
-            ifAbsent:osVersion).
+	(#('2000' 'XP' 'Server2003' 'VISTA' '7' '8')
+	    at: (#('5.0' '5.1' '5.2' '6.0' '6.1' '6.2') indexOf:osVersion)
+	    ifAbsent:osVersion).
 
     "
      self osName
@@ -9601,11 +9614,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).
 
@@ -9623,38 +9636,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: ;
 %}.
@@ -9676,9 +9689,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
@@ -9874,10 +9887,10 @@
 
     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'
@@ -9913,7 +9926,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
 
@@ -9926,17 +9939,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
 
@@ -10012,22 +10025,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
 
@@ -10092,23 +10105,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
 
@@ -10131,19 +10144,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
 
@@ -10163,47 +10176,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
 
@@ -10221,7 +10234,7 @@
     |printerNames|
 
     printerNames := (self getProfileString:'PrinterPorts' key:nil default:'')
-                       asCollectionOfSubstringsSeparatedBy:(Character value:0).
+		       asCollectionOfSubstringsSeparatedBy:(Character value:0).
     printerNames := printerNames reject:[:nm | nm isEmpty].
     ^printerNames
 
@@ -10310,12 +10323,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.
     "
@@ -10332,12 +10345,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.
     "
@@ -10354,12 +10367,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.
     "
@@ -10388,20 +10401,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.
@@ -10531,9 +10544,9 @@
       'NON'     'no_NO'
       'NOR'     'no_NO'
      ) pairWiseDo:[:key :mappedValue|
-        key = windowsLanguageString ifTrue:[
-            ^ mappedValue
-        ]
+	key = windowsLanguageString ifTrue:[
+	    ^ mappedValue
+	]
     ].
 
     "no mapping"
@@ -10555,21 +10568,21 @@
     if (__isString(inString)
      && __isString(outString)
      && __isSmallInteger(outBufferSize)) {
-        unsigned long c_outBufferSize = __intVal(outBufferSize);
-
-        if (__stringSize(outString) <= c_outBufferSize) {
-            unsigned long c_ret;
-
-            c_ret = ExpandEnvironmentStringsA(__stringVal(inString), __stringVal(outString), c_outBufferSize);
-            RETURN( __mkSmallInteger(c_ret) );
-        }
+	unsigned long c_outBufferSize = __intVal(outBufferSize);
+
+	if (__stringSize(outString) <= c_outBufferSize) {
+	    unsigned long c_ret;
+
+	    c_ret = ExpandEnvironmentStringsA(__stringVal(inString), __stringVal(outString), c_outBufferSize);
+	    RETURN( __mkSmallInteger(c_ret) );
+	}
     }
 %}.
     "/ <apicall: ulongReturn "ExpandEnvironmentStringsA" (pointer pointer ulong) module: "kernel32.dll" >
     ^self primitiveFailed
 
     "
-        self primExpandEnvironmentStringsA:'%ProgramFiles%\test\x' into:(String new:256) inspect size:256
+	self primExpandEnvironmentStringsA:'%ProgramFiles%\test\x' into:(String new:256) inspect size:256
     "
 !
 
@@ -10579,31 +10592,31 @@
     ^self primitiveFailed
 
     "
-        self primExpandEnvironmentStringsW:'%ProgramFiles%\test\x' asUnicodeString into:(Unicode16String new:256) inspect size:256
+	self primExpandEnvironmentStringsW:'%ProgramFiles%\test\x' asUnicodeString into:(Unicode16String new:256) inspect size:256
     "
 ! !
 
 !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"
@@ -10612,8 +10625,8 @@
 dateFormat
     "Answer the current system value for date format.
      Answer DfMDY = Month-Day-Year
-            DfDMY = Day-Month-Year
-            DfYMD = Year-Month-Day."
+	    DfDMY = Day-Month-Year
+	    DfYMD = Year-Month-Day."
 
     |separatorString code|
 
@@ -10635,49 +10648,49 @@
 !
 
 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
 
@@ -10685,10 +10698,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
 
@@ -10696,10 +10709,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
 
@@ -10707,7 +10720,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
 
@@ -10734,11 +10747,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
@@ -10748,43 +10761,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"
@@ -10813,29 +10826,29 @@
      This looks for the files extension, and is typically used to present help-files,
      html documents, pdf documents etc.
      operationSymbol is one of:
-        open
-        edit
-        explore
-        print
+	open
+	edit
+	explore
+	print
     "
 
     |handle directoryName|
 
     "nil directory is the current directory"
     directoryStringOrFilenameOrNil notNil ifTrue:[
-        directoryName := directoryStringOrFilenameOrNil asFilename pathName.
+	directoryName := directoryStringOrFilenameOrNil asFilename pathName.
     ].
 
     handle := self
-        shellExecute:nil
-        lpOperation:operationSymbol
-        lpFile:fileOrUrl asString
-        lpParameters:nil
-        lpDirectory:directoryName
-        nShowCmd:#SW_SHOWNORMAL.
+	shellExecute:nil
+	lpOperation:operationSymbol
+	lpFile:fileOrUrl asString
+	lpParameters:nil
+	lpDirectory:directoryName
+	nShowCmd:#SW_SHOWNORMAL.
 
     handle notNil ifTrue:[
-        handle close.
+	handle close.
     ].
 
 
@@ -10875,27 +10888,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);
 %}
@@ -10915,58 +10928,58 @@
      && __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 (sysTime.wYear < 1602) goto outOfRange;   // not 1601 - so we don't have to care for timezone
-        if (sysTime.wYear > 9999) goto outOfRange;
-
-        if (utcBoolean != true) {
-            // adjust for local time
-
-            // TzSpecificLocalTimeToSystemTime() is not supported in Win2000
-            // - but we do not support Win2k any longer as of 2014
+	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 (sysTime.wYear < 1602) goto outOfRange;   // not 1601 - so we don't have to care for timezone
+	if (sysTime.wYear > 9999) goto outOfRange;
+
+	if (utcBoolean != true) {
+	    // adjust for local time
+
+	    // TzSpecificLocalTimeToSystemTime() is not supported in Win2000
+	    // - but we do not support Win2k any longer as of 2014
 #ifdef __BORLANDC__
-            {
-                typedef BOOL (WINAPI *P_TzSpecificLocalTimeToSystemTime)(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
-                static P_TzSpecificLocalTimeToSystemTime pTzSpecificLocalTimeToSystemTime;
-
-                if (pTzSpecificLocalTimeToSystemTime == NULL) {
-                    pTzSpecificLocalTimeToSystemTime =
-                        (P_TzSpecificLocalTimeToSystemTime)
-                            GetProcAddress ( GetModuleHandle ("kernel32.dll"),
-                                                              "TzSpecificLocalTimeToSystemTime");
-                }
-                if (!pTzSpecificLocalTimeToSystemTime(0, &sysTime, &sysTime))
-                    goto error;
-            }
-#else
-            if (!TzSpecificLocalTimeToSystemTime(0, &sysTime, &sysTime))
-                goto error;
-#endif
-        }
-
-        if (! SystemTimeToFileTime(&sysTime, &fileTime))
-            goto error;
-
-        osTime = FileTimeToOsTime1970(&fileTime);
+	    {
+		typedef BOOL (WINAPI *P_TzSpecificLocalTimeToSystemTime)(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
+		static P_TzSpecificLocalTimeToSystemTime pTzSpecificLocalTimeToSystemTime;
+
+		if (pTzSpecificLocalTimeToSystemTime == NULL) {
+		    pTzSpecificLocalTimeToSystemTime =
+			(P_TzSpecificLocalTimeToSystemTime)
+			    GetProcAddress ( GetModuleHandle ("kernel32.dll"),
+							      "TzSpecificLocalTimeToSystemTime");
+		}
+		if (!pTzSpecificLocalTimeToSystemTime(0, &sysTime, &sysTime))
+		    goto error;
+	    }
+#else
+	    if (!TzSpecificLocalTimeToSystemTime(0, &sysTime, &sysTime))
+		goto error;
+#endif
+	}
+
+	if (! SystemTimeToFileTime(&sysTime, &fileTime))
+	    goto error;
+
+	osTime = FileTimeToOsTime1970(&fileTime);
     }
 outOfRange: ;
 error: ;
 %}.
     osTime notNil ifTrue:[
-        "/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
-        "/ ^ osTime - self osTimeOf19700101. -- already done
-        ^ osTime
+	"/ rebias to 1970 by subtracting the number of millis from 1.1.1601 to 1.1.1970
+	"/ ^ osTime - self osTimeOf19700101. -- already done
+	^ osTime
     ].
 
     "Error, some invalid date ot time"
@@ -11019,10 +11032,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?
@@ -11058,8 +11071,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.
@@ -11132,53 +11145,53 @@
     WCHAR nm[33];
 
     if (anIntegerOrNil == nil) {
-        retVal = GetTimeZoneInformation(&tzInfo);
-        switch (retVal) {
-            case TIME_ZONE_ID_STANDARD:
-            case TIME_ZONE_ID_DAYLIGHT:
-            case TIME_ZONE_ID_UNKNOWN:
-                break;
-
-            default:
-            case TIME_ZONE_ID_INVALID:
-                error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-                goto out;
-        }
+	retVal = GetTimeZoneInformation(&tzInfo);
+	switch (retVal) {
+	    case TIME_ZONE_ID_STANDARD:
+	    case TIME_ZONE_ID_DAYLIGHT:
+	    case TIME_ZONE_ID_UNKNOWN:
+		break;
+
+	    default:
+	    case TIME_ZONE_ID_INVALID:
+		error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+		goto out;
+	}
     } else if (__isSmallInteger(anIntegerOrNil)) {
-        int year = __intVal(anIntegerOrNil);
+	int year = __intVal(anIntegerOrNil);
 #if defined(__BORLANDC__) || (defined(__MINGW32__) && !defined(__MINGW64__))
-        {
-            typedef BOOL (WINAPI *P_GetTimeZoneInformationForYear)(
-                                        USHORT,
-                                        LPTIME_ZONE_INFORMATION, // - should be, but is not defined: PDYNAMIC_TIME_ZONE_INFORMATION,
-                                        LPTIME_ZONE_INFORMATION);
-            static P_GetTimeZoneInformationForYear pGetTimeZoneInformationForYear;
-            static int haveTriedToGet_P_GetTimeZoneInformationForYear = 0;
-
-            if (! haveTriedToGet_P_GetTimeZoneInformationForYear) {
-                pGetTimeZoneInformationForYear =
-                    (P_GetTimeZoneInformationForYear)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetTimeZoneInformationForYear");
-                haveTriedToGet_P_GetTimeZoneInformationForYear = 1;
-            }
-            if (pGetTimeZoneInformationForYear == NULL) {
-                error = __mkSmallInteger(@symbol(primitiveFailed));
-                goto out;
-            } else {
-                if (!pGetTimeZoneInformationForYear(year, NULL, &tzInfo)) {
-                    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-                    goto out;
-                }
-            }
-        }
-#else
-        if (!GetTimeZoneInformationForYear(year, NULL, &tzInfo)) {
-            error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-            goto out;
-        }
+	{
+	    typedef BOOL (WINAPI *P_GetTimeZoneInformationForYear)(
+					USHORT,
+					LPTIME_ZONE_INFORMATION, // - should be, but is not defined: PDYNAMIC_TIME_ZONE_INFORMATION,
+					LPTIME_ZONE_INFORMATION);
+	    static P_GetTimeZoneInformationForYear pGetTimeZoneInformationForYear;
+	    static int haveTriedToGet_P_GetTimeZoneInformationForYear = 0;
+
+	    if (! haveTriedToGet_P_GetTimeZoneInformationForYear) {
+		pGetTimeZoneInformationForYear =
+		    (P_GetTimeZoneInformationForYear)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetTimeZoneInformationForYear");
+		haveTriedToGet_P_GetTimeZoneInformationForYear = 1;
+	    }
+	    if (pGetTimeZoneInformationForYear == NULL) {
+		error = __mkSmallInteger(@symbol(primitiveFailed));
+		goto out;
+	    } else {
+		if (!pGetTimeZoneInformationForYear(year, NULL, &tzInfo)) {
+		    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+		    goto out;
+		}
+	    }
+	}
+#else
+	if (!GetTimeZoneInformationForYear(year, NULL, &tzInfo)) {
+	    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+	    goto out;
+	}
 #endif
     } else {
-        error = @symbol(badArgument);
-        goto out;
+	error = @symbol(badArgument);
+	goto out;
     }
 
     bias = __mkSmallInteger(tzInfo.Bias);
@@ -11208,22 +11221,22 @@
 out:;
 %}.
     error notNil ifTrue:[
-        self primitiveFailed:error.
+	self primitiveFailed:error.
     ].
 
     info := self timeZoneInfoClass 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
@@ -11260,8 +11273,8 @@
 %{  /* NOCONTEXT */
 
     if (__isSmallInteger(numberOfSeconds)) {
-        sleep(__intVal(numberOfSeconds));
-        RETURN ( self );
+	sleep(__intVal(numberOfSeconds));
+	RETURN ( self );
     }
 %}.
     "
@@ -11292,115 +11305,115 @@
 
     /* try cache */
     {
-        OBJ lastOsTimeLow, lastOsTimeHi, lastTimeInfo;
-
-        lastOsTimeLow = @global(LastOsTimeLow);
-        lastOsTimeHi = @global(LastOsTimeHi);
-        if (__isInteger(lastOsTimeLow)
-             && (__unsignedLongIntVal(lastOsTimeLow) == __unsignedLongIntVal(tLow))
-             && lastOsTimeHi
-             && (__unsignedLongIntVal(lastOsTimeHi) == __unsignedLongIntVal(tHigh))
-             && (@global(LastTimeInfoIsLocal) == isLocalTime)
-        ) {
-            lastTimeInfo = @global(LastTimeInfo);
-            if (lastTimeInfo != nil) {
-                RETURN (lastTimeInfo);
-            }
-        }
+	OBJ lastOsTimeLow, lastOsTimeHi, lastTimeInfo;
+
+	lastOsTimeLow = @global(LastOsTimeLow);
+	lastOsTimeHi = @global(LastOsTimeHi);
+	if (__isInteger(lastOsTimeLow)
+	     && (__unsignedLongIntVal(lastOsTimeLow) == __unsignedLongIntVal(tLow))
+	     && lastOsTimeHi
+	     && (__unsignedLongIntVal(lastOsTimeHi) == __unsignedLongIntVal(tHigh))
+	     && (@global(LastTimeInfoIsLocal) == isLocalTime)
+	) {
+	    lastTimeInfo = @global(LastTimeInfo);
+	    if (lastTimeInfo != nil) {
+		RETURN (lastTimeInfo);
+	    }
+	}
     }
 
     if (!OsTime1970ToFileTime(tLow, tHigh, &fileTime))
-        goto out;
+	goto out;
     if (!FileTimeToSystemTime(&fileTime, &sysTime))
-        goto out;
+	goto out;
 
     if (isLocalTime == false) { // easy: UTC time
-        sysTimePtr = &sysTime;
-        utcOffset = __mkSmallInteger(0);
-        isDst = false;
+	sysTimePtr = &sysTime;
+	utcOffset = __mkSmallInteger(0);
+	isDst = false;
     } else {  // local time: have to convert and find out about DST
-        TIME_ZONE_INFORMATION tzInfo;
-        LONGLONG longTime;
-        SYSTEMTIME localSysTime;
-        FILETIME localFileTime;
-
-        sysTimePtr = &localSysTime;
-
-        if (!SystemTimeToTzSpecificLocalTime(NULL, &sysTime, &localSysTime))
-            goto out;
-        if (!SystemTimeToFileTime(&localSysTime, &localFileTime))
-            goto out;
-
-        // all the rest is computing the UTC offset and whether DST applies
-        longTime = ((LONGLONG)fileTime.dwHighDateTime << 32) + fileTime.dwLowDateTime;
-        longTime -= ((LONGLONG)localFileTime.dwHighDateTime << 32) + localFileTime.dwLowDateTime;
-
-        // utcOffset is the difference from UTC to local time including possible DST
-        _utcOffset = longTime / 10000000;
-        utcOffset = __mkSmallInteger(_utcOffset);
+	TIME_ZONE_INFORMATION tzInfo;
+	LONGLONG longTime;
+	SYSTEMTIME localSysTime;
+	FILETIME localFileTime;
+
+	sysTimePtr = &localSysTime;
+
+	if (!SystemTimeToTzSpecificLocalTime(NULL, &sysTime, &localSysTime))
+	    goto out;
+	if (!SystemTimeToFileTime(&localSysTime, &localFileTime))
+	    goto out;
+
+	// all the rest is computing the UTC offset and whether DST applies
+	longTime = ((LONGLONG)fileTime.dwHighDateTime << 32) + fileTime.dwLowDateTime;
+	longTime -= ((LONGLONG)localFileTime.dwHighDateTime << 32) + localFileTime.dwLowDateTime;
+
+	// utcOffset is the difference from UTC to local time including possible DST
+	_utcOffset = longTime / 10000000;
+	utcOffset = __mkSmallInteger(_utcOffset);
 
 # if defined(__BORLANDC__) || (defined(__MINGW32__) && !defined(__MINGW64__))
-        {
-            typedef BOOL (WINAPI *P_GetTimeZoneInformationForYear)(
-                                        USHORT,
-                                        LPTIME_ZONE_INFORMATION, // - should be, but is not defined: PDYNAMIC_TIME_ZONE_INFORMATION,
-                                        LPTIME_ZONE_INFORMATION);
-            static P_GetTimeZoneInformationForYear pGetTimeZoneInformationForYear;
-            static int haveTriedToGet_P_GetTimeZoneInformationForYear = 0;
-
-            if (! haveTriedToGet_P_GetTimeZoneInformationForYear) {
-                pGetTimeZoneInformationForYear =
-                    (P_GetTimeZoneInformationForYear)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetTimeZoneInformationForYear");
-                haveTriedToGet_P_GetTimeZoneInformationForYear = 1;
-            }
-            if (pGetTimeZoneInformationForYear == NULL) {
-                // ignore this error and fall back to GetTimeZoneInformation()
-                reason = @symbol(NoGetTimeZoneInformationForYear);
-            } else {
-                if (pGetTimeZoneInformationForYear(localSysTime.wYear, NULL, &tzInfo)) {
-                    _stdUtcOffset = (tzInfo.Bias + tzInfo.StandardBias) * 60;
-                    isDst = (_stdUtcOffset != _utcOffset) ? true : false;
-                } else {
-                    // ignore this error and fall back to GetTimeZoneInformation()
-                    reason = @symbol(GetTimeZoneInformationForYearFailed);
-                    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-                }
-            }
-        }
+	{
+	    typedef BOOL (WINAPI *P_GetTimeZoneInformationForYear)(
+					USHORT,
+					LPTIME_ZONE_INFORMATION, // - should be, but is not defined: PDYNAMIC_TIME_ZONE_INFORMATION,
+					LPTIME_ZONE_INFORMATION);
+	    static P_GetTimeZoneInformationForYear pGetTimeZoneInformationForYear;
+	    static int haveTriedToGet_P_GetTimeZoneInformationForYear = 0;
+
+	    if (! haveTriedToGet_P_GetTimeZoneInformationForYear) {
+		pGetTimeZoneInformationForYear =
+		    (P_GetTimeZoneInformationForYear)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetTimeZoneInformationForYear");
+		haveTriedToGet_P_GetTimeZoneInformationForYear = 1;
+	    }
+	    if (pGetTimeZoneInformationForYear == NULL) {
+		// ignore this error and fall back to GetTimeZoneInformation()
+		reason = @symbol(NoGetTimeZoneInformationForYear);
+	    } else {
+		if (pGetTimeZoneInformationForYear(localSysTime.wYear, NULL, &tzInfo)) {
+		    _stdUtcOffset = (tzInfo.Bias + tzInfo.StandardBias) * 60;
+		    isDst = (_stdUtcOffset != _utcOffset) ? true : false;
+		} else {
+		    // ignore this error and fall back to GetTimeZoneInformation()
+		    reason = @symbol(GetTimeZoneInformationForYearFailed);
+		    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+		}
+	    }
+	}
 # else
-        if (GetTimeZoneInformationForYear(localSysTime.wYear, NULL, &tzInfo)) {
-            _stdUtcOffset = (tzInfo.Bias + tzInfo.StandardBias) * 60;
-            isDst = (_stdUtcOffset != _utcOffset) ? true : false;
-        } else {
-            // ignore this error and fall back to GetTimeZoneInformation()
-            reason = @symbol(GetTimeZoneInformationForYearFailed);
-            error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-        }
-# endif
-        // this code is a fallback for WIN XP
-        if (isDst == nil) {
-            DWORD retVal = GetTimeZoneInformation(&tzInfo);
-            switch (retVal) {
-                case TIME_ZONE_ID_STANDARD:
-                case TIME_ZONE_ID_DAYLIGHT:
-                case TIME_ZONE_ID_UNKNOWN:
-                    // nonDstOffset is the difference from UTC to local time without DST
-                    _stdUtcOffset = (tzInfo.Bias + tzInfo.StandardBias) * 60;
-                    isDst = (_stdUtcOffset != _utcOffset) ? true : false;
-                    break;
-
-                // these are errors, which may occur, if the
-                // Windows OS has not been setupm correctly.
-                // We ignore these errors here, but we don't know if DST applies.
-                // Assume that there is no DST.
-                default:
-                case TIME_ZONE_ID_INVALID:
-                    isDst = false;
-                    reason = @symbol(TIME_ZONE_ID_INVALID);
-                    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
-                    break;
-            }
-        }  // End WINXP backward compatibility
+	if (GetTimeZoneInformationForYear(localSysTime.wYear, NULL, &tzInfo)) {
+	    _stdUtcOffset = (tzInfo.Bias + tzInfo.StandardBias) * 60;
+	    isDst = (_stdUtcOffset != _utcOffset) ? true : false;
+	} else {
+	    // ignore this error and fall back to GetTimeZoneInformation()
+	    reason = @symbol(GetTimeZoneInformationForYearFailed);
+	    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+	}
+# endif
+	// this code is a fallback for WIN XP
+	if (isDst == nil) {
+	    DWORD retVal = GetTimeZoneInformation(&tzInfo);
+	    switch (retVal) {
+		case TIME_ZONE_ID_STANDARD:
+		case TIME_ZONE_ID_DAYLIGHT:
+		case TIME_ZONE_ID_UNKNOWN:
+		    // nonDstOffset is the difference from UTC to local time without DST
+		    _stdUtcOffset = (tzInfo.Bias + tzInfo.StandardBias) * 60;
+		    isDst = (_stdUtcOffset != _utcOffset) ? true : false;
+		    break;
+
+		// these are errors, which may occur, if the
+		// Windows OS has not been setupm correctly.
+		// We ignore these errors here, but we don't know if DST applies.
+		// Assume that there is no DST.
+		default:
+		case TIME_ZONE_ID_INVALID:
+		    isDst = false;
+		    reason = @symbol(TIME_ZONE_ID_INVALID);
+		    error = __mkSmallInteger(__WIN32_ERR(GetLastError()));
+		    break;
+	    }
+	}  // End WINXP backward compatibility
     }
 
     hour = __mkSmallInteger(sysTimePtr->wHour);
@@ -11419,22 +11432,22 @@
 "/    '--> REASON: ' errorPrint. reason errorPrintCR. '--> ERROR: ' errorPrint. error errorPrintCR.
 
     year isNil ifTrue:[
-        TimeConversionError raiseErrorString:' - out of range'.
+	TimeConversionError raiseErrorString:' - out of range'.
     ].
 
     info := self timeInfoClass new.
     info
-        year:year
-        month:month
-        day:day
-        hours:hour
-        minutes:minute
-        seconds:second
-        milliseconds:millis
-        utcOffset:utcOffset
-        dst:isDst
-        dayInYear:yDay
-        dayInWeek:weekDay.
+	year:year
+	month:month
+	day:day
+	hours:hour
+	minutes:minute
+	seconds:second
+	milliseconds:millis
+	utcOffset:utcOffset
+	dst:isDst
+	dayInYear:yDay
+	dayInWeek:weekDay.
 
     LastTimeInfo := info.
     LastOsTimeLow := tLow.
@@ -11471,13 +11484,13 @@
 
     appDataDirFromEnv := self getEnvironment:'APPDATA'.
     appDataDirFromEnv notNil ifTrue:[
-        ^ appDataDirFromEnv , '\' , appName
+	^ appDataDirFromEnv , '\' , appName
     ].
     appDataDirFromRegistry :=
-        (self registryEntry key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
-            valueNamed:'AppData'.
+	(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
 
@@ -11496,15 +11509,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 ].
@@ -11525,11 +11538,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.
@@ -11578,11 +11591,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
 
@@ -11630,7 +11643,7 @@
 
     dir := self getEnvironment:'USERPROFILE'.
     dir isNil ifTrue:[
-        dir := '.'.
+	dir := '.'.
     ].
     ^ dir.
 
@@ -11655,33 +11668,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) );
@@ -11710,7 +11723,7 @@
      This is the login name, not the fullName."
 
     aNumber == self getUserID ifTrue:[
-        ^ self getLoginName
+	^ self getLoginName
     ].
 
     ^ '? (' , aNumber printString , ')'
@@ -11735,30 +11748,30 @@
 
     h_Process = GetCurrentProcess();
     if (OpenProcessToken(h_Process,TOKEN_READ,&h_Token) == FALSE) {
-        console_printf("Error: Couldn't open the process token\n");
-        goto getOutOfHere;
+	console_printf("Error: Couldn't open the process token\n");
+	goto getOutOfHere;
     }
     if (GetTokenInformation(h_Token,TokenElevation,&t_TokenElevation,sizeof(t_TokenElevation),&dw_TokenLength) == FALSE) {
-        console_printf("Error: Couldn't retrieve the elevation right of the current process token\n");
-        CloseHandle(h_Token);
-        goto getOutOfHere;
+	console_printf("Error: Couldn't retrieve the elevation right of the current process token\n");
+	CloseHandle(h_Token);
+	goto getOutOfHere;
     }
     if (t_TokenElevation.TokenIsElevated != 0) {
-        if (GetTokenInformation(h_Token,TokenElevationType,&e_ElevationType,sizeof(e_ElevationType),&dw_TokenLength) == FALSE) {
-            console_printf("Error: Couldn't retrieve the elevation token class\n");
-            CloseHandle(h_Token);
-            goto getOutOfHere;
-        } else {
-            if (e_ElevationType == TokenElevationTypeFull || e_ElevationType == TokenElevationTypeDefault) {
-                CloseHandle(h_Token);
-                RETURN(true);
-            }
-            CloseHandle(h_Token);
-            RETURN(false);
-        }
+	if (GetTokenInformation(h_Token,TokenElevationType,&e_ElevationType,sizeof(e_ElevationType),&dw_TokenLength) == FALSE) {
+	    console_printf("Error: Couldn't retrieve the elevation token class\n");
+	    CloseHandle(h_Token);
+	    goto getOutOfHere;
+	} else {
+	    if (e_ElevationType == TokenElevationTypeFull || e_ElevationType == TokenElevationTypeDefault) {
+		CloseHandle(h_Token);
+		RETURN(true);
+	    }
+	    CloseHandle(h_Token);
+	    RETURN(false);
+	}
     } else {
-        CloseHandle(h_Token);
-        RETURN(false);
+	CloseHandle(h_Token);
+	RETURN(false);
     }
 getOutOfHere: ;
 %}.
@@ -11779,22 +11792,22 @@
 
     // Initialize SID.
     if( !AllocateAndInitializeSid( &NtAuthority,
-                                   2,
-                                   SECURITY_BUILTIN_DOMAIN_RID,
-                                   DOMAIN_ALIAS_RID_ADMINS,
-                                   0, 0, 0, 0, 0, 0,
-                                   &AdministratorsGroup))
+				   2,
+				   SECURITY_BUILTIN_DOMAIN_RID,
+				   DOMAIN_ALIAS_RID_ADMINS,
+				   0, 0, 0, 0, 0, 0,
+				   &AdministratorsGroup))
     {
-        // Initializing SID Failed.
-        RETURN( false );
+	// Initializing SID Failed.
+	RETURN( false );
     }
     // Check whether the token is present in admin group.
     if( !CheckTokenMembership( NULL,
-                               AdministratorsGroup,
-                               &IsInAdminGroup ))
+			       AdministratorsGroup,
+			       &IsInAdminGroup ))
     {
-        // Error occurred.
-        IsInAdminGroup = FALSE;
+	// Error occurred.
+	IsInAdminGroup = FALSE;
     }
     // Free SID and return.
     FreeSid(AdministratorsGroup);
@@ -11831,10 +11844,10 @@
     info := IdentityDictionary new.
     loginName := self getLoginName.
     (aNameOrID == self getUserID or:[aNameOrID = loginName]) ifTrue:[
-        userName := loginName.
-        info at:#dir put:self getHomeDirectory.
+	userName := loginName.
+	info at:#dir put:self getHomeDirectory.
     ] ifFalse:[
-        userName := 'unknown'.
+	userName := 'unknown'.
     ].
     info at:#name put:userName.
     "/ uid notNil ifTrue:[info at:#uid put:uid].
@@ -11877,69 +11890,69 @@
     DWORD exitCode;
 
     if (__isExternalAddressLike(pidToWait) ) {
-        HANDLE __pidToWait = _HANDLEVal(pidToWait);
+	HANDLE __pidToWait = _HANDLEVal(pidToWait);
 
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-        console_printf("childProcessWait %x b %d\n",__pidToWait,blocking==true);
-#endif
-
-        if (blocking == true) {
+	console_printf("childProcessWait %x b %d\n",__pidToWait,blocking==true);
+#endif
+
+	if (blocking == true) {
 #ifdef DO_WRAP_CALLS
-            do {
-                __threadErrno = 0;
-                // do not cast to INT - will loose sign bit then!
-                endStatus = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, __pidToWait, INFINITE);
-            } while ((endStatus < 0) && (__threadErrno == EINTR));
-#else
-            endStatus = WaitForSingleObject(__pidToWait, INFINITE);
-            if (endStatus < 0) {
-                __threadErrno = __WIN32_ERR(GetLastError());
-            }
-#endif
-            if (endStatus == WAIT_TIMEOUT) {
-                if (blocking==true)
-                    status = @symbol(timeout);
-                else {
-                    status = @symbol(continue);
+	    do {
+		__threadErrno = 0;
+		// do not cast to INT - will loose sign bit then!
+		endStatus = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, __pidToWait, INFINITE);
+	    } while ((endStatus < 0) && (__threadErrno == EINTR));
+#else
+	    endStatus = WaitForSingleObject(__pidToWait, INFINITE);
+	    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 if (endStatus == WAIT_OBJECT_0) {
-
-            }
-        }
+		    console_printf("ret nil\n");
+#endif
+		    RETURN(nil);
+		}
+	    } else if (endStatus == WAIT_OBJECT_0) {
+
+	    }
+	}
 
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-        console_printf("GetExitCodeProcess\n");
-#endif
-
-        if (GetExitCodeProcess(__pidToWait, &exitCode)) {
-            if (exitCode == STILL_ACTIVE) {
+	console_printf("GetExitCodeProcess\n");
+#endif
+
+	if (GetExitCodeProcess(__pidToWait, &exitCode)) {
+	    if (exitCode == STILL_ACTIVE) {
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-                console_printf("exitCode: STILL_ACTIVE\n");
-#endif
-                RETURN(nil);
-            }
+		console_printf("exitCode: STILL_ACTIVE\n");
+#endif
+		RETURN(nil);
+	    }
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-            console_printf("exitCode %d\n", exitCode);
-#endif
-            status = @symbol(exit);
-            code = __mkSmallInteger(exitCode);
-            core = false;
-            pid = pidToWait;
-        } else {
-            code = __mkSmallInteger(GetLastError());
+	    console_printf("exitCode %d\n", exitCode);
+#endif
+	    status = @symbol(exit);
+	    code = __mkSmallInteger(exitCode);
+	    core = false;
+	    pid = pidToWait;
+	} else {
+	    code = __mkSmallInteger(GetLastError());
 #ifdef PROCESSDEBUG_CHILDPROCESSWAIT
-            console_printf("GetExitCodeProcess failed: error=%d\n", GetLastError());
-#endif
-        }
+	    console_printf("GetExitCodeProcess failed: error=%d\n", GetLastError());
+#endif
+	}
     }
 %}.
 
     (status isNil or:[pid isNil]) ifTrue:[
-        ^ self primitiveFailed:code
+	^ self primitiveFailed:code
     ].
 
 "/ Transcript show:'pid: '; show:pid; show:' status: '; show:status;
@@ -11955,15 +11968,15 @@
     unsigned long bytes_available;
 
     if (__Class(fd) == @global(Win32SocketHandle)) {
-        if (ioctlsocket((SOCKET)_HANDLEVal(fd), FIONREAD, &bytes_available) == 0) {
-            if (bytes_available > _MAX_INT) bytes_available = _MAX_INT;
-            RETURN(__mkSmallInteger(bytes_available));
-        }
+	if (ioctlsocket((SOCKET)_HANDLEVal(fd), FIONREAD, &bytes_available) == 0) {
+	    if (bytes_available > _MAX_INT) bytes_available = _MAX_INT;
+	    RETURN(__mkSmallInteger(bytes_available));
+	}
     } else if (__isSmallInteger(fd)) {
-        if (PeekNamedPipe(_get_osfhandle(__intVal(fd)), NULL, 0, NULL, &bytes_available, NULL) != 0){
-            if (bytes_available > _MAX_INT) bytes_available = _MAX_INT;
-            RETURN(__mkSmallInteger(bytes_available));
-        }
+	if (PeekNamedPipe(_get_osfhandle(__intVal(fd)), NULL, 0, NULL, &bytes_available, NULL) != 0){
+	    if (bytes_available > _MAX_INT) bytes_available = _MAX_INT;
+	    RETURN(__mkSmallInteger(bytes_available));
+	}
     }
 %}.
 
@@ -12009,53 +12022,53 @@
     int pass = 1;       // perform up to 2 passes
 
     if (readableResultFdArray != nil) {
-        if (! __isArrayLike(readableResultFdArray)) {
-            goto fail;
-        }
-        resultSizeReadable = __arraySize(readableResultFdArray);
+	if (! __isArrayLike(readableResultFdArray)) {
+	    goto fail;
+	}
+	resultSizeReadable = __arraySize(readableResultFdArray);
     }
     if (writableResultFdArray != nil) {
-        if (! __isArrayLike(writableResultFdArray)) {
-            goto fail;
-        }
-        resultSizeWritable = __arraySize(writableResultFdArray);
-        if (readableResultFdArray == writableResultFdArray) {
-            // allow common result set for read/write/except
-            pcntW = &cntR;
-        }
+	if (! __isArrayLike(writableResultFdArray)) {
+	    goto fail;
+	}
+	resultSizeWritable = __arraySize(writableResultFdArray);
+	if (readableResultFdArray == writableResultFdArray) {
+	    // allow common result set for read/write/except
+	    pcntW = &cntR;
+	}
     }
     if (exceptionResultFdArray != nil) {
-        if (! __isArrayLike(exceptionResultFdArray)) {
-            goto fail;
-        }
-        resultSizeException = __arraySize(exceptionResultFdArray);
-        if (exceptionResultFdArray == readableResultFdArray) {
-            // allow common result set for read/write/except
-            pcntE = &cntR;
-        } else if (exceptionResultFdArray == writableResultFdArray) {
-            pcntE = &cntW;
-        }
+	if (! __isArrayLike(exceptionResultFdArray)) {
+	    goto fail;
+	}
+	resultSizeException = __arraySize(exceptionResultFdArray);
+	if (exceptionResultFdArray == readableResultFdArray) {
+	    // allow common result set for read/write/except
+	    pcntE = &cntR;
+	} else if (exceptionResultFdArray == writableResultFdArray) {
+	    pcntE = &cntW;
+	}
     }
 
     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;
     }
 
 pollAgain:
@@ -12065,145 +12078,145 @@
     numHandles = hasSockets = hasPipes = 0;
 
     for (i = 0; (i < readCount) && (numHandles < MAXHANDLE); i++) {
-        OBJ fd = __arrayVal(readFdArray)[i];
-
-        if (fd != nil) {
-            if (__Class(fd) == @global(Win32SocketHandle)) {
-                FD_SET (_HANDLEVal(fd), &readFds);
-                hasSockets++;
-            } else if (__isSmallInteger(fd)) {
-                DWORD canRead;
-                if (PeekNamedPipe(_get_osfhandle(__intVal(fd)), 0, 0, 0, &canRead, 0)) {
-                    if (canRead > 0) {
-                        if (*pcntR < resultSizeReadable) {
-                            __arrayVal(readableResultFdArray)[*pcntR] = fd;
-                        }
-                        (*pcntR)++; cntAll++;
-                    }
-                } else {
-                    @global(LastErrorNumber) = __mkSmallInteger(EBADF);
-                    RETURN (__mkSmallInteger(-1));
-                }
-                hasPipes++;
-            } else {
-                hArray  [numHandles] = _HANDLEVal(fd);
-                retArray[numHandles] = i;
-                ++numHandles;
-            }
-        }
+	OBJ fd = __arrayVal(readFdArray)[i];
+
+	if (fd != nil) {
+	    if (__Class(fd) == @global(Win32SocketHandle)) {
+		FD_SET (_HANDLEVal(fd), &readFds);
+		hasSockets++;
+	    } else if (__isSmallInteger(fd)) {
+		DWORD canRead;
+		if (PeekNamedPipe(_get_osfhandle(__intVal(fd)), 0, 0, 0, &canRead, 0)) {
+		    if (canRead > 0) {
+			if (*pcntR < resultSizeReadable) {
+			    __arrayVal(readableResultFdArray)[*pcntR] = fd;
+			}
+			(*pcntR)++; cntAll++;
+		    }
+		} else {
+		    @global(LastErrorNumber) = __mkSmallInteger(EBADF);
+		    RETURN (__mkSmallInteger(-1));
+		}
+		hasPipes++;
+	    } else {
+		hArray  [numHandles] = _HANDLEVal(fd);
+		retArray[numHandles] = i;
+		++numHandles;
+	    }
+	}
     }
 
     for (i = 0; (i < writeCount) && (numHandles < MAXHANDLE); i++) {
-        OBJ fd = __arrayVal(writeFdArray)[i];
-
-        if (fd != nil) {
-            if (__Class(fd) == @global(Win32SocketHandle)) {
-                FD_SET (_HANDLEVal(fd), &writeFds);
-                hasSockets++;
-            } else if (__isSmallInteger(fd)) {
-                // kludge: assume that pipes can alway be written
-               if (*pcntW < resultSizeWritable) {
-                    __arrayVal(writableResultFdArray)[*pcntW] = fd;
-                }
-                (*pcntW)++; cntAll++;
-                // there is no pipe to check
-            } else {
-                hArray  [numHandles] = _HANDLEVal(fd);
-                retArray[numHandles] = i + 10000;
-                ++numHandles;
-            }
-        }
+	OBJ fd = __arrayVal(writeFdArray)[i];
+
+	if (fd != nil) {
+	    if (__Class(fd) == @global(Win32SocketHandle)) {
+		FD_SET (_HANDLEVal(fd), &writeFds);
+		hasSockets++;
+	    } else if (__isSmallInteger(fd)) {
+		// kludge: assume that pipes can alway be written
+	       if (*pcntW < resultSizeWritable) {
+		    __arrayVal(writableResultFdArray)[*pcntW] = fd;
+		}
+		(*pcntW)++; cntAll++;
+		// there is no pipe to check
+	    } else {
+		hArray  [numHandles] = _HANDLEVal(fd);
+		retArray[numHandles] = i + 10000;
+		++numHandles;
+	    }
+	}
     }
 
     for (i = 0; (i < exceptCount) && (numHandles < MAXHANDLE); i++) {
-        OBJ fdOrPid = __arrayVal(exceptFdArray)[i];
-
-        if (fdOrPid != nil) {
-            if (__Class(fdOrPid) == @global(Win32SocketHandle)) {
-                FD_SET (_HANDLEVal(fdOrPid), &exceptFds);
-                hasSockets++;
-            } else if (__isExternalAddressLike(fdOrPid)) {
-                // a PID
-                hArray  [numHandles] = _HANDLEVal(fdOrPid);
-                retArray[numHandles] = i + 20000;
-                ++numHandles;
-            }
-        }
+	OBJ fdOrPid = __arrayVal(exceptFdArray)[i];
+
+	if (fdOrPid != nil) {
+	    if (__Class(fdOrPid) == @global(Win32SocketHandle)) {
+		FD_SET (_HANDLEVal(fdOrPid), &exceptFds);
+		hasSockets++;
+	    } else if (__isExternalAddressLike(fdOrPid)) {
+		// a PID
+		hArray  [numHandles] = _HANDLEVal(fdOrPid);
+		retArray[numHandles] = i + 20000;
+		++numHandles;
+	    }
+	}
     }
 
     if (hasSockets) {
-        struct timeval tv = {0, 0};
-        int nReady;
+	struct timeval tv = {0, 0};
+	int nReady;
 
 #ifdef SELECT3DEBUGWIN32
-        console_printf("select hasSockets = %d\n", hasSockets);
-#endif
-        nReady = select(1 , &readFds, &writeFds, &exceptFds, &tv);  // first parameter to select is ignored in windows
-        if (nReady < 0) {
+	console_printf("select hasSockets = %d\n", hasSockets);
+#endif
+	nReady = select(1 , &readFds, &writeFds, &exceptFds, &tv);  // first parameter to select is ignored in windows
+	if (nReady < 0) {
 #ifdef SELECTDEBUGWIN32
-            console_printf("error in select %d %d\n", nReady, GetLastError());
-#endif
-            @global(LastErrorNumber) = __mkSmallInteger(EBADF);
-            RETURN (__mkSmallInteger(-1));
-        }
-        if (nReady > 0) {
+	    console_printf("error in select %d %d\n", nReady, GetLastError());
+#endif
+	    @global(LastErrorNumber) = __mkSmallInteger(EBADF);
+	    RETURN (__mkSmallInteger(-1));
+	}
+	if (nReady > 0) {
 #ifdef SELECT3DEBUGWIN32
-            console_printf("select nReady %d of %d\n", nReady, hasSockets);
-#endif
-            for (i = 0; i < readCount; i++) {
-                OBJ fd = __arrayVal(readFdArray)[i];
-                if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &readFds)) {
-                    if (*pcntR < resultSizeReadable) {
-                        __arrayVal(readableResultFdArray)[*pcntR] = fd;
-                        __STORE(readableResultFdArray, fd);
-                    }
-                    (*pcntR)++; cntAll++;
-                }
-            }
-            for (i = 0; i < writeCount; i++) {
-                OBJ fd = __arrayVal(writeFdArray)[i];
-                if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &writeFds)) {
-                    if (*pcntW < resultSizeWritable) {
-                        __arrayVal(writableResultFdArray)[*pcntW] = fd;
-                        __STORE(writableResultFdArray, fd);
-                    }
-                    (*pcntW)++; cntAll++;
-                }
-            }
-            for (i = 0; i < exceptCount; i++) {
-                OBJ fd = __arrayVal(exceptFdArray)[i];
-                if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &exceptFds)) {
-                    if (*pcntE < resultSizeException) {
-                        __arrayVal(exceptionResultFdArray)[*pcntE] = fd;
-                        __STORE(exceptionResultFdArray, fd);
-                    }
-                    (*pcntE)++; cntAll++;
-                }
-            }
-
-        }
+	    console_printf("select nReady %d of %d\n", nReady, hasSockets);
+#endif
+	    for (i = 0; i < readCount; i++) {
+		OBJ fd = __arrayVal(readFdArray)[i];
+		if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &readFds)) {
+		    if (*pcntR < resultSizeReadable) {
+			__arrayVal(readableResultFdArray)[*pcntR] = fd;
+			__STORE(readableResultFdArray, fd);
+		    }
+		    (*pcntR)++; cntAll++;
+		}
+	    }
+	    for (i = 0; i < writeCount; i++) {
+		OBJ fd = __arrayVal(writeFdArray)[i];
+		if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &writeFds)) {
+		    if (*pcntW < resultSizeWritable) {
+			__arrayVal(writableResultFdArray)[*pcntW] = fd;
+			__STORE(writableResultFdArray, fd);
+		    }
+		    (*pcntW)++; cntAll++;
+		}
+	    }
+	    for (i = 0; i < exceptCount; i++) {
+		OBJ fd = __arrayVal(exceptFdArray)[i];
+		if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &exceptFds)) {
+		    if (*pcntE < resultSizeException) {
+			__arrayVal(exceptionResultFdArray)[*pcntE] = fd;
+			__STORE(exceptionResultFdArray, fd);
+		    }
+		    (*pcntE)++; cntAll++;
+		}
+	    }
+
+	}
     }
     if (pass > 1)       // perform maximum 2 passes
-        goto done;
+	goto done;
 
     if (cntAll) {
-        // check for other handles and return immediately, no timeout
-        t = 0;
+	// check for other handles and return immediately, no timeout
+	t = 0;
     } else {
-        if (__isSmallInteger(millis)) {
-            t = __intVal(millis);
-
-            if (t <= 0 && numHandles == 0) {
-                RETURN (__mkSmallInteger(0));
-            }
-        } else {
-            t = INFINITE;
-        }
+	if (__isSmallInteger(millis)) {
+	    t = __intVal(millis);
+
+	    if (t <= 0 && numHandles == 0) {
+		RETURN (__mkSmallInteger(0));
+	    }
+	} else {
+	    t = INFINITE;
+	}
     }
 
     if (numHandles == 0 && t == 0) {
-        // nothing to do and no wait
-        goto done;
+	// nothing to do and no wait
+	goto done;
     }
 
 #ifdef SELECT3DEBUGWIN32
@@ -12214,105 +12227,105 @@
 
     if (res == WAIT_TIMEOUT) {
 #ifdef SELECT3DEBUGWIN32
-        console_printf("- timeOut; ret nil\n" );
-#endif
-        if (t != 0 && (hasSockets || hasPipes)) {
-            // if not a single handle is ready, poll sockets an pipes again
-            pass = 2;
-            goto pollAgain;
-        }
-        goto done;
+	console_printf("- timeOut; ret nil\n" );
+#endif
+	if (t != 0 && (hasSockets || hasPipes)) {
+	    // if not a single handle is ready, poll sockets an pipes again
+	    pass = 2;
+	    goto pollAgain;
+	}
+	goto done;
     }
 
     if (res == WAIT_FAILED) {
 #ifdef SELECT2DEBUGWIN32
-        console_printf("- error %d (last %d); ret -1\n", __threadErrno, GetLastError());
-#endif
-        if (__threadErrno == EINTR) {
-            @global(LastErrorNumber) = nil;
-            RETURN (__mkSmallInteger(0));
-        } else {
-            if (@global(InfoPrinting) == true) {
+	console_printf("- error %d (last %d); ret -1\n", __threadErrno, GetLastError());
+#endif
+	if (__threadErrno == EINTR) {
+	    @global(LastErrorNumber) = nil;
+	    RETURN (__mkSmallInteger(0));
+	} else {
+	    if (@global(InfoPrinting) == true) {
 //                console_fprintf(stderr, "Win32OS [info]: select errno = %d (last %d)\n", __threadErrno, GetLastError());
-                console_printf("Win32OS [info]: select errno = %d (last %d)\n", __threadErrno, GetLastError());
-            }
-            @global(LastErrorNumber) = __mkSmallInteger(EBADF);
-            RETURN (__mkSmallInteger(-1));
-        }
+		console_printf("Win32OS [info]: select errno = %d (last %d)\n", __threadErrno, GetLastError());
+	    }
+	    @global(LastErrorNumber) = __mkSmallInteger(EBADF);
+	    RETURN (__mkSmallInteger(-1));
+	}
     }
 
     if (numHandles) {
-        if (res == numHandles) {
-            // vmwait() added an IRQ event to the handles, and this one has been triggered
-            if (1 /* @global(InfoPrinting) == true */) {
-                console_fprintf(stderr, "Win32OS [info]: plugIn event has been handled\n");
-            }
-            goto done;
-        }
-        if ((res < 0) || (res >= numHandles)) {
-            console_printf("- res=%d error1 %d\n", res, GetLastError());
-            goto done;
-        }
-
-        idx = retArray[res];
-        cntAll++;
+	if (res == numHandles) {
+	    // vmwait() added an IRQ event to the handles, and this one has been triggered
+	    if (1 /* @global(InfoPrinting) == true */) {
+		console_fprintf(stderr, "Win32OS [info]: plugIn event has been handled\n");
+	    }
+	    goto done;
+	}
+	if ((res < 0) || (res >= numHandles)) {
+	    console_printf("- res=%d error1 %d\n", res, GetLastError());
+	    goto done;
+	}
+
+	idx = retArray[res];
+	cntAll++;
 
 #ifdef SELECTDEBUGWIN32
-        console_printf("wait Handles res %d idx %d numHandles %d --- ", res, idx, numHandles);
-#endif
-        if (idx < 10000) {
-            if (*pcntR < resultSizeReadable) {
-                OBJ temp = __arrayVal(readFdArray)[idx];
-                __arrayVal(readableResultFdArray)[*pcntR] = temp;
-                __STORE(readableResultFdArray, temp);
+	console_printf("wait Handles res %d idx %d numHandles %d --- ", res, idx, numHandles);
+#endif
+	if (idx < 10000) {
+	    if (*pcntR < resultSizeReadable) {
+		OBJ temp = __arrayVal(readFdArray)[idx];
+		__arrayVal(readableResultFdArray)[*pcntR] = temp;
+		__STORE(readableResultFdArray, temp);
 #ifdef SELECTDEBUGWIN32
-                console_printf("read ready: %x\n", __externalAddressVal(temp));
-#endif
-                (*pcntR)++;
-            }
-        } else if (idx < 20000) {
-            if (*pcntW < resultSizeWritable) {
-                OBJ temp = __arrayVal(writeFdArray)[idx-10000];
-                __arrayVal(writableResultFdArray)[*pcntW] = temp;
-                __STORE(writableResultFdArray, temp);
+		console_printf("read ready: %x\n", __externalAddressVal(temp));
+#endif
+		(*pcntR)++;
+	    }
+	} else if (idx < 20000) {
+	    if (*pcntW < resultSizeWritable) {
+		OBJ temp = __arrayVal(writeFdArray)[idx-10000];
+		__arrayVal(writableResultFdArray)[*pcntW] = temp;
+		__STORE(writableResultFdArray, temp);
 #ifdef SELECTDEBUGWIN32
-                console_printf("write ready: %x\n", temp);
-#endif
-                (*pcntW)++;
-            }
-        } else {
-            if (*pcntE < resultSizeException) {
-                OBJ temp = __arrayVal(exceptFdArray)[idx-20000];
-                __arrayVal(exceptionResultFdArray)[*pcntE] = temp;
-                __STORE(exceptionResultFdArray, temp);
+		console_printf("write ready: %x\n", temp);
+#endif
+		(*pcntW)++;
+	    }
+	} else {
+	    if (*pcntE < resultSizeException) {
+		OBJ temp = __arrayVal(exceptFdArray)[idx-20000];
+		__arrayVal(exceptionResultFdArray)[*pcntE] = temp;
+		__STORE(exceptionResultFdArray, temp);
 #ifdef SELECTDEBUGWIN32
-                console_printf("except ready: %x\n", temp);
-#endif
-                (*pcntE)++;
-            }
+		console_printf("except ready: %x\n", temp);
+#endif
+		(*pcntE)++;
+	    }
 #ifdef SELECTDEBUGWIN32
-            else
-                console_printf("cntE: %d, resultSizeException: %d\n", *pcntE, resultSizeException);
-#endif
-        }
+	    else
+		console_printf("cntE: %d, resultSizeException: %d\n", *pcntE, resultSizeException);
+#endif
+	}
     }
     if (t != 0 && (hasSockets || hasPipes)) {
-        // back after timeout, maybe some sockets or pipes did wake up
-        // in the meantime?
-        pass = 2;
-        goto pollAgain;
+	// back after timeout, maybe some sockets or pipes did wake up
+	// in the meantime?
+	pass = 2;
+	goto pollAgain;
     }
 
 done:
     /* add a delimiter */
     if (*pcntR < resultSizeReadable) {
-        __arrayVal(readableResultFdArray)[*pcntR] = nil;
+	__arrayVal(readableResultFdArray)[*pcntR] = nil;
     }
     if (*pcntW < resultSizeWritable) {
-        __arrayVal(writableResultFdArray)[*pcntW] = nil;
+	__arrayVal(writableResultFdArray)[*pcntW] = nil;
     }
     if (*pcntE < resultSizeException) {
-        __arrayVal(exceptionResultFdArray)[*pcntE] = nil;
+	__arrayVal(exceptionResultFdArray)[*pcntE] = nil;
     }
 
     @global(LastErrorNumber) = nil;
@@ -12358,59 +12371,59 @@
     INT i, count, hIdx;
 
     if (! __isArrayLike(fdOrHandleArray)) {
-        goto fail;
+	goto fail;
     }
     count = __arraySize(fdOrHandleArray);
 
     for (hIdx=0, i=0; i<count; i++) {
-        OBJ fdOrHandle = __ArrayInstPtr(fdOrHandleArray)->a_element[i];
-        HANDLE h;
-
-        if (fdOrHandle != nil) {
-            if (__isExternalAddressLike(fdOrHandle)) {
-                h = _HANDLEVal(fdOrHandle);
-            } else {
-                if (__isSmallInteger(fdOrHandle)) {
-                    h = (HANDLE) _get_osfhandle (__intVal(fdOrHandle));
-                } else {
-                    goto fail;
-                }
-            }
-            hArray[hIdx] = h;
-            idxArray[hIdx++] = i;
-        }
+	OBJ fdOrHandle = __ArrayInstPtr(fdOrHandleArray)->a_element[i];
+	HANDLE h;
+
+	if (fdOrHandle != nil) {
+	    if (__isExternalAddressLike(fdOrHandle)) {
+		h = _HANDLEVal(fdOrHandle);
+	    } else {
+		if (__isSmallInteger(fdOrHandle)) {
+		    h = (HANDLE) _get_osfhandle (__intVal(fdOrHandle));
+		} else {
+		    goto fail;
+		}
+	    }
+	    hArray[hIdx] = h;
+	    idxArray[hIdx++] = i;
+	}
     }
 
     if (__isSmallInteger(millis)) {
-        t = __intVal(millis);
+	t = __intVal(millis);
     } else {
-        t = INFINITE;
+	t = INFINITE;
     }
 
 #ifdef DO_WRAP_CALLS
     if (t != 0) {
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            res = STX_API_CALL4( "WaitForMultipleObjects", WaitForMultipleObjects, hIdx, hArray, FALSE, t);
-        } while ((res < 0) && (__threadErrno == EINTR));
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    res = STX_API_CALL4( "WaitForMultipleObjects", WaitForMultipleObjects, hIdx, hArray, FALSE, t);
+	} while ((res < 0) && (__threadErrno == EINTR));
     } else
 #endif
     {
-        res = WaitForMultipleObjects(hIdx, hArray, FALSE, t);
-        if (res < 0) {
-            __threadErrno = __WIN32_ERR(GetLastError());
-        }
+	res = WaitForMultipleObjects(hIdx, hArray, FALSE, t);
+	if (res < 0) {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	}
     }
 
     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+hIdx))) {
-        RETURN (__arrayVal(fdOrHandleArray)[idxArray[res-WAIT_OBJECT_0]]);
+	RETURN (__arrayVal(fdOrHandleArray)[idxArray[res-WAIT_OBJECT_0]]);
     }
 
     RETURN (nil);
@@ -12435,38 +12448,38 @@
     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;
-        // do not cast to INT - will loose sign bit then!
-        res = STX_API_CALL2( "WaitForSingleObject", WaitForSingleObject, h,  t);
+	__threadErrno = 0;
+	// do not cast to INT - will loose sign bit then!
+	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);
@@ -12661,11 +12674,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'!
@@ -12686,18 +12699,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
     "
 !
 
@@ -12707,14 +12720,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
     "
 !
 
@@ -12738,18 +12751,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
     "
 !
 
@@ -12759,14 +12772,14 @@
 
     "/ access lazily...
     fullPathName isNil ifTrue:[
-        fullPathName := OperatingSystem getLongPathName:sourcePath.
+	fullPathName := OperatingSystem getLongPathName:sourcePath.
     ].
 
     ^ fullPathName
 
     "
-        'C:\' asFilename info fullPathName
-        'C:\Dokumente und Einstellungen' asFilename info fullPathName
+	'C:\' asFilename info fullPathName
+	'C:\Dokumente und Einstellungen' asFilename info fullPathName
     "
 !
 
@@ -12787,9 +12800,9 @@
 
     "/ access lazily...
     linkTargetPath isNil ifTrue:[
-        type == #symbolicLink ifTrue:[
-            linkTargetPath := OperatingSystem getLinkTarget:sourcePath.
-        ]
+	type == #symbolicLink ifTrue:[
+	    linkTargetPath := OperatingSystem getLinkTarget:sourcePath.
+	]
     ].
 
     ^ linkTargetPath
@@ -13040,9 +13053,9 @@
 
 isSpecialFile
     ^ (type ~~ #directory
-        and:[type ~~ #remoteDirectory
-        and:[type ~~ #regular
-        and:[type ~~ #symbolicLink
+	and:[type ~~ #remoteDirectory
+	and:[type ~~ #regular
+	and:[type ~~ #symbolicLink
     ]]])
 !
 
@@ -13068,20 +13081,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
 "
 ! !
 
@@ -13230,15 +13243,15 @@
     COFF machine type IDs.
 
     [author:]
-        Jan Vrany
+	Jan Vrany
 
     [instance variables:]
 
     [class variables:]
 
     [see also:]
-        Microsoft Portable Executable and Common Object File Format Specification,
-        section 6. Machine Types
+	Microsoft Portable Executable and Common Object File Format Specification,
+	section 6. Machine Types
 
 "
 ! !
@@ -13298,14 +13311,14 @@
     information about executables / .dlls on Windows
 
     [author:]
-        Jan Vrany <jan.vrany@fit.cvut.cz>
+	Jan Vrany <jan.vrany@fit.cvut.cz>
 
     [instance variables:]
 
     [class variables:]
 
     [see also:]
-        Microsoft Portable Executable and Common Object File Format Specification
+	Microsoft Portable Executable and Common Object File Format Specification
 
 "
 ! !
@@ -13335,24 +13348,24 @@
 initializeOnFile: aStringOrFilename
     file := aStringOrFilename asFilename.
     file exists ifFalse:[
-        self error:'Given file does not exist'.
-        ^ nil
+	self error:'Given file does not exist'.
+	^ nil
     ].
     file isRegularFile ifFalse:[
-        self error:'Given file is not a regular file'.
-        ^ nil
+	self error:'Given file is not a regular file'.
+	^ nil
     ].
     file readingFileDo:[ :s |
-        | sig |
-        s binary.
-        s position: PE_Signature_OFFSET_OFFSET.
-        s position: (s nextUnsignedLongMSB: false).
-        sig := s next: PE_Signature size.
-        sig = PE_Signature ifFalse:[
-            self error: 'Given file is not a valid PE file (no valid PE signature found)'.
-            ^ nil
-        ].
-        data := s next: COFF_HEADER_SIZE
+	| sig |
+	s binary.
+	s position: PE_Signature_OFFSET_OFFSET.
+	s position: (s nextUnsignedLongMSB: false).
+	sig := s next: PE_Signature size.
+	sig = PE_Signature ifFalse:[
+	    self error: 'Given file is not a valid PE file (no valid PE signature found)'.
+	    ^ nil
+	].
+	data := s next: COFF_HEADER_SIZE
     ].
 
     "Created: / 16-03-2015 / 14:34:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -13377,24 +13390,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
@@ -13403,24 +13416,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
@@ -13457,86 +13470,86 @@
 documentation
 
     "
-        VISTA:
-
-        Wer versucht unter Vista die Registy HKEY_PERFORMANCE_DATA abzufragen wird zunächst enttäuscht.
-        Die UAC UserAccessControl verhindern dies nämlich (selbs für 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 zunächst enttäuscht.
+	Die UAC UserAccessControl verhindern dies nämlich (selbs für 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.
     "
 ! !
 
@@ -13545,7 +13558,7 @@
 initialize
 
     "
-        self initialize
+	self initialize
     "
 
     PerformanceText := CounterIndexTextDictionary := HelpIndexTextDictionary := nil.
@@ -13556,7 +13569,7 @@
 getPerformanceText
 
     PerformanceText isNil ifTrue:[
-        PerformanceText := Win32OperatingSystem registryEntry key:'HKEY_PERFORMANCE_TEXT'.
+	PerformanceText := Win32OperatingSystem registryEntry key:'HKEY_PERFORMANCE_TEXT'.
     ].
 
     ^ PerformanceText
@@ -13568,16 +13581,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
     "
 !
 
@@ -13585,7 +13598,7 @@
     ^ (self getFreePageFileSizeInKB / 1024) asInteger
 
     "
-        self getFreePageFileSizeInMB
+	self getFreePageFileSizeInMB
     "
 !
 
@@ -13593,16 +13606,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
     "
 !
 
@@ -13610,7 +13623,7 @@
     ^ (self getFreePhysicalMemoryInKB / 1024) asInteger
 
     "
-        self getFreePhysicalMemoryInMB
+	self getFreePhysicalMemoryInMB
     "
 !
 
@@ -13618,7 +13631,7 @@
     ^ self getPageFileSizeInMB * 1024
 
     "
-        self getPageFileSizeInKB
+	self getPageFileSizeInKB
     "
 !
 
@@ -13626,16 +13639,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
     "
 !
 
@@ -13643,16 +13656,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
     "
 !
 
@@ -13660,7 +13673,7 @@
     ^ (self getPhysicalMemoryInKB / 1024) asInteger
 
     "
-        self getPhysicalMemoryInMB
+	self getPhysicalMemoryInMB
     "
 !
 
@@ -13668,16 +13681,16 @@
     |ret|
 
     %{
-        MEMORYSTATUS mState;
-        GlobalMemoryStatus (&mState);
-
-        ret = __mkSmallInteger(mState.dwMemoryLoad);
+	MEMORYSTATUS mState;
+	GlobalMemoryStatus (&mState);
+
+	ret = __mkSmallInteger(mState.dwMemoryLoad);
     %}.
 
     ^ ret
 
     "
-        self getUsedMemoryInPercentage
+	self getUsedMemoryInPercentage
     "
 !
 
@@ -13685,16 +13698,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
     "
 !
 
@@ -13702,7 +13715,7 @@
     ^ (self getVirtualMemoryInKB / 1024) asInteger
 
     "
-        self getVirtualMemoryInMB
+	self getVirtualMemoryInMB
     "
 ! !
 
@@ -13772,157 +13785,157 @@
 
     //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;
+	//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;
 #ifdef PERF_COUNTER_PRECISION
-                        case PERF_COUNTER_PRECISION:
-                            __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(PRECISION));
-                            break;
-#endif
-                    }
-                    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);
+			case PERF_COUNTER_PRECISION:
+			    __AT_PUT_(st_perCounter, @symbol(COUNTER),@symbol(PRECISION));
+			    break;
+#endif
+		    }
+		    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.
@@ -13931,61 +13944,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:'unhandled counter-size; please check'.
-                ].
-            ].
-        ].
-
-        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:'unhandled counter-size; please check'.
+		].
+	    ].
+	].
+
+	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) copyButLast: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) copyButLast:1).
+
+		(anObject at:#Counters) do:[:aCounter|
+		    (aCounter at:#CounterValueArray) add:(getCounterValueBlock value:aCounter value:rawData).
+		].
+	    ].
+	].
     ].
 
     ^ self
@@ -13996,7 +14009,7 @@
 cachedResults
 
     cachedResults isNil ifTrue:[
-        cachedResults := IdentityDictionary new.
+	cachedResults := IdentityDictionary new.
     ].
 
     ^ cachedResults
@@ -14023,8 +14036,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
@@ -14047,18 +14060,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
+	    ].
+	].
     ].
 !
 
@@ -14082,9 +14095,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)].
@@ -14097,14 +14110,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
@@ -14128,15 +14141,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
@@ -14154,15 +14167,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
@@ -14173,14 +14186,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
@@ -14203,22 +14216,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
@@ -14234,22 +14247,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
@@ -14273,15 +14286,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)].
@@ -14290,28 +14303,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.
     ].
 
     aBoolean 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
@@ -14333,15 +14346,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)].
@@ -14350,28 +14363,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.
     ].
 
     aBoolean 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
@@ -14382,7 +14395,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -14404,7 +14417,7 @@
     ^ self getValuesByCounter:218 timed:true
 
     "
-        self current diskBytes
+	self current diskBytes
     "
 !
 
@@ -14412,7 +14425,7 @@
     ^ self getBasicValuesByCounter:218 timed:true
 
     "
-        self current diskBytesBasic
+	self current diskBytesBasic
     "
 !
 
@@ -14420,7 +14433,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskBytes]
 
     "
-        self current diskBytesPerSecond
+	self current diskBytesPerSecond
     "
 !
 
@@ -14428,7 +14441,7 @@
     ^ self getPerSecondFromLast:#diskBytesBasic
 
     "
-        self current diskBytesPerSecondFromLast
+	self current diskBytesPerSecondFromLast
     "
 !
 
@@ -14436,7 +14449,7 @@
     ^ self getValuesByCounter:198
 
     "
-        self current diskQueueLength
+	self current diskQueueLength
     "
 !
 
@@ -14444,7 +14457,7 @@
     ^ self getValuesByCounter:214 timed:true
 
     "
-        self current diskRead
+	self current diskRead
     "
 !
 
@@ -14452,7 +14465,7 @@
     ^ self getBasicValuesByCounter:214 timed:true
 
     "
-        self current diskReadBasic
+	self current diskReadBasic
     "
 !
 
@@ -14460,7 +14473,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskRead]
 
     "
-        self current diskReadsPerSecond
+	self current diskReadsPerSecond
     "
 !
 
@@ -14468,7 +14481,7 @@
     ^ self getPerSecondFromLast:#diskReadBasic
 
     "
-        self current diskReadsPerSecondFromLast
+	self current diskReadsPerSecondFromLast
     "
 !
 
@@ -14476,7 +14489,7 @@
     ^ self getValuesByCounter:408
 
     "
-        self current diskSpaceFreeInMegaByte
+	self current diskSpaceFreeInMegaByte
     "
 !
 
@@ -14484,7 +14497,7 @@
     ^ self getValuesByCounter:212 timed:true
 
     "
-        self current diskTransfers
+	self current diskTransfers
     "
 !
 
@@ -14492,7 +14505,7 @@
     ^ self getBasicValuesByCounter:212 timed:true
 
     "
-        self current diskTransfersBasic
+	self current diskTransfersBasic
     "
 !
 
@@ -14500,7 +14513,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskTransfers]
 
     "
-        self current diskTransfersPerSecond
+	self current diskTransfersPerSecond
     "
 !
 
@@ -14508,7 +14521,7 @@
     ^ self getPerSecondFromLast:#diskTransfersBasic
 
     "
-        self current diskTransfersPerSecondFromlast
+	self current diskTransfersPerSecondFromlast
     "
 !
 
@@ -14516,7 +14529,7 @@
     ^ self getValuesByCounter:216 timed:true
 
     "
-        self current diskWrite
+	self current diskWrite
     "
 !
 
@@ -14524,7 +14537,7 @@
     ^ self getBasicValuesByCounter:216 timed:true
 
     "
-        self current diskWriteBasic
+	self current diskWriteBasic
     "
 !
 
@@ -14532,7 +14545,7 @@
     ^ self getPerSecondViaPerformBlock:[self diskWrite]
 
     "
-        self current diskWritesPerSecond
+	self current diskWritesPerSecond
     "
 !
 
@@ -14540,7 +14553,7 @@
     ^ self getPerSecondFromLast:#diskWriteBasic
 
     "
-        self current diskWritesPerSecondFromLast
+	self current diskWritesPerSecondFromLast
     "
 ! !
 
@@ -14549,7 +14562,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -14578,12 +14591,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
@@ -14594,7 +14607,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -14616,7 +14629,7 @@
     ^ self getValuesByCounter:1380
 
     "
-        self current availableKBytes
+	self current availableKBytes
     "
 !
 
@@ -14624,7 +14637,7 @@
     ^ self getValuesByCounter:1382
 
     "
-        self current availableMBytes
+	self current availableMBytes
     "
 ! !
 
@@ -14633,7 +14646,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -14659,7 +14672,7 @@
     ^ self getValuesByCounter:264 timed:true
 
     "
-        self current bytesReceived
+	self current bytesReceived
     "
 !
 
@@ -14667,7 +14680,7 @@
     ^ self getBasicValuesByCounter:264 timed:true
 
     "
-        self current bytesReceivedBasic
+	self current bytesReceivedBasic
     "
 !
 
@@ -14675,7 +14688,7 @@
     ^ self getPerSecondViaPerformBlock:[self bytesReceived]
 
     "
-        self current bytesReceivedPerSecond
+	self current bytesReceivedPerSecond
     "
 !
 
@@ -14683,7 +14696,7 @@
     ^ self getPerSecondFromLast:#bytesReceivedBasic
 
     "
-        self current bytesReceivedPerSecondFromlast
+	self current bytesReceivedPerSecondFromlast
     "
 !
 
@@ -14691,7 +14704,7 @@
     ^ self getValuesByCounter:506 timed:true
 
     "
-        self current bytesSent
+	self current bytesSent
     "
 !
 
@@ -14699,7 +14712,7 @@
     ^ self getBasicValuesByCounter:506 timed:true
 
     "
-        self current bytesSentBasic
+	self current bytesSentBasic
     "
 !
 
@@ -14707,7 +14720,7 @@
     ^ self getPerSecondViaPerformBlock:[self bytesSent]
 
     "
-        self current bytesSentPerSecond
+	self current bytesSentPerSecond
     "
 !
 
@@ -14715,7 +14728,7 @@
     ^ self getPerSecondFromLast:#bytesSentBasic
 
     "
-        self current bytesSentPerSecondFromlast
+	self current bytesSentPerSecondFromlast
     "
 !
 
@@ -14725,13 +14738,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
     "
 !
 
@@ -14744,13 +14757,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
     "
 !
 
@@ -14760,13 +14773,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
     "
 !
 
@@ -14779,13 +14792,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
     "
 ! !
 
@@ -14794,7 +14807,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -14816,7 +14829,7 @@
     ^ self getValuesByCounter:6 timed:true
 
     "
-        self current processTime
+	self current processTime
     "
 !
 
@@ -14824,7 +14837,7 @@
     ^ self getBasicValuesByCounter:6 timed:true
 
     "
-        self current processTimeBasic
+	self current processTimeBasic
     "
 !
 
@@ -14834,13 +14847,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
     "
 !
 
@@ -14853,13 +14866,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
     "
 !
 
@@ -14868,7 +14881,7 @@
     ^ (self data objectArray first at:#Instances) collect:[:el|el at:#Name]
 
     "
-        self current runningProcessNameList
+	self current runningProcessNameList
     "
 !
 
@@ -14877,7 +14890,7 @@
     ^ (self data objectArray first at:#NumInstances)
 
     "
-        self current runningProcesses
+	self current runningProcesses
     "
 ! !
 
@@ -14886,7 +14899,7 @@
 current
 
     TheOneAndOnlyInstance isNil ifTrue:[
-        TheOneAndOnlyInstance := self new.
+	TheOneAndOnlyInstance := self new.
     ].
 
     ^ TheOneAndOnlyInstance
@@ -14908,7 +14921,7 @@
     ^ self getValuesByCounter:148 timed:true
 
     "
-        self current interrupts
+	self current interrupts
     "
 !
 
@@ -14916,7 +14929,7 @@
     ^ self getBasicValuesByCounter:148 timed:true
 
     "
-        self current interruptsBasic
+	self current interruptsBasic
     "
 !
 
@@ -14924,7 +14937,7 @@
     ^ self getPerSecondViaPerformBlock:[self interrupts]
 
     "
-        self current interruptsPerSecond
+	self current interruptsPerSecond
     "
 !
 
@@ -14932,7 +14945,7 @@
     ^ self getPerSecondFromLast:#interruptsBasic
 
     "
-        self current interruptsPerSecondFromLast
+	self current interruptsPerSecondFromLast
     "
 !
 
@@ -14940,7 +14953,7 @@
     ^ self getValuesByCounter:6 timed:true
 
     "
-        self current processorTime
+	self current processorTime
     "
 !
 
@@ -14948,7 +14961,7 @@
     ^ self getBasicValuesByCounter:6 timed:true
 
     "
-        self current processorTimeBasic
+	self current processorTimeBasic
     "
 !
 
@@ -14956,7 +14969,7 @@
     ^ self getUsageViaPerformBlock:[self processorTime]
 
     "
-        self current processorUsage
+	self current processorUsage
     "
 !
 
@@ -14964,7 +14977,7 @@
     ^ self getUsageFromLast:#processorTimeBasic
 
     "
-        self current processorUsageFromLast
+	self current processorUsageFromLast
     "
 ! !
 
@@ -14975,10 +14988,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
 
@@ -14990,15 +15003,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"
@@ -15008,10 +15021,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
@@ -15024,18 +15037,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"
@@ -15047,10 +15060,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
 
@@ -15063,10 +15076,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
 
@@ -15080,13 +15093,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'
       )
 !
 
@@ -15103,184 +15116,184 @@
     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]
     register an exe for shell-open:
-                                                                        [exBegin]
-        |k stx shell open cmd st_af edit st owl list id|
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\Classes\Applications'.
-        stx := k createSubKeyNamed:'SmalltalkX.exe'.
-        shell := stx createSubKeyNamed:'shell'.
-        open := shell createSubKeyNamed:'open'.
-        cmd := open createSubKeyNamed:'command'.
-        cmd defaultValue:(Character doubleQuote asString,OperatingSystem nameOfSTXExecutable,Character doubleQuote,
-                         ' ',Character doubleQuote,'%1',Character doubleQuote).
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\Classes'.
-        st_af := k createSubKeyNamed:'st_auto_file'.
-        shell := st_af createSubKeyNamed:'shell'.
-        open := shell createSubKeyNamed:'open'.
-        cmd := open createSubKeyNamed:'command'.
-        cmd defaultValue:(Character doubleQuote asString,OperatingSystem nameOfSTXExecutable,Character doubleQuote,
-                         ' --open ',Character doubleQuote,'%1',Character doubleQuote).
-        edit := shell createSubKeyNamed:'edit'.
-        cmd := edit createSubKeyNamed:'command'.
-        cmd defaultValue:(Character doubleQuote asString,OperatingSystem nameOfSTXExecutable,Character doubleQuote,
-                         ' --edit ',Character doubleQuote,'%1',Character doubleQuote).
-
-        k := Win32OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts'.
-        st := k createSubKeyNamed:'.st'.
-        owl := st createSubKeyNamed:'OpenWithList'.
-        list := owl valueNames.
-        (list contains:[:k | (owl valueNamed:k) = 'SmalltalkX.exe']) ifTrue:[
-            Transcript showCR:'already registered.'.
-        ] ifFalse:[
-            id := ($a to:$z) detect:[:k | (list includes:(k asString)) not] ifNone:nil.
-            owl valueNamed:id asString put:'SmalltalkX.exe'.
-        ]
-                                                                        [exEnd]
+									[exBegin]
+	|k stx shell open cmd st_af edit st owl list id|
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\Classes\Applications'.
+	stx := k createSubKeyNamed:'SmalltalkX.exe'.
+	shell := stx createSubKeyNamed:'shell'.
+	open := shell createSubKeyNamed:'open'.
+	cmd := open createSubKeyNamed:'command'.
+	cmd defaultValue:(Character doubleQuote asString,OperatingSystem nameOfSTXExecutable,Character doubleQuote,
+			 ' ',Character doubleQuote,'%1',Character doubleQuote).
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\Classes'.
+	st_af := k createSubKeyNamed:'st_auto_file'.
+	shell := st_af createSubKeyNamed:'shell'.
+	open := shell createSubKeyNamed:'open'.
+	cmd := open createSubKeyNamed:'command'.
+	cmd defaultValue:(Character doubleQuote asString,OperatingSystem nameOfSTXExecutable,Character doubleQuote,
+			 ' --open ',Character doubleQuote,'%1',Character doubleQuote).
+	edit := shell createSubKeyNamed:'edit'.
+	cmd := edit createSubKeyNamed:'command'.
+	cmd defaultValue:(Character doubleQuote asString,OperatingSystem nameOfSTXExecutable,Character doubleQuote,
+			 ' --edit ',Character doubleQuote,'%1',Character doubleQuote).
+
+	k := Win32OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts'.
+	st := k createSubKeyNamed:'.st'.
+	owl := st createSubKeyNamed:'OpenWithList'.
+	list := owl valueNames.
+	(list contains:[:k | (owl valueNamed:k) = 'SmalltalkX.exe']) ifTrue:[
+	    Transcript showCR:'already registered.'.
+	] ifFalse:[
+	    id := ($a to:$z) detect:[:k | (list includes:(k asString)) not] ifNone:nil.
+	    owl valueNamed:id asString put:'SmalltalkX.exe'.
+	]
+									[exEnd]
 
 
 
@@ -15330,31 +15343,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
@@ -15367,7 +15380,7 @@
     "handle image restarts and refetch registry handles"
 
     (something == #returnFromSnapshot) ifTrue:[
-        self initialize
+	self initialize
     ]
 
     "Created: 15.6.1996 / 15:14:03 / cg"
@@ -15380,9 +15393,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 ...
@@ -15430,9 +15443,9 @@
 key:aKeyNamePath flags:flags
     "retrieve an entry by full path name (starting at a root).
      flags may be one of:
-        #KEY_WOW64_64KEY to force access to the 64Bit Windows key,
-        #KEY_WOW64_32KEY to force access to the 32Bit Windows key,
-        or nil, to access the key (32/64) for the current application"
+	#KEY_WOW64_64KEY to force access to the 64Bit Windows key,
+	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
+	or nil, to access the key (32/64) for the current application"
 
     ^ self key:aKeyNamePath flags:flags createIfAbsent:false
 
@@ -15451,9 +15464,9 @@
 key:aKeyNamePath flags:flags createIfAbsent:createIfAbsent
     "retrieve an entry by full path name (starting at a root).
      flags may be one of:
-        #KEY_WOW64_64KEY to force access to the 64Bit Windows key,
-        #KEY_WOW64_32KEY to force access to the 32Bit Windows key,
-        or nil, to access the key (32/64) for the current application"
+	#KEY_WOW64_64KEY to force access to the 64Bit Windows key,
+	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
+	or nil, to access the key (32/64) for the current application"
 
     |idx first rest root|
 
@@ -15461,11 +15474,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.
@@ -15473,17 +15486,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 flags:flags createIfAbsent:createIfAbsent.
+	^ root subKeyNamed:rest flags:flags createIfAbsent:createIfAbsent.
     ].
 
     "
@@ -15620,7 +15633,7 @@
 
     k := self key:'HKEY_CLASSES_ROOT\MIME\Database\Content Type\',mimeType.
     k notNil ifTrue:[
-        suffix := k valueNamed:'extension'.
+	suffix := k valueNamed:'extension'.
     ].
     ^ suffix
 !
@@ -15634,35 +15647,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
+	].
     ].
 
 
@@ -15687,8 +15700,8 @@
 
     "
      self
-        stringValueFor:'Content Type'
-        atKey:'HKEY_CLASSES_ROOT\.au'
+	stringValueFor:'Content Type'
+	atKey:'HKEY_CLASSES_ROOT\.au'
     "
 ! !
 
@@ -15743,9 +15756,9 @@
      If it already exists, return it.
      Return nil if the new key cannot be created.
      flags may be one of:
-        #KEY_WOW64_64KEY to force access to the 64Bit Windows key,
-        #KEY_WOW64_32KEY to force access to the 32Bit Windows key,
-        or nil, to access the key (32/64) for the current application"
+	#KEY_WOW64_64KEY to force access to the 64Bit Windows key,
+	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
+	or nil, to access the key (32/64) for the current application"
 
 
     ^ self subKeyNamed:subKeyString flags:flags createIfAbsent:true
@@ -15777,12 +15790,12 @@
     "delete a key below mySelf.
      Return true on success.
      flags may be one of:
-        #KEY_WOW64_64KEY to force access to the 64Bit Windows key,
-        #KEY_WOW64_32KEY to force access to the 32Bit Windows key,
-        or nil, to access the key (32/64) for the current application.
+	#KEY_WOW64_64KEY to force access to the 64Bit Windows key,
+	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
+	or nil, to access the key (32/64) for the current application.
 
      CAVEAT: due to a missing library entry in the BCC system,
-             the flags are currently ignored"
+	     the flags are currently ignored"
 
     |subKeyStringZ errorNumber|
 
@@ -15800,40 +15813,40 @@
     int _flags = 0;
 
     if (flags != nil) {
-        if (flags == @symbol(KEY_WOW64_64KEY)) {
-            _flags = KEY_WOW64_64KEY;
-        } else if (flags == @symbol(KEY_WOW64_32KEY)) {
-            _flags = KEY_WOW64_32KEY;
-        } else {
-            errorNumber = @symbol(badArgument2);
-            goto out;
-        }
+	if (flags == @symbol(KEY_WOW64_64KEY)) {
+	    _flags = KEY_WOW64_64KEY;
+	} else if (flags == @symbol(KEY_WOW64_32KEY)) {
+	    _flags = KEY_WOW64_32KEY;
+	} else {
+	    errorNumber = @symbol(badArgument2);
+	    goto out;
+	}
     }
 
     if (__isExternalAddressLike(__INST(handle))
      && __isUnicode16String(subKeyStringZ)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
 #ifdef __BORLANDC__
-        _retVal = RegDeleteKeyW(myKey, __unicode16StringVal(subKeyStringZ));
-#else
-        _retVal = RegDeleteKeyExW(myKey,
-                    __unicode16StringVal(subKeyStringZ),
-                    _flags,
-                    0); // reserved
-#endif
-        if (_retVal == ERROR_SUCCESS) {
-            RETURN (true);
-        }
-        if ((_retVal != ERROR_PATH_NOT_FOUND)
-         && (_retVal != ERROR_FILE_NOT_FOUND)) {
-            errorNumber = __MKSMALLINT(_retVal);
-        }
+	_retVal = RegDeleteKeyW(myKey, __unicode16StringVal(subKeyStringZ));
+#else
+	_retVal = RegDeleteKeyExW(myKey,
+		    __unicode16StringVal(subKeyStringZ),
+		    _flags,
+		    0); // reserved
+#endif
+	if (_retVal == ERROR_SUCCESS) {
+	    RETURN (true);
+	}
+	if ((_retVal != ERROR_PATH_NOT_FOUND)
+	 && (_retVal != ERROR_FILE_NOT_FOUND)) {
+	    errorNumber = __MKSMALLINT(_retVal);
+	}
     }
 out:;
 %}.
 
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ false
 
@@ -15857,24 +15870,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
 
@@ -15921,30 +15934,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
 
@@ -15973,30 +15986,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:[
-        ^ {subKeyName . subKeyClassName}.
+	^ {subKeyName . subKeyClassName}.
     ].
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ nil
 
@@ -16034,9 +16047,9 @@
     "return a new registry entry below mySelf with the given subKey.
      Return nil if no such key exists.
      flags may be one of:
-        #KEY_WOW64_64KEY to force access to the 64Bit Windows key,
-        #KEY_WOW64_32KEY to force access to the 32Bit Windows key,
-        or nil, to access the key (32/64) for the current application"
+	#KEY_WOW64_64KEY to force access to the 64Bit Windows key,
+	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
+	or nil, to access the key (32/64) for the current application"
 
 
     ^ self subKeyNamed:subKeyString flags:flags createIfAbsent:false
@@ -16047,9 +16060,9 @@
      If no such key exists and createIfAbsent is true, the key is created.
      Otherwise, nil is returned.
      flags may be one of:
-        #KEY_WOW64_64KEY to force access to the 64Bit Windows key,
-        #KEY_WOW64_32KEY to force access to the 32Bit Windows key,
-        or nil, to access the key (32/64) for the current application"
+	#KEY_WOW64_64KEY to force access to the 64Bit Windows key,
+	#KEY_WOW64_32KEY to force access to the 32Bit Windows key,
+	or nil, to access the key (32/64) for the current application"
 
     |subKeyStringZ newEntry subHandle errorNumber disposition|
 
@@ -16068,72 +16081,72 @@
     int _disposition = 0;
 
     if (flags != nil) {
-        if (flags == @symbol(KEY_WOW64_64KEY)) {
-            _flags = KEY_WOW64_64KEY;
-        } else if (flags == @symbol(KEY_WOW64_32KEY)) {
-            _flags = KEY_WOW64_32KEY;
-        } else {
-            errorNumber = @symbol(badArgument2);
-            goto out;
-        }
+	if (flags == @symbol(KEY_WOW64_64KEY)) {
+	    _flags = KEY_WOW64_64KEY;
+	} else if (flags == @symbol(KEY_WOW64_32KEY)) {
+	    _flags = KEY_WOW64_32KEY;
+	} else {
+	    errorNumber = @symbol(badArgument2);
+	    goto out;
+	}
     }
 
     if (__isExternalAddressLike(__INST(handle))
-        && __isUnicode16String(subKeyStringZ)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if (createIfAbsent == true) {
-            _retVal = RegCreateKeyExW(myKey,
-                        __unicode16StringVal(subKeyStringZ),
-                        0,      // reserved
-                        NULL,   // class
-                        0,      // options
-                        KEY_ALL_ACCESS|_flags,   // rights
-                        NULL,   // securityAttributes - handle cannot be inherited
-                        &subKey,
-                        &_disposition);  // disposition (created vs. opened)
-            disposition = _disposition == REG_CREATED_NEW_KEY ? true : false;
-        } else {
-            _retVal = RegOpenKeyExW(
-                myKey,
-                __unicode16StringVal(subKeyStringZ),
-                0,
-                KEY_ALL_ACCESS|_flags,
-                &subKey);
-
-            if (!(_retVal == 0)) {
-                // try again with less permission
-                _retVal = RegOpenKeyExW(
-                    myKey,
-                    __unicode16StringVal(subKeyStringZ),
-                    0,
-                    KEY_READ |_flags,
-                    &subKey);
-            }
-
-            disposition = false;
-        }
-        if (_retVal == ERROR_SUCCESS) {
-            subHandle = __MKEXTERNALADDRESS(subKey);
-        } else {
-            if ((_retVal != ERROR_PATH_NOT_FOUND)
-             && (_retVal != ERROR_FILE_NOT_FOUND)) {
-                errorNumber = __MKSMALLINT(_retVal);
-            }
-        }
+	&& __isUnicode16String(subKeyStringZ)) {
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+	if (createIfAbsent == true) {
+	    _retVal = RegCreateKeyExW(myKey,
+			__unicode16StringVal(subKeyStringZ),
+			0,      // reserved
+			NULL,   // class
+			0,      // options
+			KEY_ALL_ACCESS|_flags,   // rights
+			NULL,   // securityAttributes - handle cannot be inherited
+			&subKey,
+			&_disposition);  // disposition (created vs. opened)
+	    disposition = _disposition == REG_CREATED_NEW_KEY ? true : false;
+	} else {
+	    _retVal = RegOpenKeyExW(
+		myKey,
+		__unicode16StringVal(subKeyStringZ),
+		0,
+		KEY_ALL_ACCESS|_flags,
+		&subKey);
+
+	    if (!(_retVal == 0)) {
+		// try again with less permission
+		_retVal = RegOpenKeyExW(
+		    myKey,
+		    __unicode16StringVal(subKeyStringZ),
+		    0,
+		    KEY_READ |_flags,
+		    &subKey);
+	    }
+
+	    disposition = false;
+	}
+	if (_retVal == ERROR_SUCCESS) {
+	    subHandle = __MKEXTERNALADDRESS(subKey);
+	} else {
+	    if ((_retVal != ERROR_PATH_NOT_FOUND)
+	     && (_retVal != ERROR_FILE_NOT_FOUND)) {
+		errorNumber = __MKSMALLINT(_retVal);
+	    }
+	}
     }
 out:;
 %}.
     subHandle notNil ifTrue:[
-        newEntry := self class basicNew
-                        setHandle:subHandle
-                        path:((path ? '?') , self class separator asString , subKeyString)
-                        isNew:disposition.
-
-        newEntry registerForFinalization.
-        ^ newEntry.
+	newEntry := self class basicNew
+			setHandle:subHandle
+			path:((path ? '?') , self class separator asString , subKeyString)
+			isNew:disposition.
+
+	newEntry registerForFinalization.
+	^ newEntry.
     ].
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportProceedableError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportProceedableError.
     ].
     ^ nil
 
@@ -16163,11 +16176,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
@@ -16189,18 +16202,18 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(aValueName)) {
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-        if ((_retVal = RegDeleteValueA(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 = RegDeleteValueA(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
 !
@@ -16220,25 +16233,25 @@
 
     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)
-             && (_retVal != ERROR_NO_MORE_ITEMS)) {
-                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)
+	     && (_retVal != ERROR_NO_MORE_ITEMS)) {
+		errorNumber = __MKSMALLINT(_retVal);
+	    }
+	}
     }
 %}.
     errorNumber notNil ifTrue:[
-        (OperatingSystem errorHolderForNumber:errorNumber) reportError.
+	(OperatingSystem errorHolderForNumber:errorNumber) reportError.
     ].
     ^ valueName
 
@@ -16252,11 +16265,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|
@@ -16265,9 +16278,9 @@
     HKEY myKey;
     DWORD valueType;
     union {
-        DWORD dWord;
-        unsigned char dWordBytes[4];
-        unsigned char smallDataBuffer[1024*16];
+	DWORD dWord;
+	unsigned char dWordBytes[4];
+	unsigned char smallDataBuffer[1024*16];
     } quickData;
     int val;
     DWORD dataSize = sizeof(quickData);
@@ -16283,164 +16296,164 @@
 
     if (__isExternalAddressLike(__INST(handle))
      && __isStringLike(aValueName)) {
-        int ret;
-
-        myKey = (HKEY)__externalAddressVal(__INST(handle));
-
-        /*
-         * try to get it with one call ...
-         */
-        ret = RegQueryValueExA(myKey, __stringVal(aValueName),
-                         NULL,
-                         &valueType,
-                         (char *)&quickData,
-                         &dataSize);
+	int ret;
+
+	myKey = (HKEY)__externalAddressVal(__INST(handle));
+
+	/*
+	 * try to get it with one call ...
+	 */
+	ret = RegQueryValueExA(myKey, __stringVal(aValueName),
+			 NULL,
+			 &valueType,
+			 (char *)&quickData,
+			 &dataSize);
 #if 0
-        console_printf("get \"%s\": dataSize=%d ret=%d\n", __stringVal(aValueName), dataSize, ret);
-#endif
-        while (ret == ERROR_MORE_DATA) {
+	console_printf("get \"%s\": dataSize=%d ret=%d\n", __stringVal(aValueName), dataSize, ret);
+#endif
+	while (ret == ERROR_MORE_DATA) {
 #if 0
-            console_printf("ERROR_MORE_DATA dataSize=%d valueType=%d\n", dataSize, 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 valueType=%d\n", dataSize, 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 valueType=%d\n", dataSize, 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 valueType=%d\n", dataSize, 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
@@ -16455,11 +16468,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|
@@ -16473,99 +16486,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
 
@@ -16586,14 +16599,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.
     ]
 
     "
@@ -16601,7 +16614,7 @@
 
      top := self key:'HKEY_LOCAL_MACHINE'.
      top allSubKeysDo:[:subEntry |
-        Transcript showCR:subEntry path
+	Transcript showCR:subEntry path
      ]
     "
 !
@@ -16613,12 +16626,12 @@
 
     idx := 0.
     [true] whileTrue:[
-        nameAndClassNameOrNil := self subKeyNameAndClassAtIndex:idx.
-        nameAndClassNameOrNil isNil ifTrue:[
-            ^self
-        ].
-        aTwoArgBlock value:nameAndClassNameOrNil first value:nameAndClassNameOrNil second.
-        idx := idx + 1.
+	nameAndClassNameOrNil := self subKeyNameAndClassAtIndex:idx.
+	nameAndClassNameOrNil isNil ifTrue:[
+	    ^self
+	].
+	aTwoArgBlock value:nameAndClassNameOrNil first value:nameAndClassNameOrNil second.
+	idx := idx + 1.
     ]
 
     "
@@ -16626,7 +16639,7 @@
 
      top := self key:'HKEY_LOCAL_MACHINE'.
      top subKeyNamesAndClassesDo:[:nm :cls |
-        Transcript showCR:('name: ',nm,' class: ',cls)
+	Transcript showCR:('name: ',nm,' class: ',cls)
      ]
     "
 !
@@ -16658,13 +16671,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.
     ]
 
     "
@@ -16672,7 +16685,7 @@
 
      top := self key:'HKEY_LOCAL_MACHINE'.
      top subKeysDo:[:subEntry |
-        Transcript showCR:subEntry path
+	Transcript showCR:subEntry path
      ]
     "
     "
@@ -16680,11 +16693,11 @@
 
      top := self key:'HKEY_LOCAL_MACHINE'.
      OSErrorHolder noPermissionsSignal handle:[:ex |
-        ex proceed
+	ex proceed
      ] do:[
-         top subKeysDo:[:subEntry |
-            Transcript showCR:subEntry path
-         ]
+	 top subKeysDo:[:subEntry |
+	    Transcript showCR:subEntry path
+	 ]
      ]
     "
 !
@@ -16693,7 +16706,7 @@
     "evaluate aBlock for all value names"
 
     ^ Array streamContents:[:s |
-        self valueNamesDo:[:nm | s nextPut:nm]
+	self valueNamesDo:[:nm | s nextPut:nm]
     ].
 
     "Created: / 18-01-2011 / 20:24:52 / cg"
@@ -16703,7 +16716,7 @@
     "evaluate aBlock for all value names"
 
     self valueNamesDo:[:nm |
-        aBlock value:nm value:(self valueNamed:nm)
+	aBlock value:nm value:(self valueNamed:nm)
     ]
 
     "
@@ -16711,7 +16724,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).
      ]
     "
 !
@@ -16723,12 +16736,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.
     ]
 ! !
 
@@ -16748,9 +16761,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);
     }
 %}
 !
@@ -16763,7 +16776,7 @@
     "some entry has been collected - close it"
 
     handle notNil ifTrue:[
-        self closeKey.
+	self closeKey.
     ]
 
     "Created: / 19.5.1999 / 22:39:52 / cg"
@@ -16774,10 +16787,10 @@
 
 printOn:aStream
     aStream
-        nextPutAll:self className;
-        nextPut:$(;
-        nextPutAll:path;
-        nextPut:$).
+	nextPutAll:self className;
+	nextPut:$(;
+	nextPutAll:path;
+	nextPut:$).
 ! !
 
 !Win32OperatingSystem::RegistryEntry methodsFor:'private'!
@@ -16808,7 +16821,7 @@
 
     key = (HKEY)__longIntVal(integerHandleValue);
     if (! key) {
-        RETURN (nil);
+	RETURN (nil);
     }
 
     t = __MKEXTERNALADDRESS(key); __INST(handle) = t; __STORE(self, t);
@@ -16900,90 +16913,90 @@
     int 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));
-        if (extPtr == NULL) goto bad;
-        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));
+	if (extPtr == NULL) goto bad;
+	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;
-        // do not cast to INT - will loose sign bit then!
-        ok = (int)(STX_API_NOINT_CALL5( "ReadFile", ReadFile, hFile, extPtr, cntWanted, &cntRead, 0 /* lpOverlapped */));
+	__threadErrno = 0;
+	// do not cast to INT - will loose sign bit then!
+	ok = (int)(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
     ].
 
     "
@@ -17007,48 +17020,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: ;
@@ -17063,9 +17076,9 @@
 
 seekTo:newPosition from:whence
     "whence is one of:
-        #begin
-        #current
-        #end
+	#begin
+	#current
+	#end
     "
 
     |errSym errorNumber|
@@ -17077,24 +17090,24 @@
     __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;
     }
 #if __POINTER_SIZE__ == 8
     posLo = pos64 & 0xFFFFFFFF;
@@ -17105,18 +17118,18 @@
 #endif
     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 ));
     }
 #if __POINTER_SIZE__ == 8
     newPos64 = (__uint64__)posLo | ((__uint64__)posHi << 32);
@@ -17131,9 +17144,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
     ].
 !
 
@@ -17154,84 +17167,84 @@
     int 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));
-        if (extPtr == NULL) goto bad;
-        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));
+	if (extPtr == NULL) goto bad;
+	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;
-        // do not cast to INT - will loose sign bit then!
-        ok = (int)(STX_API_NOINT_CALL5( "WriteFile", WriteFile, hFile, extPtr, cntWanted, &cntWritten, 0 /* lpOverlapped */));
+	__threadErrno = 0;
+	// do not cast to INT - will loose sign bit then!
+	ok = (int)(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
     ].
 
     "
@@ -17290,8 +17303,8 @@
     DisplayTypeMappingTable := Dictionary new.
 
     symbTable keysAndValuesDo:[:aSYMB :anINT |
-        DisplayTypeMappingTable at: aSYMB put: anINT.
-        DisplayTypeMappingTable at: anINT put: aSYMB. "/ vice versa
+	DisplayTypeMappingTable at: aSYMB put: anINT.
+	DisplayTypeMappingTable at: anINT put: aSYMB. "/ vice versa
     ].
     ^ DisplayTypeMappingTable
 !
@@ -17313,8 +17326,8 @@
     ScopeMappingTable := Dictionary new.
 
     symbTable keysAndValuesDo:[:aSYMB :anINT |
-        ScopeMappingTable at: aSYMB put: anINT.
-        ScopeMappingTable at: anINT put: aSYMB. "/ vice versa
+	ScopeMappingTable at: aSYMB put: anINT.
+	ScopeMappingTable at: anINT put: aSYMB. "/ vice versa
     ].
     ^ ScopeMappingTable
 !
@@ -17336,8 +17349,8 @@
     TypeMappingTable := Dictionary new.
 
     symbTable keysAndValuesDo:[:aSYMB :anINT |
-        TypeMappingTable at: aSYMB put: anINT.
-        TypeMappingTable at: anINT put: aSYMB. "/ vice versa
+	TypeMappingTable at: aSYMB put: anINT.
+	TypeMappingTable at: anINT put: aSYMB. "/ vice versa
     ].
     ^ TypeMappingTable
 !
@@ -17362,8 +17375,8 @@
     UsageMappingTable := Dictionary new.
 
     symbTable keysAndValuesDo:[:aSYMB :anINT |
-        UsageMappingTable at: aSYMB put: anINT.
-        UsageMappingTable at: anINT put: aSYMB. "/ vice versa
+	UsageMappingTable at: aSYMB put: anINT.
+	UsageMappingTable at: anINT put: aSYMB. "/ vice versa
     ].
     ^ UsageMappingTable
 ! !
@@ -17379,25 +17392,25 @@
      and nil is returned.
 
     self fetchResourcesStartingAt: nil withScope: #GLOBALNET type: #ANY usage: 0
-        onError: [:err| Transcript showCR: err ].
+	onError: [:err| Transcript showCR: err ].
     "
     | stream networkResources |
 
     [
-        stream := self openAt: aNetworkResourceOrNil
-            withScope: aScope type: aType usage: aUsage onError: aBlock.
-
-        stream notNil ifTrue:[
-            |next|
-
-            networkResources := OrderedCollection new.
-
-            [ (next := stream nextOrNil) notNil ] whileTrue:[
-                networkResources add:next.
-            ].
-        ]
+	stream := self openAt: aNetworkResourceOrNil
+	    withScope: aScope type: aType usage: aUsage onError: aBlock.
+
+	stream notNil ifTrue:[
+	    |next|
+
+	    networkResources := OrderedCollection new.
+
+	    [ (next := stream nextOrNil) notNil ] whileTrue:[
+		networkResources add:next.
+	    ].
+	]
     ] ensure:[
-        stream notNil ifTrue:[ stream close ].
+	stream notNil ifTrue:[ stream close ].
     ].
     ^ networkResources.
 !
@@ -17410,17 +17423,17 @@
      and nil is returned.
 
     self fetchSystemResourcesWithScope: #GLOBALNET type: #ANY usage: 0
-        onError: [:err| Transcript showCR: err ].
+	onError: [:err| Transcript showCR: err ].
 
     self fetchSystemResourcesWithScope: #REMEMBERED type: #DISK usage: 0
-        onError: [:err| Transcript showCR: err ].
+	onError: [:err| Transcript showCR: err ].
 
     self fetchSystemResourcesWithScope: #REMEMBERED type: #ANY usage: 0
-        onError: [:err| Transcript showCR: err ].
+	onError: [:err| Transcript showCR: err ].
     "
 
     ^ self fetchResourcesStartingAt: nil
-            withScope: aScope type: aType usage: aUsage onError: aBlock
+	    withScope: aScope type: aType usage: aUsage onError: aBlock
 !
 
 fetchVirtualDrives
@@ -17447,39 +17460,39 @@
 
     "/ map symbols to integer values.. on error an exception is raised
     aScope isInteger ifTrue:[ enumScope := aScope ]
-                    ifFalse:[ enumScope := self scopeMappingTable at:aScope ].
+		    ifFalse:[ enumScope := self scopeMappingTable at:aScope ].
 
     aUsage isInteger ifTrue:[ enumUsage := aUsage ]
-                    ifFalse:[ enumUsage := self usageMappingTable at:aUsage ].
+		    ifFalse:[ enumUsage := self usageMappingTable at:aUsage ].
 
     aType isInteger ifTrue:[ enumType := aType ]
-                   ifFalse:[ enumType := self typeMappingTable at:aType ].
+		   ifFalse:[ enumType := self typeMappingTable at:aType ].
 
     aResourceOrNil notNil ifTrue:[ | checkAndGetString |
-        resScope := aResourceOrNil scope.
-        resScope isInteger ifFalse:[ resScope := self scopeMappingTable at:resScope ].
-
-        resType := aResourceOrNil type.
-        resType isInteger ifFalse:[ resType := self typeMappingTable at: resType ].
-
-        resUsage := aResourceOrNil usage.
-        resUsage isInteger ifFalse:[ resUsage := self usageMappingTable at: resUsage ].
-
-        resDisplayType := aResourceOrNil displayType.
-        resDisplayType isInteger ifFalse:[ resDisplayType := self displayTypeMappingTable at:resDisplayType ].
-
-        checkAndGetString := [: aString| |string|
-            aString notNil ifTrue:[
-                self isUsingUnicode
-                    ifTrue: [ string := aString asUnicode16String  ]
-                    ifFalse:[ string := aString asSingleByteString ].
-            ].
-            string
-        ].
-        resRemoteName  := checkAndGetString value:( aResourceOrNil remoteName ).
-        resLocalName   := checkAndGetString value:( aResourceOrNil localName ).
-        resComment     := checkAndGetString value:( aResourceOrNil comment ).
-        resProvider    := checkAndGetString value:( aResourceOrNil provider ).
+	resScope := aResourceOrNil scope.
+	resScope isInteger ifFalse:[ resScope := self scopeMappingTable at:resScope ].
+
+	resType := aResourceOrNil type.
+	resType isInteger ifFalse:[ resType := self typeMappingTable at: resType ].
+
+	resUsage := aResourceOrNil usage.
+	resUsage isInteger ifFalse:[ resUsage := self usageMappingTable at: resUsage ].
+
+	resDisplayType := aResourceOrNil displayType.
+	resDisplayType isInteger ifFalse:[ resDisplayType := self displayTypeMappingTable at:resDisplayType ].
+
+	checkAndGetString := [: aString| |string|
+	    aString notNil ifTrue:[
+		self isUsingUnicode
+		    ifTrue: [ string := aString asUnicode16String  ]
+		    ifFalse:[ string := aString asSingleByteString ].
+	    ].
+	    string
+	].
+	resRemoteName  := checkAndGetString value:( aResourceOrNil remoteName ).
+	resLocalName   := checkAndGetString value:( aResourceOrNil localName ).
+	resComment     := checkAndGetString value:( aResourceOrNil comment ).
+	resProvider    := checkAndGetString value:( aResourceOrNil provider ).
     ].
     resourceHandle := self new.
 
@@ -17503,75 +17516,75 @@
 #endif
 
     if( resScope == nil ) {
-        __lpnetRes = 0;
+	__lpnetRes = 0;
     } else {
-        int __sz;
-
-        ZeroMemory( __buffer, (__cp - __buffer) );
-
-        __lpnetRes->dwScope       = __unsignedLongIntVal( resScope );
-        __lpnetRes->dwType        = __unsignedLongIntVal( resType  );
-        __lpnetRes->dwUsage       = __unsignedLongIntVal( resUsage );
-        __lpnetRes->dwDisplayType = __unsignedLongIntVal( resDisplayType );
-
-        if( resRemoteName != nil ) {
+	int __sz;
+
+	ZeroMemory( __buffer, (__cp - __buffer) );
+
+	__lpnetRes->dwScope       = __unsignedLongIntVal( resScope );
+	__lpnetRes->dwType        = __unsignedLongIntVal( resType  );
+	__lpnetRes->dwUsage       = __unsignedLongIntVal( resUsage );
+	__lpnetRes->dwDisplayType = __unsignedLongIntVal( resDisplayType );
+
+	if( resRemoteName != nil ) {
 #ifdef USE_ANSI_NETWORKRESOURCES
-            __sp = __stringVal(resRemoteName);
-            __sz = strlen(__sp);
-#else
-            __sp = __unicode16StringVal(resRemoteName);
-            __sz = __unicode16StringSize(resRemoteName);
-#endif
-            for( __lpnetRes->lpRemoteName = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
-            *__cp++ = 0;
-        }
-
-        if( resLocalName != nil ) {
+	    __sp = __stringVal(resRemoteName);
+	    __sz = strlen(__sp);
+#else
+	    __sp = __unicode16StringVal(resRemoteName);
+	    __sz = __unicode16StringSize(resRemoteName);
+#endif
+	    for( __lpnetRes->lpRemoteName = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
+	    *__cp++ = 0;
+	}
+
+	if( resLocalName != nil ) {
 #ifdef USE_ANSI_NETWORKRESOURCES
-            __sp = __stringVal(resLocalName);
-            __sz = strlen(__sp);
-#else
-            __sp = __unicode16StringVal(resLocalName);
-            __sz = __unicode16StringSize(resLocalName);
-#endif
-            for( __lpnetRes->lpLocalName = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
-            *__cp++ = 0;
-        }
-
-        if( resComment != nil ) {
+	    __sp = __stringVal(resLocalName);
+	    __sz = strlen(__sp);
+#else
+	    __sp = __unicode16StringVal(resLocalName);
+	    __sz = __unicode16StringSize(resLocalName);
+#endif
+	    for( __lpnetRes->lpLocalName = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
+	    *__cp++ = 0;
+	}
+
+	if( resComment != nil ) {
 #ifdef USE_ANSI_NETWORKRESOURCES
-            __sp = __stringVal(resComment);
-            __sz = strlen(__sp);
-#else
-            __sp = __unicode16StringVal(resComment);
-            __sz = __unicode16StringSize(resComment);
-#endif
-            for( __lpnetRes->lpComment = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
-            *__cp++ = 0;
-        }
-
-        if( resProvider != nil ) {
+	    __sp = __stringVal(resComment);
+	    __sz = strlen(__sp);
+#else
+	    __sp = __unicode16StringVal(resComment);
+	    __sz = __unicode16StringSize(resComment);
+#endif
+	    for( __lpnetRes->lpComment = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
+	    *__cp++ = 0;
+	}
+
+	if( resProvider != nil ) {
 #ifdef USE_ANSI_NETWORKRESOURCES
-            __sp = __stringVal(resProvider);
-            __sz = strlen(__sp);
-#else
-            __sp = __unicode16StringVal(resProvider);
-            __sz = __unicode16StringSize(resProvider);
-#endif
-            for( __lpnetRes->lpProvider = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
-            *__cp++ = 0;
-        }
+	    __sp = __stringVal(resProvider);
+	    __sz = strlen(__sp);
+#else
+	    __sp = __unicode16StringVal(resProvider);
+	    __sz = __unicode16StringSize(resProvider);
+#endif
+	    for( __lpnetRes->lpProvider = __cp; __sz > 0; --__sz ) { * __cp++ = * __sp++; }
+	    *__cp++ = 0;
+	}
     }
 
 #ifdef DO_WRAP_CALLS
     do {
-        __threadErrno = 0;
+	__threadErrno = 0;
 #ifdef USE_ANSI_NETWORKRESOURCES
-        // do not cast to INT - will loose sign bit then!
-        __errno = (int)(STX_API_NOINT_CALL5( "WNetOpenEnumA",  WNetOpenEnumA,  __scope, __type, __usage, __lpnetRes, & __hEnum ));
-#else
-        // do not cast to INT - will loose sign bit then!
-        __errno = (int)(STX_API_NOINT_CALL5( "WNetOpenEnumW", WNetOpenEnumW, __scope, __type, __usage, __lpnetRes, & __hEnum ));
+	// do not cast to INT - will loose sign bit then!
+	__errno = (int)(STX_API_NOINT_CALL5( "WNetOpenEnumA",  WNetOpenEnumA,  __scope, __type, __usage, __lpnetRes, & __hEnum ));
+#else
+	// do not cast to INT - will loose sign bit then!
+	__errno = (int)(STX_API_NOINT_CALL5( "WNetOpenEnumW", WNetOpenEnumW, __scope, __type, __usage, __lpnetRes, & __hEnum ));
 #endif
     } while ((__errno < 0) && (__threadErrno == EINTR));
 #else
@@ -17585,16 +17598,16 @@
 #endif
 
     if( __errno == NO_ERROR ) {
-        __externalAddressVal(resourceHandle) = (void *) __hEnum;
+	__externalAddressVal(resourceHandle) = (void *) __hEnum;
     } else {
-        resourceHandle = nil;
-        errorNumber    = __mkSmallInteger( __errno );
+	resourceHandle = nil;
+	errorNumber    = __mkSmallInteger( __errno );
     }
 
 %}.
     resourceHandle isNil ifTrue:[
-        aBlock notNil ifTrue:[ aBlock value: errorNumber ].
-        ^ nil
+	aBlock notNil ifTrue:[ aBlock value: errorNumber ].
+	^ nil
     ].
     resourceHandle registerForFinalization.
     ^ resourceHandle
@@ -17634,61 +17647,61 @@
     HANDLE __hEnum = (HANDLE)(__externalAddressVal(self));
 
     if ((__hEnum == 0) || (__hEnum == INVALID_HANDLE_VALUE)) {
-        __externalAddressVal(self) = (HANDLE)0;
+	__externalAddressVal(self) = (HANDLE)0;
     } else {
-        DWORD           __entries = 1;
-        DWORD           __bufSize = 8192;
-        int             __errno;
+	DWORD           __entries = 1;
+	DWORD           __bufSize = 8192;
+	int             __errno;
 
 #ifdef USE_ANSI_NETWORKRESOURCES
-        char            __buffer[ 8192 ];
-        LPNETRESOURCE   __lpNetRes  = (LPNETRESOURCE)  __buffer;
-
-        ZeroMemory( __buffer, sizeof(NETRESOURCE) );
-        __errno = WNetEnumResourceA ( __hEnum , & __entries , __lpNetRes, & __bufSize );
-#else
-        wchar_t         __buffer[ 8192 ];
-        LPNETRESOURCEW  __lpNetRes  = (LPNETRESOURCEW) __buffer;
-
-        ZeroMemory( __buffer, sizeof(NETRESOURCEW) );
-        __errno = WNetEnumResourceW ( __hEnum , & __entries , __lpNetRes, & __bufSize );
-#endif
-
-        if( (__errno  == NO_ERROR) && (__entries == 1) ) {
-            scope       = __MKUINT( __lpNetRes->dwScope );
-            type        = __MKUINT( __lpNetRes->dwType );
-            usage       = __MKUINT( __lpNetRes->dwUsage );
-            displayType = __MKUINT( __lpNetRes->dwDisplayType );
+	char            __buffer[ 8192 ];
+	LPNETRESOURCE   __lpNetRes  = (LPNETRESOURCE)  __buffer;
+
+	ZeroMemory( __buffer, sizeof(NETRESOURCE) );
+	__errno = WNetEnumResourceA ( __hEnum , & __entries , __lpNetRes, & __bufSize );
+#else
+	wchar_t         __buffer[ 8192 ];
+	LPNETRESOURCEW  __lpNetRes  = (LPNETRESOURCEW) __buffer;
+
+	ZeroMemory( __buffer, sizeof(NETRESOURCEW) );
+	__errno = WNetEnumResourceW ( __hEnum , & __entries , __lpNetRes, & __bufSize );
+#endif
+
+	if( (__errno  == NO_ERROR) && (__entries == 1) ) {
+	    scope       = __MKUINT( __lpNetRes->dwScope );
+	    type        = __MKUINT( __lpNetRes->dwType );
+	    usage       = __MKUINT( __lpNetRes->dwUsage );
+	    displayType = __MKUINT( __lpNetRes->dwDisplayType );
 
 #ifdef USE_ANSI_NETWORKRESOURCES
-            if( __lpNetRes->lpRemoteName != 0 ) { remoteName =  __MKSTRING( __lpNetRes->lpRemoteName ); }
-            if( __lpNetRes->lpLocalName  != 0 ) { localName  =  __MKSTRING( __lpNetRes->lpLocalName ); }
-            if( __lpNetRes->lpComment    != 0 ) { comment    =  __MKSTRING( __lpNetRes->lpComment ); }
-            if( __lpNetRes->lpProvider   != 0 ) { provider   =  __MKSTRING( __lpNetRes->lpProvider ); }
-#else
-            if( __lpNetRes->lpRemoteName != 0 ) { remoteName =  __MKU16STRING( __lpNetRes->lpRemoteName ); }
-            if( __lpNetRes->lpLocalName  != 0 ) { localName  =  __MKU16STRING( __lpNetRes->lpLocalName ); }
-            if( __lpNetRes->lpComment    != 0 ) { comment    =  __MKU16STRING( __lpNetRes->lpComment ); }
-            if( __lpNetRes->lpProvider   != 0 ) { provider   =  __MKU16STRING( __lpNetRes->lpProvider ); }
-#endif
-        }
+	    if( __lpNetRes->lpRemoteName != 0 ) { remoteName =  __MKSTRING( __lpNetRes->lpRemoteName ); }
+	    if( __lpNetRes->lpLocalName  != 0 ) { localName  =  __MKSTRING( __lpNetRes->lpLocalName ); }
+	    if( __lpNetRes->lpComment    != 0 ) { comment    =  __MKSTRING( __lpNetRes->lpComment ); }
+	    if( __lpNetRes->lpProvider   != 0 ) { provider   =  __MKSTRING( __lpNetRes->lpProvider ); }
+#else
+	    if( __lpNetRes->lpRemoteName != 0 ) { remoteName =  __MKU16STRING( __lpNetRes->lpRemoteName ); }
+	    if( __lpNetRes->lpLocalName  != 0 ) { localName  =  __MKU16STRING( __lpNetRes->lpLocalName ); }
+	    if( __lpNetRes->lpComment    != 0 ) { comment    =  __MKU16STRING( __lpNetRes->lpComment ); }
+	    if( __lpNetRes->lpProvider   != 0 ) { provider   =  __MKU16STRING( __lpNetRes->lpProvider ); }
+#endif
+	}
     }
 %}.
     scope notNil ifTrue:[ |netResource|
-        netResource := NetworkResource new.
-
-        "map integer values to symbol excluding the usage..."
-        netResource scope: (self class scopeMappingTable at:scope ifAbsent:[scope]).
-        netResource type:  (self class typeMappingTable  at:type ifAbsent:[type]).
-        netResource displayType: (self class displayTypeMappingTable at:displayType ifAbsent:[displayType]).
-        netResource usage: usage.
-
-        netResource remoteName: remoteName.
-        netResource localName: localName.
-        netResource comment: comment.
-        netResource provider: provider.
-
-        ^ netResource
+	netResource := NetworkResource new.
+
+	"map integer values to symbol excluding the usage..."
+	netResource scope: (self class scopeMappingTable at:scope ifAbsent:[scope]).
+	netResource type:  (self class typeMappingTable  at:type ifAbsent:[type]).
+	netResource displayType: (self class displayTypeMappingTable at:displayType ifAbsent:[displayType]).
+	netResource usage: usage.
+
+	netResource remoteName: remoteName.
+	netResource localName: localName.
+	netResource comment: comment.
+	netResource provider: provider.
+
+	^ netResource
     ].
     self close.
     ^ nil
@@ -17704,8 +17717,8 @@
     HANDLE __hEnum = (HANDLE)(__externalAddressVal(self));
 
     if (__hEnum) {
-        __externalAddressVal(self) = (HANDLE)0;
-        WNetCloseEnum(__hEnum);
+	__externalAddressVal(self) = (HANDLE)0;
+	WNetCloseEnum(__hEnum);
     }
 %}.
 ! !
@@ -17782,28 +17795,28 @@
 
 scope
     "The scope of the enumeration
-        RESOURCE_CONNECTED RESOURCE_GLOBALNET RESOURCE_REMEMBERED
+	RESOURCE_CONNECTED RESOURCE_GLOBALNET RESOURCE_REMEMBERED
     "
     ^ scope
 !
 
 scope: theScope
     "The scope of the enumeration
-        RESOURCE_CONNECTED RESOURCE_GLOBALNET RESOURCE_REMEMBERED
+	RESOURCE_CONNECTED RESOURCE_GLOBALNET RESOURCE_REMEMBERED
     "
     scope := theScope.
 !
 
 type
     "describes the type of the resource
-        RESOURCETYPE_ANY  RESOURCETYPE_DISK  RESOURCETYPE_PRINT
+	RESOURCETYPE_ANY  RESOURCETYPE_DISK  RESOURCETYPE_PRINT
     "
     ^ type
 !
 
 type: theType
     "describes the type of the resource
-        RESOURCETYPE_ANY  RESOURCETYPE_DISK  RESOURCETYPE_PRINT
+	RESOURCETYPE_ANY  RESOURCETYPE_DISK  RESOURCETYPE_PRINT
     "
     type := theType.
 !
@@ -17828,20 +17841,20 @@
     | paction |
 
     paction := [: anIdentifier :theValue |
-        anIdentifier printOn: aStream.
-
-        theValue notNil ifTrue:[
-            theValue isInteger ifTrue:[
-                theValue printOn:aStream base:2 showRadix:true.
-            ] ifFalse:[
-                theValue isSymbol ifTrue:[
-                    theValue printOn: aStream.
-                ] ifFalse:[
-                    aStream nextPut: $". theValue printOn: aStream. aStream nextPut: $"
-                ]
-            ]
-        ].
-        aStream cr.
+	anIdentifier printOn: aStream.
+
+	theValue notNil ifTrue:[
+	    theValue isInteger ifTrue:[
+		theValue printOn:aStream base:2 showRadix:true.
+	    ] ifFalse:[
+		theValue isSymbol ifTrue:[
+		    theValue printOn: aStream.
+		] ifFalse:[
+		    aStream nextPut: $". theValue printOn: aStream. aStream nextPut: $"
+		]
+	    ]
+	].
+	aStream cr.
     ].
 
     aStream nextPutAll: 'NetworkResource {'; cr.
@@ -17874,7 +17887,7 @@
     DWORD __usage = __unsignedLongIntVal( flag );
 
     if( __usage & RESOURCEUSAGE_CONTAINER ) {
-        RETURN( true );
+	RETURN( true );
     }
 %}.
     ^ false
@@ -17884,7 +17897,7 @@
 
 closeHandle
     self address ~~ 0 ifTrue:[
-        OperatingSystem primClosePrinter:self.
+	OperatingSystem primClosePrinter:self.
     ]
 
     "Created: / 27-07-2006 / 14:48:37 / fm"
@@ -17919,9 +17932,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
@@ -17940,13 +17953,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;
@@ -17961,90 +17974,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 );
@@ -18071,42 +18084,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");
@@ -18126,9 +18139,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
     ].
 ! !
 
@@ -18141,9 +18154,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);
     }
 %}.
 ! !
@@ -18156,18 +18169,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.
@@ -18179,18 +18192,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.
@@ -18203,27 +18216,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: ;
 %}.
@@ -18236,26 +18249,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: ;
 %}.
@@ -18322,10 +18335,10 @@
     type := OperatingSystem socketTypeCodeOf:typeArg.
     proto := self protocolCodeOf:protoArg.
     serviceNameOrNil notNil ifTrue:[
-        serviceName := serviceNameOrNil printString.      "convert integer port numbers"
-        serviceNameOrNil isInteger ifTrue:[
-            port := serviceNameOrNil.
-        ].
+	serviceName := serviceNameOrNil printString.      "convert integer port numbers"
+	serviceNameOrNil isInteger ifTrue:[
+	    port := serviceNameOrNil.
+	].
     ]. "ifFalse:[serviceName := nil]"
 
 
@@ -18337,10 +18350,10 @@
      until we implement getAddrInfoW() for Borland C.
      If we really have 16-bit hostnames, this fails with #primitiveFailed"
     hostNameOrNil notNil ifTrue:[
-        hostName := hostNameOrNil asSingleByteStringIfPossible.
+	hostName := hostNameOrNil asSingleByteStringIfPossible.
     ].  "ifFalse:[hostName := nil] is nil anyway"
     serviceName notNil ifTrue:[
-        serviceName := serviceName asSingleByteStringIfPossible.
+	serviceName := serviceName asSingleByteStringIfPossible.
     ].
 %{
 #endif // !AI_NUMERICHOST
@@ -18355,30 +18368,30 @@
     int cnt = 0;
 
     if (hostName == nil) {
-        __hostName = 0;
+	__hostName = 0;
     } else if (__isStringLike(hostName)) {
-        strncpy(__hostNameCopy, __stringVal(hostName), sizeof(__hostNameCopy)-1);
-        __hostName = __hostNameCopy;
+	strncpy(__hostNameCopy, __stringVal(hostName), sizeof(__hostNameCopy)-1);
+	__hostName = __hostNameCopy;
     } else if (__isUnicode16String(hostName)) {
-        error = @symbol(unsupportedUnicodeName);
-        errorString = __MKSTRING("Unicode hostnames are not yet supported");
-        goto exitPrim;
+	error = @symbol(unsupportedUnicodeName);
+	errorString = __MKSTRING("Unicode hostnames are not yet supported");
+	goto exitPrim;
     } else {
-        error = @symbol(badArgument1);
-        goto exitPrim;
+	error = @symbol(badArgument1);
+	goto exitPrim;
     }
     if (serviceName == nil) {
-        __serviceName = 0;
+	__serviceName = 0;
     } else if (__isStringLike(serviceName)) {
-        strncpy(__serviceNameCopy, __stringVal(serviceName), sizeof(__serviceNameCopy)-1);
-        __serviceName = __serviceNameCopy;
+	strncpy(__serviceNameCopy, __stringVal(serviceName), sizeof(__serviceNameCopy)-1);
+	__serviceName = __serviceNameCopy;
     } 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;
     }
 
 {
@@ -18391,101 +18404,101 @@
 
     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 {
 # ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = (int)(STX_WSA_NOINT_CALL4( "getaddrinfo", getaddrinfo, __hostName, __serviceName, &hints, &info));
-        } while ((ret < 0) && (__threadErrno == EINTR));
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = (int)(STX_WSA_NOINT_CALL4( "getaddrinfo", getaddrinfo, __hostName, __serviceName, &hints, &info));
+	} while ((ret < 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 != 0 && __threadErrno == 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_MEMORY:
-            error = @symbol(allocationFailure);
-            break;
-        case EAI_FAIL:
-            error = @symbol(permanentFailure);
-            break;
-        case EAI_AGAIN:
-            error = @symbol(tryAgain);
-            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_MEMORY:
+	    error = @symbol(allocationFailure);
+	    break;
+	case EAI_FAIL:
+	    error = @symbol(permanentFailure);
+	    break;
+	case EAI_AGAIN:
+	    error = @symbol(tryAgain);
+	    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:
@@ -18502,133 +18515,133 @@
     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) {
-        int err;
-
-        do {
+	int err;
+
+	do {
 # if 0 && defined(DO_WRAP_CALLS)
-            /* This does not work - the structure is allocated in thread local storage */
-            hp = STX_WSA_NOINT_CALL1("gethostbyname", gethostbyname, __hostName);
-            if ((INT)hp < 0) hp = NULL;
+	    /* This does not work - the structure is allocated in thread local storage */
+	    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, but allocates it in thread local storage
-             */
-            // __BEGIN_INTERRUPTABLE__
-            hp = gethostbyname(__hostName);
-            // __END_INTERRUPTABLE__
-#endif
-        } while ((hp == NULL
-                  && (err = WSAGetLastError()) == EINTR));
-        if (hp == 0) {
-            switch (err) {
-            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(err);
-            goto err;
-        }
-
-        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;
+	    /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname
+	     * uses a static data area, but allocates it in thread local storage
+	     */
+	    // __BEGIN_INTERRUPTABLE__
+	    hp = gethostbyname(__hostName);
+	    // __END_INTERRUPTABLE__
+#endif
+	} while ((hp == NULL
+		  && (err = WSAGetLastError()) == EINTR));
+	if (hp == 0) {
+	    switch (err) {
+	    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(err);
+	    goto err;
+	}
+
+	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(resp, type);
-        __ArrayInstPtr(resp)->a_element[3] = proto; __STORE(resp, 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{
-            if (__isSmallInteger(domain))
-                sa->sin_family = __intVal(domain);
-            else
-                sa->sin_family = AF_INET;
-            __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(resp, type);
+	__ArrayInstPtr(resp)->a_element[3] = proto; __STORE(resp, 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{
+	    if (__isSmallInteger(domain))
+		sa->sin_family = __intVal(domain);
+	    else
+		sa->sin_family = AF_INET;
+	    __ArrayInstPtr(resp)->a_element[1] = domain; __STORE(resp, domain);
+	}
     }
 
 err:;
@@ -18640,67 +18653,67 @@
 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:#AF_INET type:#stream protocol:nil flags:nil
+	    domain:#AF_INET type:#stream protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:nil
-            domain:#AF_INET type:#stream protocol:#tcp flags:nil
+	    domain:#AF_INET type:#stream protocol:#tcp flags:nil
      self getAddressInfo:'localhost' serviceName:10
-            domain:#AF_INET type:#stream protocol:#tcp flags:nil
+	    domain:#AF_INET type:#stream protocol:#tcp flags:nil
      self getAddressInfo:'localhost' serviceName:'10'
-            domain:#AF_INET type:#stream protocol:#tcp flags:nil
+	    domain:#AF_INET type:#stream protocol:#tcp flags:nil
      self getAddressInfo:'blurb.exept.de' serviceName:nil
-            domain:#AF_INET type:nil protocol:nil flags:nil
+	    domain:#AF_INET type:nil protocol:nil flags:nil
      self getAddressInfo:'1.2.3.4' serviceName:'bla'
-            domain:#AF_INET type:nil protocol:nil flags:nil
+	    domain:#AF_INET type:nil protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:'echo'
-            domain:#AF_INET type:nil protocol:nil flags:nil
+	    domain:#AF_INET type:nil protocol:nil flags:nil
      self getAddressInfo:nil serviceName:'echo'
-            domain:#AF_INET type:nil protocol:nil flags:nil
+	    domain:#AF_INET type:nil protocol:nil flags:nil
      self getAddressInfo:nil serviceName:nil
-            domain:#AF_INET type:nil protocol:nil flags:nil
+	    domain:#AF_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:'exeptn' serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
 
      self getAddressInfo:'localhost' asUnicode16String serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'ützlbrützl' serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'ützlbrützl' serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'путин.ру' asUnicode16String serviceName:nil
-            domain:nil type:nil protocol:nil flags:nil
+	    domain:nil type:nil protocol:nil flags:nil
     "
 !
 
@@ -18744,20 +18757,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 == NULL && sp == NULL) {
-        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));
@@ -18765,185 +18778,185 @@
     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;
+	bp = (char *)(__byteArrayVal(socketAddress));
+	bp += nInstBytes;
 # ifdef DO_WRAP_CALLS
-        do {
-            __threadErrno = 0;
-            // do not cast to INT - will loose sign bit then!
-            ret = (int)(STX_WSA_NOINT_CALL7( "getnameinfo", getnameinfo, (struct sockaddr *)bp, (INT)sockAddrSize, hp, (INT)hsz, sp, (INT)ssz, (INT)__flags));
-        } while ((ret < 0) && (__threadErrno == EINTR));
+	do {
+	    __threadErrno = 0;
+	    // do not cast to INT - will loose sign bit then!
+	    ret = (int)(STX_WSA_NOINT_CALL7( "getnameinfo", getnameinfo, (struct sockaddr *)bp, (INT)sockAddrSize, hp, (INT)hsz, sp, (INT)ssz, (INT)__flags));
+	} while ((ret < 0) && (__threadErrno == EINTR));
 # else
-        __BEGIN_INTERRUPTABLE__
-        ret = getnameinfo((struct sockaddr *)bp, sockAddrSize,
-                          hp, hsz, sp, ssz, __flags);
-        __END_INTERRUPTABLE__
+	__BEGIN_INTERRUPTABLE__
+	ret = getnameinfo((struct sockaddr *)bp, sockAddrSize,
+			  hp, hsz, sp, ssz, __flags);
+	__END_INTERRUPTABLE__
 # endif
     } while (ret != 0 && __threadErrno == 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_MEMORY:
-                error = @symbol(allocationFailure);
-                break;
-            case EAI_FAIL:
-                error = @symbol(permanentFailure);
-                break;
-            case EAI_AGAIN:
-                error = @symbol(tryAgain);
-                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_MEMORY:
+		error = @symbol(allocationFailure);
+		break;
+	    case EAI_FAIL:
+		error = @symbol(permanentFailure);
+		break;
+	    case EAI_AGAIN:
+		error = @symbol(tryAgain);
+		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 (sa->sin_family == AF_INET6) {
-            if (sp)
-                serviceName = __MKSTRING(sp);
-            error = @symbol(AF_INET6);
-            goto err;
-        }
-
-        if (hp) {
-            struct hostent *hostp;
-            int err;
-
-            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)
-                      && ((err = WSAGetLastError()) == EINTR)
-            );
-            if (hostp == 0) {
-                switch (err) {
-                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(err);
-                goto err;
-            }
-            hp = hostp->h_name;
-        }
+	/*
+	 * 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 (sa->sin_family == AF_INET6) {
+	    if (sp)
+		serviceName = __MKSTRING(sp);
+	    error = @symbol(AF_INET6);
+	    goto err;
+	}
+
+	if (hp) {
+	    struct hostent *hostp;
+	    int err;
+
+	    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)
+		      && ((err = WSAGetLastError()) == EINTR)
+	    );
+	    if (hostp == 0) {
+		switch (err) {
+		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(err);
+		goto err;
+	    }
+	    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:[
-        (error == #AF_INET6 or:[errorString == #noAddress]) ifTrue:[
-            "This is a socket address of wrong size - probably an IPv6SocketAddres on a system where
-             the getNetByAddr() syscall is not supported"
-            ^ Array
-                with:socketAddress hostAddressString
-                with:serviceName.
-        ].
-        error isSymbol ifTrue:[
-            self primitiveFailed:error.
-        ].
-        ^ (HostAddressLookupError new
-                parameter:error;
-                messageText:' - ', (errorString ? error printString);
-                request:thisContext message) raiseRequest.
+	(error == #AF_INET6 or:[errorString == #noAddress]) ifTrue:[
+	    "This is a socket address of wrong size - probably an IPv6SocketAddres on a system where
+	     the getNetByAddr() syscall is not supported"
+	    ^ Array
+		with:socketAddress hostAddressString
+		with:serviceName.
+	].
+	error isSymbol ifTrue:[
+	    self primitiveFailed:error.
+	].
+	^ (HostAddressLookupError new
+		parameter:error;
+		messageText:' - ', (errorString ? error printString);
+		request:thisContext message) raiseRequest.
     ].
 
     ^ Array with:hostName with:serviceName
 
     "
      self getNameInfo:
-        (self getAddressInfo:'localhost' serviceName:'echo'
-                domain:#AF_INET type:#stream protocol:nil flags:nil) first socketAddress
-         wantHostName:true wantServiceName:true datagram:false flags:0
+	(self getAddressInfo:'localhost' serviceName:'echo'
+		domain:#AF_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:#AF_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:#AF_INET type:#stream protocol:nil flags:nil) first socketAddress
+	 wantHostName:true wantServiceName:true datagram:false flags:0
 
      self getNameInfo:(IPSocketAddress hostAddress:#[1 2 3 4])
-         wantHostName:true wantServiceName:true datagram:false flags:0
+	 wantHostName:true wantServiceName:true datagram:false flags:0
 
      self getNameInfo:(IPv6SocketAddress localHost port:21)
-         wantHostName:true wantServiceName:true datagram:false flags:0
+	 wantHostName:true wantServiceName:true datagram:false flags:0
     "
 ! !
 
@@ -18951,7 +18964,7 @@
 
 initialize
 %{ /* NOCONTEXT */
-        __ExternalAddressInstPtr(self)->e_address = (void *)(INVALID_SOCKET);
+	__ExternalAddressInstPtr(self)->e_address = (void *)(INVALID_SOCKET);
 %}
 
     "
@@ -18987,8 +19000,8 @@
     SOCKET sock = (SOCKET)(__externalAddressVal(self));
 
     if (sock != INVALID_SOCKET) {
-        __externalAddressVal(self) = (void *)(INVALID_SOCKET);
-        closesocket(sock);
+	__externalAddressVal(self) = (void *)(INVALID_SOCKET);
+	closesocket(sock);
     }
 %}.
 ! !
@@ -19018,35 +19031,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"
@@ -19055,7 +19068,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"
--- a/stx_libbasic.st	Fri Nov 18 20:48:57 2016 +0000
+++ b/stx_libbasic.st	Tue Nov 22 14:52:52 2016 +0000
@@ -1,6 +1,6 @@
 "
- COPYRIGHT (c) 2006 by eXept Software AG
-	      All Rights Reserved
+ COPYRIGHT (c) Claus Gittinger / eXept Software AG
+              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
@@ -24,8 +24,8 @@
 
 copyright
 "
- COPYRIGHT (c) 2006 by eXept Software AG
-	      All Rights Reserved
+ COPYRIGHT (c) Claus Gittinger / eXept Software AG
+              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
@@ -53,6 +53,12 @@
 
     Also no developer support classes are found here 
     (i.e. Change/History support, compiler etc.).
+
+    [author:]
+        cg
+
+    [primary maintainer:]
+        cg
 "
 ! !
 
@@ -617,7 +623,9 @@
 companyName
     "Return a companyname which will appear in <lib>.rc"
 
-    ^ 'eXept Software AG'
+    ^ 'Claus Gittinger / eXept Software AG'
+
+    "Modified: / 18-11-2016 / 11:48:38 / cg"
 !
 
 description
@@ -629,9 +637,9 @@
 legalCopyright
     "Return a copyright string which will appear in <lib>.rc"
 
-    ^ 'Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 2013'
+    ^ 'Copyright Claus Gittinger 1988\nCopyright eXept Software AG 2013'
 
-    "Modified: / 18-07-2012 / 19:10:19 / cg"
+    "Modified: / 18-11-2016 / 12:17:34 / cg"
 !
 
 productName