unified cpu and os defines;
authorClaus Gittinger <cg@exept.de>
Tue, 17 May 2016 02:04:25 +0200
changeset 19860 324edacff5cc
parent 19859 000d1c4aa7e6
child 19863 513bd7237fe7
child 19864 d4631dab6262
unified cpu and os defines; now all are named __xxx__
AbstractOperatingSystem.st
DirectoryStream.st
ExternalBytes.st
ExternalLibraryFunction.st
ExternalStream.st
FileStream.st
Float.st
LargeInteger.st
LongFloat.st
NonPositionableExternalStream.st
ObjectMemory.st
OpenVMSOperatingSystem.st
PipeStream.st
Process.st
ShortFloat.st
SmallInteger.st
String.st
--- a/AbstractOperatingSystem.st	Tue May 17 00:56:14 2016 +0200
+++ b/AbstractOperatingSystem.st	Tue May 17 02:04:25 2016 +0200
@@ -1939,27 +1939,27 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:anOutStreamOrNil
-        errorTo:anErrStreamOrNil
-        auxFrom:nil
-        environment:nil
-        inDirectory:nil
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:anOutStreamOrNil
+	errorTo:anErrStreamOrNil
+	auxFrom:nil
+	environment:nil
+	inDirectory:nil
+	lineWise:false
+	onError:[:status| false]
 
     "
      String streamContents:[:s|OperatingSystem
-        executeCommand:'ls'
-        outputTo:s
+	executeCommand:'ls'
+	outputTo:s
      ]
     "
 
     "
      String streamContents:[:s|OperatingSystem
-        executeCommand:'pwd'
-        outputTo:s
+	executeCommand:'pwd'
+	outputTo:s
      ]
     "
 !
@@ -3664,7 +3664,7 @@
 
 %{  /* NOCONTEXT */
 #ifndef CC_DEFINE
-# ifdef WIN32
+# ifdef __win32__
 #  if defined( __BORLANDC__ )
 #   define CC_DEFINE    "__BORLANDC__"
 #  else
@@ -3682,9 +3682,9 @@
 #    endif
 #   endif
 #  endif
-# else /* not WIN32 */
-#  ifdef __clang__
-#   define CC_DEFINE     "__clang__"
+# else /* not __win32__ */
+#  ifdef __CLANG__
+#   define CC_DEFINE     "__CLANG__"
 #  else
 #   ifdef __GNUC__
 #    define CC_DEFINE     "__GNUC__"
@@ -3736,7 +3736,9 @@
 #   ifdef __mips__
 #    define CPU_SYMBOL @symbol(mips)
 #   endif
-#   ifdef __i386__
+#   if defined(__x86__)
+#    define CPU_SYMBOL @symbol(x86)
+#   elif defined(__i386__) // old style
 #    define CPU_SYMBOL @symbol(i386)
 #   endif
 #   ifdef __x86_64__
@@ -3942,8 +3944,8 @@
 %{  /* NOCONTEXT */
 
 #ifndef OS_DEFINE
-# ifdef WIN32
-#  define OS_DEFINE "-DWIN32"
+# ifdef __win32__
+#  define OS_DEFINE "-D__win32__"
 # endif
 
 # ifndef OS_DEFINE
@@ -3969,19 +3971,33 @@
 
 %{  /* NOCONTEXT */
 
-#   ifdef MSDOS
-#    define OS_SYMBOL @symbol(msdos)
-#   endif
-
-#   ifdef WIN32
+    // do not do this; all win sytems are counted as win32 (for now);
+    // see the detailed getSystemType / getSytemInfo for that
+    // #   ifdef __win64__
+    // #    define OS_SYMBOL @symbol(win64)
+    // #   endif
+
+#   ifdef __win32__
 #    define OS_SYMBOL @symbol(win32)
 #   endif
 
-#   ifdef MSWINDOWS
+#   ifdef __MSWINDOWS__
 #    define OS_SYMBOL @symbol(mswindows)
 #   endif
 
-#   ifdef VMS
+#   ifdef __OS2__
+#    define OS_SYMBOL @symbol(os2)
+#   endif
+
+#   ifdef __BEOS__
+#    define OS_SYMBOL @symbol(beos)
+#   endif
+
+#   ifdef __MSDOS__
+#    define OS_SYMBOL @symbol(msdos)
+#   endif
+
+#   ifdef __VMS__
 #    ifdef __openVMS__
 #     define OS_SYMBOL @symbol(openVMS)
 #    else
@@ -3989,55 +4005,51 @@
 #    endif
 #   endif
 
-#   ifdef MVS /* ;-) */
+#   ifdef __MVS__ /* ;-) */
 #    define OS_SYMBOL @symbol(mvs)
 #   endif
 
-#   ifdef OS2
-#    define OS_SYMBOL @symbol(os2)
-#   endif
-
-#   ifdef sinix
+#   ifdef __sinix__
 #    define OS_SYMBOL @symbol(sinix)
 #   endif
 
-#   ifdef ultrix
+#   ifdef __ultrix__
 #    define OS_SYMBOL @symbol(ultrix)
 #   endif
 
-#   ifdef sco
+#   ifdef __sco__
 #    define OS_SYMBOL @symbol(sco)
 #   endif
 
-#   ifdef hpux
+#   ifdef __hpux__
 #    define OS_SYMBOL @symbol(hpux)
 #   endif
 
-#   ifdef LINUX
+#   ifdef __linux__
 #    define OS_SYMBOL @symbol(linux)
 #   endif
 
-#   ifdef FREEBSD
+#   ifdef __FREEBSD__
 #    define OS_SYMBOL @symbol(freeBSD)
 #   endif
 
-#   ifdef sunos
+#   ifdef __sunos__
 #    define OS_SYMBOL @symbol(sunos)
 #   endif
 
-#   ifdef solaris
+#   ifdef __solaris__
 #    define OS_SYMBOL @symbol(solaris)
 #   endif
 
-#   ifdef IRIS
+#   ifdef __IRIS__
 #    define OS_SYMBOL @symbol(irix)
 #   endif
 
-#   ifdef aix
+#   ifdef __aix__
 #    define OS_SYMBOL @symbol(aix)
 #   endif
 
-#   ifdef realIX
+#   ifdef __realIX__
 #    define OS_SYMBOL @symbol(realIX)
 #   endif
 
@@ -4059,15 +4071,15 @@
 #   endif
 
 #   ifndef OS_SYMBOL
-#    ifdef BSD
+#    ifdef __BSD__
 #     define OS_SYMBOL @symbol(bsd)
 #    endif
 
-#    ifdef SYSV
-#     ifdef SYSV3
+#    ifdef __SYSV__
+#     ifdef __SYSV3__
 #      define OS_SYMBOL @symbol(sys5_3)
 #     else
-#      ifdef SYSV4
+#      ifdef __SYSV4__
 #       define OS_SYMBOL @symbol(sys5_4)
 #      else
 #       define OS_SYMBOL @symbol(sys5)
@@ -4080,13 +4092,13 @@
      * become very vague ...
      */
 #   ifndef OS_SYMBOL
-#    ifdef POSIX
-#     define OS_SYMBOL @symbol(posix)
+#    ifdef __UNIX__
+#     define OS_SYMBOL @symbol(unix)
 #    endif
 #   endif
 #   ifndef OS_SYMBOL
-#    ifdef UNIX
-#     define OS_SYMBOL @symbol(unix)
+#    ifdef __POSIX__
+#     define OS_SYMBOL @symbol(posix)
 #    endif
 #   endif
 
@@ -4113,29 +4125,34 @@
 %{  /* NOCONTEXT */
 
 #ifndef PLATFORM_DEFINE
-# ifdef WIN32
-#  define PLATFORM_DEFINE "-DWIN32"
+# ifdef __win32__
+#  define PLATFORM_DEFINE "-D__win32__"
 # endif
-# ifdef OS2
-#  define PLATFORM_DEFINE "-DOS2"
+# ifdef __OS2__
+#  define PLATFORM_DEFINE "-D__OS2__"
 # endif
-# ifdef BEOS
-#  define PLATFORM_DEFINE "-DBEOS"
+# ifdef __BEOS__
+#  define PLATFORM_DEFINE "-D__BEOS__"
 # endif
-# ifdef MACOS
-#  define PLATFORM_DEFINE "-DMACOS"
+# ifdef __MACOS__
+#  define PLATFORM_DEFINE "-D__MACOS__"
 # endif
-# ifdef VMS
-#  define PLATFORM_DEFINE "-DVMS"
+# ifdef __VMS__
+#  define PLATFORM_DEFINE "-D__VMS__"
 # endif
 # ifdef __osx__
 #  define PLATFORM_DEFINE "-D__osx__"
 # endif
-# ifdef OSX
-#  define PLATFORM_DEFINE "-DOSX"
+// # ifdef OSX
+// #  define PLATFORM_DEFINE "-DOSX"
+// # endif
+# ifndef PLATFORM_DEFINE
+#  ifdef __UNIX__
+#   define PLATFORM_DEFINE "-D__UNIX__"
+#  endif
 # endif
 # ifndef PLATFORM_DEFINE
-#  define PLATFORM_DEFINE "-DUNIX"
+#   define PLATFORM_DEFINE "-DunknownPlatform"
 # endif
 #endif
 
@@ -4338,12 +4355,14 @@
 
     ^#(
 	win32
+	osx      "/ yes!! it is supported
+	unix
+
 	os2      "/ actually - this is no longer true (OS/2 not supported)
 	macos    "/ actually - this is no longer true (old MACOS not supported)
-	vms      "/ actually - this is no longer true (VMS not supported)
+	vms      "/ actually - this is no longer true (VMS no longer supported)
+	qnx      "/ actually - this is no longer true (qny no longer supported)
 	beos     "/ actually - this was never true (beos not supported)
-	osx      "/ yes!! it is supported
-	unix
     )
 
     "
@@ -4409,13 +4428,13 @@
 platformDefineForPlatformName:osID
     "return a c-define for a particular platform (use only for makefile generation etc.)"
 
-    osID = #win32 ifTrue:[ ^ '-DWIN32'].
-    osID = #os2 ifTrue:[ ^ '-DOS2'].
-    osID = #macos ifTrue:[ ^ '-DMACOS'].
-    osID = #beos ifTrue:[ ^ '-DBEOS'].
-    osID = #vms ifTrue:[ ^ '-DVMS'].
-    osID = #unix ifTrue:[ ^ '-DUNIX'].
-    osID = #osx ifTrue:[ ^ '-DOSX'].
+    osID = #win32 ifTrue:[ ^ '-D__win32__'].
+    osID = #os2 ifTrue:[ ^ '-D__OS2__'].
+    osID = #macos ifTrue:[ ^ '-D__MACOS__'].
+    osID = #beos ifTrue:[ ^ '-D__beos__'].
+    osID = #vms ifTrue:[ ^ '-D__VMS__'].
+    osID = #unix ifTrue:[ ^ '-D__UNIX__'].
+    osID = #osx ifTrue:[ ^ '-D__OSX__'].
     self error:'unknown os'.
 
     "
@@ -4433,10 +4452,12 @@
     |os|
 
     os := self getSystemType.
+    os = #osx ifTrue:[ ^ #osx].
     os = #win32 ifTrue:[ ^ #win32].
+
     os = #os2 ifTrue:[ ^ #os2].
-    os = #osx ifTrue:[ ^ #osx].
     os = #macos ifTrue:[ ^ #macos].
+
     os = #VMS ifTrue:[ ^ #vms].
     os = #openVMS ifTrue:[ ^ #vms].
     ^ #unix
--- a/DirectoryStream.st	Tue May 17 00:56:14 2016 +0200
+++ b/DirectoryStream.st	Tue May 17 02:04:25 2016 +0200
@@ -24,10 +24,10 @@
 %{
 #include "stxOSDefs.h"
 
-#if defined(WIN32)
+#if defined(__win32__)
 # undef UNIX_LIKE
 #else
-# if defined(transputer)
+# if defined(__transputer__)
 #  undef UNIX_LIKE
 # else
 #  define UNIX_LIKE
@@ -72,7 +72,7 @@
 
 #endif /* UNIX_LIKE */
 
-#ifdef WIN32
+#ifdef __win32__
 
 # ifdef __i386__
 #  define _X86_
@@ -560,7 +560,7 @@
 #ifdef HAS_OPENDIR
     closedir( (DIR *)(__FILEVal(dp)) );
 #else
-# ifdef WIN32
+# ifdef __win32__
     FindClose( __HANDLEVal(dp) );
 # endif
 #endif
@@ -602,7 +602,7 @@
 	}
     }
 #else
-#ifdef WIN32
+#ifdef __win32__
     HANDLE d;
     OBJ path, dp;
     union {
--- a/ExternalBytes.st	Tue May 17 00:56:14 2016 +0200
+++ b/ExternalBytes.st	Tue May 17 02:04:25 2016 +0200
@@ -36,7 +36,7 @@
 #endif
 
     extern char *__stx_malloc(size_t);
-    extern char *__stx_calloc(size_t, size_t); 
+    extern char *__stx_calloc(size_t, size_t);
     extern char *__stx_realloc(char *, size_t);
     extern void __stx_free(char *);
     extern void __stx_mallocStatistics(void);
@@ -47,9 +47,9 @@
 %{
 
 struct mallocList {
-        char *chunk;
-        size_t size;
-        struct mallocList *next;
+	char *chunk;
+	size_t size;
+	struct mallocList *next;
 };
 static struct mallocList *mallocList = (struct mallocList *)0;
 static INT mallocCount = 0;
@@ -63,25 +63,25 @@
     if (@global(DebugMalloc) != true) return;
 
     if (ptr) {
-        found = 0;
-        for (this=mallocList, prev=0; this; this=next) {
-            next = this->next;
-            if (this->chunk == ptr) {
-                if (prev) {
-                    prev->next = next;
-                } else {
-                    mallocList = next;
-                }
-                free(this);
-                found++;
-                mallocCount--;
-            } else {
-                prev = this;
-            }
-        }
-        if (! found) {
-            console_printf("ExternalBytes [warning]: **** free: alien %"_lx_" (allocated somewhere else ?))\n", (INT)ptr);
-        }
+	found = 0;
+	for (this=mallocList, prev=0; this; this=next) {
+	    next = this->next;
+	    if (this->chunk == ptr) {
+		if (prev) {
+		    prev->next = next;
+		} else {
+		    mallocList = next;
+		}
+		free(this);
+		found++;
+		mallocCount--;
+	    } else {
+		prev = this;
+	    }
+	}
+	if (! found) {
+	    console_printf("ExternalBytes [warning]: **** free: alien %"_lx_" (allocated somewhere else ?))\n", (INT)ptr);
+	}
     }
 }
 
@@ -95,82 +95,82 @@
     if (@global(DebugMalloc) != true) return;
 
     if (ptr) {
-        found = 0;
-        for (this=mallocList; this; this=this->next) {
-            if (this->chunk == ptr) {
-                console_printf("ExternalBytes [warning]: **** %016"_lx_" already allocated (freed somewhere else ?)\n", (INT)ptr);
-                found++;
-            }
-        }
-        if (! found) {
-            e = (struct mallocList *) malloc(sizeof(struct mallocList));
-            e->next = mallocList;
-            e->chunk = ptr;
-            e->size = nBytes;
-            mallocList = e;
-            mallocCount++;
-        }
+	found = 0;
+	for (this=mallocList; this; this=this->next) {
+	    if (this->chunk == ptr) {
+		console_printf("ExternalBytes [warning]: **** %016"_lx_" already allocated (freed somewhere else ?)\n", (INT)ptr);
+		found++;
+	    }
+	}
+	if (! found) {
+	    e = (struct mallocList *) malloc(sizeof(struct mallocList));
+	    e->next = mallocList;
+	    e->chunk = ptr;
+	    e->size = nBytes;
+	    mallocList = e;
+	    mallocCount++;
+	}
     }
 }
 
 char *
 __stx_malloc(size_t nBytes) {
-        char *ptr = malloc(nBytes);
+	char *ptr = malloc(nBytes);
 
-        if (@global(TraceMalloc) == true) {
-            console_printf("ExternalBytes [info]: allocated %d bytes at: %016"_lx_"\n", nBytes, (INT)ptr);
-        }
-        addToMallocList(ptr, nBytes);
+	if (@global(TraceMalloc) == true) {
+	    console_printf("ExternalBytes [info]: allocated %d bytes at: %016"_lx_"\n", nBytes, (INT)ptr);
+	}
+	addToMallocList(ptr, nBytes);
 
-        return ptr;
+	return ptr;
 }
 
 char *
 __stx_calloc(size_t n, size_t size) {
-        char *ptr = __stx_malloc(n * size);
-        if (ptr != 0) {
-            bzero(ptr, (n * size));
-        }
-        return ptr;
+	char *ptr = __stx_malloc(n * size);
+	if (ptr != 0) {
+	    bzero(ptr, (n * size));
+	}
+	return ptr;
 }
 
 char *
 __stx_realloc(char *ptr, size_t nBytes)
 {
-        char *newPtr;
+	char *newPtr;
 
-        removeFromMallocList(ptr);
-        newPtr = realloc(ptr, nBytes);
-        addToMallocList(newPtr, nBytes);
+	removeFromMallocList(ptr);
+	newPtr = realloc(ptr, nBytes);
+	addToMallocList(newPtr, nBytes);
 
-        if (@global(TraceMalloc) == true) {
-            console_printf("ExternalBytes [info]: realloc %d bytes for %"_lx_" at: %"_lx_"\n", nBytes, (INT)ptr, (INT)newPtr);
-        }
-        return newPtr;
+	if (@global(TraceMalloc) == true) {
+	    console_printf("ExternalBytes [info]: realloc %d bytes for %"_lx_" at: %"_lx_"\n", nBytes, (INT)ptr, (INT)newPtr);
+	}
+	return newPtr;
 }
 
 void
 __stx_free(char *ptr)
 {
-        if (@global(TraceMalloc) == true) {
-            console_printf("ExternalBytes: free bytes at: %"_lx_"\n", (INT)ptr);
-        }
-        removeFromMallocList(ptr);
+	if (@global(TraceMalloc) == true) {
+	    console_printf("ExternalBytes: free bytes at: %"_lx_"\n", (INT)ptr);
+	}
+	removeFromMallocList(ptr);
 
-        free(ptr);
+	free(ptr);
 }
 
 void
 __stx_mallocStatistics() {
-        struct mallocList *this;
-        int amount = 0;
-        int n = 0;
+	struct mallocList *this;
+	int amount = 0;
+	int n = 0;
 
-        for (this=mallocList; this; this=this->next) {
-            n++;
-            amount += this->size;
-        }
-        console_printf("ExternalBytes [info]: allocated %d blocks with %d bytes overall\n", n, amount);
+	for (this=mallocList; this; this=this->next) {
+	    n++;
+	    amount += this->size;
+	}
+	console_printf("ExternalBytes [info]: allocated %d blocks with %d bytes overall\n", n, amount);
 }
 
 %}
@@ -393,13 +393,13 @@
 
 address:anAddressInteger
     "return a new ExternalBytes object to access bytes starting at anAddressInteger.
-     The memory at anAddressInteger has been allocated elsewhere. 
+     The memory at anAddressInteger has been allocated elsewhere.
      The size is not known, therefore byte accesses will NOT be checked for valid index.
      Use this, if you get a pointer from some external source (such as a
      C-callBack function) and you have to extract bytes from that.
 
      DANGER ALERT: this method allows very bad things to be done to the
-                   system - use with GREAT care (better: do not use it)"
+		   system - use with GREAT care (better: do not use it)"
 
     ^ self basicNew setAddress:anAddressInteger size:nil
 
@@ -408,13 +408,13 @@
 
 address:anAddressInteger size:size
     "return a new ExternalBytes object to access bytes starting at anAddressInteger.
-     The memory at anAddressInteger has been allocated elsewhere. 
+     The memory at anAddressInteger has been allocated elsewhere.
      The size is known, which allows byte accesses to be checked for valid index.
      Use this, if you get a pointer to a structure from some external source
      (such as a C-callBack function) and you have to extract things from that.
 
      DANGER ALERT: this method allows very bad things to be done to the
-                   system - use with GREAT care (better: do not use it)"
+		   system - use with GREAT care (better: do not use it)"
 
     ^ self basicNew setAddress:anAddressInteger size:size
 
@@ -477,7 +477,7 @@
 
     extBytes := self new:((nChars+1)*2).
     1 to:nChars do:[:i |
-        extBytes unsignedInt16At:(i*2) put:(aString at:i) codePoint.
+	extBytes unsignedInt16At:(i*2) put:(aString at:i) codePoint.
     ].
     extBytes unsignedInt16At:((nChars+1)*2) put:0.
     ^ extBytes
@@ -688,7 +688,7 @@
      If the machine does not support them, return nil."
 
 %{  /* NOCONTEXT */
-#if defined(__GNUC__) || defined(WIN32)
+#if defined(__GNUC__) || defined(__CLANG__) || defined(__win32__)
     RETURN (__mkSmallInteger( sizeof(long double)));
 #endif
 %}.
@@ -885,8 +885,8 @@
     idx := 1.
     s := WriteStream on:Unicode16String new.
     [(word := self unsignedInt16At:idx) ~~ 0] whileTrue:[
-        s nextPut:(Character value:word).
-        idx := idx + 2.
+	s nextPut:(Character value:word).
+	idx := idx + 2.
     ].
     ^ s contents
 !
@@ -1102,7 +1102,7 @@
     "replace elements from aString, and add a 0-byte at the end"
 
     |nChars|
-    
+
     nChars := aString size.
     self replaceBytesFrom:1 to:nChars with:aString startingAt:1.
     self at:nChars+1 put:0.
@@ -1145,7 +1145,7 @@
 %{  /* NOCONTEXT */
     char *mem = (char *)__INST(address_);
     if (mem && (OBJ)mem != nil) {
-        __stx_free(mem);
+	__stx_free(mem);
     }
     __INST(address_) = __INST(size) = nil;
 %}
@@ -1210,29 +1210,29 @@
     "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
     "/ ST/X (and some old ST80's) mean: draw-yourself on a GC.
     (aGCOrStream isStream) ifFalse:[
-        ^ super displayOn:aGCOrStream
+	^ super displayOn:aGCOrStream
     ].
 
     aGCOrStream nextPutAll:self className.
     addr := self address.
     addr isNil ifTrue:[
-        aGCOrStream nextPutAll:'[free]'.
+	aGCOrStream nextPutAll:'[free]'.
     ] ifFalse:[
-        size notNil ifTrue:[
-            aGCOrStream nextPutAll:'[sz:'.
-            size printOn:aGCOrStream.
-            aGCOrStream space.
-        ] ifFalse:[
-            aGCOrStream nextPut:$[.
-        ].
-        aGCOrStream nextPutAll:'@'.
-        addr printOn:aGCOrStream base:16.
-        aGCOrStream nextPut:$].
+	size notNil ifTrue:[
+	    aGCOrStream nextPutAll:'[sz:'.
+	    size printOn:aGCOrStream.
+	    aGCOrStream space.
+	] ifFalse:[
+	    aGCOrStream nextPut:$[.
+	].
+	aGCOrStream nextPutAll:'@'.
+	addr printOn:aGCOrStream base:16.
+	aGCOrStream nextPut:$].
     ].
 
     "
-        self new printString
-        (self new:5) displayString
+	self new printString
+	(self new:5) displayString
     "
 
 
@@ -1301,26 +1301,26 @@
      * Fail if already allocated
      */
     if (__INST(address_) == nil && __isSmallInteger(numberOfBytes)) {
-        INT nBytes = __smallIntegerVal(numberOfBytes);
-        if (nBytes > 0) {
-            char *space = __stx_malloc(nBytes);
-            if (space) {
-                if (doClear == true) {
-                    bzero(space, nBytes);
-                }
-                __INST(address_) = (OBJ)space;
-                __INST(size) = numberOfBytes;
-                RETURN(self);
-            } else {
-                mallocFailure = true;
-            }
-        }
+	INT nBytes = __smallIntegerVal(numberOfBytes);
+	if (nBytes > 0) {
+	    char *space = __stx_malloc(nBytes);
+	    if (space) {
+		if (doClear == true) {
+		    bzero(space, nBytes);
+		}
+		__INST(address_) = (OBJ)space;
+		__INST(size) = numberOfBytes;
+		RETURN(self);
+	    } else {
+		mallocFailure = true;
+	    }
+	}
     }
 %}.
     mallocFailure == true ifTrue:[
-        ^ MallocFailure raiseRequestWith:numberOfBytes.
+	^ MallocFailure raiseRequestWith:numberOfBytes.
     ] ifFalse:[
-        self primitiveFailed.
+	self primitiveFailed.
     ].
 ! !
 
@@ -1445,34 +1445,34 @@
 
 %{
     if (__isSmallInteger(numberOfBytes)) {
-        INT nBytes = __smallIntegerVal(numberOfBytes);
-        if (nBytes > 0) {
-            char *space;
-            char *prevSpace = (char *)__INST(address_);
+	INT nBytes = __smallIntegerVal(numberOfBytes);
+	if (nBytes > 0) {
+	    char *space;
+	    char *prevSpace = (char *)__INST(address_);
 
-            if (prevSpace == (char *)nil)
-                prevSpace = 0;  /* allocate from scratch */
-            space = __stx_realloc(prevSpace, nBytes);
-            if (space) {
-                __INST(address_) = (OBJ)space;
-                __INST(size) = numberOfBytes;
-                if (space == prevSpace) {
-                    /* same address, no re-registration */
-                    RETURN(self);
-                }
-                mallocStatus = true;
-            } else {
-                mallocStatus = false;
-            }
-        }
+	    if (prevSpace == (char *)nil)
+		prevSpace = 0;  /* allocate from scratch */
+	    space = __stx_realloc(prevSpace, nBytes);
+	    if (space) {
+		__INST(address_) = (OBJ)space;
+		__INST(size) = numberOfBytes;
+		if (space == prevSpace) {
+		    /* same address, no re-registration */
+		    RETURN(self);
+		}
+		mallocStatus = true;
+	    } else {
+		mallocStatus = false;
+	    }
+	}
     }
 %}.
     mallocStatus == true ifTrue:[
-        Lobby registerChange:self.
+	Lobby registerChange:self.
     ] ifFalse:[mallocStatus == false ifTrue:[
-        ^ MallocFailure raiseRequestWith:numberOfBytes.
+	^ MallocFailure raiseRequestWith:numberOfBytes.
     ] ifFalse:[
-        self primitiveFailed.
+	self primitiveFailed.
     ]].
 ! !
 
--- a/ExternalLibraryFunction.st	Tue May 17 00:56:14 2016 +0200
+++ b/ExternalLibraryFunction.st	Tue May 17 02:04:25 2016 +0200
@@ -96,10 +96,10 @@
     instances of me are used to interface to external library functions (as found in a dll/shared object).
 
     Inside a method, when a special external-call pragma such as:
-        <api: bool MessageBeep(uint)>
+	<api: bool MessageBeep(uint)>
 
     is encountered by the parser, the compiler generates a call via
-        <correspondingExternalLibraryFunctionObject> invokeWithArguments: argumentArray.
+	<correspondingExternalLibraryFunctionObject> invokeWithArguments: argumentArray.
     and the correspondingExternalLibraryFunctionObject is kept in the literal array.
 
     In the invoke method, the library is checked to be loaded (and loaded if not already),
@@ -107,22 +107,22 @@
     and finally, the return value is converted back from C to a smalltalk object.
 
     The parser supports the call-syntax of various other smalltalk dialects:
-        Squeak / ST-X:
-            <cdecl:   [async] [virtual|nonVirtual][const] returnType functionNameStringOrIndex ( argType1..argTypeN ) module: moduleName >
-            <apicall: [async] [virtual|nonVirtual][const] returnType functionNameStringOrIndex ( argType1..argTypeN ) module: moduleName >
+	Squeak / ST-X:
+	    <cdecl:   [async] [virtual|nonVirtual][const] returnType functionNameStringOrIndex ( argType1..argTypeN ) module: moduleName >
+	    <apicall: [async] [virtual|nonVirtual][const] returnType functionNameStringOrIndex ( argType1..argTypeN ) module: moduleName >
 
-        Dolphin:
-            <stdcall: [virtual|nonVirtual][const] returnType functionNameStringOrIndex argType1..argTypeN>
-            <cdecl:   [virtual|nonVirtual][const] returnType functionNameStringOrIndex argType1..argTypeN>
+	Dolphin:
+	    <stdcall: [virtual|nonVirtual][const] returnType functionNameStringOrIndex argType1..argTypeN>
+	    <cdecl:   [virtual|nonVirtual][const] returnType functionNameStringOrIndex argType1..argTypeN>
 
-        ST/V:
-            <api: functionName argType1 .. argTypeN returnType>
-            <ccall: functionName argType1 .. argTypeN returnType>
-            <ole: vFunctionIndex argType1 .. argTypeN returnType>
+	ST/V:
+	    <api: functionName argType1 .. argTypeN returnType>
+	    <ccall: functionName argType1 .. argTypeN returnType>
+	    <ole: vFunctionIndex argType1 .. argTypeN returnType>
 
-        VisualWorks:
-            <c: ...>
-            <c: #define NAME value>
+	VisualWorks:
+	    <c: ...>
+	    <c: #define NAME value>
 "
 !
 
@@ -215,19 +215,19 @@
 dllMapping
     "allows for dll's to be replaced,
      for example, if you want to use the mozilla sqlite dll
-        C:\Program Files\Mozilla Firefox\mozsqlite3.dll
+	C:\Program Files\Mozilla Firefox\mozsqlite3.dll
      for the sqlite3, execute:
