extra filename arg to __dumpObject__
authorClaus Gittinger <cg@exept.de>
Wed, 19 Dec 2018 15:03:07 +0100
changeset 23571 4aa9bc1a2076
parent 23570 d1014cb93286
child 23572 75f7f0f297a2
extra filename arg to __dumpObject__
CompiledCode.st
Object.st
ObjectMemory.st
ProcessorScheduler.st
WeakArray.st
--- a/CompiledCode.st	Wed Dec 19 11:18:10 2018 +0100
+++ b/CompiledCode.st	Wed Dec 19 15:03:07 2018 +0100
@@ -61,7 +61,7 @@
     [Class variables:]
 
       NoByteCodeSignal              raised if a codeObject is about to be executed
-                                    which has neither code nor byteCode (i.e. both are nil)
+				    which has neither code nor byteCode (i.e. both are nil)
       InvalidByteCodeSignal         raised if byteCode is not an instance of ByteArray
       InvalidInstructionSignal      raised if an invalid instruction opcode is encountered
       BadLiteralsSignal             raised if literalArray is not an array
@@ -73,7 +73,7 @@
     NOTICE: layout known by runtime system and compiler - do not change
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 "
 ! !
 
@@ -1069,11 +1069,11 @@
      YOU HAVE BEEN WARNED."
 
     ^ self
-        valueWithReceiver:anObject
-        arguments:argArray
-        selector:nil
-        search:nil
-        sender:nil
+	valueWithReceiver:anObject
+	arguments:argArray
+	selector:nil
+	search:nil
+	sender:nil
 
     "Modified: / 04-04-1997 / 23:33:56 / cg"
     "Created: / 30-07-1997 / 12:04:52 / cg"
@@ -1097,11 +1097,11 @@
      YOU HAVE BEEN WARNED."
 
     ^ self
-        valueWithReceiver:anObject
-        arguments:argArray
-        selector:aSymbol
-        search:nil
-        sender:nil
+	valueWithReceiver:anObject
+	arguments:argArray
+	selector:aSymbol
+	search:nil
+	sender:nil
 
     "Modified: / 04-04-1997 / 23:34:08 / cg"
     "Created: / 30-07-1997 / 12:04:49 / cg"
@@ -1125,11 +1125,11 @@
      YOU HAVE BEEN WARNED."
 
     ^ self
-        valueWithReceiver:anObject
-        arguments:argArray
-        selector:aSymbol
-        search:nil
-        sender:nil
+	valueWithReceiver:anObject
+	arguments:argArray
+	selector:aSymbol
+	search:nil
+	sender:nil
 
     "Modified: / 04-04-1997 / 23:34:19 / cg"
     "Created: / 30-07-1997 / 12:04:46 / cg"
@@ -1406,9 +1406,9 @@
 		  printf("code now: %x\n", __MethodInstPtr(self)->m_code);
 	      }
 	      printf("context before:\n");
-	      __dumpObject__(sav, __LINE__);
+	      __dumpObject__(sav, __LINE__,__FILE__);
 	      printf("context now:\n");
-	      __dumpObject__(__thisContext, __LINE__);
+	      __dumpObject__(__thisContext, __LINE__,__FILE__);
 	  }
 # endif
 	  RETURN (rslt);
@@ -1597,8 +1597,8 @@
 flags:newFlags
     "set the flags (number of method variables, stacksize).
      WARNING: for internal use by the compiler only.
-              playing around here with incorrect values
-              may crash smalltalk badly.
+	      playing around here with incorrect values
+	      may crash smalltalk badly.
 
      Don't depend on the values in the flag field - its interpretations
      may change without notice."
@@ -1606,7 +1606,7 @@
     "/ protect myself a bit - putting in an object would crash me ...
 
     (newFlags isMemberOf:SmallInteger) ifTrue:[
-        flags := newFlags
+	flags := newFlags
     ]
 
     "Modified: 8.3.1996 / 13:26:05 / cg"
@@ -1960,8 +1960,8 @@
 
     lit := aLiteral.
     aLiteral isAssociation ifTrue:[
-        "/ for ST80 compatibility (where variableBindings are used...)
-        lit := lit key
+	"/ for ST80 compatibility (where variableBindings are used...)
+	lit := lit key
     ].
     ^ (self literalsDetect:[:mthdLit| mthdLit == lit] ifNone:[nil]) notNil.
 
@@ -1980,10 +1980,10 @@
      refers to aLiteral (i.e. a deep search)"
 
     self literalsDo: [ :el |
-        el == aLiteral ifTrue:[^true].
-        el isArray ifTrue:[
-            (el refersToLiteral: aLiteral) ifTrue: [^true]
-        ]
+	el == aLiteral ifTrue:[^true].
+	el isArray ifTrue:[
+	    (el refersToLiteral: aLiteral) ifTrue: [^true]
+	]
     ].
     ^ false
 
@@ -2001,10 +2001,10 @@
      is symbolic and matches aMatchPattern (i.e. a deep search)"
 
     self literalsDo: [ :el |
-        (el isSymbol and:[ aMatchPattern match: el]) ifTrue:[^true].
-        el isArray ifTrue:[
-            (el refersToLiteralMatching: aMatchPattern) ifTrue: [^true]
-        ]
+	(el isSymbol and:[ aMatchPattern match: el]) ifTrue:[^true].
+	el isArray ifTrue:[
+	    (el refersToLiteralMatching: aMatchPattern) ifTrue: [^true]
+	]
     ].
     ^ false
 
@@ -2031,4 +2031,3 @@
 version_SVN
     ^ '$ Id: CompiledCode.st 10643 2011-06-08 21:53:07Z vranyj1  $'
 ! !
-
--- a/Object.st	Wed Dec 19 11:18:10 2018 +0100
+++ b/Object.st	Wed Dec 19 15:03:07 2018 +0100
@@ -2,7 +2,7 @@
 
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -39,7 +39,7 @@
 copyright
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -123,52 +123,52 @@
 
    [Class variables:]
 
-        ErrorSignal     <Signal>        Signal raised for error/error: messages
-                                        also, parent of all other signals.
-
-        HaltSignal      <Signal>        Signal raised for halt/halt: messages
-
-        MessageNotUnderstoodSignal      Signals raised for various error conditions
-        UserInterruptSignal
-        RecursionInterruptSignal
-        ExceptionInterruptSignal
-        SubscriptOutOfBoundsSignal
-        NonIntegerIndexSignal
-        NotFoundSignal
-        KeyNotFoundSignal
-        ElementOutOfBoundsSignal
-        InformationSignal
-        WarningSignal
-        DeepCopyErrorSignal
-        InternalErrorSignal
-
-        AbortSignal      <Signal>       Signal raised by debugger, to abort a computation
-                                        BUT, the debugger will only raise it if it is handled.
-                                        By handling the abortSignal, you can control where the
-                                        debuggers abort-function resumes execution in case of
-                                        an error.
-
-        ErrorRecursion   <Boolean>      controls behavior when recursive errors occur (i.e.
-                                        an error while handling an error).
-
-        Dependencies     <WeakDependencyDictionary>
-                                        keeps track of object dependencies.
-
-        InfoPrinting     <Boolean>      controls weather informational messages
-                                        are printed.
-
-        ActivityNotificationSignal <QuerySignal>
-                                         raised on #activityNotification:
-
-        NonWeakDependencies <Dictionary> keeps track of object dependencies.
-                                         Dependents stay alive.
-
-        SynchronizationSemaphores <WeakIdentityDictionary>
-                                         Semaphores for per-object-monitor.
+	ErrorSignal     <Signal>        Signal raised for error/error: messages
+					also, parent of all other signals.
+
+	HaltSignal      <Signal>        Signal raised for halt/halt: messages
+
+	MessageNotUnderstoodSignal      Signals raised for various error conditions
+	UserInterruptSignal
+	RecursionInterruptSignal
+	ExceptionInterruptSignal
+	SubscriptOutOfBoundsSignal
+	NonIntegerIndexSignal
+	NotFoundSignal
+	KeyNotFoundSignal
+	ElementOutOfBoundsSignal
+	InformationSignal
+	WarningSignal
+	DeepCopyErrorSignal
+	InternalErrorSignal
+
+	AbortSignal      <Signal>       Signal raised by debugger, to abort a computation
+					BUT, the debugger will only raise it if it is handled.
+					By handling the abortSignal, you can control where the
+					debuggers abort-function resumes execution in case of
+					an error.
+
+	ErrorRecursion   <Boolean>      controls behavior when recursive errors occur (i.e.
+					an error while handling an error).
+
+	Dependencies     <WeakDependencyDictionary>
+					keeps track of object dependencies.
+
+	InfoPrinting     <Boolean>      controls weather informational messages
+					are printed.
+
+	ActivityNotificationSignal <QuerySignal>
+					 raised on #activityNotification:
+
+	NonWeakDependencies <Dictionary> keeps track of object dependencies.
+					 Dependents stay alive.
+
+	SynchronizationSemaphores <WeakIdentityDictionary>
+					 Semaphores for per-object-monitor.
 
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 
 "
 ! !
@@ -227,25 +227,25 @@
     "called only once - initialize signals"
 
     ErrorSignal isNil ifTrue:[
-        self initSignals.
-        ErrorRecursion := true.
+	self initSignals.
+	ErrorRecursion := true.
     ].
 
     ObjectAttributes isNil ifTrue:[
-        ObjectAttributes := WeakIdentityDictionary new.
-        ObjectAttributesAccessLock := RecursionLock new.
+	ObjectAttributes := WeakIdentityDictionary new.
+	ObjectAttributesAccessLock := RecursionLock new.
     ].
     Dependencies isNil ifTrue:[
-        Dependencies := WeakDependencyDictionary new.
+	Dependencies := WeakDependencyDictionary new.
     ].
     NonWeakDependencies isNil ifTrue:[
-        NonWeakDependencies := IdentityDictionary new.
+	NonWeakDependencies := IdentityDictionary new.
     ].
     SynchronizationSemaphores isNil ifTrue:[
-        SynchronizationSemaphores := WeakIdentityDictionary new.
+	SynchronizationSemaphores := WeakIdentityDictionary new.
     ].
     FinalizationLobby isNil ifTrue:[
-        FinalizationLobby := Registry new.
+	FinalizationLobby := Registry new.
     ].
 
     "/ initialize InfoPrinting to the VM's infoPrint setting
@@ -426,13 +426,13 @@
 
     "
      RecursiveStoreError handle:[:ex |
-        self halt
+	self halt
      ] do:[
-        |a|
-
-        a := Array new:1.
-        a at:1 put:a.
-        a storeOn:Transcript
+	|a|
+
+	a := Array new:1.
+	a at:1 put:a.
+	a storeOn:Transcript
      ]
     "
 
@@ -548,7 +548,7 @@
 isMetaclass
     "same as isMeta for ST80/Squeak and VW compatibility.
      kept in the libbasic package, because it is used often"
-     
+
     ^ self isMeta
 ! !
 
@@ -610,7 +610,7 @@
     "true, if the receiver is a string-like thing.
      added for visual works compatibility"
 
-    "/ kept in libbasic package, because it is used in libjava and imap-implementation 
+    "/ kept in libbasic package, because it is used in libjava and imap-implementation
     ^ false
 !
 
@@ -635,9 +635,9 @@
      this is a synthetic selector, generated by the compiler,
      if a construct of the form expr[idx...] is parsed.
      I.e.
-        v[n]
+	v[n]
      generates
-        v _at: n
+	v _at: n
     "
 
     ^ self at:index
@@ -650,9 +650,9 @@
      this is a synthetic selector, generated by the compiler,
      if a construct of the form expr[idx...] is parsed.
      I.e.
-        v[n]
+	v[n]
      generates
-        v _at: n
+	v _at: n
     "
 
     ^ self at:index put:value
@@ -671,20 +671,20 @@
 
     anonCls := self perform:classGetter ifNotUnderstood:nil.
     anonCls isNil ifTrue:[
-        anonCls := myClass
-                subclass:(myClass name,'+',slotName) asSymbol
-                instanceVariableNames:slotName
-                classVariableNames:''
-                poolDictionaries:'' category:nil
-                inEnvironment:nil.
-        anonCls compile:('%1 ^  %1' bindWith:slotName).
-        anonCls compile:('%1:v %1 := v' bindWith:slotName).
-        Class withoutUpdatingChangesDo:[
-            |m|
-            m := Compiler compile:('__get_',slotName,' ^ #fooBar' bindWith:slotName) forClass:myClass install:false.
-            m literalAt:(m literals indexOf:#fooBar) put:anonCls.
-            myClass addSelector:classGetter withMethod:m.
-        ].
+	anonCls := myClass
+		subclass:(myClass name,'+',slotName) asSymbol
+		instanceVariableNames:slotName
+		classVariableNames:''
+		poolDictionaries:'' category:nil
+		inEnvironment:nil.
+	anonCls compile:('%1 ^  %1' bindWith:slotName).
+	anonCls compile:('%1:v %1 := v' bindWith:slotName).
+	Class withoutUpdatingChangesDo:[
+	    |m|
+	    m := Compiler compile:('__get_',slotName,' ^ #fooBar' bindWith:slotName) forClass:myClass install:false.
+	    m literalAt:(m literals indexOf:#fooBar) put:anonCls.
+	    myClass addSelector:classGetter withMethod:m.
+	].
     ].
     newObj := anonCls cloneFrom:self.
     self become:newObj.
@@ -741,8 +741,8 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     {
-        int idx1Based = index.intValue();   // st index is 1 based
-        return context._RETURN( self.basicAt( idx1Based ));
+	int idx1Based = index.intValue();   // st index is 1 based
+	return context._RETURN( self.basicAt( idx1Based ));
     }
     /* NOTREACHED */
 #else
@@ -757,258 +757,258 @@
      * and SmallInteger
      */
     if (__isSmallInteger(index)) {
-        myClass = __qClass(self);
-        indx = __intVal(index) - 1;
-        n /* nInstVars */ = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
-        n /* nInstBytes */ = OHDR_SIZE + __OBJS2BYTES__(n /* nInstVars */);
-        nbytes = __qSize(self) - n /* nInstBytes */;
-        pFirst = (char *)(__InstPtr(self)) + n /* nInstBytes */;
-
-        switch ((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
-            case __MASKSMALLINT(POINTERARRAY):
-                /*
-                 * pointers
-                 */
-                if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
-                    OBJ *op;
-
-                    op = (OBJ *)pFirst + indx;
-                    RETURN ( *op );
-                }
-                break;
-
-            case __MASKSMALLINT(WKPOINTERARRAY):
-                if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
-                    OBJ *op;
-                    OBJ el;
-
-                    op = (OBJ *)pFirst + indx;
-                    el = *op;
-                    el = __WEAK_READ__(self, el);
-                    RETURN ( el );
-                }
-                break;
-
-            case __MASKSMALLINT(BYTEARRAY):
-                /*
-                 * (unsigned) bytes
-                 */
-                if ((unsigned)indx < nbytes) {
-                    unsigned char *cp;
-
-                    cp = (unsigned char *)pFirst + indx;
-                    RETURN ( __mkSmallInteger( (*cp & 0xFF)) );
-                }
-                break;
-
-            case __MASKSMALLINT(FLOATARRAY):
-                /*
-                 * native floats
-                 */
+	myClass = __qClass(self);
+	indx = __intVal(index) - 1;
+	n /* nInstVars */ = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
+	n /* nInstBytes */ = OHDR_SIZE + __OBJS2BYTES__(n /* nInstVars */);
+	nbytes = __qSize(self) - n /* nInstBytes */;
+	pFirst = (char *)(__InstPtr(self)) + n /* nInstBytes */;
+
+	switch ((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
+	    case __MASKSMALLINT(POINTERARRAY):
+		/*
+		 * pointers
+		 */
+		if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
+		    OBJ *op;
+
+		    op = (OBJ *)pFirst + indx;
+		    RETURN ( *op );
+		}
+		break;
+
+	    case __MASKSMALLINT(WKPOINTERARRAY):
+		if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
+		    OBJ *op;
+		    OBJ el;
+
+		    op = (OBJ *)pFirst + indx;
+		    el = *op;
+		    el = __WEAK_READ__(self, el);
+		    RETURN ( el );
+		}
+		break;
+
+	    case __MASKSMALLINT(BYTEARRAY):
+		/*
+		 * (unsigned) bytes
+		 */
+		if ((unsigned)indx < nbytes) {
+		    unsigned char *cp;
+
+		    cp = (unsigned char *)pFirst + indx;
+		    RETURN ( __mkSmallInteger( (*cp & 0xFF)) );
+		}
+		break;
+
+	    case __MASKSMALLINT(FLOATARRAY):
+		/*
+		 * native floats
+		 */
 # ifdef __NEED_FLOATARRAY_ALIGN
-                if ((INT)pFirst & (__FLOATARRAY_ALIGN-1)) {
-                    int delta = __FLOATARRAY_ALIGN - ((INT)pFirst & (__FLOATARRAY_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__FLOATARRAY_ALIGN-1)) {
+		    int delta = __FLOATARRAY_ALIGN - ((INT)pFirst & (__FLOATARRAY_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                if ((unsigned)indx < (nbytes / sizeof(float))) {
-                    float *fp;
-                    float f;
-                    OBJ v;
-
-                    fp = (float *)pFirst + indx;
-                    f = *fp;
-                    if (f == 0.0) {
-                        v = STX__float0;
-                    } else {
-                        __qMKSFLOAT(v, f);
-                    }
-                    RETURN (v);
-                }
-                break;
-
-            case __MASKSMALLINT(DOUBLEARRAY):
-                /*
-                 * native doubles
-                 */
+		if ((unsigned)indx < (nbytes / sizeof(float))) {
+		    float *fp;
+		    float f;
+		    OBJ v;
+
+		    fp = (float *)pFirst + indx;
+		    f = *fp;
+		    if (f == 0.0) {
+			v = STX__float0;
+		    } else {
+			__qMKSFLOAT(v, f);
+		    }
+		    RETURN (v);
+		}
+		break;
+
+	    case __MASKSMALLINT(DOUBLEARRAY):
+		/*
+		 * native doubles
+		 */
 # ifdef __NEED_DOUBLE_ALIGN
-                if ((INT)pFirst & (__DOUBLE_ALIGN-1)) {
-                    int delta = __DOUBLE_ALIGN - ((INT)pFirst & (__DOUBLE_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__DOUBLE_ALIGN-1)) {
+		    int delta = __DOUBLE_ALIGN - ((INT)pFirst & (__DOUBLE_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                if ((unsigned)indx < (nbytes / sizeof(double))) {
-                    double *dp;
-                    double d;
-                    OBJ v;
-
-                    dp = (double *)pFirst + indx;
-                    d = *dp;
-                    if (d == 0.0) {
-                        v = STX__float0;
-                    } else {
-                        __qMKFLOAT(v, d);
-                    }
-                    RETURN (v);
-                }
-                break;
-
-            case __MASKSMALLINT(WORDARRAY):
-                /*
-                 * unsigned 16bit ints
-                 */
-                /* Notice: the hard coded shifts are by purpose;
-                 * it makes us independent of the short-size of the machine
-                 */
-                if ((unsigned)indx < (nbytes>>1)) {
-                    unsigned short *sp;
-
-                    sp = (unsigned short *)(pFirst + (indx<<1));
-                    RETURN ( __mkSmallInteger( (*sp & 0xFFFF)) );
-                }
-                break;
-
-            case __MASKSMALLINT(SWORDARRAY):
-                /*
-                 * signed 16bit ints
-                 */
-                /* Notice: the hard coded shifts are by purpose;
-                 * it makes us independent of the short-size of the machine
-                 */
-                if ((unsigned)indx < (nbytes>>1)) {
-                    short *ssp;
-
-                    ssp = (short *)(pFirst + (indx<<1));
-                    RETURN ( __mkSmallInteger( (*ssp) ));
-                }
-                break;
-
-            case __MASKSMALLINT(LONGARRAY):
-                /*
-                 * unsigned 32bit ints
-                 */
-                /* Notice: the hard coded shifts are by purpose;
-                 * it makes us independent of the int-size of the machine
-                 */
-                if ((unsigned)indx < (nbytes>>2)) {
-                    unsigned int32 ul;
-                    unsigned int32 *lp;
-
-                    lp = (unsigned int32 *)(pFirst + (indx<<2));
-                    ul = *lp;
+		if ((unsigned)indx < (nbytes / sizeof(double))) {
+		    double *dp;
+		    double d;
+		    OBJ v;
+
+		    dp = (double *)pFirst + indx;
+		    d = *dp;
+		    if (d == 0.0) {
+			v = STX__float0;
+		    } else {
+			__qMKFLOAT(v, d);
+		    }
+		    RETURN (v);
+		}
+		break;
+
+	    case __MASKSMALLINT(WORDARRAY):
+		/*
+		 * unsigned 16bit ints
+		 */
+		/* Notice: the hard coded shifts are by purpose;
+		 * it makes us independent of the short-size of the machine
+		 */
+		if ((unsigned)indx < (nbytes>>1)) {
+		    unsigned short *sp;
+
+		    sp = (unsigned short *)(pFirst + (indx<<1));
+		    RETURN ( __mkSmallInteger( (*sp & 0xFFFF)) );
+		}
+		break;
+
+	    case __MASKSMALLINT(SWORDARRAY):
+		/*
+		 * signed 16bit ints
+		 */
+		/* Notice: the hard coded shifts are by purpose;
+		 * it makes us independent of the short-size of the machine
+		 */
+		if ((unsigned)indx < (nbytes>>1)) {
+		    short *ssp;
+
+		    ssp = (short *)(pFirst + (indx<<1));
+		    RETURN ( __mkSmallInteger( (*ssp) ));
+		}
+		break;
+
+	    case __MASKSMALLINT(LONGARRAY):
+		/*
+		 * unsigned 32bit ints
+		 */
+		/* Notice: the hard coded shifts are by purpose;
+		 * it makes us independent of the int-size of the machine
+		 */
+		if ((unsigned)indx < (nbytes>>2)) {
+		    unsigned int32 ul;
+		    unsigned int32 *lp;
+
+		    lp = (unsigned int32 *)(pFirst + (indx<<2));
+		    ul = *lp;
 # if __POINTER_SIZE__ == 8
-                    {
-                        unsigned INT ull = (unsigned INT)ul;
-                        RETURN ( __mkSmallInteger(ull) );
-                    }
+		    {
+			unsigned INT ull = (unsigned INT)ul;
+			RETURN ( __mkSmallInteger(ull) );
+		    }
 # else
-                    if (ul <= _MAX_INT) {
-                        RETURN ( __mkSmallInteger(ul) );
-                    }
-                    RETURN ( __MKULARGEINT(ul) );
+		    if (ul <= _MAX_INT) {
+			RETURN ( __mkSmallInteger(ul) );
+		    }
+		    RETURN ( __MKULARGEINT(ul) );
 # endif
-                }
-                break;
-
-            case __MASKSMALLINT(SLONGARRAY):
-                /*
-                 * signed 32bit ints
-                 */
-                /* Notice: the hard coded shifts are by purpose;
-                 * it makes us independent of the int-size of the machine
-                 */
-                if ((unsigned)indx < (nbytes>>2)) {
-                    int32 *slp;
-                    int32 l;
-
-                    slp = (int32 *)(pFirst + (indx<<2));
-                    l = *slp;
+		}
+		break;
+
+	    case __MASKSMALLINT(SLONGARRAY):
+		/*
+		 * signed 32bit ints
+		 */
+		/* Notice: the hard coded shifts are by purpose;
+		 * it makes us independent of the int-size of the machine
+		 */
+		if ((unsigned)indx < (nbytes>>2)) {
+		    int32 *slp;
+		    int32 l;
+
+		    slp = (int32 *)(pFirst + (indx<<2));
+		    l = *slp;
 # if __POINTER_SIZE__ == 8
-                    {
-                        INT ll = (INT)l;
-                        RETURN ( __mkSmallInteger(ll) );
-                    }
+		    {
+			INT ll = (INT)l;
+			RETURN ( __mkSmallInteger(ll) );
+		    }
 # else
-                    if (__ISVALIDINTEGER(l)) {
-                        RETURN ( __mkSmallInteger(l) );
-                    }
-                    RETURN ( __MKLARGEINT(l) );
+		    if (__ISVALIDINTEGER(l)) {
+			RETURN ( __mkSmallInteger(l) );
+		    }
+		    RETURN ( __MKLARGEINT(l) );
 # endif
-                }
-                break;
-
-            case __MASKSMALLINT(SLONGLONGARRAY):
-                /*
-                 * signed 64bit longlongs
-                 */
+		}
+		break;
+
+	    case __MASKSMALLINT(SLONGLONGARRAY):
+		/*
+		 * signed 64bit longlongs
+		 */
 # ifdef __NEED_LONGLONG_ALIGN
-                if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
-                    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
+		    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                /* Notice: the hard coded shifts are by purpose;
-                 * it makes us independent of the long/longlong-size of the machine
-                 */
-                if ((unsigned)indx < (nbytes>>3)) {
+		/* Notice: the hard coded shifts are by purpose;
+		 * it makes us independent of the long/longlong-size of the machine
+		 */
+		if ((unsigned)indx < (nbytes>>3)) {
 # if __POINTER_SIZE__ == 8
-                    INT *slp, ll;
-
-                    slp = (INT *)(pFirst + (indx<<3));
-                    ll = *slp;
-                    if (__ISVALIDINTEGER(ll)) {
-                        RETURN ( __mkSmallInteger(ll) );
-                    }
-                    RETURN ( __MKLARGEINT(ll) );
+		    INT *slp, ll;
+
+		    slp = (INT *)(pFirst + (indx<<3));
+		    ll = *slp;
+		    if (__ISVALIDINTEGER(ll)) {
+			RETURN ( __mkSmallInteger(ll) );
+		    }
+		    RETURN ( __MKLARGEINT(ll) );
 # else
-                    __int64__ *llp;
-
-                    llp = (__int64__ *)(pFirst + (indx<<3));
-                    RETURN (__MKINT64(llp));
+		    __int64__ *llp;
+
+		    llp = (__int64__ *)(pFirst + (indx<<3));
+		    RETURN (__MKINT64(llp));
 # endif
-                }
-                break;
-
-            case __MASKSMALLINT(LONGLONGARRAY):
-                /*
-                 * unsigned 64bit longlongs
-                 */
+		}
+		break;
+
+	    case __MASKSMALLINT(LONGLONGARRAY):
+		/*
+		 * unsigned 64bit longlongs
+		 */
 # ifdef __NEED_LONGLONG_ALIGN
-                if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
-                    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
+		    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                /* Notice: the hard coded shifts are by purpose;
-                 * it makes us independent of the long/longlong-size of the machine
-                 */
-                if ((unsigned)indx < (nbytes>>3)) {
+		/* Notice: the hard coded shifts are by purpose;
+		 * it makes us independent of the long/longlong-size of the machine
+		 */
+		if ((unsigned)indx < (nbytes>>3)) {
 # if __POINTER_SIZE__ == 8
-                    unsigned INT *ulp, ul;
-
-                    ulp = (unsigned INT *)(pFirst + (indx<<3));
-                    ul = *ulp;
-                    if (ul <= _MAX_INT) {
-                        RETURN ( __mkSmallInteger(ul) );
-                    }
-                    RETURN ( __MKULARGEINT(ul) );
+		    unsigned INT *ulp, ul;
+
+		    ulp = (unsigned INT *)(pFirst + (indx<<3));
+		    ul = *ulp;
+		    if (ul <= _MAX_INT) {
+			RETURN ( __mkSmallInteger(ul) );
+		    }
+		    RETURN ( __MKULARGEINT(ul) );
 # else
-                    __uint64__ *llp;
-
-                    llp = (__uint64__ *)(pFirst + (indx<<3));
-                    RETURN (__MKUINT64(llp));
+		    __uint64__ *llp;
+
+		    llp = (__uint64__ *)(pFirst + (indx<<3));
+		    RETURN (__MKUINT64(llp));
 # endif
-                }
-                break;
-        }
+		}
+		break;
+	}
     }
 #endif /* ! __SCHTEAM__ */
 %}.
@@ -1025,10 +1025,10 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     {
-        int idx1Based = index.intValue();   // st index is 1 based
-
-        self.basicAt_put(idx1Based, anObject );
-        return context._RETURN( anObject );
+	int idx1Based = index.intValue();   // st index is 1 based
+
+	self.basicAt_put(idx1Based, anObject );
+	return context._RETURN( anObject );
     }
     /* NOTREACHED */
 #else
@@ -1045,300 +1045,300 @@
        and SmallInteger */
 
     if (__isSmallInteger(index)) {
-        indx = __intVal(index) - 1;
-        myClass = __qClass(self);
-        n /* ninstvars */ = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
-        n /* nInstBytes */ = OHDR_SIZE + __OBJS2BYTES__(n /* ninstvars */);
-        nbytes = __qSize(self) - n /* nInstBytes */;
-        pFirst = (char *)(__InstPtr(self)) + n /* nInstBytes */;
-
-        switch ((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
-            case __MASKSMALLINT(POINTERARRAY):
-                if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
-                    OBJ *op;
-
-                    op = (OBJ *)pFirst + indx;
-                    *op = anObject;
-                    __STORE(self, anObject);
-                    RETURN ( anObject );
-                }
-                break;
-
-            case __MASKSMALLINT(WKPOINTERARRAY):
-                if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
-                    OBJ *op;
-
-                    op = (OBJ *)pFirst + indx;
-                    *op = anObject;
-                    __STORE(self, anObject);
-                    __WEAK_WRITE__(self, anObject);
-                    RETURN ( anObject );
-                }
-                break;
-
-            case __MASKSMALLINT(BYTEARRAY):
-                if (__isSmallInteger(anObject)) {
-                    val = __intVal(anObject);
-                    if ((val & ~0xFF) == 0 /* i.e. (val >= 0) && (val <= 255) */) {
-                        if ((unsigned)indx < nbytes) {
-                            char *cp;
-
-                            cp = pFirst + indx;
-                            *cp = val;
-                            RETURN ( anObject );
-                        }
-                    }
-                }
-                break;
-
-            case __MASKSMALLINT(FLOATARRAY):
+	indx = __intVal(index) - 1;
+	myClass = __qClass(self);
+	n /* ninstvars */ = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
+	n /* nInstBytes */ = OHDR_SIZE + __OBJS2BYTES__(n /* ninstvars */);
+	nbytes = __qSize(self) - n /* nInstBytes */;
+	pFirst = (char *)(__InstPtr(self)) + n /* nInstBytes */;
+
+	switch ((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
+	    case __MASKSMALLINT(POINTERARRAY):
+		if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
+		    OBJ *op;
+
+		    op = (OBJ *)pFirst + indx;
+		    *op = anObject;
+		    __STORE(self, anObject);
+		    RETURN ( anObject );
+		}
+		break;
+
+	    case __MASKSMALLINT(WKPOINTERARRAY):
+		if ((unsigned)indx < (__BYTES2OBJS__(nbytes))) {
+		    OBJ *op;
+
+		    op = (OBJ *)pFirst + indx;
+		    *op = anObject;
+		    __STORE(self, anObject);
+		    __WEAK_WRITE__(self, anObject);
+		    RETURN ( anObject );
+		}
+		break;
+
+	    case __MASKSMALLINT(BYTEARRAY):
+		if (__isSmallInteger(anObject)) {
+		    val = __intVal(anObject);
+		    if ((val & ~0xFF) == 0 /* i.e. (val >= 0) && (val <= 255) */) {
+			if ((unsigned)indx < nbytes) {
+			    char *cp;
+
+			    cp = pFirst + indx;
+			    *cp = val;
+			    RETURN ( anObject );
+			}
+		    }
+		}
+		break;
+
+	    case __MASKSMALLINT(FLOATARRAY):
 # ifdef __NEED_FLOATARRAY_ALIGN
-                if ((INT)pFirst & (__FLOATARRAY_ALIGN-1)) {
-                    int delta = __FLOATARRAY_ALIGN - ((INT)pFirst & (__FLOATARRAY_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__FLOATARRAY_ALIGN-1)) {
+		    int delta = __FLOATARRAY_ALIGN - ((INT)pFirst & (__FLOATARRAY_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                if ((unsigned)indx < (nbytes / sizeof(float))) {
-                    float *fp;
-
-                    fp = (float *)pFirst + indx;
-                    if (anObject != nil) {
-                        if (! __isSmallInteger(anObject)) {
-                            if (__qIsFloatLike(anObject)) {
-                                *fp = (float)(__floatVal(anObject));
-                                RETURN ( anObject );
-                            }
-                            if (__qIsShortFloat(anObject)) {
-                                *fp = __shortFloatVal(anObject);
-                                RETURN ( anObject );
-                            }
-                        } else {
-                            *fp = (float) __intVal(anObject);
-                            RETURN ( anObject );
-                        }
-                    }
-                }
-                break;
-
-            case __MASKSMALLINT(DOUBLEARRAY):
+		if ((unsigned)indx < (nbytes / sizeof(float))) {
+		    float *fp;
+
+		    fp = (float *)pFirst + indx;
+		    if (anObject != nil) {
+			if (! __isSmallInteger(anObject)) {
+			    if (__qIsFloatLike(anObject)) {
+				*fp = (float)(__floatVal(anObject));
+				RETURN ( anObject );
+			    }
+			    if (__qIsShortFloat(anObject)) {
+				*fp = __shortFloatVal(anObject);
+				RETURN ( anObject );
+			    }
+			} else {
+			    *fp = (float) __intVal(anObject);
+			    RETURN ( anObject );
+			}
+		    }
+		}
+		break;
+
+	    case __MASKSMALLINT(DOUBLEARRAY):
 # ifdef __NEED_DOUBLE_ALIGN
-                if ((INT)pFirst & (__DOUBLE_ALIGN-1)) {
-                    int delta = __DOUBLE_ALIGN - ((INT)pFirst & (__DOUBLE_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__DOUBLE_ALIGN-1)) {
+		    int delta = __DOUBLE_ALIGN - ((INT)pFirst & (__DOUBLE_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                if ((unsigned)indx < (nbytes / sizeof(double))) {
-                    double *dp;
-
-                    dp = (double *)pFirst + indx;
-                    if (anObject != nil) {
-                        if (! __isSmallInteger(anObject)) {
-                            if (__qIsFloatLike(anObject)) {
-                                *dp = __floatVal(anObject);
-                                RETURN ( anObject );
-                            }
-                            if (__qIsShortFloat(anObject)) {
-                                *dp = (double)__shortFloatVal(anObject);
-                                RETURN ( anObject );
-                            }
-                        } else {
-                            *dp = (double) __intVal(anObject);
-                            RETURN ( anObject );
-                        }
-                    }
-                }
-                break;
-
-            case __MASKSMALLINT(WORDARRAY):
-                if (__isSmallInteger(anObject)) {
-                    val = __intVal(anObject);
-                    if ((unsigned)val <= 0xFFFF) {
-                        if ((unsigned)indx < (nbytes>>1)) {
-                            unsigned short *sp;
-
-                            sp = (unsigned short *)(pFirst + (indx<<1));
-                            *sp = val;
-                            RETURN ( anObject );
-                        }
-                    }
-                }
-                break;
-
-            case __MASKSMALLINT(SWORDARRAY):
-                if (__isSmallInteger(anObject)) {
-                    val = __intVal(anObject);
-                    if ((val >= -32768) && (val < 32768)) {
-                        if ((unsigned)indx < (nbytes>>1)) {
-                            short *ssp;
-
-                            ssp = (short *)(pFirst + (indx<<1));
-                            *ssp = val;
-                            RETURN ( anObject );
-                        }
-                    }
-                }
-                break;
-
-            case __MASKSMALLINT(SLONGARRAY):
-                if ((unsigned)indx < (nbytes>>2)) {
-                    int32 *slp;
-
-                    slp = (int32 *)(pFirst + (indx<<2));
-                    if (__isSmallInteger(anObject)) {
-                        *slp = __intVal(anObject);
-                        RETURN ( anObject );
-                    }
-                    n = __signedLongIntVal(anObject);
-                    /*
-                     * zero means failure for an int larger than INT-size bytes
-                     * (would be a smallInteger)
-                     */
-                    if (n) {
+		if ((unsigned)indx < (nbytes / sizeof(double))) {
+		    double *dp;
+
+		    dp = (double *)pFirst + indx;
+		    if (anObject != nil) {
+			if (! __isSmallInteger(anObject)) {
+			    if (__qIsFloatLike(anObject)) {
+				*dp = __floatVal(anObject);
+				RETURN ( anObject );
+			    }
+			    if (__qIsShortFloat(anObject)) {
+				*dp = (double)__shortFloatVal(anObject);
+				RETURN ( anObject );
+			    }
+			} else {
+			    *dp = (double) __intVal(anObject);
+			    RETURN ( anObject );
+			}
+		    }
+		}
+		break;
+
+	    case __MASKSMALLINT(WORDARRAY):
+		if (__isSmallInteger(anObject)) {
+		    val = __intVal(anObject);
+		    if ((unsigned)val <= 0xFFFF) {
+			if ((unsigned)indx < (nbytes>>1)) {
+			    unsigned short *sp;
+
+			    sp = (unsigned short *)(pFirst + (indx<<1));
+			    *sp = val;
+			    RETURN ( anObject );
+			}
+		    }
+		}
+		break;
+
+	    case __MASKSMALLINT(SWORDARRAY):
+		if (__isSmallInteger(anObject)) {
+		    val = __intVal(anObject);
+		    if ((val >= -32768) && (val < 32768)) {
+			if ((unsigned)indx < (nbytes>>1)) {
+			    short *ssp;
+
+			    ssp = (short *)(pFirst + (indx<<1));
+			    *ssp = val;
+			    RETURN ( anObject );
+			}
+		    }
+		}
+		break;
+
+	    case __MASKSMALLINT(SLONGARRAY):
+		if ((unsigned)indx < (nbytes>>2)) {
+		    int32 *slp;
+
+		    slp = (int32 *)(pFirst + (indx<<2));
+		    if (__isSmallInteger(anObject)) {
+			*slp = __intVal(anObject);
+			RETURN ( anObject );
+		    }
+		    n = __signedLongIntVal(anObject);
+		    /*
+		     * zero means failure for an int larger than INT-size bytes
+		     * (would be a smallInteger)
+		     */
+		    if (n) {
 # if __POINTER_SIZE__ == 8
-                        if ((n >= -0x80000000) && (n < 0x80000000))
+			if ((n >= -0x80000000) && (n < 0x80000000))
 # endif
-                        {
-                            *slp = n;
-                            RETURN ( anObject );
-                        }
-                    }
-                }
-                break;
-
-            case __MASKSMALLINT(LONGARRAY):
-                if ((unsigned)indx < (nbytes>>2)) {
-                    unsigned int32 *lp;
-
-                    lp = (unsigned int32 *)(pFirst + (indx<<2));
-                    if (anObject == __mkSmallInteger(0)) {
-                        *lp = 0;
-                        RETURN ( anObject );
-                    }
-                    u = __longIntVal(anObject);
-                    /*
-                     * zero means failure for an int larger than 4 bytes
-                     * (would be a smallInteger)
-                     */
-                    if (u) {
+			{
+			    *slp = n;
+			    RETURN ( anObject );
+			}
+		    }
+		}
+		break;
+
+	    case __MASKSMALLINT(LONGARRAY):
+		if ((unsigned)indx < (nbytes>>2)) {
+		    unsigned int32 *lp;
+
+		    lp = (unsigned int32 *)(pFirst + (indx<<2));
+		    if (anObject == __mkSmallInteger(0)) {
+			*lp = 0;
+			RETURN ( anObject );
+		    }
+		    u = __longIntVal(anObject);
+		    /*
+		     * zero means failure for an int larger than 4 bytes
+		     * (would be a smallInteger)
+		     */
+		    if (u) {
 # if __POINTER_SIZE__ == 8
-                        if (u <= 0xFFFFFFFF)
+			if (u <= 0xFFFFFFFF)
 # endif
-                        {
-                            *lp = u;
-                            RETURN ( anObject );
-                        }
-                    }
-                }
-                break;
-
-            case __MASKSMALLINT(SLONGLONGARRAY):
+			{
+			    *lp = u;
+			    RETURN ( anObject );
+			}
+		    }
+		}
+		break;
+
+	    case __MASKSMALLINT(SLONGLONGARRAY):
 # ifdef __NEED_LONGLONG_ALIGN
-                if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
-                    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
+		    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                if ((unsigned)indx < (nbytes>>3)) {
-                    __int64__ ll;
-                    __int64__ *sllp;
-
-                    sllp = (__int64__ *)(pFirst + (indx<<3));
+		if ((unsigned)indx < (nbytes>>3)) {
+		    __int64__ ll;
+		    __int64__ *sllp;
+
+		    sllp = (__int64__ *)(pFirst + (indx<<3));
 
 # if __POINTER_SIZE__ == 8
-                    if (__isSmallInteger(anObject)) {
-                        *sllp = __intVal(anObject);
-                        RETURN ( anObject );
-                    }
-                    n = __signedLongIntVal(anObject);
-                    if (n) {
-                        *sllp = n;
-                        RETURN ( anObject );
-                    }
+		    if (__isSmallInteger(anObject)) {
+			*sllp = __intVal(anObject);
+			RETURN ( anObject );
+		    }
+		    n = __signedLongIntVal(anObject);
+		    if (n) {
+			*sllp = n;
+			RETURN ( anObject );
+		    }
 # else
-                    if (anObject == __mkSmallInteger(0)) {
-                        ll.lo = ll.hi = 0;
-                        *sllp = ll;
-                        RETURN ( anObject );
-                    }
-                    if (__signedLong64IntVal(anObject, &ll)) {
-                        *sllp = ll;
-                        RETURN ( anObject );
-                    }
+		    if (anObject == __mkSmallInteger(0)) {
+			ll.lo = ll.hi = 0;
+			*sllp = ll;
+			RETURN ( anObject );
+		    }
+		    if (__signedLong64IntVal(anObject, &ll)) {
+			*sllp = ll;
+			RETURN ( anObject );
+		    }
 # endif
-                }
-                break;
-
-            case __MASKSMALLINT(LONGLONGARRAY):
+		}
+		break;
+
+	    case __MASKSMALLINT(LONGLONGARRAY):
 # ifdef __NEED_LONGLONG_ALIGN
-                if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
-                    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
-
-                    pFirst += delta;
-                    nbytes -= delta;
-                }
+		if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
+		    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
+
+		    pFirst += delta;
+		    nbytes -= delta;
+		}
 # endif
-                if ((unsigned)indx < (nbytes>>3)) {
-                    __uint64__ ll;
-                    __uint64__ *llp;
-
-                    llp = (__uint64__ *)(pFirst + (indx<<3));
+		if ((unsigned)indx < (nbytes>>3)) {
+		    __uint64__ ll;
+		    __uint64__ *llp;
+
+		    llp = (__uint64__ *)(pFirst + (indx<<3));
 # if __POINTER_SIZE__ == 8
-                    if (__isSmallInteger(anObject)) {
-                        *llp = __intVal(anObject);
-                        RETURN ( anObject );
-                    }
-                    ll = __longIntVal(anObject);
-                    if (ll) {
-                        *llp = ll;
-                        RETURN ( anObject );
-                    }
+		    if (__isSmallInteger(anObject)) {
+			*llp = __intVal(anObject);
+			RETURN ( anObject );
+		    }
+		    ll = __longIntVal(anObject);
+		    if (ll) {
+			*llp = ll;
+			RETURN ( anObject );
+		    }
 # else
-                    if (anObject == __mkSmallInteger(0)) {
-                        ll.lo = ll.hi = 0;
-                        *llp = ll;
-                        RETURN ( anObject );
-                    }
-                    if (__unsignedLong64IntVal(anObject, &ll)) {
-                        *llp = ll;
-                        RETURN ( anObject );
-                    }
+		    if (anObject == __mkSmallInteger(0)) {
+			ll.lo = ll.hi = 0;
+			*llp = ll;
+			RETURN ( anObject );
+		    }
+		    if (__unsignedLong64IntVal(anObject, &ll)) {
+			*llp = ll;
+			RETURN ( anObject );
+		    }
 # endif
-                }
-                break;
-        }
+		}
+		break;
+	}
     }
 #endif /* ! __SCHTEAM__ */
 %}.
     index isInteger ifFalse:[
-        "
-         the index should be an integer number
-        "
-        ^ self indexNotInteger:index
+	"
+	 the index should be an integer number
+	"
+	^ self indexNotInteger:index
     ].
     (index between:1 and:self size) ifFalse:[
-        "
-         the index is less than 1 or greater than the size of the
-         receiver collection
-        "
-        ^ self subscriptBoundsError:index
+	"
+	 the index is less than 1 or greater than the size of the
+	 receiver collection
+	"
+	^ self subscriptBoundsError:index
     ].
     (self class isFloatsOrDoubles) ifTrue:[
-        anObject isNumber ifTrue:[
-            ^ self basicAt:index put:(anObject asFloat)
-        ]
+	anObject isNumber ifTrue:[
+	    ^ self basicAt:index put:(anObject asFloat)
+	]
     ].
     anObject isInteger ifFalse:[
-        "
-         the object to put into the receiver collection
-         should be an integer number
-        "
-        ^ self elementNotInteger
+	"
+	 the object to put into the receiver collection
+	 should be an integer number
+	"
+	^ self elementNotInteger
     ].
     "
      the object to put into the receiver collection
@@ -1361,61 +1361,61 @@
 %{  /* NOCONTEXT */
 
     if (__isSmallInteger(index)) {
-        OBJ slf = self;
-        if (__isNonNilObject(slf)) {
-            OBJ cls = __qClass(slf);
-            INT indx = __intVal(index) - 1;
-            INT nIndex = __byteArraySize(slf);
-            unsigned char *pFirst = __byteArrayVal(slf) + __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-
-            switch ((INT)(__ClassInstPtr(cls)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
-                case __MASKSMALLINT(DOUBLEARRAY):
+	OBJ slf = self;
+	if (__isNonNilObject(slf)) {
+	    OBJ cls = __qClass(slf);
+	    INT indx = __intVal(index) - 1;
+	    INT nIndex = __byteArraySize(slf);
+	    unsigned char *pFirst = __byteArrayVal(slf) + __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
+
+	    switch ((INT)(__ClassInstPtr(cls)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
+		case __MASKSMALLINT(DOUBLEARRAY):
 #ifdef __NEED_DOUBLE_ALIGN
-                    if ((INT)pFirst & (__DOUBLE_ALIGN-1)) {
-                        int delta = __DOUBLE_ALIGN - ((INT)pFirst & (__DOUBLE_ALIGN-1));
-
-                        pFirst += delta;
-                        nIndex -= delta;
-                    }
+		    if ((INT)pFirst & (__DOUBLE_ALIGN-1)) {
+			int delta = __DOUBLE_ALIGN - ((INT)pFirst & (__DOUBLE_ALIGN-1));
+
+			pFirst += delta;
+			nIndex -= delta;
+		    }
 #endif
-                    goto common;
-
-                case __MASKSMALLINT(FLOATARRAY):
+		    goto common;
+
+		case __MASKSMALLINT(FLOATARRAY):
 #ifdef __NEED_FLOATARRY_ALIGN
-                    if ((INT)pFirst & (__FLOATARRY_ALIGN-1)) {
-                        int delta = __FLOATARRY_ALIGN - ((INT)pFirst & (__FLOATARRY_ALIGN-1));
-
-                        pFirst += delta;
-                        nIndex -= delta;
-                    }
+		    if ((INT)pFirst & (__FLOATARRY_ALIGN-1)) {
+			int delta = __FLOATARRY_ALIGN - ((INT)pFirst & (__FLOATARRY_ALIGN-1));
+
+			pFirst += delta;
+			nIndex -= delta;
+		    }
 #endif
-                    goto common;
-
-                case __MASKSMALLINT(LONGLONGARRAY):
-                case __MASKSMALLINT(SLONGLONGARRAY):
+		    goto common;
+
+		case __MASKSMALLINT(LONGLONGARRAY):
+		case __MASKSMALLINT(SLONGLONGARRAY):
 #ifdef __NEED_LONGLONG_ALIGN
-                    if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
-                        int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
-
-                        pFirst += delta;
-                        nIndex -= delta;
-                    }
+		    if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
+			int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
+
+			pFirst += delta;
+			nIndex -= delta;
+		    }
 #endif
-                    goto common;
-
-                case __MASKSMALLINT(BYTEARRAY):
-                case __MASKSMALLINT(WORDARRAY):
-                case __MASKSMALLINT(LONGARRAY):
-                case __MASKSMALLINT(SWORDARRAY):
-                case __MASKSMALLINT(SLONGARRAY):
-            common:
-                    if ((unsigned)indx < (unsigned)nIndex) {
-                        RETURN ( __mkSmallInteger( (INT)(pFirst[indx])) );
-                    }
-                    break;
-
-            }
-        }
+		    goto common;
+
+		case __MASKSMALLINT(BYTEARRAY):
+		case __MASKSMALLINT(WORDARRAY):
+		case __MASKSMALLINT(LONGARRAY):
+		case __MASKSMALLINT(SWORDARRAY):
+		case __MASKSMALLINT(SLONGARRAY):
+	    common:
+		    if ((unsigned)indx < (unsigned)nIndex) {
+			RETURN ( __mkSmallInteger( (INT)(pFirst[indx])) );
+		    }
+		    break;
+
+	    }
+	}
     }
 %}.
     "/ index not integer or index out of range
@@ -1449,50 +1449,50 @@
     REGISTER OBJ cls;
 
     if (__bothSmallInteger(index, byteValue)) {
-        val = __intVal(byteValue);
-        if ((unsigned)(val) <= 0xFF /* i.e. (val >= 0) && (val <= 255) */) {
-            slf = self;
-            if (__isNonNilObject(slf)) {
-                int nInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-                cls = __qClass(slf);
-
-                indx = __intVal(index) - 1;
-                switch ((INT)(__ClassInstPtr(cls)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
-                    case __MASKSMALLINT(DOUBLEARRAY):
+	val = __intVal(byteValue);
+	if ((unsigned)(val) <= 0xFF /* i.e. (val >= 0) && (val <= 255) */) {
+	    slf = self;
+	    if (__isNonNilObject(slf)) {
+		int nInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
+		cls = __qClass(slf);
+
+		indx = __intVal(index) - 1;
+		switch ((INT)(__ClassInstPtr(cls)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
+		    case __MASKSMALLINT(DOUBLEARRAY):
 # ifdef __NEED_DOUBLE_ALIGN
-                        nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
+			nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
 # endif
-                        goto common;
-
-                    case __MASKSMALLINT(FLOATARRAY):
+			goto common;
+
+		    case __MASKSMALLINT(FLOATARRAY):
 # ifdef __NEED_FLOATARRAY_ALIGN
-                        nInstBytes = (nInstBytes-1+__FLOATARRAY_ALIGN) &~ (__FLOATARRAY_ALIGN-1);
+			nInstBytes = (nInstBytes-1+__FLOATARRAY_ALIGN) &~ (__FLOATARRAY_ALIGN-1);
 # endif
-                        goto common;
-
-                    case __MASKSMALLINT(LONGLONGARRAY):
-                    case __MASKSMALLINT(SLONGLONGARRAY):
+			goto common;
+
+		    case __MASKSMALLINT(LONGLONGARRAY):
+		    case __MASKSMALLINT(SLONGLONGARRAY):
 # ifdef __NEED_LONGLONG_ALIGN
-                        nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
+			nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
 # endif
-                        goto common;
-
-                    case __MASKSMALLINT(BYTEARRAY):
-                    case __MASKSMALLINT(WORDARRAY):
-                    case __MASKSMALLINT(LONGARRAY):
-                    case __MASKSMALLINT(SWORDARRAY):
-                    case __MASKSMALLINT(SLONGARRAY):
-                common:
-                        indx += nInstBytes;
-                        nIndex = __byteArraySize(slf);
-                        if ((unsigned)indx < (unsigned)nIndex) {
-                            __ByteArrayInstPtr(slf)->ba_element[indx] = val;
-                            RETURN ( byteValue );
-                        }
-                        break;
-                }
-            }
-        }
+			goto common;
+
+		    case __MASKSMALLINT(BYTEARRAY):
+		    case __MASKSMALLINT(WORDARRAY):
+		    case __MASKSMALLINT(LONGARRAY):
+		    case __MASKSMALLINT(SWORDARRAY):
+		    case __MASKSMALLINT(SLONGARRAY):
+		common:
+			indx += nInstBytes;
+			nIndex = __byteArraySize(slf);
+			if ((unsigned)indx < (unsigned)nIndex) {
+			    __ByteArrayInstPtr(slf)->ba_element[indx] = val;
+			    RETURN ( byteValue );
+			}
+			break;
+		}
+	    }
+	}
     }
 %}.
     "/ index not integer or index out of range
@@ -1519,26 +1519,26 @@
     int idx, ninstvars;
 
     if (__isSmallInteger(index)) {
-        myClass = __Class(self);
-        idx = __intVal(index) - 1;
-        /*
-         * do not allow returning of non-object fields.
-         * if subclass did not make provisions for that,
-         * we won't do so here ...
-         */
-        if (((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(NONOBJECT_INSTS))) {
-            if (idx == 0) {
-                RETURN ( nil )
-            }
-        }
-        ninstvars = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
-        if ((idx >= 0) && (idx < ninstvars)) {
-            // do not trust the ninstvars slot - verify
-            if ((__OBJS2BYTES__(ninstvars) + OHDR_SIZE) <= __qSize(self)) {
-                RETURN ( __InstPtr(self)->i_instvars[idx] );
-            }
-            console_printf("[VM] warning: bad ninsts in class\n");
-        }
+	myClass = __Class(self);
+	idx = __intVal(index) - 1;
+	/*
+	 * do not allow returning of non-object fields.
+	 * if subclass did not make provisions for that,
+	 * we won't do so here ...
+	 */
+	if (((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(NONOBJECT_INSTS))) {
+	    if (idx == 0) {
+		RETURN ( nil )
+	    }
+	}
+	ninstvars = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
+	if ((idx >= 0) && (idx < ninstvars)) {
+	    // do not trust the ninstvars slot - verify
+	    if ((__OBJS2BYTES__(ninstvars) + OHDR_SIZE) <= __qSize(self)) {
+		RETURN ( __InstPtr(self)->i_instvars[idx] );
+	    }
+	    console_printf("[VM] warning: bad ninsts in class\n");
+	}
     }
 #endif /* not SCHTEAM */
 %}.
@@ -1559,28 +1559,28 @@
     int idx, ninstvars;
 
     if (__isSmallInteger(index)) {
-        myClass = __Class(self);
-        idx = __intVal(index) - 1;
-        ninstvars = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
-        /*
-         * do not allow setting of non-object fields.
-         * if subclass did not make provisions for that,
-         * we won't do so here ...
-         */
-        if (((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(NONOBJECT_INSTS))) {
-            if (idx == 0) {
-                RETURN ( nil )
-            }
-        }
-        if ((idx >= 0) && (idx < ninstvars)) {
-            // do not trust the ninstvars slot - verify
-            if ((__OBJS2BYTES__(ninstvars) + OHDR_SIZE) <= __qSize(self)) {
-                __InstPtr(self)->i_instvars[idx] = value;
-                __STORE(self, value);
-                RETURN ( value );
-            }
-            console_printf("[VM] warning: bad ninsts in class\n");
-        }
+	myClass = __Class(self);
+	idx = __intVal(index) - 1;
+	ninstvars = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
+	/*
+	 * do not allow setting of non-object fields.
+	 * if subclass did not make provisions for that,
+	 * we won't do so here ...
+	 */
+	if (((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(NONOBJECT_INSTS))) {
+	    if (idx == 0) {
+		RETURN ( nil )
+	    }
+	}
+	if ((idx >= 0) && (idx < ninstvars)) {
+	    // do not trust the ninstvars slot - verify
+	    if ((__OBJS2BYTES__(ninstvars) + OHDR_SIZE) <= __qSize(self)) {
+		__InstPtr(self)->i_instvars[idx] = value;
+		__STORE(self, value);
+		RETURN ( value );
+	    }
+	    console_printf("[VM] warning: bad ninsts in class\n");
+	}
     }
 #endif /* not SCHTEAM */
 %}.
@@ -1598,7 +1598,7 @@
 
     idx := self class instVarIndexFor:name.
     idx isNil ifTrue:[
-        ^ self errorKeyNotFound:name.
+	^ self errorKeyNotFound:name.
     ].
     ^ self instVarAt:idx.
 
@@ -1650,7 +1650,7 @@
 
     idx := self class instVarIndexFor:name.
     idx isNil ifTrue:[
-        ^ self errorKeyNotFound:name.
+	^ self errorKeyNotFound:name.
     ].
     ^ self instVarAt:idx put:value.
 
@@ -1702,17 +1702,17 @@
     int flags;
 
     if (!__isNonNilObject(self)) {
-        RETURN(self);
+	RETURN(self);
     }
     /*
      * bail out for special (weak) objects ..
      */
     flags = __intVal(__ClassInstPtr(__qClass(self))->c_flags);
     if (((flags & ~ARRAYMASK) == 0)
-        && ((flags & ARRAYMASK) != WKPOINTERARRAY)
+	&& ((flags & ARRAYMASK) != WKPOINTERARRAY)
     ) {
-        bzero((void *)__InstPtr(self)->i_instvars, __qSize(self)-OHDR_SIZE);
-        RETURN(self);
+	bzero((void *)__InstPtr(self)->i_instvars, __qSize(self)-OHDR_SIZE);
+	RETURN(self);
     }
 %}.
     "/ fail for special objects
@@ -1741,7 +1741,7 @@
 
     attrs := self objectAttributes.
     attrs size ~~ 0 ifTrue:[
-        ^ attrs at:attributeKey ifAbsent:nil
+	^ attrs at:attributeKey ifAbsent:nil
     ].
     ^ nil
 
@@ -1763,30 +1763,30 @@
     "/ must do this save from being reentered, since the attributes collection
     "/ is possibly accessed from multiple threads...
     ObjectAttributesAccessLock critical:[
-        | attrs |
-
-        attrs := self objectAttributes.
-        "/ only need a WeakIdentityDictionary, if there are any non-symbol keys in
-        "/ it. Start with a regular IDDict, and migrate to WeakIDDict if ever required.
-        "/ Typically, this never happens (but does in the UIPainter!!)
-        attrs isEmptyOrNil ifTrue:[
-            attributeKey isSymbol ifTrue:[
-                attrs := IdentityDictionary new.
-            ] ifFalse:[
-                attrs := WeakIdentityDictionary new.
-            ].
-            attrs at:attributeKey put:anObject.
-            self objectAttributes:attrs.
-        ] ifFalse:[
-            attributeKey isSymbol ifFalse:[
-                attrs isWeakCollection ifFalse:[
-                    "first non-symbol attributeKey - convert to WeakIdentityDictionary"
-                    attrs := WeakIdentityDictionary new declareAllFrom:attrs.
-                    self objectAttributes:attrs.
-                ].
-            ].
-            attrs at:attributeKey put:anObject.
-        ].
+	| attrs |
+
+	attrs := self objectAttributes.
+	"/ only need a WeakIdentityDictionary, if there are any non-symbol keys in
+	"/ it. Start with a regular IDDict, and migrate to WeakIDDict if ever required.
+	"/ Typically, this never happens (but does in the UIPainter!!)
+	attrs isEmptyOrNil ifTrue:[
+	    attributeKey isSymbol ifTrue:[
+		attrs := IdentityDictionary new.
+	    ] ifFalse:[
+		attrs := WeakIdentityDictionary new.
+	    ].
+	    attrs at:attributeKey put:anObject.
+	    self objectAttributes:attrs.
+	] ifFalse:[
+	    attributeKey isSymbol ifFalse:[
+		attrs isWeakCollection ifFalse:[
+		    "first non-symbol attributeKey - convert to WeakIdentityDictionary"
+		    attrs := WeakIdentityDictionary new declareAllFrom:attrs.
+		    self objectAttributes:attrs.
+		].
+	    ].
+	    attrs at:attributeKey put:anObject.
+	].
     ]
 
     "Attaching additional attributes (slots) to an arbitrary object:
@@ -1821,7 +1821,7 @@
 
 objectAttributes:aCollection
     "set the collection of attributes.
-    
+
      The default implementation here uses a global Dictionary to store
      attributes which may be too slow for high frequency change&update.
      Therefore, some classes may redefine this for better performance."
@@ -1830,11 +1830,11 @@
     "/ is possibly accessed from multiple threads.
 
     ObjectAttributesAccessLock critical:[
-        aCollection isEmptyOrNil ifTrue:[
-            ObjectAttributes removeKey:self ifAbsent:nil
-        ] ifFalse:[
-            ObjectAttributes at:self put:aCollection
-        ].
+	aCollection isEmptyOrNil ifTrue:[
+	    ObjectAttributes removeKey:self ifAbsent:nil
+	] ifFalse:[
+	    ObjectAttributes at:self put:aCollection
+	].
     ]
 
     "Created: / 22-01-1998 / 21:29:35 / av"
@@ -1850,18 +1850,18 @@
     "/ must do this save from being reentered, since the attributes collection
     "/ is possibly accessed from multiple threads.
     ^ ObjectAttributesAccessLock critical:[
-        |attrs oldVal|
-
-        attrs := self objectAttributes.
-        attrs notNil ifTrue:[
-            attrs notEmpty ifTrue:[
-                oldVal := attrs removeKey:attributeKey ifAbsent:nil.
-            ].
-            attrs isEmpty ifTrue:[
-                self objectAttributes:nil
-            ].
-        ].
-        oldVal
+	|attrs oldVal|
+
+	attrs := self objectAttributes.
+	attrs notNil ifTrue:[
+	    attrs notEmpty ifTrue:[
+		oldVal := attrs removeKey:attributeKey ifAbsent:nil.
+	    ].
+	    attrs isEmpty ifTrue:[
+		self objectAttributes:nil
+	    ].
+	].
+	oldVal
     ].
 
     "Created: / 22-01-1998 / 21:29:39 / av"
@@ -1878,7 +1878,7 @@
     "send a message with selector aSelectorSymbol to all my dependents"
 
     self dependentsDo:[:dependent |
-        dependent perform:aSelectorSymbol
+	dependent perform:aSelectorSymbol
     ]
 !
 
@@ -1887,7 +1887,7 @@
      argument anArgument to all my dependents."
 
     self dependentsDo:[:dependent |
-        dependent perform:aSelectorSymbol with:anArgument
+	dependent perform:aSelectorSymbol with:anArgument
     ]
 !
 
@@ -1896,7 +1896,7 @@
      grant the request, and return true if so"
 
     self dependentsDo:[:dependent |
-        dependent updateRequest ifFalse:[^ false].
+	dependent updateRequest ifFalse:[^ false].
     ].
     ^ true
 !
@@ -1906,7 +1906,7 @@
      grant the request, and return true if so"
 
     self dependentsDo:[:dependent |
-        (dependent updateRequest:aSymbol) ifFalse:[^ false].
+	(dependent updateRequest:aSymbol) ifFalse:[^ false].
     ].
     ^ true
 !
@@ -1934,9 +1934,9 @@
      about to send the change request."
 
     self dependentsDo:[:dependent |
-        dependent == anObject ifFalse:[
-            (dependent updateRequest:aSymbol with:aParameter from:anObject) ifFalse:[^ false].
-        ]
+	dependent == anObject ifFalse:[
+	    (dependent updateRequest:aSymbol with:aParameter from:anObject) ifFalse:[^ false].
+	]
     ].
     ^ true
 !
@@ -1948,9 +1948,9 @@
      about to send the change request."
 
     self dependentsDo:[:dependent |
-        dependent == anObject ifFalse:[
-            (dependent updateRequest) ifFalse:[^ false].
-        ]
+	dependent == anObject ifFalse:[
+	    (dependent updateRequest) ifFalse:[^ false].
+	]
     ].
     ^ true
 !
@@ -1977,7 +1977,7 @@
      and anArgument as arguments."
 
     self dependentsDo:[:dependent |
-        dependent update:aParameter with:anArgument from:self
+	dependent update:aParameter with:anArgument from:self
     ]
 !
 
@@ -2046,7 +2046,7 @@
 
     (self dependents includesIdentical:someone)
     ifFalse:[
-        ^ aBlock value.
+	^ aBlock value.
     ].
     self removeDependent:someone.
     ^ aBlock ensure:[ self addDependent:someone ]
@@ -2057,9 +2057,9 @@
 = anObject
     "return true if the receiver and the arg have the same structure.
      Notice:
-        This method is partially open coded (inlined) by the compiler(s)
-        identical objects are always considered equal.
-        redefining it may not work as expected."
+	This method is partially open coded (inlined) by the compiler(s)
+	identical objects are always considered equal.
+	redefining it may not work as expected."
 
     ^ self == anObject
 !
@@ -2068,8 +2068,8 @@
     "return true if the receiver and the arg are the same object.
      Never redefine this in any class.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
@@ -2090,28 +2090,28 @@
 
     myClass := self class.
     myClass isVariable ifTrue:[
-        sz := self basicSize.
-
-        "compare the indexed variables"
-        1 to:sz do:[:i |
-            val := self basicAt:i.
-            val isLiteral ifTrue:[
-                val = (anObject basicAt:i) ifFalse:[^ false].
-            ] ifFalse:[
-                (val deepSameContentsAs:(anObject basicAt:i)) ifFalse:[^ false].
-            ]
-        ]
+	sz := self basicSize.
+
+	"compare the indexed variables"
+	1 to:sz do:[:i |
+	    val := self basicAt:i.
+	    val isLiteral ifTrue:[
+		val = (anObject basicAt:i) ifFalse:[^ false].
+	    ] ifFalse:[
+		(val deepSameContentsAs:(anObject basicAt:i)) ifFalse:[^ false].
+	    ]
+	]
     ].
 
     "compare the instance variables"
     sz := myClass instSize.
     1 to:sz do:[:i |
-        val := self instVarAt:i.
-        val isLiteral ifTrue:[
-            val = (anObject instVarAt:i) ifFalse:[^ false].
-        ] ifFalse:[
-            (val deepSameContentsAs:(anObject instVarAt:i)) ifFalse:[^ false].
-        ]
+	val := self instVarAt:i.
+	val isLiteral ifTrue:[
+	    val = (anObject instVarAt:i) ifFalse:[^ false].
+	] ifFalse:[
+	    (val deepSameContentsAs:(anObject instVarAt:i)) ifFalse:[^ false].
+	]
     ].
 
     ^ true
@@ -2150,25 +2150,25 @@
     static unsigned nextHash = 0;
 
     if (__isNonNilObject(self)) {
-        hash = __GET_HASH(self);
-        if (hash == 0) {
-            /* has no hash yet */
-
-            if (++nextHash > __MAX_HASH__) {
-                nextHash = 1;
-            }
-            hash = nextHash;
-            __SET_HASH(self, hash);
-        }
-
-        /*
-         * now, we got 11 bits for hashing;
-         * make it as large as possible; since most hashers use the returned
-         * key and take it modulo some prime number, this will allow for
-         * better distribution (i.e. bigger empty spaces) in hashed collection.
-         */
-        hash = __MAKE_HASH__(hash);
-        RETURN ( __mkSmallInteger(hash) );
+	hash = __GET_HASH(self);
+	if (hash == 0) {
+	    /* has no hash yet */
+
+	    if (++nextHash > __MAX_HASH__) {
+		nextHash = 1;
+	    }
+	    hash = nextHash;
+	    __SET_HASH(self, hash);
+	}
+
+	/*
+	 * now, we got 11 bits for hashing;
+	 * make it as large as possible; since most hashers use the returned
+	 * key and take it modulo some prime number, this will allow for
+	 * better distribution (i.e. bigger empty spaces) in hashed collection.
+	 */
+	hash = __MAKE_HASH__(hash);
+	RETURN ( __mkSmallInteger(hash) );
     }
 %}.
     ^ 0 "never reached, since redefined in UndefinedObject and SmallInteger"
@@ -2188,53 +2188,53 @@
     static unsigned INT nextClassHash = 0;
 
     if (__isNonNilObject(self)) {
-        /*
-         * my own identityHash
-         */
-        hash1 = __GET_HASH(self);
-        if (hash1 == 0) {
-            /* has no hash yet */
-
-            if (++nextHash > __MAX_HASH__) {
-                nextHash = 1;
-            }
-            hash1 = nextHash;
-            __SET_HASH(self, hash1);
-        }
-        /*
-         * my classes identityHash
-         */
-        o = __qClass(self);
-        hash2 = __GET_HASH(o);
-        if (hash2 == 0) {
-            /* has no hash yet */
-
-            if (++nextClassHash > __MAX_HASH__) {
-                nextClassHash = 1;
-            }
-            hash2 = nextClassHash;
-            __SET_HASH(o, hash2);
-        }
-
-        /*
-         * some bits of my size
-         */
-        sz = __qSize(self);
-
-        /*
-         * now, we got 11 + 11 + 8 bits for hashing;
-         * make it as large as possible; since most hashers use the returned
-         * key and take it modulo some prime number, this will allow for
-         * better distribution (i.e. bigger empty spaces) in hashed collection.
-         */
-        hash = (hash1 << 11) | hash2;           /* 22 bits */
-        hash = (hash << 8) | (sz & 0xFC);       /* 30 bits */
-
-        while ((hash & 0x20000000) == 0) {
-            hash <<= 1;
-        }
-
-        RETURN ( __mkSmallInteger(hash) );
+	/*
+	 * my own identityHash
+	 */
+	hash1 = __GET_HASH(self);
+	if (hash1 == 0) {
+	    /* has no hash yet */
+
+	    if (++nextHash > __MAX_HASH__) {
+		nextHash = 1;
+	    }
+	    hash1 = nextHash;
+	    __SET_HASH(self, hash1);
+	}
+	/*
+	 * my classes identityHash
+	 */
+	o = __qClass(self);
+	hash2 = __GET_HASH(o);
+	if (hash2 == 0) {
+	    /* has no hash yet */
+
+	    if (++nextClassHash > __MAX_HASH__) {
+		nextClassHash = 1;
+	    }
+	    hash2 = nextClassHash;
+	    __SET_HASH(o, hash2);
+	}
+
+	/*
+	 * some bits of my size
+	 */
+	sz = __qSize(self);
+
+	/*
+	 * now, we got 11 + 11 + 8 bits for hashing;
+	 * make it as large as possible; since most hashers use the returned
+	 * key and take it modulo some prime number, this will allow for
+	 * better distribution (i.e. bigger empty spaces) in hashed collection.
+	 */
+	hash = (hash1 << 11) | hash2;           /* 22 bits */
+	hash = (hash << 8) | (sz & 0xFC);       /* 30 bits */
+
+	while ((hash & 0x20000000) == 0) {
+	    hash <<= 1;
+	}
+
+	RETURN ( __mkSmallInteger(hash) );
     }
 %}.
     "never reached, since UndefinedObject and SmallInteger are not hashed upon in binary storage"
@@ -2253,13 +2253,13 @@
 
     myClass := self class.
     myClass isVariable ifTrue:[
-        sz := self basicSize.
-        anObject basicSize >= sz ifFalse:[^ false].
-
-        "compare the indexed variables"
-        1 to:sz do:[:i |
-            (self basicAt:i) == (anObject basicAt:i) ifFalse:[^ false].
-        ]
+	sz := self basicSize.
+	anObject basicSize >= sz ifFalse:[^ false].
+
+	"compare the indexed variables"
+	1 to:sz do:[:i |
+	    (self basicAt:i) == (anObject basicAt:i) ifFalse:[^ false].
+	]
     ].
 
     "compare the instance variables"
@@ -2267,7 +2267,7 @@
     anObject class instSize >= sz ifFalse:[^ false].
 
     1 to:sz do:[:i |
-        (self instVarAt:i) == (anObject instVarAt:i) ifFalse:[^ false].
+	(self instVarAt:i) == (anObject instVarAt:i) ifFalse:[^ false].
     ].
 
     ^ true
@@ -2284,9 +2284,9 @@
 ~= anObject
     "return true if the receiver and the arg do not have the same structure.
      Notice:
-        This method is partially open coded (inlined) by the compiler(s)
-        identical objects are never considered unequal.
-        redefining it may not work as expected."
+	This method is partially open coded (inlined) by the compiler(s)
+	identical objects are never considered unequal.
+	redefining it may not work as expected."
 
     ^ (self = anObject) not
 !
@@ -2295,8 +2295,8 @@
     "return true if the receiver and the arg are not the same object.
      Never redefine this in any class.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
@@ -2396,24 +2396,24 @@
     "process the named instance variables"
     sz := myClass instSize.
     1 to:sz do:[:i |
-        t := anObject instVarAt:i.
-        aSymbol ~~ #yourself ifTrue:[
-            t := t perform:aSymbol
-        ].
-        self instVarAt:i put:t
+	t := anObject instVarAt:i.
+	aSymbol ~~ #yourself ifTrue:[
+	    t := t perform:aSymbol
+	].
+	self instVarAt:i put:t
     ].
 
     myClass isVariable ifTrue:[
-        sz := self basicSize.
-
-        "process the indexed instance variables"
-        1 to:sz do:[:i |
-            t := anObject basicAt:i.
-            aSymbol ~~ #yourself ifTrue:[
-                t := t perform:aSymbol.
-            ].
-            self basicAt:i put:t.
-        ]
+	sz := self basicSize.
+
+	"process the indexed instance variables"
+	1 to:sz do:[:i |
+	    t := anObject basicAt:i.
+	    aSymbol ~~ #yourself ifTrue:[
+		t := t perform:aSymbol.
+	    ].
+	    self basicAt:i put:t.
+	]
     ].
 !
 
@@ -2431,53 +2431,53 @@
     prototypesClass := aPrototype class.
     (myClass == prototypesClass
      or:[myClass isSubclassOf:prototypesClass]) ifTrue:[
-        "/ can do better, if my class is a subclass of the prototype's class
-        sz := prototypesClass instSize.
-        1 to: sz do:[:index |
-            self instVarAt:index put:(aPrototype instVarAt:index)
-        ]
+	"/ can do better, if my class is a subclass of the prototype's class
+	sz := prototypesClass instSize.
+	1 to: sz do:[:index |
+	    self instVarAt:index put:(aPrototype instVarAt:index)
+	]
     ] ifFalse:[
-        "/ map instvars by name
-        myInfo := myClass instanceVariableOffsets.
-        prototypesInfo := prototypesClass instanceVariableOffsets.
-        myInfo keysAndValuesDo:[:name :index | |varIndexAssoc|
-            varIndexAssoc := prototypesInfo at:name ifAbsent:[].
-            varIndexAssoc notNil ifTrue:[
-                self instVarAt:index put:(aPrototype instVarAt:(varIndexAssoc value))
-            ]
-        ]
+	"/ map instvars by name
+	myInfo := myClass instanceVariableOffsets.
+	prototypesInfo := prototypesClass instanceVariableOffsets.
+	myInfo keysAndValuesDo:[:name :index | |varIndexAssoc|
+	    varIndexAssoc := prototypesInfo at:name ifAbsent:[].
+	    varIndexAssoc notNil ifTrue:[
+		self instVarAt:index put:(aPrototype instVarAt:(varIndexAssoc value))
+	    ]
+	]
     ].
     myClass isVariable ifTrue:[
-        prototypesClass isVariable ifTrue:[
-            sz := self basicSize min:aPrototype basicSize.
-            1 to:sz do:[:index |
-                self basicAt:index put:(aPrototype basicAt:index)
-            ].
-        ].
+	prototypesClass isVariable ifTrue:[
+	    sz := self basicSize min:aPrototype basicSize.
+	    1 to:sz do:[:index |
+		self basicAt:index put:(aPrototype basicAt:index)
+	    ].
+	].
     ].
 
     "
      Class withoutUpdatingChangesDo:[
-        |point3D|
-
-        point3D := Point subclass:#Point3D
-           instanceVariableNames:'z'
-           classVariableNames:''
-           poolDictionaries:''
-           category:'testing'
-           inEnvironment:nil.
-         (point3D new cloneInstanceVariablesFrom:1@2) inspect.
+	|point3D|
+
+	point3D := Point subclass:#Point3D
+	   instanceVariableNames:'z'
+	   classVariableNames:''
+	   poolDictionaries:''
+	   category:'testing'
+	   inEnvironment:nil.
+	 (point3D new cloneInstanceVariablesFrom:1@2) inspect.
      ]
     "
 
     "
      Class withoutUpdatingChangesDo:[
-         Point variableSubclass:#Point3D_test
-           instanceVariableNames:'z'
-           classVariableNames:''
-           poolDictionaries:''
-           category:'testing'.
-         (((Smalltalk at:#Point3D_test) new:2) cloneInstanceVariablesFrom:#(1 2 3)) inspect.
+	 Point variableSubclass:#Point3D_test
+	   instanceVariableNames:'z'
+	   classVariableNames:''
+	   poolDictionaries:''
+	   category:'testing'.
+	 (((Smalltalk at:#Point3D_test) new:2) cloneInstanceVariablesFrom:#(1 2 3)) inspect.
      ]
     "
 
@@ -2485,19 +2485,19 @@
      |someObject|
 
      Class withoutUpdatingChangesDo:[
-         Object subclass:#TestClass1
-           instanceVariableNames:'foo bar'
-           classVariableNames:''
-           poolDictionaries:''
-           category:'testing'.
-         someObject := TestClass1 new.
-         someObject instVarAt:1 put:'foo'; instVarAt:2 put:'bar'.
-         Object subclass:#TestClass2
-           instanceVariableNames:'bar foo'
-           classVariableNames:''
-           poolDictionaries:''
-           category:'testing'.
-         (TestClass2 new cloneInstanceVariablesFrom:someObject) inspect.
+	 Object subclass:#TestClass1
+	   instanceVariableNames:'foo bar'
+	   classVariableNames:''
+	   poolDictionaries:''
+	   category:'testing'.
+	 someObject := TestClass1 new.
+	 someObject instVarAt:1 put:'foo'; instVarAt:2 put:'bar'.
+	 Object subclass:#TestClass2
+	   instanceVariableNames:'bar foo'
+	   classVariableNames:''
+	   poolDictionaries:''
+	   category:'testing'.
+	 (TestClass2 new cloneInstanceVariablesFrom:someObject) inspect.
      ]
     "
 
@@ -2527,8 +2527,8 @@
 copyToLevel:level
     "a controlled deepCopy, where the number of levels can be specified.
      Notice:
-         This method DOES NOT handle cycles/self-refs and does NOT preserve object identity;
-         i.e. identical references in the source are copied multiple times into the copy."
+	 This method DOES NOT handle cycles/self-refs and does NOT preserve object identity;
+	 i.e. identical references in the source are copied multiple times into the copy."
 
     |newObject newLevel class sz "{Class: SmallInteger}" newInst|
 
@@ -2542,22 +2542,22 @@
     "process the named instance variables"
     sz := class instSize.
     1 to:sz do:[:i |
-        newInst := newObject instVarAt:i.
-        newInst notNil ifTrue:[
-            newObject instVarAt:i put:(newInst copyToLevel:newLevel).
-        ].
+	newInst := newObject instVarAt:i.
+	newInst notNil ifTrue:[
+	    newObject instVarAt:i put:(newInst copyToLevel:newLevel).
+	].
     ].
 
     class isVariable ifTrue:[
-        sz := newObject basicSize.
-
-        "process the indexed instance variables"
-        1 to:sz do:[:i |
-            newInst := newObject basicAt:i.
-            newInst notNil ifTrue:[
-                newObject basicAt:i put:(newInst copyToLevel:newLevel).
-            ].
-        ]
+	sz := newObject basicSize.
+
+	"process the indexed instance variables"
+	1 to:sz do:[:i |
+	    newInst := newObject basicAt:i.
+	    newInst notNil ifTrue:[
+		newObject basicAt:i put:(newInst copyToLevel:newLevel).
+	    ].
+	]
     ].
     ^ newObject
 
@@ -2565,24 +2565,24 @@
      |a b|
 
      a := #(
-            '1.1'
-            '1.2'
-            '1.3'
-            (
-                '1.41'
-                '1.42'
-                '1.43'
-                    (
-                        '1.441'
-                        '1.442'
-                        '1.443'
-                        ( '1.4441' '1.4442' '1.4443' )
-                        '1.445'
-                    )
-                '1.45'
-            )
-            '1.5'
-           ).
+	    '1.1'
+	    '1.2'
+	    '1.3'
+	    (
+		'1.41'
+		'1.42'
+		'1.43'
+		    (
+			'1.441'
+			'1.442'
+			'1.443'
+			( '1.4441' '1.4442' '1.4443' )
+			'1.445'
+		    )
+		'1.45'
+	    )
+	    '1.5'
+	   ).
 
       b := a copyToLevel:1.
       self assert: ( (a at:1) == (b at:1) ).
@@ -2679,11 +2679,11 @@
 
     myClass := self class.
     myClass isVariable ifTrue:[
-        basicSize := self basicSize.
-        aCopy := self speciesForCopy basicNew:basicSize.
+	basicSize := self basicSize.
+	aCopy := self speciesForCopy basicNew:basicSize.
     ] ifFalse:[
-        basicSize := 0.
-        aCopy := self speciesForCopy basicNew
+	basicSize := 0.
+	aCopy := self speciesForCopy basicNew
     ].
     aCopy setHashFrom:self.
     aDictionary at:self put:aCopy.
@@ -2693,40 +2693,40 @@
     "
     instSize := myClass instSize.
     1 to:instSize do:[:i |
-        (self skipInstvarIndexInDeepCopy:i) ifFalse:[
-            iOrig := self instVarAt:i.
-            iOrig notNil ifTrue:[
-                iCopy := aDictionary at:iOrig ifAbsent:nil.
-                iCopy isNil ifTrue:[
-                    iCopy := iOrig deepCopyUsing:aDictionary postCopySelector:postCopySelector
-                ].
-                aCopy instVarAt:i put:iCopy
-            ]
-        ]
+	(self skipInstvarIndexInDeepCopy:i) ifFalse:[
+	    iOrig := self instVarAt:i.
+	    iOrig notNil ifTrue:[
+		iCopy := aDictionary at:iOrig ifAbsent:nil.
+		iCopy isNil ifTrue:[
+		    iCopy := iOrig deepCopyUsing:aDictionary postCopySelector:postCopySelector
+		].
+		aCopy instVarAt:i put:iCopy
+	    ]
+	]
     ].
 
     "
      copy indexed instvars - if any
     "
     basicSize ~~ 0 ifTrue:[
-        myClass isBits ifTrue:[
-            "block-copy indexed instvars"
-            aCopy replaceFrom:1 to:basicSize with:self startingAt:1
-        ] ifFalse:[
-            "individual deep copy the indexed variables"
-            1 to:basicSize do:[:i |
-                iOrig := self basicAt:i.
-                iOrig notNil ifTrue:[
-                    "/ used to be dict-includesKey-ifTrue[dict-at:],
-                    "/ changed to use dict-at:ifAbsent:, to avoid double lookup in dictionary
-                    iCopy := aDictionary at:iOrig ifAbsent:nil.
-                    iCopy isNil ifTrue:[
-                        iCopy := iOrig deepCopyUsing:aDictionary postCopySelector:postCopySelector
-                    ].
-                    aCopy basicAt:i put:iCopy
-                ]
-            ]
-        ]
+	myClass isBits ifTrue:[
+	    "block-copy indexed instvars"
+	    aCopy replaceFrom:1 to:basicSize with:self startingAt:1
+	] ifFalse:[
+	    "individual deep copy the indexed variables"
+	    1 to:basicSize do:[:i |
+		iOrig := self basicAt:i.
+		iOrig notNil ifTrue:[
+		    "/ used to be dict-includesKey-ifTrue[dict-at:],
+		    "/ changed to use dict-at:ifAbsent:, to avoid double lookup in dictionary
+		    iCopy := aDictionary at:iOrig ifAbsent:nil.
+		    iCopy isNil ifTrue:[
+			iCopy := iOrig deepCopyUsing:aDictionary postCopySelector:postCopySelector
+		    ].
+		    aCopy basicAt:i put:iCopy
+		]
+	    ]
+	]
     ].
 
     aCopy perform:postCopySelector withOptionalArgument:self and:aDictionary.
@@ -2765,9 +2765,9 @@
     REGISTER unsigned h;
 
     if (__isNonNilObject(self) && __isNonNilObject(anObject)) {
-        h = __GET_HASH(anObject);
-        __SET_HASH(self, h);
-        RETURN (self);
+	h = __GET_HASH(anObject);
+	__SET_HASH(self, h);
+	RETURN (self);
     }
 %}.
     self primitiveFailed    "neither receiver not arg may be nil or SmallInteger"
@@ -2792,54 +2792,54 @@
      */
     if (((flags & ~ARRAYMASK) == 0)
      && ((flags & ARRAYMASK) != WKPOINTERARRAY)) {
-        sz = __qSize(self);
-        __PROTECT__(self);
-        __qNew(theCopy, sz);    /* OBJECT ALLOCATION */
-        __UNPROTECT__(self);
-        if (theCopy) {
-            cls = __qClass(self);
-            spc = __qSpace(theCopy);
-
-            theCopy->o_class = cls; __STORE_SPC(theCopy, cls, spc);
-
-            sz = sz - OHDR_SIZE;
-            if (sz) {
-                char *src, *dst;
-
-                src = (char *)(__InstPtr(self)->i_instvars);
-                dst = (char *)(__InstPtr(theCopy)->i_instvars);
+	sz = __qSize(self);
+	__PROTECT__(self);
+	__qNew(theCopy, sz);    /* OBJECT ALLOCATION */
+	__UNPROTECT__(self);
+	if (theCopy) {
+	    cls = __qClass(self);
+	    spc = __qSpace(theCopy);
+
+	    theCopy->o_class = cls; __STORE_SPC(theCopy, cls, spc);
+
+	    sz = sz - OHDR_SIZE;
+	    if (sz) {
+		char *src, *dst;
+
+		src = (char *)(__InstPtr(self)->i_instvars);
+		dst = (char *)(__InstPtr(theCopy)->i_instvars);
 #ifdef bcopy4
-                {
-                    /* care for odd-number of longs */
-                    int nW = sz >> 2;
-
-                    if (sz & 3) {
-                        nW++;
-                    }
-
-                    bcopy4(src, dst, nW);
-                }
+		{
+		    /* care for odd-number of longs */
+		    int nW = sz >> 2;
+
+		    if (sz & 3) {
+			nW++;
+		    }
+
+		    bcopy4(src, dst, nW);
+		}
 #else
-                bcopy(src, dst, sz);
+		bcopy(src, dst, sz);
 #endif
 
-                flags &= ARRAYMASK;
-                if (flags == POINTERARRAY) {
-                    ninsts = __BYTES2OBJS__(sz);
-                } else {
-                    ninsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
-                }
-                if (ninsts) {
-                    do {
-                        OBJ el;
-
-                        el = __InstPtr(theCopy)->i_instvars[ninsts-1];
-                        __STORE_SPC(theCopy, el, spc);
-                    } while (--ninsts);
-                }
-            }
-            RETURN (theCopy);
-        }
+		flags &= ARRAYMASK;
+		if (flags == POINTERARRAY) {
+		    ninsts = __BYTES2OBJS__(sz);
+		} else {
+		    ninsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
+		}
+		if (ninsts) {
+		    do {
+			OBJ el;
+
+			el = __InstPtr(theCopy)->i_instvars[ninsts-1];
+			__STORE_SPC(theCopy, el, spc);
+		    } while (--ninsts);
+		}
+	    }
+	    RETURN (theCopy);
+	}
     }
 %}.
     "/ fallBack for special objects & memoryAllocation failure case
@@ -2859,9 +2859,9 @@
     |myClass aCopy|
 
     (myClass := self class) isVariable ifTrue:[
-        aCopy := myClass basicNew:(self basicSize).
+	aCopy := myClass basicNew:(self basicSize).
     ] ifFalse:[
-        aCopy := myClass basicNew
+	aCopy := myClass basicNew
     ].
 
     "copy the instance variables"
@@ -2894,9 +2894,9 @@
     |myClass aCopy|
 
     (myClass := self class) isVariable ifTrue:[
-        aCopy := myClass basicNew:(self basicSize).
+	aCopy := myClass basicNew:(self basicSize).
     ] ifFalse:[
-        aCopy := myClass basicNew
+	aCopy := myClass basicNew
     ].
 
     "copy the instance variables"
@@ -2955,10 +2955,10 @@
 
     "/ could still be a block or false.
     (aBooleanOrBlock value) ifFalse:[
-        AssertionFailedError
-            raiseRequestWith:self
-            errorString:messageIfFailing
-            in:thisContext sender
+	AssertionFailedError
+	    raiseRequestWith:self
+	    errorString:messageIfFailing
+	    in:thisContext sender
     ].
 
     "
@@ -2988,12 +2988,12 @@
      this method should NOT be redefined in subclasses."
 
     Inspector isNil ifTrue:[
-        "
-         for systems without GUI
-        "
-        self warn:'No Inspector defined (Inspector is nil).'
+	"
+	 for systems without GUI
+	"
+	self warn:'No Inspector defined (Inspector is nil).'
     ] ifFalse:[
-        Inspector openOn:self
+	Inspector openOn:self
     ]
 
     "Modified: 18.5.1996 / 15:43:25 / cg"
@@ -3013,9 +3013,9 @@
 
     "/ don't send #breakPoint:info: here - ask cg why.
     (self isBreakPointEnabled:someKey) ifTrue:[
-        ^ HaltSignal
-            raiseRequestWith:someKey
-            errorString:('Breakpoint encountered: %1' bindWith:someKey)
+	^ HaltSignal
+	    raiseRequestWith:someKey
+	    errorString:('Breakpoint encountered: %1' bindWith:someKey)
     ].
 
     "
@@ -3045,9 +3045,9 @@
     <resource: #skipInDebuggersWalkBack>
 
     (self isBreakPointEnabled:someKey) ifTrue:[
-        ^ HaltSignal
-            raiseRequestWith:someKey
-            errorString:(infoString bindWith:someKey)
+	^ HaltSignal
+	    raiseRequestWith:someKey
+	    errorString:(infoString bindWith:someKey)
     ].
 !
 
@@ -3065,7 +3065,7 @@
     <resource: #skipInDebuggersWalkBack>
 
     (self isBreakPointEnabled:someKey) ifTrue:[
-        aBlock value
+	aBlock value
     ].
 
     "
@@ -3101,8 +3101,8 @@
     "{ Pragma: +optSpace }"
 
     EnabledBreakPoints notNil ifTrue:[
-        EnabledBreakPoints remove:someKey ifAbsent:[].
-        EnabledBreakPoints := EnabledBreakPoints asNilIfEmpty.
+	EnabledBreakPoints remove:someKey ifAbsent:[].
+	EnabledBreakPoints := EnabledBreakPoints asNilIfEmpty.
     ].
 
     "
@@ -3121,7 +3121,7 @@
     "{ Pragma: +optSpace }"
 
     EnabledBreakPoints isNil ifTrue:[
-        EnabledBreakPoints := Set new.
+	EnabledBreakPoints := Set new.
     ].
     EnabledBreakPoints add:someKey.
 
@@ -3149,7 +3149,7 @@
     ^ self
 
     "
-        (3 halt * 5)
+	(3 halt * 5)
     "
 
     "Modified: / 02-08-1999 / 17:00:29 / stefan"
@@ -3194,7 +3194,7 @@
 "/    something = OperatingSystem getLoginName ifTrue:[^ true].
 "/    something = 'testThis' ifTrue:[^ true].
     EncounteredBreakPoints notNil ifTrue:[
-        EncounteredBreakPoints add:someKey
+	EncounteredBreakPoints add:someKey
     ].
 
     ^ (EnabledBreakPoints notNil and:[ EnabledBreakPoints includes:someKey ])
@@ -3227,18 +3227,18 @@
     "for compatibility & debugging support:
      check if the receiver isKindOf:aClass and raise an error if not.
      Notice:
-        it is VERY questionable, if it makes sense to add manual
-        type checks to a dynamically typed language like smalltalk.
-        It will, at least, slow down performance,
-        make your code less reusable and clutter your code with stupid sends
-        of this selector. Also, read the comment in isKindOf:, regarding the
-        use of isXXX check methods.
+	it is VERY questionable, if it makes sense to add manual
+	type checks to a dynamically typed language like smalltalk.
+	It will, at least, slow down performance,
+	make your code less reusable and clutter your code with stupid sends
+	of this selector. Also, read the comment in isKindOf:, regarding the
+	use of isXXX check methods.
      You see: The author does not like this at all ..."
 
     <resource: #skipInDebuggersWalkBack>
 
     (self isKindOf:aClass) ifFalse:[
-        self error:'argument is not of expected type'
+	self error:'argument is not of expected type'
     ]
 !
 
@@ -3286,7 +3286,7 @@
     ('         called from ' , sender sender printString) infoPrintCR.
     ].
     message notNil ifTrue:[
-        '------>  ' infoPrint. message infoPrintCR
+	'------>  ' infoPrint. message infoPrintCR
     ]
 
     "
@@ -3331,8 +3331,8 @@
     |spec sender message|
 
     Smalltalk isSmalltalkDevelopmentSystem ifFalse:[
-        "ignore in production systems"
-        ^ self.
+	"ignore in production systems"
+	^ self.
     ].
 
     message := messageOrNil ? 'Obsolete method called'.
@@ -3343,29 +3343,29 @@
     ('         And may not be present in future ST/X versions.') infoPrintCR.
     ('         called from ' , sender printString) infoPrintCR.
     (sender selector startsWith:'perform:') ifTrue:[
-        sender := sender sender.
-        (sender selector startsWith:'perform:') ifTrue:[
-            sender := sender sender.
-        ].
-        ('         called from ' , sender printString) infoPrintCR.
+	sender := sender sender.
+	(sender selector startsWith:'perform:') ifTrue:[
+	    sender := sender sender.
+	].
+	('         called from ' , sender printString) infoPrintCR.
     ].
     message notNil ifTrue:[
-        '------>  ' infoPrint. message infoPrintCR
+	'------>  ' infoPrint. message infoPrintCR
     ].
 
     "CG: care for standalone non-GUI progs, which have no userPreferences class"
     (Smalltalk isInitialized
     and:[ UserPreferences notNil
     and:[ UserPreferences current haltInObsoleteMethod]]) ifTrue:[
-        "/ cg: nice try, stefan, but I don't want halts in system processes (fly by help and others)
-        Processor activeProcess isSystemProcess ifTrue:[
-            (message , ' - please fix this now (no halt in system process)') infoPrintCR
-        ] ifFalse:[
-            "/ please check for the sender of the obsoleteMethodWarning,
-            "/ and fix the code there.
-            "/ ObsoleteMethodCallWarning ignoreWarningFrom:thisContext
-            ObsoleteMethodCallWarning raiseRequestErrorString:(message , ' - please fix this now!!')
-        ].
+	"/ cg: nice try, stefan, but I don't want halts in system processes (fly by help and others)
+	Processor activeProcess isSystemProcess ifTrue:[
+	    (message , ' - please fix this now (no halt in system process)') infoPrintCR
+	] ifFalse:[
+	    "/ please check for the sender of the obsoleteMethodWarning,
+	    "/ and fix the code there.
+	    "/ ObsoleteMethodCallWarning ignoreWarningFrom:thisContext
+	    ObsoleteMethodCallWarning raiseRequestErrorString:(message , ' - please fix this now!!')
+	].
     ].
 
     "
@@ -3377,7 +3377,7 @@
 
 todo
     "used to mark code pieces that have to be implemented.
-     Halts when reached in development mode; 
+     Halts when reached in development mode;
      ignored in deployed production code."
 
     <resource: #skipInDebuggersWalkBack>
@@ -3387,9 +3387,9 @@
     "
      example:
 
-        ...
-        self todo.
-        ...
+	...
+	self todo.
+	...
     "
 !
 
@@ -3405,11 +3405,11 @@
     "
      example:
 
-        ...
-        self todo:[
-            code which needs more work ...
-        ].
-        ...
+	...
+	self todo:[
+	    code which needs more work ...
+	].
+	...
     "
 
     "Created: / 25-05-2007 / 21:34:39 / cg"
@@ -3427,10 +3427,10 @@
     "Example:   nil tracePoint:#stefan"
 
     (self isBreakPointEnabled:someKey) ifTrue:[
-        ^ Transcript showCR:('Tracepoint (at %1 for %3 from %2)'
-                                bindWith:(Timestamp now printString)
-                                with:(thisContext sender printString)
-                                with:someKey)
+	^ Transcript showCR:('Tracepoint (at %1 for %3 from %2)'
+				bindWith:(Timestamp now printString)
+				with:(thisContext sender printString)
+				with:someKey)
     ].
 
     "
@@ -3454,11 +3454,11 @@
     "Example:   nil tracePoint:#stefan"
 
     (self isBreakPointEnabled:someKey) ifTrue:[
-        Transcript showCR:('Tracepoint: %4 (at %1 for %3 from %2)'
-                                bindWith:(Timestamp now printString)
-                                with:(thisContext sender printString)
-                                with:someKey
-                                with:messageBlockOrString value)
+	Transcript showCR:('Tracepoint: %4 (at %1 for %3 from %2)'
+				bindWith:(Timestamp now printString)
+				with:(thisContext sender printString)
+				with:someKey
+				with:messageBlockOrString value)
     ].
 
     "
@@ -3486,35 +3486,35 @@
 
     wasBlocked := OperatingSystem blockInterrupts.
     [
-        |deps dep|
-
-        deps := self dependents.
-
-        "/ to save a fair amount of memory in case of
-        "/ many dependencies, we store a single dependent in
-        "/ a WeakArray, and switch to a WeakSet if more dependents are
-        "/ added.
-
-        (deps isNil or:[deps isEmpty]) ifTrue:[
-            self dependents:(WeakArray with:anObject)
-        ] ifFalse:[
-            deps class == WeakArray ifTrue:[
-                dep := deps at:1.
-                dep ~~ anObject ifTrue:[
-                    (dep isNil or:[dep class == SmallInteger "old dependent already collected"]) ifTrue:[
-                        deps at:1 put:anObject
-                    ] ifFalse:[
-                        self dependents:(WeakIdentitySet with:dep with:anObject)
-                    ]
-                ]
-            ] ifFalse:[
-                deps add:anObject
-            ]
-        ]
+	|deps dep|
+
+	deps := self dependents.
+
+	"/ to save a fair amount of memory in case of
+	"/ many dependencies, we store a single dependent in
+	"/ a WeakArray, and switch to a WeakSet if more dependents are
+	"/ added.
+
+	(deps isNil or:[deps isEmpty]) ifTrue:[
+	    self dependents:(WeakArray with:anObject)
+	] ifFalse:[
+	    deps class == WeakArray ifTrue:[
+		dep := deps at:1.
+		dep ~~ anObject ifTrue:[
+		    (dep isNil or:[dep class == SmallInteger "old dependent already collected"]) ifTrue:[
+			deps at:1 put:anObject
+		    ] ifFalse:[
+			self dependents:(WeakIdentitySet with:dep with:anObject)
+		    ]
+		]
+	    ] ifFalse:[
+		deps add:anObject
+	    ]
+	]
     ] ensure:[
-        wasBlocked ifFalse:[
-            OperatingSystem unblockInterrupts
-        ]
+	wasBlocked ifFalse:[
+	    OperatingSystem unblockInterrupts
+	]
     ]
 
     "Modified: / 27-10-1997 / 19:35:52 / cg"
@@ -3538,10 +3538,10 @@
 
     self breakDependents.
     1 to:self class instSize do:[:idx |
-        (self instVarAt:idx) breakDependentsRecursively.
+	(self instVarAt:idx) breakDependentsRecursively.
     ].
     1 to:self basicSize do:[:idx |
-        (self basicAt:idx) breakDependentsRecursively.
+	(self basicAt:idx) breakDependentsRecursively.
     ]
 !
 
@@ -3556,7 +3556,7 @@
     ^ Dependencies at:self ifAbsent:#()
 
     "
-        #(1 2 3) dependents
+	#(1 2 3) dependents
     "
 
     "Modified: / 26-01-1998 / 11:18:15 / cg"
@@ -3575,24 +3575,24 @@
     "/ faster execution (and to avoid creation of garbage blocks).
 
     (OperatingSystem blockInterrupts) ifTrue:[
-        "/ the common case - already blocked
-
-        (aCollection isNil or:[aCollection isEmpty]) ifTrue:[
-            Dependencies removeKey:self ifAbsent:nil
-        ] ifFalse:[
-            Dependencies at:self put:aCollection
-        ].
-        ^ self
+	"/ the common case - already blocked
+
+	(aCollection isNil or:[aCollection isEmpty]) ifTrue:[
+	    Dependencies removeKey:self ifAbsent:nil
+	] ifFalse:[
+	    Dependencies at:self put:aCollection
+	].
+	^ self
     ].
 
     [
-        (aCollection isNil or:[aCollection isEmpty]) ifTrue:[
-            Dependencies removeKey:self ifAbsent:nil
-        ] ifFalse:[
-            Dependencies at:self put:aCollection
-        ].
+	(aCollection isNil or:[aCollection isEmpty]) ifTrue:[
+	    Dependencies removeKey:self ifAbsent:nil
+	] ifFalse:[
+	    Dependencies at:self put:aCollection
+	].
     ] ensure:[
-        OperatingSystem unblockInterrupts
+	OperatingSystem unblockInterrupts
     ]
 
     "Modified: 30.1.1997 / 21:22:10 / cg"
@@ -3605,15 +3605,15 @@
 
     deps := self dependents.
     deps notNil ifTrue:[
-        deps do:[:d |
-                    (d notNil and:[d class ~~ SmallInteger]) ifTrue:[
-                        aBlock value:d
-                    ]
-                ]
+	deps do:[:d |
+		    (d notNil and:[d class ~~ SmallInteger]) ifTrue:[
+			aBlock value:d
+		    ]
+		]
     ].
     nwDeps := self nonWeakDependents.
     (nwDeps ~~ deps and:[nwDeps notNil]) ifTrue:[
-        nwDeps do:aBlock
+	nwDeps do:aBlock
     ].
 
     "Modified: / 30-01-1998 / 14:03:40 / cg"
@@ -3650,45 +3650,45 @@
 
     wasBlocked := OperatingSystem blockInterrupts.
     [
-        |deps n dep|
-
-        deps := self dependents.
-        deps notEmptyOrNil ifTrue:[
-            "/ to save a fair amount of memory in case of
-            "/ many dependencies, we store a single dependent in
-            "/ a WeakArray, and switch to a WeakSet if more dependents are
-            "/ added. Here we have to do the inverse ...
-
-            ((deps class == WeakArray) or:[deps class == Array]) ifTrue:[
-                ((dep := deps at:1) == anObject
-                  or:[dep isNil
-                  or:[dep class == SmallInteger]]) ifTrue:[
-                    self dependents:nil
-                ]
-            ] ifFalse:[
-                dep := deps remove:anObject ifAbsent:[].
-                "if dep is nil, nothing has changed"
-                dep notNil ifTrue:[
-                    (n := deps size) == 0 ifTrue:[
-                        self dependents:nil
-                    ] ifFalse:[
-                        n == 1 ifTrue:[
-                            dep := deps firstIfEmpty:nil.
-                            dep notNil ifTrue:[
-                                deps := (deps isWeakCollection ifTrue:[WeakArray] ifFalse:[Array]) with:dep
-                            ] ifFalse:[
-                                deps := nil
-                            ].
-                            self dependents:deps.
-                        ]
-                    ].
-                ].
-            ]
-        ]
+	|deps n dep|
+
+	deps := self dependents.
+	deps notEmptyOrNil ifTrue:[
+	    "/ to save a fair amount of memory in case of
+	    "/ many dependencies, we store a single dependent in
+	    "/ a WeakArray, and switch to a WeakSet if more dependents are
+	    "/ added. Here we have to do the inverse ...
+
+	    ((deps class == WeakArray) or:[deps class == Array]) ifTrue:[
+		((dep := deps at:1) == anObject
+		  or:[dep isNil
+		  or:[dep class == SmallInteger]]) ifTrue:[
+		    self dependents:nil
+		]
+	    ] ifFalse:[
+		dep := deps remove:anObject ifAbsent:[].
+		"if dep is nil, nothing has changed"
+		dep notNil ifTrue:[
+		    (n := deps size) == 0 ifTrue:[
+			self dependents:nil
+		    ] ifFalse:[
+			n == 1 ifTrue:[
+			    dep := deps firstIfEmpty:nil.
+			    dep notNil ifTrue:[
+				deps := (deps isWeakCollection ifTrue:[WeakArray] ifFalse:[Array]) with:dep
+			    ] ifFalse:[
+				deps := nil
+			    ].
+			    self dependents:deps.
+			]
+		    ].
+		].
+	    ]
+	]
     ] ensure:[
-        wasBlocked ifFalse:[
-            OperatingSystem unblockInterrupts
-        ]
+	wasBlocked ifFalse:[
+	    OperatingSystem unblockInterrupts
+	]
     ]
 
     "Modified: / 05-07-2011 / 22:49:31 / cg"
@@ -3712,37 +3712,37 @@
 
     wasBlocked := OperatingSystem blockInterrupts.
     [
-        |deps dep|
-
-        deps := self nonWeakDependents.
-
-        "/ to save a fair amount of memory in case of
-        "/ many dependencies, we store a single dependent in
-        "/ an Array, and switch to a Set if more dependents are
-        "/ added.
-
-        deps isEmptyOrNil ifTrue:[
-            anObject notNil ifTrue:[
-                self nonWeakDependents:(Array with:anObject).
-            ] ifFalse:[
-                "adding nil causes problems when adding the next one
-                 (see below: trying to add nil to IdentitySet)"
+	|deps dep|
+
+	deps := self nonWeakDependents.
+
+	"/ to save a fair amount of memory in case of
+	"/ many dependencies, we store a single dependent in
+	"/ an Array, and switch to a Set if more dependents are
+	"/ added.
+
+	deps isEmptyOrNil ifTrue:[
+	    anObject notNil ifTrue:[
+		self nonWeakDependents:(Array with:anObject).
+	    ] ifFalse:[
+		"adding nil causes problems when adding the next one
+		 (see below: trying to add nil to IdentitySet)"
 "/                self halt:'try to add nil to list of dependents'.
-            ].
-        ] ifFalse:[
-            deps class == Array ifTrue:[
-                dep := deps at:1.
-                dep ~~ anObject ifTrue:[
-                    self nonWeakDependents:(IdentitySet with:dep with:anObject)
-                ]
-            ] ifFalse:[
-                deps add:anObject
-            ]
-        ]
+	    ].
+	] ifFalse:[
+	    deps class == Array ifTrue:[
+		dep := deps at:1.
+		dep ~~ anObject ifTrue:[
+		    self nonWeakDependents:(IdentitySet with:dep with:anObject)
+		]
+	    ] ifFalse:[
+		deps add:anObject
+	    ]
+	]
     ] ensure:[
-        wasBlocked ifFalse:[
-            OperatingSystem unblockInterrupts
-        ]
+	wasBlocked ifFalse:[
+	    OperatingSystem unblockInterrupts
+	]
     ]
 
     "Created: / 19-04-1996 / 10:54:08 / cg"
@@ -3766,11 +3766,11 @@
      This is a private helper for directed dependencies."
 
     [
-        (aCollection isNil or:[aCollection isEmpty]) ifTrue:[
-            NonWeakDependencies removeKey:self ifAbsent:nil
-        ] ifFalse:[
-            NonWeakDependencies at:self put:aCollection
-        ]
+	(aCollection isNil or:[aCollection isEmpty]) ifTrue:[
+	    NonWeakDependencies removeKey:self ifAbsent:nil
+	] ifFalse:[
+	    NonWeakDependencies at:self put:aCollection
+	]
     ] valueUninterruptably
 
     "Created: 19.4.1996 / 11:07:47 / cg"
@@ -3789,29 +3789,29 @@
 
     wasBlocked := OperatingSystem blockInterrupts.
     [
-        |deps n|
-
-        deps := self nonWeakDependents.
-        deps notEmptyOrNil ifTrue:[
-            deps class == Array ifTrue:[
-                (deps at:1) == anObject ifTrue:[
-                    self nonWeakDependents:nil
-                ]
-            ] ifFalse:[
-                deps remove:anObject ifAbsent:[].
-                (n := deps size) == 0 ifTrue:[
-                    self nonWeakDependents:nil
-                ] ifFalse:[
-                    n == 1 ifTrue:[
-                        self nonWeakDependents:(Array with:(deps first))
-                    ]
-                ]
-            ]
-        ]
+	|deps n|
+
+	deps := self nonWeakDependents.
+	deps notEmptyOrNil ifTrue:[
+	    deps class == Array ifTrue:[
+		(deps at:1) == anObject ifTrue:[
+		    self nonWeakDependents:nil
+		]
+	    ] ifFalse:[
+		deps remove:anObject ifAbsent:[].
+		(n := deps size) == 0 ifTrue:[
+		    self nonWeakDependents:nil
+		] ifFalse:[
+		    n == 1 ifTrue:[
+			self nonWeakDependents:(Array with:(deps first))
+		    ]
+		]
+	    ]
+	]
     ] ensure:[
-        wasBlocked ifFalse:[
-            OperatingSystem unblockInterrupts
-        ]
+	wasBlocked ifFalse:[
+	    OperatingSystem unblockInterrupts
+	]
     ]
 
     "Created: / 19-04-1996 / 11:44:44 / cg"
@@ -3852,11 +3852,11 @@
      (although the fallBack is to display its printString ...)"
 
     aGCOrStream isStream ifFalse:[
-        "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
-        "/ old ST80 means: draw-yourself on a GC.
-        self obsoleteFeatureWarning:'displayOn: should not be used to display objects in a GC'.
-        self displayOn:aGCOrStream x:0 y:0.
-        ^ self.
+	"/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
+	"/ old ST80 means: draw-yourself on a GC.
+	self obsoleteFeatureWarning:'displayOn: should not be used to display objects in a GC'.
+	self displayOn:aGCOrStream x:0 y:0.
+	^ self.
     ].
     self printOn:aGCOrStream.
 
@@ -3896,9 +3896,9 @@
     s := self isString ifTrue:[self] ifFalse:[self displayString].
     yBaseline := y "+ aGc font ascent".
     opaque ifTrue:[
-        aGc displayOpaqueString:s x:x y:yBaseline.
+	aGc displayOpaqueString:s x:x y:yBaseline.
     ] ifFalse:[
-        aGc displayString:s x:x y:yBaseline.
+	aGc displayString:s x:x y:yBaseline.
     ].
 
     "Modified: 29.5.1996 / 16:29:38 / cg"
@@ -3920,14 +3920,14 @@
      but sometimes redefined for a better look.
 
      Note: the base method (used by the inspector) is #displayOn:.
-           So you should implement #displayOn: instead of #displayString in subclasses."
+	   So you should implement #displayOn: instead of #displayString in subclasses."
 
     |s|
 
     "/ attention: TextStream is not present in ultra-mini standalone apps
     s := TextStream isNil
-            ifTrue:['' writeStream]
-            ifFalse:[TextStream on:(String new:32)].
+	    ifTrue:['' writeStream]
+	    ifFalse:[TextStream on:(String new:32)].
     self displayOn:s.
     ^ s contents
 
@@ -4098,33 +4098,33 @@
     stop := aSpecArray size.
 
     2 to:stop by:2 do:[:i|
-        sel := aSpecArray at:i.
-        litVal := aSpecArray at:i + 1.
-
-        (self respondsTo:sel) ifTrue:[
-            val := litVal decodeAsLiteralArray.
-            self perform:sel with:val
-        ] ifFalse:[
-            "/ that's a debug halt,
-            "/ it should probably be removed (to simply ignore unhandled attributes)...
-            "/ for now, it is left in, in order to easily find incompatibilities between
-            "/ VW and ST/X.
-            self breakPoint:#cg.
-
-            msg := '%1: unhandled literalArrayEncoding attribute: %2'
-                        bindWith:self class name
-                        with:sel.
-            UnhandledAttributeInLiteralArrayErrorSignal isHandled ifTrue:[
-                |ex|
-                ex := UnhandledAttributeInLiteralArrayErrorSignal new.
-                ex
-                    badLiteralArray:self;
-                    parameter:sel;
-                    notify:msg.
-            ] ifFalse:[
-                msg infoPrintCR.
-            ].
-        ]
+	sel := aSpecArray at:i.
+	litVal := aSpecArray at:i + 1.
+
+	(self respondsTo:sel) ifTrue:[
+	    val := litVal decodeAsLiteralArray.
+	    self perform:sel with:val
+	] ifFalse:[
+	    "/ that's a debug halt,
+	    "/ it should probably be removed (to simply ignore unhandled attributes)...
+	    "/ for now, it is left in, in order to easily find incompatibilities between
+	    "/ VW and ST/X.
+	    self breakPoint:#cg.
+
+	    msg := '%1: unhandled literalArrayEncoding attribute: %2'
+			bindWith:self class name
+			with:sel.
+	    UnhandledAttributeInLiteralArrayErrorSignal isHandled ifTrue:[
+		|ex|
+		ex := UnhandledAttributeInLiteralArrayErrorSignal new.
+		ex
+		    badLiteralArray:self;
+		    parameter:sel;
+		    notify:msg.
+	    ] ifFalse:[
+		msg infoPrintCR.
+	    ].
+	]
     ]
 
     "Modified: / 19-07-2018 / 12:12:14 / Stefan Vogel"
@@ -4142,7 +4142,7 @@
     |names encoding cls skipped slots virtualSlots|
 
     self isLiteral ifTrue:[
-        ^ self
+	^ self
     ].
 
     slots    := self literalArrayEncodingSlotOrder.
@@ -4154,32 +4154,32 @@
     encoding add:cls name.
 
     slots do:[:instSlot |
-        |value nm|
-
-        nm := names at:instSlot.
-        (skipped includes:nm) ifFalse:[
-            (value := self instVarAt:instSlot) notNil ifTrue:[
-                encoding add:(nm asMutator).
-                encoding add:value literalArrayEncoding
-            ]
-        ]
+	|value nm|
+
+	nm := names at:instSlot.
+	(skipped includes:nm) ifFalse:[
+	    (value := self instVarAt:instSlot) notNil ifTrue:[
+		encoding add:(nm asMutator).
+		encoding add:value literalArrayEncoding
+	    ]
+	]
     ].
     virtualSlots do:[:vSlotName |
-        |value|
-
-        (skipped includes:vSlotName) ifFalse:[
-            (value := self perform:vSlotName) notNil ifTrue:[
-                encoding add:(vSlotName asMutator).
-                encoding add:value literalArrayEncoding
-            ]
-        ]
+	|value|
+
+	(skipped includes:vSlotName) ifFalse:[
+	    (value := self perform:vSlotName) notNil ifTrue:[
+		encoding add:(vSlotName asMutator).
+		encoding add:value literalArrayEncoding
+	    ]
+	]
     ].
     ^ encoding asArray
 
     "
-        (1 -> 2) literalArrayEncoding
-        DebugView menuSpec decodeAsLiteralArray literalArrayEncoding  =
-           DebugView menuSpec
+	(1 -> 2) literalArrayEncoding
+	DebugView menuSpec decodeAsLiteralArray literalArrayEncoding  =
+	   DebugView menuSpec
     "
 
     "Modified (comment): / 09-08-2018 / 17:31:51 / Claus Gittinger"
@@ -4298,8 +4298,8 @@
     <resource: #skipInDebuggersWalkBack>
 
     ^ VMInternalError
-          raiseWith:someReceiver
-          errorString:('bad class in send of #' , aMessage selector)
+	  raiseWith:someReceiver
+	  errorString:('bad class in send of #' , aMessage selector)
 
     "Modified: 23.1.1997 / 00:05:39 / cg"
 !
@@ -4438,7 +4438,7 @@
     <resource: #skipInDebuggersWalkBack>
 
     mayProceed ifTrue:[
-        ^ ProceedableError raiseRequestWith:#error: errorString:aString
+	^ ProceedableError raiseRequestWith:#error: errorString:aString
     ].
 
     Error raiseWith:#error: errorString:aString
@@ -4557,7 +4557,7 @@
     <resource: #skipInDebuggersWalkBack>
 
     index isInteger ifFalse:[
-        ^ self indexNotInteger:index
+	^ self indexNotInteger:index
     ].
     ^ self subscriptBoundsError:index
 !
@@ -4572,9 +4572,9 @@
 "/    ^ self error:'bad assign of ' , self printString ,
 "/                  ' (' , self class name , ') to integer-typed variable'
     ^ InvalidTypeError
-        raiseRequestErrorString:(
-            'bad assign of ' , self printString ,
-                  ' (' , self class name , ') to integer-typed variable')
+	raiseRequestErrorString:(
+	    'bad assign of ' , self printString ,
+		  ' (' , self class name , ') to integer-typed variable')
 
     "Modified: / 02-11-2012 / 10:25:36 / cg"
 !
@@ -4588,7 +4588,7 @@
 
     "/ self error:'not an executable code object'
     ^ ExecutionError
-        raiseRequestErrorString:'not an executable code object'
+	raiseRequestErrorString:'not an executable code object'
 
     "Created: / 01-08-1997 / 00:16:44 / cg"
 !
@@ -4602,7 +4602,7 @@
 
     "/ ^ self error:'argument must be a Rectangle'
     ^ InvalidTypeError
-        raiseRequestErrorString:'argument must be a Rectangle'
+	raiseRequestErrorString:'argument must be a Rectangle'
 
     "Modified: / 02-11-2012 / 10:24:53 / cg"
 !
@@ -4616,7 +4616,7 @@
 
     "/ ^ self error:'argument must be a String'
     ^ InvalidTypeError
-        raiseRequestErrorString:'argument must be a String'
+	raiseRequestErrorString:'argument must be a String'
 
     "Modified: / 02-11-2012 / 10:24:35 / cg"
 !
@@ -4631,7 +4631,7 @@
     <resource: #skipInDebuggersWalkBack>
 
     ^ SubscriptOutOfBoundsError
-        raiseRequestErrorString:'receiver has no indexed variables'
+	raiseRequestErrorString:'receiver has no indexed variables'
 
     "
      1234 at:4
@@ -4653,7 +4653,7 @@
     sender := thisContext sender.
 
     ^ UnimplementedFunctionalityError
-        raiseRequestWith:(Message selector:sender selector arguments:sender args)
+	raiseRequestWith:(Message selector:sender selector arguments:sender args)
 
     "Modified: / 02-11-2012 / 10:24:12 / cg"
 !
@@ -4678,9 +4678,9 @@
 
     "
      [
-        ExternalBytes new   basicAt:40
+	ExternalBytes new   basicAt:40
      ] on:PrimitiveFailure do:[:ex|
-        ex inspect
+	ex inspect
      ]
     "
 
@@ -4700,28 +4700,28 @@
     "loop to take care of super sends"
     sender := thisContext sender.
     [
-        selector := sender selector.
-        selector == #primitiveFailed: or:[selector == #primitiveFailed]
+	selector := sender selector.
+	selector == #primitiveFailed: or:[selector == #primitiveFailed]
     ] whileTrue:[sender := sender sender].
 
-    ^ PrimitiveFailure 
-        raiseRequestWith:(Message selector:selector arguments:sender args)
-        errorString:messageString
-        in:sender.
+    ^ PrimitiveFailure
+	raiseRequestWith:(Message selector:selector arguments:sender args)
+	errorString:messageString
+	in:sender.
 
     "
      1234 primitiveFailed:'this is a test'
     "
-    
+
     "
      ExternalBytes new basicAt:40
     "
 
     "
      [
-        ExternalBytes new   basicAt:40
+	ExternalBytes new   basicAt:40
      ] on:PrimitiveFailure do:[:ex|
-        ex inspect
+	ex inspect
      ]
     "
 
@@ -4731,7 +4731,7 @@
 proceedableError:errorMessage
     "Report a proceedable error.
      A handler can provide a default value"
-     
+
     <resource: #skipInDebuggersWalkBack>
 
     ^ self error:errorMessage mayProceed:true
@@ -4753,7 +4753,7 @@
     sender := thisContext sender.
 
     ^ UnimplementedFunctionalityError
-        raiseRequestWith:(Message selector:sender selector arguments:sender args)
+	raiseRequestWith:(Message selector:sender selector arguments:sender args)
 
      "
       self shouldImplement
@@ -4774,8 +4774,8 @@
     sender := thisContext sender.
 
     ^ UnimplementedFunctionalityError
-            raiseRequestWith:(Message selector:sender selector arguments:sender args)
-            errorString:what
+	    raiseRequestWith:(Message selector:sender selector arguments:sender args)
+	    errorString:what
 
      "
       self shouldImplement:'foobar'
@@ -4790,7 +4790,7 @@
     <resource: #skipInDebuggersWalkBack>
 
     ^ ExecutionError
-        raiseRequestErrorString:'Oops, this may never reached. Something somewhere was terribly wrong.'.
+	raiseRequestErrorString:'Oops, this may never reached. Something somewhere was terribly wrong.'.
 
     "Modified: / 20-04-2005 / 18:59:28 / janfrog"
 !
@@ -4805,8 +4805,8 @@
     sender := thisContext sender.
 
     ^ MethodNotAppropriateError
-            raiseRequestWith:(Message selector:sender selector arguments:sender args)
-            errorString:'this message may never be sent to me'.
+	    raiseRequestWith:(Message selector:sender selector arguments:sender args)
+	    errorString:'this message may never be sent to me'.
 
     "Modified: / 20-04-2005 / 18:59:28 / janfrog"
     "Modified: / 02-11-2012 / 10:10:42 / cg"
@@ -4827,8 +4827,8 @@
     sender := thisContext sender.
 
     ^ MethodNotAppropriateError
-            raiseRequestWith:(Message selector:sender selector arguments:sender args)
-            errorString:'method/functionality is not appropriate for class'.
+	    raiseRequestWith:(Message selector:sender selector arguments:sender args)
+	    errorString:'method/functionality is not appropriate for class'.
 
     "Modified: / 02-11-2012 / 10:02:25 / cg"
     "Modified (format): / 27-02-2018 / 11:25:13 / stefan"
@@ -4881,8 +4881,8 @@
     <resource: #skipInDebuggersWalkBack>
 
     ^ SubscriptOutOfBoundsError
-        raiseRequestWith:anIndex
-        errorString:('subscript (' , anIndex printString , ') out of bounds')
+	raiseRequestWith:anIndex
+	errorString:('subscript (' , anIndex printString , ') out of bounds')
 
     "Modified: / 17.11.2001 / 22:49:56 / cg"
 !
@@ -4899,9 +4899,9 @@
 "/                  ' (' , self class name , ') to typed variable'
 
     ^ InvalidTypeError
-        raiseRequestErrorString:
-            ('bad assign of ' , self printString ,
-                  ' (' , self class name , ') to typed variable')
+	raiseRequestErrorString:
+	    ('bad assign of ' , self printString ,
+		  ' (' , self class name , ') to typed variable')
 
     "Modified: / 02-11-2012 / 10:19:15 / cg"
 ! !
@@ -4912,12 +4912,12 @@
     "add a debugger hook. Any registered hook is evaluated with the exception as
      argument before a real debugger is entered.
      Hooks can be used for two purposes:
-        - record exception information in a log file
-        - filter exceptions and either decide to ignore them or to open an alternative
-          debugger (depending on the exception type, maybe)"
+	- record exception information in a log file
+	- filter exceptions and either decide to ignore them or to open an alternative
+	  debugger (depending on the exception type, maybe)"
 
     DebuggerHooks isNil ifTrue:[
-        DebuggerHooks := OrderedCollection new.
+	DebuggerHooks := OrderedCollection new.
     ].
     DebuggerHooks add:aBlock
 
@@ -4938,11 +4938,11 @@
     "
     "
      Object addDebuggerHook:[:ex | '/tmp/stx.log' asFilename
-                                   appendingFileDo:[:s |
-                                        s nextPutLine:'----------------------'.
-                                        (Timestamp now printOn:s). s cr.
-                                        ex suspendedContext fullPrintAllOn:s
-                                   ]].
+				   appendingFileDo:[:s |
+					s nextPutLine:'----------------------'.
+					(Timestamp now printOn:s). s cr.
+					ex suspendedContext fullPrintAllOn:s
+				   ]].
      (1 / (1-1)).
      Object removeDebuggerHook:(DebuggerHooks first).
     "
@@ -4960,33 +4960,33 @@
     (Processor isNil
      or:[Processor activeProcessIsSystemProcess
      or:[Smalltalk isInitialized not]]) ifTrue:[
-        "DebugView cannot run without system processes"
-        ^ MiniDebugger
+	"DebugView cannot run without system processes"
+	^ MiniDebugger
     ].
     (Screen isNil or:[Screen default isNil or:[Screen default isOpen not]]) ifTrue:[
-        Debugger isNil ifTrue:[^ nil].
-        ^ MiniDebugger
+	Debugger isNil ifTrue:[^ nil].
+	^ MiniDebugger
     ].
 
     context := thisContext.
     [(context := context findNextContextWithSelector:aSelector or:nil or:nil) notNil] whileTrue:[
-        ((context receiver class == Debugger)
-         and:[context selector == aSelector]) ifTrue:[
-            "we are already in some Debugger"
-            (Debugger == MiniDebugger) ifTrue:[
-                "we are already in the MiniDebugger"
-                ErrorRecursion ifFalse:[
-                    Smalltalk fatalAbort:'recursive error ...'
-                ]
-            ].
-            MiniDebugger isNil ifTrue:[
-                Smalltalk fatalAbort:'no debugger'
-            ].
-
-            "ok, an error occurred while in the graphical debugger;
-             lets try MiniDebugger"
-            ^ MiniDebugger
-        ].
+	((context receiver class == Debugger)
+	 and:[context selector == aSelector]) ifTrue:[
+	    "we are already in some Debugger"
+	    (Debugger == MiniDebugger) ifTrue:[
+		"we are already in the MiniDebugger"
+		ErrorRecursion ifFalse:[
+		    Smalltalk fatalAbort:'recursive error ...'
+		]
+	    ].
+	    MiniDebugger isNil ifTrue:[
+		Smalltalk fatalAbort:'no debugger'
+	    ].
+
+	    "ok, an error occurred while in the graphical debugger;
+	     lets try MiniDebugger"
+	    ^ MiniDebugger
+	].
     ].
     "not within Debugger - no problem"
     ^ Debugger
@@ -5010,48 +5010,48 @@
      ignore will raise an AbortOperationRequest.
     "
     Debugger isNil ifTrue:[
-        msgString := 'Error: ' , msgString.
-
-        thisContext isRecursive ifTrue:[
-            msgString errorPrintCR.
-            Smalltalk fatalAbort:'recursive unhandled exception'
-        ].
-
-        Smalltalk isStandAloneApp ifTrue:[
-            (ex creator == NoHandlerError) ifTrue:[
-                (HaltInterrupt handles:ex exception) ifTrue:[
-                    "/ 'Halt ignored' infoPrintCR.
-                    ^ nil
-                ].
-                "don't output the message, if the exception is a UserInterrupt (CTRL-C)"
-                (ex exception creator == UserInterrupt) ifTrue:[
-                    ex description errorPrintCR.
-                    OperatingSystem exit:130.
-                ].
-            ].
-        ].
-
-        (Dialog notNil and:[Screen default notNil]) ifTrue:[
-            self
-                errorNotify:msgString
-                from:ex suspendedContext
-                allowDebug:false
-                mayProceed:ex willProceed.
-
-            "/ arrive here if proceeded...
-            ^ nil
-        ].
-
-        "don't output the message, if the exception is a UserInterrupt (CTRL-C)"
-        (ex creator == NoHandlerError
-         and:[ex exception creator == UserInterrupt]) ifTrue:[
-            OperatingSystem exit:130.
-        ].
-        msgString _errorPrintCR.
-        'Backtrace:' _errorPrintCR.
-        '' _errorPrintCR.
-        thisContext fullPrintAll.
-        OperatingSystem exit:1
+	msgString := 'Error: ' , msgString.
+
+	thisContext isRecursive ifTrue:[
+	    msgString errorPrintCR.
+	    Smalltalk fatalAbort:'recursive unhandled exception'
+	].
+
+	Smalltalk isStandAloneApp ifTrue:[
+	    (ex creator == NoHandlerError) ifTrue:[
+		(HaltInterrupt handles:ex exception) ifTrue:[
+		    "/ 'Halt ignored' infoPrintCR.
+		    ^ nil
+		].
+		"don't output the message, if the exception is a UserInterrupt (CTRL-C)"
+		(ex exception creator == UserInterrupt) ifTrue:[
+		    ex description errorPrintCR.
+		    OperatingSystem exit:130.
+		].
+	    ].
+	].
+
+	(Dialog notNil and:[Screen default notNil]) ifTrue:[
+	    self
+		errorNotify:msgString
+		from:ex suspendedContext
+		allowDebug:false
+		mayProceed:ex willProceed.
+
+	    "/ arrive here if proceeded...
+	    ^ nil
+	].
+
+	"don't output the message, if the exception is a UserInterrupt (CTRL-C)"
+	(ex creator == NoHandlerError
+	 and:[ex exception creator == UserInterrupt]) ifTrue:[
+	    OperatingSystem exit:130.
+	].
+	msgString _errorPrintCR.
+	'Backtrace:' _errorPrintCR.
+	'' _errorPrintCR.
+	thisContext fullPrintAll.
+	OperatingSystem exit:1
     ].
 
     "
@@ -5059,7 +5059,7 @@
     "
     debugger := self appropriateDebugger:(thisContext selector).
     debugger isNil ifTrue:[
-        ^ AbortOperationRequest raiseRequest
+	^ AbortOperationRequest raiseRequest
     ].
 
     "/ call any registered debug hooks.
@@ -5067,9 +5067,9 @@
     "/ ex-message (ex proceed, ex return etc.) or raise an Abort signal.
     "/ However, the real intent for hooks is to allow saving exceptions in a log file...
     DebuggerHooks notNil ifTrue:[
-        DebuggerHooks do:[:eachHook |
-            eachHook value:ex.
-        ].
+	DebuggerHooks do:[:eachHook |
+	    eachHook value:ex.
+	].
     ].
     ^ debugger enterException:ex.
 
@@ -5080,8 +5080,8 @@
     "remove a debugger hook."
 
     DebuggerHooks notNil ifTrue:[
-        DebuggerHooks removeIdentical:aBlock.
-        DebuggerHooks isNil ifTrue:[ DebuggerHooks := nil ].
+	DebuggerHooks removeIdentical:aBlock.
+	DebuggerHooks isNil ifTrue:[ DebuggerHooks := nil ].
     ].
 ! !
 
@@ -5106,7 +5106,7 @@
 doIfNotNil:aBlock
     "if I am a collection, then enumerate myself into aBlock.
      if I am nil, then do nothing.
-     Otherwise, evaluate aBlock with myself as argument. 
+     Otherwise, evaluate aBlock with myself as argument.
      Redefined in Collection and UndefinedObject."
 
     ^ aBlock value:self
@@ -5126,18 +5126,18 @@
      style ... (the idea was borrowed from the Self language).
 
      WARNING: don't 'optimize' away ifXXX: blocks
-              (i.e. do NOT replace
-                        foo ifTrue:[var1] ifFalse:[var2]
-               by:
-                        foo ifTrue:var1 ifFalse:var2
-              )
-              - the compilers will only generate inline code for the if,
-                iff the argument(s) are blocks - otherwise, a true send is
-                generated.
-              This 'optimization' will work semantically correct,
-              but execute SLOWER instead.
-
-              Using constants (foo ifTrue:1 ifFalse:2) does not introduce a performance penalty."
+	      (i.e. do NOT replace
+			foo ifTrue:[var1] ifFalse:[var2]
+	       by:
+			foo ifTrue:var1 ifFalse:var2
+	      )
+	      - the compilers will only generate inline code for the if,
+		iff the argument(s) are blocks - otherwise, a true send is
+		generated.
+	      This 'optimization' will work semantically correct,
+	      but execute SLOWER instead.
+
+	      Using constants (foo ifTrue:1 ifFalse:2) does not introduce a performance penalty."
 
     ^ self
 
@@ -5166,9 +5166,9 @@
      ^ self value
 
     "
-        [ 'abc' ] valueWithOptionalArgument:1
-        'abc' valueWithOptionalArgument:1
-        'abc' asValue valueWithOptionalArgument:1
+	[ 'abc' ] valueWithOptionalArgument:1
+	'abc' valueWithOptionalArgument:1
+	'abc' asValue valueWithOptionalArgument:1
     "
 
     "Created: / 08-03-2018 / 11:34:51 / stefan"
@@ -5182,9 +5182,9 @@
      ^ self value
 
     "
-        [ 'abc' ] valueWithPossibleArguments:#(1 2 3)
-        'abc' valueWithPossibleArguments:#(1 2 3)
-        'abc' asValue valueWithPossibleArguments:#(1 2 3)
+	[ 'abc' ] valueWithPossibleArguments:#(1 2 3)
+	'abc' valueWithPossibleArguments:#(1 2 3)
+	'abc' asValue valueWithPossibleArguments:#(1 2 3)
     "
 
     "Modified: / 08-03-2018 / 11:55:05 / stefan"
@@ -5319,30 +5319,30 @@
      used from other C subsystems too, to upcast errors.
      Especially, for subsystems which call errorHandler functions asynchronously.
      IDs (currently) used:
-        #DisplayError ..... x-error interrupt
-        #XtError      ..... xt-error interrupt (Xt interface is not yet published)
+	#DisplayError ..... x-error interrupt
+	#XtError      ..... xt-error interrupt (Xt interface is not yet published)
     "
 
     |handlers handler|
 
     handlers := ObjectMemory registeredErrorInterruptHandlers.
     handlers notNil ifTrue:[
-        handler := handlers at:errorID ifAbsent:nil.
-        handler notNil ifTrue:[
-            "/
-            "/ handler found; let it do whatever it wants ...
-            "/
-            handler errorInterrupt:errorID with:aParameter.
-            ^ self
-        ].
+	handler := handlers at:errorID ifAbsent:nil.
+	handler notNil ifTrue:[
+	    "/
+	    "/ handler found; let it do whatever it wants ...
+	    "/
+	    handler errorInterrupt:errorID with:aParameter.
+	    ^ self
+	].
     ].
 
     "/
     "/ no handler - raise errorSignal passing the errorId as parameter
     "/
     ^ Error
-        raiseRequestWith:errorID
-        errorString:('Subsystem error. ErrorID = ' , errorID printString)
+	raiseRequestWith:errorID
+	errorString:('Subsystem error. ErrorID = ' , errorID printString)
 !
 
 exceptionInterrupt
@@ -5370,12 +5370,12 @@
     where := thisContext sender.
     rec := where receiver.
     rec isNumber ifTrue:[
-        ^ rec class
-            raise:#domainErrorSignal
-            receiver:rec
-            selector:where selector
-            arguments:(where args asArray)
-            errorString:'floating point exception'
+	^ rec class
+	    raise:#domainErrorSignal
+	    receiver:rec
+	    selector:where selector
+	    arguments:(where args asArray)
+	    errorString:'floating point exception'
     ].
 
     "/ could be in some C-library ...
@@ -5444,40 +5444,40 @@
 "/            'Stray recursionInterrupt ...' infoPrintCR.
 "/            ^ self
 "/        ].
-        ObjectMemory infoPrinting ifTrue:[
-            level := 0.
-            caller := thisContext sender.
-            [caller notNil] whileTrue:[
-                level := level + 1.
-                caller := caller sender.
-            ].
-
-            'Object [info]: recursionInterrupt from:' errorPrintCR.
-            con := con sender.
-            remaining := 500.
-            [con notNil and:[remaining > 0]] whileTrue:[
-                sender := con sender.
-                RecursionInterruptSignal handle:[:ex |
-                ] do:[
-                    '| ' _errorPrint. con fullPrint.
-                ].
-                nSkipped := 0.
-                [sender notNil and:[sender sender notNil
-                and:[sender selector == con selector
-                and:[sender sender selector == con selector
-                and:[sender method == con method]]]]] whileTrue:[
-                    nSkipped := nSkipped + 1.
-                    con := sender.
-                    sender := con sender.
-                ].
-                nSkipped > 0 ifTrue:[
-                    '| ... ***** ' _errorPrint. nSkipped _errorPrint. ' recursive contexts skipped *****' _errorPrintCR.
-                ].
-                con := sender.
-                remaining := remaining - 1
-            ].
-        ].
-        ^ RecursionInterruptSignal raiseSignal
+	ObjectMemory infoPrinting ifTrue:[
+	    level := 0.
+	    caller := thisContext sender.
+	    [caller notNil] whileTrue:[
+		level := level + 1.
+		caller := caller sender.
+	    ].
+
+	    'Object [info]: recursionInterrupt from:' errorPrintCR.
+	    con := con sender.
+	    remaining := 500.
+	    [con notNil and:[remaining > 0]] whileTrue:[
+		sender := con sender.
+		RecursionInterruptSignal handle:[:ex |
+		] do:[
+		    '| ' _errorPrint. con fullPrint.
+		].
+		nSkipped := 0.
+		[sender notNil and:[sender sender notNil
+		and:[sender selector == con selector
+		and:[sender sender selector == con selector
+		and:[sender method == con method]]]]] whileTrue:[
+		    nSkipped := nSkipped + 1.
+		    con := sender.
+		    sender := con sender.
+		].
+		nSkipped > 0 ifTrue:[
+		    '| ... ***** ' _errorPrint. nSkipped _errorPrint. ' recursive contexts skipped *****' _errorPrintCR.
+		].
+		con := sender.
+		remaining := remaining - 1
+	    ].
+	].
+	^ RecursionInterruptSignal raiseSignal
     ]
 
     "Modified: / 10-11-2001 / 15:15:56 / cg"
@@ -5511,35 +5511,35 @@
     |name here sig fatal titles actions badContext msg pc addr
      action title screen|
 
-     (signalNumber == OperatingSystem sigPWR 
+     (signalNumber == OperatingSystem sigPWR
       or:[signalNumber == OperatingSystem sigHUP]) ifTrue:[
-        self signalInterruptWithCrashImage:signalNumber.
-        ^ self.
+	self signalInterruptWithCrashImage:signalNumber.
+	^ self.
     ].
 
     thisContext isRecursive ifTrue:[
-        'Severe error: signalInterrupt while processing a signalInterrupt.' _errorPrintCR.
-        'Terminating process ' _errorPrint. Processor activeProcess _errorPrintCR.
+	'Severe error: signalInterrupt while processing a signalInterrupt.' _errorPrintCR.
+	'Terminating process ' _errorPrint. Processor activeProcess _errorPrintCR.
 "/        GenericException handle:[:ex |
 "/            "/ ignore any error during termination
 "/        ] do:[
 "/           Processor activeProcess terminate.
 "/        ].
-        MiniDebugger enter.
-        Processor activeProcess terminateNoSignal.
+	MiniDebugger enter.
+	Processor activeProcess terminateNoSignal.
     ].
 
     "if there has been an ST-signal installed, use it ..."
     sig := OperatingSystem operatingSystemSignal:signalNumber.
     sig notNil ifTrue:[
-        sig raiseSignalWith:signalNumber.
-        ^ self.
+	sig raiseSignalWith:signalNumber.
+	^ self.
     ].
 
     "/ if handled, raise OSSignalInterruptSignal
     OSSignalInterrupt isHandled ifTrue:[
-        OSSignalInterrupt raiseRequestWith:signalNumber.
-        ^ self.
+	OSSignalInterrupt raiseRequestWith:signalNumber.
+	^ self.
     ].
 
     name := OperatingSystem nameForSignal:signalNumber.
@@ -5549,7 +5549,7 @@
      or:[(screen := Screen current) isNil
      or:[(screen := Screen default) isNil
      or:[screen isOpen not]]]) ifTrue:[
-        ^ self startMiniDebuggerOrExit:'OS-Signal (' , name, ')'.
+	^ self startMiniDebuggerOrExit:'OS-Signal (' , name, ')'.
     ].
 
     "ungrab - in case it happened in a box/popupview
@@ -5561,114 +5561,114 @@
 
     "there is a screen. use it to bring up a box asking for what to do ..."
     Screen currentScreenQuerySignal answer:screen do:[
-        "
-         SIGBUS, SIGSEGV and SIGILL do not make sense to ignore (i.e. continue)
-         since the system will retry the faulty instruction, which leads to
-         another signal - to avoid frustration, better not offer this option.
-        "
-        fatal := OperatingSystem isFatalSignal:signalNumber.
-        fatal ifTrue:[
-            (Debugger isNil or:[here isRecursive]) ifTrue:[
-                'Object [hard error]: signal ' errorPrint. signalNumber errorPrintCR.
-                ^ self startMiniDebuggerOrExit:'OS-Signal (' , name, ')'.
-            ].
-            "
-             a hard signal - go into debugger immediately
-            "
-            msg := 'OS-signal: ', name.
-
-            "/ the IRQ-PC is passed as low-hi, to avoid the need
-            "/ to allocate a LargeInteger in the VM during signal
-            "/ time. I know, this is ugly.
-
-            InterruptPcLow notNil ifTrue:[
-                pc := InterruptPcLow + (InterruptPcHi bitShift:((SmallInteger maxBits + 1) // 2)).
-                pc ~~ 0 ifTrue:[
-                    msg := msg , ' PC=' , (pc printStringRadix:16)
-                ].
-            ].
-            InterruptAddrLow notNil ifTrue:[
-                addr := InterruptAddrLow + (InterruptAddrHi bitShift:((SmallInteger maxBits + 1) // 2)).
-                addr ~~ 0 ifTrue:[
-                    msg := msg , ' ADDR=' , (addr printStringRadix:16)
-                ].
-            ].
-            Debugger enter:here withMessage:msg mayProceed:false.
-            "unreachable"
-            ^ nil.
-        ].
-
-        "if possible, open an option box asking the user what do.
-         Otherwise, start a debugger"
-        Dialog notNil ifTrue:[
-            OperatingSystem isOSXlike ifTrue:[
-                titles := #('Save crash image' 'Dump core' 'GDB' 'Exit ST/X' 'Debug').
-                actions := #(save core gdb exit debug).
-            ] ifFalse:[
-                titles := #('Save crash image' 'Dump core' 'Exit ST/X' 'Debug').
-                actions := #(save core exit debug).
-            ].
-            action := nil.
-            title := 'OS Signal caught (' , name, ')'.
-            title := (title , '\[in ST-process: ' , Processor activeProcess nameOrId ,']') withCRs.
-
-            "/ if caught while in the scheduler or event dispatcher,
-            "/ a modal dialog is not possible ...
-            "/ (therefore, abort & return does not makes sense)
-
-            Processor activeProcess isSystemProcess ifFalse:[
-                titles := #('Abort') , titles.
-                actions := #(abort), actions.
-
-                badContext canReturn ifTrue:[
-                    titles := #('Return') , titles.
-                    actions :=  #(return), actions.
-                ].
-            ].
-
-            fatal ifFalse:[
-                titles := titles, #('Ignore').
-                actions := actions , #(ignore).
-            ].
-            action := Dialog choose:title
-                             labels:titles
-                             values:actions
-                             default:(fatal ifTrue:[nil] ifFalse:[#ignore]).
-
-            "Dialog may fail (if system process), default action is debug"
-            action isEmptyOrNil ifTrue:[action := #debug].
-        ] ifFalse:[
-            action := #debug.
-        ].
-
-        action == #save ifTrue:[
-            ObjectMemory writeCrashImage
-        ].
-        action == #gdb ifTrue:[
-            OperatingSystem openTerminalWithCommand:('gdb -p %1' bindWith:OperatingSystem getProcessId) inBackground:true.
-            MiniDebugger enter. "/ to stop, so gdb can show where we are
-            AbortOperationRequest raise.
-        ].
-        action == #core ifTrue:[
-            Smalltalk fatalAbort
-        ].
-        action == #exit ifTrue:[
-            Smalltalk exit:10.
-        ].
-        action == #return ifTrue:[
-            badContext return
-        ].
-        action == #abort ifTrue:[
-            AbortOperationRequest raise.
-        ].
-
-        action == #debug ifTrue:[
-            Debugger isNil ifTrue:[
-                ^ self startMiniDebuggerOrExit:'OS-Signal (' , name, ')'.
-            ].
-            Debugger enter:here withMessage:('OS-Signal ', name) mayProceed:true.
-        ].
-        "action == #ignore"
+	"
+	 SIGBUS, SIGSEGV and SIGILL do not make sense to ignore (i.e. continue)
+	 since the system will retry the faulty instruction, which leads to
+	 another signal - to avoid frustration, better not offer this option.
+	"
+	fatal := OperatingSystem isFatalSignal:signalNumber.
+	fatal ifTrue:[
+	    (Debugger isNil or:[here isRecursive]) ifTrue:[
+		'Object [hard error]: signal ' errorPrint. signalNumber errorPrintCR.
+		^ self startMiniDebuggerOrExit:'OS-Signal (' , name, ')'.
+	    ].
+	    "
+	     a hard signal - go into debugger immediately
+	    "
+	    msg := 'OS-signal: ', name.
+
+	    "/ the IRQ-PC is passed as low-hi, to avoid the need
+	    "/ to allocate a LargeInteger in the VM during signal
+	    "/ time. I know, this is ugly.
+
+	    InterruptPcLow notNil ifTrue:[
+		pc := InterruptPcLow + (InterruptPcHi bitShift:((SmallInteger maxBits + 1) // 2)).
+		pc ~~ 0 ifTrue:[
+		    msg := msg , ' PC=' , (pc printStringRadix:16)
+		].
+	    ].
+	    InterruptAddrLow notNil ifTrue:[
+		addr := InterruptAddrLow + (InterruptAddrHi bitShift:((SmallInteger maxBits + 1) // 2)).
+		addr ~~ 0 ifTrue:[
+		    msg := msg , ' ADDR=' , (addr printStringRadix:16)
+		].
+	    ].
+	    Debugger enter:here withMessage:msg mayProceed:false.
+	    "unreachable"
+	    ^ nil.
+	].
+
+	"if possible, open an option box asking the user what do.
+	 Otherwise, start a debugger"
+	Dialog notNil ifTrue:[
+	    OperatingSystem isOSXlike ifTrue:[
+		titles := #('Save crash image' 'Dump core' 'GDB' 'Exit ST/X' 'Debug').
+		actions := #(save core gdb exit debug).
+	    ] ifFalse:[
+		titles := #('Save crash image' 'Dump core' 'Exit ST/X' 'Debug').
+		actions := #(save core exit debug).
+	    ].
+	    action := nil.
+	    title := 'OS Signal caught (' , name, ')'.
+	    title := (title , '\[in ST-process: ' , Processor activeProcess nameOrId ,']') withCRs.
+
+	    "/ if caught while in the scheduler or event dispatcher,
+	    "/ a modal dialog is not possible ...
+	    "/ (therefore, abort & return does not makes sense)
+
+	    Processor activeProcess isSystemProcess ifFalse:[
+		titles := #('Abort') , titles.
+		actions := #(abort), actions.
+
+		badContext canReturn ifTrue:[
+		    titles := #('Return') , titles.
+		    actions :=  #(return), actions.
+		].
+	    ].
+
+	    fatal ifFalse:[
+		titles := titles, #('Ignore').
+		actions := actions , #(ignore).
+	    ].
+	    action := Dialog choose:title
+			     labels:titles
+			     values:actions
+			     default:(fatal ifTrue:[nil] ifFalse:[#ignore]).
+
+	    "Dialog may fail (if system process), default action is debug"
+	    action isEmptyOrNil ifTrue:[action := #debug].
+	] ifFalse:[
+	    action := #debug.
+	].
+
+	action == #save ifTrue:[
+	    ObjectMemory writeCrashImage
+	].
+	action == #gdb ifTrue:[
+	    OperatingSystem openTerminalWithCommand:('gdb -p %1' bindWith:OperatingSystem getProcessId) inBackground:true.
+	    MiniDebugger enter. "/ to stop, so gdb can show where we are
+	    AbortOperationRequest raise.
+	].
+	action == #core ifTrue:[
+	    Smalltalk fatalAbort
+	].
+	action == #exit ifTrue:[
+	    Smalltalk exit:10.
+	].
+	action == #return ifTrue:[
+	    badContext return
+	].
+	action == #abort ifTrue:[
+	    AbortOperationRequest raise.
+	].
+
+	action == #debug ifTrue:[
+	    Debugger isNil ifTrue:[
+		^ self startMiniDebuggerOrExit:'OS-Signal (' , name, ')'.
+	    ].
+	    Debugger enter:here withMessage:('OS-Signal ', name) mayProceed:true.
+	].
+	"action == #ignore"
     ].
 
     "Modified: / 15-09-2011 / 16:38:14 / cg"
@@ -5678,24 +5678,24 @@
 signalInterruptWithCrashImage:signalNumber
     "
      special cases
-        - SIGPWR: power failure - write a crash image and continue
-        - SIGHUP: hang up - write a crash image and exit
+	- SIGPWR: power failure - write a crash image and continue
+	- SIGHUP: hang up - write a crash image and exit
     "
 
     thisContext isRecursive ifTrue:[
-        "got another signal while writing crash just continue"
-        ^ self.
+	"got another signal while writing crash just continue"
+	^ self.
     ].
 
     (signalNumber == OperatingSystem sigPWR) ifTrue:[
-        SnapshotError catch:[ObjectMemory writeCrashImage].
-        ^ self.
+	SnapshotError catch:[ObjectMemory writeCrashImage].
+	^ self.
     ].
     (signalNumber == OperatingSystem sigHUP) ifTrue:[
-        'Smalltalk [info]: got hangup signal from OS: writing crash.img.' _errorPrintCR.
-        SnapshotError catch:[ObjectMemory writeCrashImage].
-        'Smalltalk [info]: exit due to hangup signal from OS.' _errorPrintCR.
-        Smalltalk exit:1.
+	'Smalltalk [info]: got hangup signal from OS: writing crash.img.' _errorPrintCR.
+	SnapshotError catch:[ObjectMemory writeCrashImage].
+	'Smalltalk [info]: exit due to hangup signal from OS.' _errorPrintCR.
+	Smalltalk exit:1.
     ].
 
     "Created: / 09-02-2018 / 18:05:46 / stefan"
@@ -5716,10 +5716,10 @@
      Start a mini debugger or exit if none is present"
 
     MiniDebugger isNil ifTrue:[
-        "a system without debugging facilities (i.e. a standalone system)
-         output a message and exit."
-        ('Object [error]: exit due to ', text, ' - and no debugger.') errorPrintCR.
-        OperatingSystem exit:99.
+	"a system without debugging facilities (i.e. a standalone system)
+	 output a message and exit."
+	('Object [error]: exit due to ', text, ' - and no debugger.') errorPrintCR.
+	OperatingSystem exit:99.
     ].
     MiniDebugger enterWithMessage:text mayProceed:true.
 !
@@ -5780,7 +5780,7 @@
     int hash0;
 
     if (InterruptPending == nil) {
-        struct inlineCache *pIlc;
+	struct inlineCache *pIlc;
 
 # define nways 2
 # define nilcs 131
@@ -5798,7 +5798,7 @@
 
 # define SEL_AND_ILC_INIT_131(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_2(l) , SEL_AND_ILC_INIT_1(l)
 
-        static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
+	static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
 
 # undef SEL_AND_ILC_INIT_1
 # undef SEL_AND_ILC_INIT_2
@@ -5814,37 +5814,37 @@
 # undef SEL_AND_ILC_INIT_257
 
 # define TRY(n)                                  \
-        if (sel == sel_and_ilc[hash0].sel[n]) { \
-            pIlc = &sel_and_ilc[hash0].ilc[n];  \
-            goto perform0_send_and_return;      \
-        }
-
-        if (__isNonNilObject(sel)) {
-            hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
-        } else {
-            /* sel is either nil or smallint, use its value as hash */
-            hash0 = (INT)sel % nilcs;
-        }
-
-        TRY(0);
-        TRY(1);
+	if (sel == sel_and_ilc[hash0].sel[n]) { \
+	    pIlc = &sel_and_ilc[hash0].ilc[n];  \
+	    goto perform0_send_and_return;      \
+	}
+
+	if (__isNonNilObject(sel)) {
+	    hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
+	} else {
+	    /* sel is either nil or smallint, use its value as hash */
+	    hash0 = (INT)sel % nilcs;
+	}
+
+	TRY(0);
+	TRY(1);
 
 # undef TRY
-        /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
-
-        pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
-        sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
-        sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
-        pIlc->ilc_func = __SEND0ADDR__;
-        if (pIlc->ilc_poly) {
-            __flushPolyCache(pIlc->ilc_poly);
-            pIlc->ilc_poly = 0;
-        }
+	/*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
+
+	pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
+	sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
+	sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
+	pIlc->ilc_func = __SEND0ADDR__;
+	if (pIlc->ilc_poly) {
+	    __flushPolyCache(pIlc->ilc_poly);
+	    pIlc->ilc_poly = 0;
+	}
 perform0_send_and_return:
-        RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc) );
+	RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc) );
     } else {
-        static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
-        RETURN (_SEND0(self, aSelector, nil, &ilc0));
+	static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
+	RETURN (_SEND0(self, aSelector, nil, &ilc0));
     }
 #endif /* not __SCHTEAM__ */
 %}.
@@ -5858,7 +5858,7 @@
      to execute a method in ANY superclass of the receiver (not just the
      immediate superclass).
      Thus, it is (theoretically) possible to do
-         '5 perform:#< inClass:Magnitude withArguments:#(6)'
+	 '5 perform:#< inClass:Magnitude withArguments:#(6)'
      and evaluate Magnitudes compare method even if there was one in Number.
      This method is used by the interpreter to evaluate super sends
      and could be used for very special behavior (language extension ?).
@@ -5872,8 +5872,8 @@
     "
     myClass := self class.
     (myClass == aClass or:[myClass isSubclassOf:aClass]) ifFalse:[
-        self error:'lookup-class argument is not a superclass of the receiver'.
-        ^ nil
+	self error:'lookup-class argument is not a superclass of the receiver'.
+	^ nil
     ].
 %{
 #ifdef __SCHTEAM__
@@ -5882,166 +5882,166 @@
     int nargs, i;
 
     if (__isArrayLike(argArray)) {
-        nargs = __arraySize(argArray);
-        argP = __arrayVal(argArray);
+	nargs = __arraySize(argArray);
+	argP = __arrayVal(argArray);
     } else {
-        if (__isNonNilObject(argArray)) {
-            static struct inlineCache ilcSize = __ILC0(@line+1);
-            numberOfArgs = (*ilcSize.ilc_func)(argArray, @symbol(size), nil, &ilcSize);
-            if (!__isSmallInteger(numberOfArgs))
-                goto bad;
-            nargs = __intVal(numberOfArgs);
-            argP = (OBJ *)(&a1);
-            for (i=1; i <= nargs; i++) {
-                *argP++ = __AT_(argArray, __mkSmallInteger(i));
-            }
-            argP = (OBJ *)(&a1);
-        } else {
-            nargs = 0;
-        }
+	if (__isNonNilObject(argArray)) {
+	    static struct inlineCache ilcSize = __ILC0(@line+1);
+	    numberOfArgs = (*ilcSize.ilc_func)(argArray, @symbol(size), nil, &ilcSize);
+	    if (!__isSmallInteger(numberOfArgs))
+		goto bad;
+	    nargs = __intVal(numberOfArgs);
+	    argP = (OBJ *)(&a1);
+	    for (i=1; i <= nargs; i++) {
+		*argP++ = __AT_(argArray, __mkSmallInteger(i));
+	    }
+	    argP = (OBJ *)(&a1);
+	} else {
+	    nargs = 0;
+	}
     }
     switch (nargs) {
-        case 0:
-            {
-                static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
-                RETURN ( _SEND0(self, aSelector, aClass, &ilc0));
-            }
-
-        case 1:
-            {
-                static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
-                RETURN ( _SEND1(self, aSelector, aClass, &ilc1, argP[0]));
-            }
-
-        case 2:
-            {
-                static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
-                RETURN ( _SEND2(self, aSelector, aClass, &ilc2, argP[0], argP[1]));
-            }
-
-        case 3:
-            {
-                static struct inlineCache ilc3 = __DUMMYILCSELF3(@line+1);
-                RETURN ( _SEND3(self, aSelector, aClass, &ilc3,
-                                argP[0], argP[1], argP[2]));
-            }
-
-        case 4:
-            {
-                static struct inlineCache ilc4 = __DUMMYILCSELF4(@line+1);
-                RETURN ( _SEND4(self, aSelector, aClass, &ilc4,
-                                argP[0], argP[1], argP[2], argP[3]));
-            }
-
-        case 5:
-            {
-                static struct inlineCache ilc5 = __DUMMYILCSELF5(@line+1);
-                RETURN ( _SEND5(self, aSelector, aClass, &ilc5,
-                                argP[0], argP[1], argP[2], argP[3], argP[4]));
-            }
-
-        case 6:
-            {
-                static struct inlineCache ilc6 = __DUMMYILCSELF6(@line+1);
-                RETURN ( _SEND6(self, aSelector, aClass, &ilc6,
-                                argP[0], argP[1], argP[2], argP[3], argP[4], argP[5]));
-            }
-
-        case 7:
-            {
-                static struct inlineCache ilc7 = __DUMMYILCSELF7(@line+1);
-                RETURN ( _SEND7(self, aSelector, aClass, &ilc7,
-                                argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                argP[6]));
-            }
-
-        case 8:
-            {
-                static struct inlineCache ilc8 = __DUMMYILCSELF8(@line+1);
-                RETURN ( _SEND8(self, aSelector, aClass, &ilc8,
-                                argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                argP[6], argP[7]));
-            }
-
-        case 9:
-            {
-                static struct inlineCache ilc9 = __DUMMYILCSELF9(@line+1);
-                RETURN ( _SEND9(self, aSelector, aClass, &ilc9,
-                                argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                argP[6], argP[7], argP[8]));
-            }
-
-        case 10:
-            {
-                static struct inlineCache ilc10 = __DUMMYILCSELF10(@line+1);
-                RETURN ( _SEND10(self, aSelector, aClass, &ilc10,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9]));
-            }
-
-        case 11:
-            {
-                static struct inlineCache ilc11 = __DUMMYILCSELF11(@line+1);
-                RETURN ( _SEND11(self, aSelector, aClass, &ilc11,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9], argP[10]));
-            }
-
-        case 12:
-            {
-                static struct inlineCache ilc12 = __DUMMYILCSELF12(@line+1);
-                RETURN ( _SEND12(self, aSelector, aClass, &ilc12,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9], argP[10],
-                                 argP[11]));
-            }
-
-        case 13:
-            {
-                static struct inlineCache ilc13 = __DUMMYILCSELF13(@line+1);
-                RETURN ( _SEND13(self, aSelector, aClass, &ilc13,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9], argP[10],
-                                 argP[11], argP[12]));
-            }
-
-        case 14:
-            {
-                static struct inlineCache ilc14 = __DUMMYILCSELF14(@line+1);
-                RETURN ( _SEND14(self, aSelector, aClass, &ilc14,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9], argP[10],
-                                 argP[11], argP[12], argP[13]));
-            }
-
-        case 15:
-            {
-                static struct inlineCache ilc15 = __DUMMYILCSELF15(@line+1);
-                RETURN ( _SEND15(self, aSelector, aClass, &ilc15,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9], argP[10],
-                                 argP[11], argP[12], argP[13], argP[14]));
-            }
+	case 0:
+	    {
+		static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
+		RETURN ( _SEND0(self, aSelector, aClass, &ilc0));
+	    }
+
+	case 1:
+	    {
+		static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
+		RETURN ( _SEND1(self, aSelector, aClass, &ilc1, argP[0]));
+	    }
+
+	case 2:
+	    {
+		static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
+		RETURN ( _SEND2(self, aSelector, aClass, &ilc2, argP[0], argP[1]));
+	    }
+
+	case 3:
+	    {
+		static struct inlineCache ilc3 = __DUMMYILCSELF3(@line+1);
+		RETURN ( _SEND3(self, aSelector, aClass, &ilc3,
+				argP[0], argP[1], argP[2]));
+	    }
+
+	case 4:
+	    {
+		static struct inlineCache ilc4 = __DUMMYILCSELF4(@line+1);
+		RETURN ( _SEND4(self, aSelector, aClass, &ilc4,
+				argP[0], argP[1], argP[2], argP[3]));
+	    }
+
+	case 5:
+	    {
+		static struct inlineCache ilc5 = __DUMMYILCSELF5(@line+1);
+		RETURN ( _SEND5(self, aSelector, aClass, &ilc5,
+				argP[0], argP[1], argP[2], argP[3], argP[4]));
+	    }
+
+	case 6:
+	    {
+		static struct inlineCache ilc6 = __DUMMYILCSELF6(@line+1);
+		RETURN ( _SEND6(self, aSelector, aClass, &ilc6,
+				argP[0], argP[1], argP[2], argP[3], argP[4], argP[5]));
+	    }
+
+	case 7:
+	    {
+		static struct inlineCache ilc7 = __DUMMYILCSELF7(@line+1);
+		RETURN ( _SEND7(self, aSelector, aClass, &ilc7,
+				argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				argP[6]));
+	    }
+
+	case 8:
+	    {
+		static struct inlineCache ilc8 = __DUMMYILCSELF8(@line+1);
+		RETURN ( _SEND8(self, aSelector, aClass, &ilc8,
+				argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				argP[6], argP[7]));
+	    }
+
+	case 9:
+	    {
+		static struct inlineCache ilc9 = __DUMMYILCSELF9(@line+1);
+		RETURN ( _SEND9(self, aSelector, aClass, &ilc9,
+				argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				argP[6], argP[7], argP[8]));
+	    }
+
+	case 10:
+	    {
+		static struct inlineCache ilc10 = __DUMMYILCSELF10(@line+1);
+		RETURN ( _SEND10(self, aSelector, aClass, &ilc10,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9]));
+	    }
+
+	case 11:
+	    {
+		static struct inlineCache ilc11 = __DUMMYILCSELF11(@line+1);
+		RETURN ( _SEND11(self, aSelector, aClass, &ilc11,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9], argP[10]));
+	    }
+
+	case 12:
+	    {
+		static struct inlineCache ilc12 = __DUMMYILCSELF12(@line+1);
+		RETURN ( _SEND12(self, aSelector, aClass, &ilc12,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9], argP[10],
+				 argP[11]));
+	    }
+
+	case 13:
+	    {
+		static struct inlineCache ilc13 = __DUMMYILCSELF13(@line+1);
+		RETURN ( _SEND13(self, aSelector, aClass, &ilc13,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9], argP[10],
+				 argP[11], argP[12]));
+	    }
+
+	case 14:
+	    {
+		static struct inlineCache ilc14 = __DUMMYILCSELF14(@line+1);
+		RETURN ( _SEND14(self, aSelector, aClass, &ilc14,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9], argP[10],
+				 argP[11], argP[12], argP[13]));
+	    }
+
+	case 15:
+	    {
+		static struct inlineCache ilc15 = __DUMMYILCSELF15(@line+1);
+		RETURN ( _SEND15(self, aSelector, aClass, &ilc15,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9], argP[10],
+				 argP[11], argP[12], argP[13], argP[14]));
+	    }
 
 # ifdef _SEND16
-        case 16:
-            {
-                static struct inlineCache ilc16 = __DUMMYILCSELF16(@line+1);
-                RETURN ( _SEND16(self, aSelector, aClass, &ilc15,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9], argP[10],
-                                 argP[11], argP[12], argP[13], argP[14], argP[15]));
-            }
+	case 16:
+	    {
+		static struct inlineCache ilc16 = __DUMMYILCSELF16(@line+1);
+		RETURN ( _SEND16(self, aSelector, aClass, &ilc15,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9], argP[10],
+				 argP[11], argP[12], argP[13], argP[14], argP[15]));
+	    }
 # endif
 # ifdef _SEND17
-        case 17:
-            {
-                static struct inlineCache ilc17 = __DUMMYILCSELF17(@line+1);
-                RETURN ( _SEND17(self, aSelector, aClass, &ilc15,
-                                 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
-                                 argP[6], argP[7], argP[8], argP[9], argP[10],
-                                 argP[11], argP[12], argP[13], argP[14], argP[15], argP[16]));
-            }
+	case 17:
+	    {
+		static struct inlineCache ilc17 = __DUMMYILCSELF17(@line+1);
+		RETURN ( _SEND17(self, aSelector, aClass, &ilc15,
+				 argP[0], argP[1], argP[2], argP[3], argP[4], argP[5],
+				 argP[6], argP[7], argP[8], argP[9], argP[10],
+				 argP[11], argP[12], argP[13], argP[14], argP[15], argP[16]));
+	    }
 # endif
 
 
@@ -6066,7 +6066,7 @@
     int hash0;
 
     if (InterruptPending == nil) {
-        struct inlineCache *pIlc;
+	struct inlineCache *pIlc;
 # undef nways
 # define nways 2
 # undef nilcs
@@ -6085,7 +6085,7 @@
 
 # define SEL_AND_ILC_INIT_131(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_2(l) , SEL_AND_ILC_INIT_1(l)
 
-        static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
+	static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
 
 # undef SEL_AND_ILC_INIT_1
 # undef SEL_AND_ILC_INIT_2
@@ -6101,38 +6101,38 @@
 # undef SEL_AND_ILC_INIT_257
 
 # define TRY(n)                                  \
-        if (sel == sel_and_ilc[hash0].sel[n]) { \
-            pIlc = &sel_and_ilc[hash0].ilc[n];  \
-            goto perform1_send_and_return;      \
-        }
-
-        if (__isNonNilObject(sel)) {
-            hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
-        } else {
-            /* sel is either nil or smallint, use its value as hash */
-            hash0 = (INT)sel % nilcs;
-        }
-
-        TRY(0);
-        TRY(1);
+	if (sel == sel_and_ilc[hash0].sel[n]) { \
+	    pIlc = &sel_and_ilc[hash0].ilc[n];  \
+	    goto perform1_send_and_return;      \
+	}
+
+	if (__isNonNilObject(sel)) {
+	    hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
+	} else {
+	    /* sel is either nil or smallint, use its value as hash */
+	    hash0 = (INT)sel % nilcs;
+	}
+
+	TRY(0);
+	TRY(1);
 
 # undef TRY
-        /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
-
-        pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
-        sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
-        sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
-        pIlc->ilc_func = __SEND1ADDR__;
-        if (pIlc->ilc_poly) {
-            __flushPolyCache(pIlc->ilc_poly);
-            pIlc->ilc_poly = 0;
-        }
+	/*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
+
+	pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
+	sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
+	sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
+	pIlc->ilc_func = __SEND1ADDR__;
+	if (pIlc->ilc_poly) {
+	    __flushPolyCache(pIlc->ilc_poly);
+	    pIlc->ilc_poly = 0;
+	}
 
 perform1_send_and_return:
-        RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc, arg) );
+	RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc, arg) );
     } else {
-        static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
-        RETURN (_SEND1(self, aSelector, nil, &ilc1, arg));
+	static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
+	RETURN (_SEND1(self, aSelector, nil, &ilc1, arg));
     }
 #endif /* not __SCHTEAM__ */
 %}.
@@ -6169,7 +6169,7 @@
 
 # define SEL_AND_ILC_INIT_131(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_2(l) , SEL_AND_ILC_INIT_1(l)
 
-        static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
+	static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
 
 # undef SEL_AND_ILC_INIT_1
 # undef SEL_AND_ILC_INIT_2
@@ -6185,38 +6185,38 @@
 # undef SEL_AND_ILC_INIT_257
 
 # define TRY(n)                                  \
-        if (sel == sel_and_ilc[hash0].sel[n]) { \
-            pIlc = &sel_and_ilc[hash0].ilc[n];  \
-            goto perform2_send_and_return;      \
-        }
-
-        if (__isNonNilObject(sel)) {
-            hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
-        } else {
-            /* sel is either nil or smallint, use its value as hash */
-            hash0 = (INT)sel % nilcs;
-        }
-
-        TRY(0);
-        TRY(1);
+	if (sel == sel_and_ilc[hash0].sel[n]) { \
+	    pIlc = &sel_and_ilc[hash0].ilc[n];  \
+	    goto perform2_send_and_return;      \
+	}
+
+	if (__isNonNilObject(sel)) {
+	    hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
+	} else {
+	    /* sel is either nil or smallint, use its value as hash */
+	    hash0 = (INT)sel % nilcs;
+	}
+
+	TRY(0);
+	TRY(1);
 
 # undef TRY
-        /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
-
-        pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
-        sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
-        sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
-        pIlc->ilc_func = __SEND2ADDR__;
-        if (pIlc->ilc_poly) {
-            __flushPolyCache(pIlc->ilc_poly);
-            pIlc->ilc_poly = 0;
-        }
+	/*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
+
+	pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
+	sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
+	sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
+	pIlc->ilc_func = __SEND2ADDR__;
+	if (pIlc->ilc_poly) {
+	    __flushPolyCache(pIlc->ilc_poly);
+	    pIlc->ilc_poly = 0;
+	}
 
 perform2_send_and_return:
-        RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc, arg1, arg2) );
+	RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc, arg1, arg2) );
     } else {
-        static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
-        RETURN (_SEND2(self, aSelector, nil, &ilc2, arg1, arg2));
+	static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
+	RETURN (_SEND2(self, aSelector, nil, &ilc2, arg1, arg2));
     }
 #endif /* not SCHTEAM */
 %}.
@@ -6238,32 +6238,32 @@
     static int flip = 0;
 
     if (InterruptPending == nil) {
-        if (aSelector != last_0) {
-            if (aSelector != last_1) {
-                if (flip) {
-                    pIlc = &ilc_0;
-                    flip = 0;
-                    last_0 = aSelector;
-                } else {
-                    pIlc = &ilc_1;
-                    flip = 1;
-                    last_1 = aSelector;
-                }
-                pIlc->ilc_func = __SEND3ADDR__;
-                if (pIlc->ilc_poly) {
-                    __flushPolyCache(pIlc->ilc_poly);
-                    pIlc->ilc_poly = 0;
-                }
-            } else {
-                pIlc = &ilc_1;
-            }
-        } else {
-            pIlc = &ilc_0;
-        }
-        RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc, arg1, arg2, arg3) );
+	if (aSelector != last_0) {
+	    if (aSelector != last_1) {
+		if (flip) {
+		    pIlc = &ilc_0;
+		    flip = 0;
+		    last_0 = aSelector;
+		} else {
+		    pIlc = &ilc_1;
+		    flip = 1;
+		    last_1 = aSelector;
+		}
+		pIlc->ilc_func = __SEND3ADDR__;
+		if (pIlc->ilc_poly) {
+		    __flushPolyCache(pIlc->ilc_poly);
+		    pIlc->ilc_poly = 0;
+		}
+	    } else {
+		pIlc = &ilc_1;
+	    }
+	} else {
+	    pIlc = &ilc_0;
+	}
+	RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc, arg1, arg2, arg3) );
     } else {
-        static struct inlineCache ilc3 = __DUMMYILCSELF3(@line+1);
-        RETURN (_SEND3(self, aSelector, nil, &ilc3, arg1, arg2, arg3));
+	static struct inlineCache ilc3 = __DUMMYILCSELF3(@line+1);
+	RETURN (_SEND3(self, aSelector, nil, &ilc3, arg1, arg2, arg3));
     }
 #endif /* not SCHTEAM */
 %}.
@@ -6283,34 +6283,34 @@
     static int flip = 0;
 
     if (InterruptPending == nil) {
-        if (aSelector != last_0) {
-            if (aSelector != last_1) {
-                if (flip) {
-                    pIlc = &ilc_0;
-                    flip = 0;
-                    last_0 = aSelector;
-                } else {
-                    pIlc = &ilc_1;
-                    flip = 1;
-                    last_1 = aSelector;
-                }
-                pIlc->ilc_func = __SEND4ADDR__;
-                if (pIlc->ilc_poly) {
-                    __flushPolyCache(pIlc->ilc_poly);
-                    pIlc->ilc_poly = 0;
-                }
-            } else {
-                pIlc = &ilc_1;
-            }
-        } else {
-            pIlc = &ilc_0;
-        }
-        RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc,
-                                     arg1, arg2, arg3, arg4) );
+	if (aSelector != last_0) {
+	    if (aSelector != last_1) {
+		if (flip) {
+		    pIlc = &ilc_0;
+		    flip = 0;
+		    last_0 = aSelector;
+		} else {
+		    pIlc = &ilc_1;
+		    flip = 1;
+		    last_1 = aSelector;
+		}
+		pIlc->ilc_func = __SEND4ADDR__;
+		if (pIlc->ilc_poly) {
+		    __flushPolyCache(pIlc->ilc_poly);
+		    pIlc->ilc_poly = 0;
+		}
+	    } else {
+		pIlc = &ilc_1;
+	    }
+	} else {
+	    pIlc = &ilc_0;
+	}
+	RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc,
+				     arg1, arg2, arg3, arg4) );
     } else {
-        static struct inlineCache ilc4 = __DUMMYILCSELF4(@line+1);
-        RETURN (_SEND4(self, aSelector, nil, &ilc4,
-                       arg1, arg2, arg3, arg4));
+	static struct inlineCache ilc4 = __DUMMYILCSELF4(@line+1);
+	RETURN (_SEND4(self, aSelector, nil, &ilc4,
+		       arg1, arg2, arg3, arg4));
     }
 %}.
     ^ self perform:aSelector withArguments:(Array with:arg1 with:arg2 with:arg3 with:arg4)
@@ -6329,38 +6329,38 @@
     static int flip = 0;
 
     if (InterruptPending == nil) {
-        if (aSelector != last_0) {
-            if (aSelector != last_1) {
-                if (flip) {
-                    pIlc = &ilc_0;
-                    flip = 0;
-                    last_0 = aSelector;
-                } else {
-                    pIlc = &ilc_1;
-                    flip = 1;
-                    last_1 = aSelector;
-                }
-                pIlc->ilc_func = __SEND5ADDR__;
-                if (pIlc->ilc_poly) {
-                    __flushPolyCache(pIlc->ilc_poly);
-                    pIlc->ilc_poly = 0;
-                }
-            } else {
-                pIlc = &ilc_1;
-            }
-        } else {
-            pIlc = &ilc_0;
-        }
-        RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc,
-                                     arg1, arg2, arg3, arg4, arg5) );
+	if (aSelector != last_0) {
+	    if (aSelector != last_1) {
+		if (flip) {
+		    pIlc = &ilc_0;
+		    flip = 0;
+		    last_0 = aSelector;
+		} else {
+		    pIlc = &ilc_1;
+		    flip = 1;
+		    last_1 = aSelector;
+		}
+		pIlc->ilc_func = __SEND5ADDR__;
+		if (pIlc->ilc_poly) {
+		    __flushPolyCache(pIlc->ilc_poly);
+		    pIlc->ilc_poly = 0;
+		}
+	    } else {
+		pIlc = &ilc_1;
+	    }
+	} else {
+	    pIlc = &ilc_0;
+	}
+	RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc,
+				     arg1, arg2, arg3, arg4, arg5) );
     } else {
-        static struct inlineCache ilc5 = __DUMMYILCSELF5(@line+1);
-        RETURN (_SEND5(self, aSelector, nil, &ilc5,
-                       arg1, arg2, arg3, arg4, arg5));
+	static struct inlineCache ilc5 = __DUMMYILCSELF5(@line+1);
+	RETURN (_SEND5(self, aSelector, nil, &ilc5,
+		       arg1, arg2, arg3, arg4, arg5));
     }
 %}.
     ^ self perform:aSelector withArguments:(Array with:arg1 with:arg2 with:arg3 with:arg4
-                                                  with:arg5)
+						  with:arg5)
 
 !
 
@@ -6376,39 +6376,39 @@
     static int flip = 0;
 
     if (InterruptPending == nil) {
-        if (aSelector != last_0) {
-            if (aSelector != last_1) {
-                if (flip) {
-                    pIlc = &ilc_0;
-                    flip = 0;
-                    last_0 = aSelector;
-                } else {
-                    pIlc = &ilc_1;
-                    flip = 1;
-                    last_1 = aSelector;
-                }
-                pIlc->ilc_func = __SEND6ADDR__;
-                if (pIlc->ilc_poly) {
-                    __flushPolyCache(pIlc->ilc_poly);
-                    pIlc->ilc_poly = 0;
-                }
-            } else {
-                pIlc = &ilc_1;
-            }
-        } else {
-            pIlc = &ilc_0;
-        }
-
-        RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc,
-                                     arg1, arg2, arg3, arg4, arg5, arg6) );
+	if (aSelector != last_0) {
+	    if (aSelector != last_1) {
+		if (flip) {
+		    pIlc = &ilc_0;
+		    flip = 0;
+		    last_0 = aSelector;
+		} else {
+		    pIlc = &ilc_1;
+		    flip = 1;
+		    last_1 = aSelector;
+		}
+		pIlc->ilc_func = __SEND6ADDR__;
+		if (pIlc->ilc_poly) {
+		    __flushPolyCache(pIlc->ilc_poly);
+		    pIlc->ilc_poly = 0;
+		}
+	    } else {
+		pIlc = &ilc_1;
+	    }
+	} else {
+	    pIlc = &ilc_0;
+	}
+
+	RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc,
+				     arg1, arg2, arg3, arg4, arg5, arg6) );
     } else {
-        static struct inlineCache ilc6 = __DUMMYILCSELF6(@line+1);
-        RETURN (_SEND6(self, aSelector, nil, &ilc6,
-                       arg1, arg2, arg3, arg4, arg5, arg6));
+	static struct inlineCache ilc6 = __DUMMYILCSELF6(@line+1);
+	RETURN (_SEND6(self, aSelector, nil, &ilc6,
+		       arg1, arg2, arg3, arg4, arg5, arg6));
     }
 %}.
     ^ self perform:aSelector withArguments:(Array with:arg1 with:arg2 with:arg3 with:arg4
-                                                  with:arg5 with:arg6)
+						  with:arg5 with:arg6)
 
 !
 
@@ -6427,398 +6427,398 @@
     OBJ l;
 
     if (__isArrayLike(argArray)) {
-        nargs = __arraySize(argArray);
-        argP = __arrayVal(argArray);
+	nargs = __arraySize(argArray);
+	argP = __arrayVal(argArray);
     } else {
-        if (__isNonNilObject(argArray)) {
-            static struct inlineCache ilcSize = __ILC0(@line);
-            int i;
-
-            numberOfArgs = (*ilcSize.ilc_func)(argArray, @symbol(size), nil, &ilcSize);
-            if (!__isSmallInteger(numberOfArgs))
-                goto bad;
-            nargs = __intVal(numberOfArgs);
-            argP = (OBJ *)(&a1);
-            for (i=1; i <= nargs; i++) {
-                *argP++ = __AT_(argArray, __mkSmallInteger(i));
-            }
-            argP = (OBJ *)(&a1);
-        } else {
-            nargs = 0;
-        }
+	if (__isNonNilObject(argArray)) {
+	    static struct inlineCache ilcSize = __ILC0(@line);
+	    int i;
+
+	    numberOfArgs = (*ilcSize.ilc_func)(argArray, @symbol(size), nil, &ilcSize);
+	    if (!__isSmallInteger(numberOfArgs))
+		goto bad;
+	    nargs = __intVal(numberOfArgs);
+	    argP = (OBJ *)(&a1);
+	    for (i=1; i <= nargs; i++) {
+		*argP++ = __AT_(argArray, __mkSmallInteger(i));
+	    }
+	    argP = (OBJ *)(&a1);
+	} else {
+	    nargs = 0;
+	}
     }
     switch (nargs) {
-        case 0:
-            if (InterruptPending == nil) {
-                static OBJ last0_0 = nil; static struct inlineCache ilc0_0 = __ILCPERF0(@line);
-                static OBJ last0_1 = nil; static struct inlineCache ilc0_1 = __ILCPERF0(@line);
-                static OBJ last0_2 = nil; static struct inlineCache ilc0_2 = __ILCPERF0(@line);
-                static OBJ last0_3 = nil; static struct inlineCache ilc0_3 = __ILCPERF0(@line);
-                static int flip0 = 0;
-                struct inlineCache *pIlc;
-
-                if (aSelector == last0_0) {
-                    pIlc = &ilc0_0;
-                } else if (aSelector == last0_1) {
-                    pIlc = &ilc0_1;
-                } else if (aSelector == last0_2) {
-                    pIlc = &ilc0_2;
-                } else if (aSelector == last0_3) {
-                    pIlc = &ilc0_3;
-                } else {
-                    if (flip0 == 0) {
-                        pIlc = &ilc0_0;
-                        flip0 = 1;
-                        last0_0 = aSelector;
-                    } else if (flip0 == 1) {
-                        pIlc = &ilc0_1;
-                        flip0 = 2;
-                        last0_1 = aSelector;
-                    } else if (flip0 == 2) {
-                        pIlc = &ilc0_2;
-                        flip0 = 3;
-                        last0_2 = aSelector;
-                    } else {
-                        pIlc = &ilc0_3;
-                        flip0 = 0;
-                        last0_3 = aSelector;
-                    }
-
-                    pIlc->ilc_func = __SEND0ADDR__;
-                    if (pIlc->ilc_poly) {
-                        __flushPolyCache(pIlc->ilc_poly);
-                        pIlc->ilc_poly = 0;
-                    }
-                }
-                RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc));
-            } else {
-                static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
-                RETURN (_SEND0(self, aSelector, nil, &ilc0));
-            }
-
-        case 1:
-            if (InterruptPending == nil) {
-                static OBJ last1_0 = nil; static struct inlineCache ilc1_0 = __ILCPERF1(@line);
-                static OBJ last1_1 = nil; static struct inlineCache ilc1_1 = __ILCPERF1(@line);
-                static OBJ last1_2 = nil; static struct inlineCache ilc1_2 = __ILCPERF1(@line);
-                static OBJ last1_3 = nil; static struct inlineCache ilc1_3 = __ILCPERF1(@line);
-                static int flip1 = 0;
-                struct inlineCache *pIlc;
-
-                if (aSelector == last1_0) {
-                    pIlc = &ilc1_0;
-                } else if (aSelector == last1_1) {
-                    pIlc = &ilc1_1;
-                } else if (aSelector == last1_2) {
-                    pIlc = &ilc1_2;
-                } else if (aSelector == last1_3) {
-                    pIlc = &ilc1_3;
-                } else {
-                    if (flip1 == 0) {
-                        pIlc = &ilc1_0;
-                        flip1 = 1;
-                        last1_0 = aSelector;
-                    } else if (flip1 == 1) {
-                        pIlc = &ilc1_1;
-                        flip1 = 2;
-                        last1_1 = aSelector;
-                    } else if (flip1 == 2) {
-                        pIlc = &ilc1_2;
-                        flip1 = 3;
-                        last1_2 = aSelector;
-                    } else {
-                        pIlc = &ilc1_3;
-                        flip1 = 0;
-                        last1_3 = aSelector;
-                    }
-
-                    pIlc->ilc_func = __SEND1ADDR__;
-                    if (pIlc->ilc_poly) {
-                        __flushPolyCache(pIlc->ilc_poly);
-                        pIlc->ilc_poly = 0;
-                    }
-                }
-                RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc, argP[0]));
-            } else {
-                static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
-                RETURN (_SEND1(self, aSelector, nil, &ilc1, argP[0]));
-            }
-
-        case 2:
-            if (InterruptPending == nil) {
-                static OBJ last2_0 = nil; static struct inlineCache ilc2_0 = __ILCPERF2(@line);
-                static OBJ last2_1 = nil; static struct inlineCache ilc2_1 = __ILCPERF2(@line);
-                static int flip2 = 0;
-                struct inlineCache *pIlc;
-
-                if (aSelector == last2_0) {
-                    pIlc = &ilc2_0;
-                } else if (aSelector == last2_1) {
-                    pIlc = &ilc2_1;
-                } else {
-                    if (flip2 == 0) {
-                        pIlc = &ilc2_0;
-                        flip2 = 1;
-                        last2_0 = aSelector;
-                    } else {
-                        pIlc = &ilc2_1;
-                        flip2 = 0;
-                        last2_1 = aSelector;
-                    }
-
-                    pIlc->ilc_func = __SEND2ADDR__;
-                    if (pIlc->ilc_poly) {
-                        __flushPolyCache(pIlc->ilc_poly);
-                        pIlc->ilc_poly = 0;
-                    }
-                }
-                RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc, argP[0], argP[1]));
-            } else {
-                static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
-                RETURN (_SEND2(self, aSelector, nil, &ilc2, argP[0], argP[1]));
-            }
-
-        case 3:
-            if (InterruptPending == nil) {
-                static OBJ last3_0 = nil; static struct inlineCache ilc3_0 = __ILCPERF3(@line);
-                static OBJ last3_1 = nil; static struct inlineCache ilc3_1 = __ILCPERF3(@line);
-                static int flip3 = 0;
-                struct inlineCache *pIlc;
-
-                if (aSelector == last3_0) {
-                    pIlc = &ilc3_0;
-                } else if (aSelector == last3_1) {
-                    pIlc = &ilc3_1;
-                } else {
-                    if (flip3 == 0) {
-                        pIlc = &ilc3_0;
-                        flip3 = 1;
-                        last3_0 = aSelector;
-                    } else {
-                        pIlc = &ilc3_1;
-                        flip3 = 0;
-                        last3_1 = aSelector;
-                    }
-
-                    pIlc->ilc_func = __SEND3ADDR__;
-                    if (pIlc->ilc_poly) {
-                        __flushPolyCache(pIlc->ilc_poly);
-                        pIlc->ilc_poly = 0;
-                    }
-                }
-                RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc, argP[0], argP[1], argP[2]));
-            } else {
-                static struct inlineCache ilc3 = __DUMMYILCSELF3(@line+1);
-                RETURN (_SEND3(self, aSelector, nil, &ilc3, argP[0], argP[1], argP[2]));
-            }
-
-        case 4:
-            {
-                static OBJ last4 = nil; static struct inlineCache ilc4 = __ILCPERF4(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last4)) {
-                    ilc4.ilc_func = __SEND4ADDR__;
-                    if (ilc4.ilc_poly) {
-                        __flushPolyCache(ilc4.ilc_poly);
-                        ilc4.ilc_poly = 0;
-                    }
-                    last4 = aSelector;
-                }
-                RETURN ( (*ilc4.ilc_func)(self, aSelector, nil, &ilc4,
-                                                argP[0], argP[1], argP[2], argP[3]));
-            }
-
-        case 5:
-            {
-                static OBJ last5 = nil; static struct inlineCache ilc5 = __ILCPERF5(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last5)) {
-                    ilc5.ilc_func = __SEND5ADDR__;
-                    if (ilc5.ilc_poly) {
-                        __flushPolyCache(ilc5.ilc_poly);
-                        ilc5.ilc_poly = 0;
-                    }
-                    last5 = aSelector;
-                }
-                RETURN ( (*ilc5.ilc_func)(self, aSelector, nil, &ilc5,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4]));
-            }
-
-        case 6:
-            {
-                static OBJ last6 = nil; static struct inlineCache ilc6 = __ILCPERF6(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last6)) {
-                    ilc6.ilc_func = __SEND6ADDR__;
-                    if (ilc6.ilc_poly) {
-                        __flushPolyCache(ilc6.ilc_poly);
-                        ilc6.ilc_poly = 0;
-                    }
-                    last6 = aSelector;
-                }
-                RETURN ( (*ilc6.ilc_func)(self, aSelector, nil, &ilc6,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5]));
-            }
-
-        case 7:
-            {
-                static OBJ last7 = nil; static struct inlineCache ilc7 = __ILCPERF7(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last7)) {
-                    ilc7.ilc_func = __SEND7ADDR__;
-                    if (ilc7.ilc_poly) {
-                        __flushPolyCache(ilc7.ilc_poly);
-                        ilc7.ilc_poly = 0;
-                    }
-                    last7 = aSelector;
-                }
-                RETURN ( (*ilc7.ilc_func)(self, aSelector, nil, &ilc7,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6]));
-            }
-
-        case 8:
-            {
-                static OBJ last8 = nil; static struct inlineCache ilc8 = __ILCPERF8(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last8)) {
-                    ilc8.ilc_func = __SEND8ADDR__;
-                    if (ilc8.ilc_poly) {
-                        __flushPolyCache(ilc8.ilc_poly);
-                        ilc8.ilc_poly = 0;
-                    }
-                    last8 = aSelector;
-                }
-                RETURN ( (*ilc8.ilc_func)(self, aSelector, nil, &ilc8,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7]));
-            }
-
-        case 9:
-            {
-                static OBJ last9 = nil; static struct inlineCache ilc9 = __ILCPERF9(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last9)) {
-                    ilc9.ilc_func = __SEND9ADDR__;
-                    if (ilc9.ilc_poly) {
-                        __flushPolyCache(ilc9.ilc_poly);
-                        ilc9.ilc_poly = 0;
-                    }
-                    last9 = aSelector;
-                }
-                RETURN ( (*ilc9.ilc_func)(self, aSelector, nil, &ilc9,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7], argP[8]));
-            }
-
-        case 10:
-            {
-                static OBJ last10 = nil; static struct inlineCache ilc10 = __ILCPERF10(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last10)) {
-                    ilc10.ilc_func = __SEND10ADDR__;
-                    if (ilc10.ilc_poly) {
-                        __flushPolyCache(ilc10.ilc_poly);
-                        ilc10.ilc_poly = 0;
-                    }
-                    last10 = aSelector;
-                }
-                RETURN ( (*ilc10.ilc_func)(self, aSelector, nil, &ilc10,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7], argP[8], argP[9]));
-            }
-
-        case 11:
-            {
-                static OBJ last11 = nil; static struct inlineCache ilc11 = __ILCPERF11(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last11)) {
-                    ilc11.ilc_func = __SEND11ADDR__;
-                    if (ilc11.ilc_poly) {
-                        __flushPolyCache(ilc11.ilc_poly);
-                        ilc11.ilc_poly = 0;
-                    }
-                    last11 = aSelector;
-                }
-                RETURN ( (*ilc11.ilc_func)(self, aSelector, nil, &ilc11,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7], argP[8], argP[9],
-                                                argP[10]));
-            }
-
-        case 12:
-            {
-                static OBJ last12 = nil; static struct inlineCache ilc12 = __ILCPERF12(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last12)) {
-                    ilc12.ilc_func = __SEND12ADDR__;
-                    if (ilc12.ilc_poly) {
-                        __flushPolyCache(ilc12.ilc_poly);
-                        ilc12.ilc_poly = 0;
-                    }
-                    last12 = aSelector;
-                }
-                RETURN ( (*ilc12.ilc_func)(self, aSelector, nil, &ilc12,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7], argP[8], argP[9],
-                                                argP[10], argP[11]));
-            }
-
-        case 13:
-            {
-                static OBJ last13 = nil; static struct inlineCache ilc13 = __ILCPERF13(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last13)) {
-                    ilc13.ilc_func = __SEND13ADDR__;
-                    if (ilc13.ilc_poly) {
-                        __flushPolyCache(ilc13.ilc_poly);
-                        ilc13.ilc_poly = 0;
-                    }
-                    last13 = aSelector;
-                }
-                RETURN ( (*ilc13.ilc_func)(self, aSelector, nil, &ilc13,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7], argP[8], argP[9],
-                                                argP[10], argP[11], argP[12]));
-            }
-
-        case 14:
-            {
-                static OBJ last14 = nil; static struct inlineCache ilc14 = __ILCPERF14(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last14)) {
-                    ilc14.ilc_func = __SEND14ADDR__;
-                    if (ilc14.ilc_poly) {
-                        __flushPolyCache(ilc14.ilc_poly);
-                        ilc14.ilc_poly = 0;
-                    }
-                    last14 = aSelector;
-                }
-                RETURN ( (*ilc14.ilc_func)(self, aSelector, nil, &ilc14,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7], argP[8], argP[9],
-                                                argP[10], argP[11], argP[12], argP[13]));
-            }
-
-        case 15:
-            {
-                static OBJ last15 = nil; static struct inlineCache ilc15 = __ILCPERF15(@line);
-
-                if ((InterruptPending != nil) || (aSelector != last15)) {
-                    ilc15.ilc_func = __SEND15ADDR__;
-                    if (ilc15.ilc_poly) {
-                        __flushPolyCache(ilc15.ilc_poly);
-                        ilc15.ilc_poly = 0;
-                    }
-                    last15 = aSelector;
-                }
-                RETURN ( (*ilc15.ilc_func)(self, aSelector, nil, &ilc15,
-                                                argP[0], argP[1], argP[2], argP[3], argP[4],
-                                                argP[5], argP[6], argP[7], argP[8], argP[9],
-                                                argP[10], argP[11], argP[12], argP[13],
-                                                argP[14]));
-            }
+	case 0:
+	    if (InterruptPending == nil) {
+		static OBJ last0_0 = nil; static struct inlineCache ilc0_0 = __ILCPERF0(@line);
+		static OBJ last0_1 = nil; static struct inlineCache ilc0_1 = __ILCPERF0(@line);
+		static OBJ last0_2 = nil; static struct inlineCache ilc0_2 = __ILCPERF0(@line);
+		static OBJ last0_3 = nil; static struct inlineCache ilc0_3 = __ILCPERF0(@line);
+		static int flip0 = 0;
+		struct inlineCache *pIlc;
+
+		if (aSelector == last0_0) {
+		    pIlc = &ilc0_0;
+		} else if (aSelector == last0_1) {
+		    pIlc = &ilc0_1;
+		} else if (aSelector == last0_2) {
+		    pIlc = &ilc0_2;
+		} else if (aSelector == last0_3) {
+		    pIlc = &ilc0_3;
+		} else {
+		    if (flip0 == 0) {
+			pIlc = &ilc0_0;
+			flip0 = 1;
+			last0_0 = aSelector;
+		    } else if (flip0 == 1) {
+			pIlc = &ilc0_1;
+			flip0 = 2;
+			last0_1 = aSelector;
+		    } else if (flip0 == 2) {
+			pIlc = &ilc0_2;
+			flip0 = 3;
+			last0_2 = aSelector;
+		    } else {
+			pIlc = &ilc0_3;
+			flip0 = 0;
+			last0_3 = aSelector;
+		    }
+
+		    pIlc->ilc_func = __SEND0ADDR__;
+		    if (pIlc->ilc_poly) {
+			__flushPolyCache(pIlc->ilc_poly);
+			pIlc->ilc_poly = 0;
+		    }
+		}
+		RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc));
+	    } else {
+		static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
+		RETURN (_SEND0(self, aSelector, nil, &ilc0));
+	    }
+
+	case 1:
+	    if (InterruptPending == nil) {
+		static OBJ last1_0 = nil; static struct inlineCache ilc1_0 = __ILCPERF1(@line);
+		static OBJ last1_1 = nil; static struct inlineCache ilc1_1 = __ILCPERF1(@line);
+		static OBJ last1_2 = nil; static struct inlineCache ilc1_2 = __ILCPERF1(@line);
+		static OBJ last1_3 = nil; static struct inlineCache ilc1_3 = __ILCPERF1(@line);
+		static int flip1 = 0;
+		struct inlineCache *pIlc;
+
+		if (aSelector == last1_0) {
+		    pIlc = &ilc1_0;
+		} else if (aSelector == last1_1) {
+		    pIlc = &ilc1_1;
+		} else if (aSelector == last1_2) {
+		    pIlc = &ilc1_2;
+		} else if (aSelector == last1_3) {
+		    pIlc = &ilc1_3;
+		} else {
+		    if (flip1 == 0) {
+			pIlc = &ilc1_0;
+			flip1 = 1;
+			last1_0 = aSelector;
+		    } else if (flip1 == 1) {
+			pIlc = &ilc1_1;
+			flip1 = 2;
+			last1_1 = aSelector;
+		    } else if (flip1 == 2) {
+			pIlc = &ilc1_2;
+			flip1 = 3;
+			last1_2 = aSelector;
+		    } else {
+			pIlc = &ilc1_3;
+			flip1 = 0;
+			last1_3 = aSelector;
+		    }
+
+		    pIlc->ilc_func = __SEND1ADDR__;
+		    if (pIlc->ilc_poly) {
+			__flushPolyCache(pIlc->ilc_poly);
+			pIlc->ilc_poly = 0;
+		    }
+		}
+		RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc, argP[0]));
+	    } else {
+		static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
+		RETURN (_SEND1(self, aSelector, nil, &ilc1, argP[0]));
+	    }
+
+	case 2:
+	    if (InterruptPending == nil) {
+		static OBJ last2_0 = nil; static struct inlineCache ilc2_0 = __ILCPERF2(@line);
+		static OBJ last2_1 = nil; static struct inlineCache ilc2_1 = __ILCPERF2(@line);
+		static int flip2 = 0;
+		struct inlineCache *pIlc;
+
+		if (aSelector == last2_0) {
+		    pIlc = &ilc2_0;
+		} else if (aSelector == last2_1) {
+		    pIlc = &ilc2_1;
+		} else {
+		    if (flip2 == 0) {
+			pIlc = &ilc2_0;
+			flip2 = 1;
+			last2_0 = aSelector;
+		    } else {
+			pIlc = &ilc2_1;
+			flip2 = 0;
+			last2_1 = aSelector;
+		    }
+
+		    pIlc->ilc_func = __SEND2ADDR__;
+		    if (pIlc->ilc_poly) {
+			__flushPolyCache(pIlc->ilc_poly);
+			pIlc->ilc_poly = 0;
+		    }
+		}
+		RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc, argP[0], argP[1]));
+	    } else {
+		static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
+		RETURN (_SEND2(self, aSelector, nil, &ilc2, argP[0], argP[1]));
+	    }
+
+	case 3:
+	    if (InterruptPending == nil) {
+		static OBJ last3_0 = nil; static struct inlineCache ilc3_0 = __ILCPERF3(@line);
+		static OBJ last3_1 = nil; static struct inlineCache ilc3_1 = __ILCPERF3(@line);
+		static int flip3 = 0;
+		struct inlineCache *pIlc;
+
+		if (aSelector == last3_0) {
+		    pIlc = &ilc3_0;
+		} else if (aSelector == last3_1) {
+		    pIlc = &ilc3_1;
+		} else {
+		    if (flip3 == 0) {
+			pIlc = &ilc3_0;
+			flip3 = 1;
+			last3_0 = aSelector;
+		    } else {
+			pIlc = &ilc3_1;
+			flip3 = 0;
+			last3_1 = aSelector;
+		    }
+
+		    pIlc->ilc_func = __SEND3ADDR__;
+		    if (pIlc->ilc_poly) {
+			__flushPolyCache(pIlc->ilc_poly);
+			pIlc->ilc_poly = 0;
+		    }
+		}
+		RETURN ((*pIlc->ilc_func)(self, aSelector, nil, pIlc, argP[0], argP[1], argP[2]));
+	    } else {
+		static struct inlineCache ilc3 = __DUMMYILCSELF3(@line+1);
+		RETURN (_SEND3(self, aSelector, nil, &ilc3, argP[0], argP[1], argP[2]));
+	    }
+
+	case 4:
+	    {
+		static OBJ last4 = nil; static struct inlineCache ilc4 = __ILCPERF4(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last4)) {
+		    ilc4.ilc_func = __SEND4ADDR__;
+		    if (ilc4.ilc_poly) {
+			__flushPolyCache(ilc4.ilc_poly);
+			ilc4.ilc_poly = 0;
+		    }
+		    last4 = aSelector;
+		}
+		RETURN ( (*ilc4.ilc_func)(self, aSelector, nil, &ilc4,
+						argP[0], argP[1], argP[2], argP[3]));
+	    }
+
+	case 5:
+	    {
+		static OBJ last5 = nil; static struct inlineCache ilc5 = __ILCPERF5(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last5)) {
+		    ilc5.ilc_func = __SEND5ADDR__;
+		    if (ilc5.ilc_poly) {
+			__flushPolyCache(ilc5.ilc_poly);
+			ilc5.ilc_poly = 0;
+		    }
+		    last5 = aSelector;
+		}
+		RETURN ( (*ilc5.ilc_func)(self, aSelector, nil, &ilc5,
+						argP[0], argP[1], argP[2], argP[3], argP[4]));
+	    }
+
+	case 6:
+	    {
+		static OBJ last6 = nil; static struct inlineCache ilc6 = __ILCPERF6(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last6)) {
+		    ilc6.ilc_func = __SEND6ADDR__;
+		    if (ilc6.ilc_poly) {
+			__flushPolyCache(ilc6.ilc_poly);
+			ilc6.ilc_poly = 0;
+		    }
+		    last6 = aSelector;
+		}
+		RETURN ( (*ilc6.ilc_func)(self, aSelector, nil, &ilc6,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5]));
+	    }
+
+	case 7:
+	    {
+		static OBJ last7 = nil; static struct inlineCache ilc7 = __ILCPERF7(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last7)) {
+		    ilc7.ilc_func = __SEND7ADDR__;
+		    if (ilc7.ilc_poly) {
+			__flushPolyCache(ilc7.ilc_poly);
+			ilc7.ilc_poly = 0;
+		    }
+		    last7 = aSelector;
+		}
+		RETURN ( (*ilc7.ilc_func)(self, aSelector, nil, &ilc7,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6]));
+	    }
+
+	case 8:
+	    {
+		static OBJ last8 = nil; static struct inlineCache ilc8 = __ILCPERF8(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last8)) {
+		    ilc8.ilc_func = __SEND8ADDR__;
+		    if (ilc8.ilc_poly) {
+			__flushPolyCache(ilc8.ilc_poly);
+			ilc8.ilc_poly = 0;
+		    }
+		    last8 = aSelector;
+		}
+		RETURN ( (*ilc8.ilc_func)(self, aSelector, nil, &ilc8,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7]));
+	    }
+
+	case 9:
+	    {
+		static OBJ last9 = nil; static struct inlineCache ilc9 = __ILCPERF9(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last9)) {
+		    ilc9.ilc_func = __SEND9ADDR__;
+		    if (ilc9.ilc_poly) {
+			__flushPolyCache(ilc9.ilc_poly);
+			ilc9.ilc_poly = 0;
+		    }
+		    last9 = aSelector;
+		}
+		RETURN ( (*ilc9.ilc_func)(self, aSelector, nil, &ilc9,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7], argP[8]));
+	    }
+
+	case 10:
+	    {
+		static OBJ last10 = nil; static struct inlineCache ilc10 = __ILCPERF10(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last10)) {
+		    ilc10.ilc_func = __SEND10ADDR__;
+		    if (ilc10.ilc_poly) {
+			__flushPolyCache(ilc10.ilc_poly);
+			ilc10.ilc_poly = 0;
+		    }
+		    last10 = aSelector;
+		}
+		RETURN ( (*ilc10.ilc_func)(self, aSelector, nil, &ilc10,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7], argP[8], argP[9]));
+	    }
+
+	case 11:
+	    {
+		static OBJ last11 = nil; static struct inlineCache ilc11 = __ILCPERF11(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last11)) {
+		    ilc11.ilc_func = __SEND11ADDR__;
+		    if (ilc11.ilc_poly) {
+			__flushPolyCache(ilc11.ilc_poly);
+			ilc11.ilc_poly = 0;
+		    }
+		    last11 = aSelector;
+		}
+		RETURN ( (*ilc11.ilc_func)(self, aSelector, nil, &ilc11,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7], argP[8], argP[9],
+						argP[10]));
+	    }
+
+	case 12:
+	    {
+		static OBJ last12 = nil; static struct inlineCache ilc12 = __ILCPERF12(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last12)) {
+		    ilc12.ilc_func = __SEND12ADDR__;
+		    if (ilc12.ilc_poly) {
+			__flushPolyCache(ilc12.ilc_poly);
+			ilc12.ilc_poly = 0;
+		    }
+		    last12 = aSelector;
+		}
+		RETURN ( (*ilc12.ilc_func)(self, aSelector, nil, &ilc12,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7], argP[8], argP[9],
+						argP[10], argP[11]));
+	    }
+
+	case 13:
+	    {
+		static OBJ last13 = nil; static struct inlineCache ilc13 = __ILCPERF13(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last13)) {
+		    ilc13.ilc_func = __SEND13ADDR__;
+		    if (ilc13.ilc_poly) {
+			__flushPolyCache(ilc13.ilc_poly);
+			ilc13.ilc_poly = 0;
+		    }
+		    last13 = aSelector;
+		}
+		RETURN ( (*ilc13.ilc_func)(self, aSelector, nil, &ilc13,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7], argP[8], argP[9],
+						argP[10], argP[11], argP[12]));
+	    }
+
+	case 14:
+	    {
+		static OBJ last14 = nil; static struct inlineCache ilc14 = __ILCPERF14(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last14)) {
+		    ilc14.ilc_func = __SEND14ADDR__;
+		    if (ilc14.ilc_poly) {
+			__flushPolyCache(ilc14.ilc_poly);
+			ilc14.ilc_poly = 0;
+		    }
+		    last14 = aSelector;
+		}
+		RETURN ( (*ilc14.ilc_func)(self, aSelector, nil, &ilc14,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7], argP[8], argP[9],
+						argP[10], argP[11], argP[12], argP[13]));
+	    }
+
+	case 15:
+	    {
+		static OBJ last15 = nil; static struct inlineCache ilc15 = __ILCPERF15(@line);
+
+		if ((InterruptPending != nil) || (aSelector != last15)) {
+		    ilc15.ilc_func = __SEND15ADDR__;
+		    if (ilc15.ilc_poly) {
+			__flushPolyCache(ilc15.ilc_poly);
+			ilc15.ilc_poly = 0;
+		    }
+		    last15 = aSelector;
+		}
+		RETURN ( (*ilc15.ilc_func)(self, aSelector, nil, &ilc15,
+						argP[0], argP[1], argP[2], argP[3], argP[4],
+						argP[5], argP[6], argP[7], argP[8], argP[9],
+						argP[10], argP[11], argP[12], argP[13],
+						argP[14]));
+	    }
     }
 bad:;
 #endif
@@ -6835,7 +6835,7 @@
      If the message expects an argument, pass arg."
 
     aSelector argumentCount == 1 ifTrue:[
-        ^ self perform:aSelector with:arg
+	^ self perform:aSelector with:arg
     ].
     ^ self perform:aSelector
 
@@ -6860,10 +6860,10 @@
 
     numArgs := aSelector argumentCount.
     numArgs == 0 ifTrue:[
-        ^ self perform:aSelector
+	^ self perform:aSelector
     ].
     numArgs == 1 ifTrue:[
-        ^ self perform:aSelector with:optionalArg1
+	^ self perform:aSelector with:optionalArg1
     ].
     ^ self perform:aSelector with:optionalArg1 with:optionalArg2.
 
@@ -6888,13 +6888,13 @@
 
     numArgs := aSelector argumentCount.
     numArgs == 0 ifTrue:[
-        ^ self perform:aSelector
+	^ self perform:aSelector
     ].
     numArgs == 1 ifTrue:[
-        ^ self perform:aSelector with:optionalArg1
+	^ self perform:aSelector with:optionalArg1
     ].
     numArgs == 2 ifTrue:[
-        ^ self perform:aSelector with:optionalArg1 with:optionalArg2
+	^ self perform:aSelector with:optionalArg1 with:optionalArg2
     ].
     ^ self perform:aSelector with:optionalArg1 with:optionalArg2 with:optionalArg3.
 
@@ -6919,16 +6919,16 @@
 
     numArgs := aSelector argumentCount.
     numArgs == 0 ifTrue:[
-        ^ self perform:aSelector
+	^ self perform:aSelector
     ].
     numArgs == 1 ifTrue:[
-        ^ self perform:aSelector with:optionalArg1
+	^ self perform:aSelector with:optionalArg1
     ].
     numArgs == 2 ifTrue:[
-        ^ self perform:aSelector with:optionalArg1 with:optionalArg2
+	^ self perform:aSelector with:optionalArg1 with:optionalArg2
     ].
     numArgs == 3 ifTrue:[
-        ^ self perform:aSelector with:optionalArg1 with:optionalArg2 with:optionalArg3
+	^ self perform:aSelector with:optionalArg1 with:optionalArg2 with:optionalArg3
     ].
     ^ self perform:aSelector with:optionalArg1 with:optionalArg2 with:optionalArg3 with:optionalArg4.
 
@@ -6962,8 +6962,8 @@
      This is a non-object-oriented entry, applying a method
      in a functional way on a receiver.
      Warning:
-         Take care for the method to be appropriate for the
-         receiver - no checking is done by the VM."
+	 Take care for the method to be appropriate for the
+	 receiver - no checking is done by the VM."
 
     ^ aMethod valueWithReceiver:self arguments:#()
 
@@ -6992,8 +6992,8 @@
      This is a non-object-oriented entry, applying a method
      in a functional way on a receiver.
      Warning:
-         Take care for the method to be appropriate for the
-         receiver - no checking is done by the VM."
+	 Take care for the method to be appropriate for the
+	 receiver - no checking is done by the VM."
 
     ^ aMethod valueWithReceiver:self arguments:argumentArray
 
@@ -7013,8 +7013,8 @@
      This is a non-object-oriented entry, applying a method
      in a functional way on a receiver.
      Warning:
-         Take care for the method to be appropriate for the
-         receiver - no checking is done by the VM."
+	 Take care for the method to be appropriate for the
+	 receiver - no checking is done by the VM."
 
     ^ aMethod valueWithReceiver:self arguments:(Array with:arg)
 
@@ -7034,8 +7034,8 @@
      This is a non-object-oriented entry, applying a method
      in a functional way on a receiver.
      Warning:
-         Take care for the method to be appropriate for the
-         receiver - no checking is done by the VM."
+	 Take care for the method to be appropriate for the
+	 receiver - no checking is done by the VM."
 
     ^ aMethod valueWithReceiver:self arguments:(Array with:arg1 with:arg2)
 
@@ -7057,8 +7057,8 @@
      This is a non-object-oriented entry, applying a method
      in a functional way on a receiver.
      Warning:
-         Take care for the method to be appropriate for the
-         receiver - no checking is done by the VM."
+	 Take care for the method to be appropriate for the
+	 receiver - no checking is done by the VM."
 
     ^ aMethod valueWithReceiver:self arguments:(Array with:arg1 with:arg2 with:arg3)
 
@@ -7075,7 +7075,7 @@
     REGISTER OBJ sel = aSelector;
 
     if (InterruptPending == nil) {
-        struct inlineCache *pIlc;
+	struct inlineCache *pIlc;
 
 #define SEL_AND_ILC_INIT_1(l)   { nil , __ILCPERF0(l) }
 #define SEL_AND_ILC_INIT_2(l)   SEL_AND_ILC_INIT_1(l)   , SEL_AND_ILC_INIT_1(l)
@@ -7090,11 +7090,11 @@
 #undef nilcs
 #define nilcs 256
 
-        static struct sel_and_ilc {
-            OBJ sel;
-            struct inlineCache ilc;
-            struct sel_and_ilc *next;
-        } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_256(29) };
+	static struct sel_and_ilc {
+	    OBJ sel;
+	    struct inlineCache ilc;
+	    struct sel_and_ilc *next;
+	} sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_256(29) };
 
 #undef SEL_AND_ILC_INIT_1
 #undef SEL_AND_ILC_INIT_2
@@ -7106,62 +7106,62 @@
 #undef SEL_AND_ILC_INIT_128
 #undef SEL_AND_ILC_INIT_256
 
-        static struct sel_and_ilc *nextFree = sel_and_ilc;
-        static struct sel_and_ilc *lastUsed = 0;
-        int n;
-        struct sel_and_ilc *slot, *prev, *prevPrev;
-
-        for (n=0, slot = lastUsed, prev = prevPrev = 0; slot; n++, slot = slot->next) {
-           if (sel == slot->sel) {
+	static struct sel_and_ilc *nextFree = sel_and_ilc;
+	static struct sel_and_ilc *lastUsed = 0;
+	int n;
+	struct sel_and_ilc *slot, *prev, *prevPrev;
+
+	for (n=0, slot = lastUsed, prev = prevPrev = 0; slot; n++, slot = slot->next) {
+	   if (sel == slot->sel) {
 #ifdef XXDEBUG
 printf("cached slot %d (len=%d)\n", slot-sel_and_ilc, n);
 #endif
-                pIlc = &(slot->ilc);
-                // move to front
-                if (prev) {
-                    prev->next = slot->next;
-                }
-                slot->next = lastUsed;
-                lastUsed = slot;
-                pIlc = &(slot->ilc);
-                goto perform0_send_and_return;
-           }
-           prevPrev = prev;
-           prev = slot;
-        }
-        // not recently used...
-        if (nextFree) {
-            // another free one
-            slot = nextFree;
-            nextFree = nextFree + 1;
-            if (nextFree >= &(sel_and_ilc[nilcs])) nextFree = 0;
+		pIlc = &(slot->ilc);
+		// move to front
+		if (prev) {
+		    prev->next = slot->next;
+		}
+		slot->next = lastUsed;
+		lastUsed = slot;
+		pIlc = &(slot->ilc);
+		goto perform0_send_and_return;
+	   }
+	   prevPrev = prev;
+	   prev = slot;
+	}
+	// not recently used...
+	if (nextFree) {
+	    // another free one
+	    slot = nextFree;
+	    nextFree = nextFree + 1;
+	    if (nextFree >= &(sel_and_ilc[nilcs])) nextFree = 0;
 #ifdef XXDEBUG
 printf("new slot %d\n", slot-sel_and_ilc);
 #endif
-        } else {
-            // no more for reuse - use least recently used
-            slot = prev;
-            prevPrev->next = 0;
-            slot->next = lastUsed;
-            lastUsed = slot;
+	} else {
+	    // no more for reuse - use least recently used
+	    slot = prev;
+	    prevPrev->next = 0;
+	    slot->next = lastUsed;
+	    lastUsed = slot;
 #ifdef XXDEBUG
 printf("reuse last slot %d\n", slot-sel_and_ilc);
 #endif
-        }
-
-        /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
-        pIlc = &(slot->ilc);
-        slot->sel = sel;
-        pIlc->ilc_func = __SEND0ADDR__;
-        if (pIlc->ilc_poly) {
-             __flushPolyCache(pIlc->ilc_poly);
-            pIlc->ilc_poly = 0;
-        }
+	}
+
+	/*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
+	pIlc = &(slot->ilc);
+	slot->sel = sel;
+	pIlc->ilc_func = __SEND0ADDR__;
+	if (pIlc->ilc_poly) {
+	     __flushPolyCache(pIlc->ilc_poly);
+	    pIlc->ilc_poly = 0;
+	}
 perform0_send_and_return:
-        RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc) );
+	RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc) );
     } else {
-        static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
-        RETURN (_SEND0(self, aSelector, nil, &ilc0));
+	static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
+	RETURN (_SEND0(self, aSelector, nil, &ilc0));
     }
 %}.
     ^ self perform:aSelector withArguments:#()
@@ -7176,7 +7176,7 @@
     REGISTER OBJ sel = aSelector;
 
     if (InterruptPending == nil) {
-        struct inlineCache *pIlc;
+	struct inlineCache *pIlc;
     /* JV @ 2010-22-07: To improve performance I use 256 ILCs instead
        of default 4. For details, see comment in perform: */
 
@@ -7193,7 +7193,7 @@
 #undef nilcs
 #define nilcs 256
 
-        static struct { OBJ sel; struct inlineCache ilc; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_256(29) };
+	static struct { OBJ sel; struct inlineCache ilc; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_256(29) };
 
 #undef SEL_AND_ILC_INIT_1
 #undef SEL_AND_ILC_INIT_2
@@ -7205,28 +7205,28 @@
 #undef SEL_AND_ILC_INIT_128
 #undef SEL_AND_ILC_INIT_256
 
-        static int flip = 0;
-        int i;
-        for (i = 0; i < nilcs; i++) {
-           if (sel == sel_and_ilc[i].sel) {
-                pIlc = &sel_and_ilc[i].ilc;
-                goto perform1_send_and_return;
-           }
-        }
-        /*printf("Object >> #perform: #%s with: arg --> no PIC found\n", __symbolVal(aSelector));*/
-        pIlc = &sel_and_ilc[flip].ilc;
-        sel_and_ilc[flip].sel = sel;
-        flip = (flip + 1) % nilcs;
-        pIlc->ilc_func = __SEND1ADDR__;
-        if (pIlc->ilc_poly) {
-             __flushPolyCache(pIlc->ilc_poly);
-            pIlc->ilc_poly = 0;
-        }
+	static int flip = 0;
+	int i;
+	for (i = 0; i < nilcs; i++) {
+	   if (sel == sel_and_ilc[i].sel) {
+		pIlc = &sel_and_ilc[i].ilc;
+		goto perform1_send_and_return;
+	   }
+	}
+	/*printf("Object >> #perform: #%s with: arg --> no PIC found\n", __symbolVal(aSelector));*/
+	pIlc = &sel_and_ilc[flip].ilc;
+	sel_and_ilc[flip].sel = sel;
+	flip = (flip + 1) % nilcs;
+	pIlc->ilc_func = __SEND1ADDR__;
+	if (pIlc->ilc_poly) {
+	     __flushPolyCache(pIlc->ilc_poly);
+	    pIlc->ilc_poly = 0;
+	}
 perform1_send_and_return:
-        RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc, arg) );
+	RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc, arg) );
     } else {
-        static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
-        RETURN (_SEND1(self, aSelector, nil, &ilc1, arg));
+	static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
+	RETURN (_SEND1(self, aSelector, nil, &ilc1, arg));
     }
 %}.
     ^ self perform:aSelector withArguments:(Array with:arg)
@@ -7256,15 +7256,15 @@
     |cls|
 
     Inspector ~~ MiniInspector ifTrue:[
-        cls := #'Tools::Inspector2' asClassIfAbsent:nil.
+	cls := #'Tools::Inspector2' asClassIfAbsent:nil.
     ].
     cls isNil ifTrue:[
-        cls := self inspectorClass.
-        cls isNil ifTrue:[
-            self basicInspect.
-            ^ self.
-        ].
-    ].    
+	cls := self inspectorClass.
+	cls isNil ifTrue:[
+	    self basicInspect.
+	    ^ self.
+	].
+    ].
     cls openOn:self
 
     "
@@ -7287,7 +7287,7 @@
      Can (should) be redefined in classes for which a better inspector is available"
 
     Inspector notNil ifTrue:[
-        ^ Inspector.
+	^ Inspector.
     ].
     ^ #'InspectorView' asClassIfAbsent:nil
 
@@ -7310,10 +7310,10 @@
 
     ret := 0.
     anAspectSymbol notNil ifTrue:[
-        ret := self perform:anAspectSymbol ifNotUnderstood:[0].
+	ret := self perform:anAspectSymbol ifNotUnderstood:[0].
     ].
     ret == 0 ifTrue:[
-        ^ self elementDescriptorForNonNilInstanceVariables
+	^ self elementDescriptorForNonNilInstanceVariables
     ].
     ^ ret.
 !
@@ -7346,16 +7346,16 @@
 
     instVarNames := theClass allInstVarNames.
     1 to:instSize do:[:i | |var|
-        var := self instVarAt:i.
-        (aBlock value:var) ifTrue:[
-            children add:((instVarNames at:i) -> var)
-        ]
+	var := self instVarAt:i.
+	(aBlock value:var) ifTrue:[
+	    children add:((instVarNames at:i) -> var)
+	]
     ].
 
     varSize ~~ 0 ifTrue:[
-        1 to:varSize do:[:i |
-            children add:(i -> (self basicAt:i))
-        ]
+	1 to:varSize do:[:i |
+	    children add:(i -> (self basicAt:i))
+	]
     ].
 
     ^ children.
@@ -7413,7 +7413,7 @@
 _print
     "Do not use this in user code.
      Prints on stdout, regardless of any redirection to a logger.
-     Only to be used by low-level crash utilities (like MiniDebugger), 
+     Only to be used by low-level crash utilities (like MiniDebugger),
      to ensure that its output is shown to a user"
 
     self printString _print.
@@ -7424,7 +7424,7 @@
 _printCR
     "Do not use this in user code.
      Prints on stdout, regardless of any redirection to a logger.
-     Only to be used by low-level crash utilities (like MiniDebugger), 
+     Only to be used by low-level crash utilities (like MiniDebugger),
      to ensure that its output is shown to a user"
 
     self printString _printCR.
@@ -7465,10 +7465,10 @@
     | cls|
 
     (cls := self class) == self ifTrue:[
-        ^ 'a funny object'
+	^ 'a funny object'
     ].
     cls isNil ifTrue:[
-        ^ 'a nil-classes object'        "/ cannot happen
+	^ 'a nil-classes object'        "/ cannot happen
     ].
     ^ cls nameWithArticle
 
@@ -7489,15 +7489,15 @@
      headless applications."
 
     Logger notNil ifTrue:[
-        PartialErrorPrintLine := (PartialErrorPrintLine ? ''), self printString string.
-        ^ self.
+	PartialErrorPrintLine := (PartialErrorPrintLine ? ''), self printString string.
+	^ self.
     ].
     Stderr isNil ifTrue:[
-        "/ the following allows errorPrint to be used during
-        "/ the early init-phase, when no Stderr has been set up.
-        "/ (depends on string to respond to #errorPrint)
-        self printString utf8Encoded errorPrint.
-        ^ self.
+	"/ the following allows errorPrint to be used during
+	"/ the early init-phase, when no Stderr has been set up.
+	"/ (depends on string to respond to #errorPrint)
+	self printString utf8Encoded errorPrint.
+	^ self.
     ].
 
     self withErrorStreamDo:[:s | self printOn:s].
@@ -7514,18 +7514,18 @@
      headless applications."
 
     Logger notNil ifTrue:[
-        |fullLine|
-        fullLine := (PartialErrorPrintLine ? ''), self printString string.
-        PartialErrorPrintLine := nil.
-        Logger error:fullLine.
-        ^ self.
+	|fullLine|
+	fullLine := (PartialErrorPrintLine ? ''), self printString string.
+	PartialErrorPrintLine := nil.
+	Logger error:fullLine.
+	^ self.
     ].
     Stderr isNil ifTrue:[
-        "/ the following allows errorPrintCR to be used during
-        "/ the early init-phase, when no Stderr has been set up.
-        "/ (depends on string to respond to #errorPrintCR)
-        self printString utf8Encoded errorPrintCR.
-        ^ self.
+	"/ the following allows errorPrintCR to be used during
+	"/ the early init-phase, when no Stderr has been set up.
+	"/ (depends on string to respond to #errorPrintCR)
+	self printString utf8Encoded errorPrintCR.
+	^ self.
     ].
 
     self withErrorStreamDo:[:s | self printOn:s. s cr].
@@ -7571,12 +7571,12 @@
      These messages can be turned on/off by 'Object infoPrinting:true/false'"
 
     Logger notNil ifTrue:[
-        PartialInfoPrintLine := (PartialInfoPrintLine ? ''), self printString string.
-        ^ self.
-    ].
-    
+	PartialInfoPrintLine := (PartialInfoPrintLine ? ''), self printString string.
+	^ self.
+    ].
+
     InfoPrinting == true ifTrue:[
-        self errorPrint
+	self errorPrint
     ]
 
     "
@@ -7594,14 +7594,14 @@
      These messages can be turned on/off by 'Object infoPrinting:true/false'"
 
     Logger notNil ifTrue:[
-        |fullLine|
-        fullLine := (PartialInfoPrintLine ? ''), self printString string.
-        PartialInfoPrintLine := nil.
-        Logger info:fullLine.
-        ^ self.
+	|fullLine|
+	fullLine := (PartialInfoPrintLine ? ''), self printString string.
+	PartialInfoPrintLine := nil.
+	Logger info:fullLine.
+	^ self.
     ].
     InfoPrinting == true ifTrue:[
-        self errorPrintCR
+	self errorPrintCR
     ]
 
     "Created: 20.5.1996 / 10:21:28 / cg"
@@ -7625,8 +7625,8 @@
     "/ (depends on String to respond to #print, without recurring back to here)
 
     Stdout isNil ifTrue:[
-        self printString utf8Encoded print.
-        ^ self
+	self printString utf8Encoded print.
+	^ self
     ].
     self printOn:Processor activeProcess stdout
 
@@ -7643,8 +7643,8 @@
     |stdout|
 
     Stdout isNil ifTrue:[
-        self printString utf8Encoded printCR.
-        ^ self
+	self printString utf8Encoded printCR.
+	^ self
     ].
     stdout := Processor activeProcess stdout.
     self printOn:stdout.
@@ -8028,12 +8028,12 @@
     |myClass hasSemi sz "{ Class: SmallInteger }" |
 
     thisContext isRecursive ifTrue:[
-        RecursiveStoreError raiseRequestWith:self.
-        'Object [error]: storeString of self referencing object (' errorPrint.
-        self class name errorPrint.
-        ')' errorPrintCR.
-        aStream nextPutAll:'#("recursive")'.
-        ^ self
+	RecursiveStoreError raiseRequestWith:self.
+	'Object [error]: storeString of self referencing object (' errorPrint.
+	self class name errorPrint.
+	')' errorPrintCR.
+	aStream nextPutAll:'#("recursive")'.
+	^ self
     ].
 
     myClass := self class.
@@ -8042,48 +8042,48 @@
 
     hasSemi := false.
     myClass isVariable ifTrue:[
-        aStream nextPutAll:' basicNew:'.
-        self basicSize printOn:aStream
+	aStream nextPutAll:' basicNew:'.
+	self basicSize printOn:aStream
     ] ifFalse:[
-        aStream nextPutAll:' basicNew'
+	aStream nextPutAll:' basicNew'
     ].
 
     sz := myClass instSize.
     1 to:sz do:[:i |
-        |ref|
-
-        ref := (self instVarAt:i).
-        "/ no need to store nil entries, because the object has been instantiated
-        "/ with basicNew just a moment ago (so the fields are already nil)
-        ref notNil ifTrue:[
-            aStream nextPutAll:' instVarAt:'.
-            i printOn:aStream.
-            aStream nextPutAll:' put:'.
-            ref storeOn:aStream.
-            aStream nextPut:$;.
-            hasSemi := true
-        ].
+	|ref|
+
+	ref := (self instVarAt:i).
+	"/ no need to store nil entries, because the object has been instantiated
+	"/ with basicNew just a moment ago (so the fields are already nil)
+	ref notNil ifTrue:[
+	    aStream nextPutAll:' instVarAt:'.
+	    i printOn:aStream.
+	    aStream nextPutAll:' put:'.
+	    ref storeOn:aStream.
+	    aStream nextPut:$;.
+	    hasSemi := true
+	].
     ].
     myClass isVariable ifTrue:[
-        sz := self basicSize.
-        1 to:sz do:[:i |
-            |ref|
-
-            ref := (self basicAt:i).
-            "/ no need to store nil entries, because the object has been instantiated
-            "/ with basicNew just a moment ago (so the fields are already nil)
-            ref notNil ifTrue:[
-                aStream nextPutAll:' basicAt:'.
-                i printOn:aStream.
-                aStream nextPutAll:' put:'.
-                ref storeOn:aStream.
-                aStream nextPut:$;.
-                hasSemi := true
-            ]
-        ]
+	sz := self basicSize.
+	1 to:sz do:[:i |
+	    |ref|
+
+	    ref := (self basicAt:i).
+	    "/ no need to store nil entries, because the object has been instantiated
+	    "/ with basicNew just a moment ago (so the fields are already nil)
+	    ref notNil ifTrue:[
+		aStream nextPutAll:' basicAt:'.
+		i printOn:aStream.
+		aStream nextPutAll:' put:'.
+		ref storeOn:aStream.
+		aStream nextPut:$;.
+		hasSemi := true
+	    ]
+	]
     ].
     hasSemi ifTrue:[
-        aStream nextPutAll:' yourself'
+	aStream nextPutAll:' yourself'
     ].
     aStream nextPut:$).
 
@@ -8154,22 +8154,22 @@
     (Smalltalk isInitialized
      and:[UserPreferences notNil
      and:[UserPreferences current sendMessagesAlsoToTranscript]]) ifTrue:[
-        stream := activeProcess isSystemProcess
-                            ifTrue:[stderr]
-                            ifFalse:[activeProcess transcript].
+	stream := activeProcess isSystemProcess
+			    ifTrue:[stderr]
+			    ifFalse:[activeProcess transcript].
     ].
     stream notNil ifTrue:[
-        StreamError catch:[
-            aBlock value:stream.
-        ].
+	StreamError catch:[
+	    aBlock value:stream.
+	].
     ].
 
     (stream ~~ stderr
      and:[stderr notNil
      and:[UserPreferences current sendMessagesOnlyToTranscript not]]) ifTrue:[
-        StreamError catch:[
-            aBlock value:stderr.
-        ].
+	StreamError catch:[
+	    aBlock value:stderr.
+	].
     ].
 
     "Created: / 21-04-2011 / 12:46:21 / cg"
@@ -8201,46 +8201,46 @@
     nInstBytes = OHDR_SIZE + __OBJS2BYTES__( __intVal(__ClassInstPtr(myClass)->c_ninstvars) );
 
     switch ((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
-        case __MASKSMALLINT(POINTERARRAY):
-        case __MASKSMALLINT(WKPOINTERARRAY):
-            nbytes -= nInstBytes;
-            RETURN ( __mkSmallInteger(__BYTES2OBJS__(nbytes)) );
-
-        case __MASKSMALLINT(BYTEARRAY):
-            nbytes -= nInstBytes;
-            RETURN ( __mkSmallInteger(nbytes / sizeof(char)) );
-
-        case __MASKSMALLINT(FLOATARRAY):
+	case __MASKSMALLINT(POINTERARRAY):
+	case __MASKSMALLINT(WKPOINTERARRAY):
+	    nbytes -= nInstBytes;
+	    RETURN ( __mkSmallInteger(__BYTES2OBJS__(nbytes)) );
+
+	case __MASKSMALLINT(BYTEARRAY):
+	    nbytes -= nInstBytes;
+	    RETURN ( __mkSmallInteger(nbytes / sizeof(char)) );
+
+	case __MASKSMALLINT(FLOATARRAY):
 # ifdef __NEED_FLOATARRAY_ALIGN
-            nInstBytes = (nInstBytes-1+__FLOATARRAY_ALIGN) &~ (__FLOATARRAY_ALIGN-1);
+	    nInstBytes = (nInstBytes-1+__FLOATARRAY_ALIGN) &~ (__FLOATARRAY_ALIGN-1);
 # endif
-            nbytes -= nInstBytes;
-            RETURN ( __mkSmallInteger(nbytes / sizeof(float)) );
-
-        case __MASKSMALLINT(DOUBLEARRAY):
+	    nbytes -= nInstBytes;
+	    RETURN ( __mkSmallInteger(nbytes / sizeof(float)) );
+
+	case __MASKSMALLINT(DOUBLEARRAY):
 # ifdef __NEED_DOUBLE_ALIGN
-            nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
+	    nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
 # endif
-            nbytes -= nInstBytes;
-            RETURN ( __mkSmallInteger(nbytes / sizeof(double)) );
-
-        case __MASKSMALLINT(WORDARRAY):
-        case __MASKSMALLINT(SWORDARRAY):
-            nbytes -= nInstBytes;
-            RETURN ( __mkSmallInteger(nbytes>>1) ); /* notice the hardcoded 2 here - not sizeof(short) */
-
-        case __MASKSMALLINT(LONGARRAY):
-        case __MASKSMALLINT(SLONGARRAY):
-            nbytes -= nInstBytes;
-            RETURN ( __mkSmallInteger(nbytes>>2) ); /* notice the hardcoded 4 here - not sizeof(int) */
-
-        case __MASKSMALLINT(LONGLONGARRAY):
-        case __MASKSMALLINT(SLONGLONGARRAY):
+	    nbytes -= nInstBytes;
+	    RETURN ( __mkSmallInteger(nbytes / sizeof(double)) );
+
+	case __MASKSMALLINT(WORDARRAY):
+	case __MASKSMALLINT(SWORDARRAY):
+	    nbytes -= nInstBytes;
+	    RETURN ( __mkSmallInteger(nbytes>>1) ); /* notice the hardcoded 2 here - not sizeof(short) */
+
+	case __MASKSMALLINT(LONGARRAY):
+	case __MASKSMALLINT(SLONGARRAY):
+	    nbytes -= nInstBytes;
+	    RETURN ( __mkSmallInteger(nbytes>>2) ); /* notice the hardcoded 4 here - not sizeof(int) */
+
+	case __MASKSMALLINT(LONGLONGARRAY):
+	case __MASKSMALLINT(SLONGLONGARRAY):
 # ifdef __NEED_LONGLONG_ALIGN
-            nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
+	    nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
 # endif
-            nbytes -= nInstBytes;
-            RETURN ( __mkSmallInteger(nbytes>>3) ); /* notice the hardcoded 8 here - not sizeof(long long) */
+	    nbytes -= nInstBytes;
+	    RETURN ( __mkSmallInteger(nbytes>>3) ); /* notice the hardcoded 8 here - not sizeof(long long) */
     }
 #endif /* not __SCHTEAM__ */
 %}.
@@ -8258,36 +8258,36 @@
 
     myClass := self class.
     myClass isVariable ifTrue:[
-        myClass isPointers ifFalse:[
-            myClass isBytes ifTrue:[
-                ^ self basicSize.
-            ].
-            myClass isWords ifTrue:[
-                ^ self basicSize * 2.
-            ].
-            myClass isSignedWords ifTrue:[
-                ^ self basicSize * 2.
-            ].
-            myClass isLongs ifTrue:[
-                ^ self basicSize * 4.
-            ].
-            myClass isSignedLongs ifTrue:[
-                ^ self basicSize * 4.
-            ].
-            myClass isLongLongs ifTrue:[
-                ^ self basicSize * 8.
-            ].
-            myClass isSignedLongLongs ifTrue:[
-                ^ self basicSize * 8.
-            ].
-            myClass isFloats ifTrue:[
-                ^ self basicSize * (ExternalBytes sizeofFloat)
-            ].
-            myClass isDoubles ifTrue:[
-                ^ self basicSize * (ExternalBytes sizeofDouble)
-            ].
-            self error:'unknown variable size class species'.
-        ]
+	myClass isPointers ifFalse:[
+	    myClass isBytes ifTrue:[
+		^ self basicSize.
+	    ].
+	    myClass isWords ifTrue:[
+		^ self basicSize * 2.
+	    ].
+	    myClass isSignedWords ifTrue:[
+		^ self basicSize * 2.
+	    ].
+	    myClass isLongs ifTrue:[
+		^ self basicSize * 4.
+	    ].
+	    myClass isSignedLongs ifTrue:[
+		^ self basicSize * 4.
+	    ].
+	    myClass isLongLongs ifTrue:[
+		^ self basicSize * 8.
+	    ].
+	    myClass isSignedLongLongs ifTrue:[
+		^ self basicSize * 8.
+	    ].
+	    myClass isFloats ifTrue:[
+		^ self basicSize * (ExternalBytes sizeofFloat)
+	    ].
+	    myClass isDoubles ifTrue:[
+		^ self basicSize * (ExternalBytes sizeofDouble)
+	    ].
+	    self error:'unknown variable size class species'.
+	]
     ].
     ^ 0
 
@@ -8317,7 +8317,7 @@
 !
 
 respondsTo:aSelector
-    "return true if the receiver responds to a message with aSelector; 
+    "return true if the receiver responds to a message with aSelector;
      i.e. if there is a method for aSelector in either the
      receiver's class or one of its superclasses.
 
@@ -8334,7 +8334,7 @@
 %{  /* NOCONTEXT */
 
     if (__lookup(__Class(self), aSelector) == nil) {
-        RETURN ( false );
+	RETURN ( false );
     }
     RETURN ( true );
 %}
@@ -8376,7 +8376,7 @@
      The fallback here is my species; only redefined by some timestamp classes.
      FIXME: not all classes (actually currently only one) use this in their #= method
      (i.e. it needs to be done eg in Dictionary as well)"
-     
+
     ^ self species
 
     "Modified (comment): / 10-10-2018 / 18:22:05 / Claus Gittinger"
@@ -8459,14 +8459,14 @@
      doesNotUnderstand, and especially not any other error."
 
     ^ [
-        self perform:aSelector.
+	self perform:aSelector.
     ] on:MessageNotUnderstood do:[:ex |
-        "/ reject, if the bad message is not the one
-        "/ we have sent originally
-        (ex selector == aSelector and:[ex receiver == self]) ifFalse:[
-            ex reject
-        ].
-        exceptionBlock value
+	"/ reject, if the bad message is not the one
+	"/ we have sent originally
+	(ex selector == aSelector and:[ex receiver == self]) ifFalse:[
+	    ex reject
+	].
+	exceptionBlock value
     ].
 
     "
@@ -8490,14 +8490,14 @@
      doesNotUnderstand, and especially not any other error."
 
     ^ [
-        self perform:aSelector with:argument.
+	self perform:aSelector with:argument.
     ] on:MessageNotUnderstood do:[:ex |
-        "/ reject, if the bad message is not the one
-        "/ we have sent originally
-        (ex selector == aSelector and:[ex receiver == self]) ifFalse:[
-            ex reject
-        ].
-        exceptionBlock value
+	"/ reject, if the bad message is not the one
+	"/ we have sent originally
+	(ex selector == aSelector and:[ex receiver == self]) ifFalse:[
+	    ex reject
+	].
+	exceptionBlock value
     ].
 
     "
@@ -8524,14 +8524,14 @@
      doesNotUnderstand, and especially not any other error."
 
     ^ [
-        self perform:aSelector with:arg1 with:arg2.
+	self perform:aSelector with:arg1 with:arg2.
     ] on:MessageNotUnderstood do:[:ex |
-        "/ reject, if the bad message is not the one
-        "/ we have sent originally
-        (ex selector == aSelector and:[ex receiver == self]) ifFalse:[
-            ex reject
-        ].
-        exceptionBlock value
+	"/ reject, if the bad message is not the one
+	"/ we have sent originally
+	(ex selector == aSelector and:[ex receiver == self]) ifFalse:[
+	    ex reject
+	].
+	exceptionBlock value
     ].
 
     "Modified (comment): / 13-02-2017 / 20:27:44 / cg"
@@ -8549,14 +8549,14 @@
      doesNotUnderstand, and especially not any other error."
 
     ^ [
-        self perform:aSelector withArguments:argumentArray.
+	self perform:aSelector withArguments:argumentArray.
     ] on:MessageNotUnderstood do:[:ex |
-        "/ reject, if the bad message is not the one
-        "/ we have sent originally
-        (ex selector == aSelector and:[ex receiver == self]) ifFalse:[
-            ex reject
-        ].
-        exceptionBlock value
+	"/ reject, if the bad message is not the one
+	"/ we have sent originally
+	(ex selector == aSelector and:[ex receiver == self]) ifFalse:[
+	    ex reject
+	].
+	exceptionBlock value
     ].
 
     "
@@ -8613,152 +8613,152 @@
     int nInsts, inst;
 
     if (! __isNonNilObject(self)) {
-        RETURN (false);
+	RETURN (false);
     }
 
     if (__isArrayLike(aCollection)) {
-        int nObjs = __arraySize(aCollection);
-        char *minAddr = 0, *maxAddr = 0;
-
-        if (nObjs == 0) {
-            RETURN (false);
-        }
-
-        cls = __qClass(self);
-        flags = __ClassInstPtr(cls)->c_flags;
-        if (((INT)flags & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY)) {
-            nInsts = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
-        } else {
-            nInsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
-        }
-
-        if (nObjs == 1) {
-            /* better reverse the loop */
-            OBJ anObject = __arrayVal(aCollection)[0];
-
-            if (anObject == cls) {
-                RETURN(true);
-            }
-            if (! nInsts) {
-                RETURN (false);
-            }
-
-            if ((__qSpace(self) <= OLDSPACE)
-                    && !__isRemembered(self)
-                    && __isNonNilObject(anObject)) {
-                int spc = __qSpace(anObject);
-
-                if ((spc == NEWSPACE) || (spc == SURVSPACE)) {
-                    RETURN(false);
-                }
-            }
+	int nObjs = __arraySize(aCollection);
+	char *minAddr = 0, *maxAddr = 0;
+
+	if (nObjs == 0) {
+	    RETURN (false);
+	}
+
+	cls = __qClass(self);
+	flags = __ClassInstPtr(cls)->c_flags;
+	if (((INT)flags & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY)) {
+	    nInsts = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
+	} else {
+	    nInsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
+	}
+
+	if (nObjs == 1) {
+	    /* better reverse the loop */
+	    OBJ anObject = __arrayVal(aCollection)[0];
+
+	    if (anObject == cls) {
+		RETURN(true);
+	    }
+	    if (! nInsts) {
+		RETURN (false);
+	    }
+
+	    if ((__qSpace(self) <= OLDSPACE)
+		    && !__isRemembered(self)
+		    && __isNonNilObject(anObject)) {
+		int spc = __qSpace(anObject);
+
+		if ((spc == NEWSPACE) || (spc == SURVSPACE)) {
+		    RETURN(false);
+		}
+	    }
 
 # if defined(memsrch4)
-            if (memsrch4(__InstPtr(self)->i_instvars, (INT)anObject, nInsts)) {
-                RETURN (true);
-            }
+	    if (memsrch4(__InstPtr(self)->i_instvars, (INT)anObject, nInsts)) {
+		RETURN (true);
+	    }
 # else
-            for (inst=0; inst<nInsts; inst++) {
-                if ((__InstPtr(self)->i_instvars[inst]) == anObject) {
-                    RETURN (true);
-                }
-            }
+	    for (inst=0; inst<nInsts; inst++) {
+		if ((__InstPtr(self)->i_instvars[inst]) == anObject) {
+		    RETURN (true);
+		}
+	    }
 # endif
-            RETURN (false);
-        }
-
-        /*
-         * a little optimization: use the fact that all old objects
-         * refering to a new object are on the remSet; if I am not,
-         * a trivial reject is possible, if all objects are newbees.
-         * as a side effect, gather min/max addresses
-         */
-        if ((__qSpace(self) <= OLDSPACE) && !__isRemembered(self)) {
-            int allNewBees = 1;
-            int i;
-
-            minAddr = (char *)(__arrayVal(aCollection)[0]);
-            maxAddr = minAddr;
-
-            for (i=0; i<nObjs; i++) {
-                OBJ anObject = __arrayVal(aCollection)[i];
-
-                if (__isNonNilObject(anObject)) {
-                    int spc = __qSpace(anObject);
-
-                    if ((spc != NEWSPACE) && (spc != SURVSPACE)) {
-                        allNewBees = 0;
-                    }
-                }
-
-                if ((char *)anObject < minAddr) {
-                    minAddr = (char *)anObject;
-                } else if ((char *)anObject > maxAddr) {
-                    maxAddr = (char *)anObject;
-                }
-            }
-            if (allNewBees) {
-                RETURN (false);
-            }
-        }
-
-        /*
-         * fetch min/max in searchList (if not already done above)
-         */
-        if (minAddr == 0) {
-            int i;
-
-            for (i=0; i<nObjs; i++) {
-                char  *anObject = (char *)__arrayVal(aCollection)[i];
-
-                if (anObject < minAddr) {
-                    minAddr = anObject;
-                } else if (anObject > maxAddr) {
-                    maxAddr = anObject;
-                }
-            }
-        }
-
-        if (((char *)cls >= minAddr) && ((char *)cls <= maxAddr)) {
+	    RETURN (false);
+	}
+
+	/*
+	 * a little optimization: use the fact that all old objects
+	 * refering to a new object are on the remSet; if I am not,
+	 * a trivial reject is possible, if all objects are newbees.
+	 * as a side effect, gather min/max addresses
+	 */
+	if ((__qSpace(self) <= OLDSPACE) && !__isRemembered(self)) {
+	    int allNewBees = 1;
+	    int i;
+
+	    minAddr = (char *)(__arrayVal(aCollection)[0]);
+	    maxAddr = minAddr;
+
+	    for (i=0; i<nObjs; i++) {
+		OBJ anObject = __arrayVal(aCollection)[i];
+
+		if (__isNonNilObject(anObject)) {
+		    int spc = __qSpace(anObject);
+
+		    if ((spc != NEWSPACE) && (spc != SURVSPACE)) {
+			allNewBees = 0;
+		    }
+		}
+
+		if ((char *)anObject < minAddr) {
+		    minAddr = (char *)anObject;
+		} else if ((char *)anObject > maxAddr) {
+		    maxAddr = (char *)anObject;
+		}
+	    }
+	    if (allNewBees) {
+		RETURN (false);
+	    }
+	}
+
+	/*
+	 * fetch min/max in searchList (if not already done above)
+	 */
+	if (minAddr == 0) {
+	    int i;
+
+	    for (i=0; i<nObjs; i++) {
+		char  *anObject = (char *)__arrayVal(aCollection)[i];
+
+		if (anObject < minAddr) {
+		    minAddr = anObject;
+		} else if (anObject > maxAddr) {
+		    maxAddr = anObject;
+		}
+	    }
+	}
+
+	if (((char *)cls >= minAddr) && ((char *)cls <= maxAddr)) {
 # if defined(memsrch4)
-            if (memsrch4(__arrayVal(aCollection), (INT)cls, nObjs)) {
-                RETURN (true);
-            }
+	    if (memsrch4(__arrayVal(aCollection), (INT)cls, nObjs)) {
+		RETURN (true);
+	    }
 # else
-            int i;
-
-            for (i=0; i<nObjs; i++) {
-                if (cls == __arrayVal(aCollection)[i]) {
-                    RETURN (true);
-                }
-            }
+	    int i;
+
+	    for (i=0; i<nObjs; i++) {
+		if (cls == __arrayVal(aCollection)[i]) {
+		    RETURN (true);
+		}
+	    }
 # endif /* memsrch4 */
-        }
-
-        for (inst=0; inst<nInsts; inst++) {
-            OBJ instVar = __InstPtr(self)->i_instvars[inst];
-            int i;
-
-            if (((char *)instVar >= minAddr) && ((char *)instVar <= maxAddr)) {
+	}
+
+	for (inst=0; inst<nInsts; inst++) {
+	    OBJ instVar = __InstPtr(self)->i_instvars[inst];
+	    int i;
+
+	    if (((char *)instVar >= minAddr) && ((char *)instVar <= maxAddr)) {
 # if defined(memsrch4)
-                if (memsrch4(__arrayVal(aCollection), (INT)instVar, nObjs)) {
-                    RETURN (true);
-                }
+		if (memsrch4(__arrayVal(aCollection), (INT)instVar, nObjs)) {
+		    RETURN (true);
+		}
 # else
-                for (i=0; i<nObjs; i++) {
-                    if (instVar == __arrayVal(aCollection)[i]) {
-                        RETURN (true);
-                    }
-                }
+		for (i=0; i<nObjs; i++) {
+		    if (instVar == __arrayVal(aCollection)[i]) {
+			RETURN (true);
+		    }
+		}
 # endif /* memsrch4 */
-            }
-        }
-        RETURN (false);
+	    }
+	}
+	RETURN (false);
     }
 %}.
 
     aCollection do:[:el |
-        (self referencesObject:el) ifTrue:[^ true].
+	(self referencesObject:el) ifTrue:[^ true].
     ].
     ^ false
 !
@@ -8778,19 +8778,19 @@
     "check the instance variables"
     numInst := myClass instSize.
     1 to:numInst do:[:i |
-        ((self instVarAt:i) isKindOf:aClass) ifTrue:[^ true]
+	((self instVarAt:i) isKindOf:aClass) ifTrue:[^ true]
     ].
 
     "check the indexed variables"
     myClass isVariable ifTrue:[
-        myClass isPointers ifFalse:[
-            "no need to search in non pointer fields"
-            ((aClass == Number) or:[aClass isSubclassOf:Number]) ifFalse:[^ false].
-        ].
-        numInst := self basicSize.
-        1 to:numInst do:[:i |
-            ((self basicAt:i) isKindOf:aClass) ifTrue:[^ true]
-        ]
+	myClass isPointers ifFalse:[
+	    "no need to search in non pointer fields"
+	    ((aClass == Number) or:[aClass isSubclassOf:Number]) ifFalse:[^ false].
+	].
+	numInst := self basicSize.
+	1 to:numInst do:[:i |
+	    ((self basicAt:i) isKindOf:aClass) ifTrue:[^ true]
+	]
     ].
     ^ false
 
@@ -8809,21 +8809,21 @@
     "check the instance variables"
     numInst := myClass instSize.
     1 to:numInst do:[:i |
-        inst := self instVarAt:i.
-        (checkBlock value:inst) ifTrue:[actionBlock value:inst].
+	inst := self instVarAt:i.
+	(checkBlock value:inst) ifTrue:[actionBlock value:inst].
     ].
 
     "check the indexed variables"
     myClass isVariable ifTrue:[
-        myClass isPointers ifTrue:[
-            "no need to search in non pointer fields"
-
-            numInst := self basicSize.
-            1 to:numInst do:[:i |
-                inst := self basicAt:i.
-                (checkBlock value:inst) ifTrue:[actionBlock value:inst].
-            ]
-        ]
+	myClass isPointers ifTrue:[
+	    "no need to search in non pointer fields"
+
+	    numInst := self basicSize.
+	    1 to:numInst do:[:i |
+		inst := self basicAt:i.
+		(checkBlock value:inst) ifTrue:[actionBlock value:inst].
+	    ]
+	]
     ].
 
     "
@@ -8847,24 +8847,24 @@
     "check the instance variables"
     numInst := myClass instSize.
     1 to:numInst do:[:i |
-        ((self instVarAt:i) isMemberOf:aClass) ifTrue:[^ true]
+	((self instVarAt:i) isMemberOf:aClass) ifTrue:[^ true]
     ].
 
     "check the indexed variables"
     myClass isVariable ifTrue:[
-        myClass isPointers ifFalse:[
-            "no need to search in non-pointer indexed fields"
-            myClass isLongs ifTrue:[
-                (aClass == SmallInteger or:[aClass == LargeInteger]) ifFalse:[^ false].
-            ] ifFalse:[
-                myClass isFloatsOrDoubles ifTrue:[^ aClass == Float].
-                ^ aClass == SmallInteger
-            ]
-        ].
-        numInst := self basicSize.
-        1 to:numInst do:[:i |
-            ((self basicAt:i) isMemberOf:aClass) ifTrue:[^ true]
-        ]
+	myClass isPointers ifFalse:[
+	    "no need to search in non-pointer indexed fields"
+	    myClass isLongs ifTrue:[
+		(aClass == SmallInteger or:[aClass == LargeInteger]) ifFalse:[^ false].
+	    ] ifFalse:[
+		myClass isFloatsOrDoubles ifTrue:[^ aClass == Float].
+		^ aClass == SmallInteger
+	    ]
+	].
+	numInst := self basicSize.
+	1 to:numInst do:[:i |
+	    ((self basicAt:i) isMemberOf:aClass) ifTrue:[^ true]
+	]
     ].
     ^ false
 
@@ -8884,20 +8884,20 @@
     int nInsts, i;
 
     if (! __isNonNilObject(self)) {
-        RETURN (false);
+	RETURN (false);
     }
     cls = __qClass(self);
     if (cls == anObject) {
-        RETURN (true);
+	RETURN (true);
     }
     flags = __ClassInstPtr(cls)->c_flags;
     if (((INT)flags & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY)) {
-        nInsts = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
+	nInsts = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
     } else {
-        nInsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
+	nInsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
     }
     if (! nInsts) {
-        RETURN (false);
+	RETURN (false);
     }
 
 
@@ -8907,24 +8907,24 @@
      * a trivial reject is possible, if anObject is a newbee
      */
     if (__isNonNilObject(anObject)) {
-        if ((__qSpace(self) <= OLDSPACE) && !__isRemembered(self)) {
-            int spc;
-
-            if (((spc = __qSpace(anObject)) == NEWSPACE) || (spc == SURVSPACE)) {
-                RETURN (false);
-            }
-        }
+	if ((__qSpace(self) <= OLDSPACE) && !__isRemembered(self)) {
+	    int spc;
+
+	    if (((spc = __qSpace(anObject)) == NEWSPACE) || (spc == SURVSPACE)) {
+		RETURN (false);
+	    }
+	}
     }
 
 # if defined(memsrch4)
     if (memsrch4(__InstPtr(self)->i_instvars, (INT)anObject, nInsts)) {
-        RETURN (true);
+	RETURN (true);
     }
 # else
     for (i=0; i<nInsts; i++) {
-        if (__InstPtr(self)->i_instvars[i] == anObject) {
-            RETURN (true);
-        }
+	if (__InstPtr(self)->i_instvars[i] == anObject) {
+	    RETURN (true);
+	}
     }
 # endif /* memsrch4 */
 
@@ -8999,7 +8999,7 @@
 
     result := OrderedCollection new:(aSequenceableCollection size // 2).
     self split:aSequenceableCollection do:[:item |
-        result add:item
+	result add:item
     ].
     ^ result
 
@@ -9023,7 +9023,7 @@
      split aSequenceableCollection accordingly and evaluate aBlock for each fragment."
 
     self split:aCollection indicesDo:[:start :stop |
-        aBlock value:(aCollection copyFrom:start to:stop)
+	aBlock value:(aCollection copyFrom:start to:stop)
     ].
 
     "
@@ -9045,17 +9045,17 @@
     oldPosition := position.
     position := aCollection indexOf:self startingAt:position.
     [position ~~ 0] whileTrue:[
-        aTwoArgBlock value:oldPosition value:position-1.
-        position := position + 1.
-        oldPosition := position.
-        position := aCollection indexOf:self startingAt:position.        
+	aTwoArgBlock value:oldPosition value:position-1.
+	position := position + 1.
+	oldPosition := position.
+	position := aCollection indexOf:self startingAt:position.
     ].
     aTwoArgBlock value:oldPosition value:aCollection size
 
     "
      1 split:#(10 1 20 30 40 1 50 60 1 70) do: [:frag | Transcript showCR:frag ]
      1 split:#(10 1 20 30 40 1 50 60 1 70) indicesDo: [:start :stop | Transcript show:start; show:' to '; showCR:stop ]
- 
+
      nil split:#(10 nil 20 30 40 nil 50 60 nil 70) do: [:frag | Transcript showCR:frag ]
      nil split:#(10 nil 20 30 40 nil 50 60 nil 70) indicesDo: [:start :stop | Transcript show:start; show:' to '; showCR:stop ]
     "
@@ -9075,8 +9075,8 @@
 
     sema := self synchronizationSemaphore.
     sema notNil ifTrue:[
-        sema wait.              "/ get lock
-        self synchronizationSemaphore:nil.
+	sema wait.              "/ get lock
+	self synchronizationSemaphore:nil.
     ].
 
     "
@@ -9107,10 +9107,10 @@
      subclasses may redefine this method"
 
     aSemaphoreOrBetterARecursionLock isNil ifTrue:[
-        "/ remove Semaphore
-        SynchronizationSemaphores removeKey:self ifAbsent:nil.
+	"/ remove Semaphore
+	SynchronizationSemaphores removeKey:self ifAbsent:nil.
     ] ifFalse:[
-        SynchronizationSemaphores at:self put:aSemaphoreOrBetterARecursionLock.
+	SynchronizationSemaphores at:self put:aSemaphoreOrBetterARecursionLock.
     ].
 
     "Modified: / 28-01-1997 / 19:37:48 / stefan"
@@ -9124,19 +9124,19 @@
 
     sema := self synchronizationSemaphore.
     sema isNil ifTrue:[
-        "/ instead of using another lock to assign the lock,
-        "/ we block interrupts for a short time period. This is faster.
-        wasBlocked := OperatingSystem blockInterrupts.
-
-        sema := self synchronizationSemaphore.
-        sema isNil ifTrue:[
-            sema := RecursionLock name:self className.
-            self synchronizationSemaphore:sema.
-        ].
-
-        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
-    ].
-    
+	"/ instead of using another lock to assign the lock,
+	"/ we block interrupts for a short time period. This is faster.
+	wasBlocked := OperatingSystem blockInterrupts.
+
+	sema := self synchronizationSemaphore.
+	sema isNil ifTrue:[
+	    sema := RecursionLock name:self className.
+	    self synchronizationSemaphore:sema.
+	].
+
+	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+    ].
+
     ^ sema critical:aBlock.
 
     "
@@ -9174,7 +9174,7 @@
 
 %{  /* NOCONTEXT */
     if (! __isNonNilObject(self)) {
-        RETURN (self);
+	RETURN (self);
     }
     __beImmutable(self);
 %}
@@ -9186,7 +9186,7 @@
 
 %{  /* NOCONTEXT */
     if (! __isNonNilObject(self)) {
-        RETURN (self);
+	RETURN (self);
     }
     __beMutable(self);
 %}
@@ -9210,7 +9210,7 @@
       - the Collection-classes have been rewritten to not use it.)"
 %{
     if (__primBecome(self, anotherObject)) {
-        RETURN ( self );
+	RETURN ( self );
     }
 %}.
     NoModificationError raiseRequestWith:self errorString:' - #become: failed'.
@@ -9226,7 +9226,7 @@
 
 %{
     if (__primBecomeNil(self)) {
-        RETURN ( nil );
+	RETURN ( nil );
     }
 %}.
     NoModificationError raiseRequestWith:self errorString:' - #becomeNil failed'.
@@ -9247,7 +9247,7 @@
      or nil, or is a context of a living method (i.e. one that has not already returned)."
 %{
     if (__primBecomeSameAs(self, anotherObject)) {
-        RETURN ( self );
+	RETURN ( self );
     }
 %}.
     NoModificationError raiseRequestWith:self errorString:' - #becomeSameAs: failed'.
@@ -9269,89 +9269,89 @@
 %{
 #ifdef __SCHTEAM__
     ok = (self.isSTInstance() && otherClass.isSTInstance())
-            ? STObject.True : STObject.False;
+	    ? STObject.True : STObject.False;
 #else
     {
-        OBJ other = otherClass;
-
-        if (__isNonNilObject(self)
-         && __isNonNilObject(other)
-         && (other != UndefinedObject)
-         && (other != SmallInteger)) {
-            ok = true;
-        } else {
-            ok = false;
-        }
+	OBJ other = otherClass;
+
+	if (__isNonNilObject(self)
+	 && __isNonNilObject(other)
+	 && (other != UndefinedObject)
+	 && (other != SmallInteger)) {
+	    ok = true;
+	} else {
+	    ok = false;
+	}
     }
 #endif /* not SCHTEAM */
 %}.
     ok == true ifTrue:[
-        ok := false.
-        myClass := self class.
-        myClass == otherClass ifTrue:[
-            "nothing to change"
-            ^ self.
-        ].
-        myClass flags == otherClass flags ifTrue:[
-            myClass instSize == otherClass instSize ifTrue:[
-                "same instance layout and types: its ok to do it"
-                ok := true.
-            ] ifFalse:[
-                myClass isPointers ifTrue:[
-                    myClass isVariable ifTrue:[
-                        ok := true
-                    ]
-                ]
-            ]
-        ] ifFalse:[
-            myClass isPointers ifTrue:[
-                "if newClass is a variable class, with instSize <= my instsize,
-                 we can do it (effectively mapping additional instvars into the
-                 variable part) - usefulness is questionable, though"
-
-                otherClass isPointers ifTrue:[
-                    otherClass isVariable ifTrue:[
-                        otherClass instSize <= (myClass instSize + self basicSize)
-                        ifTrue:[
-                            ok := true
-                        ]
-                    ] ifFalse:[
-                        otherClass instSize == (myClass instSize + self basicSize)
-                        ifTrue:[
-                            ok := true
-                        ]
-                    ]
-                ] ifFalse:[
-                    "it does not make sense to convert pointers to bytes ..."
-                ]
-            ] ifFalse:[
-                "does it make sense, to convert bits ?"
-                "could allow byteArray->wordArray->longArray->floatArray->doubleArray here ..."
-                (myClass isBitsExtended and:[otherClass isBitsExtended]) ifTrue:[
-                    ok := true
-                ]
-            ]
-        ]
+	ok := false.
+	myClass := self class.
+	myClass == otherClass ifTrue:[
+	    "nothing to change"
+	    ^ self.
+	].
+	myClass flags == otherClass flags ifTrue:[
+	    myClass instSize == otherClass instSize ifTrue:[
+		"same instance layout and types: its ok to do it"
+		ok := true.
+	    ] ifFalse:[
+		myClass isPointers ifTrue:[
+		    myClass isVariable ifTrue:[
+			ok := true
+		    ]
+		]
+	    ]
+	] ifFalse:[
+	    myClass isPointers ifTrue:[
+		"if newClass is a variable class, with instSize <= my instsize,
+		 we can do it (effectively mapping additional instvars into the
+		 variable part) - usefulness is questionable, though"
+
+		otherClass isPointers ifTrue:[
+		    otherClass isVariable ifTrue:[
+			otherClass instSize <= (myClass instSize + self basicSize)
+			ifTrue:[
+			    ok := true
+			]
+		    ] ifFalse:[
+			otherClass instSize == (myClass instSize + self basicSize)
+			ifTrue:[
+			    ok := true
+			]
+		    ]
+		] ifFalse:[
+		    "it does not make sense to convert pointers to bytes ..."
+		]
+	    ] ifFalse:[
+		"does it make sense, to convert bits ?"
+		"could allow byteArray->wordArray->longArray->floatArray->doubleArray here ..."
+		(myClass isBitsExtended and:[otherClass isBitsExtended]) ifTrue:[
+		    ok := true
+		]
+	    ]
+	]
     ].
     ok == true ifTrue:[
-        "now, change the receiver's class ..."
+	"now, change the receiver's class ..."
 %{
 #ifdef __SCHTEAM__
-        ((STInstance)self).clazz = (STClass)otherClass;
-        return __c__._RETURN(self);
+	((STInstance)self).clazz = (STClass)otherClass;
+	return __c__._RETURN(self);
 #else
-        {
-            OBJ me = self;
-
-            // gcc4.4 does not like this:
-            // __qClass(me) = otherClass;
-            __objPtr(me)->o_class = (CLASS_OBJ)otherClass;
-            __STORE(me, otherClass);
-            RETURN (me);
-        }
+	{
+	    OBJ me = self;
+
+	    // gcc4.4 does not like this:
+	    // __qClass(me) = otherClass;
+	    __objPtr(me)->o_class = (CLASS_OBJ)otherClass;
+	    __STORE(me, otherClass);
+	    RETURN (me);
+	}
 #endif /* not SCHTEAM */
 %}.
- 	0.
+	0.
     ].
 
     "
@@ -9380,10 +9380,10 @@
 
 %{  /* NOCONTEXT */
     if (! __isNonNilObject(self)) {
-        RETURN (true);
+	RETURN (true);
     }
     if (__isImmutable(self)) {
-        RETURN (true);
+	RETURN (true);
     }
 %}.
     ^ false
@@ -9399,7 +9399,7 @@
     int nInsts, i;
 
     if (! __isNonNilObject(self)) {
-        RETURN (false);
+	RETURN (false);
     }
 
     /*
@@ -9408,34 +9408,34 @@
      * a trivial reject is possible, if anObject is a newbee
      */
     if (__isNonNilObject(anObject)) {
-        if ((__qSpace(self) <= OLDSPACE) && !__isRemembered(self)) {
-            int spc;
-
-            if (((spc = __qSpace(anObject)) == NEWSPACE) || (spc == SURVSPACE)) {
-                RETURN (false);
-            }
-        }
+	if ((__qSpace(self) <= OLDSPACE) && !__isRemembered(self)) {
+	    int spc;
+
+	    if (((spc = __qSpace(anObject)) == NEWSPACE) || (spc == SURVSPACE)) {
+		RETURN (false);
+	    }
+	}
     }
 
     cls = __qClass(self);
 
     flags = __ClassInstPtr(cls)->c_flags;
     if (((INT)flags & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(POINTERARRAY)) {
-        nInsts = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
+	nInsts = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
     } else {
-        nInsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
+	nInsts = __intVal(__ClassInstPtr(cls)->c_ninstvars);
     }
     if (! nInsts) {
-        RETURN (false);
+	RETURN (false);
     }
     anyChange = false;
     for (i=0; i<nInsts; i++) {
-        if (__InstPtr(self)->i_instvars[i] == anObject) {
-            __InstPtr(self)->i_instvars[i] = newRef;
-            __STORE(self, newRef);
-            // __dumpObject__(self, __LINE__);
-            anyChange = true;
-        }
+	if (__InstPtr(self)->i_instvars[i] == anObject) {
+	    __InstPtr(self)->i_instvars[i] = newRef;
+	    __STORE(self, newRef);
+	    // __dumpObject__(self, __LINE__,__FILE__);
+	    anyChange = true;
+	}
     }
     RETURN (anyChange);
 %}.
@@ -9462,27 +9462,27 @@
       the receiver is returned here.
 
       Thus, if foo and bar are simple variables or constants,
-          foo ? bar
+	  foo ? bar
       is the same as:
-          (foo isNil ifTrue:[bar] ifFalse:[foo])
+	  (foo isNil ifTrue:[bar] ifFalse:[foo])
 
       if they are message sends, the equivalent code is:
-          [
-              |t1 t2|
-
-              t1 := foo.
-              t2 := bar.
-              t1 isNil ifTrue:[t2] ifFalse:[t1]
-          ] value
+	  [
+	      |t1 t2|
+
+	      t1 := foo.
+	      t2 := bar.
+	      t1 isNil ifTrue:[t2] ifFalse:[t1]
+	  ] value
 
       Can be used to provide defaultValues to variables,
       as in:
-          foo := arg ? #defaultValue
+	  foo := arg ? #defaultValue
 
       Note: this method should never be redefined in classes other than UndefinedObject.
       Notice:
-         This method is open coded (inlined) by the compiler(s)
-         - redefining it may not work as expected."
+	 This method is open coded (inlined) by the compiler(s)
+	 - redefining it may not work as expected."
 
     ^ self
 
@@ -9521,21 +9521,21 @@
       the receiver is returned here.
 
       Thus, if foo and bar are simple variables or constants,
-          foo ?? bar
+	  foo ?? bar
       is the same as:
-          (foo isNil ifTrue:[bar value] ifFalse:[foo])
+	  (foo isNil ifTrue:[bar value] ifFalse:[foo])
 
       if they are message sends, the equivalent code is:
-          [
-              |t t2|
-
-              t := foo.
-              t isNil ifTrue:[bar value] ifFalse:[t]
-          ] value
+	  [
+	      |t t2|
+
+	      t := foo.
+	      t isNil ifTrue:[bar value] ifFalse:[t]
+	  ] value
 
       Can be used to provide defaultValues to variables,
       as in:
-          foo := arg ?? [ self computeDefault ]
+	  foo := arg ?? [ self computeDefault ]
 
       Note: this method should never be redefined in classes other than UndefinedObject.
      "
@@ -9560,8 +9560,8 @@
      This is much like #?, but sends #value to the argument in case of a nil
      receiver.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
     ^ self
 !
@@ -9570,11 +9570,11 @@
     "return the value of the first arg, if I am nil,
      the result from evaluating the 2nd argument, if I am not nil.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
     (notNilBlockOrValue isBlockWithArgumentCount:1) ifTrue:[
-        ^ notNilBlockOrValue value:self.
+	^ notNilBlockOrValue value:self.
     ].
     ^ notNilBlockOrValue value
 
@@ -9585,8 +9585,8 @@
     "return myself if nil, or the result from evaluating the argument,
      if I am not nil.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
     ^ aBlockOrValue valueWithOptionalArgument:self
 
@@ -9597,11 +9597,11 @@
     "return the value of the 2nd arg, if I am nil,
      the result from evaluating the 1st argument, if I am not nil.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
     (notNilBlockOrValue isBlockWithArgumentCount:1) ifTrue:[
-        ^ notNilBlockOrValue value:self.
+	^ notNilBlockOrValue value:self.
     ].
     ^ notNilBlockOrValue value
 
@@ -10000,21 +10000,21 @@
     "return true if the receiver is an instance of aClass or one of its
      subclasses, false otherwise.
      Advice:
-        use of this to check objects for certain attributes/protocol should
-        be avoided; it limits the reusability of your classes by limiting use
-        to instances of certain classes and fences you into a specific inheritance
-        hierarchy.
-        Use check-methods to check an object for a certain attributes/protocol
-        (such as #isXXXX, #respondsTo: or #isNumber).
-
-        Using #isKindOf: is considered BAD STYLE.
+	use of this to check objects for certain attributes/protocol should
+	be avoided; it limits the reusability of your classes by limiting use
+	to instances of certain classes and fences you into a specific inheritance
+	hierarchy.
+	Use check-methods to check an object for a certain attributes/protocol
+	(such as #isXXXX, #respondsTo: or #isNumber).
+
+	Using #isKindOf: is considered BAD STYLE.
 
      Advice2:
-        Be aware, that using an #isXXX method is usually much faster than
-        using #isKindOf:; because isKindOf: has to walk up all the superclass
-        hierarchy, comparing every class on the way.
-        Due to caching in the VM, a call to #isXXX is normally reached via
-        a single function call.
+	Be aware, that using an #isXXX method is usually much faster than
+	using #isKindOf:; because isKindOf: has to walk up all the superclass
+	hierarchy, comparing every class on the way.
+	Due to caching in the VM, a call to #isXXX is normally reached via
+	a single function call.
      "
 
 %{  /* NOCONTEXT */
@@ -10022,10 +10022,10 @@
 
     thisClass = __Class(self);
     while (thisClass != nil) {
-        if (thisClass == aClass) {
-            RETURN ( true );
-        }
-        thisClass = __ClassInstPtr(thisClass)->c_superclass;
+	if (thisClass == aClass) {
+	    RETURN ( true );
+	}
+	thisClass = __ClassInstPtr(thisClass)->c_superclass;
     }
     RETURN ( false );
 %}
@@ -10086,16 +10086,16 @@
 isMemberOf:aClass
     "return true if the receiver is an instance of aClass, false otherwise.
      Advice:
-        use of this to check objects for certain attributes/protocol should
-        be avoided; it limits the reusability of your classes by limiting use
-        to instances of a certain class.
-        Use check-methods to check an object for a certain attributes/protocol
-        (such as #isXXX, #respondsTo: or #isNumber);
-
-        Using #isMemberOf: is considered BAD STYLE.
+	use of this to check objects for certain attributes/protocol should
+	be avoided; it limits the reusability of your classes by limiting use
+	to instances of a certain class.
+	Use check-methods to check an object for a certain attributes/protocol
+	(such as #isXXX, #respondsTo: or #isNumber);
+
+	Using #isMemberOf: is considered BAD STYLE.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
     ^ (self class) == aClass
 !
@@ -10153,8 +10153,8 @@
      Because isNil is redefined in UndefinedObject,
      the receiver is definitely not nil here, so unconditionally return false.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
     ^ false
 !
@@ -10178,11 +10178,11 @@
     ^ false
 
     "
-        21 isNonByteCollection
-        'abc' isNonByteCollection
-        #'abc' isNonByteCollection
-        #[1 2 3] isNonByteCollection
-        #(1 2 3) isNonByteCollection
+	21 isNonByteCollection
+	'abc' isNonByteCollection
+	#'abc' isNonByteCollection
+	#[1 2 3] isNonByteCollection
+	#(1 2 3) isNonByteCollection
     "
 !
 
@@ -10317,7 +10317,7 @@
 isSingleByteCollection
     "return true, if the receiver has access methods for bytes;
      i.e. #at: and #at:put: accesses a byte and are equivalent to #byteAt: and byteAt:put:
-     and #replaceFrom:to: is equivalent to #replaceBytesFrom:to:. 
+     and #replaceFrom:to: is equivalent to #replaceBytesFrom:to:.
      This is different from 'self class isBytes'."
 
     ^ false
@@ -10504,8 +10504,8 @@
      Because notNil is redefined in UndefinedObject,
      the receiver is definitely not nil here, so unconditionally return true.
      Notice:
-        This method is open coded (inlined) by the compiler(s)
-        - redefining it may not work as expected."
+	This method is open coded (inlined) by the compiler(s)
+	- redefining it may not work as expected."
 
     ^ true
 ! !
@@ -10542,12 +10542,12 @@
 
     "
      ActivityNotification handle:[:ex |
-        ex errorString printCR.
-        ex proceed.
+	ex errorString printCR.
+	ex proceed.
      ] do:[
-        'hello' printCR.
-        self activityNotification:'doing some long time computation'.
-        'world' printCR.
+	'hello' printCR.
+	self activityNotification:'doing some long time computation'.
+	'world' printCR.
      ]
     "
 
@@ -10580,7 +10580,7 @@
 
     answer := self confirmWithCancel:aString.
     answer isNil ifTrue:[
-        ^ cancelBlock value
+	^ cancelBlock value
     ].
     ^ answer
 
@@ -10616,10 +10616,10 @@
      by handling the UserConfirmation."
 
     ^ UserConfirmation new
-        defaultAnswer:defaultAnswerOrNil;
-        canCancel:true;
-        messageText:aString;
-        raiseRequest
+	defaultAnswer:defaultAnswerOrNil;
+	canCancel:true;
+	messageText:aString;
+	raiseRequest
 
     "
      nil confirmWithCancel:'hello' defaultAnswer:true
@@ -10632,10 +10632,10 @@
      and give user a chance to enter debugger."
 
     ^ self
-        errorNotify:aString
-        from:thisContext sender
-        allowDebug:true
-        mayProceed:true
+	errorNotify:aString
+	from:thisContext sender
+	allowDebug:true
+	mayProceed:true
 
     "
      nil errorNotify:'hello there'
@@ -10668,141 +10668,141 @@
     |currentScreen con sender action boxLabels boxValues default s|
 
     Smalltalk isInitialized ifFalse:[
-        'errorNotification: ' print. aString printCR.
-        con := aContext ? thisContext methodHome.
-        con sender printAllLevels:10.
-        ^ nil
+	'errorNotification: ' print. aString printCR.
+	con := aContext ? thisContext methodHome.
+	con sender printAllLevels:10.
+	^ nil
     ].
 
     (Dialog isNil
      or:[Screen isNil
      or:[(currentScreen := Screen current) isNil
      or:[currentScreen isOpen not]]]) ifTrue:[
-        "
-         on systems without GUI, simply show
-         the message on the Transcript and abort.
-        "
-        Transcript showCR:aString.
-        AbortOperationRequest raise.
-        "not reached"
-        ^ nil
+	"
+	 on systems without GUI, simply show
+	 the message on the Transcript and abort.
+	"
+	Transcript showCR:aString.
+	AbortOperationRequest raise.
+	"not reached"
+	^ nil
     ].
 
     Processor activeProcessIsSystemProcess ifTrue:[
-        action := #debug.
-        sender := aContext.
-        Debugger isNil ifTrue:[
-            '****************** Caught Error while in SystemProcess ****************' errorPrintCR.
-            aString errorPrintCR.
-            Exception handle:[:ex |
-                'Caught recursive error while printing backtrace:' errorPrintCR.
-                ex description errorPrintCR.
-            ] do:[
-                thisContext fullPrintAll.
-            ].
-            action := #abort.
-        ].
+	action := #debug.
+	sender := aContext.
+	Debugger isNil ifTrue:[
+	    '****************** Caught Error while in SystemProcess ****************' errorPrintCR.
+	    aString errorPrintCR.
+	    Exception handle:[:ex |
+		'Caught recursive error while printing backtrace:' errorPrintCR.
+		ex description errorPrintCR.
+	    ] do:[
+		thisContext fullPrintAll.
+	    ].
+	    action := #abort.
+	].
     ] ifFalse:[
-        Dialog autoload.        "in case it is autoloaded"
-
-        Error handle:[:ex |
-            "/ a recursive error - quickly enter debugger
-            "/ this happened, when I corrupted the Dialog class ...
-            ('Object [error]: ' , ex description , ' caught in errorNotification') errorPrintCR.
-            action := #debug.
-            ex return.
-        ] do:[ |s|
-            sender := aContext.
-            sender isNil ifTrue:[
-                sender := thisContext methodHome sender.
-            ].
-            con := sender.
-
-            "/ skip intermediate (signal & exception) contexts
-            DebugView notNil ifTrue:[
-                con := DebugView interestingContextFrom:sender
-            ].
-
-            "/ show the first few contexts
-
-            s := CharacterWriteStream with:aString.
-            s cr; cr.
-            s nextPutLine:'Calling Chain:'.
-            s nextPutLine:'--------------------------------------------------------------'.
-            1 to:25 do:[:n |
-                con notNil ifTrue:[
-                    con printOn:s.
-                    s cr.
-                    con := con sender
-                ]
-            ].
-
-            mayProceed ifTrue:[
-                boxLabels := #('Proceed').
-                boxValues := #(#proceed).
-                default := #proceed.
-            ] ifFalse:[
-                boxLabels := #().
-                boxValues := #().
-            ].
-
-            AbortOperationRequest isHandled ifTrue:[
-                default := #abort.
-                boxLabels := boxLabels , #('Abort').
-                boxValues := boxValues , #(#abort).
-                AbortAllOperationRequest isHandled ifTrue:[
-                    boxLabels := boxLabels , #('Abort All').
-                    boxValues := boxValues , #(#abortAll).
-                ].
-                true "allowDebug" ifTrue:[
-                    boxLabels := boxLabels , #('Copy Error Details to Clipboard and Abort').
-                    boxValues := boxValues , #(#copyAndAbort).
-                ].
-            ] ifFalse:[
-                mayProceed "and:[allowDebug]" ifTrue:[
-                    boxLabels := boxLabels , #('Copy Error Details to Clipboard and Proceed').
-                    boxValues := boxValues , #(#copyAndProceed).
-                ].
-            ].
-
-            (allowDebug and:[Debugger notNil]) ifTrue:[
-                boxLabels := boxLabels , #('Debug').
-                boxValues := boxValues , #(#debug).
-                default := #debug.
-            ].
-
-            action := Dialog
-                    choose:s contents
-                    label:('Exception [' , Processor activeProcess nameOrId , ']')
-                    image:WarningBox errorIconBitmap
-                    labels:boxLabels
-                    values:boxValues
-                    default:default
-                    onCancel:nil.
-        ].
+	Dialog autoload.        "in case it is autoloaded"
+
+	Error handle:[:ex |
+	    "/ a recursive error - quickly enter debugger
+	    "/ this happened, when I corrupted the Dialog class ...
+	    ('Object [error]: ' , ex description , ' caught in errorNotification') errorPrintCR.
+	    action := #debug.
+	    ex return.
+	] do:[ |s|
+	    sender := aContext.
+	    sender isNil ifTrue:[
+		sender := thisContext methodHome sender.
+	    ].
+	    con := sender.
+
+	    "/ skip intermediate (signal & exception) contexts
+	    DebugView notNil ifTrue:[
+		con := DebugView interestingContextFrom:sender
+	    ].
+
+	    "/ show the first few contexts
+
+	    s := CharacterWriteStream with:aString.
+	    s cr; cr.
+	    s nextPutLine:'Calling Chain:'.
+	    s nextPutLine:'--------------------------------------------------------------'.
+	    1 to:25 do:[:n |
+		con notNil ifTrue:[
+		    con printOn:s.
+		    s cr.
+		    con := con sender
+		]
+	    ].
+
+	    mayProceed ifTrue:[
+		boxLabels := #('Proceed').
+		boxValues := #(#proceed).
+		default := #proceed.
+	    ] ifFalse:[
+		boxLabels := #().
+		boxValues := #().
+	    ].
+
+	    AbortOperationRequest isHandled ifTrue:[
+		default := #abort.
+		boxLabels := boxLabels , #('Abort').
+		boxValues := boxValues , #(#abort).
+		AbortAllOperationRequest isHandled ifTrue:[
+		    boxLabels := boxLabels , #('Abort All').
+		    boxValues := boxValues , #(#abortAll).
+		].
+		true "allowDebug" ifTrue:[
+		    boxLabels := boxLabels , #('Copy Error Details to Clipboard and Abort').
+		    boxValues := boxValues , #(#copyAndAbort).
+		].
+	    ] ifFalse:[
+		mayProceed "and:[allowDebug]" ifTrue:[
+		    boxLabels := boxLabels , #('Copy Error Details to Clipboard and Proceed').
+		    boxValues := boxValues , #(#copyAndProceed).
+		].
+	    ].
+
+	    (allowDebug and:[Debugger notNil]) ifTrue:[
+		boxLabels := boxLabels , #('Debug').
+		boxValues := boxValues , #(#debug).
+		default := #debug.
+	    ].
+
+	    action := Dialog
+		    choose:s contents
+		    label:('Exception [' , Processor activeProcess nameOrId , ']')
+		    image:WarningBox errorIconBitmap
+		    labels:boxLabels
+		    values:boxValues
+		    default:default
+		    onCancel:nil.
+	].
     ].
 
     action == #debug ifTrue:[
-        ^ Debugger enter:sender withMessage:aString mayProceed:mayProceed
+	^ Debugger enter:sender withMessage:aString mayProceed:mayProceed
     ].
     action == #proceed ifTrue:[
-        ^ nil.
+	^ nil.
     ].
     (action == #copyAndProceed
      or:[action == #copyAndAbort]) ifTrue:[
-        s := '' writeStream.
-        Exception handle:[:ex |
-            'Caught recursive error while printing backtrace' errorPrintCR.
-        ] do:[
-            sender fullPrintAllOn:s.
-        ].
-        currentScreen rootView setClipboardText:s contents.
-        action == #copyAndProceed ifTrue:[
-            ^ nil
-        ].
+	s := '' writeStream.
+	Exception handle:[:ex |
+	    'Caught recursive error while printing backtrace' errorPrintCR.
+	] do:[
+	    sender fullPrintAllOn:s.
+	].
+	currentScreen rootView setClipboardText:s contents.
+	action == #copyAndProceed ifTrue:[
+	    ^ nil
+	].
     ].
     (action == #abortAll) ifTrue:[
-        AbortAllOperationRequest raise
+	AbortAllOperationRequest raise
     ].
 
     AbortOperationRequest raise.
@@ -10836,12 +10836,12 @@
 
     "
      InformationSignal handle:[:ex |
-        'no box popped' printCR.
-        ex proceed.
+	'no box popped' printCR.
+	ex proceed.
      ] do:[
-        'hello' printCR.
-        self information:'some info'.
-        'world' printCR.
+	'hello' printCR.
+	self information:'some info'.
+	'world' printCR.
      ]
     "
 
@@ -10856,9 +10856,9 @@
 
 
     Smalltalk isInitialized ifFalse:[
-        "/ thisContext fullPrintAll.
-        'information: ' print. aString printCR.
-        ^ self
+	"/ thisContext fullPrintAll.
+	'information: ' print. aString printCR.
+	^ self
     ].
     UserNotification raiseRequestWith:self errorString:aString.
 
@@ -10887,12 +10887,12 @@
 
     "
      Warning handle:[:ex |
-        Transcript showCR:ex description.
-        ex proceed.
+	Transcript showCR:ex description.
+	ex proceed.
      ] do:[
-        'hello' printCR.
-        self warn:'some info'.
-        'world' printCR.
+	'hello' printCR.
+	self warn:'some info'.
+	'world' printCR.
      ]
     "
 
--- a/ObjectMemory.st	Wed Dec 19 11:18:10 2018 +0100
+++ b/ObjectMemory.st	Wed Dec 19 15:03:07 2018 +0100
@@ -699,33 +699,33 @@
 
     "/ protect against double initialization
     AllocationFailureSignal isNil ifTrue:[
-        AllocationFailureSignal := AllocationFailure.
-        AllocationFailureSignal notifierString:'allocation failure'.
-
-        MallocFailureSignal := MallocFailure.
-        MallocFailureSignal notifierString:'(malloc) allocation failure'.
-
-        LowSpaceSemaphore := Semaphore name:'LowSpaceSemaphore'.
-        FinalizerAccessLock := Semaphore forMutualExclusion.
-        
-        DisposeInterruptHandler := self.
-
-        "/ BackgroundCollectMaximumInterval := 3600.     "/ run it at least once an hour
-        BackgroundCollectMaximumInterval := nil.      "/ only run when space situation makes it feasable
-        IncrementalGCLimit := 500000.                 "/ run it whenever 500k have been allocated
-        FreeSpaceGCLimit := FreeSpaceGCAmount := nil. "/ no minumum-freeSpace trigger.
-        MemoryInterruptHandler := self.
-        ExceptionInterruptHandler := self.
-
-        VMSelectors := #( #noByteCode #invalidCodeObject #invalidByteCode #invalidInstruction
-                          #tooManyArguments #badLiteralTable #receiverNotBoolean: #typeCheckError
-                          #integerCheckError #wrongNumberOfArguments: #privateMethodCalled
-                          #doesNotUnderstand: #invalidReturn: #invalidReturnOrRestart:
-                          #userInterrupt #internalError: #spyInterrupt #timerInterrupt #stepInterrupt
-                          #errorInterrupt:with: #disposeInterrupt #recursionInterrupt
-                          #memoryInterrupt #fpExceptionInterrupt #signalInterrupt: #childSignalInterrupt
-                          #ioInterrupt #customInterrupt #schedulerInterrupt #contextInterrupt
-                          #interruptLatency:receiver:class:selector:vmActivity:id:).
+	AllocationFailureSignal := AllocationFailure.
+	AllocationFailureSignal notifierString:'allocation failure'.
+
+	MallocFailureSignal := MallocFailure.
+	MallocFailureSignal notifierString:'(malloc) allocation failure'.
+
+	LowSpaceSemaphore := Semaphore name:'LowSpaceSemaphore'.
+	FinalizerAccessLock := Semaphore forMutualExclusion.
+
+	DisposeInterruptHandler := self.
+
+	"/ BackgroundCollectMaximumInterval := 3600.     "/ run it at least once an hour
+	BackgroundCollectMaximumInterval := nil.      "/ only run when space situation makes it feasable
+	IncrementalGCLimit := 500000.                 "/ run it whenever 500k have been allocated
+	FreeSpaceGCLimit := FreeSpaceGCAmount := nil. "/ no minumum-freeSpace trigger.
+	MemoryInterruptHandler := self.
+	ExceptionInterruptHandler := self.
+
+	VMSelectors := #( #noByteCode #invalidCodeObject #invalidByteCode #invalidInstruction
+			  #tooManyArguments #badLiteralTable #receiverNotBoolean: #typeCheckError
+			  #integerCheckError #wrongNumberOfArguments: #privateMethodCalled
+			  #doesNotUnderstand: #invalidReturn: #invalidReturnOrRestart:
+			  #userInterrupt #internalError: #spyInterrupt #timerInterrupt #stepInterrupt
+			  #errorInterrupt:with: #disposeInterrupt #recursionInterrupt
+			  #memoryInterrupt #fpExceptionInterrupt #signalInterrupt: #childSignalInterrupt
+			  #ioInterrupt #customInterrupt #schedulerInterrupt #contextInterrupt
+			  #interruptLatency:receiver:class:selector:vmActivity:id:).
     ]
 
     "Modified: / 5.8.1998 / 15:30:12 / cg"
@@ -1451,29 +1451,29 @@
     lbl origin:(0.0@0.0) corner:(1.0@0.0).
     h := lbl preferredHeight.
     lbl
-        topInset:5;
-        bottomInset:(h+5) negated;
-        leftInset:5;
-        rightInset:5.
+	topInset:5;
+	bottomInset:(h+5) negated;
+	leftInset:5;
+	rightInset:5.
 
     progress := ProgressIndicator in:top.
     progress origin:(0.0@45) corner:(1.0@45).
     progress level:-1.
     h := progress preferredHeight.
     progress
-        topInset:(h // 2) negated;
-        bottomInset:(h // 2) negated;
-        leftInset:5;
-        rightInset:5.
+	topInset:(h // 2) negated;
+	bottomInset:(h // 2) negated;
+	leftInset:5;
+	rightInset:5.
     progress beInvisible.
 
     listV := HVScrollableView for:SelectionInListView in:top.
     listV origin:(0.0@55) corner:(1.0@1.0).
     listV
-        topInset:(h // 2);
-        bottomInset:40;
-        leftInset:5;
-        rightInset:5.
+	topInset:(h // 2);
+	bottomInset:40;
+	leftInset:5;
+	rightInset:5.
     listV beInvisible.
 
     panel := HorizontalPanelView in:top.
@@ -1512,259 +1512,259 @@
     firstRound := true.
 
     [done] whileFalse:[
-        anyShown := false.
-
-        progress percentage:0.
-        firstRound ifTrue:[
-            firstRound := false.
-        ] ifFalse:[
-            lbl label:'compressing garbage ...'.
-            self garbageCollect.
-        ].
-
-        lbl label:('searching level '
-                   , levels size printString
-                   , ' (' , objects size printString , ' refs) ...').
-        nAll := objects size.
-        nDone := 0.
-
-        objectArray := objects asArray.
-
-        owners := "Weak"IdentitySet new.
-
-        numObjectsDone := 0.
-        found := false.
-
-        AbortOperationRequest catch:[
-            self allObjectsIncludingContextsDo:[:o |
-                |inPrevLevel isOwner|
-
-                stop ifTrue:[AbortOperationRequest raise].
-                stop ifFalse:[
-                    isOwner := false.
-                    (o referencesAny:objectArray) ifTrue:[
-                        o isBehavior ifTrue:[
-                            o == Smalltalk ifTrue:[
-                                found := true.
-                            ] ifFalse:[
-                                "/ only add it if it has classInstVars
-                                o instSize ~~ Class instSize ifTrue:[
-                                    isOwner := true.
-                                ]
-                            ]
-                        ] ifFalse:[
-                            o class ~~ WeakArray ifTrue:[
-                                isOwner := true.
-                            ]
-                        ].
-                    ].
-
-                    isOwner ifTrue:[
-                        (objects includesIdentical:o) ifFalse:[
-                            inPrevLevel := false.
-                            levels do:[:lColl |
-                                lColl == o ifTrue:[
-                                    inPrevLevel := true
-                                ] ifFalse:[
-                                    (lColl includesIdentical:o) ifTrue:[inPrevLevel := true].
-                                ]
-                            ].
-                            inPrevLevel ifFalse:[
-                                owners add:o.
-                                (limitOrNil notNil and:[owners size >= limitOrNil]) ifTrue:[
-                                    AbortOperationRequest raise
-                                ].
-                            ]
-                        ]
-                    ].
-
-                    numObjectsDone := numObjectsDone + 1.
-                    numObjects notNil ifTrue:[
-                        numObjectsDone \\ 1000 == 0 ifTrue:[
-                            progress percentage:(numObjectsDone / numObjects * 100).
-                            Processor yield.
-                        ]
-                    ]
-                ]
-            ].
-        ].
-        progress percentage:100.
-
-        numObjects isNil ifTrue:[
-            numObjects := numObjectsDone.
-        ].
-
-        owners remove:aCollection ifAbsent:nil.
-        owners remove:thisContext ifAbsent:nil.
-        owners remove:objectArray ifAbsent:nil.
-        owners remove:objects keyArray ifAbsent:nil.
-        owners remove:owners keyArray ifAbsent:nil.
+	anyShown := false.
+
+	progress percentage:0.
+	firstRound ifTrue:[
+	    firstRound := false.
+	] ifFalse:[
+	    lbl label:'compressing garbage ...'.
+	    self garbageCollect.
+	].
+
+	lbl label:('searching level '
+		   , levels size printString
+		   , ' (' , objects size printString , ' refs) ...').
+	nAll := objects size.
+	nDone := 0.
+
+	objectArray := objects asArray.
+
+	owners := "Weak"IdentitySet new.
+
+	numObjectsDone := 0.
+	found := false.
+
+	AbortOperationRequest catch:[
+	    self allObjectsIncludingContextsDo:[:o |
+		|inPrevLevel isOwner|
+
+		stop ifTrue:[AbortOperationRequest raise].
+		stop ifFalse:[
+		    isOwner := false.
+		    (o referencesAny:objectArray) ifTrue:[
+			o isBehavior ifTrue:[
+			    o == Smalltalk ifTrue:[
+				found := true.
+			    ] ifFalse:[
+				"/ only add it if it has classInstVars
+				o instSize ~~ Class instSize ifTrue:[
+				    isOwner := true.
+				]
+			    ]
+			] ifFalse:[
+			    o class ~~ WeakArray ifTrue:[
+				isOwner := true.
+			    ]
+			].
+		    ].
+
+		    isOwner ifTrue:[
+			(objects includesIdentical:o) ifFalse:[
+			    inPrevLevel := false.
+			    levels do:[:lColl |
+				lColl == o ifTrue:[
+				    inPrevLevel := true
+				] ifFalse:[
+				    (lColl includesIdentical:o) ifTrue:[inPrevLevel := true].
+				]
+			    ].
+			    inPrevLevel ifFalse:[
+				owners add:o.
+				(limitOrNil notNil and:[owners size >= limitOrNil]) ifTrue:[
+				    AbortOperationRequest raise
+				].
+			    ]
+			]
+		    ].
+
+		    numObjectsDone := numObjectsDone + 1.
+		    numObjects notNil ifTrue:[
+			numObjectsDone \\ 1000 == 0 ifTrue:[
+			    progress percentage:(numObjectsDone / numObjects * 100).
+			    Processor yield.
+			]
+		    ]
+		]
+	    ].
+	].
+	progress percentage:100.
+
+	numObjects isNil ifTrue:[
+	    numObjects := numObjectsDone.
+	].
+
+	owners remove:aCollection ifAbsent:nil.
+	owners remove:thisContext ifAbsent:nil.
+	owners remove:objectArray ifAbsent:nil.
+	owners remove:objects keyArray ifAbsent:nil.
+	owners remove:owners keyArray ifAbsent:nil.
 
 "/ 'done with level: ' print. levels size print. ' found ' print. owners size print. ' refs' printCR.
 
-        owners isEmpty ifTrue:[
-            found ifFalse:[
-                stop := true.
-            ]
-        ].
-
-        stop ifFalse:[
-            done := found or:[(owners includesIdentical:Smalltalk)].
-            done ifTrue:[
-                moreChainsOnThisLevel := true.
-                temporaryRemoved := IdentitySet new.
-
-                levels size > 0 ifTrue:[
-                    "/ show what we found so far.
-                    levels last add:Smalltalk.
-                    levels reverse.
-                ].
-
-                chains := OrderedCollection new.
-
-                tLevels := levels collect:[:lColl | lColl copy].
-
-                lbl label:('building refchains ...').
-
-                nAll := aCollection size.
-                nDone := 0.
-                aCollection do:[:anObject | |theseChains|
-                    stop ifFalse:[
-                        theseChains := self
-                                refChainsFrom:Smalltalk
-                                to:anObject
-                                inRefSets:tLevels
-                                startingAt:1.
-
-                        theseChains size > 0 ifTrue:[
-                            chains addAll:theseChains
-                        ].
-                        nDone := nDone + 1.
-                        progress percentage:(nDone / nAll * 100).
-                    ]
-                ].
-
-                tLevels := nil.
-
-                levels size > 0 ifTrue:[
-                    levels reverse.
-                    levels last remove:Smalltalk.
-                ].
-
-                [stop not
-                 and:[chains size > 0]] whileTrue:[
-                    chain := chains first.
-                    chains removeFirst.
-
-                    lbl label:('Found a reference chain.').
-                    progress beInvisible.
-
-                    chain addFirst:Smalltalk.
-                    list := OrderedCollection newWithSize:chain size.
-                    1 to:chain size-1 do:[:i |
-                        list
-                            at:i
-                            put:(self refNameFor:(chain at:i+1) in:(chain at:i))
-                    ].
-                    list at:list size put:(chain last class nameWithArticle).
-
-                    "/ hide the VMProcesses stuff from the user ...
-                    (list at:1) string = 'Smalltalk:__VMProcesses__' ifTrue:[
-                        list at:1 put:'__VMProcesses__ (a hidden VM reference)'.
-                        list removeIndex:2.
-                        chain at:1 put:nil.
-                        chain removeIndex:2.
-                    ].
-
-                    listV list:list.
-
-                    listV beVisible.
-                    listV 
-                        doubleClickAction:[:idx | 
-                            |o key idxOfColon mayBeClassName mayBeClassVarName cls|
-                            
-                            (o := chain at:idx) notNil ifTrue:[
-                                key := (list at:idx) string.
-                                (key includes:$:) ifTrue:[
-                                    idxOfColon := key lastIndexOf:$:.
-                                    mayBeClassName := key copyTo:idxOfColon-1.
-                                    mayBeClassVarName := key copyFrom:idxOfColon+1.
-                                    (cls := Smalltalk classNamed:mayBeClassName) notNil ifTrue:[
-                                        o := cls    
-                                    ].    
-                                ].    
-                                o inspect.
-                            ]
-                        ].
-                    moreButton beVisible.
-                    anyShown := anyShownInAnyLevel := true.
-                    showMore := false.
-
-                    "/ kludge - wait for some user action
-
-                    delay := Delay forSeconds:0.1.
-                    [showMore or:[stop or:[top realized not]]] whileFalse:[
-                        delay wait.
-                    ].
-
-                    chain := nil.
-
-                    top realized ifFalse:[
-                        stop := true
-                    ] ifTrue:[
-                        listV doubleClickAction:nil.
-                        showMore ifFalse:[
-                            stop := true.
-                        ].
-                    ].
-                    done := false.
-
-                    stop ifFalse:[
-                        progress beVisible.
-                        listV beInvisible.
-                        moreButton beInvisible.
-
-                        chain := nil.
-                    ]
-                ].
-                levels size > 0 ifTrue:[
-                    levels last addAll:temporaryRemoved.
-                ]
-            ].
-        ].
-
-        owners remove:Smalltalk ifAbsent:nil.
-        owners remove:(owners keyArray) ifAbsent:nil.
-        owners remove:objectArray ifAbsent:nil.
-        levels do:[:lColl |
-            owners remove:lColl ifAbsent:nil
-        ].
-
-        levels add:owners.
-
-        objects := owners.
-
-        objects size == 0 ifTrue:[
-            stop := true
-        ].
-
-        stop ifTrue:[
-            Smalltalk at:#'__VMProcesses__' put:nil.
-            top destroy.
-            anyShown ifFalse:[
-                userStop ifFalse:[
-                    self information:(anyShownInAnyLevel ifTrue:['no more references'] ifFalse:['no references']).
-                ]
-            ].
-           ^ self.
-        ].
+	owners isEmpty ifTrue:[
+	    found ifFalse:[
+		stop := true.
+	    ]
+	].
+
+	stop ifFalse:[
+	    done := found or:[(owners includesIdentical:Smalltalk)].
+	    done ifTrue:[
+		moreChainsOnThisLevel := true.
+		temporaryRemoved := IdentitySet new.
+
+		levels size > 0 ifTrue:[
+		    "/ show what we found so far.
+		    levels last add:Smalltalk.
+		    levels reverse.
+		].
+
+		chains := OrderedCollection new.
+
+		tLevels := levels collect:[:lColl | lColl copy].
+
+		lbl label:('building refchains ...').
+
+		nAll := aCollection size.
+		nDone := 0.
+		aCollection do:[:anObject | |theseChains|
+		    stop ifFalse:[
+			theseChains := self
+				refChainsFrom:Smalltalk
+				to:anObject
+				inRefSets:tLevels
+				startingAt:1.
+
+			theseChains size > 0 ifTrue:[
+			    chains addAll:theseChains
+			].
+			nDone := nDone + 1.
+			progress percentage:(nDone / nAll * 100).
+		    ]
+		].
+
+		tLevels := nil.
+
+		levels size > 0 ifTrue:[
+		    levels reverse.
+		    levels last remove:Smalltalk.
+		].
+
+		[stop not
+		 and:[chains size > 0]] whileTrue:[
+		    chain := chains first.
+		    chains removeFirst.
+
+		    lbl label:('Found a reference chain.').
+		    progress beInvisible.
+
+		    chain addFirst:Smalltalk.
+		    list := OrderedCollection newWithSize:chain size.
+		    1 to:chain size-1 do:[:i |
+			list
+			    at:i
+			    put:(self refNameFor:(chain at:i+1) in:(chain at:i))
+		    ].
+		    list at:list size put:(chain last class nameWithArticle).
+
+		    "/ hide the VMProcesses stuff from the user ...
+		    (list at:1) string = 'Smalltalk:__VMProcesses__' ifTrue:[
+			list at:1 put:'__VMProcesses__ (a hidden VM reference)'.
+			list removeIndex:2.
+			chain at:1 put:nil.
+			chain removeIndex:2.
+		    ].
+
+		    listV list:list.
+
+		    listV beVisible.
+		    listV
+			doubleClickAction:[:idx |
+			    |o key idxOfColon mayBeClassName mayBeClassVarName cls|
+
+			    (o := chain at:idx) notNil ifTrue:[
+				key := (list at:idx) string.
+				(key includes:$:) ifTrue:[
+				    idxOfColon := key lastIndexOf:$:.
+				    mayBeClassName := key copyTo:idxOfColon-1.
+				    mayBeClassVarName := key copyFrom:idxOfColon+1.
+				    (cls := Smalltalk classNamed:mayBeClassName) notNil ifTrue:[
+					o := cls
+				    ].
+				].
+				o inspect.
+			    ]
+			].
+		    moreButton beVisible.
+		    anyShown := anyShownInAnyLevel := true.
+		    showMore := false.
+
+		    "/ kludge - wait for some user action
+
+		    delay := Delay forSeconds:0.1.
+		    [showMore or:[stop or:[top realized not]]] whileFalse:[
+			delay wait.
+		    ].
+
+		    chain := nil.
+
+		    top realized ifFalse:[
+			stop := true
+		    ] ifTrue:[
+			listV doubleClickAction:nil.
+			showMore ifFalse:[
+			    stop := true.
+			].
+		    ].
+		    done := false.
+
+		    stop ifFalse:[
+			progress beVisible.
+			listV beInvisible.
+			moreButton beInvisible.
+
+			chain := nil.
+		    ]
+		].
+		levels size > 0 ifTrue:[
+		    levels last addAll:temporaryRemoved.
+		]
+	    ].
+	].
+
+	owners remove:Smalltalk ifAbsent:nil.
+	owners remove:(owners keyArray) ifAbsent:nil.
+	owners remove:objectArray ifAbsent:nil.
+	levels do:[:lColl |
+	    owners remove:lColl ifAbsent:nil
+	].
+
+	levels add:owners.
+
+	objects := owners.
+
+	objects size == 0 ifTrue:[
+	    stop := true
+	].
+
+	stop ifTrue:[
+	    Smalltalk at:#'__VMProcesses__' put:nil.
+	    top destroy.
+	    anyShown ifFalse:[
+		userStop ifFalse:[
+		    self information:(anyShownInAnyLevel ifTrue:['no more references'] ifFalse:['no references']).
+		]
+	    ].
+	   ^ self.
+	].
 
     ].
 
     anyShown ifTrue:[
-        userStop ifFalse:[
-            self information:'no more references'.
-        ]
+	userStop ifFalse:[
+	    self information:'no more references'.
+	]
     ].
     Smalltalk at:#'__VMProcesses__' put:nil.
     ^ self
@@ -1826,7 +1826,7 @@
 #ifdef __SCHTEAM__
     someObject.dumpObject();
 #else
-    __dumpObject__(someObject, __LINE__);
+    __dumpObject__(someObject, __LINE__,__FILE__);
 #endif
 %}
     "
@@ -2011,40 +2011,40 @@
     |names oClass|
 
     referent == Smalltalk ifTrue:[
-        referent keysAndValuesDo:[:key :val |
-            |idx|
-
-            (anObject == val) ifTrue:[
-                "/ for our convenience - if it's a nameSpace, cut off Smalltalk.
-                idx := key string indexOf:$:.
-                (idx ~~ 0
-                and:[idx < key string size
-                and:[(key string at:(idx+1)) == $:]]) ifTrue:[
-                    ^ key allBold "/ (key copyFrom:(idx+2)) allBold
-                ].
-                ^ 'Smalltalk:' , (key allBold).
-            ]
-        ].
+	referent keysAndValuesDo:[:key :val |
+	    |idx|
+
+	    (anObject == val) ifTrue:[
+		"/ for our convenience - if it's a nameSpace, cut off Smalltalk.
+		idx := key string indexOf:$:.
+		(idx ~~ 0
+		and:[idx < key string size
+		and:[(key string at:(idx+1)) == $:]]) ifTrue:[
+		    ^ key allBold "/ (key copyFrom:(idx+2)) allBold
+		].
+		^ 'Smalltalk:' , (key allBold).
+	    ]
+	].
     ] ifFalse:[
-        names := referent class allInstVarNames.
-        oClass := referent class.
-        oClass == anObject ifTrue:[
-            ^ oClass name.
-        ].
-        1 to:oClass instSize do:[:i |
-            ((referent instVarAt:i) == anObject) ifTrue:[
-                ^ '%1 [%2]' bindWith:referent class nameWithArticle with:(names at:i) allBold.
-            ].
-        ].
-        oClass isVariable ifTrue:[
-            oClass isPointers ifTrue:[
-                1 to:referent basicSize do:[:i |
-                    ((referent basicAt:i) == anObject) ifTrue:[
-                        ^ '%1 [%2] (sz=%2)' bindWith:referent class nameWithArticle with:i printString allBold with:referent basicSize printString
-                    ]
-                ]
-            ]
-        ].
+	names := referent class allInstVarNames.
+	oClass := referent class.
+	oClass == anObject ifTrue:[
+	    ^ oClass name.
+	].
+	1 to:oClass instSize do:[:i |
+	    ((referent instVarAt:i) == anObject) ifTrue:[
+		^ '%1 [%2]' bindWith:referent class nameWithArticle with:(names at:i) allBold.
+	    ].
+	].
+	oClass isVariable ifTrue:[
+	    oClass isPointers ifTrue:[
+		1 to:referent basicSize do:[:i |
+		    ((referent basicAt:i) == anObject) ifTrue:[
+			^ '%1 [%2] (sz=%2)' bindWith:referent class nameWithArticle with:i printString allBold with:referent basicSize printString
+		    ]
+		]
+	    ]
+	].
     ].
     self proceedableError:'no reference'.
     ^ nil.
@@ -2653,56 +2653,56 @@
     "/ its not useful, to run it more than once
     "/
     BackgroundCollectProcess notNil ifTrue:[
-        BackgroundCollectProcess priority:aPriority.
-        ^ self
+	BackgroundCollectProcess priority:aPriority.
+	^ self
     ].
 
     BackgroundCollectProcess :=
-        [
-            [
-                |myDelay timeOfLastGC doGC|
-
-                myDelay := Delay forSeconds:5.
-                timeOfLastGC := Timestamp now.
-
-                [ "loop"
-                    doGC := self gcStepIfUseful.
-                    doGC ifFalse:[
-                        (BackgroundCollectMaximumInterval notNil
-                         and:[(Timestamp now secondDeltaFrom: timeOfLastGC) > BackgroundCollectMaximumInterval])
-                        ifTrue:[
+	[
+	    [
+		|myDelay timeOfLastGC doGC|
+
+		myDelay := Delay forSeconds:5.
+		timeOfLastGC := Timestamp now.
+
+		[ "loop"
+		    doGC := self gcStepIfUseful.
+		    doGC ifFalse:[
+			(BackgroundCollectMaximumInterval notNil
+			 and:[(Timestamp now secondDeltaFrom: timeOfLastGC) > BackgroundCollectMaximumInterval])
+			ifTrue:[
 "/                            'ObjectMemory [info]: start time-triggered background collect.' infoPrintCR.
-                            doGC := true.
-                        ]
-                    ].
-
-                    doGC ifTrue:[
-                        "/
-                        "/ perform a full cycle (finish cycle)
-                        "/
-                        [self gcStep] whileFalse:[].
-                        "/
-                        "/ increase oldSpace, if freeSpace is below limits.
-                        "/
-                        self moreOldSpaceIfUseful.
-                        BackgroundCollectMaximumInterval notNil ifTrue:[
-                            timeOfLastGC := Timestamp now.
-                        ].
-                    ].
-                    "/
-                    "/ wait a bit
-                    "/
-                    myDelay wait.
-                ] loop.
-            ] ifCurtailed:[
-                BackgroundCollectProcess := nil
-            ]
-        ] newProcess
-            name:'System: background collector';
-            priority:aPriority;
-            restartable:true;
-            beSystemProcess;
-            resume.
+			    doGC := true.
+			]
+		    ].
+
+		    doGC ifTrue:[
+			"/
+			"/ perform a full cycle (finish cycle)
+			"/
+			[self gcStep] whileFalse:[].
+			"/
+			"/ increase oldSpace, if freeSpace is below limits.
+			"/
+			self moreOldSpaceIfUseful.
+			BackgroundCollectMaximumInterval notNil ifTrue:[
+			    timeOfLastGC := Timestamp now.
+			].
+		    ].
+		    "/
+		    "/ wait a bit
+		    "/
+		    myDelay wait.
+		] loop.
+	    ] ifCurtailed:[
+		BackgroundCollectProcess := nil
+	    ]
+	] newProcess
+	    name:'System: background collector';
+	    priority:aPriority;
+	    restartable:true;
+	    beSystemProcess;
+	    resume.
 
     "
      the following lets the backgroundCollector run at prio 5
@@ -3371,29 +3371,29 @@
      If zero, it will allocate forever (until the OS wont hand out more).
      The default is zero.
      WARNING:
-        an oldSpace limit may lead to trashing due to exorbitant GC activity;
-        its usually better to let it allocate more and page in/page out.
-        Usually, the background GC will catch up sooner or later and reclaim
-        the memory without blocking the system"
+	an oldSpace limit may lead to trashing due to exorbitant GC activity;
+	its usually better to let it allocate more and page in/page out.
+	Usually, the background GC will catch up sooner or later and reclaim
+	the memory without blocking the system"
 
     |result|
 %{
     extern unsigned INT __maxOldSpace();
 
     if (__isInteger(amount)) {
-        result = __MKUINT( __maxOldSpace(__unsignedLongIntVal(amount)));
+	result = __MKUINT( __maxOldSpace(__unsignedLongIntVal(amount)));
     }
 %}.
     result notNil ifTrue:[
-        self saveGarbageCollectorSetting:#maxOldSpace: value:amount.
-        ^ result.
+	self saveGarbageCollectorSetting:#maxOldSpace: value:amount.
+	^ result.
     ].
     ^ 0
 
     "
      to change maximum to 1GByte:
 
-        ObjectMemory maxOldSpace:1024*1024*1024
+	ObjectMemory maxOldSpace:1024*1024*1024
     "
 !
 
@@ -3412,7 +3412,7 @@
     return __c__._RETURN_true();
 #else
     if (__isSmallInteger(howMuch)) {
-        RETURN( __moreOldSpace((OBJ)__context, __intVal(howMuch)) ? true : false );
+	RETURN( __moreOldSpace((OBJ)__context, __intVal(howMuch)) ? true : false );
     }
     RETURN (false);
 #endif
@@ -3583,11 +3583,11 @@
     extern unsigned INT __oldSpaceIncrement();
 
     if (__isInteger(amount)) {
-        result = __MKUINT( __oldSpaceIncrement((unsigned INT)__unsignedLongIntVal(amount)) );
+	result = __MKUINT( __oldSpaceIncrement((unsigned INT)__unsignedLongIntVal(amount)) );
     }
 %}.
     result isNil ifTrue:[
-        ^ 0.
+	^ 0.
     ].
     self saveGarbageCollectorSetting:#oldSpaceIncrement: value:amount.
     ^ result.
@@ -4036,9 +4036,9 @@
     int prev;
 
     prev = __byteCodeSizeLimitForDynamicCompilation(
-                                    __isSmallInteger(aNumber)
-                                    ? __intVal(aNumber)
-                                    : -1);
+				    __isSmallInteger(aNumber)
+				    ? __intVal(aNumber)
+				    : -1);
     RETURN (__mkSmallInteger(prev));
 %}.
     ^ 0
@@ -4545,29 +4545,29 @@
     "tell all weak objects that something happened."
 
     FinalizerAccessLock critical:[
-        self allChangedShadowObjectsDo:[:aShadowArray |
-            "/ handle abort, so if any error is raised in the finalization code,
-            "/ and we end in the debugger, we can proceed there and 
-            "/ will continue with the finalization (maybe loosing a FileDescriptor, though).
-            "/ (which is still better than just crashing...)
-            AbortOperationRequest handle:[:ex |
-                'ObjectMemory [warning]: caught abort in finalization processing' errorPrintCR.
-            ] do:[
-                Error handle:[:ex |
-                    'ObjectMemory [warning]: caught error in finalization processing: ' errorPrint.
-                    ex description errorPrintCR.
-                    ex suspendedContext fullPrintAllLevels:10.
-                    "Restart the do block to clean up the rest of the shadow array.
-                     This is safe here, because the old executor that triggered the error
-                     has already been removed from the Registry"
-                    ex restart.
-                ] do:[
-                    aShadowArray lostPointer.
-                ].
-            ].
-        ].
+	self allChangedShadowObjectsDo:[:aShadowArray |
+	    "/ handle abort, so if any error is raised in the finalization code,
+	    "/ and we end in the debugger, we can proceed there and
+	    "/ will continue with the finalization (maybe loosing a FileDescriptor, though).
+	    "/ (which is still better than just crashing...)
+	    AbortOperationRequest handle:[:ex |
+		'ObjectMemory [warning]: caught abort in finalization processing' errorPrintCR.
+	    ] do:[
+		Error handle:[:ex |
+		    'ObjectMemory [warning]: caught error in finalization processing: ' errorPrint.
+		    ex description errorPrintCR.
+		    ex suspendedContext fullPrintAllLevels:10.
+		    "Restart the do block to clean up the rest of the shadow array.
+		     This is safe here, because the old executor that triggered the error
+		     has already been removed from the Registry"
+		    ex restart.
+		] do:[
+		    aShadowArray lostPointer.
+		].
+	    ].
+	].
     ].
-    
+
     "/ we should change the setup,
     "/ to make the Dependencies collection a dependent
     "/ of all the WeakArrays and WeakIDSets there,
@@ -4601,35 +4601,35 @@
     "/ it is not useful to run it more than once
     "/
     BackgroundFinalizationProcess notNil ifTrue:[
-        BackgroundFinalizationProcess priority:aPriority.
-        ^ self
+	BackgroundFinalizationProcess priority:aPriority.
+	^ self
     ].
 
     FinalizationSemaphore := Semaphore name:'FinalizationSemaphore'.
 
     BackgroundFinalizationProcess :=
-        [
-            [
-                [
-                    "
-                     wait till something to do ...
-                    "
-                    FinalizationSemaphore wait.
-                    "
-                     ... and do it
-                    "
-                    self finalize
-                ] loop.
-            ] ifCurtailed:[
-                BackgroundFinalizationProcess := nil.
-                FinalizationSemaphore := nil
-            ]
-        ] newProcess
-            name:'System: background finalizer';
-            priority:aPriority;
-            restartable:true;
-            beSystemProcess;
-            resume.
+	[
+	    [
+		[
+		    "
+		     wait till something to do ...
+		    "
+		    FinalizationSemaphore wait.
+		    "
+		     ... and do it
+		    "
+		    self finalize
+		] loop.
+	    ] ifCurtailed:[
+		BackgroundFinalizationProcess := nil.
+		FinalizationSemaphore := nil
+	    ]
+	] newProcess
+	    name:'System: background finalizer';
+	    priority:aPriority;
+	    restartable:true;
+	    beSystemProcess;
+	    resume.
 
     "
      ObjectMemory stopBackgroundFinalization.
@@ -5556,14 +5556,14 @@
     "/ the current directory is not a good idea, if stx is started via a desktop manager
     "/ or in osx, by clicking on stx.app.
     dir isRootDirectory ifTrue:[
-        exeDir := OperatingSystem pathOfSTXExecutable asFilename directory.
-        dir ~= exeDir ifTrue:[
-            "/ Change it to ~/.smalltalk or is executable directory better?
-
-            "/ use executable dir, as otherwise I'd have to change the VM to include an image path...
-            "/ dir := Filename usersPrivateSmalltalkDirectory.
-            dir := exeDir.
-        ].
+	exeDir := OperatingSystem pathOfSTXExecutable asFilename directory.
+	dir ~= exeDir ifTrue:[
+	    "/ Change it to ~/.smalltalk or is executable directory better?
+
+	    "/ use executable dir, as otherwise I'd have to change the VM to include an image path...
+	    "/ dir := Filename usersPrivateSmalltalkDirectory.
+	    dir := exeDir.
+	].
     ].
     ^ dir
 
@@ -5834,7 +5834,7 @@
      ST-80 compatibility; send #preSnapshot to all classes
     "
     Smalltalk allClassesDo:[:aClass |
-        aClass preSnapshot
+	aClass preSnapshot
     ].
 
     "
@@ -5844,57 +5844,57 @@
     "
     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 has 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 has 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"
     ].
 
     Error catch:[
-        "be immune against errors when Stderr has been closed"
-        Logger 
-            info:'Snapshot %1 saved %2 in %3."'
-            with:snapshotFilename baseName allBold
-            with:Timestamp now
-            with:snapshotFilename asAbsoluteFilename directoryName.
+	"be immune against errors when Stderr has been closed"
+	Logger
+	    info:'Snapshot %1 saved %2 in %3."'
+	    with:snapshotFilename baseName allBold
+	    with:Timestamp now
+	    with:snapshotFilename asAbsoluteFilename directoryName.
     ].
 
     ^ ok
--- a/ProcessorScheduler.st	Wed Dec 19 11:18:10 2018 +0100
+++ b/ProcessorScheduler.st	Wed Dec 19 15:03:07 2018 +0100
@@ -940,9 +940,9 @@
      p l|
 
     KnownProcesses isNil ifTrue:[
-        KnownProcesses := WeakArray new:30.
-        KnownProcesses addDependent:self class.
-        KnownProcessIds := OrderedCollection new:30.
+	KnownProcesses := WeakArray new:30.
+	KnownProcesses addDependent:self class.
+	KnownProcessIds := OrderedCollection new:30.
     ].
 
     "
@@ -975,7 +975,7 @@
 
     supportDynamicPriorities := false.
     exitWhenNoMoreUserProcesses isNil ifTrue:[
-        exitWhenNoMoreUserProcesses := false. "/ mhmh - how about true ?
+	exitWhenNoMoreUserProcesses := false. "/ mhmh - how about true ?
     ].
 
     "
@@ -987,10 +987,10 @@
     currentPriority := SchedulingPriority.
     p := Process basicNew.
     p
-        setId:0 state:#run;
-        setPriority:currentPriority;
-        name:'System: scheduler';
-        beSystemProcess.
+	setId:0 state:#run;
+	setPriority:currentPriority;
+	name:'System: scheduler';
+	beSystemProcess.
 
     scheduler := activeProcess := p.
     activeProcessId := 0.
@@ -1003,8 +1003,8 @@
     "
     useIOInterrupts ifTrue:[ObjectMemory ioInterruptHandler:self].
     ObjectMemory
-        timerInterruptHandler:self;
-        childSignalInterruptHandler:self.
+	timerInterruptHandler:self;
+	childSignalInterruptHandler:self.
 
     "Modified: / 07-01-1997 / 16:48:26 / stefan"
     "Modified: / 04-02-1999 / 13:08:39 / cg"
@@ -1892,13 +1892,13 @@
 
     s := thisContext sender.
     s selector == #threadSwitchFrom:to:id:singleStep: ifTrue:[
-        s := s sender.
-        s selector == #threadSwitch: ifTrue:[
-            s := s sender.
-            s selector == #timerInterrupt ifTrue:[
-                s := s sender
-            ]
-        ]
+	s := s sender.
+	s selector == #threadSwitch: ifTrue:[
+	    s := s sender.
+	    s selector == #timerInterrupt ifTrue:[
+		s := s sender
+	    ]
+	]
     ].
 
     "/ the returned value here has a subtle effect:
@@ -2027,8 +2027,8 @@
      If the process is the current one, reschedule.
 
      Notice:
-         This method should only be called by Process>>suspend or
-         Process>>suspendWithState:"
+	 This method should only be called by Process>>suspend or
+	 Process>>suspendWithState:"
 
     <resource: #skipInDebuggersWalkBack>
 
@@ -2038,31 +2038,31 @@
      some debugging stuff
     "
     aProcess isNil ifTrue:[
-        InvalidProcessSignal raiseRequestWith:aProcess errorString:'nil suspend'.
-        ^ self
+	InvalidProcessSignal raiseRequestWith:aProcess errorString:'nil suspend'.
+	^ self
     ].
     aProcess isDead ifTrue:[
-        InvalidProcessSignal raiseRequestWith:aProcess errorString:'bad suspend: already dead'.
-        self threadSwitch:scheduler.
-        ^ self
+	InvalidProcessSignal raiseRequestWith:aProcess errorString:'bad suspend: already dead'.
+	self threadSwitch:scheduler.
+	^ self
     ].
     aProcess == scheduler ifTrue:[
-        "only the scheduler may suspend itself"
-        activeProcess == scheduler ifTrue:[
-            suspendScheduler := true.
-            [suspendScheduler] whileTrue:[
-                self dispatch.
-            ].
-            ^ self
-        ].
-
-        InvalidProcessSignal raiseRequestWith:aProcess errorString:'attempt to suspend scheduler'.
-        ^ self
+	"only the scheduler may suspend itself"
+	activeProcess == scheduler ifTrue:[
+	    suspendScheduler := true.
+	    [suspendScheduler] whileTrue:[
+		self dispatch.
+	    ].
+	    ^ self
+	].
+
+	InvalidProcessSignal raiseRequestWith:aProcess errorString:'attempt to suspend scheduler'.
+	^ self
     ].
 
     (aProcess == activeProcess) ifTrue:[
-        "this is a no-op if the process has no interrupt actions"
-        aProcess interrupt.
+	"this is a no-op if the process has no interrupt actions"
+	aProcess interrupt.
     ].
 
     wasBlocked := OperatingSystem blockInterrupts.
@@ -2074,23 +2074,23 @@
      the ifAbsent block, because [] is a shared cheap block, created at compile time
     "
     (l isNil or:[(l removeIdentical:aProcess ifAbsent:nil) isNil]) ifTrue:[
-        "/ 'Processor [warning]: bad suspend: process is not running' errorPrintCR.
-        "/ MiniDebugger enterWithMessage:'bad suspend: process is not running'.
-        aProcess == activeProcess ifTrue:[
-            self threadSwitch:scheduler.
-        ].
-        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
-        ^ self
+	"/ 'Processor [warning]: bad suspend: process is not running' errorPrintCR.
+	"/ MiniDebugger enterWithMessage:'bad suspend: process is not running'.
+	aProcess == activeProcess ifTrue:[
+	    self threadSwitch:scheduler.
+	].
+	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+	^ self
     ].
 
     (aProcess == activeProcess) ifTrue:[
-        "we can immediately switch sometimes"
-        l isEmpty ifTrue:[
-            p := scheduler
-        ] ifFalse:[
-            p := l firstLink
-        ].
-        self threadSwitch:p
+	"we can immediately switch sometimes"
+	l isEmpty ifTrue:[
+	    p := scheduler
+	] ifFalse:[
+	    p := l firstLink
+	].
+	self threadSwitch:p
     ].
 
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
@@ -2368,19 +2368,19 @@
     timeSliceNeededSemaphore := Semaphore name:'timeSlice needed'.
 
     timeSliceProcess := [
-        [
-            self timeSlicingLoop.
-        ] ifCurtailed:[
-            timeSliceProcess := nil.
-            'Processor [info]: timeslicer finished' infoPrintCR.
-        ]
+	[
+	    self timeSlicingLoop.
+	] ifCurtailed:[
+	    timeSliceProcess := nil.
+	    'Processor [info]: timeslicer finished' infoPrintCR.
+	]
     ] newProcess.
     timeSliceProcess
-        priority:HighestPriority;
-        name:'System: time slicer';
-        restartable:true;
-        beSystemProcess;
-        resume.
+	priority:HighestPriority;
+	name:'System: time slicer';
+	restartable:true;
+	beSystemProcess;
+	resume.
 
     "
      Processor stopTimeSlicing.
@@ -3254,7 +3254,7 @@
 		    /* should never happen */
 		    console_fprintf(stderr, "VM [warning]: immediateInterrupt is enabled after timeout block\n");
 		    __debugBreakPoint__();
-		    __dumpObject__(firstBlockToEvaluate, __LINE__);
+		    __dumpObject__(firstBlockToEvaluate, __LINE__,__FILE__);
 		    __immediateInterrupt__ = 0;
 		}
 %}.
@@ -3290,7 +3290,7 @@
 		    /* should never happen */
 		    console_fprintf(stderr, "VM [warning]: immediateInterrupt is enabled after timeout block\n");
 		    __debugBreakPoint__();
-//                    __dumpObject__(block, __LINE__);
+		    // __dumpObject__(block, __LINE__,__FILE__);
 		    __immediateInterrupt__ = 0;
 		}
 %}.
@@ -3430,20 +3430,20 @@
 
 timeoutHandlerProcess
     (timeoutHandlerProcess isNil or:[timeoutHandlerProcess isDead]) ifTrue:[
-        timeoutHandlerProcess :=
-                [
-                    [
-                        self timeoutHandlerProcessLoop.
-                    ] ensure:[
-                        timeoutHandlerProcess := nil
-                    ].
-                ] newProcess.
-
-        timeoutHandlerProcess
-            priority:TimingPriority;
-            name:'System: timeout handler';
-            beSystemProcess;
-            resume.
+	timeoutHandlerProcess :=
+		[
+		    [
+			self timeoutHandlerProcessLoop.
+		    ] ensure:[
+			timeoutHandlerProcess := nil
+		    ].
+		] newProcess.
+
+	timeoutHandlerProcess
+	    priority:TimingPriority;
+	    name:'System: timeout handler';
+	    beSystemProcess;
+	    resume.
     ].
     ^ timeoutHandlerProcess.
 
--- a/WeakArray.st	Wed Dec 19 11:18:10 2018 +0100
+++ b/WeakArray.st	Wed Dec 19 15:03:07 2018 +0100
@@ -314,7 +314,7 @@
 #ifdef WEAK_DEBUG
 		    if (! __ISVALIDOBJECT(el)) {
 			fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-			__dumpObject__(el, __LINE__);
+			__dumpObject__(el, __LINE__,__FILE__);
 			el = nil;
 		    }
 #endif
@@ -441,11 +441,11 @@
     |dep|
 
     aCollectionOrNil size == 1 ifTrue:[
-        dep := aCollectionOrNil first.
-        dep isCollection ifFalse:[
-            dependents := dep.
-            ^ self
-        ]
+	dep := aCollectionOrNil first.
+	dep isCollection ifFalse:[
+	    dependents := dep.
+	    ^ self
+	]
     ].
     dependents := aCollectionOrNil
 
@@ -557,7 +557,7 @@
 #ifdef WEAK_DEBUG
 			    if (! __ISVALIDOBJECT(element)) {
 				fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-				__dumpObject__(element, __LINE__);
+				__dumpObject__(element, __LINE__,__FILE__);
 				element = nil;
 			    }
 #endif
@@ -593,7 +593,7 @@
 #ifdef WEAK_DEBUG
 		if (! __ISVALIDOBJECT(element)) {
 		    fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-		    __dumpObject__(element, __LINE__);
+		    __dumpObject__(element, __LINE__,__FILE__);
 		    element = nil;
 		}
 #endif
@@ -638,7 +638,7 @@
 #ifdef WEAK_DEBUG
 	    if (! __ISVALIDOBJECT(element)) {
 		fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-		__dumpObject__(element, __LINE__);
+		__dumpObject__(element, __LINE__,__FILE__);
 		element = nil;
 	    }
 #endif
@@ -744,7 +744,7 @@
 #ifdef WEAK_DEBUG
 				if (! __ISVALIDOBJECT(element)) {
 				    fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-				    __dumpObject__(element, __LINE__);
+				    __dumpObject__(element, __LINE__,__FILE__);
 				    element = nil;
 				}
 #endif
@@ -786,7 +786,7 @@
 #ifdef WEAK_DEBUG
 		    if (! __ISVALIDOBJECT(element)) {
 			fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-			__dumpObject__(element, __LINE__);
+			__dumpObject__(element, __LINE__,__FILE__);
 			element = nil;
 		    }
 #endif
@@ -836,7 +836,7 @@
 #ifdef WEAK_DEBUG
 		if (! __ISVALIDOBJECT(element)) {
 		    fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-		    __dumpObject__(element, __LINE__);
+		    __dumpObject__(element, __LINE__,__FILE__);
 		    element = nil;
 		}
 #endif
@@ -901,7 +901,7 @@
 #ifdef WEAK_DEBUG
 				if (! __ISVALIDOBJECT(element)) {
 				    fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-				    __dumpObject__(element, __LINE__);
+				    __dumpObject__(element, __LINE__,__FILE__);
 				    element = nil;
 				}
 #endif
@@ -943,7 +943,7 @@
 #ifdef WEAK_DEBUG
 		    if (! __ISVALIDOBJECT(element)) {
 			fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-			__dumpObject__(element, __LINE__);
+			__dumpObject__(element, __LINE__,__FILE__);
 			element = nil;
 		    }
 #endif
@@ -993,7 +993,7 @@
 #ifdef WEAK_DEBUG
 		if (! __ISVALIDOBJECT(element)) {
 		    fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
-		    __dumpObject__(element, __LINE__);
+		    __dumpObject__(element, __LINE__,__FILE__);
 		    element = nil;
 		}
 #endif