-        ExternalLibraryFunction
-            dllMapping at:'sqlite3'
-            put: 'C:\Program Files\Mozilla Firefox\mozsqlite3.dll'
+	ExternalLibraryFunction
+	    dllMapping at:'sqlite3'
+	    put: 'C:\Program Files\Mozilla Firefox\mozsqlite3.dll'
      for mingw:
-        ExternalLibraryFunction
-            dllMapping at:'sqlite3'
-            put:'C:\mingw64\opt\bin\libsqlite3-0.dll'
+	ExternalLibraryFunction
+	    dllMapping at:'sqlite3'
+	    put:'C:\mingw64\opt\bin\libsqlite3-0.dll'
     "
 
     DllMapping isNil ifTrue:[
-        DllMapping := Dictionary new.
+	DllMapping := Dictionary new.
     ].
     ^ DllMapping
 
@@ -1756,7 +1756,7 @@
 	    printf("async call 0x%"_lx_"\n", (INT)codeAddress);
 	}
 # endif
-# ifdef WIN32
+# ifdef __win32__
 	__STX_C_CALL4( "ffi_call", ffi_call, &__cif, codeAddress, __returnValuePointer, __argValuePointersIncludingThis);
 # else
 	__BEGIN_INTERRUPTABLE__
--- a/ExternalStream.st	Tue May 17 00:56:14 2016 +0200
+++ b/ExternalStream.st	Tue May 17 02:04:25 2016 +0200
@@ -66,7 +66,7 @@
 # define SEEK_END 2
 #endif
 
-#if defined(__VMS__) || defined(__sparc__) || defined(WIN32)
+#if defined(__VMS__) || defined(__sparc__) || defined(__win32__)
 # define CLEAR_ERRNO            __threadErrno = 0;
 #else
 # define CLEAR_ERRNO            /* nothing */
@@ -80,7 +80,7 @@
 # define __MKFILEPOINTER(f)      __MKEXTERNALADDRESS(f)
 #endif
 
-#ifdef WIN32
+#ifdef __win32__
 # define NO_STDIO
 
 # undef __HANDLE_INTERRUPTS__
@@ -97,7 +97,7 @@
 #  define _X86_
 # endif
 
-#ifdef WIN32
+#ifdef __win32__
 # undef INT
 # undef UINT
 # undef Array
@@ -188,7 +188,7 @@
 # ifndef off_t
 #  define off_t  long
 # endif
-#endif /* WIN32 */
+#endif /* __win32__ */
 
 #ifndef NO_STDIO /* use STDIO */
 # define STDIO_NEEDS_FSEEK
@@ -223,7 +223,7 @@
 # define OPT_FSEEK(f, pos, whence)      /* nothing */
 #endif
 
-#ifdef WIN32
+#ifdef __win32__
 // 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) { \
@@ -692,7 +692,7 @@
     }                                                   \
   }
 
-#else /* ! WIN32 */
+#else /* ! __win32__ */
 /* ========================   UNIX / LINUX ====================================================== */
 typedef int SOCKET;
 
@@ -1504,24 +1504,24 @@
 
 initDefaultEOLMode
     OperatingSystem isUNIXlike ifTrue:[
-        "/ unix EOL conventions
-        DefaultEOLMode := #nl
+	"/ unix EOL conventions
+	DefaultEOLMode := #nl
     ] ifFalse:[
-        OperatingSystem isVMSlike ifTrue:[
-            "/ vms EOL conventions
-            DefaultEOLMode := #cr
-        ] ifFalse:[
-            "/ msdos EOL conventions
-            "/ msdos uses #crlf.
-            "/ the following breaks all programs, which do not explicitly
-            "/ change th eolMode when writing/reading binary files (zip reader)
-            "/ MUST change all classes before doing the following.
-            "/ Anyway: for backward compatibility (swisscom), it is left in this
-            "/ mode (for a while, I hope).
-            DefaultEOLMode := #crlf.
-
-            "/ DefaultEOLMode := #nl
-        ]
+	OperatingSystem isVMSlike ifTrue:[
+	    "/ vms EOL conventions
+	    DefaultEOLMode := #cr
+	] ifFalse:[
+	    "/ msdos EOL conventions
+	    "/ msdos uses #crlf.
+	    "/ the following breaks all programs, which do not explicitly
+	    "/ change th eolMode when writing/reading binary files (zip reader)
+	    "/ MUST change all classes before doing the following.
+	    "/ Anyway: for backward compatibility (swisscom), it is left in this
+	    "/ mode (for a while, I hope).
+	    DefaultEOLMode := #crlf.
+
+	    "/ DefaultEOLMode := #nl
+	]
     ]
 !
 
@@ -1546,41 +1546,41 @@
 
 initialize
     OpenErrorSignal isNil ifTrue:[
-        OpenErrorSignal := OpenError.
-        OpenErrorSignal notifierString:'open error'.
-
-        InvalidReadSignal := InvalidReadError.
-        InvalidReadSignal notifierString:'stream does not support reading'.
-
-        InvalidWriteSignal := InvalidWriteError.
-        InvalidWriteSignal notifierString:'stream does not support writing'.
-
-        InvalidModeSignal := InvalidModeError.
-        InvalidModeSignal notifierString:'binary/text mode mismatch'.
-
-        InvalidOperationSignal := InvalidOperationError.
-        InvalidOperationSignal notifierString:'unsupported file operation'.
-
-        StreamNotOpenSignal := StreamNotOpenError.
-        StreamNotOpenSignal notifierString:'stream is not open'.
-
-        StreamIOErrorSignal := StreamIOError.
-        StreamIOErrorSignal notifierString:'I/O error'.
-        
-        "/ self patchByteOrderOptimizedMethods
+	OpenErrorSignal := OpenError.
+	OpenErrorSignal notifierString:'open error'.
+
+	InvalidReadSignal := InvalidReadError.
+	InvalidReadSignal notifierString:'stream does not support reading'.
+
+	InvalidWriteSignal := InvalidWriteError.
+	InvalidWriteSignal notifierString:'stream does not support writing'.
+
+	InvalidModeSignal := InvalidModeError.
+	InvalidModeSignal notifierString:'binary/text mode mismatch'.
+
+	InvalidOperationSignal := InvalidOperationError.
+	InvalidOperationSignal notifierString:'unsupported file operation'.
+
+	StreamNotOpenSignal := StreamNotOpenError.
+	StreamNotOpenSignal notifierString:'stream is not open'.
+
+	StreamIOErrorSignal := StreamIOError.
+	StreamIOErrorSignal notifierString:'I/O error'.
+
+	"/ self patchByteOrderOptimizedMethods
     ].
 
     Lobby isNil ifTrue:[
-        Lobby := Registry new.
-
-        "want to get informed when returning from snapshot"
-        ObjectMemory addDependent:self
+	Lobby := Registry new.
+
+	"want to get informed when returning from snapshot"
+	ObjectMemory addDependent:self
     ].
     DefaultEOLMode isNil ifTrue:[
-        self initDefaultEOLMode.
+	self initDefaultEOLMode.
     ].
     ReadMode isNil ifTrue:[
-        self initModeStrings.
+	self initModeStrings.
     ].
 
     "limit the amount of newspace to be used for non-tenurable executors to 5%"
@@ -1595,21 +1595,21 @@
 patchByteOrderOptimizedMethods
     "EXPERIMENTAL (not yet done by default):
      change the underlying implementation of
-        nextPutInt16MSB / nextPutInt16LSB
-        nextPutInt32MSB / nextPutInt32LSB
+	nextPutInt16MSB / nextPutInt16LSB
+	nextPutInt32MSB / nextPutInt32LSB
      to the corresponding NATIVE methods."
 
     |native16 native32|
-    
+
     native16 := self compiledMethodAt:#nextPutInt16NATIVE:.
     native32 := self compiledMethodAt:#nextPutInt32NATIVE:.
-    
+
     UninterpretedBytes isBigEndian ifTrue:[
-        (self compiledMethodAt:#nextPutInt16MSB:) code:(native16 code).
-        (self compiledMethodAt:#nextPutInt32MSB:) code:(native32 code).
+	(self compiledMethodAt:#nextPutInt16MSB:) code:(native16 code).
+	(self compiledMethodAt:#nextPutInt32MSB:) code:(native32 code).
     ] ifFalse:[
-        (self compiledMethodAt:#nextPutInt16LSB:) code:(native16 code).
-        (self compiledMethodAt:#nextPutInt32LSB:) code:(native32 code).
+	(self compiledMethodAt:#nextPutInt16LSB:) code:(native16 code).
+	(self compiledMethodAt:#nextPutInt32LSB:) code:(native32 code).
     ].
 !
 
@@ -2148,7 +2148,7 @@
 	 || (__INST(handleType) == @symbol(filePointer))
 	 || (__INST(handleType) == @symbol(socketFilePointer))
 	 || (__INST(handleType) == @symbol(pipeFilePointer))) {
-#ifdef WIN32
+#ifdef __win32__
 	    RETURN(__MKEXTERNALADDRESS(_get_osfhandle(fileno(__FILEVal(_handle)))));
 #else
 	    RETURN (__MKINT(fileno(__FILEVal(_handle))));
@@ -2774,7 +2774,7 @@
 	    if (_buffered) {
 		__WRITING__(f)
 	    }
-#ifdef WIN32
+#ifdef __win32__
 	    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 		cnt = __win32_fwrite(__stringVal(aString), 1, len, f);
 	    } else
@@ -2799,7 +2799,7 @@
 		} else {
 		    cp = "\n"; len = 1;
 		}
-#ifdef WIN32
+#ifdef __win32__
 		if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 		    cnt = __win32_fwrite(cp, 1, len, f);
 		} else
@@ -2991,14 +2991,14 @@
     |bufferSize|
 
     (self isFileStream and:[outStream isFileStream]) ifTrue:[
-        bufferSize := 8192 * 8.     "/ 64k buffer size
-    ] ifFalse:[    
-        OperatingSystem isMSDOSlike ifTrue:[
-            "/ mhmh - NT hangs, when copying bigger blocks to a network drive - why ?
-            bufferSize := 1 * 1024.
-        ] ifFalse:[
-            bufferSize := 8 * 1024.
-        ].
+	bufferSize := 8192 * 8.     "/ 64k buffer size
+    ] ifFalse:[
+	OperatingSystem isMSDOSlike ifTrue:[
+	    "/ mhmh - NT hangs, when copying bigger blocks to a network drive - why ?
+	    bufferSize := 1 * 1024.
+	] ifFalse:[
+	    bufferSize := 8 * 1024.
+	].
     ].
     ^ self copyToEndInto:outStream bufferSize:bufferSize
 
@@ -3163,7 +3163,7 @@
 	goto out;
     }
 
-#ifdef WIN32
+#ifdef __win32__
      __threadErrno = 0;
      ret = __STX_API_NOINT_CALL1( "FlushFileBuffers", FlushFileBuffers, _get_osfhandle(fd));
      if (ret) {
@@ -3179,7 +3179,7 @@
      if (ret >= 0) {
 	 RETURN (self);
      }
-#endif /* ! WIN32 */
+#endif /* ! __win32__ */
      error = __mkSmallInteger(__threadErrno);
 #endif /* ! __openVMS__ */
 out:;
@@ -3232,7 +3232,7 @@
 	goto out;
     }
 
-#ifdef WIN32
+#ifdef __win32__
      __threadErrno = 0;
      ret = __STX_API_NOINT_CALL1( "FlushFileBuffers", FlushFileBuffers, _get_osfhandle(fd));
      if (ret) {
@@ -3248,7 +3248,7 @@
      if (ret >= 0) {
 	 RETURN (self);
      }
-#endif /* ! WIN32 */
+#endif /* ! __win32__ */
      error = __mkSmallInteger(__threadErrno);
 #endif /* ! __openVMS__ */
 out:;
@@ -3969,66 +3969,66 @@
      || (__INST(handleType) == @symbol(socketFilePointer))
      || (__INST(handleType) == @symbol(socketHandle))
      || (__INST(handleType) == @symbol(pipeFilePointer))) {
-        if (((fp = __INST(handle)) != nil)
-            && (__INST(mode) != @symbol(writeonly))
-        ) {
-            FILEPOINTER f;
-            int ret, _buffered;
-            int value;
-            union {
-                unsigned char buffer[4];
-                int intVal;
-            } u;
-
-            f = __FILEVal(fp);
-            _buffered = (__INST(buffered) == true);
-            if (_buffered) {
-                __READING__(f)
-            }
-            __READBYTES__(ret, f, u.buffer, 4, _buffered, __INST(handleType));
-
-            if (ret == 4) {
-                if (__isSmallInteger(__INST(position))) {
-                    INT np = __intVal(__INST(position)) + 4;
-                    OBJ t;
-
-                    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
-                } else {
-                    __INST(position) = nil; /* i.e. do not know */
-                }
-                if (msbFlag == true) {
+	if (((fp = __INST(handle)) != nil)
+	    && (__INST(mode) != @symbol(writeonly))
+	) {
+	    FILEPOINTER f;
+	    int ret, _buffered;
+	    int value;
+	    union {
+		unsigned char buffer[4];
+		int intVal;
+	    } u;
+
+	    f = __FILEVal(fp);
+	    _buffered = (__INST(buffered) == true);
+	    if (_buffered) {
+		__READING__(f)
+	    }
+	    __READBYTES__(ret, f, u.buffer, 4, _buffered, __INST(handleType));
+
+	    if (ret == 4) {
+		if (__isSmallInteger(__INST(position))) {
+		    INT np = __intVal(__INST(position)) + 4;
+		    OBJ t;
+
+		    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
+		} else {
+		    __INST(position) = nil; /* i.e. do not know */
+		}
+		if (msbFlag == true) {
 #if defined(__MSBFIRST__)
-                    value = u.intVal;
+		    value = u.intVal;
 #else
-                    value = (u.buffer[0] & 0xFF);
-                    value = (value << 8) | (u.buffer[1] & 0xFF);
-                    value = (value << 8) | (u.buffer[2] & 0xFF);
-                    value = (value << 8) | (u.buffer[3] & 0xFF);
+		    value = (u.buffer[0] & 0xFF);
+		    value = (value << 8) | (u.buffer[1] & 0xFF);
+		    value = (value << 8) | (u.buffer[2] & 0xFF);
+		    value = (value << 8) | (u.buffer[3] & 0xFF);
 #endif
-                } else {
+		} else {
 #if defined(__LSBFIRST__)
-                    value = u.intVal;
+		    value = u.intVal;
 #else
-                    value = (u.buffer[3] & 0xFF);
-                    value = (value << 8) | (u.buffer[2] & 0xFF);
-                    value = (value << 8) | (u.buffer[1] & 0xFF);
-                    value = (value << 8) | (u.buffer[0] & 0xFF);
+		    value = (u.buffer[3] & 0xFF);
+		    value = (value << 8) | (u.buffer[2] & 0xFF);
+		    value = (value << 8) | (u.buffer[1] & 0xFF);
+		    value = (value << 8) | (u.buffer[0] & 0xFF);
 #endif
-                }
+		}
 #if __POINTER_SIZE__ == 8
-                RETURN ( __mkSmallInteger(value));
+		RETURN ( __mkSmallInteger(value));
 #else
-                RETURN ( __MKINT(value) );
+		RETURN ( __MKINT(value) );
 #endif
-            }
-
-            if (ret < 0) {
-                __INST(position) = nil;
-                error = __mkSmallInteger(__threadErrno);
-            } else /* ret == 0 */ {
-                __INST(hitEOF) = true;
-            }
-        }
+	    }
+
+	    if (ret < 0) {
+		__INST(position) = nil;
+		error = __mkSmallInteger(__threadErrno);
+	    } else /* ret == 0 */ {
+		__INST(hitEOF) = true;
+	    }
+	}
     }
 %}.
     hitEOF ifTrue:[^ self pastEndRead].
@@ -4208,15 +4208,15 @@
 nextWord
     <resource: #obsolete>
     "in text-mode:
-         read the alphaNumeric next word (i.e. up to non letter-or-digit).
-         return a string containing those characters.
+	 read the alphaNumeric next word (i.e. up to non letter-or-digit).
+	 return a string containing those characters.
      in binary-mode:
-         read two bytes (msb-first) and return the value as a 16-bit
-         unsigned Integer (for compatibility with other smalltalks)"
+	 read two bytes (msb-first) and return the value as a 16-bit
+	 unsigned Integer (for compatibility with other smalltalks)"
 
     binary ifTrue:[
-        self obsoleteMethodWarning:'use #nextUnsignedShortMSB:true'.
-        ^ self nextUnsignedInt16MSB:true
+	self obsoleteMethodWarning:'use #nextUnsignedShortMSB:true'.
+	^ self nextUnsignedInt16MSB:true
     ].
     self obsoleteMethodWarning:'use #nextAlphaNumericWord'.
     ^ self nextAlphaNumericWord
@@ -4252,7 +4252,7 @@
 	    if (_buffered) {
 		__WRITING__(f)
 	    }
-#ifdef WIN32
+#ifdef __win32__
 	    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 		cnt = __win32_fwrite(&c, 1, 1, f);
 	    } else
@@ -4285,8 +4285,8 @@
 !
 
 nextPutInt16:anIntegerOrCharacter MSB:msbFlag
-    "Write the argument, anIntegerOrCharacter as a short (two bytes). 
-     If msbFlag is true, data is written most-significant byte first; 
+    "Write the argument, anIntegerOrCharacter as a short (two bytes).
+     If msbFlag is true, data is written most-significant byte first;
      otherwise least first.
      Notice that integers in the range -16r8000 to +16rFFFF can be written
      (i.e. both signed and unsigned int32 values can be written.
@@ -4296,8 +4296,8 @@
 %{
     int num;
     union {
-        char bytes[2];
-        short shortVal;
+	char bytes[2];
+	short shortVal;
     } u;
     OBJ fp;
 
@@ -4307,62 +4307,62 @@
      || (__INST(handleType) == @symbol(socketFilePointer))
      || (__INST(handleType) == @symbol(socketHandle))
      || (__INST(handleType) == @symbol(pipeFilePointer))) {
-        if (((fp = __INST(handle)) != nil)
-         && (__INST(mode) != @symbol(readonly))
-        ) {
-            FILEPOINTER f = __FILEVal(fp);
-            int _buffered = (__INST(buffered) == true);
-            int cnt;
-
-            if (__isSmallInteger(anIntegerOrCharacter)) {
-                num = __intVal(anIntegerOrCharacter);
-            } else if (__isCharacter(anIntegerOrCharacter)) {
-                num = __smallIntegerVal(__characterVal(anIntegerOrCharacter));
-            } else
-                goto out;
-
-            if (msbFlag == true) {
+	if (((fp = __INST(handle)) != nil)
+	 && (__INST(mode) != @symbol(readonly))
+	) {
+	    FILEPOINTER f = __FILEVal(fp);
+	    int _buffered = (__INST(buffered) == true);
+	    int cnt;
+
+	    if (__isSmallInteger(anIntegerOrCharacter)) {
+		num = __intVal(anIntegerOrCharacter);
+	    } else if (__isCharacter(anIntegerOrCharacter)) {
+		num = __smallIntegerVal(__characterVal(anIntegerOrCharacter));
+	    } else
+		goto out;
+
+	    if (msbFlag == true) {
 #if defined(__MSBFIRST__)
-                u.shortVal = num;
+		u.shortVal = num;
 #else
-                u.bytes[0] = (num >> 8) & 0xFF;
-                u.bytes[1] = num & 0xFF;
+		u.bytes[0] = (num >> 8) & 0xFF;
+		u.bytes[1] = num & 0xFF;
 #endif
-            } else {
+	    } else {
 #if defined(__LSBFIRST__)
-                u.shortVal = num;
+		u.shortVal = num;
 #else
-                u.bytes[1] = (num >> 8) & 0xFF;
-                u.bytes[0] = num & 0xFF;
+		u.bytes[1] = (num >> 8) & 0xFF;
+		u.bytes[0] = num & 0xFF;
 #endif
-            }
-
-            if (_buffered) {
-                __WRITING__(f)
-            }
-            __WRITEBYTES__(cnt, f, u.bytes, 2, _buffered, __INST(handleType));
-
-            if (cnt == 2) {
-                if (__isSmallInteger(__INST(position))) {
-                    INT np = __intVal(__INST(position)) + 2;
-                    OBJ t;
-
-                    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
-                } else {
-                    __INST(position) = nil; /* i.e. do not know */
-                }
-                RETURN ( self );
-            }
-            __INST(position) = nil; /* i.e. do not know */
-            error = __mkSmallInteger(__threadErrno);
-        }
+	    }
+
+	    if (_buffered) {
+		__WRITING__(f)
+	    }
+	    __WRITEBYTES__(cnt, f, u.bytes, 2, _buffered, __INST(handleType));
+
+	    if (cnt == 2) {
+		if (__isSmallInteger(__INST(position))) {
+		    INT np = __intVal(__INST(position)) + 2;
+		    OBJ t;
+
+		    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
+		} else {
+		    __INST(position) = nil; /* i.e. do not know */
+		}
+		RETURN ( self );
+	    }
+	    __INST(position) = nil; /* i.e. do not know */
+	    error = __mkSmallInteger(__threadErrno);
+	}
     }
 out:;
 %}.
     error notNil ifTrue:[
-        lastErrorNumber := error.
-        self writeError:error.
-        ^ self
+	lastErrorNumber := error.
+	self writeError:error.
+	^ self
     ].
     handle isNil ifTrue:[self errorNotOpen. ^ self].
     (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
@@ -4372,19 +4372,19 @@
 nextPutInt16LSB:anIntegerOrCharacter
     "do not remove.
      See #patchByteOrderOptimizedMethods"
-     
+
     self nextPutInt16:anIntegerOrCharacter MSB:false
 !
 
 nextPutInt16MSB:anIntegerOrCharacter
     "do not remove.
      See #patchByteOrderOptimizedMethods"
-     
+
     self nextPutInt16:anIntegerOrCharacter MSB:true
 !
 
-nextPutInt16NATIVE:anIntegerOrCharacter 
-    "Write the argument, anIntegerOrCharacter as a short (two bytes) in native byte order. 
+nextPutInt16NATIVE:anIntegerOrCharacter
+    "Write the argument, anIntegerOrCharacter as a short (two bytes) in native byte order.
      This is the CPU-specific byte order (LSB on x86, MSB on sparc, VAX and possibly on ARM).
      Notice that integers in the range -16r8000 to +16rFFFF can be written
      (i.e. both signed and unsigned int32 values can be written.
@@ -4394,8 +4394,8 @@
 %{
     int num;
     union {
-        char bytes[2];
-        short shortVal;
+	char bytes[2];
+	short shortVal;
     } u;
     OBJ fp;
 
@@ -4405,41 +4405,41 @@
      || (__INST(handleType) == @symbol(socketFilePointer))
      || (__INST(handleType) == @symbol(socketHandle))
      || (__INST(handleType) == @symbol(pipeFilePointer))) {
-        if (((fp = __INST(handle)) != nil)
-         && (__INST(mode) != @symbol(readonly))
-        ) {
-            FILEPOINTER f = __FILEVal(fp);
-            int _buffered = (__INST(buffered) == true);
-            int cnt;
-
-            if (__isSmallInteger(anIntegerOrCharacter)) {
-                num = __intVal(anIntegerOrCharacter);
-            } else if (__isCharacter(anIntegerOrCharacter)) {
-                num = __smallIntegerVal(__characterVal(anIntegerOrCharacter));
-            } else
-                goto out;
-
-            u.shortVal = num;
-
-            if (_buffered) {
-                __WRITING__(f)
-            }
-            __WRITEBYTES__(cnt, f, u.bytes, 2, _buffered, __INST(handleType));
-
-            if (cnt == 2) {
-                if (__isSmallInteger(__INST(position))) {
-                    INT np = __intVal(__INST(position)) + 2;
-                    OBJ t;
-
-                    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
-                } else {
-                    __INST(position) = nil; /* i.e. do not know */
-                }
-                RETURN ( self );
-            }
-            __INST(position) = nil; /* i.e. do not know */
-            error = __mkSmallInteger(__threadErrno);
-        }
+	if (((fp = __INST(handle)) != nil)
+	 && (__INST(mode) != @symbol(readonly))
+	) {
+	    FILEPOINTER f = __FILEVal(fp);
+	    int _buffered = (__INST(buffered) == true);
+	    int cnt;
+
+	    if (__isSmallInteger(anIntegerOrCharacter)) {
+		num = __intVal(anIntegerOrCharacter);
+	    } else if (__isCharacter(anIntegerOrCharacter)) {
+		num = __smallIntegerVal(__characterVal(anIntegerOrCharacter));
+	    } else
+		goto out;
+
+	    u.shortVal = num;
+
+	    if (_buffered) {
+		__WRITING__(f)
+	    }
+	    __WRITEBYTES__(cnt, f, u.bytes, 2, _buffered, __INST(handleType));
+
+	    if (cnt == 2) {
+		if (__isSmallInteger(__INST(position))) {
+		    INT np = __intVal(__INST(position)) + 2;
+		    OBJ t;
+
+		    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
+		} else {
+		    __INST(position) = nil; /* i.e. do not know */
+		}
+		RETURN ( self );
+	    }
+	    __INST(position) = nil; /* i.e. do not know */
+	    error = __mkSmallInteger(__threadErrno);
+	}
     }
 out:;
 %}.
@@ -4447,8 +4447,8 @@
 !
 
 nextPutInt32:aNumber MSB:msbFlag
-    "Write the argument, aNumber as a long (four bytes). 
-     If msbFlag is true, data is written most-significant byte first; 
+    "Write the argument, aNumber as a long (four bytes).
+     If msbFlag is true, data is written most-significant byte first;
      otherwise least first.
      Notice that integers in the range -16r80000000 to +16rFFFFFFFF can be written
      (i.e. both signed and unsigned int32 values can be written.
@@ -4459,29 +4459,29 @@
 %{
     int num;
     union {
-        char bytes[4];
-        int intVal;
+	char bytes[4];
+	int intVal;
     } u;
     OBJ fp;
 
     __INST(lastErrorNumber) = nil;
     if (__isSmallInteger(aNumber)) {
-        num = __intVal(aNumber);
+	num = __intVal(aNumber);
     } else {
 #if __POINTER_SIZE__ == 8
-        // always more than 4-bytes
-        goto badArg;
+	// always more than 4-bytes
+	goto badArg;
 #else
-        num = __longIntVal(aNumber);
-        if (num == 0) {
-            num = __signedLongIntVal(aNumber);
-            if (num == 0) {
-                /* bad arg or out-of-range integer
-                 * (handled by the fallBack code)
-                 */
-                goto badArg;
-            }
-        }
+	num = __longIntVal(aNumber);
+	if (num == 0) {
+	    num = __signedLongIntVal(aNumber);
+	    if (num == 0) {
+		/* bad arg or out-of-range integer
+		 * (handled by the fallBack code)
+		 */
+		goto badArg;
+	    }
+	}
 #endif
     }
 
@@ -4490,65 +4490,65 @@
      || (__INST(handleType) == @symbol(socketFilePointer))
      || (__INST(handleType) == @symbol(socketHandle))
      || (__INST(handleType) == @symbol(pipeFilePointer))) {
-        if (((fp = __INST(handle)) != nil)
-         && (__INST(mode) != @symbol(readonly))
-        ) {
-            int _buffered = (__INST(buffered) == true);
-            FILEPOINTER f = __FILEVal(fp);
-            int cnt;
-
-            if (msbFlag == true) {
+	if (((fp = __INST(handle)) != nil)
+	 && (__INST(mode) != @symbol(readonly))
+	) {
+	    int _buffered = (__INST(buffered) == true);
+	    FILEPOINTER f = __FILEVal(fp);
+	    int cnt;
+
+	    if (msbFlag == true) {
 #if defined(__MSBFIRST__)
-                u.intVal = num;
+		u.intVal = num;
 #else
-                u.bytes[0] = (num >> 24) & 0xFF;
-                u.bytes[1] = (num >> 16) & 0xFF;
-                u.bytes[2] = (num >> 8) & 0xFF;
-                u.bytes[3] = num & 0xFF;
+		u.bytes[0] = (num >> 24) & 0xFF;
+		u.bytes[1] = (num >> 16) & 0xFF;
+		u.bytes[2] = (num >> 8) & 0xFF;
+		u.bytes[3] = num & 0xFF;
 #endif
-            } else {
+	    } else {
 #if defined(__LSBFIRST__)
-                u.intVal = num;
+		u.intVal = num;
 #else
-                u.bytes[3] = (num >> 24) & 0xFF;
-                u.bytes[2] = (num >> 16) & 0xFF;
-                u.bytes[1] = (num >> 8) & 0xFF;
-                u.bytes[0] = num & 0xFF;
+		u.bytes[3] = (num >> 24) & 0xFF;
+		u.bytes[2] = (num >> 16) & 0xFF;
+		u.bytes[1] = (num >> 8) & 0xFF;
+		u.bytes[0] = num & 0xFF;
 #endif
-            }
-
-            if (_buffered) {
-                __WRITING__(f)
-            }
-            __WRITEBYTES__(cnt, f, u.bytes, 4, _buffered, __INST(handleType));
-
-            if (cnt == 4) {
-                if (__isSmallInteger(__INST(position))) {
-                    INT np = __intVal(__INST(position)) + 4;
-                    OBJ t;
-
-                    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
-                } else {
-                    __INST(position) = nil; /* i.e. do not know */
-                }
-                RETURN ( self );
-            }
-            __INST(position) = nil; /* i.e. do not know */
-            error = __mkSmallInteger(__threadErrno);
-        }
+	    }
+
+	    if (_buffered) {
+		__WRITING__(f)
+	    }
+	    __WRITEBYTES__(cnt, f, u.bytes, 4, _buffered, __INST(handleType));
+
+	    if (cnt == 4) {
+		if (__isSmallInteger(__INST(position))) {
+		    INT np = __intVal(__INST(position)) + 4;
+		    OBJ t;
+
+		    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
+		} else {
+		    __INST(position) = nil; /* i.e. do not know */
+		}
+		RETURN ( self );
+	    }
+	    __INST(position) = nil; /* i.e. do not know */
+	    error = __mkSmallInteger(__threadErrno);
+	}
     }
 badArg: ;
 %}.
     handle isNil ifTrue:[self errorNotOpen. ^ self].
     (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
     error notNil ifTrue:[
-        lastErrorNumber := error.
-        self writeError:error.
-        ^ self
+	lastErrorNumber := error.
+	self writeError:error.
+	^ self
     ].
 
     aNumber isInteger ifTrue:[
-        ^ super nextPutInt32:aNumber MSB:msbFlag
+	^ super nextPutInt32:aNumber MSB:msbFlag
     ].
     self argumentMustBeInteger
 !
@@ -4556,55 +4556,55 @@
 nextPutInt32LSB:anIntegerOrCharacter
     "do not remove.
      See #patchByteOrderOptimizedMethods"
-     
+
     self nextPutInt32:anIntegerOrCharacter MSB:false
 !
 
 nextPutInt32MSB:anIntegerOrCharacter
     "do not remove.
      See #patchByteOrderOptimizedMethods"
-     
+
     self nextPutInt32:anIntegerOrCharacter MSB:true
 !
 
 nextPutInt32NATIVE:anInteger
-    "Write the argument, anInteger as a long (four bytes) in native byte order. 
+    "Write the argument, anInteger as a long (four bytes) in native byte order.
      This is the CPU-specific byte order (LSB on x86, MSB on sparc, VAX and possibly on ARM).
      Notice that integers in the range -16r80000000 to +16rFFFFFFFF can be written
      (i.e. both signed and unsigned int32 values can be written.
      Works in both binary and text modes.
      Notice: this message should not be sent explicitly by ANY program.
-             the following implementation replaces the code of either nextPutInt32MSB or LSB
-             dynamically (see #initialize on the class side)"
+	     the following implementation replaces the code of either nextPutInt32MSB or LSB
+	     dynamically (see #initialize on the class side)"
 
     |error|
 
 %{
     int num;
     union {
-        char bytes[4];
-        int intVal;
+	char bytes[4];
+	int intVal;
     } u;
     OBJ fp;
 
     __INST(lastErrorNumber) = nil;
     if (__isSmallInteger(anInteger)) {
-        num = __intVal(anInteger);
+	num = __intVal(anInteger);
     } else {
 #if __POINTER_SIZE__ == 8
-        // always more than 4-bytes
-        goto badArg;
+	// always more than 4-bytes
+	goto badArg;
 #else
-        num = __longIntVal(anInteger);
-        if (num == 0) {
-            num = __signedLongIntVal(anInteger);
-            if (num == 0) {
-                /* bad arg or out-of-range integer
-                 * (handled by the fallBack code)
-                 */
-                goto badArg;
-            }
-        }
+	num = __longIntVal(anInteger);
+	if (num == 0) {
+	    num = __signedLongIntVal(anInteger);
+	    if (num == 0) {
+		/* bad arg or out-of-range integer
+		 * (handled by the fallBack code)
+		 */
+		goto badArg;
+	    }
+	}
 #endif
     }
 
@@ -4613,33 +4613,33 @@
      || (__INST(handleType) == @symbol(socketFilePointer))
      || (__INST(handleType) == @symbol(socketHandle))
      || (__INST(handleType) == @symbol(pipeFilePointer))) {
-        if (((fp = __INST(handle)) != nil)
-         && (__INST(mode) != @symbol(readonly))
-        ) {
-            int _buffered = (__INST(buffered) == true);
-            FILEPOINTER f = __FILEVal(fp);
-            int cnt;
-
-            u.intVal = num;
-            if (_buffered) {
-                __WRITING__(f)
-            }
-            __WRITEBYTES__(cnt, f, u.bytes, 4, _buffered, __INST(handleType));
-
-            if (cnt == 4) {
-                if (__isSmallInteger(__INST(position))) {
-                    INT np = __intVal(__INST(position)) + 4;
-                    OBJ t;
-
-                    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
-                } else {
-                    __INST(position) = nil; /* i.e. do not know */
-                }
-                RETURN ( self );
-            }
-            __INST(position) = nil; /* i.e. do not know */
-            error = __mkSmallInteger(__threadErrno);
-        }
+	if (((fp = __INST(handle)) != nil)
+	 && (__INST(mode) != @symbol(readonly))
+	) {
+	    int _buffered = (__INST(buffered) == true);
+	    FILEPOINTER f = __FILEVal(fp);
+	    int cnt;
+
+	    u.intVal = num;
+	    if (_buffered) {
+		__WRITING__(f)
+	    }
+	    __WRITEBYTES__(cnt, f, u.bytes, 4, _buffered, __INST(handleType));
+
+	    if (cnt == 4) {
+		if (__isSmallInteger(__INST(position))) {
+		    INT np = __intVal(__INST(position)) + 4;
+		    OBJ t;
+
+		    t = __MKINT(np); __INST(position) = t; __STORE(self, t);
+		} else {
+		    __INST(position) = nil; /* i.e. do not know */
+		}
+		RETURN ( self );
+	    }
+	    __INST(position) = nil; /* i.e. do not know */
+	    error = __mkSmallInteger(__threadErrno);
+	}
     }
 badArg: ;
 %}.
@@ -4685,74 +4685,74 @@
     int rslt;
 
     if (fp == nil) {
-        error = @symbol(errorNotOpen);
-        goto out;
+	error = @symbol(errorNotOpen);
+	goto out;
     }
 
     if (__INST(handleType) == @symbol(socketHandle)) {
-        SOCKET sock = __FILEVal(fp);
-
-        if (@global(FileOpenTrace) == true) {
-            fprintf(stderr, "close socket [ExternalStream] %"_lx_"\n", (INT)sock);
-        }
-
-        // whether the close() will be successful or not - the handle is invalid now!
-        __INST(handle) = nil;
-        do {
-#ifdef WIN32
-            rslt = __STX_WSA_NOINT_CALL1("closesocket", closesocket, sock);
+	SOCKET sock = __FILEVal(fp);
+
+	if (@global(FileOpenTrace) == true) {
+	    fprintf(stderr, "close socket [ExternalStream] %"_lx_"\n", (INT)sock);
+	}
+
+	// whether the close() will be successful or not - the handle is invalid now!
+	__INST(handle) = nil;
+	do {
+#ifdef __win32__
+	    rslt = __STX_WSA_NOINT_CALL1("closesocket", closesocket, sock);
 #else
-            rslt = close(sock);
+	    rslt = close(sock);
 #endif
-        } while((rslt < 0) && (__threadErrno == EINTR));
+	} while((rslt < 0) && (__threadErrno == EINTR));
     } else if ((__INST(handleType) == nil)
-               || (__INST(handleType) == @symbol(filePointer))
-               || (__INST(handleType) == @symbol(socketFilePointer))
-               || (__INST(handleType) == @symbol(pipeFilePointer)))
+	       || (__INST(handleType) == @symbol(filePointer))
+	       || (__INST(handleType) == @symbol(socketFilePointer))
+	       || (__INST(handleType) == @symbol(pipeFilePointer)))
     {
-        FILEPOINTER f = __FILEVal(fp);
-
-        if (@global(FileOpenTrace) == true) {
-            fprintf(stderr, "fclose [ExternalStream] %"_lx_"\n", (INT)f);
-        }
-        // whether the close() will be successful or not - the handle is invalid now!
-        __INST(handle) = nil;
-
-#ifdef WIN32
-        if (__INST(mode) != @symbol(readonly) && __INST(buffered) != false) {
-            // do a fflush() first, so that fclose() doesn't block
-            // we suspect, that EINTR causes problems in fclose()
-            do {
-                __threadErrno = 0;
-                rslt = __STX_C_CALL1("fflush", fflush, f);
-            } while((rslt < 0) && (__threadErrno == EINTR));
-        }
-        do {
-            __threadErrno = 0;
-            rslt = __STX_C_NOINT_CALL1("fclose", fclose, f);
-        } while((rslt < 0) && (__threadErrno == EINTR));
+	FILEPOINTER f = __FILEVal(fp);
+
+	if (@global(FileOpenTrace) == true) {
+	    fprintf(stderr, "fclose [ExternalStream] %"_lx_"\n", (INT)f);
+	}
+	// whether the close() will be successful or not - the handle is invalid now!
+	__INST(handle) = nil;
+
+#ifdef __win32__
+	if (__INST(mode) != @symbol(readonly) && __INST(buffered) != false) {
+	    // do a fflush() first, so that fclose() doesn't block
+	    // we suspect, that EINTR causes problems in fclose()
+	    do {
+		__threadErrno = 0;
+		rslt = __STX_C_CALL1("fflush", fflush, f);
+	    } while((rslt < 0) && (__threadErrno == EINTR));
+	}
+	do {
+	    __threadErrno = 0;
+	    rslt = __STX_C_NOINT_CALL1("fclose", fclose, f);
+	} while((rslt < 0) && (__threadErrno == EINTR));
 #else
-        // 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.
-        // Must watch this - if it leads to blockings, change and think about it.
-        if (__INST(mode) != @symbol(readonly)) {
-            __BEGIN_INTERRUPTABLE__
-            rslt = fclose(f);
-            __END_INTERRUPTABLE__
-        } else {
-            rslt = fclose(f);
-        }
+	// 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.
+	// Must watch this - if it leads to blockings, change and think about it.
+	if (__INST(mode) != @symbol(readonly)) {
+	    __BEGIN_INTERRUPTABLE__
+	    rslt = fclose(f);
+	    __END_INTERRUPTABLE__
+	} else {
+	    rslt = fclose(f);
+	}
 #endif
     } else {
-        error = @symbol(badHandleType);
-        goto out;
+	error = @symbol(badHandleType);
+	goto out;
     }
 
     if (rslt < 0) {
-        error = __mkSmallInteger(__threadErrno);
-        goto out;
+	error = __mkSmallInteger(__threadErrno);
+	goto out;
     }
     RETURN (self);
 
@@ -4760,28 +4760,28 @@
 %}.
 
     error notNil ifTrue:[
-        error == #errorNotOpen ifTrue:[
-            self errorNotOpen.
-        ].
-        error isInteger ifTrue:[
-            lastErrorNumber := error.
-            mode == #readonly ifTrue:[
-                self ioError:error.
-            ] ifFalse:[
-                self writeError:error.
-            ].
-            ^ self.
-        ].
-        self primitiveFailed:error.
-        ^ self.
+	error == #errorNotOpen ifTrue:[
+	    self errorNotOpen.
+	].
+	error isInteger ifTrue:[
+	    lastErrorNumber := error.
+	    mode == #readonly ifTrue:[
+		self ioError:error.
+	    ] ifFalse:[
+		self writeError:error.
+	    ].
+	    ^ self.
+	].
+	self primitiveFailed:error.
+	^ self.
     ].
 
     "/ fallback for rel5
 
     fp := handle.
     fp notNil ifTrue:[
-        handle := nil.
-        self closeFile:fp
+	handle := nil.
+	self closeFile:fp
     ]
 !
 
@@ -4811,13 +4811,13 @@
     int fd = -2;
 
     if (__isStringLike(openmode)) {
-#ifdef WIN32
+#ifdef __win32__
 	__stxWrapApiEnterCritical();
 #endif
 	if (__isSmallInteger(aFileDescriptor)) {
 	    fd = __intVal(aFileDescriptor);
 	}
-#ifdef WIN32
+#ifdef __win32__
 	else if (__isExternalAddressLike(aFileDescriptor)) {
 	    fd = _open_osfhandle((long)__externalAddressVal(aFileDescriptor), O_BINARY);
 	    if (fd < 0) {
@@ -4832,7 +4832,7 @@
 	}
 #endif
 	f = (FILEPOINTER) fdopen(fd, (char *)__stringVal(openmode));
-#ifdef WIN32
+#ifdef __win32__
 	__stxWrapApiLeaveCritical();
 #endif
 	if (f == NULL) {
@@ -4909,7 +4909,7 @@
     OBJ fp;
 
     if (__isStringLike(aPath) && __isStringLike(openModeString)) {
-#ifdef WIN32
+#ifdef __win32__
 # if 1
        f = fopen((char *) __stringVal(aPath), (char *) __stringVal(openModeString));
 # else
@@ -5005,7 +5005,7 @@
     if (!__isStringLike(openMode))
 	goto err;
 
-#ifdef WIN32
+#ifdef __win32__
     __stxWrapApiEnterCritical();
     if (__isExternalAddressLike(anIntegerOrExternalAddress) ) {
 	HANDLE __fileHandle = (HANDLE)__externalAddressVal(anIntegerOrExternalAddress);
@@ -5020,13 +5020,13 @@
     if (__isSmallInteger(anIntegerOrExternalAddress)) {
 	fd = __smallIntegerVal(anIntegerOrExternalAddress);
     } else {
-#ifdef WIN32
+#ifdef __win32__
 	__stxWrapApiLeaveCritical();
 #endif
 	goto err;
     }
     f = fdopen(fd, __stringVal(openMode));
-#ifdef WIN32
+#ifdef __win32__
     __stxWrapApiLeaveCritical();
 #endif
     if (f != NULL) {
@@ -5115,7 +5115,7 @@
     fd := self fileDescriptor.
 
 %{
-#ifdef WIN32
+#ifdef __win32__
     int res = 1;
     int success = 0;
 
@@ -5593,7 +5593,7 @@
 	     * read ahead ...
 	     */
 	    do {
-#ifdef WIN32
+#ifdef __win32__
 # if 1
 		__READBYTE__(ret, f, &c, _buffered, __INST(handleType));
 
@@ -5602,7 +5602,7 @@
 		__READBYTE__(ret, f, &c, _buffered, __INST(handleType));
 		__END_INTERRUPTABLE__
 # endif
-#else /* not WIN32 */
+#else /* not __win32__ */
 		__BEGIN_INTERRUPTABLE__
 		__READBYTE__(ret, f, &c, _buffered, __INST(handleType));
 		__END_INTERRUPTABLE__
@@ -5925,7 +5925,7 @@
 		    cp = "\n"; len = 1;
 		}
 	    }
-#ifdef WIN32
+#ifdef __win32__
 	    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 		cnt = __win32_fwrite(cp, 1, len, f);
 	    } else
@@ -5980,7 +5980,7 @@
 	    if (__INST(mode) != @symbol(readonly)) {
 		if (_buffered) {
 		    FILEPOINTER f = __FILEVal(fp);
-#ifdef WIN32
+#ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			__win32_fflush(f);
 		    } else {
@@ -5991,11 +5991,11 @@
 			    rslt = __STX_C_CALL1("fflush", fflush, f);
 			} while((rslt < 0) && (__threadErrno == EINTR));
 		    }
-#else /* ! WIN32 */
+#else /* ! __win32__ */
 		    __BEGIN_INTERRUPTABLE__
 		    FFLUSH(f);
 		    __END_INTERRUPTABLE__
-#endif /* ! WIN32 */
+#endif /* ! __win32__ */
 		}
 	    }
 	}
@@ -6074,7 +6074,7 @@
 			if (_buffered) {
 			    __WRITING__(f)
 			}
-# ifdef WIN32
+# ifdef __win32__
 			if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			    cnt = __win32_fwrite(buff, 1, nBytes, f);
 			} else
@@ -6247,7 +6247,7 @@
 		    }
 
 		    len = dp - buf;
-# ifdef WIN32
+# ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite(buf, 1, len, f);
 		    } else
@@ -6257,7 +6257,7 @@
 		    }
 		    free(buf);
 		} else  {  // No EOL conversion needed
-# ifdef WIN32
+# ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite(stringP, 1, len, f);
 		    } else
@@ -6279,7 +6279,7 @@
 			len = __byteArraySize(aCollection) - offs;
 		    } else
 			goto out;
-# ifdef WIN32
+# ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite(__stringVal(aCollection), 1, len, f);
 		    } else
@@ -6446,7 +6446,7 @@
 		    }
 
 		    len = dp - buf;
-#ifdef WIN32
+#ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite(buf, 1, len, f);
 		    } else
@@ -6456,7 +6456,7 @@
 		    }
 		    free(buf);
 		} else  {  // No EOL conversion needed
-#ifdef WIN32
+#ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite(stringP, 1, len, f);
 		    } else
@@ -6486,7 +6486,7 @@
 			iStop = len;
 		    len = iStop - iStart + 1;
 		    offs += iStart - 1;
-#ifdef WIN32
+#ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite(__stringVal(aCollection)+iStart-1, 1, len, f);
 		    } else
@@ -6638,7 +6638,7 @@
 		}
 
 		if (extPtr) {
-# ifdef WIN32
+# ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite(extPtr+offs, 1, len, f);
 		    } else
@@ -6652,7 +6652,7 @@
 		     * So we pass anObject, and the offset to the __WRITEBYTES_OBJ__ macro.
 		     */
 		    offs += nInstBytes;
-# ifdef WIN32
+# ifdef __win32__
 		    if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			cnt = __win32_fwrite((char *)anObject+offs, 1, len, f);
 		    } else
@@ -6714,13 +6714,13 @@
     self nextPutUtf16:aCharacter MSB:true
 
     "
-        (FileStream newTemporary
-            nextPutUtf16:$B;
-            nextPutUtf16:$Ä;
-            nextPutUtf16:(Character codePoint:16r10CCCC);
-            reset;
-            binary;
-            contents)
+	(FileStream newTemporary
+	    nextPutUtf16:$B;
+	    nextPutUtf16:$Ä;
+	    nextPutUtf16:(Character codePoint:16r10CCCC);
+	    reset;
+	    binary;
+	    contents)
     "
 !
 
@@ -6733,35 +6733,35 @@
     codePoint := aCharacter codePoint.
     (codePoint <= 16rD7FF
       or:[codePoint >= 16rE000 and:[codePoint <= 16rFFFF]]) ifTrue:[
-        self nextPutInt16:codePoint MSB:msb.
+	self nextPutInt16:codePoint MSB:msb.
     ] ifFalse:[codePoint <= 16r10FFFF ifTrue:[
-        |highBits lowBits|
-
-        codePoint := codePoint - 16r100000.
-        highBits := codePoint bitShift:-10.
-        lowBits := codePoint bitAnd:16r3FF.
-        self nextPutInt16:highBits+16rD800 MSB:msb.
-        self nextPutInt16:lowBits+16rDC00 MSB:msb.
+	|highBits lowBits|
+
+	codePoint := codePoint - 16r100000.
+	highBits := codePoint bitShift:-10.
+	lowBits := codePoint bitAnd:16r3FF.
+	self nextPutInt16:highBits+16rD800 MSB:msb.
+	self nextPutInt16:lowBits+16rDC00 MSB:msb.
     ] ifFalse:[
-        EncodingError raiseWith:aCharacter errorString:'Character cannot be encoded as UTF-16'.
+	EncodingError raiseWith:aCharacter errorString:'Character cannot be encoded as UTF-16'.
     ]].
 
     "
-        (FileStream newTemporary
-            nextPutUtf16:$B MSB:true;
-            nextPutUtf16:$Ä MSB:true;
-            nextPutUtf16:(Character codePoint:16r10CCCC) MSB:true;
-            reset;
-            binary;
-            contents)
-    
-        (FileStream newTemporary
-            nextPutUtf16:$B MSB:false;
-            nextPutUtf16:$Ä MSB:false;
-            nextPutUtf16:(Character codePoint:16r10CCCC) MSB:false;
-            reset;
-            binary;
-            contents)
+	(FileStream newTemporary
+	    nextPutUtf16:$B MSB:true;
+	    nextPutUtf16:$Ä MSB:true;
+	    nextPutUtf16:(Character codePoint:16r10CCCC) MSB:true;
+	    reset;
+	    binary;
+	    contents)
+
+	(FileStream newTemporary
+	    nextPutUtf16:$B MSB:false;
+	    nextPutUtf16:$Ä MSB:false;
+	    nextPutUtf16:(Character codePoint:16r10CCCC) MSB:false;
+	    reset;
+	    binary;
+	    contents)
     "
 !
 
@@ -6804,7 +6804,7 @@
 			if (_buffered) {
 			    __WRITING__(f)
 			}
-#ifdef WIN32
+#ifdef __win32__
 			if ((f == __win32_stdout()) || (f == __win32_stderr())) {
 			    cnt = __win32_fwrite(&c, 1, 1, f);
 			} else
--- a/FileStream.st	Tue May 17 00:56:14 2016 +0200
+++ b/FileStream.st	Tue May 17 02:04:25 2016 +0200
@@ -58,9 +58,9 @@
 #define String  __STX_String
 #define Character __STX_Character
 
-#ifdef WIN32
+#ifdef __win32__
 # define NO_STDIO
-# ifdef __i386__
+# if defined(__i386__) || defined(__x86__)
 #  define _X86_
 # endif
 
@@ -179,9 +179,9 @@
 #  define HFILE FILE *
 /* #  define fileno(f) f */
 
-#else /* not WIN32 */
+#else /* not __win32__ */
 # define HFILE FILE *
-#endif /* ! WIN32 */
+#endif /* ! __win32__ */
 
 //#define DO_WRAP_CALL_FSEEK
 
@@ -447,48 +447,48 @@
     |nameString random prevRandom prevNameString newTempFilename stream|
 
     [
-        prevRandom := random.
-        prevNameString := nameString.
+	prevRandom := random.
+	prevNameString := nameString.
 
-        "Use random numbers in order to improve the security
-         by making the generated names less predictable"
-        [
-            random := RandomGenerator nextLettersOrDigits:4.
-        ] doWhile:[random = prevRandom].
+	"Use random numbers in order to improve the security
+	 by making the generated names less predictable"
+	[
+	    random := RandomGenerator nextLettersOrDigits:4.
+	] doWhile:[random = prevRandom].
 
-        nameString := template bindWith:(OperatingSystem getProcessId) with:random.
+	nameString := template bindWith:(OperatingSystem getProcessId) with:random.
 
-        aDirectoryOrNil isNil ifTrue:[
-            newTempFilename := nameString.
-        ] ifFalse:[
-            newTempFilename := aDirectoryOrNil asFilename constructString:nameString.
-        ].
+	aDirectoryOrNil isNil ifTrue:[
+	    newTempFilename := nameString.
+	] ifFalse:[
+	    newTempFilename := aDirectoryOrNil asFilename constructString:nameString.
+	].
 
-        [
-            stream := self open:newTempFilename withMode:#(CREATE_NEW GENERIC_READ_WRITE).
-        ] on:OpenError do:[:ex|
-           ex errorCategory ~~ #existingReferentSignal ifTrue:[
-                "some fundamental error, raise exception"
-                ex reject.
-            ].
-            prevNameString = nameString ifTrue:[
-                "no more names - probably a bad template"
-                ex reject.
-            ].
-            "file exists, retry another one"
-        ].
+	[
+	    stream := self open:newTempFilename withMode:#(CREATE_NEW GENERIC_READ_WRITE).
+	] on:OpenError do:[:ex|
+	   ex errorCategory ~~ #existingReferentSignal ifTrue:[
+		"some fundamental error, raise exception"
+		ex reject.
+	    ].
+	    prevNameString = nameString ifTrue:[
+		"no more names - probably a bad template"
+		ex reject.
+	    ].
+	    "file exists, retry another one"
+	].
     ] doWhile:[
-        stream isNil and:[prevNameString ~= nameString]   "/ if namestring didn't change, the template is bad
+	stream isNil and:[prevNameString ~= nameString]   "/ if namestring didn't change, the template is bad
     ].
     ^ stream
 
     "temp files in '/tmp':
 
-        FileStream newTemporaryIn:'/tmp' asFilename nameTemplate:'foo%1_%2'
+	FileStream newTemporaryIn:'/tmp' asFilename nameTemplate:'foo%1_%2'
 
      This must fail on the second try:
-        FileStream newTemporaryIn:'/tmp' asFilename nameTemplate:'foo'
-        FileStream newTemporaryIn:'c:\temp' asFilename nameTemplate:'foo'
+	FileStream newTemporaryIn:'/tmp' asFilename nameTemplate:'foo'
+	FileStream newTemporaryIn:'c:\temp' asFilename nameTemplate:'foo'
     "
 
     "temp files somewhere
@@ -1004,7 +1004,7 @@
     if (__INST(handle) != nil) {
 	do {
 	    f = __FILEVal(__INST(handle));
-#ifdef WIN32
+#ifdef __win32__
 	    __threadErrno = 0;
 	    if (__INST(buffered) == true) {
 # if 0
@@ -1028,7 +1028,7 @@
 		__threadErrno = errno;
 # endif
 	    }
-#else /* !WIN32 */
+#else /* !__win32__ */
 	    if (__INST(buffered) == true) {
 #ifdef _LFS_LARGEFILE
 		currentPosition = ftello(f);
@@ -1074,7 +1074,7 @@
     if ((__INST(canPosition) != false) || (newPos == __mkSmallInteger(0))) {
 	if ((fp = __INST(handle)) != nil) {
 
-#if defined(_LFS_LARGE_FILE) && !defined(WIN32)
+#if defined(_LFS_LARGE_FILE) && !defined(__win32__)
 # define FSEEK fseeko
 	    off_t nP;
 #else
@@ -1196,7 +1196,7 @@
 	f = __FILEVal(__INST(handle));
 	__INST(position) = nil;    /* i.e. unknown */
 	do {
-#ifdef WIN32
+#ifdef __win32__
 	    __threadErrno = 0;
 	    if (__INST(buffered) == true) {
 		ret = STX_C_CALL3( "fseek", fseek, f, 0L, SEEK_END);
@@ -1206,11 +1206,11 @@
 	    }
 #else
 	    if (__INST(buffered) == true) {
-#ifdef _LFS_LARGE_FILE
+# ifdef _LFS_LARGE_FILE
 		ret = fseeko(f, (off_t)0, SEEK_END);
-#else
+# else
 		ret = fseek(f, 0L, SEEK_END);
-#endif
+# endif
 	    } else {
 		ret = lseek(fileno(f), (off_t)0, SEEK_END);
 	    }
@@ -1350,369 +1350,369 @@
     int pass = 0;
 
     if (!__isNonNilObject(encodedPathName)
-        || !(__isStringLike(openmode) || __isArrayLike(openmode)))
-            goto badArgument;
+	|| !(__isStringLike(openmode) || __isArrayLike(openmode)))
+	    goto badArgument;
 
 retry:
 #ifdef __VMS__
       if (__isStringLike(encodedPathName)) {
-        do {
-            /*
-             * allow passing additional RMS arguments.
-             * stupid: DEC does not seem to offer an interface for passing a char **.
-             */
-            __threadErrno = 0;
+	do {
+	    /*
+	     * allow passing additional RMS arguments.
+	     * stupid: DEC does not seem to offer an interface for passing a char **.
+	     */
+	    __threadErrno = 0;
 
-            {
-                if (__isArray(attributeSpec)) {
-                    OBJ *ap = __ArrayInstPtr(attributeSpec)->a_element;
-                    int numAttrib = 0;
-                    int i;
+	    {
+		if (__isArray(attributeSpec)) {
+		    OBJ *ap = __ArrayInstPtr(attributeSpec)->a_element;
+		    int numAttrib = 0;
+		    int i;
 
-                    numAttrib = __arraySize(attributeSpec);
-                    for (i=0; i<numAttrib;i++) {
-                        if (! __isStringLike(ap[i])) {
-                            __threadErrno = EINVAL; /* invalid argument */
-                            goto getOutOfHere;
-                        }
-                    }
-                    switch (numAttrib) {
-                        case 0:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 1:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 2:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 3:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 4:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
-                                      __stringVal(ap[3]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 5:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
-                                      __stringVal(ap[3]), __stringVal(ap[4]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 6:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
-                                      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 7:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
-                                      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
-                                      __stringVal(ap[6]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 8:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
-                                      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
-                                      __stringVal(ap[6]), __stringVal(ap[7]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 9:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
-                                      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
-                                      __stringVal(ap[6]), __stringVal(ap[7]), __stringVal(ap[8]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        case 10:
-                            __BEGIN_INTERRUPTABLE__
-                            f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
-                                      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
-                                      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
-                                      __stringVal(ap[6]), __stringVal(ap[7]), __stringVal(ap[8]),
-                                      __stringVal(ap[9]));
-                            __END_INTERRUPTABLE__
-                            break;
-                        default:
-                            __threadErrno = E2BIG; /* too many args */
-                            goto getOutOfHere;
-                    }
-                } else if (attributeSpec != nil) {
-                    __threadErrno = EINVAL; /* invalid argument */
-                    goto getOutOfHere;
-                } else {
-                    /*
-                     * create file as sequential streamLF by default.
-                     */
-                    __BEGIN_INTERRUPTABLE__
-                    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode), "rfm=stmlf");
-                    __END_INTERRUPTABLE__
-                }
-            }
-        } while ((f == NULL) && (__threadErrno == EINTR));
+		    numAttrib = __arraySize(attributeSpec);
+		    for (i=0; i<numAttrib;i++) {
+			if (! __isStringLike(ap[i])) {
+			    __threadErrno = EINVAL; /* invalid argument */
+			    goto getOutOfHere;
+			}
+		    }
+		    switch (numAttrib) {
+			case 0:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 1:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 2:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 3:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 4:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
+				      __stringVal(ap[3]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 5:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
+				      __stringVal(ap[3]), __stringVal(ap[4]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 6:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
+				      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 7:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
+				      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
+				      __stringVal(ap[6]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 8:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
+				      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
+				      __stringVal(ap[6]), __stringVal(ap[7]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 9:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
+				      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
+				      __stringVal(ap[6]), __stringVal(ap[7]), __stringVal(ap[8]));
+			    __END_INTERRUPTABLE__
+			    break;
+			case 10:
+			    __BEGIN_INTERRUPTABLE__
+			    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode),
+				      __stringVal(ap[0]), __stringVal(ap[1]), __stringVal(ap[2]),
+				      __stringVal(ap[3]), __stringVal(ap[4]), __stringVal(ap[5]),
+				      __stringVal(ap[6]), __stringVal(ap[7]), __stringVal(ap[8]),
+				      __stringVal(ap[9]));
+			    __END_INTERRUPTABLE__
+			    break;
+			default:
+			    __threadErrno = E2BIG; /* too many args */
+			    goto getOutOfHere;
+		    }
+		} else if (attributeSpec != nil) {
+		    __threadErrno = EINVAL; /* invalid argument */
+		    goto getOutOfHere;
+		} else {
+		    /*
+		     * create file as sequential streamLF by default.
+		     */
+		    __BEGIN_INTERRUPTABLE__
+		    f = fopen((char *)__stringVal(pathName), (char *)__stringVal(openmode), "rfm=stmlf");
+		    __END_INTERRUPTABLE__
+		}
+	    }
+	} while ((f == NULL) && (__threadErrno == EINTR));
       }
 #else /* not VMS */
 
-# ifdef WIN32
+# ifdef __win32__
     {
-          DWORD share = 0, access = 0, create = 0, attr = 0;
-          char * __openmode;
-          HANDLE handle;
-          SECURITY_ATTRIBUTES sa;
+	  DWORD share = 0, access = 0, create = 0, attr = 0;
+	  char * __openmode;
+	  HANDLE handle;
+	  SECURITY_ATTRIBUTES sa;
 
-          if (__isStringLike(openmode)) {
-              share = FILE_SHARE_READ|FILE_SHARE_WRITE;
-              __openmode = __stringVal(openmode);
-              if (strcmp(__openmode, "rb") == 0) {
-                  access = GENERIC_READ;
-                  create = OPEN_EXISTING;
-              } else if (strcmp(__openmode, "rb+") == 0) {
-                  access = GENERIC_READ | GENERIC_WRITE;
-                  create = OPEN_EXISTING;
-              } else if (strcmp(__openmode, "wb") == 0) {
-                  access = GENERIC_WRITE;
-                  create = CREATE_ALWAYS;
-              } else if (strcmp(__openmode, "wb+") == 0) {
-                  access = GENERIC_READ | GENERIC_WRITE;
-                  create = CREATE_ALWAYS;
-              } else if (strcmp(__openmode, "ab") == 0) {
-                  access = FILE_APPEND_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|
-                                STANDARD_RIGHTS_WRITE|SYNCHRONIZE;
-                  create = OPEN_ALWAYS;
-              } else if (strcmp(__openmode, "ab+") == 0) {
-                  access = GENERIC_READ |FILE_APPEND_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|
-                                STANDARD_RIGHTS_WRITE|SYNCHRONIZE;
-                  create = OPEN_ALWAYS;
-              } else {
-                  console_fprintf(stderr, "Win32OS [warning]: unsupported open mode\n");
-              }
-          } else if (__isArrayLike(openmode)) {
-              OBJ *ap = __arrayVal(openmode);
-              int numAttrib = __arraySize(openmode);
-              int i;
+	  if (__isStringLike(openmode)) {
+	      share = FILE_SHARE_READ|FILE_SHARE_WRITE;
+	      __openmode = __stringVal(openmode);
+	      if (strcmp(__openmode, "rb") == 0) {
+		  access = GENERIC_READ;
+		  create = OPEN_EXISTING;
+	      } else if (strcmp(__openmode, "rb+") == 0) {
+		  access = GENERIC_READ | GENERIC_WRITE;
+		  create = OPEN_EXISTING;
+	      } else if (strcmp(__openmode, "wb") == 0) {
+		  access = GENERIC_WRITE;
+		  create = CREATE_ALWAYS;
+	      } else if (strcmp(__openmode, "wb+") == 0) {
+		  access = GENERIC_READ | GENERIC_WRITE;
+		  create = CREATE_ALWAYS;
+	      } else if (strcmp(__openmode, "ab") == 0) {
+		  access = FILE_APPEND_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|
+				STANDARD_RIGHTS_WRITE|SYNCHRONIZE;
+		  create = OPEN_ALWAYS;
+	      } else if (strcmp(__openmode, "ab+") == 0) {
+		  access = GENERIC_READ |FILE_APPEND_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|
+				STANDARD_RIGHTS_WRITE|SYNCHRONIZE;
+		  create = OPEN_ALWAYS;
+	      } else {
+		  console_fprintf(stderr, "Win32OS [warning]: unsupported open mode\n");
+	      }
+	  } else if (__isArrayLike(openmode)) {
+	      OBJ *ap = __arrayVal(openmode);
+	      int numAttrib = __arraySize(openmode);
+	      int i;
 
-              __openmode = "rb+";
+	      __openmode = "rb+";
 
-              for (i=0; i<numAttrib; i++) {
-                  OBJ attrSym = ap[i];
+	      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;
+		  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(GENERIC_READ_WRITE)) {
-                      access |= GENERIC_READ|GENERIC_WRITE;
+		  } else if (attrSym == @symbol(GENERIC_READ)) {
+		      access |= GENERIC_READ;
+		  } else if (attrSym == @symbol(GENERIC_WRITE)) {
+		      access |= GENERIC_WRITE;
+		  } else if (attrSym == @symbol(GENERIC_READ_WRITE)) {
+		      access |= GENERIC_READ|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(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_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 if (!__isSymbol(attrSym) && __isStringLike(attrSym)) {
-                      __openmode = __stringVal(attrSym);
-                  } else {
-                      console_fprintf(stderr, "Win32OS [warning]: unsupported open mode\n");
-                  }
-              }
-          }
-          if (create == 0) {
+		  } 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_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 if (!__isSymbol(attrSym) && __isStringLike(attrSym)) {
+		      __openmode = __stringVal(attrSym);
+		  } else {
+		      console_fprintf(stderr, "Win32OS [warning]: unsupported open mode\n");
+		  }
+	      }
+	  }
+	  if (create == 0) {
 //              argumentError = @symbol(missingCreateMode);
-              goto badArgument;
-          }
-          if (attr == 0) {
-              attr = FILE_ATTRIBUTE_NORMAL;
-          }
+	      goto badArgument;
+	  }
+	  if (attr == 0) {
+	      attr = FILE_ATTRIBUTE_NORMAL;
+	  }
 
-          /*
-           * create security attributes - make handle inheritable by subprocesses
-           */
-          memset(&sa, 0, sizeof (sa));
-          sa.nLength = sizeof( sa );
-          // sa.bInheritHandle = TRUE;
-          sa.bInheritHandle = FALSE;
+	  /*
+	   * create security attributes - make handle inheritable by subprocesses
+	   */
+	  memset(&sa, 0, sizeof (sa));
+	  sa.nLength = sizeof( sa );
+	  // sa.bInheritHandle = TRUE;
+	  sa.bInheritHandle = FALSE;
 
-          if (__isStringLike(pathName)) {
-                char _aPathName[MAXPATHLEN];
+	  if (__isStringLike(pathName)) {
+		char _aPathName[MAXPATHLEN];
 
-                strncpy(_aPathName, __stringVal(pathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
-                do {
-                    __threadErrno = 0;
-                    handle = STX_API_NOINT_CALL7( "CreateFileA", CreateFileA, _aPathName, access, share, &sa, create, attr, 0 /* hTempl */);
-                    if (__threadErrno == EINTR) {
-                        handle = INVALID_HANDLE_VALUE;
-                    }
-                } while ((handle == INVALID_HANDLE_VALUE) && (__threadErrno == EINTR));
-          } else if (__isUnicode16String(pathName)) {
-                wchar_t _aPathName[MAXPATHLEN+1];
-                int i, l;
+		strncpy(_aPathName, __stringVal(pathName), MAXPATHLEN-1); _aPathName[MAXPATHLEN-1] = '\0';
+		do {
+		    __threadErrno = 0;
+		    handle = STX_API_NOINT_CALL7( "CreateFileA", CreateFileA, _aPathName, access, share, &sa, create, attr, 0 /* hTempl */);
+		    if (__threadErrno == EINTR) {
+			handle = INVALID_HANDLE_VALUE;
+		    }
+		} while ((handle == INVALID_HANDLE_VALUE) && (__threadErrno == EINTR));
+	  } else if (__isUnicode16String(pathName)) {
+		wchar_t _aPathName[MAXPATHLEN+1];
+		int i, l;
 
-                l = __unicode16StringSize(pathName);
-                if (l > MAXPATHLEN) l = MAXPATHLEN;
-                for (i=0; i<l; i++) {
-                    _aPathName[i] = __unicode16StringVal(pathName)[i];
-                }
-                _aPathName[i] = 0;
+		l = __unicode16StringSize(pathName);
+		if (l > MAXPATHLEN) l = MAXPATHLEN;
+		for (i=0; i<l; i++) {
+		    _aPathName[i] = __unicode16StringVal(pathName)[i];
+		}
+		_aPathName[i] = 0;
 
-                do {
-                    __threadErrno = 0;
-                    handle = STX_API_NOINT_CALL7( "CreateFileW", CreateFileW, _aPathName, access, share, &sa, create, attr, 0 /* hTempl */);
-                    if (__threadErrno == EINTR) {
-                        handle = INVALID_HANDLE_VALUE;
-                    }
-                } while ((handle == INVALID_HANDLE_VALUE) && (__threadErrno == EINTR));
-          }
-          if (handle != INVALID_HANDLE_VALUE) {
-              int fd;
-              extern void __stxWrapApiEnterCritical(), __stxWrapApiLeaveCritical();
+		do {
+		    __threadErrno = 0;
+		    handle = STX_API_NOINT_CALL7( "CreateFileW", CreateFileW, _aPathName, access, share, &sa, create, attr, 0 /* hTempl */);
+		    if (__threadErrno == EINTR) {
+			handle = INVALID_HANDLE_VALUE;
+		    }
+		} while ((handle == INVALID_HANDLE_VALUE) && (__threadErrno == EINTR));
+	  }
+	  if (handle != INVALID_HANDLE_VALUE) {
+	      int fd;
+	      extern void __stxWrapApiEnterCritical(), __stxWrapApiLeaveCritical();
 
-              __stxWrapApiEnterCritical();
-              fd = _open_osfhandle((long)handle, O_BINARY);
-              if (fd < 0) {
-                  if (__threadErrno == 0) {
-                      // no more file descriptors
-                      __threadErrno = EMFILE;
-                  }
-                  CloseHandle(handle);
-              } else {
-                  f = fdopen(fd, __openmode);
-              }
-              __stxWrapApiLeaveCritical();
-          }  else {
-            __threadErrno = __WIN32_ERR(GetLastError());
-          }
+	      __stxWrapApiEnterCritical();
+	      fd = _open_osfhandle((long)handle, O_BINARY);
+	      if (fd < 0) {
+		  if (__threadErrno == 0) {
+		      // no more file descriptors
+		      __threadErrno = EMFILE;
+		  }
+		  CloseHandle(handle);
+	      } else {
+		  f = fdopen(fd, __openmode);
+	      }
+	      __stxWrapApiLeaveCritical();
+	  }  else {
+	    __threadErrno = __WIN32_ERR(GetLastError());
+	  }
       }
 # else /* not WIN32 */
 
       if (__isStringLike(encodedPathName)) {
-          int accessMode = 0666;        // default access mode of fopen(), relies on umask()
-          int flags = 0;
-          int fd;
-          char * __openmode;
+	  int accessMode = 0666;        // default access mode of fopen(), relies on umask()
+	  int flags = 0;
+	  int fd;
+	  char * __openmode;
 
-          if (__isStringLike(openmode)) {
-              __openmode = __stringVal(openmode);
-              if (strcmp(__openmode, "r") == 0) {
-                  flags = O_RDONLY;
-              } else if (strcmp(__openmode, "r+") == 0) {
-                  flags = O_RDWR;
-              } else if (strcmp(__openmode, "w") == 0) {
-                  flags = O_WRONLY | O_CREAT | O_TRUNC;
-              } else if (strcmp(__openmode, "w+") == 0) {
-                  flags = O_RDWR | O_CREAT | O_TRUNC;
-              } else if (strcmp(__openmode, "a") == 0) {
-                  flags = O_WRONLY | O_CREAT | O_APPEND;
-              } else if (strcmp(__openmode, "a+") == 0) {
-                  flags = O_RDWR | O_CREAT| O_APPEND;
-              } else {
-                  console_fprintf(stderr, "UNIXOS [warning]: unsupported open mode\n");
-              }
-          } else if (__isArrayLike(openmode)) {
-              OBJ *ap = __arrayVal(openmode);
-              int numAttrib = __arraySize(openmode);
-              int i;
+	  if (__isStringLike(openmode)) {
+	      __openmode = __stringVal(openmode);
+	      if (strcmp(__openmode, "r") == 0) {
+		  flags = O_RDONLY;
+	      } else if (strcmp(__openmode, "r+") == 0) {
+		  flags = O_RDWR;
+	      } else if (strcmp(__openmode, "w") == 0) {
+		  flags = O_WRONLY | O_CREAT | O_TRUNC;
+	      } else if (strcmp(__openmode, "w+") == 0) {
+		  flags = O_RDWR | O_CREAT | O_TRUNC;
+	      } else if (strcmp(__openmode, "a") == 0) {
+		  flags = O_WRONLY | O_CREAT | O_APPEND;
+	      } else if (strcmp(__openmode, "a+") == 0) {
+		  flags = O_RDWR | O_CREAT| O_APPEND;
+	      } else {
+		  console_fprintf(stderr, "UNIXOS [warning]: unsupported open mode\n");
+	      }
+	  } else if (__isArrayLike(openmode)) {
+	      OBJ *ap = __arrayVal(openmode);
+	      int numAttrib = __arraySize(openmode);
+	      int i;
 
-              __openmode = "r+";
+	      __openmode = "r+";
 
-              for (i=0; i<numAttrib; i++) {
-                  OBJ attrSym = ap[i];
+	      for (i=0; i<numAttrib; i++) {
+		  OBJ attrSym = ap[i];
 
-                  if (attrSym == @symbol(FILE_SHARE_READ)) {
-                      // ignore
-                  } else if (attrSym == @symbol(FILE_SHARE_WRITE)) {
-                     // ignore
-                  } else if (attrSym == @symbol(GENERIC_READ)) {
-                      flags |= O_RDONLY;
-                  } else if (attrSym == @symbol(GENERIC_WRITE)) {
-                      flags |= O_WRONLY;
-                  } else if (attrSym == @symbol(GENERIC_READ_WRITE)) {
-                      flags |= O_RDWR;
+		  if (attrSym == @symbol(FILE_SHARE_READ)) {
+		      // ignore
+		  } else if (attrSym == @symbol(FILE_SHARE_WRITE)) {
+		     // ignore
+		  } else if (attrSym == @symbol(GENERIC_READ)) {
+		      flags |= O_RDONLY;
+		  } else if (attrSym == @symbol(GENERIC_WRITE)) {
+		      flags |= O_WRONLY;
+		  } else if (attrSym == @symbol(GENERIC_READ_WRITE)) {
+		      flags |= O_RDWR;
 
-                  } else if (attrSym == @symbol(CREATE_NEW)) {
-                      flags |= O_CREAT|O_EXCL;
-                      accessMode = 0600;     // simulate mkstemp()
-                  } else if (attrSym == @symbol(CREATE_ALWAYS)) {
-                      flags |= O_CREAT|O_TRUNC;
-                  } else if (attrSym == @symbol(OPEN_EXISTING)) {
-                      // nothing to be set
-                  } else if (attrSym == @symbol(OPEN_ALWAYS)) {
-                      flags |= O_CREAT;
-                  } else if (attrSym == @symbol(TRUNCATE_EXISTING)) {
-                      flags |= O_TRUNC;
+		  } else if (attrSym == @symbol(CREATE_NEW)) {
+		      flags |= O_CREAT|O_EXCL;
+		      accessMode = 0600;     // simulate mkstemp()
+		  } else if (attrSym == @symbol(CREATE_ALWAYS)) {
+		      flags |= O_CREAT|O_TRUNC;
+		  } else if (attrSym == @symbol(OPEN_EXISTING)) {
+		      // nothing to be set
+		  } else if (attrSym == @symbol(OPEN_ALWAYS)) {
+		      flags |= O_CREAT;
+		  } else if (attrSym == @symbol(TRUNCATE_EXISTING)) {
+		      flags |= O_TRUNC;
 
-                  } else if (attrSym == @symbol(FILE_ATTRIBUTE_HIDDEN)) {
-                      // ignore
-                  } else if (attrSym == @symbol(FILE_ATTRIBUTE_READONLY)) {
-                      accessMode &= 0444;
-                  } else if (attrSym == @symbol(FILE_FLAG_WRITE_THROUGH)) {
+		  } else if (attrSym == @symbol(FILE_ATTRIBUTE_HIDDEN)) {
+		      // ignore
+		  } else if (attrSym == @symbol(FILE_ATTRIBUTE_READONLY)) {
+		      accessMode &= 0444;
+		  } else if (attrSym == @symbol(FILE_FLAG_WRITE_THROUGH)) {
 #ifdef O_DIRECT
-                      flags |= O_DIRECT;
+		      flags |= O_DIRECT;
 #endif
-                  } else if (attrSym == @symbol(FILE_FLAG_SEQUENTIAL_SCAN)) {
-                      // ignore
-                  } else if (attrSym == @symbol(FILE_FLAG_DELETE_ON_CLOSE)) {
-                      // ignore;
-                  } else if (!__isSymbol(attrSym) && __isStringLike(attrSym)) {
-                      __openmode = __stringVal(attrSym);
-                  } else {
-                      console_fprintf(stderr, "UNIXOS [warning]: unsupported open mode\n");
-                  }
-              }
-          }
-          do {
-              __BEGIN_INTERRUPTABLE__
-              fd = open((char *) __stringVal(encodedPathName), flags, accessMode);
-              __END_INTERRUPTABLE__
-          } while ((fd < 0) && (__threadErrno == EINTR));
+		  } else if (attrSym == @symbol(FILE_FLAG_SEQUENTIAL_SCAN)) {
+		      // ignore
+		  } else if (attrSym == @symbol(FILE_FLAG_DELETE_ON_CLOSE)) {
+		      // ignore;
+		  } else if (!__isSymbol(attrSym) && __isStringLike(attrSym)) {
+		      __openmode = __stringVal(attrSym);
+		  } else {
+		      console_fprintf(stderr, "UNIXOS [warning]: unsupported open mode\n");
+		  }
+	      }
+	  }
+	  do {
+	      __BEGIN_INTERRUPTABLE__
+	      fd = open((char *) __stringVal(encodedPathName), flags, accessMode);
+	      __END_INTERRUPTABLE__
+	  } while ((fd < 0) && (__threadErrno == EINTR));
 
-          if (fd >= 0) {
-              __threadErrno = 0;
-              f = fdopen(fd, __openmode);
-              if (f == NULL) {
-                  close(fd);            // fdopen failed, close before retry.
-              }
-          }
+	  if (fd >= 0) {
+	      __threadErrno = 0;
+	      f = fdopen(fd, __openmode);
+	      if (f == NULL) {
+		  close(fd);            // fdopen failed, close before retry.
+	      }
+	  }
       }
 
 # endif /* not WIN32 */
@@ -1720,81 +1720,81 @@
 
 
     if (f == NULL) {
-        /*
-         * If no filedescriptors available, try to finalize
-         * possibly collected fd's and try again.
-         */
-        if ((__threadErrno == ENFILE || __threadErrno == EMFILE) && pass == 0) {
-            pass = 1;
-            __SSEND0(@global(ObjectMemory), @symbol(scavenge), 0);
-            __SSEND0(@global(ObjectMemory), @symbol(finalize), 0);
-            goto retry;
-        }
+	/*
+	 * If no filedescriptors available, try to finalize
+	 * possibly collected fd's and try again.
+	 */
+	if ((__threadErrno == ENFILE || __threadErrno == EMFILE) && pass == 0) {
+	    pass = 1;
+	    __SSEND0(@global(ObjectMemory), @symbol(scavenge), 0);
+	    __SSEND0(@global(ObjectMemory), @symbol(finalize), 0);
+	    goto retry;
+	}
     badArgument:
     getOutOfHere:
-        error = __mkSmallInteger(__threadErrno);
-        __INST(position) = nil;
+	error = __mkSmallInteger(__threadErrno);
+	__INST(position) = nil;
     } else {
 #ifdef __VMS__
-        /*
-         * check to see if this is positionable ...
-         */
-        __INST(canPosition) = false;
+	/*
+	 * check to see if this is positionable ...
+	 */
+	__INST(canPosition) = false;
 # ifndef _POSIX_C_SOURCE
-        {
-            struct stat statBuffer;
+	{
+	    struct stat statBuffer;
 
-            if (fstat(fileno(f), &statBuffer) >= 0) {
-                switch (statBuffer.st_fab_rfm) {
-                    case FAB$C_UDF: /* undefined (also stream binary)   */
-                    case FAB$C_VAR: /* variable length records          */
-                    case FAB$C_VFC: /* variable fixed control           */
-                    case FAB$C_STM: /* RMS-11 stream (valid only for sequen) */
-                    default:
-                        __INST(canPosition) = false;
-                        break;
+	    if (fstat(fileno(f), &statBuffer) >= 0) {
+		switch (statBuffer.st_fab_rfm) {
+		    case FAB$C_UDF: /* undefined (also stream binary)   */
+		    case FAB$C_VAR: /* variable length records          */
+		    case FAB$C_VFC: /* variable fixed control           */
+		    case FAB$C_STM: /* RMS-11 stream (valid only for sequen) */
+		    default:
+			__INST(canPosition) = false;
+			break;
 
-                    case FAB$C_FIX: /* fixed length records             */
-                    case FAB$C_STMLF: /* LF stream (valid only for sequential) */
-                    case FAB$C_STMCR: /* CR stream (valid only for sequential) */
-                        __INST(canPosition) = true;
-                        break;
-                }
-            }
-        }
+		    case FAB$C_FIX: /* fixed length records             */
+		    case FAB$C_STMLF: /* LF stream (valid only for sequential) */
+		    case FAB$C_STMCR: /* CR stream (valid only for sequential) */
+			__INST(canPosition) = true;
+			break;
+		}
+	    }
+	}
 # endif
 #else /* not VMS */
-        __INST(canPosition) = true;
+	__INST(canPosition) = true;
 #endif /* not VMS */
 
-        if (@global(FileOpenTrace) == true) {
-            console_fprintf(stderr, "fopen %s [FileStream] -> %"_lx_"\n", __stringVal(pathName), (INT)f);
-        }
-        if (f != NULL) {
-            OBJ fp;
+	if (@global(FileOpenTrace) == true) {
+	    console_fprintf(stderr, "fopen %s [FileStream] -> %"_lx_"\n", __stringVal(pathName), (INT)f);
+	}
+	if (f != NULL) {
+	    OBJ fp;
 
-            wasBlocked = __BLOCKINTERRUPTS();
+	    wasBlocked = __BLOCKINTERRUPTS();
 #if 0
-            // The original code was:
-            __INST(handle) = fp = __MKEXTERNALADDRESS(f); __STORE(self, fp);
-            // but for that, gcc generates wrong code, which loads self (volatile) into
-            // a register (bp), then calls __MKEXTERNALADDRESS, then stores indirect bp.
-            // That is wrong if a scavenge occurs in __MKEXTERNALADDRESS, as bp is now still pointing to the old
-            // object.
+	    // The original code was:
+	    __INST(handle) = fp = __MKEXTERNALADDRESS(f); __STORE(self, fp);
+	    // but for that, gcc generates wrong code, which loads self (volatile) into
+	    // a register (bp), then calls __MKEXTERNALADDRESS, then stores indirect bp.
+	    // That is wrong if a scavenge occurs in __MKEXTERNALADDRESS, as bp is now still pointing to the old
+	    // object.
 #else
-            fp = __MKEXTERNALADDRESS(f);
-            __INST(handle) = fp;
-            __STORE(self, fp);
+	    fp = __MKEXTERNALADDRESS(f);
+	    __INST(handle) = fp;
+	    __STORE(self, fp);
 #endif
-        }
+	}
     }
 %}.
     error notNil ifTrue:[
-        lastErrorNumber := error.
-        ^ self openError:error.
+	lastErrorNumber := error.
+	^ self openError:error.
     ].
     handle isNil ifTrue:[
-        ^ self openError:0.
+	^ self openError:0.
     ].
 
     position := 0.
@@ -1904,37 +1904,37 @@
      sent after snapin to reopen streams."
 
     handle notNil ifTrue:[
-        "it was open, when snapped-out"
-        handle := nil.
-        self unregisterForFinalization.
-        pathName isNil ifTrue:[
-            ^ self.
-        ].
-        [
-            |oldPos|
+	"it was open, when snapped-out"
+	handle := nil.
+	self unregisterForFinalization.
+	pathName isNil ifTrue:[
+	    ^ self.
+	].
+	[
+	    |oldPos|
 
-            "should take care of appending files and open them for
-             append / position them to the end"
+	    "should take care of appending files and open them for
+	     append / position them to the end"
 
-            oldPos := position.
+	    oldPos := position.
 
-            mode == #readonly ifTrue: [
-                self openForReading
-            ] ifFalse:[mode == #writeonly ifTrue: [
-                self openForWriting.
-            ] ifFalse:[
-                self openForReadWrite.
-            ]].
+	    mode == #readonly ifTrue: [
+		self openForReading
+	    ] ifFalse:[mode == #writeonly ifTrue: [
+		self openForWriting.
+	    ] ifFalse:[
+		self openForReadWrite.
+	    ]].
 
-            oldPos notNil ifTrue:[
-                self position:oldPos.
-            ]
-        ] on:OpenError do:[:ex|
-            "this happens, if after a restart,
-             the file is no longer present or accessible ..."
+	    oldPos notNil ifTrue:[
+		self position:oldPos.
+	    ]
+	] on:OpenError do:[:ex|
+	    "this happens, if after a restart,
+	     the file is no longer present or accessible ..."
 
-            (self class name , ' [warning]: could not reopen file: ', pathName) errorPrintCR.
-        ].
+	    (self class name , ' [warning]: could not reopen file: ', pathName) errorPrintCR.
+	].
     ]
 
     "Modified: 10.1.1997 / 17:50:51 / cg"
--- a/Float.st	Tue May 17 00:56:14 2016 +0200
+++ b/Float.st	Tue May 17 02:04:25 2016 +0200
@@ -50,25 +50,25 @@
  extern errno;
 #endif
 
-#if !defined (WIN32)
+#if !defined (__win32__)
 # include <locale.h>
 #endif
 
-#if defined (_AIX)
+#if defined (__aix__)
 # include <float.h>
 #endif
 
-#if defined(IRIX)
+#if defined(__irix__)
 # include <nan.h>
 #endif
 
-#if defined(LINUX)
+#if defined(__linux__)
 # ifndef NAN
 #  include <bits/nan.h>
 # endif
 #endif
 
-#if defined(solaris) || defined(sunos)
+#if defined(__solaris__) || defined(__sunos__)
 # include <nan.h>
 #endif
 
@@ -77,7 +77,7 @@
  * (AIX even declares them as macros, so an external decl
  *  will not work below ...
  */
-#if !defined(_AIX) && !defined(NEXT3)
+#if !defined(__aix__) && !defined(NEXT3)
 
 # ifdef acos
   double acos();
@@ -117,7 +117,7 @@
 
 #endif /* not AIX */
 
-#ifdef WIN32
+#ifdef __win32__
 /*
  * no finite(x) ?
  * no isnan(x) ?
@@ -158,7 +158,7 @@
 #  include <string.h>
 # endif
 
-#endif /* WIN32 */
+#endif /* __win32__ */
 
 #ifdef solaris
 # ifndef isfinite
@@ -1197,7 +1197,7 @@
     double dVal;
 
     dVal = __floatVal(self);
-#ifdef WIN32
+#ifdef __win32__
     if (! isnan(dVal))
 #endif
     {
@@ -1672,15 +1672,12 @@
 
 %{  /* NOCONTEXT */
 
-#ifndef WIN32 /* seems to be not avail. in WIN32 math lib */
+#ifndef __win32__ /* seems to be not avail. in WIN32 math lib */
     double val, rslt;
     OBJ newFloat;
 
     val = __floatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
-    if (val >= 0.0)
-# endif
     {
 	__threadErrno = 0;
 	rslt = cbrt(val);
@@ -1744,9 +1741,9 @@
 
     val = __floatVal(self);
 
-#ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val > 0.0)
-#endif
+# endif
     {
 	__threadErrno = 0;
 	rslt = log(val);
@@ -1787,9 +1784,9 @@
 
     val = __floatVal(self);
 
-#ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val > 0.0)
-#endif
+# endif
     {
 	__threadErrno = 0;
 	rslt = log10(val);
@@ -1870,7 +1867,7 @@
 
     val = __floatVal(self);
 
-#ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+#ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val >= 0.0)
 #endif
     {
@@ -2555,7 +2552,7 @@
 
     val = __floatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if ((val >= -1.0) && (val <= 1.0))
 # endif
     {
@@ -2600,7 +2597,7 @@
 
     val = __floatVal(self);
 
-# ifdef WIN32 /* don't know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val >= 1.0)
 # endif
     {
@@ -2649,7 +2646,7 @@
 
     val = __floatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if ((val >= -1.0) && (val <= 1.0))
 # endif
     {
@@ -2693,7 +2690,7 @@
 
     val = __floatVal(self);
 
-# ifdef WIN32 /* don't know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val >= 1.0)
 # endif
     {
@@ -2821,15 +2818,15 @@
 
     __threadErrno = 0;
     val = __floatVal(self);
-# ifdef WIN32 /* don't know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if ((val >= -1.0) && (val <= 1.0))
 # endif
     {
 	rslt = atanh(__floatVal(self));
 	if (! isnan(rslt))  /* Currently all our systems support isnan() */
-#ifdef __osx__
+# ifdef __osx__
 	if (! isinf(rslt))
-#endif
+# endif
 	{
 	    if (__threadErrno == 0) {
 		__qMKFLOAT(newFloat, rslt);
--- a/LargeInteger.st	Tue May 17 00:56:14 2016 +0200
+++ b/LargeInteger.st	Tue May 17 02:04:25 2016 +0200
@@ -260,9 +260,9 @@
     |digits|
 
     msb == false ifTrue:[
-        digits := aByteArrayOfDigits
+	digits := aByteArrayOfDigits
     ] ifFalse:[
-        digits := aByteArrayOfDigits reversed
+	digits := aByteArrayOfDigits reversed
     ].
     ^ self basicNew setDigits:digits
 
@@ -1654,7 +1654,7 @@
 %}.
     l := digitByteArray size.
     [l ~~ 0 and:[(digitByteArray at:l) == 0]] whileTrue:[
-        l := l - 1.
+	l := l - 1.
     ].
     ^ l
 
@@ -2207,13 +2207,13 @@
 
     sz := digitByteArray size.
     (sz <= SmallInteger maxBytes and:[self absLess:SmallInteger maxVal]) ifTrue:[
-        "I am really an unnormalized SmallInteger, answer the same hash as for the SmallInteger"
-        ^ self bitAnd:SmallInteger maxVal.
+	"I am really an unnormalized SmallInteger, answer the same hash as for the SmallInteger"
+	^ self bitAnd:SmallInteger maxVal.
     ].
 
     h := digitByteArray computeXorHashFrom:1 to:8.                  "/ the low 8 bytes
     sz > 8 ifTrue:[                                                 "/ the high 8 bytes
-        h := h bitXor:(digitByteArray computeXorHashFrom:sz-8 to:sz).
+	h := h bitXor:(digitByteArray computeXorHashFrom:sz-8 to:sz).
     ].
     ^ h
 
@@ -2451,7 +2451,7 @@
 	    _l -= 4;
 	}
 # else /* not GNU-i386 */
-#  if defined(WIN32) && defined(__BORLANDC__) && defined(__i386__) && (__POINTER_SIZE__ == 4)
+#  if defined(__win32__) && defined(__BORLANDC__) && defined(__x86__) && (__POINTER_SIZE__ == 4)
 	/*
 	 * can do it long-word-wise;
 	 * 32*32 -> 64 multiplication
@@ -3327,7 +3327,7 @@
 
     ((aSmallInteger < (SmallInteger minVal + 255))
     or:[aSmallInteger > (SmallInteger maxVal - 255)]) ifTrue:[
-        ^ self absMinus:(self class value:aSmallInteger) sign:newSign.
+	^ self absMinus:(self class value:aSmallInteger) sign:newSign.
     ].
 
     len := digitByteArray size.
@@ -3341,133 +3341,133 @@
 %{
     if (__isByteArray(__INST(digitByteArray))
      && __isByteArray(resultDigitByteArray)) {
-        unsigned INT __borrow = __intVal(borrow);
-        INT __diff;
-        int __index = 1;
-        int __len = __intVal(len);
-        unsigned char *__digitP = __ByteArrayInstPtr(__INST(digitByteArray))->ba_element;
-        unsigned char *__resultP = __ByteArrayInstPtr(resultDigitByteArray)->ba_element;
-        int __len3;
+	unsigned INT __borrow = __intVal(borrow);
+	INT __diff;
+	int __index = 1;
+	int __len = __intVal(len);
+	unsigned char *__digitP = __ByteArrayInstPtr(__INST(digitByteArray))->ba_element;
+	unsigned char *__resultP = __ByteArrayInstPtr(resultDigitByteArray)->ba_element;
+	int __len3;
 
 #if defined(__LSBFIRST__)
 # if (__POINTER_SIZE__ == 8)
-        /*
-         * subtract int-wise
-         */
-        __len3 = __len - 3;
-        while (__index < __len3) {
-            /* do not make this into one expression - ask cg why */
-            __diff = ((unsigned int *)(__digitP + __index-1))[0];
-            __diff -= (__borrow & 0xFFFFFFFFL);
-            __borrow >>= 32;
-            ((unsigned int *)(__resultP+__index-1))[0] = __diff;
-            __index += 4;
-            if (__diff < 0) {
-                /* __diff += 0x100000000; */
-                __borrow++;
-            } else {
-                if (__borrow == 0) {
-                    /* nothing more to subtract .. */
-                    while (__index < __len3) {
-                        ((unsigned int *)(__resultP+__index-1))[0] = ((unsigned int *)(__digitP+__index-1))[0];
-                        __index += 4;
-                    }
-                    if (__index < __len) {
-                        ((unsigned short *)(__resultP+__index-1))[0] = ((unsigned short *)(__digitP+__index-1))[0];
-                        __index += 2;
-                    }
-                    if (__index <= __len) {
-                        __resultP[__index-1] = __digitP[__index-1];
-                    }
-                    break;
-                }
-            }
-        }
+	/*
+	 * subtract int-wise
+	 */
+	__len3 = __len - 3;
+	while (__index < __len3) {
+	    /* do not make this into one expression - ask cg why */
+	    __diff = ((unsigned int *)(__digitP + __index-1))[0];
+	    __diff -= (__borrow & 0xFFFFFFFFL);
+	    __borrow >>= 32;
+	    ((unsigned int *)(__resultP+__index-1))[0] = __diff;
+	    __index += 4;
+	    if (__diff < 0) {
+		/* __diff += 0x100000000; */
+		__borrow++;
+	    } else {
+		if (__borrow == 0) {
+		    /* nothing more to subtract .. */
+		    while (__index < __len3) {
+			((unsigned int *)(__resultP+__index-1))[0] = ((unsigned int *)(__digitP+__index-1))[0];
+			__index += 4;
+		    }
+		    if (__index < __len) {
+			((unsigned short *)(__resultP+__index-1))[0] = ((unsigned short *)(__digitP+__index-1))[0];
+			__index += 2;
+		    }
+		    if (__index <= __len) {
+			__resultP[__index-1] = __digitP[__index-1];
+		    }
+		    break;
+		}
+	    }
+	}
 # endif
-        /*
-         * subtract short-wise
-         */
-        while (__index < __len) {
-            /* do not make this into one expression - ask cg why */
-            __diff = ((unsigned short *)(__digitP+__index-1))[0];
-            __diff -= (__borrow & 0xFFFF);
-            __borrow >>= 16;
-            ((unsigned short *)(__resultP+__index-1))[0] = __diff;
-            __index += 2;
-            if (__diff < 0) {
-                /* __diff += 0x10000; */
-                __borrow++;
-            } else {
-                if (__borrow == 0) {
-                    /* nothing more to subtract .. */
-                    while (__index < __len) {
-                        ((unsigned short *)(__resultP+__index-1))[0] = ((unsigned short *)(__digitP+__index-1))[0];
-                        __index += 2;
-                    }
-                    if (__index <= __len) {
-                        __resultP[__index-1] = __digitP[__index-1];
-                    }
-                    break;
-                }
-            }
-        }
+	/*
+	 * subtract short-wise
+	 */
+	while (__index < __len) {
+	    /* do not make this into one expression - ask cg why */
+	    __diff = ((unsigned short *)(__digitP+__index-1))[0];
+	    __diff -= (__borrow & 0xFFFF);
+	    __borrow >>= 16;
+	    ((unsigned short *)(__resultP+__index-1))[0] = __diff;
+	    __index += 2;
+	    if (__diff < 0) {
+		/* __diff += 0x10000; */
+		__borrow++;
+	    } else {
+		if (__borrow == 0) {
+		    /* nothing more to subtract .. */
+		    while (__index < __len) {
+			((unsigned short *)(__resultP+__index-1))[0] = ((unsigned short *)(__digitP+__index-1))[0];
+			__index += 2;
+		    }
+		    if (__index <= __len) {
+			__resultP[__index-1] = __digitP[__index-1];
+		    }
+		    break;
+		}
+	    }
+	}
 #endif
-        /*
-         * subtract byte-wise
-         */
-        while (__index <= __len) {
-            __diff = __digitP[__index-1];
-            __diff -= (__borrow & 0xFF);
-            __borrow >>= 8;
-            __resultP[__index-1] = __diff;
-            __index++;
-            if (__diff < 0) {
-                /* __diff += 0x100; */
-                __borrow++;
-            } else {
-                if (__borrow == 0) {
-                    /* nothing more to subtract .. */
-                    while (__index <= __len) {
-                        __resultP[__index-1] = __digitP[__index-1];
-                        __index++;
-                    }
-                    break;
-                }
-            }
-        }
-        lastDigit = __mkSmallInteger( __resultP[__index-1-1] );
-        ok = true;
+	/*
+	 * subtract byte-wise
+	 */
+	while (__index <= __len) {
+	    __diff = __digitP[__index-1];
+	    __diff -= (__borrow & 0xFF);
+	    __borrow >>= 8;
+	    __resultP[__index-1] = __diff;
+	    __index++;
+	    if (__diff < 0) {
+		/* __diff += 0x100; */
+		__borrow++;
+	    } else {
+		if (__borrow == 0) {
+		    /* nothing more to subtract .. */
+		    while (__index <= __len) {
+			__resultP[__index-1] = __digitP[__index-1];
+			__index++;
+		    }
+		    break;
+		}
+	    }
+	}
+	lastDigit = __mkSmallInteger( __resultP[__index-1-1] );
+	ok = true;
     }
 %}.
 
     ok == true ifFalse:[        "/ cannot happen
-        index := 1.
-        [borrow ~~ 0] whileTrue:[
-            (index <= len) ifTrue:[
-                diff := (digitByteArray basicAt:index) - (borrow bitAnd:16rFF).
-                borrow := borrow bitShift:-8.
-                diff < 0 ifTrue:[
-                    diff := diff + 256.
-                    borrow := borrow + 1.
-                ]
-            ] ifFalse:[
-                diff := borrow bitAnd:255.
-                borrow := borrow bitShift:-8.
-            ].
-            resultDigitByteArray basicAt:index put:(lastDigit := diff).
-            index := index + 1
-        ].
-        [index <= len] whileTrue:[
-            resultDigitByteArray basicAt:index put:(lastDigit := digitByteArray basicAt:index).
-            index := index + 1
-        ].
-        (index <= rsltLen) ifTrue:[
-            lastDigit := 0.
-        ]
+	index := 1.
+	[borrow ~~ 0] whileTrue:[
+	    (index <= len) ifTrue:[
+		diff := (digitByteArray basicAt:index) - (borrow bitAnd:16rFF).
+		borrow := borrow bitShift:-8.
+		diff < 0 ifTrue:[
+		    diff := diff + 256.
+		    borrow := borrow + 1.
+		]
+	    ] ifFalse:[
+		diff := borrow bitAnd:255.
+		borrow := borrow bitShift:-8.
+	    ].
+	    resultDigitByteArray basicAt:index put:(lastDigit := diff).
+	    index := index + 1
+	].
+	[index <= len] whileTrue:[
+	    resultDigitByteArray basicAt:index put:(lastDigit := digitByteArray basicAt:index).
+	    index := index + 1
+	].
+	(index <= rsltLen) ifTrue:[
+	    lastDigit := 0.
+	]
     ].
 
     (lastDigit == 0 or:[rsltLen <= SmallInteger maxBytes]) ifTrue:[
-        ^ result compressed.
+	^ result compressed.
     ].
     ^ result
 
@@ -3502,7 +3502,7 @@
 
     ((aSmallInteger < (SmallInteger minVal + 255))
     or:[aSmallInteger > (SmallInteger maxVal - 255)]) ifTrue:[
-        ^ self absPlus:(self class value:aSmallInteger) sign:newSign.
+	^ self absPlus:(self class value:aSmallInteger) sign:newSign.
     ].
 
     len := rsltLen := digitByteArray size.
@@ -3511,18 +3511,18 @@
     "/ if it is 255 (since the other number is definitely smaller)
     "/
     (digitByteArray at:len) == 16rFF ifTrue:[
-        rsltLen := len + 1.
+	rsltLen := len + 1.
     ] ifFalse:[
-        "/ or the argument has something in the high byte ..
+	"/ or the argument has something in the high byte ..
 %{
 #if __POINTER_SIZE__ == 8
-        if (__intVal(aSmallInteger) & 0xFF00000000000000L) {
-            rsltLen = __mkSmallInteger(__intVal(len) + 1);
-        }
+	if (__intVal(aSmallInteger) & 0xFF00000000000000L) {
+	    rsltLen = __mkSmallInteger(__intVal(len) + 1);
+	}
 #else
-        if (__intVal(aSmallInteger) & 0xFF000000) {
-            rsltLen = __mkSmallInteger(__intVal(len) + 1);
-        }
+	if (__intVal(aSmallInteger) & 0xFF000000) {
+	    rsltLen = __mkSmallInteger(__intVal(len) + 1);
+	}
 #endif
 %}
     ].
@@ -3534,309 +3534,309 @@
     if (__isByteArray(__INST(digitByteArray))
      && __isByteArray(resultDigitByteArray)
      && __isSmallInteger(aSmallInteger)) {
-        /* carry is NOT unsigned (see negation below) */
-        INT __carry = __intVal(aSmallInteger);
-        int __index = 1;
-        int __len = __intVal(len);
-        unsigned char *__src = (unsigned char *)(__ByteArrayInstPtr(__INST(digitByteArray))->ba_element);
-        unsigned char *__dst = (unsigned char *)(__ByteArrayInstPtr(resultDigitByteArray)->ba_element);
-        INT __ptrDelta = __dst - __src;
-        unsigned char *__srcLast = __src + __len - 1;
-        int __rsltLen = __intVal(rsltLen);
-
-        if (__carry < 0) {
-            __carry = -__carry;
-        }
+	/* carry is NOT unsigned (see negation below) */
+	INT __carry = __intVal(aSmallInteger);
+	int __index = 1;
+	int __len = __intVal(len);
+	unsigned char *__src = (unsigned char *)(__ByteArrayInstPtr(__INST(digitByteArray))->ba_element);
+	unsigned char *__dst = (unsigned char *)(__ByteArrayInstPtr(resultDigitByteArray)->ba_element);
+	INT __ptrDelta = __dst - __src;
+	unsigned char *__srcLast = __src + __len - 1;
+	int __rsltLen = __intVal(rsltLen);
+
+	if (__carry < 0) {
+	    __carry = -__carry;
+	}
 
 #if defined(__LSBFIRST__)
 # if defined(__i386__) && defined(__GNUC__) && (__POINTER_SIZE__ == 4)
 #  if 0 /* NOTICE - the code below is 20% slower ... - why */
-        /*
-         * add long-wise
-         */
-        asm("  jecxz nothingToDo                                      \n\
-               movl  %%eax, %%esi      /* __src input */              \n\
-               movl  %%ebx, %%edi      /* __dst input */              \n\
-                                                                      \n\
-               /* the first 4-byte int */                             \n\
-               lodsl                   /* fetch */                    \n\
-               addl  %%edx, %%eax      /* add */                      \n\
-               stosl                   /* store */                    \n\
-               leal  -1(%%ecx),%%ecx   /* do not clobber carry */     \n\
-               jecxz doneLoop          /* any more ? */               \n\
-               /* remaining 4-byte ints */                            \n\
-               jmp   addLoop                                          \n\
-                                                                      \n\
-               .align 8                                               \n\
-             addLoop:                                                 \n\
-               movl  0(%%esi), %%ebx   /* fetch  */                   \n\
-               jnc   copyLoop2                                        \n\
-               movl  $0, %%eax                                        \n\
-               leal  4(%%esi), %%esi                                  \n\
-               adcl  %%ebx, %%eax      /* & add carry from prev int */\n\
-               leal  8(%%edi), %%edi                                  \n\
-               movl  %%eax, -8(%%edi)  /* store */                    \n\
-               leal  -1(%%ecx),%%ecx   /* do not clobber carry */     \n\
-               jecxz doneLoop          /* any more ? */               \n\
-                                                                      \n\
-               movl  0(%%esi), %%ebx   /* fetch  */                   \n\
-               movl  $0, %%eax                                        \n\
-               leal  4(%%esi), %%esi                                  \
-               adcl  %%ebx, %%eax      /* & add carry from prev int */\n\
-               movl  %%eax, -4(%%edi)  /* store */                    \n\
-                                                                      \n\
-               loop  addLoop                                          \n\
-               jmp   doneLoop                                         \n\
-                                                                      \n\
-               .align 8                                               \n\
-             copyLoop:                                                \n\
-               movl  0(%%esi), %%ebx                                  \n\
-             copyLoop2:                                               \n\
-               add   $4, %%esi                                        \n\
-               add   $4, %%edi                                        \n\
-               movl  %%ebx, -4(%%edi)                                 \n\
-               loop  copyLoop                                         \n\
-                                                                      \n\
-             doneLoop:                                                \n\
-               movl  $0, %%edx         /* do not clobber carry (xorl clears it) */   \n\
-               adcl  $0, %%edx                                        \n\
-               movl  %%esi, %%eax      /* __src output */             \n\
-             nothingToDo:                                             \n\
-            " : "=d"  ((unsigned long)(__carry)),
-                "=a"  (__src)
-              : "1"   (__src),
-                "b"   (__dst),
-                "c"   (__len / 4),
-                "0"   (__carry)
-              : "esi", "edi");
+	/*
+	 * add long-wise
+	 */
+	asm("  jecxz nothingToDo                                      \n\
+	       movl  %%eax, %%esi      /* __src input */              \n\
+	       movl  %%ebx, %%edi      /* __dst input */              \n\
+								      \n\
+	       /* the first 4-byte int */                             \n\
+	       lodsl                   /* fetch */                    \n\
+	       addl  %%edx, %%eax      /* add */                      \n\
+	       stosl                   /* store */                    \n\
+	       leal  -1(%%ecx),%%ecx   /* do not clobber carry */     \n\
+	       jecxz doneLoop          /* any more ? */               \n\
+	       /* remaining 4-byte ints */                            \n\
+	       jmp   addLoop                                          \n\
+								      \n\
+	       .align 8                                               \n\
+	     addLoop:                                                 \n\
+	       movl  0(%%esi), %%ebx   /* fetch  */                   \n\
+	       jnc   copyLoop2                                        \n\
+	       movl  $0, %%eax                                        \n\
+	       leal  4(%%esi), %%esi                                  \n\
+	       adcl  %%ebx, %%eax      /* & add carry from prev int */\n\
+	       leal  8(%%edi), %%edi                                  \n\
+	       movl  %%eax, -8(%%edi)  /* store */                    \n\
+	       leal  -1(%%ecx),%%ecx   /* do not clobber carry */     \n\
+	       jecxz doneLoop          /* any more ? */               \n\
+								      \n\
+	       movl  0(%%esi), %%ebx   /* fetch  */                   \n\
+	       movl  $0, %%eax                                        \n\
+	       leal  4(%%esi), %%esi                                  \
+	       adcl  %%ebx, %%eax      /* & add carry from prev int */\n\
+	       movl  %%eax, -4(%%edi)  /* store */                    \n\
+								      \n\
+	       loop  addLoop                                          \n\
+	       jmp   doneLoop                                         \n\
+								      \n\
+	       .align 8                                               \n\
+	     copyLoop:                                                \n\
+	       movl  0(%%esi), %%ebx                                  \n\
+	     copyLoop2:                                               \n\
+	       add   $4, %%esi                                        \n\
+	       add   $4, %%edi                                        \n\
+	       movl  %%ebx, -4(%%edi)                                 \n\
+	       loop  copyLoop                                         \n\
+								      \n\
+	     doneLoop:                                                \n\
+	       movl  $0, %%edx         /* do not clobber carry (xorl clears it) */   \n\
+	       adcl  $0, %%edx                                        \n\
+	       movl  %%esi, %%eax      /* __src output */             \n\
+	     nothingToDo:                                             \n\
+	    " : "=d"  ((unsigned long)(__carry)),
+		"=a"  (__src)
+	      : "1"   (__src),
+		"b"   (__dst),
+		"c"   (__len / 4),
+		"0"   (__carry)
+	      : "esi", "edi");
 
 #  else
-        {
-            unsigned char *__srcLastX;
-
-            __srcLastX = __srcLast - 3 - 4;
-            while (__src <= __srcLastX) {
-                unsigned int __sum, __sum2;
-                unsigned __digit1, __digit2;
-
-                __digit1 = ((unsigned *)__src)[0];
-                __digit2 = ((unsigned *)__src)[1];
-                asm ("addl %%edx,%%ecx          \n\
-                      adcl $0, %%eax            \n\
-                      movl $0, %%edx            \n\
-                      adcl $0, %%edx"
-                        : "=d"  ((unsigned long)(__carry)),
-                          "=c"  ((unsigned long)(__sum)),
-                          "=a"  ((unsigned long)(__sum2))
-                        : "0"   ((unsigned long)(__carry)),
-                          "1"   (__digit1),
-                          "2"   (__digit2));
-
-                ((unsigned int *)(__src + __ptrDelta))[0] = __sum;
-                ((unsigned int *)(__src + __ptrDelta))[1] = __sum2;
-
-                __src += 8;
-
-                if (__carry == 0) {
-                    while (__src <= __srcLastX) {
-                        /* copy over words */
-                        ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0];
-                        ((unsigned int *)(__src + __ptrDelta))[1] = ((unsigned int *)__src)[1];
-                        __src += 8;
-                    }
-                    while (__src <= __srcLast) {
-                        /* copy over bytes */
-                        __src[__ptrDelta] = __src[0];
-                        __src ++;
-                    }
-                    goto doneSource;
-                }
-            }
-
-            __srcLastX = __srcLastX + 4;
-            if (__src <= __srcLastX) {
-                unsigned int __sum, __digit;
-
-                __digit = ((unsigned *)__src)[0];
-
-                asm ("addl %%eax,%%edx  \n\
-                      movl $0,%%eax     \n\
-                      adcl $0,%%eax"
-                        : "=a"  ((unsigned long)(__carry)),
-                          "=d"  ((unsigned long)(__sum))
-                        : "0"   ((unsigned long)(__carry)),
-                          "1"   (__digit) );
-
-                ((unsigned int *)(__src + __ptrDelta))[0] = __sum;
-                __src += 4;
-
-                if (__carry == 0) {
-                    while (__src <= __srcLast) {
-                        /* copy over bytes */
-                        __src[__ptrDelta] = __src[0];
-                        __src ++;
-                    }
-                    goto doneSource;
-                }
-            }
-        }
+	{
+	    unsigned char *__srcLastX;
+
+	    __srcLastX = __srcLast - 3 - 4;
+	    while (__src <= __srcLastX) {
+		unsigned int __sum, __sum2;
+		unsigned __digit1, __digit2;
+
+		__digit1 = ((unsigned *)__src)[0];
+		__digit2 = ((unsigned *)__src)[1];
+		asm ("addl %%edx,%%ecx          \n\
+		      adcl $0, %%eax            \n\
+		      movl $0, %%edx            \n\
+		      adcl $0, %%edx"
+			: "=d"  ((unsigned long)(__carry)),
+			  "=c"  ((unsigned long)(__sum)),
+			  "=a"  ((unsigned long)(__sum2))
+			: "0"   ((unsigned long)(__carry)),
+			  "1"   (__digit1),
+			  "2"   (__digit2));
+
+		((unsigned int *)(__src + __ptrDelta))[0] = __sum;
+		((unsigned int *)(__src + __ptrDelta))[1] = __sum2;
+
+		__src += 8;
+
+		if (__carry == 0) {
+		    while (__src <= __srcLastX) {
+			/* copy over words */
+			((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0];
+			((unsigned int *)(__src + __ptrDelta))[1] = ((unsigned int *)__src)[1];
+			__src += 8;
+		    }
+		    while (__src <= __srcLast) {
+			/* copy over bytes */
+			__src[__ptrDelta] = __src[0];
+			__src ++;
+		    }
+		    goto doneSource;
+		}
+	    }
+
+	    __srcLastX = __srcLastX + 4;
+	    if (__src <= __srcLastX) {
+		unsigned int __sum, __digit;
+
+		__digit = ((unsigned *)__src)[0];
+
+		asm ("addl %%eax,%%edx  \n\
+		      movl $0,%%eax     \n\
+		      adcl $0,%%eax"
+			: "=a"  ((unsigned long)(__carry)),
+			  "=d"  ((unsigned long)(__sum))
+			: "0"   ((unsigned long)(__carry)),
+			  "1"   (__digit) );
+
+		((unsigned int *)(__src + __ptrDelta))[0] = __sum;
+		__src += 4;
+
+		if (__carry == 0) {
+		    while (__src <= __srcLast) {
+			/* copy over bytes */
+			__src[__ptrDelta] = __src[0];
+			__src ++;
+		    }
+		    goto doneSource;
+		}
+	    }
+	}
 #  endif
 # else /* not i386-GNUC */
-#  if defined(WIN32) && defined(__BORLANDC__) && defined(__i386__) && (__POINTER_SIZE__ == 4)
-        {
-            unsigned char *__srcLast4;
-
-            /*
-             * add long-wise
-             */
-            __srcLast4 = __srcLast - 3;
-            while (__src <= __srcLast4) {
-                unsigned int __sum;
-
-                __sum = ((unsigned int *)__src)[0];
-                asm {
-                      mov eax, __sum
-                      add eax, __carry
-                      mov edx, 0
-                      adc edx, 0
-                      mov __sum, eax
-                      mov __carry, edx
-                    }
-
-                ((unsigned int *)(__src + __ptrDelta))[0] = __sum;
-                __src += 4;
-                if (__carry == 0) {
-                    while (__src <= __srcLast4) {
-                        /* copy over words */
-                        ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0];
-                        __src += 4;
-                    }
-                    while (__src <= __srcLast) {
-                        /* copy over bytes */
-                        __src[__ptrDelta] = __src[0];
-                        __src ++;
-                    }
-                    goto doneSource;
-                }
-            }
-        }
+#  if defined(__win32__) && defined(__BORLANDC__) && defined(__x86__) && (__POINTER_SIZE__ == 4)
+	{
+	    unsigned char *__srcLast4;
+
+	    /*
+	     * add long-wise
+	     */
+	    __srcLast4 = __srcLast - 3;
+	    while (__src <= __srcLast4) {
+		unsigned int __sum;
+
+		__sum = ((unsigned int *)__src)[0];
+		asm {
+		      mov eax, __sum
+		      add eax, __carry
+		      mov edx, 0
+		      adc edx, 0
+		      mov __sum, eax
+		      mov __carry, edx
+		    }
+
+		((unsigned int *)(__src + __ptrDelta))[0] = __sum;
+		__src += 4;
+		if (__carry == 0) {
+		    while (__src <= __srcLast4) {
+			/* copy over words */
+			((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0];
+			__src += 4;
+		    }
+		    while (__src <= __srcLast) {
+			/* copy over bytes */
+			__src[__ptrDelta] = __src[0];
+			__src ++;
+		    }
+		    goto doneSource;
+		}
+	    }
+	}
 #  else /* not i386-WIN32 */
 #   if defined(__LSBFIRST__) && (__POINTER_SIZE__ == 8)
-        {
-            unsigned char *__srcLast4;
-
-            /*
-             * add long-wise
-             */
-            __srcLast4 = __srcLast - 3;
-            while (__src <= __srcLast4) {
-                unsigned INT __sum;
-
-                __sum = (INT)(((unsigned int *)__src)[0]);
-                __sum += __carry;
-                ((unsigned int *)(__src + __ptrDelta))[0] = __sum /* & 0xFFFF */;
-                __src += 4;
-                __carry = __sum >> 32;
-                if (__carry == 0) {
-                    while (__src <= __srcLast4) {
-                        /* copy over words */
-                        ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0];
-                        __src += 4;
-                    }
-                    while (__src <= __srcLast) {
-                        /* copy over bytes */
-                        __src[__ptrDelta] = __src[0];
-                        __src ++;
-                    }
-                    goto doneSource;
-                }
-            }
-        }
+	{
+	    unsigned char *__srcLast4;
+
+	    /*
+	     * add long-wise
+	     */
+	    __srcLast4 = __srcLast - 3;
+	    while (__src <= __srcLast4) {
+		unsigned INT __sum;
+
+		__sum = (INT)(((unsigned int *)__src)[0]);
+		__sum += __carry;
+		((unsigned int *)(__src + __ptrDelta))[0] = __sum /* & 0xFFFF */;
+		__src += 4;
+		__carry = __sum >> 32;
+		if (__carry == 0) {
+		    while (__src <= __srcLast4) {
+			/* copy over words */
+			((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0];
+			__src += 4;
+		    }
+		    while (__src <= __srcLast) {
+			/* copy over bytes */
+			__src[__ptrDelta] = __src[0];
+			__src ++;
+		    }
+		    goto doneSource;
+		}
+	    }
+	}
 #   endif /* LSB+64bit */
 #  endif /* __i386__ & WIN32 */
 # endif /* __i386__ & GNUC */
 
-        /*
-         * add short-wise
-         */
-        while (__src < __srcLast) {
-            __carry += ((unsigned short *)__src)[0];
-            ((unsigned short *)(__src + __ptrDelta))[0] = __carry /* & 0xFFFF */;
-            __carry >>= 16;
-            __src += 2;
-        }
-        /*
-         * last (odd) byte
-         */
-        if (__src <= __srcLast) {
-            __carry += __src[0];
-            __src[__ptrDelta] = __carry /* & 0xFF */;
-            __carry >>= 8;
-            __src++;
-        }
+	/*
+	 * add short-wise
+	 */
+	while (__src < __srcLast) {
+	    __carry += ((unsigned short *)__src)[0];
+	    ((unsigned short *)(__src + __ptrDelta))[0] = __carry /* & 0xFFFF */;
+	    __carry >>= 16;
+	    __src += 2;
+	}
+	/*
+	 * last (odd) byte
+	 */
+	if (__src <= __srcLast) {
+	    __carry += __src[0];
+	    __src[__ptrDelta] = __carry /* & 0xFF */;
+	    __carry >>= 8;
+	    __src++;
+	}
 #else /* not __LSBFIRST__ */
 
-        /*
-         * add byte-wise
-         */
-        while (__src <= __srcLast) {
-            __carry += __src[0];
-            __src[__ptrDelta] = __carry /* & 0xFF */;
-            __src++;
-            __carry >>= 8;
-
-            if (__carry == 0) {
-                while (__src <= __srcLast) {
-                    /* copy over rest */
-                    __src[__ptrDelta] = __src[0];
-                    __src++;
-                }
-                goto doneSource;
-            }
-        }
+	/*
+	 * add byte-wise
+	 */
+	while (__src <= __srcLast) {
+	    __carry += __src[0];
+	    __src[__ptrDelta] = __carry /* & 0xFF */;
+	    __src++;
+	    __carry >>= 8;
+
+	    if (__carry == 0) {
+		while (__src <= __srcLast) {
+		    /* copy over rest */
+		    __src[__ptrDelta] = __src[0];
+		    __src++;
+		}
+		goto doneSource;
+	    }
+	}
 #endif /* __LSBFIRST__ */
 
     doneSource: ;
-        /*
-         * now, at most one other byte is to be stored ...
-         */
-        if (__len < __rsltLen) {
-            __src[__ptrDelta] = __carry /* & 0xFF */;
-            __src++;
-        }
-
-        if (__src[__ptrDelta-1] != 0) {      /* lastDigit */
-            RETURN (result);
-        }
-        // must compress
-        ok = true;
+	/*
+	 * now, at most one other byte is to be stored ...
+	 */
+	if (__len < __rsltLen) {
+	    __src[__ptrDelta] = __carry /* & 0xFF */;
+	    __src++;
+	}
+
+	if (__src[__ptrDelta-1] != 0) {      /* lastDigit */
+	    RETURN (result);
+	}
+	// must compress
+	ok = true;
     }
 %}.
 
     ok ~~ true ifTrue:[
-        index := 1.
-        carry := aSmallInteger abs.
-
-        [carry ~~ 0] whileTrue:[
-            (index <= len) ifTrue:[
-                carry := (digitByteArray basicAt:index) + carry.
-            ].
-            resultDigitByteArray basicAt:index put:(lastDigit := carry bitAnd:16rFF).
-            carry := carry bitShift:-8.
-            index := index + 1
-        ].
-
-        (index <= rsltLen) ifTrue:[
-            [index <= len] whileTrue:[
-                resultDigitByteArray basicAt:index put:(digitByteArray basicAt:index).
-                index := index + 1
-            ].
-            lastDigit := 0.
-        ].
-
-        (lastDigit ~~ 0 and:[rsltLen > SmallInteger maxBytes]) ifTrue:[
-            ^ result
-        ].
+	index := 1.
+	carry := aSmallInteger abs.
+
+	[carry ~~ 0] whileTrue:[
+	    (index <= len) ifTrue:[
+		carry := (digitByteArray basicAt:index) + carry.
+	    ].
+	    resultDigitByteArray basicAt:index put:(lastDigit := carry bitAnd:16rFF).
+	    carry := carry bitShift:-8.
+	    index := index + 1
+	].
+
+	(index <= rsltLen) ifTrue:[
+	    [index <= len] whileTrue:[
+		resultDigitByteArray basicAt:index put:(digitByteArray basicAt:index).
+		index := index + 1
+	    ].
+	    lastDigit := 0.
+	].
+
+	(lastDigit ~~ 0 and:[rsltLen > SmallInteger maxBytes]) ifTrue:[
+	    ^ result
+	].
     ].
 
     ^ result compressed
@@ -5008,7 +5008,7 @@
 	    }
 	}
 #  endif /* __i386__ && GNUC */
-#  if defined(WIN32) && defined(__BORLANDC__) && defined(__i386__) && (__POINTER_SIZE__ == 4)
+#  if defined(__win32__) && defined(__BORLANDC__) && defined(__x86__) && (__POINTER_SIZE__ == 4)
 	{
 	    int _comLen3;
 
@@ -5515,7 +5515,7 @@
 
 numberOfDigits:nDigits
     "allocate space for nDigits bytes of magnitude"
-    
+
     digitByteArray := ByteArray new:nDigits.
     sign := 1.
 !
@@ -5529,7 +5529,7 @@
 
 setDigits:digits
     "set the digits from the lsb-ordered digit-bytes"
-    
+
     digitByteArray := digits.
     sign := 1.
 !
--- a/LongFloat.st	Tue May 17 00:56:14 2016 +0200
+++ b/LongFloat.st	Tue May 17 02:04:25 2016 +0200
@@ -40,25 +40,25 @@
  extern errno;
 #endif
 
-#if !defined (WIN32)
+#if !defined (__win32__)
 # include <locale.h>
 #endif
 
-#if defined (_AIX)
+#if defined (__aix__)
 # include <float.h>
 #endif
 
-#if defined(IRIX) || defined(solaris) || defined(sunos)
+#if defined(__irix__) || defined(__solaris__) || defined(__sunos__)
 # include <nan.h>
 #endif
 
-#if defined(LINUX)
+#if defined(__linux__)
 # ifndef NAN
 #  include <bits/nan.h>
 # endif
 #endif
 
-#ifdef WIN32
+#ifdef __win32__
 /*
  * no finite(x) ?
  * no isnan(x) ?
@@ -110,24 +110,24 @@
 # define snprintf  __mingw_snprintf
 # endif /* __MINGW__ */
 
-#endif /* WIN32 */
-
-#ifdef solaris
+#endif /* __win32__ */
+
+#ifdef __solaris__
 # ifndef isfinite
 #  define isfinite(f) finite((double)(f))
 # endif
 #endif
 
-#ifdef realIX
+#ifdef __realIX__
 # ifndef isfinite
 #  define isfinite(x)     1
 # endif
 #endif /* realIX */
 
-#if defined(__GNUC__) || defined(__MINGW__) || defined(WIN32)
+#if defined(__GNUC__) || defined(__MINGW__) || defined(__win32__)
 # define LONGFLOAT      long double
 
-# if defined(linux) || defined(__osx__) || defined(WIN32)
+# if defined(__linux__) || defined(__osx__) || defined(__win32__)
 #  define LONG_ceil     ceill
 #  define LONG_floor    floorl
 #  define LONG_sqrt     sqrtl
@@ -154,13 +154,13 @@
 #  endif
 #  define LONG_isfinite isfinitel
 
-#  if !defined(WIN32)
+#  if !defined(__win32__)
 #   define LONG_asinh    asinhl
 #   define LONG_acosh    acoshl
 #   define LONG_atanh    atanhl
 #  endif /* linux */
 
-# endif  /* defined(linux) || defined(WIN32) */
+# endif  /* defined(__linux__) || defined(__win32__) */
 
 # if !defined(LONG_isnan)
 /* This should be true for ISO C99 systems - even for newer linux systems */
@@ -168,7 +168,7 @@
 #  define LONG_isfinite isfinite
 # endif /* !defined(LONG_isnan) */
 
-#endif /* defined(__GNUC__) || defined(WIN32) */
+#endif /* defined(__GNUC__) || defined(__win32__) */
 
 /*
  * on systems which do not support long doubles, fall back to double
@@ -586,14 +586,14 @@
 	00000000 00000000 seeeeeee eeeeeeee mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm ...
     "
 %{  /* NOCONTEXT */
-#if defined(__i386__) || defined(__x86_64__)
-    if (sizeof(LONGFLOAT) == 10) {      /* i386 - WIN32: 80bit floats */
+#if defined(__x86__) || defined(__x86_64__)
+    if (sizeof(LONGFLOAT) == 10) {      /* x86 - WIN32: 80bit floats */
 	RETURN (__mkSmallInteger(15));
     }
-    if (sizeof(LONGFLOAT) == 12) {      /* i386 - some unixes: 96bit floats */
+    if (sizeof(LONGFLOAT) == 12) {      /* x86 - some unixes: 96bit floats */
 	RETURN (__mkSmallInteger(15));
     }
-    if (sizeof(LONGFLOAT) == 16) {      /* amd64, i386-64bit */
+    if (sizeof(LONGFLOAT) == 16) {      /* amd64, x86_64 */
 	RETURN (__mkSmallInteger(15));
     }
 #else
@@ -626,15 +626,15 @@
 	00000000 00000000 seeeeeee eeeeeeee mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm ...
     "
 %{  /* NOCONTEXT */
-#if defined(__i386__) || defined(__x86_64__)
-    if (sizeof(LONGFLOAT) == 10) {      /* i386 - WIN32: 80bit floats */
+#if defined(__x86__) || defined(__x86_64__)
+    if (sizeof(LONGFLOAT) == 10) {      /* x86 - WIN32: 80bit floats */
 	RETURN (__mkSmallInteger(1));
     }
-    if (sizeof(LONGFLOAT) == 12) {      /* i386 - some other unixes: 96bit floats*/
+    if (sizeof(LONGFLOAT) == 12) {      /* x86 - some other unixes: 96bit floats*/
 	RETURN (__mkSmallInteger(1));
     }
     if (sizeof(LONGFLOAT) == 16) {
-	RETURN (__mkSmallInteger(1));   /* amd64, i386-64bit */
+	RETURN (__mkSmallInteger(1));   /* amd64, x86_64 */
     }
 #else
     if (sizeof(LONGFLOAT) == 16) {
@@ -666,15 +666,15 @@
 	00000000 00000000 seeeeeee eeeeeeee mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm
     "
 %{  /* NOCONTEXT */
-#if defined(__i386__) || defined(__x86_64__)
-    if (sizeof(LONGFLOAT) == 10) {      /* i386 - WIN32: 80bit */
+#if defined(__x86__) || defined(__x86_64__)
+    if (sizeof(LONGFLOAT) == 10) {      /* x86 - WIN32: 80bit */
 	RETURN (__mkSmallInteger(64));
     }
-    if (sizeof(LONGFLOAT) == 12) {      /* i386 some unixes: 96bit */
+    if (sizeof(LONGFLOAT) == 12) {      /* x86 some unixes: 96bit */
 	RETURN (__mkSmallInteger(64));
     }
     if (sizeof(LONGFLOAT) == 16) {
-	RETURN (__mkSmallInteger(64));  /* amd64, i386-64bit */
+	RETURN (__mkSmallInteger(64));  /* amd64, x86_64 */
     }
 #else
     if (sizeof(LONGFLOAT) == 16) {
@@ -1307,7 +1307,7 @@
 
     val = __longFloatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val > 0.0)
 # endif
     {
@@ -1356,7 +1356,7 @@
 
     val = __longFloatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val > 0.0)
 # endif
     {
@@ -1458,7 +1458,7 @@
 
     val = __longFloatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val >= 0.0)
 # endif
     {
@@ -2106,7 +2106,7 @@
 
     val = __longFloatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if ((val >= -1.0) && (val <= 1.0))
 # endif
     {
@@ -2156,7 +2156,7 @@
 
     val = __longFloatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val >= 1.0)
 # endif
     {
@@ -2207,7 +2207,7 @@
 
     val = __longFloatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if ((val >= -1.0) && (val <= 1.0))
 # endif
     {
@@ -2257,7 +2257,7 @@
 
     val = __longFloatVal(self);
 
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if (val >= 1.0)
 # endif
     {
@@ -2344,7 +2344,7 @@
 
     val = __longFloatVal(self);
     __threadErrno = 0;
-# ifdef WIN32 /* dont know (yet) how to suppress the warnBox opened by win32 */
+# ifdef __win32__ /* to suppress the warnBox opened by win32 */
     if ((val >= -1.0) && (val <= 1.0))
 # endif
     {
--- a/NonPositionableExternalStream.st	Tue May 17 00:56:14 2016 +0200
+++ b/NonPositionableExternalStream.st	Tue May 17 02:04:25 2016 +0200
@@ -227,7 +227,7 @@
      In this case, we ignore the error."
 
     ((self == Stderr) or:[self == Stdout]) ifTrue:[
-        ^ self
+	^ self
     ].
     super writeError:errorNumber
 ! !
@@ -361,7 +361,7 @@
 #ifdef __SCHTEAM__
     return context._RETURN( StandardErrorStream );
 #else
-# ifdef WIN32
+# ifdef __win32__
     RETURN ( __MKEXTERNALADDRESS( __win32_stderr() ));
 # else
     RETURN ( __MKEXTERNALADDRESS(stderr) );
@@ -379,7 +379,7 @@
 #ifdef __SCHTEAM__
     return context._RETURN( StandardInputStream );
 #else
-# ifdef WIN32
+# ifdef __win32__
     RETURN ( __MKEXTERNALADDRESS( __win32_stdin() ));
 # else
     RETURN ( __MKEXTERNALADDRESS(stdin) );
@@ -397,7 +397,7 @@
 #ifdef __SCHTEAM__
     return context._RETURN( StandardOutputStream );
 #else
-# ifdef WIN32
+# ifdef __win32__
     RETURN ( __MKEXTERNALADDRESS( __win32_stdout() ));
 # else
     RETURN ( __MKEXTERNALADDRESS(stdout) );
@@ -470,9 +470,9 @@
     "return true, if position is at end"
 
     (self == StdInStream) ifTrue:[
-        OperatingSystem hasConsole ifFalse:[
-            ^ true
-        ]
+	OperatingSystem hasConsole ifFalse:[
+	    ^ true
+	]
     ].
 
     "first, wait to avoid blocking on the read.
--- a/ObjectMemory.st	Tue May 17 00:56:14 2016 +0200
+++ b/ObjectMemory.st	Tue May 17 02:04:25 2016 +0200
@@ -270,9 +270,9 @@
     Interestingly, the scavenger performs better, if many garbage objects
     are to be reclaimed, since less object-copying has to be done. Therefore,
     the best-case scavenge time is almost zero, if there is only garbage in
-    the newSpace. 
+    the newSpace.
     In contrast, the worst-case is when all newSpace objects are still living.
-    Thus, garbage reclamation of young objects is basically free - 
+    Thus, garbage reclamation of young objects is basically free -
     the more garbage is in newspace, the faster is the collector, asymptotically approaching
     zero time, when all new objects are garbage!!
 
@@ -313,9 +313,9 @@
 
     The blocking mark&sweep runs whenever the oldspace becomes full and the oldSpace
     limit has been reached (i.e. it prefers to map more pages to the oldSpace up to an
-    adjustable limit). It puts dead objects onto a free list. 
+    adjustable limit). It puts dead objects onto a free list.
     If a memory request cannot be served from this freelist,
-    and the total size of objects on the freelist exceeds a threshold (actually: the fragmentation does so), 
+    and the total size of objects on the freelist exceeds a threshold (actually: the fragmentation does so),
     the system will compress the oldspace to make the free-space into one big area.
     This compress is either done by a 1-pass semispace copy algorithm, or
     a 2pass inplace compress - depending on the setting of the compress limit
@@ -349,7 +349,7 @@
     (see ProcessorSceduler>>waitForEventOrTimeout), or alternatively as a low or high
     priority background process (see ObjectMemory>>startBackgroundCollector).
     Like the normal mark&sweep, this incremental collector follows object references
-    and marks reachable objects on its way. 
+    and marks reachable objects on its way.
     However, this is done 'a few objects-at-a-time', to not disrupt the system noticably.
     Currently, there are some (theoretical) and in practice never occurring situations,
     in which the incremental GC still creates noticable delays.
@@ -428,55 +428,55 @@
     Notice, that the defaults below are those of the VM and or ObjectMemory class.
     These may already be changed by a smalltalk.rc or private.rc startup file.
 
-            what        default     change by
-                                    command line arg    dynamically
+	    what        default     change by
+				    command line arg    dynamically
     -----------------------------------------------------------------------
-        newSpace size     400k      -Mnew nnn           newSpaceSize:nnn
-
-        oldSpace size    3000k      -Mold nnn           moreOldSpace:
-                                                        announceSpaceNeed:
-                                                        collectGarbage
-
-        max tenure age     29                           lockTenure:
-                                                        avoidTenure:
-                                                        (sets it to infinity)
-
-        adaptive tenure     -       -                   tenureParameters
-
-        2pass oldSpace
-        compressor      enabled     -Msingle            -
-
-        limit for 1pass
-        old-compress     8000k      -                   oldSpaceCompressLimit:
-
-        chunk size
-        to increase
-        oldSpace          256k      -                   oldSpaceIncrement:
-
-        prefer moreOld
-        to doing GC      false      -                   fastMoreOldSpaceAllocation:
-
-        limit for
-        above                -      -                   fastMoreOldSpaceLimit:
-
-        keep size for        -      -                   freeSpaceGCAmount:
-        IGC
-
-        low water
-        trigger for IGC      -      -                   freeSpaceGCLimit:
-
-        allocated
-        trigger for IGC   500k      -                   incrementalGCLimit
-
-        maximum time
-        interval between
-        IGC's                -      -                   BackgroundCollectMaximumInterval
-
-        JIT codeCache
-        size            unlimited   -                   dynamicCodeLimit:
-
-        new JIT code
-        trigger for IGC   none      -                   dynamicCodeGCTrigger:
+	newSpace size     400k      -Mnew nnn           newSpaceSize:nnn
+
+	oldSpace size    3000k      -Mold nnn           moreOldSpace:
+							announceSpaceNeed:
+							collectGarbage
+
+	max tenure age     29                           lockTenure:
+							avoidTenure:
+							(sets it to infinity)
+
+	adaptive tenure     -       -                   tenureParameters
+
+	2pass oldSpace
+	compressor      enabled     -Msingle            -
+
+	limit for 1pass
+	old-compress     8000k      -                   oldSpaceCompressLimit:
+
+	chunk size
+	to increase
+	oldSpace          256k      -                   oldSpaceIncrement:
+
+	prefer moreOld
+	to doing GC      false      -                   fastMoreOldSpaceAllocation:
+
+	limit for
+	above                -      -                   fastMoreOldSpaceLimit:
+
+	keep size for        -      -                   freeSpaceGCAmount:
+	IGC
+
+	low water
+	trigger for IGC      -      -                   freeSpaceGCLimit:
+
+	allocated
+	trigger for IGC   500k      -                   incrementalGCLimit
+
+	maximum time
+	interval between
+	IGC's                -      -                   BackgroundCollectMaximumInterval
+
+	JIT codeCache
+	size            unlimited   -                   dynamicCodeLimit:
+
+	new JIT code
+	trigger for IGC   none      -                   dynamicCodeGCTrigger:
 
 
     By default, no incremental GC is started by the system; however,
@@ -484,28 +484,28 @@
     You have to edit your startup files to change this.
     A suggested configuration (used by the author and the default) is:
 
-        ' keep 1meg in the pocket '
-
-        ObjectMemory freeSpaceGCAmount:1000000.
-
-        ' start incrementalGC when freespace drops below 250k '
-        ' or 500k of oldSpace has been allocated              '
-
-        ObjectMemory freeSpaceGCLimit:250000.                 '
-        ObjectMemory incrementalGCLimit:500000.               '
-
-        ' collect as a background process (the default is: at idle times)
-        ' this means that running cubes or other demo processes are suspended
-        ' for the collect; change the prio to below 4 if you want them to continue
-
-        ObjectMemory startBackgroundCollectorAt:5.            '
-        ObjectMemory startBackgroundFinalizationAt:5.         '
-
-        ' quickly allocate more space (i.e. avoid blocking collects)
-        ' up to 8meg - then start to collect if more memory is needed.
-
-        ObjectMemory fastMoreOldSpaceLimit:8*1024*1024.       '
-        ObjectMemory fastMoreOldSpaceAllocation:true.         '
+	' keep 1meg in the pocket '
+
+	ObjectMemory freeSpaceGCAmount:1000000.
+
+	' start incrementalGC when freespace drops below 250k '
+	' or 500k of oldSpace has been allocated              '
+
+	ObjectMemory freeSpaceGCLimit:250000.                 '
+	ObjectMemory incrementalGCLimit:500000.               '
+
+	' collect as a background process (the default is: at idle times)
+	' this means that running cubes or other demo processes are suspended
+	' for the collect; change the prio to below 4 if you want them to continue
+
+	ObjectMemory startBackgroundCollectorAt:5.            '
+	ObjectMemory startBackgroundFinalizationAt:5.         '
+
+	' quickly allocate more space (i.e. avoid blocking collects)
+	' up to 8meg - then start to collect if more memory is needed.
+
+	ObjectMemory fastMoreOldSpaceLimit:8*1024*1024.       '
+	ObjectMemory fastMoreOldSpaceAllocation:true.         '
 
   hints & tricks:
 
@@ -518,37 +518,37 @@
     control over allocation can speedup your programs; but please:
 
       - if you think you have to play around with the memory policies,
-        first check your program - you may find useless allocations
-        or bad uses of collections. A typical error that is made is to
-        create large collections using the #, (comma) concatenation method,
-        which shows square behavior, since it allocates many, many temporary
-        collections. Also, watch out for #copyWith:, #add: etc.
-        All of these create a new collection. Remember, that most collections
-        offer methods to preallocate some space; for example, 'Set new:' creates
-        an empty set, but preallocates space to avoid resizing over and over.
-
-        An especially bad performace dog is to use #add: on fix-size collection
-        objects (such as Strings or Arrays), since in addition to allocating
-        lots of garbage, a #become: operation is required for EACH element
-        added. NEVER use Arrays for growing/shrinking data - use OrderedCollection
-        instead. (if you really need an array, use asArray afterwards)
+	first check your program - you may find useless allocations
+	or bad uses of collections. A typical error that is made is to
+	create large collections using the #, (comma) concatenation method,
+	which shows square behavior, since it allocates many, many temporary
+	collections. Also, watch out for #copyWith:, #add: etc.
+	All of these create a new collection. Remember, that most collections
+	offer methods to preallocate some space; for example, 'Set new:' creates
+	an empty set, but preallocates space to avoid resizing over and over.
+
+	An especially bad performace dog is to use #add: on fix-size collection
+	objects (such as Strings or Arrays), since in addition to allocating
+	lots of garbage, a #become: operation is required for EACH element
+	added. NEVER use Arrays for growing/shrinking data - use OrderedCollection
+	instead. (if you really need an array, use asArray afterwards)
 
       - if you are going to allocate huge data structures, think about
-        optimizing space. For example, if you allocate a million instances of
-        some object, each added instance variable makes up 4Mb of additional
-        memory need.
-        Also, for Byte-valued, Integer-valued and Float like objects, special
-        collections are provided, which store their values directly inside (instead
-        of a reference to the object). A FloatArray consisting of 1 million floats
-        requires about 4mb of memory, while an Array of Floats requires 4mb for the
-        references to the floats, PLUS 20Mb for the floats themself.
+	optimizing space. For example, if you allocate a million instances of
+	some object, each added instance variable makes up 4Mb of additional
+	memory need.
+	Also, for Byte-valued, Integer-valued and Float like objects, special
+	collections are provided, which store their values directly inside (instead
+	of a reference to the object). A FloatArray consisting of 1 million floats
+	requires about 4mb of memory, while an Array of Floats requires 4mb for the
+	references to the floats, PLUS 20Mb for the floats themself.
 
       - check if you really need fast access to all of these objects; you may
-        try to only keep some subset in memory, and use binary storage or
-        (if this is too slow) optimized store/retrieve methods and keep the bigger
-        part in a file.
-        (How about a DiskArray class, which does this transparently ?
-         See the FileText class for some ideas and something to start with ...)
+	try to only keep some subset in memory, and use binary storage or
+	(if this is too slow) optimized store/retrieve methods and keep the bigger
+	part in a file.
+	(How about a DiskArray class, which does this transparently ?
+	 See the FileText class for some ideas and something to start with ...)
 
 
     Hint / Example 1:
@@ -1125,7 +1125,7 @@
 debugBreakPoint3
 
 %{
-#ifndef WIN32
+#ifndef __win32__
     /*extern void __debugBreakPoint3__();*/
     __debugBreakPoint3__();
 #endif
@@ -2830,7 +2830,7 @@
 
 allowTenureOf:anObject
     "set the age of anObject back to 0 so it may eventually tenure
-     into old space. 
+     into old space.
      This should only be used in very special situations.
      One such situation may be to ensure that an object is finalized early by the next
      scavenge, and not by a (possibly late) old space collect.
@@ -2838,12 +2838,12 @@
      any value with the seatAgeOf:to: message.
      If the object is already old, this call has no effect.
      WARNING: this method is for ST/X experts only
-              it is dangerous, should be used with care
-              and it may be removed without notice"
+	      it is dangerous, should be used with care
+	      and it may be removed without notice"
 
 
     self setAgeOf:anObject to:0
-    
+
     "
     |p|
     p := Point new.
@@ -3544,7 +3544,7 @@
 !
 
 preventTenureOf:anObject
-    "set the age of anObject to the never-tenure special age. 
+    "set the age of anObject to the never-tenure special age.
      This prevents the object from ever going out of the new space,
      and if used without care may lead to a filling of th newspace to a point,
      where the system becomes inoperable.
@@ -3555,14 +3555,14 @@
      any value with the seatAgeOf:to: message.
      If the object is already old, this call has no effect.
      WARNING: this method is for ST/X experts only
-              it is dangerous, should be used with care
-              and it may be removed without notice"
+	      it is dangerous, should be used with care
+	      and it may be removed without notice"
 
 %{  /* NOCONTEXT */
 #ifndef __SCHTEAM__
     if (__isNonNilObject(anObject)) {
-        _SET_AGE(anObject, NO_TENURE_AGE);
-    }    
+	_SET_AGE(anObject, NO_TENURE_AGE);
+    }
 #endif
 %}
     "
@@ -3587,21 +3587,21 @@
 !
 
 setAgeOf:anObject to:newAge
-    "change the age of anObject. 
+    "change the age of anObject.
      This counts the number of scavenges that an object has survived in new space.
      For old space objects, this is a no-op.
      WARNING: this method is for ST/X debugging only
-              it may be removed without notice"
+	      it may be removed without notice"
 
 %{  /* NOCONTEXT */
 #ifndef __SCHTEAM__
     if (__isNonNilObject(anObject) && __isSmallInteger(newAge)) {
-        int age = __intVal(newAge);
-
-        if (age < 0) age = 0;
-        else if (age > AGE_MAX) age = AGE_MAX;
-        _SET_AGE(anObject, age);
-    }    
+	int age = __intVal(newAge);
+
+	if (age < 0) age = 0;
+	else if (age > AGE_MAX) age = AGE_MAX;
+	_SET_AGE(anObject, age);
+    }
 #endif
 %}
     "
@@ -5567,21 +5567,21 @@
 
     localName := self nameForChangesLocal.
     userPrefs := UserPreferences current.
-    
+
     "/ if the prefs provide a full, explicit name
-    (nm := userPrefs changeFileName) isNil ifTrue:[ 
-
-        "/ if there is a workspace, create it there
-        ((wd := userPrefs workspaceDirectory) notNil and:[wd exists]) ifTrue:[
-            nm := wd / (localName asFilename baseName)
-        ] ifFalse:[
-            "/ if it was set by a startup file
-            (nm := ChangeFileName) isNil ifTrue:[
-                "/ finally, fall back to a default.
-                nm := localName
-            ]
-        ]
-    ].    
+    (nm := userPrefs changeFileName) isNil ifTrue:[
+
+	"/ if there is a workspace, create it there
+	((wd := userPrefs workspaceDirectory) notNil and:[wd exists]) ifTrue:[
+	    nm := wd / (localName asFilename baseName)
+	] ifFalse:[
+	    "/ if it was set by a startup file
+	    (nm := ChangeFileName) isNil ifTrue:[
+		"/ finally, fall back to a default.
+		nm := localName
+	    ]
+	]
+    ].
     ^ nm asFilename pathName.
 
     "
@@ -5631,10 +5631,10 @@
     |localName wd|
 
     localName := self nameForSnapshotLocal.
-    
+
     "/ if there is a workspace, create it there
     ((wd := UserPreferences current workspaceDirectory) notNil and:[wd exists]) ifTrue:[
-        ^ wd / (localName asFilename baseName)
+	^ wd / (localName asFilename baseName)
     ].
     ^ localName
 
@@ -5762,7 +5762,7 @@
      ST-80 compatibility; send #preSnapshot to all classes
     "
     Smalltalk allClassesDo:[:aClass |
-        aClass preSnapshot
+	aClass preSnapshot
     ].
 
     "
@@ -5772,55 +5772,55 @@
     "
     snapshotFilename := aFileName asFilename.
     snapshotFilename isAbsolute ifFalse:[
-        snapshotFilename := self directoryForImageAndChangeFile
-                            / snapshotFilename name.
+	snapshotFilename := self directoryForImageAndChangeFile
+			    / snapshotFilename name.
     ].
 
     tempFilename := (FileStream newTemporaryIn:snapshotFilename directory)
-                        close;
-                        fileName.
+			close;
+			fileName.
     ok := self primSnapShotOn:tempFilename.
 
     ok ifTrue:[
-        "keep history of one snapshot file"
-        snapshotFilename exists ifTrue:[
-            tempFilename symbolicAccessRights:snapshotFilename symbolicAccessRights.
-            snapshotFilename renameTo:(snapshotFilename withSuffix:'sav').
-        ] ifFalse:[
-            "image file hat stx as interpreter and can be executed"
-            tempFilename makeExecutable.
-        ].
-        tempFilename renameTo:snapshotFilename.
-
-        Class addChangeRecordForSnapshot:aFileName.
-
-        setImageName ifTrue:[
-            oldChangeFile := self nameForChanges.
-            ImageName := snapshotFilename asAbsoluteFilename asString.
-            self refreshChangesFrom:oldChangeFile.
-        ].
+	"keep history of one snapshot file"
+	snapshotFilename exists ifTrue:[
+	    tempFilename symbolicAccessRights:snapshotFilename symbolicAccessRights.
+	    snapshotFilename renameTo:(snapshotFilename withSuffix:'sav').
+	] ifFalse:[
+	    "image file hat stx as interpreter and can be executed"
+	    tempFilename makeExecutable.
+	].
+	tempFilename renameTo:snapshotFilename.
+
+	Class addChangeRecordForSnapshot:aFileName.
+
+	setImageName ifTrue:[
+	    oldChangeFile := self nameForChanges.
+	    ImageName := snapshotFilename asAbsoluteFilename asString.
+	    self refreshChangesFrom:oldChangeFile.
+	].
     ] ifFalse:[
-        tempFilename remove.
+	tempFilename remove.
     ].
 
     "
      ST-80 compatibility; send #postSnapshot to all classes
     "
     Smalltalk allClassesDo:[:aClass |
-        aClass postSnapshot
+	aClass postSnapshot
     ].
     self changed:#finishedSnapshot.  "/ ST-80 compatibility
 
     ok ifFalse:[
-        SnapshotError raise.
-        "not reached"
+	SnapshotError raise.
+	"not reached"
     ].
 
     Transcript
-        show:'Snapshot '; show:snapshotFilename baseName allBold;
-        show:' saved '; show:Timestamp now;
-        show:' in '; show:snapshotFilename asAbsoluteFilename directoryName;
-        showCR:'.'.
+	show:'Snapshot '; show:snapshotFilename baseName allBold;
+	show:' saved '; show:Timestamp now;
+	show:' in '; show:snapshotFilename asAbsoluteFilename directoryName;
+	showCR:'.'.
 
     ^ ok
 
--- a/OpenVMSOperatingSystem.st	Tue May 17 00:56:14 2016 +0200
+++ b/OpenVMSOperatingSystem.st	Tue May 17 02:04:25 2016 +0200
@@ -243,7 +243,7 @@
 #endif
 
 #ifndef _IOCTL_H_INCLUDED_
-# ifndef WIN32
+# ifndef __win32__
 #  include <sys/ioctl.h>
 #  define _IOCTL_H_INCLUDED_
 # endif
@@ -4517,7 +4517,7 @@
 
     |osSeconds i|
 %{
-#if !defined(WIN32) && !defined(__VMS__)
+#if !defined(__win32__) && !defined(__VMS__)
     struct stat buf;
     time_t mtime;
     int ret;
@@ -4560,7 +4560,7 @@
 
     |osSeconds i|
 %{
-#if !defined(WIN32) && !defined(__VMS__)
+#if !defined(__win32__) && !defined(__VMS__)
     struct stat buf;
     int ret;
     time_t mtime;
@@ -5026,7 +5026,7 @@
 # endif
 #endif
 #ifdef SIGALRM
-# ifndef WIN32
+# ifndef __win32__
 #  ifndef __signalTimerInterrupt
     extern void __signalTimerInterrupt(SIGHANDLER_ARG);
 #  endif
@@ -5065,7 +5065,7 @@
 #ifdef SIGQUIT
 	    case SIGQUIT:
 #endif
-#ifdef WIN32
+#ifdef __win32__
 # ifdef PROCESSDEBUGWIN32
 		printf("ConsoleSignal %d\n",sigNr);
 # endif
@@ -5154,7 +5154,7 @@
 	    vec.sv_handler = handler;
 	    sigvec(sigNr, &vec, NULL);
 # else
-#  ifdef WIN32
+#  ifdef __win32__
 #   ifdef PROCESSDEBUGWIN32
 	    printf("signal %d can't change handler\n",sigNr);
 #   endif
@@ -7854,6 +7854,6 @@
 !OpenVMSOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/OpenVMSOperatingSystem.st,v 1.18 2015-01-12 12:50:08 cg Exp $'
+    ^ '$Header$'
 ! !
 OpenVMSOperatingSystem initialize!
--- a/PipeStream.st	Tue May 17 00:56:14 2016 +0200
+++ b/PipeStream.st	Tue May 17 02:04:25 2016 +0200
@@ -24,7 +24,7 @@
 %{
 #include "stxOSDefs.h"
 
-#if defined(WIN32)
+#if defined(__win32__)
 # undef UNIX_LIKE
 # define MSDOS_LIKE
 #endif
@@ -165,28 +165,28 @@
     For example, to get a stream reading the output of an 'ls -l'
     command, a PipeStream can be created with:
 
-        PipeStream readingFrom:'ls -l'
+	PipeStream readingFrom:'ls -l'
 
     the characters of the command's output can be read using the
     standard stream messages, such as next, nextLine etc.
 
     Example for writing to a command:
 
-        PipeStream writingTo:'cat >/tmp/x'
+	PipeStream writingTo:'cat >/tmp/x'
 
     Bidirectional pipestreams (supporting both reading an writing) may be used for filters:
 
-        PipeStream bidirectionalFor:'sed -e ''s/Hello/Greetings/'''
+	PipeStream bidirectionalFor:'sed -e ''s/Hello/Greetings/'''
 
     Buffered pipes do not work with Linux - the stdio library seems to be
     buggy (trying to restart the read ...)
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 
     [see also:]
-        ExternalStream FileStream Socket
-        OperatingSystem
+	ExternalStream FileStream Socket
+	OperatingSystem
 "
 ! !
 
@@ -444,9 +444,9 @@
     p isNil ifTrue:[^ nil].
 
     [
-        cmdOutput := p contentsAsString.
+	cmdOutput := p contentsAsString.
     ] ensure:[
-        p close.
+	p close.
     ].
     ^ cmdOutput
 
@@ -491,9 +491,9 @@
 
     "terminate first under windows"
     OperatingSystem isMSDOSlike ifTrue:[
-        self terminatePipeCommand.
-        self closeFileDescriptor.
-        ^ self.
+	self terminatePipeCommand.
+	self closeFileDescriptor.
+	^ self.
     ].
 
     "terminate last under unix"
@@ -568,7 +568,7 @@
 	if (@global(FileOpenTrace) == true) {
 	    console_fprintf(stderr, "close [PipeStream] %"_lx_" fd=%d\n", (INT)f, fileno(f));
 	}
-#ifdef WIN32
+#ifdef __win32__
 	do {
 	    __threadErrno = 0;
 	    retVal = __STX_C_NOINT_CALL1( "close", (void*)close, (void*)fileno(f) );
@@ -611,17 +611,17 @@
      realCmd execDirectory tmpComFile nullOutput resultPid errorNumber|
 
     handle notNil ifTrue:[
-        "the pipe was already open ...
-         this should (can) not happen."
-        ^ self errorAlreadyOpen
+	"the pipe was already open ...
+	 this should (can) not happen."
+	^ self errorAlreadyOpen
     ].
 
     rwMode = #r ifTrue:[
-        mode := #readonly. didWrite := false.
+	mode := #readonly. didWrite := false.
     ] ifFalse:[rwMode = #'r+' ifTrue:[
-        mode := #readwrite. didWrite := true.
+	mode := #readwrite. didWrite := true.
     ] ifFalse:[
-        mode := #writeonly. didWrite := true.
+	mode := #writeonly. didWrite := true.
     ]].
 
     lastErrorNumber := nil.
@@ -633,79 +633,79 @@
     execFdArray := #(0 1 2) copy.
 
     OperatingSystem isVMSlike ifTrue:[
-        "/
-        "/ the generated COM-file includes a 'set default'
-        "/
-        tmpComFile := OperatingSystem createCOMFileForVMSCommand:aCommandString in:aDirectory.
-        realCmd := '@' , tmpComFile osName.
-        execDirectory := nil.
+	"/
+	"/ the generated COM-file includes a 'set default'
+	"/
+	tmpComFile := OperatingSystem createCOMFileForVMSCommand:aCommandString in:aDirectory.
+	realCmd := '@' , tmpComFile osName.
+	execDirectory := nil.
 
-        mbx := OperatingSystem createMailBox.
-        mbx isNil ifTrue:[
-            lastErrorNumber := errorNumber := OperatingSystem currentErrorNumber.
-            tmpComFile delete.
-            ^ self openError:errorNumber.
-        ].
-        mbxName := OperatingSystem mailBoxNameOf:mbx.
+	mbx := OperatingSystem createMailBox.
+	mbx isNil ifTrue:[
+	    lastErrorNumber := errorNumber := OperatingSystem currentErrorNumber.
+	    tmpComFile delete.
+	    ^ self openError:errorNumber.
+	].
+	mbxName := OperatingSystem mailBoxNameOf:mbx.
 
-        "/ 'mailBox is ' print. mbx print. ' name is ' print. mbxName printCR.
-        shellPath := ''.
-        shellArgs := realCmd.
+	"/ 'mailBox is ' print. mbx print. ' name is ' print. mbxName printCR.
+	shellPath := ''.
+	shellArgs := realCmd.
 
-        rwMode = #r ifTrue:[
-            "redirect stdout of subprocess to write to mailbox"
-            execFdArray at:2 put:mbx.
-        ] ifFalse:[
-            "redirect stdin of subprocess to read from mailbox"
-            execFdArray at:1 put:mbx.
-        ].
+	rwMode = #r ifTrue:[
+	    "redirect stdout of subprocess to write to mailbox"
+	    execFdArray at:2 put:mbx.
+	] ifFalse:[
+	    "redirect stdin of subprocess to read from mailbox"
+	    execFdArray at:1 put:mbx.
+	].
     ] ifFalse:[
-        shellAndArgs := OperatingSystem commandAndArgsForOSCommand:realCmd.
-        shellPath := shellAndArgs at:1.
-        shellArgs := shellAndArgs at:2.
+	shellAndArgs := OperatingSystem commandAndArgsForOSCommand:realCmd.
+	shellPath := shellAndArgs at:1.
+	shellArgs := shellAndArgs at:2.
 
-        mode == #readwrite ifTrue:[
-            pipeFdArray := OperatingSystem makeBidirectionalPipe.
-            pipeFdArray isNil ifTrue:[
-                lastErrorNumber := errorNumber := OperatingSystem currentErrorNumber.
-                ^ self openError:errorNumber.
-            ].
-            myFd := pipeFdArray at:1.
-            execFd := pipeFdArray at:2.
-            execFdArray at:1 put:execFd.
-            execFdArray at:2 put:execFd.
-        ] ifFalse:[
-            pipeFdArray := OperatingSystem makePipe.
-            pipeFdArray isNil ifTrue:[
-                lastErrorNumber := errorNumber := OperatingSystem currentErrorNumber.
-                ^ self openError:errorNumber.
-            ].
+	mode == #readwrite ifTrue:[
+	    pipeFdArray := OperatingSystem makeBidirectionalPipe.
+	    pipeFdArray isNil ifTrue:[
+		lastErrorNumber := errorNumber := OperatingSystem currentErrorNumber.
+		^ self openError:errorNumber.
+	    ].
+	    myFd := pipeFdArray at:1.
+	    execFd := pipeFdArray at:2.
+	    execFdArray at:1 put:execFd.
+	    execFdArray at:2 put:execFd.
+	] ifFalse:[
+	    pipeFdArray := OperatingSystem makePipe.
+	    pipeFdArray isNil ifTrue:[
+		lastErrorNumber := errorNumber := OperatingSystem currentErrorNumber.
+		^ self openError:errorNumber.
+	    ].
 
-            mode == #readonly ifTrue:[
-                "redirect stdout of subprocess to write to pipe"
-                myFd := pipeFdArray at:1.
-                execFd := pipeFdArray at:2.
-                execFdArray at:2 put:execFd.
-            ] ifFalse:[
-                "redirect stdin of subprocess to read from pipe"
-                myFd := pipeFdArray at:2.
-                execFd := pipeFdArray at:1.
-                execFdArray at:1 put:execFd.
-            ].
-        ].
+	    mode == #readonly ifTrue:[
+		"redirect stdout of subprocess to write to pipe"
+		myFd := pipeFdArray at:1.
+		execFd := pipeFdArray at:2.
+		execFdArray at:2 put:execFd.
+	    ] ifFalse:[
+		"redirect stdin of subprocess to read from pipe"
+		myFd := pipeFdArray at:2.
+		execFd := pipeFdArray at:1.
+		execFdArray at:1 put:execFd.
+	    ].
+	].
     ].
 
     errorDisposition == #discard ifTrue:[
-        nullOutput := Filename nullDevice writeStream.
-        execFdArray at:3 put:nullOutput fileDescriptor
+	nullOutput := Filename nullDevice writeStream.
+	execFdArray at:3 put:nullOutput fileDescriptor
     ] ifFalse:[
-        (errorDisposition == #inline or:[errorDisposition == #stdout]) ifTrue:[
-            execFdArray at:3 put:1
-        ] ifFalse:[
+	(errorDisposition == #inline or:[errorDisposition == #stdout]) ifTrue:[
+	    execFdArray at:3 put:1
+	] ifFalse:[
 "/            errorDisposition isStream ifTrue:[
 "/self halt.
 "/            ].
-        ].
+	].
     ].
 
     "/ must block here, to avoid races due to early finishing
@@ -715,84 +715,84 @@
 
     "beware: pid may change if subprocess is fast"
     pid := resultPid :=  Processor
-               monitor:[
-                  OperatingSystem
-                      exec:shellPath
-                      withArguments:shellArgs
-                      environment:nil
-                      fileDescriptors:execFdArray
-                      fork:true
-                      newPgrp:true
-                      inDirectory:execDirectory.
-               ]
-               action:[:status |
-                  status stillAlive ifFalse:[
-                      exitStatus := status.
+	       monitor:[
+		  OperatingSystem
+		      exec:shellPath
+		      withArguments:shellArgs
+		      environment:nil
+		      fileDescriptors:execFdArray
+		      fork:true
+		      newPgrp:true
+		      inDirectory:execDirectory.
+	       ]
+	       action:[:status |
+		  status stillAlive ifFalse:[
+		      exitStatus := status.
 
-                      "writing doesn't make sense - there is no reader any longer"
-                      mode == #readwrite ifTrue:[
-                          "... but allow to read the rest of the command's output"
-                          self shutDownOutput.
-                      ] ifFalse:[mode == #writeonly ifTrue:[
-                          self closeFileDescriptor.
-                      ]].
+		      "writing doesn't make sense - there is no reader any longer"
+		      mode == #readwrite ifTrue:[
+			  "... but allow to read the rest of the command's output"
+			  self shutDownOutput.
+		      ] ifFalse:[mode == #writeonly ifTrue:[
+			  self closeFileDescriptor.
+		      ]].
 
-                      OperatingSystem closePid:pid.
-                      pid := nil.
-                      exitSema signal.
-                  ].
-               ].
+		      OperatingSystem closePid:pid.
+		      pid := nil.
+		      exitSema signal.
+		  ].
+	       ].
 
     "subprocess has been created.
      close unused filedescriptors"
 
     execFd notNil ifTrue:[
-        OperatingSystem closeFd:execFd.
+	OperatingSystem closeFd:execFd.
     ].
 
     nullOutput notNil ifTrue:[
-        nullOutput close
+	nullOutput close
     ].
 
     resultPid notNil ifTrue:[
-        "successfull creation of subprocesss"
-        OperatingSystem isVMSlike ifTrue:[
-            "/
-            "/ reopen the mailbox as a file ...
-            "/
-            mbxName := OperatingSystem mailBoxNameOf:mbx.
-            mbxName notNil ifTrue:[
-                super open:mbxName withMode:rwMode.
-                exitAction := [tmpComFile delete].
-            ].
-        ] ifFalse:[
-            self setFileDescriptor:myFd mode:rwMode.
-            handleType := #pipeFilePointer.
-        ]
+	"successfull creation of subprocesss"
+	OperatingSystem isVMSlike ifTrue:[
+	    "/
+	    "/ reopen the mailbox as a file ...
+	    "/
+	    mbxName := OperatingSystem mailBoxNameOf:mbx.
+	    mbxName notNil ifTrue:[
+		super open:mbxName withMode:rwMode.
+		exitAction := [tmpComFile delete].
+	    ].
+	] ifFalse:[
+	    self setFileDescriptor:myFd mode:rwMode.
+	    handleType := #pipeFilePointer.
+	]
     ] ifFalse:[
-        "creation of subprocesss failed"
-        lastErrorNumber := OperatingSystem currentErrorNumber.
-        OperatingSystem isVMSlike ifTrue:[
-            OperatingSystem destroyMailBox:mbx.
-            tmpComFile delete.
-        ] ifFalse:[
-            OperatingSystem closeFd:myFd.
-        ].
+	"creation of subprocesss failed"
+	lastErrorNumber := OperatingSystem currentErrorNumber.
+	OperatingSystem isVMSlike ifTrue:[
+	    OperatingSystem destroyMailBox:mbx.
+	    tmpComFile delete.
+	] ifFalse:[
+	    OperatingSystem closeFd:myFd.
+	].
     ].
 
     blocked ifFalse:[
-        OperatingSystem unblockInterrupts
+	OperatingSystem unblockInterrupts
     ].
 
     (resultPid isNil or:[lastErrorNumber notNil]) ifTrue:[
-        "
-         the pipe open failed for some reason ...
-         ... this may be either due to an invalid command string,
-         or due to the system running out of memory (when forking
-         the unix process)
-        "
-        exitAction value.
-        ^ self openError:lastErrorNumber.
+	"
+	 the pipe open failed for some reason ...
+	 ... this may be either due to an invalid command string,
+	 or due to the system running out of memory (when forking
+	 the unix process)
+	"
+	exitAction value.
+	^ self openError:lastErrorNumber.
     ].
 
     commandString := realCmd.
--- a/Process.st	Tue May 17 00:56:14 2016 +0200
+++ b/Process.st	Tue May 17 02:04:25 2016 +0200
@@ -42,7 +42,7 @@
 
 documentation
 "
-    WARNING: 
+    WARNING:
 	the offsets of the instance variables lookupActivations and lookupDisabled are known in the VM
 	do not remove them, and do not insert/remove instance variables before them
 
@@ -377,7 +377,7 @@
     "return the default max stack size. All new processes get
      this limit initially.
      It may be changed for individual processes with:
-        aProcess setMaximumStackSize:limit"
+	aProcess setMaximumStackSize:limit"
 
 %{  /* NOCONTEXT */
     extern INT __defaultThreadMaxStackSize();
@@ -396,16 +396,16 @@
     "set the default max stack size, return the previous value.
      All new processes get this stack limit initially.
      It may be changed for individual processes with:
-        aProcess setMaximumStackSize:limit
+	aProcess setMaximumStackSize:limit
      Notice:
-        There is seldom any need to change the default setting,
-        except for highly recursive programs."
+	There is seldom any need to change the default setting,
+	except for highly recursive programs."
 
 %{  /* NOCONTEXT */
     extern INT __threadSetDefaultMaxStackSize();
 
     if (__isSmallInteger(numberOfBytes)) {
-        RETURN ( __mkSmallInteger(__threadSetDefaultMaxStackSize(__intVal(numberOfBytes)) ));
+	RETURN ( __mkSmallInteger(__threadSetDefaultMaxStackSize(__intVal(numberOfBytes)) ));
     }
 %}
 
@@ -417,7 +417,7 @@
 !
 
 wrapStackSize
-    "return the wrap stack size. 
+    "return the wrap stack size.
      Under windows, blocking API calls are executed on a separate stack with this size.
      If you ever encounter that a call to n external library function requires more stack than
      this, you may change this size in your startup (or programmatically) during early startup.
@@ -426,7 +426,7 @@
 %{  /* NOCONTEXT */
     INT sz = 0;
 
-#ifdef WIN32
+#ifdef __win32__
     extern INT __getWrapStackSize();
 
     sz = __getWrapStackSize();
@@ -436,7 +436,7 @@
 !
 
 wrapStackSize:newSize
-    "set the wrap stack size. 
+    "set the wrap stack size.
      Under windows, blocking API calls are executed on a separate stack with this size.
      If you ever encounter that a call to n external library function requires more stack than
      this, you may change this size in your startup (or programmatically) during early startup.
@@ -447,15 +447,15 @@
     INT __oldSize = 0;
 
     if (__isSmallInteger(newSize)) {
-        INT __newSize = __intVal(newSize);
-
-        if (__newSize >= 0) {
-#ifdef WIN32
-            extern INT __setWrapStackSize(INT);
-
-            __oldSize = __setWrapStackSize(__newSize);
+	INT __newSize = __intVal(newSize);
+
+	if (__newSize >= 0) {
+#ifdef __win32__
+	    extern INT __setWrapStackSize(INT);
+
+	    __oldSize = __setWrapStackSize(__newSize);
 #endif
-        }
+	}
     }
     RETURN (__MKINT(__oldSize));
 %}
@@ -835,7 +835,7 @@
     OBJ i;
 
     if (__isSmallInteger(i = __INST(id))) {
-        RETURN( __MKINT(__threadMaxStackSize(__intVal(i))) );
+	RETURN( __MKINT(__threadMaxStackSize(__intVal(i))) );
     }
 %}.
     ^ nil
@@ -853,7 +853,7 @@
 
     if (__isSmallInteger(i = __INST(id))
      && __isSmallInteger(limit) ) {
-        RETURN ( __MKINT(__threadSetMaxStackSize(__intVal(i), __intVal(limit))) );
+	RETURN ( __MKINT(__threadSetMaxStackSize(__intVal(i), __intVal(limit))) );
     }
 %}.
     ^ nil
@@ -872,7 +872,7 @@
      && __isSmallInteger(initial)
      && __isSmallInteger(increment)
      && __isSmallInteger(safe)) {
-        RETURN ( __threadSetJunkSizes(__intVal(i), __intVal(initial), __intVal(increment), __intVal(safe)) ? true : false );
+	RETURN ( __threadSetJunkSizes(__intVal(i), __intVal(initial), __intVal(increment), __intVal(safe)) ? true : false );
     }
 %}.
     ^ false
@@ -1077,9 +1077,9 @@
     OBJ i;
 
     if (__isSmallInteger(i = __INST(id))) {
-        n = __threadNumberOfStackBoundaryHits(__intVal(i));
-        n &= _MAX_INT;
-        RETURN( __mkSmallInteger(n) );
+	n = __threadNumberOfStackBoundaryHits(__intVal(i));
+	n &= _MAX_INT;
+	RETURN( __mkSmallInteger(n) );
     }
 %}.
     ^ nil
@@ -1094,7 +1094,7 @@
     OBJ i;
 
     if (__isSmallInteger(i = __INST(id))) {
-        RETURN( __mkSmallInteger((INT)__threadStackSegments(__intVal(i))) );
+	RETURN( __mkSmallInteger((INT)__threadStackSegments(__intVal(i))) );
     }
 %}.
     ^ nil
@@ -1109,7 +1109,7 @@
     OBJ i;
 
     if (__isSmallInteger(i = __INST(id))) {
-        RETURN( __MKINT(__threadTotalStackSize(__intVal(i))) );
+	RETURN( __MKINT(__threadTotalStackSize(__intVal(i))) );
     }
 %}.
     ^ nil
@@ -1124,7 +1124,7 @@
     OBJ i;
 
     if (__isSmallInteger(i = __INST(id))) {
-        RETURN( __MKINT(__threadUsedStackSize(__intVal(i))) );
+	RETURN( __MKINT(__threadUsedStackSize(__intVal(i))) );
     }
 %}.
     ^ nil
@@ -1814,22 +1814,22 @@
 
     suspendSemaphore notNil ifTrue:[suspendSemaphore signalForAll].
     suspendActions notNil ifTrue:[
-        |savedState|
-
-        savedState := state.
-        state := #aboutToSuspend.
-        suspendActions do:[:action | action value].
-        state ~~ #aboutToSuspend ifTrue:[
-            "/ mhmh - one of the suspendActions lead to making me active again;
-            "/ bail out.
-            "/ This fixes the Semaphore was signalled, but process did not run error,
-            "/ which can happen when a process with a suspend action goes into a readWait,
-            "/ and the suspend action does a thread switch, and the readWait semaphore gets
-            "/ signalled before we come back here. Then the semaphore wakeup will have already
-            "/ place me back into the run state, so I should not go into a suspend below.
-            ^ self.
-        ].
-        state := savedState.
+	|savedState|
+
+	savedState := state.
+	state := #aboutToSuspend.
+	suspendActions do:[:action | action value].
+	state ~~ #aboutToSuspend ifTrue:[
+	    "/ mhmh - one of the suspendActions lead to making me active again;
+	    "/ bail out.
+	    "/ This fixes the Semaphore was signalled, but process did not run error,
+	    "/ which can happen when a process with a suspend action goes into a readWait,
+	    "/ and the suspend action does a thread switch, and the readWait semaphore gets
+	    "/ signalled before we come back here. Then the semaphore wakeup will have already
+	    "/ place me back into the run state, so I should not go into a suspend below.
+	    ^ self.
+	].
+	state := savedState.
     ].
 
     "
@@ -1841,7 +1841,7 @@
     (state == #active
     or:[state == #run
     or:[aStateSymbol == #stopped]]) ifTrue:[
-        state := aStateSymbol.
+	state := aStateSymbol.
     ].
     Processor suspend:self
 !
@@ -1913,26 +1913,26 @@
       the receiver itself)."
 
     id isNil ifTrue:[
-        "/ problem:
-        "/ if receiver is already dead, its id is nil.
-        "/ children are found by looking for processes with a parentID identical to
-        "/ mine - ifNil, system processes are found, which is probably not what you
-        "/ want ...
-        "/ FIX: remember the id (or dont nil it when terminating)
-        "/ requires VM changes.
-        ProcessorScheduler invalidProcessSignal
-            raiseRequestWith:self
-            errorString:'process is already dead - cannot determine child processes'.
-        ^ self
+	"/ problem:
+	"/ if receiver is already dead, its id is nil.
+	"/ children are found by looking for processes with a parentID identical to
+	"/ mine - ifNil, system processes are found, which is probably not what you
+	"/ want ...
+	"/ FIX: remember the id (or dont nil it when terminating)
+	"/ requires VM changes.
+	ProcessorScheduler invalidProcessSignal
+	    raiseRequestWith:self
+	    errorString:'process is already dead - cannot determine child processes'.
+	^ self
     ].
     ProcessorScheduler knownProcesses do:[:aProcess |
-        aProcess ~~ self ifTrue:[
-            aProcess creatorId == id ifTrue:[
-                aProcess isGUIProcess ifTrue:[
-                    aProcess terminateWithAllGUISubprocesses
-                ]
-            ]
-        ]
+	aProcess ~~ self ifTrue:[
+	    aProcess creatorId == id ifTrue:[
+		aProcess isGUIProcess ifTrue:[
+		    aProcess terminateWithAllGUISubprocesses
+		]
+	    ]
+	]
     ].
 
     "Created: / 28-10-1996 / 20:43:32 / cg"
@@ -1946,17 +1946,17 @@
       and recursively oll of their group processes.)."
 
     id isNil ifTrue:[
-        "/ problem:
-        "/ if receiver is already dead, its id is nil.
-        "/ children are found by looking for processes with a parentID identical to
-        "/ mine - ifNil, system processes are found, which is probably not what you
-        "/ want ...
-        "/ FIX: remember the id (or dont nil it when terminating)
-        "/ requires VM changes.
-        ProcessorScheduler invalidProcessSignal
-            raiseRequestWith:self
-            errorString:'process is already dead - cannot determine child processes'.
-        ^ self
+	"/ problem:
+	"/ if receiver is already dead, its id is nil.
+	"/ children are found by looking for processes with a parentID identical to
+	"/ mine - ifNil, system processes are found, which is probably not what you
+	"/ want ...
+	"/ FIX: remember the id (or dont nil it when terminating)
+	"/ requires VM changes.
+	ProcessorScheduler invalidProcessSignal
+	    raiseRequestWith:self
+	    errorString:'process is already dead - cannot determine child processes'.
+	^ self
     ].
     self terminateAllSubprocessesInGroup:id
 !
@@ -1968,11 +1968,11 @@
       and recursively oll of their group processes.)."
 
     ProcessorScheduler knownProcesses do:[:aProcess |
-        aProcess ~~ self ifTrue:[
-            (aProcess processGroupId == aGroup) ifTrue:[
-                aProcess terminateWithAllSubprocessesInGroup
-            ]
-        ]
+	aProcess ~~ self ifTrue:[
+	    (aProcess processGroupId == aGroup) ifTrue:[
+		aProcess terminateWithAllSubprocessesInGroup
+	    ]
+	]
     ].
 
     "Created: / 28.10.1996 / 20:43:32 / cg"
@@ -1984,24 +1984,24 @@
      that are in the receiver's process group."
 
     id isNil ifTrue:[
-        "/ problem:
-        "/ if receiver is already dead, its id is nil.
-        "/ children are found by looking for processes with a parentID identical to
-        "/ mine - ifNil, system processes are found, which is probably not what you
-        "/ want ...
-        "/ FIX: remember the id (or dont nil it when terminating)
-        "/ requires VM changes.
-        ProcessorScheduler invalidProcessSignal
-            raiseRequestWith:self
-            errorString:'process is already dead - cannot determine child processes'.
-        ^ self
+	"/ problem:
+	"/ if receiver is already dead, its id is nil.
+	"/ children are found by looking for processes with a parentID identical to
+	"/ mine - ifNil, system processes are found, which is probably not what you
+	"/ want ...
+	"/ FIX: remember the id (or dont nil it when terminating)
+	"/ requires VM changes.
+	ProcessorScheduler invalidProcessSignal
+	    raiseRequestWith:self
+	    errorString:'process is already dead - cannot determine child processes'.
+	^ self
     ].
     ProcessorScheduler knownProcesses do:[:aProcess |
-        aProcess ~~ self ifTrue:[
-            aProcess processGroupId == id ifTrue:[
-                aProcess terminate
-            ]
-        ]
+	aProcess ~~ self ifTrue:[
+	    aProcess processGroupId == id ifTrue:[
+		aProcess terminate
+	    ]
+	]
     ].
     self terminate
 !
@@ -2041,29 +2041,29 @@
       the receiver itself)."
 
     id isNil ifTrue:[
-        "/ problem:
-        "/ if receiver is already dead, its id is nil.
-        "/ children are found by looking for processes with a parentID identical to
-        "/ mine - ifNil, system processes are found, which is probably not what you
-        "/ want ...
-        "/ FIX: remember the id (or dont nil it when terminating)
-        "/ requires VM changes.
-        ProcessorScheduler invalidProcessSignal
-            raiseRequestWith:self
-            errorString:'process is already dead - cannot determine child processes'.
-        ^ self
+	"/ problem:
+	"/ if receiver is already dead, its id is nil.
+	"/ children are found by looking for processes with a parentID identical to
+	"/ mine - ifNil, system processes are found, which is probably not what you
+	"/ want ...
+	"/ FIX: remember the id (or dont nil it when terminating)
+	"/ requires VM changes.
+	ProcessorScheduler invalidProcessSignal
+	    raiseRequestWith:self
+	    errorString:'process is already dead - cannot determine child processes'.
+	^ self
     ].
     processGroupId == 0 ifTrue:[
-        ProcessorScheduler invalidProcessSignal
-            raiseWith:self errorString:'trying to terminate the system process group'.
+	ProcessorScheduler invalidProcessSignal
+	    raiseWith:self errorString:'trying to terminate the system process group'.
     ].
     ProcessorScheduler knownProcesses do:[:aProcess |
-        aProcess ~~ self ifTrue:[
-            (aProcess processGroupId == processGroupId
-            or:[aProcess processGroupId == id]) ifTrue:[
-                aProcess terminate
-            ]
-        ]
+	aProcess ~~ self ifTrue:[
+	    (aProcess processGroupId == processGroupId
+	    or:[aProcess processGroupId == id]) ifTrue:[
+		aProcess terminate
+	    ]
+	]
     ].
 
     "Created: 28.10.1996 / 20:41:49 / cg"
@@ -2145,7 +2145,7 @@
     ^ aValue
 !
 
-environmentIncludesKey:aKey 
+environmentIncludesKey:aKey
     "true if there is a thread local variable, false if no such variable exists"
 
     environment isNil ifTrue:[^ false].
@@ -2156,23 +2156,23 @@
     "the processes stderr.
      By default, this is Stderr, but it can be overwritten
      (for example to redirect a thread's error output to some other place"
-     
+
     ^ self environmentAt:#Stderr ifAbsent:Stderr
 
     "
      Processor activeProcess stdout
     "
-    
+
     "
      |out sema|
-     
+
      out := WriteStream on:''.
      sema := Semaphore new.
      [
-        Processor activeProcess environmentAt:#Stdout put:out.
-        'hello world' printCR.
-        sema signal.
-     ] fork. 
+	Processor activeProcess environmentAt:#Stdout put:out.
+	'hello world' printCR.
+	sema signal.
+     ] fork.
      sema wait.
      Transcript showCR:('output was: ''',out contents,'''').
     "
@@ -2182,7 +2182,7 @@
     "the processes stdin.
      By default, this is Stdin, but it can be overwritten
      (for example to redirect a thread's input from some other place"
-     
+
     ^ self environmentAt:#Stdin ifAbsent:Stdin
 !
 
@@ -2190,7 +2190,7 @@
     "the processes stdout.
      By default, this is Stdout, but it can be overwritten
      (for example to redirect a thread's output to some other place"
-     
+
     ^ self environmentAt:#Stdout ifAbsent:Stdout
 !
 
@@ -2208,7 +2208,7 @@
     "the processes transcript.
      By default, this is Transcript, but it can be overwritten
      (for example to redirect a thread's output to some other place"
-     
+
     ^ self environmentAt:#Transcript ifAbsent:[Transcript]
 !
 
@@ -2221,10 +2221,10 @@
     oldEnv := environment.
 
     [
-        environment := aDictionary.
-        result := aBlock value.
+	environment := aDictionary.
+	result := aBlock value.
     ] ensure:[
-        environment := oldEnv.
+	environment := oldEnv.
     ].
     ^ result
 !
--- a/ShortFloat.st	Tue May 17 00:56:14 2016 +0200
+++ b/ShortFloat.st	Tue May 17 02:04:25 2016 +0200
@@ -45,29 +45,29 @@
  extern errno;
 #endif
 
-#if !defined (WIN32)
+#if !defined (__win32__)
 # include <locale.h>
 #endif
 
-#if defined (_AIX)
+#if defined (__aix__)
 # include <float.h>
 #endif
 
-#if defined(IRIX)
+#if defined(__irix__)
 # include <nan.h>
 #endif
 
-#if defined(LINUX)
+#if defined(__linux__)
 # ifndef NAN
 #  include <bits/nan.h>
 # endif
 #endif
 
-#if defined(solaris) || defined(sunos)
+#if defined(__solaris__) || defined(__sunos__)
 # include <nan.h>
 #endif
 
-#ifdef WIN32
+#ifdef __win32__
 /*
  * no finite(x) ?
  * no isnan(x) ?
@@ -136,15 +136,15 @@
 #  include <string.h>
 # endif
 
-#endif /* WIN32 */
+#endif /* __win32__ */
 
-#ifdef solaris
+#ifdef __solaris__
 # ifndef isfinite
 #  define isfinite(f) finite((double)(f))
 # endif
 #endif
 
-#ifdef realIX
+#ifdef __realIX__
 # ifndef isfinite
 #  define isfinite(x)     1
 # endif
@@ -408,14 +408,14 @@
     self isIEEEFormat ifFalse:[self error:'unsupported operation'].
 
     (UninterpretedBytes isBigEndian == msb) ifFalse:[
-        "swap the bytes"
-        4 to:1 by:-1 do:[:i |
-            aBasicNewShortFloat basicAt:i put:(aStream next)
-        ].
-        ^ self
+	"swap the bytes"
+	4 to:1 by:-1 do:[:i |
+	    aBasicNewShortFloat basicAt:i put:(aStream next)
+	].
+	^ self
     ].
     1 to:4 do:[:i |
-        aBasicNewShortFloat basicAt:i put:aStream next
+	aBasicNewShortFloat basicAt:i put:aStream next
     ]
 
     "not part of libboss, as this is also used by others (TIFFReader)"
@@ -866,7 +866,7 @@
     float fVal;
 
     fVal = __shortFloatVal(self);
-#ifdef WIN32
+#ifdef __win32__
     if (! isnanf(fVal))
 #endif
     {
--- a/SmallInteger.st	Tue May 17 00:56:14 2016 +0200
+++ b/SmallInteger.st	Tue May 17 02:04:25 2016 +0200
@@ -46,8 +46,8 @@
 "
     SmallIntegers are Integers in the range of at least +/- 2^30
     i.e. 31 bits, but this is not a guaranteed:
-        on an alpha or x86_64, 63 bits are used, if the system was configured for 64bit mode.
-        under the Schteam-VM, 64 bits are used (i.e. a full long integer)
+	on an alpha or x86_64, 63 bits are used, if the system was configured for 64bit mode.
+	under the Schteam-VM, 64 bits are used (i.e. a full long integer)
 
     These are no real objects - they have no instances (not even storage !!)
     and cannot be subclassed.
@@ -62,12 +62,12 @@
     with an instance variable holding the value.
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 
     [see also:]
-        Number
-        Float Fraction FixedPoint
-        LargeInteger
+	Number
+	Float Fraction FixedPoint
+	LargeInteger
 "
 ! !
 
@@ -297,14 +297,14 @@
 		: "%0"  ((unsigned long)(myValue)),
 		  "dmi" ((unsigned long)(otherValue)));
 #  else
-#   if defined (__GNUC__) && defined(__i386__)
+#   if defined (__GNUC__) && defined(__x86__)
 	asm ("mull %3"
 		: "=a"  ((unsigned long)(productLow)),
 		  "=d"  ((unsigned long)(productHi))
 		: "%0"  ((unsigned long)(myValue)),
 		  "rm"  ((unsigned long)(otherValue)));
 #   else
-#    if defined(WIN32) && defined(__BORLANDC__)
+#    if defined(__win32__) && defined(__BORLANDC__)
 	asm {
 	    mov   eax, myValue
 	    mov   edx, otherValue
@@ -374,8 +374,8 @@
 	    productHi = pHH + hi16Bits(t) + hi16Bits(pHL) + hi16Bits(pLH);
 #     endif
 	}
-#    endif /* ! WIN32 */
-#   endif /* ! (__GNUC__ && __i386__) */
+#    endif /* ! __win32__ */
+#   endif /* ! (__GNUC__ && __x86__) */
 #  endif /* ! (__GNUC__ && __mc68k__) */
 
 	if (productHi == 0) {
@@ -1406,9 +1406,9 @@
     "return the value of the receiver shifted by shiftCount bits;
      leftShift if shiftCount > 0; rightShift otherwise.
      Notice: the result of bitShift: on negative receivers is not
-             defined in the language standard (since the implementation
-             is free to choose any internal representation for integers).
-             However, ST/X preserves the sign."
+	     defined in the language standard (since the implementation
+	     is free to choose any internal representation for integers).
+	     However, ST/X preserves the sign."
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
@@ -1417,80 +1417,80 @@
     INT bits, count;
 
     if (__isSmallInteger(shiftCount)) {
-        bits = __intVal(self);
-        if (bits == 0) {
-            RETURN (self);
-        }
-        count = __intVal(shiftCount);
-
-        if (count > 0) {
-            INT sign = 1;
-            if (bits < 0) {
-                bits = -bits;
-                sign = -1;
-            }
-            /*
-             * a left shift
-             */
+	bits = __intVal(self);
+	if (bits == 0) {
+	    RETURN (self);
+	}
+	count = __intVal(shiftCount);
+
+	if (count > 0) {
+	    INT sign = 1;
+	    if (bits < 0) {
+		bits = -bits;
+		sign = -1;
+	    }
+	    /*
+	     * a left shift
+	     */
 # if defined(USE_LONGLONG_FOR_SHIFT)
-            if (count <= N_INT_BITS) {
-                unsigned LONGLONG result;
-
-                result = (unsigned LONGLONG)bits;
-                result <<= count;
-                if (result <= _MAX_INT) {
-                    if (sign < 0) {
-                        RETURN ( __MKINT(-result) );
-                    }
-                    RETURN ( __mkSmallInteger(result) );
-                }
-                {
-                    RETURN (__MKLARGEINT64(sign, (INT)(result >> 32), (INT)(result & 0xFFFFFFFF)));
-                }
-            }
+	    if (count <= N_INT_BITS) {
+		unsigned LONGLONG result;
+
+		result = (unsigned LONGLONG)bits;
+		result <<= count;
+		if (result <= _MAX_INT) {
+		    if (sign < 0) {
+			RETURN ( __MKINT(-result) );
+		    }
+		    RETURN ( __mkSmallInteger(result) );
+		}
+		{
+		    RETURN (__MKLARGEINT64(sign, (INT)(result >> 32), (INT)(result & 0xFFFFFFFF)));
+		}
+	    }
 # else
-            /*
-             * check for overflow
-             */
-            if (count < (N_INT_BITS-1)) {
-                if (! (bits >> (N_INT_BITS - 1 - count))) {
-                    INT result = bits << count;
-                    
-                    if (sign < 0) {
-                        RETURN ( __MKINT(-result) );
-                    }
-                    RETURN ( __mkSmallInteger(result) );
-                }
-                /*
-                 * so, there is an overflow ...
-                 * handle it as largeInteger
-                 */
-                /* FALL THROUGH */
-            }
+	    /*
+	     * check for overflow
+	     */
+	    if (count < (N_INT_BITS-1)) {
+		if (! (bits >> (N_INT_BITS - 1 - count))) {
+		    INT result = bits << count;
+
+		    if (sign < 0) {
+			RETURN ( __MKINT(-result) );
+		    }
+		    RETURN ( __mkSmallInteger(result) );
+		}
+		/*
+		 * so, there is an overflow ...
+		 * handle it as largeInteger
+		 */
+		/* FALL THROUGH */
+	    }
 # endif
-        } else {
-            if (count == 0) {
-                RETURN (self);
-            }
-
-            /*
-             * right shifts cannot overflow
-             *
-             * some machines ignore shifts bigger than
-             * the number of bits in an int ...
-             */
-            count = -count;
-            if (count > (N_INT_BITS-1)) {
-                RETURN (__mkSmallInteger(0));
-            }
-
-            RETURN ( __mkSmallInteger(bits >> count) );
-        }
+	} else {
+	    if (count == 0) {
+		RETURN (self);
+	    }
+
+	    /*
+	     * right shifts cannot overflow
+	     *
+	     * some machines ignore shifts bigger than
+	     * the number of bits in an int ...
+	     */
+	    count = -count;
+	    if (count > (N_INT_BITS-1)) {
+		RETURN (__mkSmallInteger(0));
+	    }
+
+	    RETURN ( __mkSmallInteger(bits >> count) );
+	}
     }
 #endif /* not __SCHTEAM__ */
 %}.
     (shiftCount isMemberOf:SmallInteger) ifTrue:[
-        ^ (LargeInteger value:self) bitShift:shiftCount
+	^ (LargeInteger value:self) bitShift:shiftCount
     ].
     ^ self bitShift:shiftCount asInteger   "/ is this a good idea ?
 !
@@ -1546,38 +1546,38 @@
 !
 
 highBit
-    "return the bitIndex of the highest bit set. 
+    "return the bitIndex of the highest bit set.
      The returned bitIndex starts at 1 for the least significant bit.
      Returns 0 if no bit is set."
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     {
-        long bits = self.longValue();
-        int bitNr = 0;
-
-        if (bits != 0) {
-            if ((bits & 0xFFFFFFFF00000000L) != 0) {
-                bitNr += 32; bits >>= 32;
-            }
-            if ((bits & 0xFFFF0000L) != 0) {
-                bitNr += 16; bits >>= 16;
-            }
-            if ((bits & 0xFF00) != 0) {
-                bitNr += 8; bits >>= 8;
-            }
-            if ((bits & 0xF0) != 0) {
-                bitNr += 4; bits >>= 4;
-            }
-            if ((bits & 0xC) != 0) {
-                bitNr += 2; bits >>= 2;
-            }
-            if ((bits & 0x2) != 0) {
-                bitNr += 1; bits >>= 1;
-            }
-            bitNr += 1;
-        }
-        return context._RETURN( STInteger._new(bitNr) );
+	long bits = self.longValue();
+	int bitNr = 0;
+
+	if (bits != 0) {
+	    if ((bits & 0xFFFFFFFF00000000L) != 0) {
+		bitNr += 32; bits >>= 32;
+	    }
+	    if ((bits & 0xFFFF0000L) != 0) {
+		bitNr += 16; bits >>= 16;
+	    }
+	    if ((bits & 0xFF00) != 0) {
+		bitNr += 8; bits >>= 8;
+	    }
+	    if ((bits & 0xF0) != 0) {
+		bitNr += 4; bits >>= 4;
+	    }
+	    if ((bits & 0xC) != 0) {
+		bitNr += 2; bits >>= 2;
+	    }
+	    if ((bits & 0x2) != 0) {
+		bitNr += 1; bits >>= 1;
+	    }
+	    bitNr += 1;
+	}
+	return context._RETURN( STInteger._new(bitNr) );
     }
     /* NOTREACHED */
 #else
@@ -1586,7 +1586,7 @@
 
     bits = __intVal(self);
     if (bits == 0) {
-        RETURN ( __mkSmallInteger(0) );
+	RETURN ( __mkSmallInteger(0) );
     }
 
 # ifdef __BSR
@@ -1602,23 +1602,23 @@
 
 #  if __POINTER_SIZE__ == 8
     if (bits & 0xFFFFFFFF00000000L) {
-        index += 32; bits >>= 32;
+	index += 32; bits >>= 32;
     }
 #  endif
     if (bits & 0xFFFF0000L) {
-        index += 16; bits >>= 16;
+	index += 16; bits >>= 16;
     }
     if (bits & 0xFF00) {
-        index += 8; bits >>= 8;
+	index += 8; bits >>= 8;
     }
     if (bits & 0xF0) {
-        index += 4; bits >>= 4;
+	index += 4; bits >>= 4;
     }
     if (bits & 0xC) {
-        index += 2; bits >>= 2;
+	index += 2; bits >>= 2;
     }
     if (bits & 0x2) {
-        index += 1; bits >>= 1;
+	index += 1; bits >>= 1;
     }
 # endif /* no BSR instruction */
 
@@ -1636,38 +1636,38 @@
      2r100000000000 highBit
 
      ((0 to:64) collect:[:s | 1 bitShift:s])
-        collect:[:n | n highBit]
+	collect:[:n | n highBit]
 
      (((0 to:64) collect:[:s | 1 bitShift:s])
-        collect:[:n | n highBit]) = (1 to:65)
+	collect:[:n | n highBit]) = (1 to:65)
     "
 
     "
      Time millisecondsToRun:[
-        1000000 timesRepeat:[
-            2r1 highBit
-        ]
+	1000000 timesRepeat:[
+	    2r1 highBit
+	]
      ]
     "
     "
      Time millisecondsToRun:[
-        1000000 timesRepeat:[
-            2r1111 highBit
-        ]
+	1000000 timesRepeat:[
+	    2r1111 highBit
+	]
      ]
     "
     "
      Time millisecondsToRun:[
-        1000000 timesRepeat:[
-            2r11111111111111 highBit
-        ]
+	1000000 timesRepeat:[
+	    2r11111111111111 highBit
+	]
      ]
     "
     "
      Time millisecondsToRun:[
-        1000000 timesRepeat:[
-            2r11111111111111111111111111 highBit
-        ]
+	1000000 timesRepeat:[
+	    2r11111111111111111111111111 highBit
+	]
      ]
     "
 
@@ -2166,7 +2166,7 @@
 # if __POINTER_SIZE__ == 8
     v &= 0xFFFFFFFF;
 
-#  if defined(__x86_64__) && defined(__GNUC__) && !defined(__clang__)
+#  if defined(__x86_64__) && defined(__GNUC__) && !defined(__CLANG__)
 #   define HAVE_BSWAP
 
     asm("movq %1, %%rax \n\
@@ -2623,21 +2623,21 @@
 
     if (val < 0) val = -val;
     if ((val & 0xFFFFFFFF00000000L) != 0) {
-        val >>= 32;
-        offs = 4;
+	val >>= 32;
+	offs = 4;
     }
     if ((val & 0xFFFF0000) != 0) {
-        if ((val & 0xFF000000) != 0) {
-            offs += 4;
-        } else {
-            offs += 3;
-        }
+	if ((val & 0xFF000000) != 0) {
+	    offs += 4;
+	} else {
+	    offs += 3;
+	}
     } else {
-        if ((val & 0x0000FF00)!= 0) {
-            offs += 2;
-        } else {
-            offs += 1;
-        }
+	if ((val & 0x0000FF00)!= 0) {
+	    offs += 2;
+	} else {
+	    offs += 1;
+	}
     }
     return __c__._RETURN( STInteger._qnew(offs) );
 #else
@@ -2645,27 +2645,27 @@
     int offs = 0;
 
     if (val < 0) {
-        val = -val;
+	val = -val;
     }
 # if __POINTER_SIZE__ == 8
     if (val & 0xFFFFFFFF00000000L) {
-        val >>= 32;
-        offs = 4;
+	val >>= 32;
+	offs = 4;
     }
 # endif
 
     if (val & 0xFFFF0000) {
-        if (val & 0xFF000000) {
-            RETURN ( __mkSmallInteger(4+offs));
-        } else {
-            RETURN ( __mkSmallInteger(3+offs));
-        }
+	if (val & 0xFF000000) {
+	    RETURN ( __mkSmallInteger(4+offs));
+	} else {
+	    RETURN ( __mkSmallInteger(3+offs));
+	}
     } else {
-        if (val & 0x0000FF00) {
-            RETURN ( __mkSmallInteger(2+offs));
-        } else {
-            RETURN ( __mkSmallInteger(1+offs));
-        }
+	if (val & 0x0000FF00) {
+	    RETURN ( __mkSmallInteger(2+offs));
+	} else {
+	    RETURN ( __mkSmallInteger(1+offs));
+	}
     }
 #endif /* not SCHTEAM */
 %}.
@@ -4776,14 +4776,14 @@
 		: "%0"  ((unsigned long)(myValue)),
 		  "dmi" ((unsigned long)(otherValue)));
 #  else
-#   if defined (__GNUC__) && defined(__i386__)
+#   if defined (__GNUC__) && defined(__x86__)
 	asm ("mull %3"
 		: "=a"  ((unsigned long)(productLow)),
 		  "=d"  ((unsigned long)(productHi))
 		: "%0"  ((unsigned long)(myValue)),
 		  "rm"  ((unsigned long)(otherValue)));
 #   else
-#    if defined(WIN32) && defined(__BORLANDC__)
+#    if defined(__win32__) && defined(__BORLANDC__)
 	asm {
 	    mov   eax, myValue
 	    mov   edx, otherValue
@@ -4853,8 +4853,8 @@
 	    productHi = pHH + hi16Bits(t) + hi16Bits(pHL) + hi16Bits(pLH);
 #     endif
 	}
-#    endif /* ! WIN32 */
-#   endif /* ! (__GNUC__ && __i386__) */
+#    endif /* ! __win32__ */
+#   endif /* ! (__GNUC__ && __x86__) */
 #  endif /* ! (__GNUC__ && __mc68k__) */
 
 	if (negative < 0) {
--- a/String.st	Tue May 17 00:56:14 2016 +0200
+++ b/String.st	Tue May 17 02:04:25 2016 +0200
@@ -48,7 +48,7 @@
 #define INITIALIZE_WITH_SPACE
 
 #ifdef FAST_MEMCHR
-// # if !defined(__osx__) && !defined(WIN32)
+// # if !defined(__osx__) && !defined(__win32__)
 // extern void *memchr();
 // # endif
 #endif
@@ -1449,97 +1449,97 @@
 %{  /* NOCONTEXT */
 
     if (__isSmallInteger(start)) {
-        REGISTER unsigned char *cp;
-        int len, index;
-        OBJ cls;
-
-        index = __intVal(start)-1;
-        // is this a good idea?
-        if (index < 0) {
-            index = 0;
-        }
-        len = __stringSize(self);
-        cp = __stringVal(self);
-
-        // care for subclasses of string
-        if ((cls = __qClass(self)) != String) {
-            int numInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-
-            cp += numInstBytes;
-            len -= numInstBytes;
-        }
-
-        // these pre-loops do fast skip over non-separators
-        // (anything above 0x32)
+	REGISTER unsigned char *cp;
+	int len, index;
+	OBJ cls;
+
+	index = __intVal(start)-1;
+	// is this a good idea?
+	if (index < 0) {
+	    index = 0;
+	}
+	len = __stringSize(self);
+	cp = __stringVal(self);
+
+	// care for subclasses of string
+	if ((cls = __qClass(self)) != String) {
+	    int numInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
+
+	    cp += numInstBytes;
+	    len -= numInstBytes;
+	}
+
+	// these pre-loops do fast skip over non-separators
+	// (anything above 0x32)
 #if __POINTER_SIZE__ == 8
-        if ((index & 7) == 0) {
-            int len8 = len-8;
-            while (index < len8) {
-                REGISTER unsigned INT eightChars;
-                REGISTER unsigned INT eightCharsMasked;
-
-                eightChars = ((unsigned INT *)(cp+index))[0];
-                eightCharsMasked = eightChars & 0xE0E0E0E0E0E0E0E0ULL;
-
-                // any control char?
-                // (these are 0..31 and also the space);
-                // so we need two compares.
+	if ((index & 7) == 0) {
+	    int len8 = len-8;
+	    while (index < len8) {
+		REGISTER unsigned INT eightChars;
+		REGISTER unsigned INT eightCharsMasked;
+
+		eightChars = ((unsigned INT *)(cp+index))[0];
+		eightCharsMasked = eightChars & 0xE0E0E0E0E0E0E0E0ULL;
+
+		// any control char?
+		// (these are 0..31 and also the space);
+		// so we need two compares.
 #               define hasZeroByte(v) (((v) - 0x0101010101010101ULL) & ~(v) & 0x8080808080808080ULL)
 #               define hasByteM(v,m)   hasZeroByte( (v) ^ m)
 #               define maskSpace       (~0ULL/255 * (32))
 
-                if (hasByteM(eightChars, maskSpace)) break;
-                if (hasZeroByte(eightCharsMasked)) break;
+		if (hasByteM(eightChars, maskSpace)) break;
+		if (hasZeroByte(eightCharsMasked)) break;
 
 #               undef hasZeroByte
 #               undef hasByteM
 #               undef maskSpace
 
-                index += 8;
-            }
-        }
+		index += 8;
+	    }
+	}
 #endif /* POINTER_SIZE == 8*/
 
-        if ((index & 3) == 0) {
-            int len4 = len-4;
-            while (index < len4) {
-                REGISTER unsigned int fourChars;
-                REGISTER unsigned int fourCharsMasked;
-
-                fourChars = ((unsigned int *)(cp+index))[0];
-                fourCharsMasked = fourChars & 0xE0E0E0E0UL;
-
-                // any control char?
-                // (these are 0..31 and also the space);
-                // so we need two compares.
+	if ((index & 3) == 0) {
+	    int len4 = len-4;
+	    while (index < len4) {
+		REGISTER unsigned int fourChars;
+		REGISTER unsigned int fourCharsMasked;
+
+		fourChars = ((unsigned int *)(cp+index))[0];
+		fourCharsMasked = fourChars & 0xE0E0E0E0UL;
+
+		// any control char?
+		// (these are 0..31 and also the space);
+		// so we need two compares.
 #               define hasZeroByte(v) (((v) - 0x01010101UL) & ~(v) & 0x80808080UL)
 #               define hasByteM(v,m)   hasZeroByte( (v) ^ m)
 #               define maskSpace       (~0UL/255 * (32))
 
-                if (hasByteM(fourChars, maskSpace)) break;
-                if (hasZeroByte(fourCharsMasked)) break;
+		if (hasByteM(fourChars, maskSpace)) break;
+		if (hasZeroByte(fourCharsMasked)) break;
 
 #               undef hasZeroByte
 #               undef hasByteM
 #               undef maskSpace
 
-                index += 4;
-            }
-        }
-
-        while (index < len) {
-            REGISTER unsigned char c;
-
-            c = cp[index];
-            if (c <= ' ') {
-                if ((c == ' ') || (c == '\t') || (c == '\n')
-                 || (c == '\r') || (c == '\f')) {
-                    RETURN ( __mkSmallInteger(index+1) );
-                }
-            }
-            index++;
-        }
-        RETURN ( __mkSmallInteger(0) );
+		index += 4;
+	    }
+	}
+
+	while (index < len) {
+	    REGISTER unsigned char c;
+
+	    c = cp[index];
+	    if (c <= ' ') {
+		if ((c == ' ') || (c == '\t') || (c == '\n')
+		 || (c == '\r') || (c == '\f')) {
+		    RETURN ( __mkSmallInteger(index+1) );
+		}
+	    }
+	    index++;
+	}
+	RETURN ( __mkSmallInteger(0) );
     }
 %}.
     ^ super indexOfSeparatorStartingAt:start
@@ -1557,7 +1557,7 @@
      s := String new:1000 withAll:$a.
      self assert:(s indexOfSeparatorStartingAt:1) == 0.
      Time millisecondsToRun:[
-         1000000 timesRepeat:[ s indexOfSeparatorStartingAt:1 ]
+	 1000000 timesRepeat:[ s indexOfSeparatorStartingAt:1 ]
      ]
      original (char-wise):760 760 750
      with 4-byte at a time: 640 650 620
@@ -1569,7 +1569,7 @@
      s at:400 put:(Character return).
      self assert:(s indexOfSeparatorStartingAt:1) == 400.
      Time millisecondsToRun:[
-         1000000 timesRepeat:[ s indexOfSeparatorStartingAt:1 ]
+	 1000000 timesRepeat:[ s indexOfSeparatorStartingAt:1 ]
      ]
      original (char-wise):340 350
      with 4-byte at a time: 310 290 280
@@ -1581,7 +1581,7 @@
      s at:999 put:(Character space).
      self assert:(s indexOfSeparatorStartingAt:1) == 999.
      Time millisecondsToRun:[
-         1000000 timesRepeat:[ s indexOfSeparatorStartingAt:1 ]
+	 1000000 timesRepeat:[ s indexOfSeparatorStartingAt:1 ]
      ]
      original (char-wise): 750 750 790
      with 4-byte at a time: 640 640 620