Smalltalk.st
branchjv
changeset 18608 7d521f25267c
parent 18562 d0cc0d0cfffd
parent 18572 b088a44b9681
child 18679 882c5a65fae3
--- a/Smalltalk.st	Sun Jul 12 06:35:39 2015 +0200
+++ b/Smalltalk.st	Mon Jul 20 17:01:03 2015 +0100
@@ -1,6 +1,8 @@
+"{ Encoding: utf8 }"
+
 "
  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
@@ -14,22 +16,22 @@
 "{ NameSpace: Smalltalk }"
 
 Object subclass:#Smalltalk
-	instanceVariableNames:''
-	classVariableNames:'StartBlocks ImageStartBlocks ExitBlocks CachedClasses
-		NumberOfClassesHint SystemPath StartupClass StartupSelector
-		StartupArguments CommandLine CommandName CommandLineArguments
-		CachedAbbreviations VerboseStartup VerboseLoading Verbose
-		SilentLoading Initializing StandAlone HeadlessOperation IsPlugin
-		IsSharedLibraryComponent IsSTScript DebuggingStandAlone LogDoits
-		LoadBinaries RealSystemPath ResourcePath SourcePath BinaryPath
-		FileInPath PackagePath BinaryDirName ResourceDirName
-		SourceDirName BitmapDirName PackageDirName FileInDirName
-		ChangeFileName ImageStartTime ImageRestartTime DemoMode
-		SaveEmergencyImage SpecialObjectArray CallbackSignal
-		ClassesFailedToInitialize HasNoConsole IgnoreHalt
-		PackageToPathMapping IgnoreAssertions'
-	poolDictionaries:''
-	category:'System-Support'
+        instanceVariableNames:''
+        classVariableNames:'StartBlocks ImageStartBlocks ExitBlocks CachedClasses
+                NumberOfClassesHint SystemPath StartupClass StartupSelector
+                StartupArguments CommandLine CommandName CommandLineArguments
+                CachedAbbreviations VerboseStartup VerboseLoading Verbose
+                SilentLoading Initializing StandAlone HeadlessOperation IsPlugin
+                IsSharedLibraryComponent IsSTScript DebuggingStandAlone LogDoits
+                LoadBinaries RealSystemPath ResourcePath SourcePath BinaryPath
+                FileInPath PackagePath BinaryDirName ResourceDirName
+                SourceDirName BitmapDirName PackageDirName FileInDirName
+                ChangeFileName ImageStartTime ImageRestartTime DemoMode
+                SaveEmergencyImage SpecialObjectArray CallbackSignal
+                ClassesFailedToInitialize HasNoConsole IgnoreHalt
+                PackageToPathMapping IgnoreAssertions'
+        poolDictionaries:''
+        category:'System-Support'
 !
 
 Smalltalk comment:''
@@ -40,7 +42,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
@@ -70,157 +72,157 @@
 
 
     [Instance variables:]
-					none - all handling is done in the VM
+                                        none - all handling is done in the VM
 
     [Class variables:]
 
-	StartBlocks     <Collection>    blocks to be executed in a separate process after
-					everything has been initialized. These blocks will
-					be deleted after execution and therefore not be
-					executed after an image restart. Initial processes
-					(such as the Launcher) are usually started here.
-					These blocks are added by smalltalk.rc/private.rc etc.
-					via #addStartBlock during early initialization.
-
-	ImageStartBlocks
-			<Collection>    blocks to be executed in a separate process after
-					everything has been initialized. These blocks will be
-					executed after an image restart.
-					These blocks are usually added by smalltalk_r.rc etc.
-
-	ExitBlocks      <Collection>    blocks to evaluate before system is
-					left. Not currently used (GNU-ST compatibility).
-
-	SystemPath      <Collection>    path to search for system files (sources, bitmaps etc)
-					Set to a default here, but typically changed from some
-					startup.rc file
-
-	PackagePath     <Collection>    path to search for package.
-					This is going to replace the above systemPath, and a classes
-					resources will eventually searched in its package directory.
-					This list defines the path, where packages are searched for,
-					initially this is something like /opt/smalltalk/packages.
-					Set to a default here, but typically changed from some
-					startup.rc file
-
-	StartupClass    <Class>         class and selector, where the system starts up
-	StartupSelector <Symbol>        (right after VM initialization)
-	StartupArguments <Array>        If an image is saved while those being nonNil,
-					the image will come up there.
-					Allows for customized images to be generated from a standard ST/X.
-					StandAlone programs also set those during initialization.
-
-	CommandLine          <String>   Unix (OS-) command line
-
-	CommandName          <String>   the command (i.e. argv[0])
-
-	CommandLineArguments <Array>    Unix (OS-) command line arguments broken into words
-					CommandName has been stripped off.
-					(initially set by the VM)
-
-	SilentLoading   <Boolean>       OBSOLETE:
-					suppresses messages during fileIn and in compiler
-					(can be set to true from a customized main.c)
-
-	VerboseLoading   <Boolean>      generate messages during fileIn and in compiler
-					(can be set to true from a customized main.c)
-
-	Initializing    <Boolean>       true while (re-)initializing
-					Controls the behavior of certain error
-					reporters (for example: suppress dialogBoxes)
-					while the system is not yet fit for full operation.
-
-	StandAlone      <Boolean>       true, if this is a standalone app;
-					if true the process scheduler watches for
-					which processes are still running, and
-					exits ST/X, when the last non-background
-					and non-system process exits.
-					Can be set in an application-specific startup script,
-					or, for standAlone programs, by C-code during initialization.
-
-	HeadlessOperation               if true, a non-existing Display connection
-			<Boolean>       will NOT lead to an error-exit during startup.
-					Default is false.
-					Can be set in an application-specific startup script,
-					or, for standAlone programs, by C-code during initialization.
-
-	LogDoits        <Boolean>       if true, doits are also logged in the changes
-					file. Default is false, since the changes file
-					may become huge if every tiny doIt is saved there ...
-
-	LoadBinaries    <Boolean>       if true, we attempt to load classes rom a binary
-					file, if present. If false, this is always suppressed.
-
-	SaveEmergencyImage <Boolean>    if true (the default), an emergency image
-					is saved, if the main Display looses its
-					connection. This is useful if you have a
-					flaky display connection (serial line)
-					and want to have your stuff saved automatically
-					in case of a broken connection.
-
-	IgnoreAssertions  <Boolean>     if true, assertions are ignored (i.e. no errors reported).
-					Usually false in the development system, true in a standalone deployed app.
+        StartBlocks     <Collection>    blocks to be executed in a separate process after
+                                        everything has been initialized. These blocks will
+                                        be deleted after execution and therefore not be
+                                        executed after an image restart. Initial processes
+                                        (such as the Launcher) are usually started here.
+                                        These blocks are added by smalltalk.rc/private.rc etc.
+                                        via #addStartBlock during early initialization.
+
+        ImageStartBlocks
+                        <Collection>    blocks to be executed in a separate process after
+                                        everything has been initialized. These blocks will be
+                                        executed after an image restart.
+                                        These blocks are usually added by smalltalk_r.rc etc.
+
+        ExitBlocks      <Collection>    blocks to evaluate before system is
+                                        left. Not currently used (GNU-ST compatibility).
+
+        SystemPath      <Collection>    path to search for system files (sources, bitmaps etc)
+                                        Set to a default here, but typically changed from some
+                                        startup.rc file
+
+        PackagePath     <Collection>    path to search for package.
+                                        This is going to replace the above systemPath, and a classes
+                                        resources will eventually searched in its package directory.
+                                        This list defines the path, where packages are searched for,
+                                        initially this is something like /opt/smalltalk/packages.
+                                        Set to a default here, but typically changed from some
+                                        startup.rc file
+
+        StartupClass    <Class>         class and selector, where the system starts up
+        StartupSelector <Symbol>        (right after VM initialization)
+        StartupArguments <Array>        If an image is saved while those being nonNil,
+                                        the image will come up there.
+                                        Allows for customized images to be generated from a standard ST/X.
+                                        StandAlone programs also set those during initialization.
+
+        CommandLine          <String>   Unix (OS-) command line
+
+        CommandName          <String>   the command (i.e. argv[0])
+
+        CommandLineArguments <Array>    Unix (OS-) command line arguments broken into words
+                                        CommandName has been stripped off.
+                                        (initially set by the VM)
+
+        SilentLoading   <Boolean>       OBSOLETE:
+                                        suppresses messages during fileIn and in compiler
+                                        (can be set to true from a customized main.c)
+
+        VerboseLoading   <Boolean>      generate messages during fileIn and in compiler
+                                        (can be set to true from a customized main.c)
+
+        Initializing    <Boolean>       true while (re-)initializing
+                                        Controls the behavior of certain error
+                                        reporters (for example: suppress dialogBoxes)
+                                        while the system is not yet fit for full operation.
+
+        StandAlone      <Boolean>       true, if this is a standalone app;
+                                        if true the process scheduler watches for
+                                        which processes are still running, and
+                                        exits ST/X, when the last non-background
+                                        and non-system process exits.
+                                        Can be set in an application-specific startup script,
+                                        or, for standAlone programs, by C-code during initialization.
+
+        HeadlessOperation               if true, a non-existing Display connection
+                        <Boolean>       will NOT lead to an error-exit during startup.
+                                        Default is false.
+                                        Can be set in an application-specific startup script,
+                                        or, for standAlone programs, by C-code during initialization.
+
+        LogDoits        <Boolean>       if true, doits are also logged in the changes
+                                        file. Default is false, since the changes file
+                                        may become huge if every tiny doIt is saved there ...
+
+        LoadBinaries    <Boolean>       if true, we attempt to load classes rom a binary
+                                        file, if present. If false, this is always suppressed.
+
+        SaveEmergencyImage <Boolean>    if true (the default), an emergency image
+                                        is saved, if the main Display looses its
+                                        connection. This is useful if you have a
+                                        flaky display connection (serial line)
+                                        and want to have your stuff saved automatically
+                                        in case of a broken connection.
+
+        IgnoreAssertions  <Boolean>     if true, assertions are ignored (i.e. no errors reported).
+                                        Usually false in the development system, true in a standalone deployed app.
 
     strictly private classVariables (helpers):
 
-	CachedClasses   <Collection>    known classes (cached for faster class enumeration)
-
-	CachedAbbreviations
-			<Dictionary>    className to filename mappings
-
-	RealSystemPath  <Collection>    cached collection of directories along the path
-					which really exist. Caching avoids long checks
-					for existing directories on broken NFS volumes.
-
-	SourcePath      <Collection>    cached names of really existing directories
-					These are remembered, as in NFS systems,
-	ResourcePath                    the time to lookup files may become long
-	BinaryPath                      (especially, if some directories are on machines
-	FileInPath                      which are not up ...).
-					Therefore, the set of really
-					existing directories is cached when the SystemPath
-					is walked the first time.
-					A consequence is that you have to invoke
-					flushSystemPath, when you create any of those
-					directories while running
-					(and want the running ST/X to look there)
+        CachedClasses   <Collection>    known classes (cached for faster class enumeration)
+
+        CachedAbbreviations
+                        <Dictionary>    className to filename mappings
+
+        RealSystemPath  <Collection>    cached collection of directories along the path
+                                        which really exist. Caching avoids long checks
+                                        for existing directories on broken NFS volumes.
+
+        SourcePath      <Collection>    cached names of really existing directories
+                                        These are remembered, as in NFS systems,
+        ResourcePath                    the time to lookup files may become long
+        BinaryPath                      (especially, if some directories are on machines
+        FileInPath                      which are not up ...).
+                                        Therefore, the set of really
+                                        existing directories is cached when the SystemPath
+                                        is walked the first time.
+                                        A consequence is that you have to invoke
+                                        flushSystemPath, when you create any of those
+                                        directories while running
+                                        (and want the running ST/X to look there)
 
 
     [author:]
-	Claus Gittinger
+        Claus Gittinger
 
     [see also:]
-	ObjectMemory
-	StandaloneStartup
-	GetOpt
-	ReadEvalPrintLoop
+        ObjectMemory
+        StandaloneStartup
+        GetOpt
+        ReadEvalPrintLoop
 "
 !
 
 readme_resources
 "
     What is a resource file:
-	resource files contain language transformation and sometimes
-	UI-look specifics such as icons etc.
+        resource files contain language transformation and sometimes
+        UI-look specifics such as icons etc.
 
     Where are resources stored in the image:
-	Resource files are only read on demand (i.e. when needed) and only read once
-	i.e. they are cached in the image).
-	The cached data is held in a per-class class-instVar named 'ClassResources'.
-	With only a few exceptions, the only classes which need resources are the GUI
-	classes under the SimpleView hierarchy.
+        Resource files are only read on demand (i.e. when needed) and only read once
+        i.e. they are cached in the image).
+        The cached data is held in a per-class class-instVar named 'ClassResources'.
+        With only a few exceptions, the only classes which need resources are the GUI
+        classes under the SimpleView hierarchy.
 
     How does the system find resources:
-	The idea is that the system-provided resource files can be overwritten
-	by the user or an application configuration.
-	This works via a hierarchy of directories where resources are searched for,
-	with the systems standard resource-files being at the end of that chain.
-
-	When searching for a resource file for class X, the following files are searched
-	in order:
-		{ResourcePath} / resources / X.rs
-		{SystemPath} / (CLASSES-PACKAGE-PATH) / X.rs
-		{ResourcePath} / (CLASSES-PACKAGE-PATH) / X.rs
+        The idea is that the system-provided resource files can be overwritten
+        by the user or an application configuration.
+        This works via a hierarchy of directories where resources are searched for,
+        with the systems standard resource-files being at the end of that chain.
+
+        When searching for a resource file for class X, the following files are searched
+        in order:
+                {ResourcePath} / resources / X.rs
+                {SystemPath} / (CLASSES-PACKAGE-PATH) / X.rs
+                {ResourcePath} / (CLASSES-PACKAGE-PATH) / X.rs
 "
 ! !
 
@@ -233,17 +235,17 @@
      right after startup, usually immediately followed by Smalltalk>>start.
 
      Notice:
-	this is NOT called when an image is restarted; in this
-	case the show starts in Smalltalk>>restart."
+        this is NOT called when an image is restarted; in this
+        case the show starts in Smalltalk>>restart."
 
     Compiler := ByteCodeCompiler.
     Compiler isNil ifTrue:[
-	"
-	 ByteCodeCompiler is not in the system (i.e. has not been linked in)
-	 this allows at least immediate evaluations for runtime systems without compiler
-	 NOTICE: a parser is always needed, otherwise we cannot read resource files etc.
-	"
-	Compiler := Parser
+        "
+         ByteCodeCompiler is not in the system (i.e. has not been linked in)
+         this allows at least immediate evaluations for runtime systems without compiler
+         NOTICE: a parser is always needed, otherwise we cannot read resource files etc.
+        "
+        Compiler := Parser
     ].
 
     "/
@@ -282,7 +284,7 @@
     "/ in case, someone needs the objectFileLoader early
     "/
     ObjectFileLoader notNil ifTrue:[
-	ObjectFileLoader initialize.
+        ObjectFileLoader initialize.
     ].
 
     "/
@@ -299,7 +301,7 @@
     "/ flush them here, so they are reread in any case.
     "/ required for some apps, for example to show the menu correctly (see launcher's help menu)
     ApplicationModel notNil ifTrue:[
-	ApplicationModel flushAllClassResources.
+        ApplicationModel flushAllClassResources.
     ].
 
     "/
@@ -320,20 +322,20 @@
     |envString i langString terrString|
 
     StandAlone isNil ifTrue:[
-	StandAlone := false.
+        StandAlone := false.
     ].
     HeadlessOperation isNil ifTrue:[
-	HeadlessOperation := false.
+        HeadlessOperation := false.
     ].
 
     "
      extract Language and LanguageTerritory from LANG variable.
      valid are for example:
-			    en_en / en
-			    en_us
-			    en_gb
-			    de_de / de
-			    de_at       (for Austria)
+                            en_en / en
+                            en_us
+                            en_gb
+                            de_de / de
+                            de_at       (for Austria)
     "
 
     Language := #en.
@@ -341,41 +343,41 @@
 
 
     "Format of LANG is: language[_territory][.codeset][@modifier]
-	language        ISO-639  Language code
-	territory       ISO-3166 Contry code"
+        language        ISO-639  Language code
+        territory       ISO-3166 Contry code"
 
     envString := OperatingSystem getLanguage.
     envString size > 0 ifTrue:[
-	i := envString indexOf:$@.
-	(i ~~ 0) ifTrue:[
-	    LanguageModifier := (envString copyFrom:(i + 1)) asLowercase asSymbol.
-	    envString := envString copyTo:(i - 1).
-	] ifFalse:[
-	    LanguageModifier := nil.
-	].
-	i := envString indexOf:$..
-	(i ~~ 0) ifTrue:[
-	    LanguageCodeset := (envString copyFrom:(i + 1)) asLowercase asSymbol.
-	    envString := envString copyTo:(i - 1).
-	] ifFalse:[
-	    LanguageCodeset := #'iso8859-1'.
-	].
-	i := envString indexOf:$_.
-	(i == 0) ifTrue:[
-	    langString := envString.
-	    terrString := envString
-	] ifFalse:[
-	    langString := envString copyTo:(i - 1).
-	    terrString := envString copyFrom:(i + 1)
-	].
-	langString := langString asLowercase.
-	terrString := terrString asLowercase.
-	(langString = 'c' or:[terrString = 'c']) ifTrue:[
-	    ('Smalltalk [info]: ignoring wrong LANG setting (',langString,'_',terrString,') - using english') infoPrintCR.
-	] ifFalse:[
-	    Language := langString asSymbol.
-	    LanguageTerritory := terrString asSymbol
-	]
+        i := envString indexOf:$@.
+        (i ~~ 0) ifTrue:[
+            LanguageModifier := (envString copyFrom:(i + 1)) asLowercase asSymbol.
+            envString := envString copyTo:(i - 1).
+        ] ifFalse:[
+            LanguageModifier := nil.
+        ].
+        i := envString indexOf:$..
+        (i ~~ 0) ifTrue:[
+            LanguageCodeset := (envString copyFrom:(i + 1)) asLowercase asSymbol.
+            envString := envString copyTo:(i - 1).
+        ] ifFalse:[
+            LanguageCodeset := #'iso8859-1'.
+        ].
+        i := envString indexOf:$_.
+        (i == 0) ifTrue:[
+            langString := envString.
+            terrString := envString
+        ] ifFalse:[
+            langString := envString copyTo:(i - 1).
+            terrString := envString copyFrom:(i + 1)
+        ].
+        langString := langString asLowercase.
+        terrString := terrString asLowercase.
+        (langString = 'c' or:[terrString = 'c']) ifTrue:[
+            ('Smalltalk [info]: ignoring wrong LANG setting (',langString,'_',terrString,') - using english') infoPrintCR.
+        ] ifFalse:[
+            Language := langString asSymbol.
+            LanguageTerritory := terrString asSymbol
+        ]
     ].
 
     "
@@ -397,9 +399,9 @@
     ObjectMemory recursionInterruptHandler:self.
 
     OperatingSystem isOSXlike ifTrue:[
-	"/ OSX sends SIGABRT for NSExceptions
-	OperatingSystem operatingSystemSignal:(OperatingSystem sigABRT) install:NSException.
-	OperatingSystem enableAbortInterrupts.
+        "/ OSX sends SIGABRT for NSExceptions
+        OperatingSystem operatingSystemSignal:(OperatingSystem sigABRT) install:NSException.
+        OperatingSystem enableAbortInterrupts.
     ].
 
     "
@@ -416,7 +418,7 @@
     Stderr := NonPositionableExternalStream forStderr.
     Stdin := NonPositionableExternalStream forStdin.
     PrinterStream notNil ifTrue:[
-	Printer := PrinterStream defaultPrinter.
+        Printer := PrinterStream defaultPrinter.
     ].
     Transcript := Stderr
 
@@ -433,20 +435,20 @@
        they will redefine Inspector and Debugger for graphical interfaces"
 
     Display notNil ifTrue:[
-	InspectorView notNil ifTrue:[
-	    Inspector := InspectorView
-	].
-	DebugView notNil ifTrue:[
-	    Debugger := DebugView
-	].
-	"/ Display initialize
+        InspectorView notNil ifTrue:[
+            Inspector := InspectorView
+        ].
+        DebugView notNil ifTrue:[
+            Debugger := DebugView
+        ].
+        "/ Display initialize
     ].
 
     "/ make the changeFilePath an absolute one,
     "/ in case some stupid windows fileDialog changes the current directory...
     ObjectMemory
-	nameForChanges:(Filename currentDirectory / ObjectMemory nameForChangesLocal)
-			    asAbsoluteFilename pathName
+        nameForChanges:(Filename currentDirectory / ObjectMemory nameForChangesLocal)
+                            asAbsoluteFilename pathName
 
     "
      Smalltalk initStandardTools
@@ -458,66 +460,66 @@
 initSystemPath
     "setup path where system files are searched for.
      the default path is set to:
-	    .
-	    <directory of exe>       (WIN32 only)
-	    $HOME                    (if defined)
-	    $HOME/.smalltalk         (if defined & existing)
-	    $SMALLTALK_LIBDIR        (if defined & existing)
-	    $STX_LIBDIR              (if defined & existing)
-	    $STX_TOPDIR              (if defined & existing)
-	    REGISTRY('HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\<CurrentVersion>\LibDir') (WIN32 only)
-	    REGISTRY('HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\LibDir')                  (WIN32 only)
-	    <standard places>
+            .
+            <directory of exe>       (WIN32 only)
+            $HOME                    (if defined)
+            $HOME/.smalltalk         (if defined & existing)
+            $SMALLTALK_LIBDIR        (if defined & existing)
+            $STX_LIBDIR              (if defined & existing)
+            $STX_TOPDIR              (if defined & existing)
+            REGISTRY('HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\<CurrentVersion>\LibDir') (WIN32 only)
+            REGISTRY('HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\LibDir')                  (WIN32 only)
+            <standard places>
 
      standard places (unix):
-	    /opt/smalltalk/<release> (if existing)
-	    /opt/smalltalk           (if existing)
-	    /usr/local/lib/smalltalk (if existing)
-	    /usr/lib/smalltalk       (if existing)
-	    /lib/smalltalk           (if existing)
+            /opt/smalltalk/<release> (if existing)
+            /opt/smalltalk           (if existing)
+            /usr/local/lib/smalltalk (if existing)
+            /usr/lib/smalltalk       (if existing)
+            /lib/smalltalk           (if existing)
 
      win32:
-	    \programs\exept\smalltalk (if existing)
-	    \programs\smalltalk       (if existing)
-	    \smalltalk                (if existing)
+            \programs\exept\smalltalk (if existing)
+            \programs\smalltalk       (if existing)
+            \smalltalk                (if existing)
 
      vms:
-	    $stx:lib                 (if existing)
-	    $stx:root                (if existing)
+            $stx:lib                 (if existing)
+            $stx:root                (if existing)
 
      of course, it is possible to add entries from the 'smalltalk.rc'
      startup file; add expressions such as:
-	    Smalltalk systemPath addFirst:'/foo/bar/baz'.
-	or:
-	    Smalltalk systemPath addLast:'/fee/foe/foo'.
+            Smalltalk systemPath addFirst:'/foo/bar/baz'.
+        or:
+            Smalltalk systemPath addLast:'/fee/foe/foo'.
 
      However, smalltalk.rc itself must be found along the above path.
     "
 
     ChangeFileName := 'changes'.
     OperatingSystem isVMSlike ifTrue:[
-	BitmapDirName := 'bitmaps.dir'.
-	BinaryDirName := 'binary.dir'.
-	SourceDirName := 'source.dir'.
-	ResourceDirName := 'resources.dir'.
-	FileInDirName := 'filein.dir'.
-	PackageDirName := 'packages.dir'.
+        BitmapDirName := 'bitmaps.dir'.
+        BinaryDirName := 'binary.dir'.
+        SourceDirName := 'source.dir'.
+        ResourceDirName := 'resources.dir'.
+        FileInDirName := 'filein.dir'.
+        PackageDirName := 'packages.dir'.
     ] ifFalse:[
-	BitmapDirName := 'bitmaps'.
-	BinaryDirName := 'binary'.
-	SourceDirName := 'source'.
-	ResourceDirName := 'resources'.
-	FileInDirName := 'fileIn'.
-	PackageDirName := 'packages'.
+        BitmapDirName := 'bitmaps'.
+        BinaryDirName := 'binary'.
+        SourceDirName := 'source'.
+        ResourceDirName := 'resources'.
+        FileInDirName := 'fileIn'.
+        PackageDirName := 'packages'.
     ].
 
     SystemPath isEmptyOrNil ifTrue:[
-	SystemPath := OperatingSystem defaultSystemPath.
-	self flushPathCaches
+        SystemPath := OperatingSystem defaultSystemPath.
+        self flushPathCaches
     ].
 
     PackagePath isEmptyOrNil ifTrue:[
-	PackagePath := OperatingSystem defaultPackagePath.
+        PackagePath := OperatingSystem defaultPackagePath.
     ].
 
     "
@@ -545,19 +547,19 @@
     "sent from VM via #initializeModules"
 
     Error handle:[:ex |
-	ObjectMemory printStackBacktrace.
-	ClassesFailedToInitialize isNil ifTrue:[
-	    ClassesFailedToInitialize := IdentitySet new.
-	].
-	ClassesFailedToInitialize add:aClass.
-	('Smalltalk [warning]: error during initialize of ' , aClass name,': ', ex description printString) errorPrintCR.
-	ex suspendedContext fullPrintAll.
-	'------------------------------------------------' errorPrintCR.
-	((DebuggingStandAlone == true) or:[ Smalltalk commandLineArguments includes:'--debug']) ifTrue:[
-	    ex reject
-	].
+        ObjectMemory printStackBacktrace.
+        ClassesFailedToInitialize isNil ifTrue:[
+            ClassesFailedToInitialize := IdentitySet new.
+        ].
+        ClassesFailedToInitialize add:aClass.
+        ('Smalltalk [warning]: error during initialize of ' , aClass name,': ', ex description printString) errorPrintCR.
+        ex suspendedContext fullPrintAll.
+        '------------------------------------------------' errorPrintCR.
+        ((DebuggingStandAlone == true) or:[ Smalltalk commandLineArguments includes:'--debug']) ifTrue:[
+            ex reject
+        ].
     ] do:[
-	aClass initialize
+        aClass initialize
     ].
 
     "Modified: / 11-09-2011 / 17:01:32 / cg"
@@ -570,12 +572,12 @@
 
     self initializeModulesOnce.
     ClassesFailedToInitialize size > 0 ifTrue:[
-	('Smalltalk [info]: retry initialization of failed class(es)...') infoPrintCR.
-	ClassesFailedToInitialize := nil.
-	self initializeModulesOnce.
-	ClassesFailedToInitialize size > 0 ifTrue:[
-	    ('Smalltalk [error]: class(es) persist to fail during initialize') errorPrintCR.
-	]
+        ('Smalltalk [info]: retry initialization of failed class(es)...') infoPrintCR.
+        ClassesFailedToInitialize := nil.
+        self initializeModulesOnce.
+        ClassesFailedToInitialize size > 0 ifTrue:[
+            ('Smalltalk [error]: class(es) persist to fail during initialize') errorPrintCR.
+        ]
     ].
 
     ProjectDefinition initializeAllProjectDefinitions.
@@ -778,27 +780,27 @@
 
     objects := SpecialObjectArray.
     objects isNil ifTrue:[
-	objects := Array new:5.
+        objects := Array new:5.
     ].
 
     "find the first empty slot and look if already registered"
     firstEmptyIndex := 0.
     1 to: objects size do: [:i |
-	obj := objects at: i.
-	obj == anObject ifTrue: [^ i].  "object already there, just return its index"
-	(obj == nil and: [firstEmptyIndex = 0]) ifTrue: [
-	    firstEmptyIndex := i
-	]
+        obj := objects at: i.
+        obj == anObject ifTrue: [^ i].  "object already there, just return its index"
+        (obj == nil and: [firstEmptyIndex = 0]) ifTrue: [
+            firstEmptyIndex := i
+        ]
     ].
 
     "if no empty slots, expand the array"
     firstEmptyIndex = 0 ifTrue: [
-	sz := objects size.
-	newObjects := objects species new: sz + 20.  "grow linearly"
-	newObjects replaceFrom: 1 to: sz with: objects startingAt: 1.
-	firstEmptyIndex := sz + 1.
-	SpecialObjectArray := newObjects.
-	objects := newObjects
+        sz := objects size.
+        newObjects := objects species new: sz + 20.  "grow linearly"
+        newObjects replaceFrom: 1 to: sz with: objects startingAt: 1.
+        firstEmptyIndex := sz + 1.
+        SpecialObjectArray := newObjects.
+        objects := newObjects
     ].
 
     objects at: firstEmptyIndex put: anObject.
@@ -814,8 +816,8 @@
     | oldClass |
 
     (oldClass := self at: aName asSymbol ifAbsent: [nil]) isNil ifTrue:[
-	Transcript showCR: 'Removal of class named ', aName, ' ignored because it does not exist.'.
-	^ self
+        Transcript showCR: 'Removal of class named ', aName, ' ignored because it does not exist.'.
+        ^ self
     ].
     oldClass removeFromSystem
 ! !
@@ -839,9 +841,9 @@
     "/ a namespace override may be given...
     ns := Class nameSpaceQuerySignal query.
     (ns isNil or:[ns == Smalltalk]) ifTrue:[
-	poolName := poolNameArg asSymbol
+        poolName := poolNameArg asSymbol
     ] ifFalse:[
-	poolName := (ns name,'::',poolNameArg) asSymbol
+        poolName := (ns name,'::',poolNameArg) asSymbol
     ].
     pool := self classNamed:poolName.
     pool declareConstant:constantName value:value
@@ -865,10 +867,10 @@
 "/        poolName := (ns name,'::',poolDictionaryNameArg) asSymbol
 "/    ].
     ^ SharedPool subclass:(poolName asSymbol)
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	category:'* VAST Pools'
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'* VAST Pools'
 
     "Modified: / 07-02-2012 / 15:56:16 / cg"
 !
@@ -884,9 +886,9 @@
     "/ a namespace override may be given...
     ns := Class nameSpaceQuerySignal query.
     (ns isNil or:[ns == Smalltalk]) ifTrue:[
-	poolName := poolNameArg asSymbol
+        poolName := poolNameArg asSymbol
     ] ifFalse:[
-	poolName := (ns name,'::',poolNameArg) asSymbol
+        poolName := (ns name,'::',poolNameArg) asSymbol
     ].
     pool := self classNamed:poolName.
     pool declareVariable:varName
@@ -898,32 +900,32 @@
 
 defineClass:nameSymbol superclass:superclass indexedType:indexed private:private instanceVariableNames:instVars classInstanceVariableNames:classInstVars imports:imports category:category
     ^ self
-	defineClass:nameSymbol
-	superclass:superclass
-	indexedType:indexed
-	private:private
-	instanceVariableNames:instVars
-	classInstanceVariableNames:classInstVars
-	imports:imports
-	category:category
-	attributes:nil
+        defineClass:nameSymbol
+        superclass:superclass
+        indexedType:indexed
+        private:private
+        instanceVariableNames:instVars
+        classInstanceVariableNames:classInstVars
+        imports:imports
+        category:category
+        attributes:nil
 !
 
 defineClass:nameSymbol superclass:superclass indexedType:indexed private:private instanceVariableNames:instVars classInstanceVariableNames:classInstVars imports:imports category:category attributes:annotations
     |newClass|
 
     indexed == #none ifTrue:[
-	newClass := superclass
-	    subclass:nameSymbol
-	    instanceVariableNames:instVars
-	    classVariableNames:''
-	    poolDictionaries:''
-	    category:category
-	    inEnvironment:self.
-	classInstVars size > 0 ifTrue:[
-	    newClass class instanceVariableNames:classInstVars.
-	].
-	^ newClass
+        newClass := superclass
+            subclass:nameSymbol
+            instanceVariableNames:instVars
+            classVariableNames:''
+            poolDictionaries:''
+            category:category
+            inEnvironment:self.
+        classInstVars size > 0 ifTrue:[
+            newClass class instanceVariableNames:classInstVars.
+        ].
+        ^ newClass
     ].
     self shouldImplement.
 !
@@ -959,8 +961,8 @@
      from exceptionBlock, if no such key is present.
      Since ST/X's Smalltalk as no real dictionary, this is simulated here.
      Warning: this is a comatibility interface only, with a different semantic as
-	      the original ST80 implementation. The returned assoc is created on the fly,
-	      and not the one stored in the receiver (there are not assocs there)"
+              the original ST80 implementation. The returned assoc is created on the fly,
+              and not the one stored in the receiver (there are not assocs there)"
 
     |val|
 
@@ -981,10 +983,10 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     {
-	STSymbol keySymbol = aKey.asSTSymbol();
-	STObject val = SmalltalkEnvironment.getResolvedBindingOrNull(keySymbol);
-
-	return context._RETURN( val == null ? Nil : val );
+        STSymbol keySymbol = aKey.asSTSymbol();
+        STObject val = SmalltalkEnvironment.getResolvedBindingOrNull(keySymbol);
+
+        return context._RETURN( val == null ? Nil : val );
     }
     /* NOT REACHED */
 #else
@@ -1000,7 +1002,7 @@
      the evaluation of aBlock."
 
     (self includesKey:aKey) ifTrue:[
-	^ self at:aKey
+        ^ self at:aKey
     ].
     ^ aBlock value
 
@@ -1028,9 +1030,9 @@
     |val|
 
     (self includesKey:aKey) ifTrue:[
-	(val := self at:aKey) notNil ifTrue:[
-	    ^ aBlock value:val
-	]
+        (val := self at:aKey) notNil ifTrue:[
+            ^ aBlock value:val
+        ]
     ].
     ^ nil
 
@@ -1051,26 +1053,26 @@
 %{
 #ifdef __SCHTEAM__
     {
-	STSymbol keySymbol = aKey.asSTSymbol();
-	oldValue = SmalltalkEnvironment.setBinding(keySymbol, aValue);
+        STSymbol keySymbol = aKey.asSTSymbol();
+        oldValue = SmalltalkEnvironment.setBinding(keySymbol, aValue);
     }
 #else
     oldValue = __GLOBAL_SET(aKey, aValue, (OBJ *)0);
 #endif
 %}.
     CachedClasses notNil ifTrue:[
-	oldValue isBehavior ifTrue:[
-	    oldValue name == aKey ifTrue:[
-		CachedClasses remove:oldValue ifAbsent:[]
-	    ]
-	].
-	aValue isBehavior ifTrue:[
-	    aValue name == aKey ifTrue:[
-		CachedClasses add:aValue
-	    ] ifFalse:[
-		CachedClasses := nil
-	    ]
-	].
+        oldValue isBehavior ifTrue:[
+            oldValue name == aKey ifTrue:[
+                CachedClasses remove:oldValue ifAbsent:[]
+            ]
+        ].
+        aValue isBehavior ifTrue:[
+            aValue name == aKey ifTrue:[
+                CachedClasses add:aValue
+            ] ifFalse:[
+                CachedClasses := nil
+            ]
+        ].
     ].
     ^ aValue.
 
@@ -1102,7 +1104,7 @@
     "return the symbol under which anObject is stored - or nil"
 
     self keysDo:[:aKey |
-	(self at:aKey) == anObject ifTrue:[^ aKey]
+        (self at:aKey) == anObject ifTrue:[^ aKey]
     ].
     ^ nil
 
@@ -1122,16 +1124,16 @@
 removeKey:aKey
     "remove the association stored under the key-argument from the globals dictionary.
      WARNING:
-	this is somewhat dangerous: conceptionally, the association is removed,
-	to which machine & byte compiled code refers if it accesses a global.
-	If there are still global accesses in some literalArray or from machine-compiled code,
-	it continues to reference the globals value via that obsolete association and gets a nil
-	value.  (which is correct)
-	However, if that global is later reintroduced, a new association will be created and
-	the new global now referenced via the new association.
-	The old accesses will still see nil, although the globals value is actually non-nil
-	(this is questionable).
-	To avoid this problem, the #removeClass: method never removed the key."
+        this is somewhat dangerous: conceptionally, the association is removed,
+        to which machine & byte compiled code refers if it accesses a global.
+        If there are still global accesses in some literalArray or from machine-compiled code,
+        it continues to reference the globals value via that obsolete association and gets a nil
+        value.  (which is correct)
+        However, if that global is later reintroduced, a new association will be created and
+        the new global now referenced via the new association.
+        The old accesses will still see nil, although the globals value is actually non-nil
+        (this is questionable).
+        To avoid this problem, the #removeClass: method never removed the key."
 
     CachedClasses := nil.
 
@@ -1191,9 +1193,9 @@
     "startup a changes browser"
 
     ChangesBrowser notNil ifTrue:[
-	ChangesBrowser open
+        ChangesBrowser open
     ] ifFalse:[
-	self warn:'no ChangesBrowser built in'
+        self warn:'no ChangesBrowser built in'
     ]
 
     "
@@ -1278,14 +1280,14 @@
 
     oldCategory := aClass category.
     oldCategory ~= newCategory ifTrue:[
-	aClass category:(newCategory withoutSeparators asSymbol).
-
-	"notify change of category"
-	ns := aClass environment ? self.
-	ns changed:#organization with:(aClass -> oldCategory).
-	ns ~~ self ifTrue:[
-	    self changed:#organization with:(aClass -> oldCategory).
-	]
+        aClass category:(newCategory withoutSeparators asSymbol).
+
+        "notify change of category"
+        ns := aClass environment ? self.
+        ns changed:#organization with:(aClass -> oldCategory).
+        ns ~~ self ifTrue:[
+            self changed:#organization with:(aClass -> oldCategory).
+        ]
     ].
 
     "
@@ -1302,7 +1304,7 @@
 
 flushCachedClass:aClass
     CachedClasses notNil ifTrue:[
-	CachedClasses remove:aClass ifAbsent:[].
+        CachedClasses remove:aClass ifAbsent:[].
     ].
 !
 
@@ -1458,24 +1460,24 @@
     i2 := 1.
     ns := self.
     [i2 ~~ 0] whileTrue:[
-	i2 := newName indexOfSubCollection:'::' startingAt:i1.
-	i2 ~~ 0 ifTrue:[
-	    nm := newName copyFrom:i1 to:i2-1.
-	    ns isNameSpace ifTrue:[
-		subns := ns at:nm asSymbol ifAbsent:nil.
-		subns isNil ifTrue:[
-		    self error:'Nonexisting namespace: ',nm.
-		    ^ nil.
-		].
-	    ] ifFalse:[
-		subns := ns privateClassesAt:nm asSymbol.
-		subns isNil ifTrue:[
-		    self error:'Cannot create a namespace below a class'
-		]
-	    ].
-	    ns := subns.
-	    i1 := i2 + 2.
-	].
+        i2 := newName indexOfSubCollection:'::' startingAt:i1.
+        i2 ~~ 0 ifTrue:[
+            nm := newName copyFrom:i1 to:i2-1.
+            ns isNameSpace ifTrue:[
+                subns := ns at:nm asSymbol ifAbsent:nil.
+                subns isNil ifTrue:[
+                    self error:'Nonexisting namespace: ',nm.
+                    ^ nil.
+                ].
+            ] ifFalse:[
+                subns := ns privateClassesAt:nm asSymbol.
+                subns isNil ifTrue:[
+                    self error:'Cannot create a namespace below a class'
+                ]
+            ].
+            ns := subns.
+            i1 := i2 + 2.
+        ].
     ].
 
     oldName := aClass name.
@@ -1486,8 +1488,8 @@
     privateClasses := aClass privateClassesSorted.
 
     ((self at:oldSym) ~~ aClass) ifTrue:[
-	'Smalltalk [warning]: rename failed - name is different from key' errorPrintCR.
-	^ self
+        'Smalltalk [warning]: rename failed - name is different from key' errorPrintCR.
+        ^ self
     ].
 
     "/ rename the class
@@ -1496,42 +1498,42 @@
 
     "/ change the owning class
     ns isNameSpace ifFalse:[
-	aClass isPrivate ifTrue:[
-	    aClass class setOwningClass:ns.
-	] ifFalse:[
-	    "/ sigh - must make a PrivateMetaclass from Metaclass
-	    oldMetaclass := aClass class.
-	    newMetaclass := PrivateMetaclass new.
-	    newMetaclass flags:(oldMetaclass flags).
-	    newMetaclass setSuperclass:(oldMetaclass superclass).
-	    newMetaclass instSize:(oldMetaclass instSize).
-	    newMetaclass setInstanceVariableString:(oldMetaclass instanceVariableString).
-	    newMetaclass setMethodDictionary:(oldMetaclass methodDictionary).
-	    newMetaclass setSoleInstance:aClass.
-	    newMetaclass setOwningClass:ns.
-
-	    aClass changeClassTo:newMetaclass.
-	    ObjectMemory flushCaches.
-	]
+        aClass isPrivate ifTrue:[
+            aClass class setOwningClass:ns.
+        ] ifFalse:[
+            "/ sigh - must make a PrivateMetaclass from Metaclass
+            oldMetaclass := aClass class.
+            newMetaclass := PrivateMetaclass new.
+            newMetaclass flags:(oldMetaclass flags).
+            newMetaclass setSuperclass:(oldMetaclass superclass).
+            newMetaclass instSize:(oldMetaclass instSize).
+            newMetaclass setInstanceVariableString:(oldMetaclass instanceVariableString).
+            newMetaclass setMethodDictionary:(oldMetaclass methodDictionary).
+            newMetaclass setSoleInstance:aClass.
+            newMetaclass setOwningClass:ns.
+
+            aClass changeClassTo:newMetaclass.
+            ObjectMemory flushCaches.
+        ]
     ] ifTrue:[
-	aClass isPrivate ifTrue:[
-	    newCategory := aClass topOwningClass category.
-
-	    "/ sigh - must make a Metaclass from PrivateMetaclass
-	    oldMetaclass := aClass class.
-
-	    newMetaclass := Metaclass new.
-	    newMetaclass flags:(oldMetaclass flags).
-	    newMetaclass setSuperclass:(oldMetaclass superclass).
-	    newMetaclass instSize:(oldMetaclass instSize).
-	    newMetaclass setInstanceVariableString:(oldMetaclass instanceVariableString).
-	    newMetaclass setMethodDictionary:(oldMetaclass methodDictionary).
-	    newMetaclass setSoleInstance:aClass.
-
-	    aClass category:newCategory.
-	    aClass changeClassTo:newMetaclass.
-	    ObjectMemory flushCaches.
-	]
+        aClass isPrivate ifTrue:[
+            newCategory := aClass topOwningClass category.
+
+            "/ sigh - must make a Metaclass from PrivateMetaclass
+            oldMetaclass := aClass class.
+
+            newMetaclass := Metaclass new.
+            newMetaclass flags:(oldMetaclass flags).
+            newMetaclass setSuperclass:(oldMetaclass superclass).
+            newMetaclass instSize:(oldMetaclass instSize).
+            newMetaclass setInstanceVariableString:(oldMetaclass instanceVariableString).
+            newMetaclass setMethodDictionary:(oldMetaclass methodDictionary).
+            newMetaclass setSoleInstance:aClass.
+
+            aClass category:newCategory.
+            aClass changeClassTo:newMetaclass.
+            ObjectMemory flushCaches.
+        ]
     ].
 
     aClass setName:newSym.
@@ -1551,32 +1553,32 @@
 
     names := aClass classVariableString asCollectionOfWords.
     names do:[:name |
-	oldCVSym := (oldSym , ':' , name) asSymbol.
-	value := self at:oldCVSym.
-	self at:oldCVSym put:nil.
-
-	"/
-	"/ see comment in #removeKey: on why we dont remove it it here
-	"/
-	"/ self removeKey:cSym.
-
-	newCVSym := (newSym , ':' , name) asSymbol.
-	self at:newCVSym put:value.
-
-	oldNameToNewName at:oldCVSym put:newCVSym.
+        oldCVSym := (oldSym , ':' , name) asSymbol.
+        value := self at:oldCVSym.
+        self at:oldCVSym put:nil.
+
+        "/
+        "/ see comment in #removeKey: on why we dont remove it it here
+        "/
+        "/ self removeKey:cSym.
+
+        newCVSym := (newSym , ':' , name) asSymbol.
+        self at:newCVSym put:value.
+
+        oldNameToNewName at:oldCVSym put:newCVSym.
     ].
 
     "/ patch methods literal arrays from oldCVname to newCVname
 
     oldNameToNewName keysAndValuesDo:[:oldNameSym :newNameSym |
-	aClass withAllSubclasses do:[:aSubClass |
-	    Transcript showCR:'changing global accesses from ''' , oldNameSym , ''' into ''' , newNameSym , ''' in class: ''' , aSubClass name , ''' ...'.
-	    aSubClass instAndClassSelectorsAndMethodsDo:[:sel :aMethod |
-		aMethod changeLiteral:oldNameSym to:newNameSym
-	    ].
-	].
-
-	"/ and also in privateClasses ? ...
+        aClass withAllSubclasses do:[:aSubClass |
+            Transcript showCR:'changing global accesses from ''' , oldNameSym , ''' into ''' , newNameSym , ''' in class: ''' , aSubClass name , ''' ...'.
+            aSubClass instAndClassSelectorsAndMethodsDo:[:sel :aMethod |
+                aMethod changeLiteral:oldNameSym to:newNameSym
+            ].
+        ].
+
+        "/ and also in privateClasses ? ...
 
 "/        privateClasses size > 0 ifTrue:[
 "/            privateClasses do:[:aPrivateClass |
@@ -1599,85 +1601,85 @@
     newNameSpace := aClass topNameSpace.
 
     privateClasses size > 0 ifTrue:[
-	"/ must rename privateClasses as well
-	Class withoutUpdatingChangesDo:[
-	    privateClasses do:[:aPrivateClass |
-		self renameClass:aPrivateClass
-		     to:(newSym , '::' , aPrivateClass nameWithoutPrefix).
-
-		Transcript showCR:'recompiling methods in ''' , newNameSpace name , ''' accessing ''' , oldName , '::' , aPrivateClass nameWithoutPrefix , ''' ...'.
-		aClass theNonMetaclass recompileMethodsAccessingGlobal:(oldName , '::' , aPrivateClass nameWithoutPrefix) asSymbol.
-		aClass theMetaclass recompileMethodsAccessingGlobal:(oldName , '::' , aPrivateClass nameWithoutPrefix) asSymbol.
-		aClass theNonMetaclass recompileMethodsAccessingGlobal:(aPrivateClass nameWithoutPrefix) asSymbol.
-		aClass theMetaclass recompileMethodsAccessingGlobal:(aPrivateClass nameWithoutPrefix) asSymbol.
+        "/ must rename privateClasses as well
+        Class withoutUpdatingChangesDo:[
+            privateClasses do:[:aPrivateClass |
+                self renameClass:aPrivateClass
+                     to:(newSym , '::' , aPrivateClass nameWithoutPrefix).
+
+                Transcript showCR:'recompiling methods in ''' , newNameSpace name , ''' accessing ''' , oldName , '::' , aPrivateClass nameWithoutPrefix , ''' ...'.
+                aClass theNonMetaclass recompileMethodsAccessingGlobal:(oldName , '::' , aPrivateClass nameWithoutPrefix) asSymbol.
+                aClass theMetaclass recompileMethodsAccessingGlobal:(oldName , '::' , aPrivateClass nameWithoutPrefix) asSymbol.
+                aClass theNonMetaclass recompileMethodsAccessingGlobal:(aPrivateClass nameWithoutPrefix) asSymbol.
+                aClass theMetaclass recompileMethodsAccessingGlobal:(aPrivateClass nameWithoutPrefix) asSymbol.
 "/                ClassBuilder
 "/                    recompileGlobalAccessorsTo:(oldName , '::' , aPrivateClass nameWithoutPrefix) asSymbol
 "/                    in:newNameSpace
 "/                    except:nil.
-	    ]
-	]
+            ]
+        ]
     ].
 
     oldNameSpace ~~ newNameSpace ifTrue:[
 
-	"/ all those referencing the class from the old nameSpace
-	"/ must be recompiled ...
-	"/ (to now access the global from smalltalk)
-
-	oldNameSpace ~~ Smalltalk ifTrue:[
-	    Transcript showCR:'recompiling methods in ''' , oldNameSpace name , ''' accessing ''' , oldName , ''' ...'.
-
-	    ClassBuilder
-		recompileGlobalAccessorsTo:oldName asSymbol
-		in:oldNameSpace
-		except:nil.
-	].
-
-	"/ all referencing the class in the new namespace
-	"/ as well; to now access the new class.
-
-	(newNameSpace notNil and:[newNameSpace ~~ Smalltalk]) ifTrue:[
-	    Transcript showCR:'recompiling methods in ''' , newNameSpace name , ''' accessing ''' , oldBaseName , ''' ...'.
-
-	    ClassBuilder
-		recompileGlobalAccessorsTo:oldBaseName asSymbol
-		in:newNameSpace
-		except:nil.
-	].
+        "/ all those referencing the class from the old nameSpace
+        "/ must be recompiled ...
+        "/ (to now access the global from smalltalk)
+
+        oldNameSpace ~~ Smalltalk ifTrue:[
+            Transcript showCR:'recompiling methods in ''' , oldNameSpace name , ''' accessing ''' , oldName , ''' ...'.
+
+            ClassBuilder
+                recompileGlobalAccessorsTo:oldName asSymbol
+                in:oldNameSpace
+                except:nil.
+        ].
+
+        "/ all referencing the class in the new namespace
+        "/ as well; to now access the new class.
+
+        (newNameSpace notNil and:[newNameSpace ~~ Smalltalk]) ifTrue:[
+            Transcript showCR:'recompiling methods in ''' , newNameSpace name , ''' accessing ''' , oldBaseName , ''' ...'.
+
+            ClassBuilder
+                recompileGlobalAccessorsTo:oldBaseName asSymbol
+                in:newNameSpace
+                except:nil.
+        ].
     ] ifFalse:[
-	"/ all references to a global with my new name in my owning class
-	"/ must now be redirected to myself.
-
-	aClass isPrivate ifTrue:[
-	    newBaseName := aClass nameWithoutNameSpacePrefix.
-	    newBaseNameWithoutPrefix := aClass nameWithoutPrefix.
-
-	    Transcript showCR:'recompiling methods accessing ''' , oldBaseNameWithoutPrefix , ''' in: ''' , aClass owningClass name , ''' ...'.
-	    aClass owningClass recompileMethodsAccessingGlobal:oldBaseNameWithoutPrefix.
-	    aClass owningClass class recompileMethodsAccessingGlobal:oldBaseNameWithoutPrefix.
-
-	    Transcript showCR:'recompiling methods accessing ''' , oldBaseName , ''' in: ''' , aClass owningClass name , ''' ...'.
-	    aClass owningClass recompileMethodsAccessingGlobal:oldBaseName.
-	    aClass owningClass class recompileMethodsAccessingGlobal:oldBaseName.
-
-	    Transcript showCR:'recompiling methods accessing ''' , newBaseNameWithoutPrefix , ''' in: ''' , aClass owningClass name , ''' ...'.
-	    aClass owningClass recompileMethodsAccessingGlobal:newBaseNameWithoutPrefix.
-	    aClass owningClass class recompileMethodsAccessingGlobal:newBaseNameWithoutPrefix.
-
-	    Transcript showCR:'recompiling methods accessing ''' , newBaseName , ''' in: ''' , aClass owningClass name , ''' ...'.
-	    aClass owningClass recompileMethodsAccessingGlobal:newBaseName.
-	    aClass owningClass class recompileMethodsAccessingGlobal:newBaseName.
-	]
+        "/ all references to a global with my new name in my owning class
+        "/ must now be redirected to myself.
+
+        aClass isPrivate ifTrue:[
+            newBaseName := aClass nameWithoutNameSpacePrefix.
+            newBaseNameWithoutPrefix := aClass nameWithoutPrefix.
+
+            Transcript showCR:'recompiling methods accessing ''' , oldBaseNameWithoutPrefix , ''' in: ''' , aClass owningClass name , ''' ...'.
+            aClass owningClass recompileMethodsAccessingGlobal:oldBaseNameWithoutPrefix.
+            aClass owningClass class recompileMethodsAccessingGlobal:oldBaseNameWithoutPrefix.
+
+            Transcript showCR:'recompiling methods accessing ''' , oldBaseName , ''' in: ''' , aClass owningClass name , ''' ...'.
+            aClass owningClass recompileMethodsAccessingGlobal:oldBaseName.
+            aClass owningClass class recompileMethodsAccessingGlobal:oldBaseName.
+
+            Transcript showCR:'recompiling methods accessing ''' , newBaseNameWithoutPrefix , ''' in: ''' , aClass owningClass name , ''' ...'.
+            aClass owningClass recompileMethodsAccessingGlobal:newBaseNameWithoutPrefix.
+            aClass owningClass class recompileMethodsAccessingGlobal:newBaseNameWithoutPrefix.
+
+            Transcript showCR:'recompiling methods accessing ''' , newBaseName , ''' in: ''' , aClass owningClass name , ''' ...'.
+            aClass owningClass recompileMethodsAccessingGlobal:newBaseName.
+            aClass owningClass class recompileMethodsAccessingGlobal:newBaseName.
+        ]
     ].
 
     aClass changed:#definition.
     "/ because of the change of my superclasses name ...
     aClass allSubclassesDo:[:subClass |
-	subClass changed:#definition.
+        subClass changed:#definition.
     ].
     "/ because of the change of my superclasses name ...
     aClass subclassesDo:[:subClass |
-	subClass addChangeRecordForClass:subClass.
+        subClass addChangeRecordForClass:subClass.
     ].
     self changed:#definition.
     self changed:#classRename with:(Array with:aClass with:oldName).
@@ -1743,7 +1745,7 @@
     "call the dummy debug function, on which a breakpoint
      can be put in adb, sdb, dbx or gdb.
      WARNING: this method is for debugging only
-	      it will be removed without notice."
+              it will be removed without notice."
 %{
     __PATCHUPCONTEXTS(__context);
     __debugBreakPoint__();
@@ -1787,9 +1789,9 @@
     char *msg;
 
     if (__isStringLike(aMessage))
-	msg = (char *) __stringVal(aMessage);
+        msg = (char *) __stringVal(aMessage);
     else
-	msg = "fatalAbort";
+        msg = "fatalAbort";
 
     __fatal0(__context, msg);
     /* NEVER RETURNS */
@@ -1803,7 +1805,7 @@
      Usually, this is done in standAlone applications"
 
     IgnoreHalt isNil ifTrue:[
-	^  self isStandAloneApp
+        ^  self isStandAloneApp
     ].
     ^ IgnoreHalt
 
@@ -1859,12 +1861,12 @@
 
     allCategories := Set new.
     Smalltalk allClassesDo:[:cls |
-	|category|
-
-	category := cls category.
-	category notNil ifTrue:[
-	    allCategories add:category.
-	].
+        |category|
+
+        category := cls category.
+        category notNil ifTrue:[
+            allCategories add:category.
+        ].
     ].
 
     ^ allCategories.
@@ -1883,18 +1885,18 @@
 
     already := IdentitySet new:NumberOfClassesHint*2.
     self allClassesDo:[:eachClass |
-	|cls|
-
-	cls := eachClass theNonMetaclass.
-	(already includes:cls) ifFalse:[
-	    aBlock value:cls.
-	    already add:cls.
-	].
-	cls := cls class.
-	(already includes:cls) ifFalse:[
-	    aBlock value:cls.
-	    already add:cls.
-	].
+        |cls|
+
+        cls := eachClass theNonMetaclass.
+        (already includes:cls) ifFalse:[
+            aBlock value:cls.
+            already add:cls.
+        ].
+        cls := cls class.
+        (already includes:cls) ifFalse:[
+            aBlock value:cls.
+            already add:cls.
+        ].
     ].
 !
 
@@ -1916,13 +1918,13 @@
 
     collectedClasses := OrderedCollection new.
     self allClassesForWhich:filter do:[:cls |
-	collectedClasses add:cls
+        collectedClasses add:cls
     ].
     ^ collectedClasses
 
     "
      Smalltalk
-	allClassesForWhich:[:cls | cls name startsWith:'Po']
+        allClassesForWhich:[:cls | cls name startsWith:'Po']
     "
 
     "Created: / 10-08-2006 / 12:11:31 / cg"
@@ -1932,13 +1934,13 @@
     "evaluate the argument, aBlock for all classes in the system, for which filter evaluates to true."
 
     self allClassesDo:[:cls |
-	(filter value:cls) ifTrue:[ aBlock value:cls ].
+        (filter value:cls) ifTrue:[ aBlock value:cls ].
     ].
 
     "
      Smalltalk
-	allClassesForWhich:[:cls | cls name startsWith:'Po']
-	do:[:aClass | Transcript showCR:aClass name]
+        allClassesForWhich:[:cls | cls name startsWith:'Po']
+        do:[:aClass | Transcript showCR:aClass name]
     "
 !
 
@@ -1960,7 +1962,7 @@
      The order of the classes is not defined."
 
     aCategory notNil ifTrue:[
-	self allClassesForWhich:[:cls | cls category = aCategory] do:aBlock
+        self allClassesForWhich:[:cls | cls category = aCategory] do:aBlock
     ]
 
     "
@@ -1977,12 +1979,12 @@
     |classes|
 
     aCategory notNil ifTrue:[
-	classes := OrderedCollection new.
-	self allClassesInCategory:aCategory do:[:aClass |
-	    classes add:aClass
-	].
-	classes topologicalSort:[:a :b | b isSubclassOf:a].
-	classes do:aBlock
+        classes := OrderedCollection new.
+        self allClassesInCategory:aCategory do:[:aClass |
+            classes add:aClass
+        ].
+        classes topologicalSort:[:a :b | b isSubclassOf:a].
+        classes do:aBlock
     ]
 
     "
@@ -2000,16 +2002,16 @@
 
     already := IdentitySet new:NumberOfClassesHint.
     self allClassesDo:[:eachClass |
-	(already includes:eachClass) ifFalse:[
-	    eachClass allSuperclasses reverseDo:[:eachSuperClass |
-		(already includes:eachSuperClass) ifFalse:[
-		    already add:eachSuperClass.
-		    aBlock value:eachSuperClass.
-		].
-	    ].
-	    already add:eachClass.
-	    aBlock value:eachClass.
-	]
+        (already includes:eachClass) ifFalse:[
+            eachClass allSuperclasses reverseDo:[:eachSuperClass |
+                (already includes:eachSuperClass) ifFalse:[
+                    already add:eachSuperClass.
+                    aBlock value:eachSuperClass.
+                ].
+            ].
+            already add:eachClass.
+            aBlock value:eachClass.
+        ]
     ].
 
     "
@@ -2058,7 +2060,7 @@
 
     allCategories := Set new.
     Smalltalk allClassesDo:[:cls |
-	allCategories addAll:cls categories.
+        allCategories addAll:cls categories.
     ].
 
     ^ allCategories.
@@ -2072,9 +2074,9 @@
     "enumerate all methods in all classes"
 
     Smalltalk allClassesDo:[:eachClass |
-	eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
-	    aBlock value:mthd
-	]
+        eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+            aBlock value:mthd
+        ]
     ].
 !
 
@@ -2085,11 +2087,11 @@
 
     coll := OrderedCollection new.
     Smalltalk allClassesDo:[:eachClass |
-	eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
-	    (aBlock value:mthd) ifTrue:[
-		coll add:mthd
-	    ].
-	]
+        eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+            (aBlock value:mthd) ifTrue:[
+                coll add:mthd
+            ].
+        ]
     ].
     ^ coll
 !
@@ -2099,9 +2101,9 @@
      with method and selector as arguments."
 
     Smalltalk allClassesDo:[:eachClass |
-	eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
-	    aTwoArgBlock value:mthd value:sel
-	]
+        eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+            aTwoArgBlock value:mthd value:sel
+        ]
     ].
 !
 
@@ -2110,7 +2112,7 @@
      in the Smalltalk dictionary"
 
     self keysDo:[:aKey |
-	aBlock value:(aKey -> (self at:aKey))
+        aBlock value:(aKey -> (self at:aKey))
     ]
 
     "Smalltalk associationsDo:[:assoc | assoc printCR]"
@@ -2138,7 +2140,7 @@
     RETURN (self);
 %}.
     self keysDo:[:aKey |
-	aBlock value:(self at:aKey)
+        aBlock value:(self at:aKey)
     ]
 !
 
@@ -2146,7 +2148,7 @@
     "evaluate the two-arg block, aBlock for all keys and values"
 
     self keysDo:[:aKey |
-	aBlock value:aKey value:(self at:aKey)
+        aBlock value:aKey value:(self at:aKey)
     ]
 !
 
@@ -2155,16 +2157,16 @@
 
     collected := OrderedCollection new.
     self keysAndValuesDo:[:eachKey :eachValue |
-	(selectBlockWith2Args value:eachKey value:eachValue) ifTrue:[
-	    collected add:(collectBlockWith2Args value:eachKey value:eachValue)
-	].
+        (selectBlockWith2Args value:eachKey value:eachValue) ifTrue:[
+            collected add:(collectBlockWith2Args value:eachKey value:eachValue)
+        ].
     ].
     ^ collected
 
     "
      Smalltalk
-	keysAndValuesSelect:[:nm :val | (nm startsWith:'Ab') and:[val notNil]]
-	thenCollect:[:nm :val | nm]
+        keysAndValuesSelect:[:nm :val | (nm startsWith:'Ab') and:[val notNil]]
+        thenCollect:[:nm :val | nm]
     "
 !
 
@@ -2177,7 +2179,7 @@
     RETURN (self);
 %}.
     self basicKeys do:[:aKey |
-	aBlock value:aKey
+        aBlock value:aKey
     ]
 ! !
 
@@ -2251,12 +2253,12 @@
      loadOK "exePath" errorInInitialize|
 
     packageDirOrStringOrNil notNil ifTrue:[
-	packageDirOrNil := packageDirOrStringOrNil asFilename.
+        packageDirOrNil := packageDirOrStringOrNil asFilename.
     ].
     VerboseLoading ifTrue:[
-	silent := false
+        silent := false
     ] ifFalse:[
-	silent := (SilentLoading or:[ StandAlone ]) or:[ InfoPrinting not ].
+        silent := (SilentLoading or:[ StandAlone ]) or:[ InfoPrinting not ].
     ].
 
     "For now: have to read the project definition first!!
@@ -2267,112 +2269,112 @@
     "maybe, it is already in the image"
     projectDefinitionClass := ProjectDefinition definitionClassForPackage:aPackageString.
     (projectDefinitionClass notNil and:[projectDefinitionClass supportedOnPlatform not]) ifTrue:[
-	^ PackageNotCompatibleError raiseRequestWith:aPackageString errorString:' - package is not compatible with this platform'.
+        ^ PackageNotCompatibleError raiseRequestWith:aPackageString errorString:' - package is not compatible with this platform'.
     ].
 
     "Is there a shared library (.dll or .so) ?"
     binaryClassLibraryFilename := ObjectFileLoader
-				    binaryClassFilenameForPackage:aPackageString
-				    inDirectory:packageDirOrNil.
+                                    binaryClassFilenameForPackage:aPackageString
+                                    inDirectory:packageDirOrNil.
 
     (binaryClassLibraryFilename notNil and:[binaryClassLibraryFilename exists]) ifTrue:[
-	|loadErrorOccurred|
-
-	loadErrorOccurred := false.
-	ObjectFileLoader objectFileLoadErrorNotification handle:[:ex |
-	    loadErrorOccurred := true.
-	    ex proceedWith:true.
-	] do:[
-	    loadOK := (ObjectFileLoader loadObjectFile:binaryClassLibraryFilename) notNil.
-	    "/ loadOK := self loadPackage:aPackageString fromClassLibrary:binaryClassLibraryFilename.
-	].
-	(loadOK and:[loadErrorOccurred not]) ifTrue:[
-	    silent ifFalse:[
-		Transcript showCR:('Smalltalk [info]: loaded package: ' , aPackageString , ' from binary classLib file: ' , binaryClassLibraryFilename pathName).
-	    ].
-	    "now, all compiled classes have been loaded.
-	     keep classes in the package which are autoloaded as autoloaded."
-	    ^ true
-	].
-
-	loadErrorOccurred ifTrue:[
-	    self breakPoint:#cg.
-	    projectDefinitionClass := ProjectDefinition definitionClassForPackage:aPackageString.
-	    projectDefinitionClass notNil ifTrue:[
-		projectDefinitionClass supportedOnPlatform ifTrue:[
-		    "/ load prerequisites...
-		    projectDefinitionClass loadPreRequisitesAsAutoloaded:doLoadAsAutoloaded.
-		    self breakPoint:#cg.
-		].
-	    ].
-	].
+        |loadErrorOccurred|
+
+        loadErrorOccurred := false.
+        ObjectFileLoader objectFileLoadErrorNotification handle:[:ex |
+            loadErrorOccurred := true.
+            ex proceedWith:true.
+        ] do:[
+            loadOK := (ObjectFileLoader loadObjectFile:binaryClassLibraryFilename) notNil.
+            "/ loadOK := self loadPackage:aPackageString fromClassLibrary:binaryClassLibraryFilename.
+        ].
+        (loadOK and:[loadErrorOccurred not]) ifTrue:[
+            silent ifFalse:[
+                Transcript showCR:('Smalltalk [info]: loaded package: ' , aPackageString , ' from binary classLib file: ' , binaryClassLibraryFilename pathName).
+            ].
+            "now, all compiled classes have been loaded.
+             keep classes in the package which are autoloaded as autoloaded."
+            ^ true
+        ].
+
+        loadErrorOccurred ifTrue:[
+            self breakPoint:#cg.
+            projectDefinitionClass := ProjectDefinition definitionClassForPackage:aPackageString.
+            projectDefinitionClass notNil ifTrue:[
+                projectDefinitionClass supportedOnPlatform ifTrue:[
+                    "/ load prerequisites...
+                    projectDefinitionClass loadPreRequisitesAsAutoloaded:doLoadAsAutoloaded.
+                    self breakPoint:#cg.
+                ].
+            ].
+        ].
     ].
     packageDirOrNil isNil ifTrue:[
-	^ PackageNotFoundError raiseRequestWith:aPackageString.
+        ^ PackageNotFoundError raiseRequestWith:aPackageString.
     ].
 
     "fallback - go through the project definition"
     projectDefinitionClass isNil ifTrue:[
-	projectDefinitionClassName := ProjectDefinition projectDefinitionClassNameForDefinitionOf:aPackageString.
-	"/ try to load the project definition class
-	projectDefinitionFilename := (packageDirOrNil / projectDefinitionClassName) withSuffix:'st'.
-	projectDefinitionFilename exists ifFalse:[
-	    projectDefinitionFilename := (packageDirOrNil / 'source' / projectDefinitionClassName) withSuffix:'st'.
-	].
-	projectDefinitionFilename exists ifTrue:[
-	    Class withoutUpdatingChangesDo:[
-		Smalltalk silentlyLoadingDo:[
-		    Error handle:[:ex |
-			"/ catch error during initialization;
-			ex suspendedContext withAllSendersDo:[:sender |
-			    sender selector == #initialize ifTrue:[
-				sender receiver isBehavior ifTrue:[
-				    sender receiver name = projectDefinitionClassName ifTrue:[
-					errorInInitialize := true
-				    ]
-				]
-			    ]
-			].
-			errorInInitialize ifFalse:[ ex reject ].
-		    ] do:[
-			projectDefinitionFilename fileIn.
-		    ].
-		].
-	    ].
-	    errorInInitialize ifTrue:[
-		Transcript showCR:'Smalltalk [warning]: an error happened in #initialize - retry after loading package.'.
-	    ].
-	    projectDefinitionClass := ProjectDefinition definitionClassForPackage:aPackageString.
-	].
+        projectDefinitionClassName := ProjectDefinition projectDefinitionClassNameForDefinitionOf:aPackageString.
+        "/ try to load the project definition class
+        projectDefinitionFilename := (packageDirOrNil / projectDefinitionClassName) withSuffix:'st'.
+        projectDefinitionFilename exists ifFalse:[
+            projectDefinitionFilename := (packageDirOrNil / 'source' / projectDefinitionClassName) withSuffix:'st'.
+        ].
+        projectDefinitionFilename exists ifTrue:[
+            Class withoutUpdatingChangesDo:[
+                Smalltalk silentlyLoadingDo:[
+                    Error handle:[:ex |
+                        "/ catch error during initialization;
+                        ex suspendedContext withAllSendersDo:[:sender |
+                            sender selector == #initialize ifTrue:[
+                                sender receiver isBehavior ifTrue:[
+                                    sender receiver name = projectDefinitionClassName ifTrue:[
+                                        errorInInitialize := true
+                                    ]
+                                ]
+                            ]
+                        ].
+                        errorInInitialize ifFalse:[ ex reject ].
+                    ] do:[
+                        projectDefinitionFilename fileIn.
+                    ].
+                ].
+            ].
+            errorInInitialize ifTrue:[
+                Transcript showCR:'Smalltalk [warning]: an error happened in #initialize - retry after loading package.'.
+            ].
+            projectDefinitionClass := ProjectDefinition definitionClassForPackage:aPackageString.
+        ].
     ].
     projectDefinitionClass notNil ifTrue:[
-	projectDefinitionClass autoload.
-	projectDefinitionClass supportedOnPlatform ifFalse:[
-	    ^ PackageNotCompatibleError raiseRequestWith:aPackageString errorString:' - package is not compatible with this platform'.
-	].
-	projectDefinitionClass loadPreRequisitesAsAutoloaded:doLoadAsAutoloaded.
-	somethingHasBeenLoaded := projectDefinitionClass loadAsAutoloaded:doLoadAsAutoloaded.
-	errorInInitialize ifTrue:[
-	    Transcript showCR:('Smalltalk [info]: retrying #initialize').
-	    projectDefinitionClass initialize.
-	].
-	(silent not and:[somethingHasBeenLoaded]) ifTrue:[
-	    Transcript showCR:('Smalltalk [info]: loaded package: ' , aPackageString , ' from project definition').
-	].
-	^ true.
+        projectDefinitionClass autoload.
+        projectDefinitionClass supportedOnPlatform ifFalse:[
+            ^ PackageNotCompatibleError raiseRequestWith:aPackageString errorString:' - package is not compatible with this platform'.
+        ].
+        projectDefinitionClass loadPreRequisitesAsAutoloaded:doLoadAsAutoloaded.
+        somethingHasBeenLoaded := projectDefinitionClass loadAsAutoloaded:doLoadAsAutoloaded.
+        errorInInitialize ifTrue:[
+            Transcript showCR:('Smalltalk [info]: retrying #initialize').
+            projectDefinitionClass initialize.
+        ].
+        (silent not and:[somethingHasBeenLoaded]) ifTrue:[
+            Transcript showCR:('Smalltalk [info]: loaded package: ' , aPackageString , ' from project definition').
+        ].
+        ^ true.
     ].
 
     "/ source files-file loading no longer supported
     "/ however, allow for autoload-stub loaded
     doLoadAsAutoloaded ifTrue:[
-	self
-	    recursiveInstallAutoloadedClassesFrom:packageDirOrNil
-	    rememberIn:(Set new)
-	    maxLevels:2
-	    noAutoload:false
-	    packageTop:packageDirOrNil
-	    showSplashInLevels:0.
-	^ true
+        self
+            recursiveInstallAutoloadedClassesFrom:packageDirOrNil
+            rememberIn:(Set new)
+            maxLevels:2
+            noAutoload:false
+            packageTop:packageDirOrNil
+            showSplashInLevels:0.
+        ^ true
     ].
 
     ^ PackageNotFoundError raiseRequestWith:aPackageString errorString:' - no projectDef, dll or loadAll found'.
@@ -2391,7 +2393,7 @@
 
     extensionsLoaded := false.
     ProgrammingLanguage allDo:[:lang|
-	extensionsLoaded := extensionsLoaded | (self loadExtensionsForPackage:aPackageId language: lang)
+        extensionsLoaded := extensionsLoaded | (self loadExtensionsForPackage:aPackageId language: lang)
     ].
     ^ extensionsLoaded
 
@@ -2410,71 +2412,71 @@
     packageDirName := self getPackageFileName:packageDirName.
 
     (packageDirName notNil and:[Class tryLocalSourceFirst]) ifTrue:[
-	(self loadExtensionsFromDirectory:packageDirName language: language) ifTrue:[
-	    ^ true.
-	].
-	packageDirName := nil.  "do not try again"
+        (self loadExtensionsFromDirectory:packageDirName language: language) ifTrue:[
+            ^ true.
+        ].
+        packageDirName := nil.  "do not try again"
     ].
 
     "
      if there is a sourceCodeManager, ask it first for the extensions
     "
     (Smalltalk at:#AbstractSourceCodeManager) notNil ifTrue:[
-	mgr := AbstractSourceCodeManager managerForPackage: aPackageId
+        mgr := AbstractSourceCodeManager managerForPackage: aPackageId
     ].
     mgr notNil ifTrue:[
-	extensionsFilename := 'extensions.' , language sourceFileSuffix.
-
-	projectDefinition := ProjectDefinition definitionClassForPackage:aPackageId.
-	projectDefinition notNil ifTrue:[
-	    mod := aPackageId asPackageId module.
-	    dir := aPackageId asPackageId directory.
-	    extensionsRevisionString := projectDefinition perform:(mgr nameOfVersionMethodForExtensions) ifNotUnderstood:nil.
-	    extensionsRevisionString notNil ifTrue:[
-		extensionsRevisionInfo := mgr revisionInfoFromString:extensionsRevisionString inClass:nil.
-		extensionsRevisionInfo notNil ifTrue:[
-		    extensionsRevisionInfo fileName = extensionsFilename ifFalse:[
-			"JV@2011-10-23: following condition is never satisfied for
-			 filed-in packages. The whole scheme of extensionVersion_XXX
-			 works ONLY for compiled packages as it depends on fact, that
-			 extension Init() routine is called AFTER all classes are inited,
-			 therefore the extensionVersion_XXX methods from extensions.st
-			 overwrites methods coming from package definition class. All this
-			 is so tricky and error prone, that we have to come up with better
-			 solution!!"
-			packageDirName notNil ifTrue:[
-			    ^ self loadExtensionsFromDirectory:packageDirName language: language
-			] ifFalse:[
-			    ^ false
-			]
-		    ]
-		]
-	    ].
-	    SourceCodeManagerError handle:[:ex |
-	    ] do:[
-		inStream := mgr streamForExtensionFile:extensionsFilename package:aPackageId directory:dir module:mod cache:true.
-	    ].
-	].
-	inStream isNil ifTrue:[
-	    SourceCodeManagerError handle:[:ex |
-	    ] do:[
-		inStream := mgr getMostRecentSourceStreamForFile:extensionsFilename inPackage:aPackageId.
-	    ].
-	].
-	inStream notNil ifTrue:[
-	    Class withoutUpdatingChangeSetDo:[
-		inStream fileIn.
-	    ].
-	    inStream close.
-	    VerboseLoading ifTrue:[
-		Transcript showCR:('loaded extensions for ',aPackageId,' from repository').
-	    ].
-	    ^ true
-	]
+        extensionsFilename := 'extensions.' , language sourceFileSuffix.
+
+        projectDefinition := ProjectDefinition definitionClassForPackage:aPackageId.
+        projectDefinition notNil ifTrue:[
+            mod := aPackageId asPackageId module.
+            dir := aPackageId asPackageId directory.
+            extensionsRevisionString := projectDefinition perform:(mgr nameOfVersionMethodForExtensions) ifNotUnderstood:nil.
+            extensionsRevisionString notNil ifTrue:[
+                extensionsRevisionInfo := mgr revisionInfoFromString:extensionsRevisionString inClass:nil.
+                extensionsRevisionInfo notNil ifTrue:[
+                    extensionsRevisionInfo fileName = extensionsFilename ifFalse:[
+                        "JV@2011-10-23: following condition is never satisfied for
+                         filed-in packages. The whole scheme of extensionVersion_XXX
+                         works ONLY for compiled packages as it depends on fact, that
+                         extension Init() routine is called AFTER all classes are inited,
+                         therefore the extensionVersion_XXX methods from extensions.st
+                         overwrites methods coming from package definition class. All this
+                         is so tricky and error prone, that we have to come up with better
+                         solution!!"
+                        packageDirName notNil ifTrue:[
+                            ^ self loadExtensionsFromDirectory:packageDirName language: language
+                        ] ifFalse:[
+                            ^ false
+                        ]
+                    ]
+                ]
+            ].
+            SourceCodeManagerError handle:[:ex |
+            ] do:[
+                inStream := mgr streamForExtensionFile:extensionsFilename package:aPackageId directory:dir module:mod cache:true.
+            ].
+        ].
+        inStream isNil ifTrue:[
+            SourceCodeManagerError handle:[:ex |
+            ] do:[
+                inStream := mgr getMostRecentSourceStreamForFile:extensionsFilename inPackage:aPackageId.
+            ].
+        ].
+        inStream notNil ifTrue:[
+            Class withoutUpdatingChangeSetDo:[
+                inStream fileIn.
+            ].
+            inStream close.
+            VerboseLoading ifTrue:[
+                Transcript showCR:('loaded extensions for ',aPackageId,' from repository').
+            ].
+            ^ true
+        ]
     ].
 
     packageDirName notNil ifTrue:[
-	^ self loadExtensionsFromDirectory:packageDirName language: language
+        ^ self loadExtensionsFromDirectory:packageDirName language: language
     ].
     ^ false
 
@@ -2489,8 +2491,8 @@
     | extensionsLoaded |
     extensionsLoaded := false.
     ProgrammingLanguage allDo:
-	[:lang|
-	extensionsLoaded := extensionsLoaded | (self loadExtensionsFromDirectory: packageDirOrString language: lang)].
+        [:lang|
+        extensionsLoaded := extensionsLoaded | (self loadExtensionsFromDirectory: packageDirOrString language: lang)].
     ^extensionsLoaded
 
     "Modified: / 02-01-2010 / 10:40:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2503,13 +2505,13 @@
 
     f := packageDir / ('extensions.' , language sourceFileSuffix).
     f exists ifTrue:[
-	Class withoutUpdatingChangeSetDo:[
-	    f fileIn.
-	].
-	VerboseLoading ifTrue:[
-	    Transcript showCR:('loaded extensions: ' , f pathName).
-	].
-	^ true
+        Class withoutUpdatingChangeSetDo:[
+            f fileIn.
+        ].
+        VerboseLoading ifTrue:[
+            Transcript showCR:('loaded extensions: ' , f pathName).
+        ].
+        ^ true
     ].
     ^ true"/false
 
@@ -2528,7 +2530,7 @@
 
     "/ a little convenience: so you can stx packages with loadPackage:'goodies/soap'
     (packageString includes:$:) ifFalse:[
-	packageString := 'stx:',packageString.
+        packageString := 'stx:',packageString.
     ].
 
     "if I am here, so must my package"
@@ -2539,25 +2541,25 @@
     "/ if there is a projectDefinition, let it load itself...
     def := packageId projectDefinitionClass.
     (def notNil and:[def isLoaded]) ifTrue:[
-	def loadAsAutoloaded:doLoadAsAutoloaded.
-	^ true.
+        def loadAsAutoloaded:doLoadAsAutoloaded.
+        ^ true.
     ].
 
     packageDir := self packageDirectoryForPackageId:packageId.
 
     [
-	self
-	    loadPackage:packageString
-	    fromDirectory:packageDir
-	    asAutoloaded:doLoadAsAutoloaded.
+        self
+            loadPackage:packageString
+            fromDirectory:packageDir
+            asAutoloaded:doLoadAsAutoloaded.
     ] on:PackageLoadError do:[:ex|
-	AbstractSourceCodeManager notNil ifTrue:[
-	    sourceCodeManager := AbstractSourceCodeManager sourceCodeManagerForPackage:packageString.
-	    sourceCodeManager notNil ifTrue:[
-		^ sourceCodeManager loadPackageWithId:packageString fromRepositoryAsAutoloaded:doLoadAsAutoloaded
-	    ].
-	].
-	ex reject.
+        AbstractSourceCodeManager notNil ifTrue:[
+            sourceCodeManager := AbstractSourceCodeManager sourceCodeManagerForPackage:packageString.
+            sourceCodeManager notNil ifTrue:[
+                ^ sourceCodeManager loadPackageWithId:packageString fromRepositoryAsAutoloaded:doLoadAsAutoloaded
+            ].
+        ].
+        ex reject.
     ].
 
     ^ true
@@ -2582,37 +2584,37 @@
     "/ solution: repeat twice, so that superclasses are present the second time
 
     Class packageQuerySignal answer:packageId asSymbol do:[
-	|any|
-
-	repeatCount := 0.
-	[
-	    repeatCount := repeatCount + 1.
-	    anyFail := false.
-	    aDirectory directoryContents do:[:file |
-		|fn|
-
-		fn := aDirectory / file.
-		(fn hasSuffix:'st') ifTrue:[
-		    Metaclass confirmationQuerySignal answer:false
-		    do:[
-			Error
-			    handle:[:ex |
-				anyFail := true
-			    ]
-			    do:[
-				(self fileIn:fn) ifFalse:[
-				    anyFail := true
-				] ifTrue:[
-				    any := true.
-				]
-			    ]
-		    ]
-		]
-	    ].
-	    any ifFalse:[
-		^ false "/ no file found
-	    ]
-	] doWhile:[anyFail and:[repeatCount<2]].
+        |any|
+
+        repeatCount := 0.
+        [
+            repeatCount := repeatCount + 1.
+            anyFail := false.
+            aDirectory directoryContents do:[:file |
+                |fn|
+
+                fn := aDirectory / file.
+                (fn hasSuffix:'st') ifTrue:[
+                    Metaclass confirmationQuerySignal answer:false
+                    do:[
+                        Error
+                            handle:[:ex |
+                                anyFail := true
+                            ]
+                            do:[
+                                (self fileIn:fn) ifFalse:[
+                                    anyFail := true
+                                ] ifTrue:[
+                                    any := true.
+                                ]
+                            ]
+                    ]
+                ]
+            ].
+            any ifFalse:[
+                ^ false "/ no file found
+            ]
+        ] doWhile:[anyFail and:[repeatCount<2]].
     ].
 
     new := (p := Project projectWithId:packageId) isNil.
@@ -2628,7 +2630,7 @@
 
     new ifTrue:[Project addLoadedProject:p].
     anyFail ifTrue:[
-	^ PackageLoadError raiseRequestWith:packageId.
+        ^ PackageLoadError raiseRequestWith:packageId.
     ].
     ^ true
 !
@@ -2640,9 +2642,9 @@
     |p t new|
 
     (self fileIn:aFilename) ifFalse:[
-	(self fileInClassLibrary:aFilename) ifFalse:[
-	    ^ false.
-	]
+        (self fileInClassLibrary:aFilename) ifFalse:[
+            ^ false.
+        ]
     ].
 
     new := (p := Project projectWithId:packageId) isNil.
@@ -2669,10 +2671,10 @@
     |ret|
 
     PackageLoadInProgressQuery
-	answerNotifyLoading:aPackageString asSymbol
-	do:[
-	    ret := self basicLoadPackage:aPackageString fromDirectory:packageDirOrStringOrNil asAutoloaded:doLoadAsAutoloaded
-	].
+        answerNotifyLoading:aPackageString asSymbol
+        do:[
+            ret := self basicLoadPackage:aPackageString fromDirectory:packageDirOrStringOrNil asAutoloaded:doLoadAsAutoloaded
+        ].
     ^ ret
 
     "
@@ -2689,10 +2691,10 @@
 
     Metaclass confirmationQuerySignal answer:false
     do:[
-	(self fileIn:aFilename) ifFalse:[
-	    self warn:'Failed to load the package ', packageId printString.
-	    ^ false.
-	]
+        (self fileIn:aFilename) ifFalse:[
+            self warn:'Failed to load the package ', packageId printString.
+            ^ false.
+        ]
     ].
 
     new := (p := Project projectWithId:packageId) isNil.
@@ -2715,8 +2717,8 @@
      Experimental."
 
     ^ PackageLoadError
-	raiseRequestWith:aPackageId
-	errorString:' - package loading from zip is not yet implemented'.
+        raiseRequestWith:aPackageId
+        errorString:' - package loading from zip is not yet implemented'.
 !
 
 loadPackageFromAbbrevFile:aPackageId asAutoloaded:doLoadAsAutoloaded
@@ -2733,13 +2735,13 @@
     Smalltalk installAutoloadedClassesFrom:abbrevFile pathName.
 
     doLoadAsAutoloaded ifFalse:[
-	"/ force autoloading...
-	Smalltalk allClassesInPackage:aPackageId do:[:eachClass | eachClass autoload].
+        "/ force autoloading...
+        Smalltalk allClassesInPackage:aPackageId do:[:eachClass | eachClass autoload].
     ].
 
     self loadExtensionsFromDirectory:packageDir.
     VerboseLoading ifTrue:[
-	Transcript showCR:('Smalltalk [info]: loaded package: ' , aPackageId , ' from abbrev file: ' , abbrevFile pathName).
+        Transcript showCR:('Smalltalk [info]: loaded package: ' , aPackageId , ' from abbrev file: ' , abbrevFile pathName).
     ].
     ^ true
 
@@ -2763,27 +2765,27 @@
     "/ If that happens, we restart the set-building here
     "/
     [(classes := CachedClasses) isNil] whileTrue:[
-	CachedClasses := classes := IdentitySet new:NumberOfClassesHint.
-	self keysAndValuesDo:[:eachName :eachGlobal |
-	    (eachGlobal notNil and:[eachGlobal isBehavior]) ifTrue:[
-		"/ sigh - would like to skip over aliases
-		"/ but this cannot be done simply by comparing
-		"/ the classes name against the store-key
-		"/ i.e. cannot do:
-		"/      anObject name == sym ifTrue:[
-		"/          classes add:anObject
-		"/      ]
-		"/ because that would lead to ignore all java
-		"/ classes, which are stored under a different
-		"/ key.
-
-		(eachGlobal name == eachName
-		 or:[eachGlobal isJavaClass]) ifTrue:[
-		    classes add:eachGlobal
-		].
-	    ]
-	].
-	NumberOfClassesHint := classes size.
+        CachedClasses := classes := IdentitySet new:NumberOfClassesHint.
+        self keysAndValuesDo:[:eachName :eachGlobal |
+            (eachGlobal notNil and:[eachGlobal isBehavior]) ifTrue:[
+                "/ sigh - would like to skip over aliases
+                "/ but this cannot be done simply by comparing
+                "/ the classes name against the store-key
+                "/ i.e. cannot do:
+                "/      anObject name == sym ifTrue:[
+                "/          classes add:anObject
+                "/      ]
+                "/ because that would lead to ignore all java
+                "/ classes, which are stored under a different
+                "/ key.
+
+                (eachGlobal name == eachName
+                 or:[eachGlobal isJavaClass]) ifTrue:[
+                    classes add:eachGlobal
+                ].
+            ]
+        ].
+        NumberOfClassesHint := classes size.
     ].
     ^ classes
 
@@ -2806,8 +2808,8 @@
 
     classes := IdentitySet new:NumberOfClassesHint*2.
     self allClassesDo:[:eachClass |
-	classes add:(eachClass theNonMetaclass).
-	classes add:(eachClass theMetaclass).
+        classes add:(eachClass theNonMetaclass).
+        classes add:(eachClass theMetaclass).
     ].
     ^ classes
 !
@@ -2818,13 +2820,13 @@
      (i.e. anonymous ones have to be aquired by Behavior allSubInstances)"
 
     ^ self allClasses select:[:aClass |
-	    |owner|
-
-	    (aClass isRealNameSpace not)
-	    and:[
-		owner := aClass topOwningClass.
-		(owner ? aClass) nameSpace == Smalltalk
-	    ]
+            |owner|
+
+            (aClass isRealNameSpace not)
+            and:[
+                owner := aClass topOwningClass.
+                (owner ? aClass) nameSpace == Smalltalk
+            ]
       ]
 
     "
@@ -2841,12 +2843,12 @@
 
     methods := OrderedCollection new.
     self allClassesDo:[:eachClass |
-	|classPackage|
-
-	classPackage := eachClass package.
-	eachClass instAndClassMethodsDo:[:mthd |
-	    mthd package ~= classPackage ifTrue:[ methods add:mthd ].
-	].
+        |classPackage|
+
+        classPackage := eachClass package.
+        eachClass instAndClassMethodsDo:[:mthd |
+            mthd package ~= classPackage ifTrue:[ methods add:mthd ].
+        ].
     ].
     ^ methods
 
@@ -2862,7 +2864,7 @@
 
     methods := OrderedCollection new.
     self allClassesDo:[:eachClass |
-	methods addAll:(eachClass extensionsFrom:aProjectID).
+        methods addAll:(eachClass extensionsFrom:aProjectID).
     ].
     ^ methods
 !
@@ -2874,12 +2876,12 @@
 
     implementors := OrderedCollection new.
     self allClassesDo:[:cls |
-	(cls includesSelector:aSelector) ifTrue:[
-	    implementors add:cls.
-	].
-	(cls class includesSelector:aSelector) ifTrue:[
-	    implementors add:cls class.
-	].
+        (cls includesSelector:aSelector) ifTrue:[
+            implementors add:cls.
+        ].
+        (cls class includesSelector:aSelector) ifTrue:[
+            implementors add:cls class.
+        ].
     ].
     ^ implementors
 
@@ -2920,30 +2922,30 @@
 
     allProjects := Set new.
     self allClassesDo:[:eachClass |
-	|cls pkg|
-
-	eachClass isRealNameSpace ifFalse:[
-	    (includeUnloadedClasses or:[eachClass isLoaded]) ifTrue:[
-		cls := eachClass theNonMetaclass.
-		cls isPrivate ifTrue:[
-		    cls := cls topOwningClass
-		].
-		pkg := cls package.
-		pkg size > 0 ifTrue:[
-		    allProjects add:pkg.
-		] ifFalse:[
-		    "/ for now, nameSpaces are not in any package;
-		    "/ this might change. Then, 0-sized packages are
-		    "/ illegal, and the following should be enabled.
-		    "/ self halt
-		].
-		cls isJavaClass ifFalse:[
-		    cls instAndClassSelectorsAndMethodsDo:[:sel :mthd |
-			allProjects add:mthd package asSymbol.
-		    ].
-		].
-	    ].
-	].
+        |cls pkg|
+
+        eachClass isRealNameSpace ifFalse:[
+            (includeUnloadedClasses or:[eachClass isLoaded]) ifTrue:[
+                cls := eachClass theNonMetaclass.
+                cls isPrivate ifTrue:[
+                    cls := cls topOwningClass
+                ].
+                pkg := cls package.
+                pkg size > 0 ifTrue:[
+                    allProjects add:pkg.
+                ] ifFalse:[
+                    "/ for now, nameSpaces are not in any package;
+                    "/ this might change. Then, 0-sized packages are
+                    "/ illegal, and the following should be enabled.
+                    "/ self halt
+                ].
+                cls isJavaClass ifFalse:[
+                    cls instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+                        allProjects add:mthd package asSymbol.
+                    ].
+                ].
+            ].
+        ].
     ].
     allProjects := allProjects asOrderedCollection sort.
     ^ allProjects
@@ -2970,7 +2972,7 @@
 classCategoryCompletion:aPartialCategory
     "given a partial class category name, return an array consisting of
      2 entries: 1st: the best (longest) match
-		2nd: collection consisting of matching categories"
+                2nd: collection consisting of matching categories"
 
     ^ DoWhatIMeanSupport classCategoryCompletion:aPartialCategory inEnvironment:self
 
@@ -2996,45 +2998,45 @@
      But be careful, to not invent new symbols ..."
     sym := aString asSymbolIfInterned.
     sym notNil ifTrue:[
-	cls := self at:sym ifAbsent:nil.
-	cls isBehavior ifTrue:[^ cls].
+        cls := self at:sym ifAbsent:nil.
+        cls isBehavior ifTrue:[^ cls].
     ].
 
     (aString endsWith:' class') ifTrue:[
-	nonMeta := self classNamed:(aString copyButLast:6).
-	nonMeta notNil ifTrue:[
-	    ^ nonMeta theMetaclass
-	].
+        nonMeta := self classNamed:(aString copyButLast:6).
+        nonMeta notNil ifTrue:[
+            ^ nonMeta theMetaclass
+        ].
     ].
 
     "no success yet. Try if this is a private class of an autoloaded class"
     cls isNil ifTrue:[
-	idx := aString indexOfSubCollection:'::'.
-	idx ~~ 0 ifTrue:[
-	    prefix := aString copyTo:idx-1.
-	    nsNameSymbol := prefix asSymbolIfInterned.
-	    nsNameSymbol notNil ifTrue:[
-		rest := aString copyFrom:idx+2.
-		namespace := self at:prefix asSymbolIfInterned ifAbsent:nil.
-		"namespace may be the owner of a private class.
-		 NameSpaces and Behaviors have the same protocol"
-		[namespace isBehavior] whileTrue:[
-		    idx := rest indexOfSubCollection:'::'.
-		    idx ~~ 0 ifTrue:[
-			prefix := rest copyTo:idx-1.
-			rest := rest copyFrom:idx+2.
-			"this does an implicit autoload if required"
-			namespace := namespace privateClassesAt:prefix.
-		    ] ifFalse:[
-			namespace isLoaded ifTrue:[
-			    cls := namespace privateClassesAt:rest.
-			    cls isBehavior ifTrue:[^ cls].
-			].
-			namespace := nil.   "force exit of loop"
-		    ].
-		].
-	    ].
-	].
+        idx := aString indexOfSubCollection:'::'.
+        idx ~~ 0 ifTrue:[
+            prefix := aString copyTo:idx-1.
+            nsNameSymbol := prefix asSymbolIfInterned.
+            nsNameSymbol notNil ifTrue:[
+                rest := aString copyFrom:idx+2.
+                namespace := self at:prefix asSymbolIfInterned ifAbsent:nil.
+                "namespace may be the owner of a private class.
+                 NameSpaces and Behaviors have the same protocol"
+                [namespace isBehavior] whileTrue:[
+                    idx := rest indexOfSubCollection:'::'.
+                    idx ~~ 0 ifTrue:[
+                        prefix := rest copyTo:idx-1.
+                        rest := rest copyFrom:idx+2.
+                        "this does an implicit autoload if required"
+                        namespace := namespace privateClassesAt:prefix.
+                    ] ifFalse:[
+                        namespace isLoaded ifTrue:[
+                            cls := namespace privateClassesAt:rest.
+                            cls isBehavior ifTrue:[^ cls].
+                        ].
+                        namespace := nil.   "force exit of loop"
+                    ].
+                ].
+            ].
+        ].
     ].
 
     ^ nil
@@ -3071,7 +3073,7 @@
 classnameCompletion:aPartialClassName
     "given a partial classname, return an array consisting of
      2 entries: 1st: the best (longest) match
-		2nd: collection consisting of matching names"
+                2nd: collection consisting of matching names"
 
     ^ DoWhatIMeanSupport classnameCompletion:aPartialClassName inEnvironment:self
 !
@@ -3079,7 +3081,7 @@
 classnameCompletion:aPartialClassName inEnvironment:anEnvironment
     "given a partial classname, return an array consisting of
      2 entries: 1st: the best (longest) match
-		2nd: collection consisting of matching names"
+                2nd: collection consisting of matching names"
 
     ^ DoWhatIMeanSupport classnameCompletion:aPartialClassName inEnvironment:anEnvironment
 
@@ -3110,7 +3112,7 @@
 globalNameCompletion:aPartialGlobalName
     "given a partial globalName, return an array consisting of
      2 entries: 1st: the best (longest) match
-		2nd: collection consisting of matching names"
+                2nd: collection consisting of matching names"
 
     ^ DoWhatIMeanSupport globalNameCompletion:aPartialGlobalName inEnvironment:self match:true
 
@@ -3128,7 +3130,7 @@
 globalnameCompletion:aPartialGlobalName
     "given a partial globalName, return an array consisting of
      2 entries: 1st: the best (longest) match
-		2nd: collection consisting of matching names"
+                2nd: collection consisting of matching names"
 
     <resource:#obsolete>
     self obsoleteMethodWarning:'use #globalNameCompletion:'.
@@ -3147,8 +3149,8 @@
 
 hasClassNamed:aString
     Symbol
-	hasInterned:aString
-	ifTrue:[:aSymbol | ^ (self at:aSymbol ifAbsent:[ nil ]) isClass ].
+        hasInterned:aString
+        ifTrue:[:aSymbol | ^ (self at:aSymbol ifAbsent:[ nil ]) isClass ].
     ^ false
 
     "Created: / 26-08-2009 / 11:43:03 / Jaroslav Havlin <havlij6@fel.cvut.cz>"
@@ -3239,11 +3241,11 @@
 
     i := aKey lastIndexOf:$:.
     i ~~ 0 ifTrue:[
-	i > 1 ifTrue:[
-	    (aKey at:(i-1)) == $: ifFalse:[
-		^ true.
-	    ].
-	].
+        i > 1 ifTrue:[
+            (aKey at:(i-1)) == $: ifFalse:[
+                ^ true.
+            ].
+        ].
     ].
     ^ false.
 
@@ -3265,15 +3267,15 @@
      But be careful, to not invent new symbols ..."
     sym := aString asSymbolIfInterned.
     sym notNil ifTrue:[
-	cls := self at:sym ifAbsent:nil.
-	cls isBehavior ifTrue:[^ cls].
+        cls := self at:sym ifAbsent:nil.
+        cls isBehavior ifTrue:[^ cls].
     ].
 
     (aString endsWith:' class') ifTrue:[
-	nonMeta := self loadedClassNamed:(aString copyButLast:6).
-	nonMeta notNil ifTrue:[
-	    ^ nonMeta theMetaclass
-	].
+        nonMeta := self loadedClassNamed:(aString copyButLast:6).
+        nonMeta notNil ifTrue:[
+            ^ nonMeta theMetaclass
+        ].
     ].
     ^ nil
 
@@ -3294,7 +3296,7 @@
 methodProtocolCompletion:aPartialProtocolName
     "given a partial method protocol name, return an array consisting of
      2 entries: 1st: the best (longest) match
-		2nd: collection consisting of matching protocols"
+                2nd: collection consisting of matching protocols"
 
     ^ DoWhatIMeanSupport methodProtocolCompletion:aPartialProtocolName inEnvironment:self
 
@@ -3323,10 +3325,10 @@
     "redefined, since the references are only kept in the VM's symbol table"
 
     self keysAndValuesDo:[:key :val |
-	aCollection do:[:anObject |
-	    (key == anObject) ifTrue:[^ true].
-	    (val == anObject ) ifTrue:[^ true].
-	]
+        aCollection do:[:anObject |
+            (key == anObject) ifTrue:[^ true].
+            (val == anObject ) ifTrue:[^ true].
+        ]
     ].
     ^ super referencesAny:aCollection
 
@@ -3337,8 +3339,8 @@
     "redefined, since the references are only kept in the VM's symbol table"
 
     self keysAndValuesDo:[:key :val |
-	(key isKindOf:aClass) ifTrue:[^ true].
-	(val isKindOf:aClass) ifTrue:[^ true].
+        (key isKindOf:aClass) ifTrue:[^ true].
+        (val isKindOf:aClass) ifTrue:[^ true].
     ].
     ^ super referencesDerivedInstanceOf:aClass
 !
@@ -3347,8 +3349,8 @@
     "redefined, since the references are only kept in the VM's symbol table"
 
     self keysAndValuesDo:[:key :val |
-	(key isMemberOf:aClass) ifTrue:[^ true].
-	(val isMemberOf:aClass) ifTrue:[^ true].
+        (key isMemberOf:aClass) ifTrue:[^ true].
+        (val isMemberOf:aClass) ifTrue:[^ true].
     ].
     ^ super referencesInstanceOf:aClass
 !
@@ -3357,8 +3359,8 @@
     "redefined, since the references are only kept in the VM's symbol table"
 
     self keysAndValuesDo:[:key :val |
-	(key == anObject) ifTrue:[^ true].
-	(val == anObject ) ifTrue:[^ true].
+        (key == anObject) ifTrue:[^ true].
+        (val == anObject ) ifTrue:[^ true].
     ].
     ^ super referencesObject:anObject
 
@@ -3380,8 +3382,8 @@
     nameUsed := aName.
 
     (nameUsed startsWith:'Smalltalk::') ifTrue:[
-	nameUsed := nameUsed copyFrom:12.
-	^ self at:(nameUsed asSymbol) ifAbsent:nil.
+        nameUsed := nameUsed copyFrom:12.
+        ^ self at:(nameUsed asSymbol) ifAbsent:nil.
     ].
 
     sym := nameUsed asSymbol.
@@ -3391,12 +3393,12 @@
 
     ns := aClass nameSpace.
     (ns notNil and:[ns ~~ Smalltalk]) ifTrue:[
-	ns isNameSpace ifTrue:[
-	    cls := ns at:sym ifAbsent:nil.
-	] ifFalse:[
-	    cls := ns privateClassesAt:sym
-	].
-	cls notNil ifTrue:[^ cls].
+        ns isNameSpace ifTrue:[
+            cls := ns at:sym ifAbsent:nil.
+        ] ifFalse:[
+            cls := ns privateClassesAt:sym
+        ].
+        cls notNil ifTrue:[^ cls].
     ].
     ^ self at:sym ifAbsent:nil.
 
@@ -3406,7 +3408,7 @@
 selectorCompletion:aPartialSymbolName
     "given a partial selector, return an array consisting of
      2 entries: 1st: the longest match
-		2nd: collection consisting of matching implemented selectors"
+                2nd: collection consisting of matching implemented selectors"
 
     ^ DoWhatIMeanSupport selectorCompletion:aPartialSymbolName inEnvironment:self
 !
@@ -3414,7 +3416,7 @@
 selectorCompletion:aPartialSymbolName inEnvironment:anEnvironment
     "given a partial selector, return an array consisting of
      2 entries: 1st: the longest match
-		2nd: collection consisting of matching implemented selectors"
+                2nd: collection consisting of matching implemented selectors"
 
     ^ DoWhatIMeanSupport selectorCompletion:aPartialSymbolName inEnvironment:anEnvironment
 
@@ -3579,10 +3581,10 @@
 
     idx := CommandLineArguments indexOf:'--browserParameters:'.
     idx ~~ 0 ifTrue:[
-	params := Dictionary new.
-	(CommandLineArguments copyFrom:idx+1) pairWiseDo:[:key :value |
-	    params at:key put:value.
-	].
+        params := Dictionary new.
+        (CommandLineArguments copyFrom:idx+1) pairWiseDo:[:key :value |
+            params at:key put:value.
+        ].
     ].
 
     'browserWindow is: ' errorPrint. windowID errorPrintCR.
@@ -3590,9 +3592,9 @@
     'Display is: ' errorPrint. Display errorPrintCR.
 
     process := [
-	PluginSupport
-	    startInBrowserWithWindowID:windowID
-	    parameters:params.
+        PluginSupport
+            startInBrowserWithWindowID:windowID
+            parameters:params.
     ] newProcess.
     process priority:(Processor userSchedulingPriority).
     process name:'browser start handler'.
@@ -3617,18 +3619,18 @@
 
     startBlocks := self startBlocks.
     startBlocks notNil ifTrue:[
-	'Smalltalk [info]: execute startBlocks...' infoPrintCR.
-	startBlocks do:[:aBlock|
-	    Error handle:[:ex |
-		InfoPrinting == true ifTrue:[
-		    'Smalltalk [warning]: error caught in startBlock: ' infoPrint.
-		    ex description infoPrintCR.
-		    ex infoPrintCR.
-		    thisContext fullPrintAll.
-		].
-	    ] do: aBlock
-	].
-	startBlocks removeAll.
+        'Smalltalk [info]: execute startBlocks...' infoPrintCR.
+        startBlocks do:[:aBlock|
+            Error handle:[:ex |
+                InfoPrinting == true ifTrue:[
+                    'Smalltalk [warning]: error caught in startBlock: ' infoPrint.
+                    ex description infoPrintCR.
+                    ex infoPrintCR.
+                    thisContext fullPrintAll.
+                ].
+            ] do: aBlock
+        ].
+        startBlocks removeAll.
     ].
 
     "Created: / 07-01-2012 / 12:58:39 / cg"
@@ -3654,43 +3656,43 @@
     thisIsARestart := imageName notNil.
 
     graphicalMode ifTrue:[
-	Display isNil ifTrue:[
-	    (StartupClass notNil
-	    and:[ (StartupClass perform:#isHeadless ifNotUnderstood:false) ]) ifFalse:[
-		self openDisplay.
-	    ].
-	].
+        Display isNil ifTrue:[
+            (StartupClass notNil
+            and:[ (StartupClass perform:#isHeadless ifNotUnderstood:false) ]) ifFalse:[
+                self openDisplay.
+            ].
+        ].
     ].
 
     StandAlone ifFalse:[
-	"
-	 enable the graphical debugger/inspector
-	 (they could have been (re)defined as autoloaded in the patches file)
-	"
-	self initStandardTools.
+        "
+         enable the graphical debugger/inspector
+         (they could have been (re)defined as autoloaded in the patches file)
+        "
+        self initStandardTools.
     ].
 
     "
      if there is a display, start its event dispatcher
     "
     Display notNil ifTrue:[
-	Display deviceIOTimeoutErrorSignal handlerBlock:[:ex |
-	    SaveEmergencyImage == true ifTrue:[
-		'Display [warning]: broken display connection - emergency save in ''crash.img''.' infoPrintCR.
-		ObjectMemory primSnapShotOn:'crash.img'.
-	    ].
-	    'Display [warning]: broken display connection - exit.' infoPrintCR.
-	    self exit:11.
-	].
-	Display startDispatch.
+        Display deviceIOTimeoutErrorSignal handlerBlock:[:ex |
+            SaveEmergencyImage == true ifTrue:[
+                'Display [warning]: broken display connection - emergency save in ''crash.img''.' infoPrintCR.
+                ObjectMemory primSnapShotOn:'crash.img'.
+            ].
+            'Display [warning]: broken display connection - exit.' infoPrintCR.
+            self exit:11.
+        ].
+        Display startDispatch.
     ].
 
     idx := CommandLineArguments indexOf:'--browserWindow:'.
     IsPlugin := (idx ~~ 0).
     IsPlugin ifTrue:[
-	'Smalltalk [info]: startup browser window...' infoPrintCR.
-	self browserWindowStartup.
-	"/ not reached
+        'Smalltalk [info]: startup browser window...' infoPrintCR.
+        self browserWindowStartup.
+        "/ not reached
     ].
 
     Initializing := false.
@@ -3701,49 +3703,49 @@
     "/ Therefore, it is now done by an extra user-process.
 
     process := [
-	'Smalltalk [info]: startup process 1 active.' infoPrintCR.
-	StartBlocks notNil ifTrue:[
-	    self executeStartBlocks.
-	    StartBlocks := nil.
-	].
-	ImageStartBlocks notNil ifTrue:[
-	    'Smalltalk [info]: execute imageStartBlocks...' infoPrintCR.
-	    ImageStartBlocks do:[:aBlock|
-		aBlock value
-	    ].
-	].
-	StandAlone ifFalse:[
-	    (SilentLoading == true) ifFalse:[   "i.e. undefined counts as false"
-		thisIsARestart ifTrue:[
-		    Transcript cr.
-		    Transcript showCR:('Smalltalk restarted from:'
-					, imageName
-					, ' (saved '
-					, ObjectMemory imageSaveTime printString
-					, ')' ).
-		] ifFalse:[
-		    Transcript showCR:(self hello).
-		    Transcript showCR:(self copyrightString).
-		].
-		Transcript cr.
-	    ].
-
-	    DemoMode==true ifTrue:[
-		Transcript showCR:'*** Restricted use:                              ***'.
-		Transcript showCR:'*** This program may be used for education only. ***'.
-		Transcript showCR:'*** Please read the files COPYRIGHT and LICENSE  ***'.
-		Transcript showCR:'*** for more details.                            ***'.
-		Transcript cr.
-	    ].
-	].
-
-	thisIsARestart ifTrue:[
-	    "/
-	    "/ the final late notification - users can now assume that
-	    "/ views, forms etc. have been recreated.
-
-	    ObjectMemory changed:#returnFromSnapshot.
-	]
+        'Smalltalk [info]: startup process 1 active.' infoPrintCR.
+        StartBlocks notNil ifTrue:[
+            self executeStartBlocks.
+            StartBlocks := nil.
+        ].
+        ImageStartBlocks notNil ifTrue:[
+            'Smalltalk [info]: execute imageStartBlocks...' infoPrintCR.
+            ImageStartBlocks do:[:aBlock|
+                aBlock value
+            ].
+        ].
+        StandAlone ifFalse:[
+            (SilentLoading == true) ifFalse:[   "i.e. undefined counts as false"
+                thisIsARestart ifTrue:[
+                    Transcript cr.
+                    Transcript showCR:('Smalltalk restarted from:'
+                                        , imageName
+                                        , ' (saved '
+                                        , ObjectMemory imageSaveTime printString
+                                        , ')' ).
+                ] ifFalse:[
+                    Transcript showCR:(self hello).
+                    Transcript showCR:(self copyrightString).
+                ].
+                Transcript cr.
+            ].
+
+            DemoMode==true ifTrue:[
+                Transcript showCR:'*** Restricted use:                              ***'.
+                Transcript showCR:'*** This program may be used for education only. ***'.
+                Transcript showCR:'*** Please read the files COPYRIGHT and LICENSE  ***'.
+                Transcript showCR:'*** for more details.                            ***'.
+                Transcript cr.
+            ].
+        ].
+
+        thisIsARestart ifTrue:[
+            "/
+            "/ the final late notification - users can now assume that
+            "/ views, forms etc. have been recreated.
+
+            ObjectMemory changed:#returnFromSnapshot.
+        ]
 
     ] newProcess.
 
@@ -3760,67 +3762,67 @@
     "/ message.
 
     (StartupClass notNil and:[StartupSelector notNil]) ifTrue:[
-	"
-	 allow more customization by reading an image specific rc-file
-	"
-	thisIsARestart ifTrue:[
-	    (imageName asFilename hasSuffix:'img') ifTrue:[
-		imageName := imageName copyButLast:4
-	    ].
-	    self fileIn:(imageName , '.rc')
-	].
+        "
+         allow more customization by reading an image specific rc-file
+        "
+        thisIsARestart ifTrue:[
+            (imageName asFilename hasSuffix:'img') ifTrue:[
+                imageName := imageName copyButLast:4
+            ].
+            self fileIn:(imageName , '.rc')
+        ].
 
 "/        Display notNil ifTrue:[
 "/            Display exitOnLastClose:true.
 "/        ].
 "/        Processor exitWhenNoMoreUserProcesses:true.
 
-	process := [
-	    'Smalltalk [info]: startup process 2 active.' infoPrintCR.
-	    StandAlone ifTrue:[
-		AbortOperationRequest handle:[:ex |
-		    'Smalltalk [info]: aborted - exit.' infoPrintCR.
-		    OperatingSystem exit:1
-		] do:[
-		    ('Smalltalk [info]: call ',StartupSelector,' of ',StartupClass name,' (1)') infoPrintCR.
-		    StartupClass perform:StartupSelector withArguments:StartupArguments.
-		]
-	    ] ifFalse:[
-		('Smalltalk [info]: call ',StartupSelector,' of ',StartupClass name,' (2)') infoPrintCR.
-		StartupClass perform:StartupSelector withArguments:StartupArguments.
-	    ].
-
-	    "/
-	    "/ non-GUI apps exit after the startup;
-	    "/ assume that GUI apps have created & opened some view ...
-	    "/
-	    Display isNil ifTrue:[
-		'Smalltalk [info]: no Display - exit.' infoPrintCR.
-		Smalltalk exit:11.
-	    ].
+        process := [
+            'Smalltalk [info]: startup process 2 active.' infoPrintCR.
+            StandAlone ifTrue:[
+                AbortOperationRequest handle:[:ex |
+                    'Smalltalk [info]: aborted - exit.' infoPrintCR.
+                    OperatingSystem exit:1
+                ] do:[
+                    ('Smalltalk [info]: call ',StartupSelector,' of ',StartupClass name,' (1)') infoPrintCR.
+                    StartupClass perform:StartupSelector withArguments:StartupArguments.
+                ]
+            ] ifFalse:[
+                ('Smalltalk [info]: call ',StartupSelector,' of ',StartupClass name,' (2)') infoPrintCR.
+                StartupClass perform:StartupSelector withArguments:StartupArguments.
+            ].
+
+            "/
+            "/ non-GUI apps exit after the startup;
+            "/ assume that GUI apps have created & opened some view ...
+            "/
+            Display isNil ifTrue:[
+                'Smalltalk [info]: no Display - exit.' infoPrintCR.
+                Smalltalk exit:11.
+            ].
 "/            "/
 "/            "/ GUI apps exit after the last user process has finished
 "/            "/
 "/            Display exitOnLastClose:true.
 "/            Processor exitWhenNoMoreUserProcesses:true.
-	] newProcess.
-	process priority:(Processor userSchedulingPriority).
-	process name:'main'.
-	process beGroupLeader.
-	process resume.
-	process := nil.    "do not refer to process"
+        ] newProcess.
+        process priority:(Processor userSchedulingPriority).
+        process name:'main'.
+        process beGroupLeader.
+        process resume.
+        process := nil.    "do not refer to process"
     ].
 
     StandAlone ifTrue:[
-	Display notNil ifTrue:[
-	    FlyByHelp notNil ifTrue:[
-		FlyByHelp start
-	    ].
-	].
+        Display notNil ifTrue:[
+            FlyByHelp notNil ifTrue:[
+                FlyByHelp start
+            ].
+        ].
     ].
 
     Display notNil ifTrue:[
-	Display exitOnLastClose:true.
+        Display exitOnLastClose:true.
     ].
     "
      if view-classes exist, start dispatching;
@@ -3830,14 +3832,14 @@
      or:[process notNil
      or:[HeadlessOperation
      or:[StandAlone]]]) ifTrue:[
-	Processor exitWhenNoMoreUserProcesses:true.
-	Processor dispatchLoop.
-	"done - the last process finished"
-	'Smalltalk [info]: last process finished - exit.' infoPrintCR.
+        Processor exitWhenNoMoreUserProcesses:true.
+        Processor dispatchLoop.
+        "done - the last process finished"
+        'Smalltalk [info]: last process finished - exit.' infoPrintCR.
     ] ifFalse:[
-	StandAlone ifFalse:[
-	    self readEvalPrint
-	]
+        StandAlone ifFalse:[
+            self readEvalPrint
+        ]
     ].
 
     self exit
@@ -3857,27 +3859,27 @@
     (commandName, ' [info]: opening display...') infoPrintCR.
 
     Display isNil ifTrue:[
-	Screen notNil ifTrue:[
-	    [
-		Screen openDefaultDisplay:nil.
-	    ] on:Screen deviceOpenErrorSignal do:[:ex|
-		('%1 [error]: No display connection to: %2' bindWith:commandName with:ex parameter) errorPrintCR.
-		(commandName, ' [info]: Either set the DISPLAY environment variable,') infoPrintCR.
-		(commandName, ' [info]: or start smalltalk with a -display argument.') infoPrintCR.
-		HeadlessOperation == true ifFalse:[
-		    OperatingSystem exit:1.
-		].
-	    ].
-
-	    Display notNil ifTrue:[
-		(self secureFileIn:'display.rc') ifFalse:[
-		    "/ 'Smalltalk [warning]: no display.rc found; screen setting might be wrong.' errorPrintCR.
-		    (self secureFileIn:'keyboard.rc') ifFalse:[
-			"/ 'Smalltalk [warning]: no keyboard.rc found; shortkey setting might be wrong.' errorPrintCR.
-		    ]
-		]
-	    ].
-	]
+        Screen notNil ifTrue:[
+            [
+                Screen openDefaultDisplay:nil.
+            ] on:Screen deviceOpenErrorSignal do:[:ex|
+                ('%1 [error]: No display connection to: %2' bindWith:commandName with:ex parameter) errorPrintCR.
+                (commandName, ' [info]: Either set the DISPLAY environment variable,') infoPrintCR.
+                (commandName, ' [info]: or start smalltalk with a -display argument.') infoPrintCR.
+                HeadlessOperation == true ifFalse:[
+                    OperatingSystem exit:1.
+                ].
+            ].
+
+            Display notNil ifTrue:[
+                (self secureFileIn:'display.rc') ifFalse:[
+                    "/ 'Smalltalk [warning]: no display.rc found; screen setting might be wrong.' errorPrintCR.
+                    (self secureFileIn:'keyboard.rc') ifFalse:[
+                        "/ 'Smalltalk [warning]: no keyboard.rc found; shortkey setting might be wrong.' errorPrintCR.
+                    ]
+                ]
+            ].
+        ]
     ]
 
     "Created: / 06-12-2006 / 15:38:17 / cg"
@@ -3892,10 +3894,10 @@
     Transcript showCR:'Read-eval-print loop; exit with "#exit"; help with "?"'.
 
     ReadEvalPrintLoop new
-	prompt:'ST> ';
-	doChunkFormat:false;
-	error:Stderr;
-	readEvalPrintLoop
+        prompt:'ST> ';
+        doChunkFormat:false;
+        error:Stderr;
+        readEvalPrintLoop
 
     "Modified: / 07-12-2006 / 17:35:19 / cg"
 !
@@ -4114,11 +4116,11 @@
     int clr = 0;
 
     if (__isStringLike(aMessageStringOrNil)) {
-	msg = __stringVal(aMessageStringOrNil);
+        msg = __stringVal(aMessageStringOrNil);
     }
     if (__isSmallInteger(rgbValueOrNil)) {
-	clr = __intVal(rgbValueOrNil);
-	__win32_splashMessageColor(clr);
+        clr = __intVal(rgbValueOrNil);
+        __win32_splashMessageColor(clr);
     }
     __win32_splashMessage(msg);
 #endif
@@ -4487,15 +4489,15 @@
     |p|
 
     p :=
-	[
-	    self executeStartBlocks.
-	] newProcess.
+        [
+            self executeStartBlocks.
+        ] newProcess.
 
     p
-	priority:(Processor userSchedulingPriority);
-	name:'start block handler';
-	beGroupLeader;
-	resume.
+        priority:(Processor userSchedulingPriority);
+        name:'start block handler';
+        beGroupLeader;
+        resume.
 
     "Modified: / 07-01-2012 / 12:59:01 / cg"
 ! !
@@ -4513,9 +4515,9 @@
      #aboutToQuit."
 
     ExitBlocks isNil ifTrue:[
-	ExitBlocks := OrderedCollection with:aBlock
+        ExitBlocks := OrderedCollection with:aBlock
     ] ifFalse:[
-	ExitBlocks add:aBlock
+        ExitBlocks add:aBlock
     ]
 !
 
@@ -4527,9 +4529,9 @@
      These blocks will be executed after an image restart."
 
     ImageStartBlocks isNil ifTrue:[
-	ImageStartBlocks := OrderedCollection with:aBlock
+        ImageStartBlocks := OrderedCollection with:aBlock
     ] ifFalse:[
-	ImageStartBlocks add:aBlock
+        ImageStartBlocks add:aBlock
     ]
 
     "Created: 9.9.1996 / 16:48:20 / stefan"
@@ -4551,13 +4553,13 @@
 
     "/ to protect against "mis-users" of this mehtod...
     Initializing ifFalse:[
-	aBlock value
+        aBlock value
     ] ifTrue:[
-	StartBlocks isNil ifTrue:[
-	    StartBlocks := OrderedCollection with:aBlock
-	] ifFalse:[
-	    StartBlocks add:aBlock
-	]
+        StartBlocks isNil ifTrue:[
+            StartBlocks := OrderedCollection with:aBlock
+        ] ifFalse:[
+            StartBlocks add:aBlock
+        ]
     ].
 
     "Created: / 09-09-1996 / 16:46:53 / stefan"
@@ -4585,9 +4587,9 @@
     ObjectMemory changed:#aboutToExit.  "/ for ST/X backward compatibility
     ObjectMemory changed:#aboutToQuit.  "/ for ST-80 compatibility
     ExitBlocks notNil ifTrue:[
-	ExitBlocks do:[:aBlock |
-	    aBlock value
-	]
+        ExitBlocks do:[:aBlock |
+            aBlock value
+        ]
     ].
     OperatingSystem exit:statusInteger
     "not reached"
@@ -4620,7 +4622,7 @@
     args := self commandLineArguments.
     index := args indexOf:aString.
     (index between:1 and:(args size - 1)) ifTrue:[
-	^ args at:index+1
+        ^ args at:index+1
     ].
     ^ nil.
 
@@ -4961,26 +4963,26 @@
     table := IdentityDictionary new:100.
 
     Method allSubInstancesDo:[:aMethod |
-	source := nil.
-	aMethod sourcePosition notNil ifTrue:[
-	    aMethod sourceFilename = 'st.src' ifTrue:[
-		source := aMethod source.
-	    ]
-	] ifFalse:[
-	    source := aMethod source
-	].
-
-	source notNil ifTrue:[
-	    pos := newStream position + 1.
-	    newStream nextChunkPut:source.
-
-	    "
-	     dont change the methods info - maybe some write error
-	     occurs later, in that case we abort and leave everything
-	     untouched.
-	    "
-	    table at:aMethod put:pos
-	]
+        source := nil.
+        aMethod sourcePosition notNil ifTrue:[
+            aMethod sourceFilename = 'st.src' ifTrue:[
+                source := aMethod source.
+            ]
+        ] ifFalse:[
+            source := aMethod source
+        ].
+
+        source notNil ifTrue:[
+            pos := newStream position + 1.
+            newStream nextChunkPut:source.
+
+            "
+             dont change the methods info - maybe some write error
+             occurs later, in that case we abort and leave everything
+             untouched.
+            "
+            table at:aMethod put:pos
+        ]
     ].
 
     newStream syncData; close.
@@ -4995,7 +4997,7 @@
      source reference"
 
     table keysAndValuesDo:[:aMethod :pos |
-	aMethod localSourceFilename:fileName position:pos.
+        aMethod localSourceFilename:fileName position:pos.
 "/        aMethod printCR.
     ].
 
@@ -5023,18 +5025,18 @@
     table := IdentityDictionary new:100.
 
     Method allSubInstancesDo:[:aMethod |
-	source := aMethod source.
-	source notNil ifTrue:[
-	    pos := newStream position + 1.
-	    newStream nextChunkPut:source.
-
-	    "
-	     dont change the methods info - maybe some write error
-	     occurs later, in that case we abort and leave everything
-	     untouched.
-	    "
-	    table at:aMethod put:pos
-	]
+        source := aMethod source.
+        source notNil ifTrue:[
+            pos := newStream position + 1.
+            newStream nextChunkPut:source.
+
+            "
+             dont change the methods info - maybe some write error
+             occurs later, in that case we abort and leave everything
+             untouched.
+            "
+            table at:aMethod put:pos
+        ]
     ].
 
     newStream syncData; close.
@@ -5049,7 +5051,7 @@
      source reference"
 
     table keysAndValuesDo:[:aMethod :pos |
-	aMethod localSourceFilename:fileName position:pos.
+        aMethod localSourceFilename:fileName position:pos.
 "/        aMethod printCR.
     ].
 
@@ -5071,18 +5073,18 @@
     filename := aFilename asFilename.
 
     ChangeSet::InvalidChangeChunkError handle:[:ex |
-	^ self
+        ^ self
     ] do:[
-	filename readingFileDo:[:s|
-	    chunks := ChangeSet fromStream:s while:[:chunk | chunk isMethodChange not].
-	].
+        filename readingFileDo:[:s|
+            chunks := ChangeSet fromStream:s while:[:chunk | chunk isMethodChange not].
+        ].
     ].
 
     chunks
-	select:[:eachChunk | eachChunk isClassDefinitionChange]
-	thenDo:[:eachClassChunk |
-		eachClassChunk installAsAutoloadedClassIfPublicWithFilename:filename asAbsoluteFilename "withoutSuffix" name "baseName"
-	].
+        select:[:eachChunk | eachChunk isClassDefinitionChange]
+        thenDo:[:eachClassChunk |
+                eachClassChunk installAsAutoloadedClassIfPublicWithFilename:filename asAbsoluteFilename "withoutSuffix" name "baseName"
+        ].
 
     "Created: / 01-08-2013 / 16:57:26 / cg"
 !
@@ -5094,11 +5096,11 @@
      (otherwise, the newest revision will be loaded"
 
     ^ self
-	installAutoloadedClassNamed:clsName
-	category:cat
-	package:package
-	revision:revisionOrNil
-	numClassInstVars:nil.
+        installAutoloadedClassNamed:clsName
+        category:cat
+        package:package
+        revision:revisionOrNil
+        numClassInstVars:nil.
 !
 
 installAutoloadedClassNamed:clsName category:cat package:package revision:revisionOrNil numClassInstVars:numClassInstVarsOrNil
@@ -5113,36 +5115,36 @@
 
     "/ install if not already compiled-in
     (cls := self at:clsSym) isNil ifTrue:[
-	Autoload subclass:clsSym
-	    instanceVariableNames:''
-	    classVariableNames:''
-	    poolDictionaries:''
-	    category:cat
-	    inEnvironment:Smalltalk.
-
-	cls := self at:clsSym.
-	cls isNil ifTrue:[
-	    ('Smalltalk [warning]: failed to install ' , clsName , ' as autoloaded.') infoPrintCR.
-	] ifFalse:[
-	    cls package:package asSymbol.
-	    revisionOrNil notNil ifTrue:[
-		cls setBinaryRevision:revisionOrNil
-	    ]
-	]
+        Autoload subclass:clsSym
+            instanceVariableNames:''
+            classVariableNames:''
+            poolDictionaries:''
+            category:cat
+            inEnvironment:Smalltalk.
+
+        cls := self at:clsSym.
+        cls isNil ifTrue:[
+            ('Smalltalk [warning]: failed to install ' , clsName , ' as autoloaded.') infoPrintCR.
+        ] ifFalse:[
+            cls package:package asSymbol.
+            revisionOrNil notNil ifTrue:[
+                cls setBinaryRevision:revisionOrNil
+            ]
+        ]
     ] ifFalse:[
-	"/ class already present - however, if unloaded, check for category/package change
-	cls isLoaded ifFalse:[
-	    package ~= cls package ifTrue:[
-		cls withoutUpdatingChangesDo:[
-		    cls package:package asSymbol.
-		].
-	    ].
-	    cat ~= cls category ifTrue:[
-		cls withoutUpdatingChangesDo:[
-		    cls category:cat.
-		].
-	    ].
-	].
+        "/ class already present - however, if unloaded, check for category/package change
+        cls isLoaded ifFalse:[
+            package ~= cls package ifTrue:[
+                cls withoutUpdatingChangesDo:[
+                    cls package:package asSymbol.
+                ].
+            ].
+            cat ~= cls category ifTrue:[
+                cls withoutUpdatingChangesDo:[
+                    cls category:cat.
+                ].
+            ].
+        ].
     ].
     ^ cls.
 
@@ -5158,21 +5160,21 @@
     |dirsConsulted|
 
     LoadInProgressQuery answerNotifyLoadingDo:[
-	dirsConsulted := Set new.
-
-	"/ along the package-path
-	self packagePath do:[:eachPathComponent |
-	    (dirsConsulted includes:eachPathComponent) ifFalse:[
-		self
-		    recursiveInstallAutoloadedClassesFrom:eachPathComponent
-		    rememberIn:dirsConsulted
-		    maxLevels:15
-		    noAutoload:false
-		    packageTop:eachPathComponent
-		    showSplashInLevels:2.
-	    ]
-	].
-	self splashInfo:nil.
+        dirsConsulted := Set new.
+
+        "/ along the package-path
+        self packagePath do:[:eachPathComponent |
+            (dirsConsulted includes:eachPathComponent) ifFalse:[
+                self
+                    recursiveInstallAutoloadedClassesFrom:eachPathComponent
+                    rememberIn:dirsConsulted
+                    maxLevels:15
+                    noAutoload:false
+                    packageTop:eachPathComponent
+                    showSplashInLevels:2.
+            ]
+        ].
+        self splashInfo:nil.
     ].
 
     "
@@ -5193,16 +5195,16 @@
     f isNil ifTrue:[f := self getPackageFileName:anAbbrevFilePath].
 
     f notNil ifTrue:[
-	f := f asFilename.
-	f isDirectory ifTrue:[
-	    f := f construct:'abbrev.stc'
-	].
-	[
-	    s := f readStream.
-	    self installAutoloadedClassesFromStream:s.
-	    s close.
-	] on:FileStream openErrorSignal
-	do:[:ex| "do nothing"].
+        f := f asFilename.
+        f isDirectory ifTrue:[
+            f := f construct:'abbrev.stc'
+        ].
+        [
+            s := f readStream.
+            self installAutoloadedClassesFromStream:s.
+            s close.
+        ] on:FileStream openErrorSignal
+        do:[:ex| "do nothing"].
     ]
 
     "
@@ -5214,7 +5216,7 @@
 
 installAutoloadedClassesFromAbbrevFile:aFilename
     aFilename readingFileDo:[:abbrevStream |
-	self installAutoloadedClassesFromStream:abbrevStream.
+        self installAutoloadedClassesFromStream:abbrevStream.
     ]
 
     "Created: / 29-07-2011 / 20:39:21 / cg"
@@ -5229,71 +5231,71 @@
     |s2 l abbrevFileName info clsName cls abbrev package cat numClassInstVars words w|
 
     anAbbrevFileStream isFileStream ifTrue:[
-	abbrevFileName := anAbbrevFileStream pathName.
-	info := 'declared from: ', abbrevFileName.
+        abbrevFileName := anAbbrevFileStream pathName.
+        info := 'declared from: ', abbrevFileName.
     ].
 
     "/ yes, create any required nameSpace, without asking user.
     Class createNameSpaceQuerySignal answer:true do:[
 
-	[anAbbrevFileStream atEnd] whileFalse:[
-	    l := anAbbrevFileStream nextLine withoutSeparators.
-	    "Skip empty lines and comments"
-	    (l notEmpty and:[l first ~= $#]) ifTrue:[
-		"/ must do it manually, caring for quoted strings.
+        [anAbbrevFileStream atEnd] whileFalse:[
+            l := anAbbrevFileStream nextLine withoutSeparators.
+            "Skip empty lines and comments"
+            (l notEmpty and:[l first ~= $#]) ifTrue:[
+                "/ must do it manually, caring for quoted strings.
 "/                words := line asCollectionOfWords.
 
-		words := OrderedCollection new.
-		s2 := l readStream.
-		[s2 atEnd] whileFalse:[
-		    s2 skipSeparators.
-		    s2 peek == $' ifTrue:[
-			s2 next.
-			w := s2 upTo:$'.
-			s2 skipSeparators.
-		    ] ifFalse:[
-			w := s2 upToSeparator
-		    ].
-		    words add:w
-		].
-		words size < 3 ifTrue:[
-		    'Smalltalk [warning]: bad abbrev entry' errorPrint.
-		    anAbbrevFileStream isFileStream ifTrue:[
-			' (in ''' errorPrint.
-			anAbbrevFileStream pathName errorPrint.
-			''')' errorPrint
-		    ].
-		    ': ' errorPrint. l errorPrintCR
-		] ifFalse:[
-		    clsName := (words at:1) asSymbol.
-		    abbrev := (words at:2).
-		    package := (words at:3) asSymbol.
-		    cat := words at:4 ifAbsent:nil.
-		    numClassInstVars := words at:5 ifAbsent:'0'.
-		    numClassInstVars := Integer readFrom:numClassInstVars onError:[0].
-
-		    (cat size == 0) ifTrue:[
-			cat := 'autoloaded'
-		    ].
-
-		    "/ on the fly, update the abbreviations
-		    self setFilename:abbrev forClass:clsName package:package.
-
-		    "/ '  autoloaded: ' print. clsName print. ' in ' print. cat printCR.
-
-		    cls := self
-			installAutoloadedClassNamed:clsName
-			category:cat
-			package:package
-			revision:nil
-			numClassInstVars:numClassInstVars.
+                words := OrderedCollection new.
+                s2 := l readStream.
+                [s2 atEnd] whileFalse:[
+                    s2 skipSeparators.
+                    s2 peek == $' ifTrue:[
+                        s2 next.
+                        w := s2 upTo:$'.
+                        s2 skipSeparators.
+                    ] ifFalse:[
+                        w := s2 upToSeparator
+                    ].
+                    words add:w
+                ].
+                words size < 3 ifTrue:[
+                    'Smalltalk [warning]: bad abbrev entry' errorPrint.
+                    anAbbrevFileStream isFileStream ifTrue:[
+                        ' (in ''' errorPrint.
+                        anAbbrevFileStream pathName errorPrint.
+                        ''')' errorPrint
+                    ].
+                    ': ' errorPrint. l errorPrintCR
+                ] ifFalse:[
+                    clsName := (words at:1) asSymbol.
+                    abbrev := (words at:2).
+                    package := (words at:3) asSymbol.
+                    cat := words at:4 ifAbsent:nil.
+                    numClassInstVars := words at:5 ifAbsent:'0'.
+                    numClassInstVars := Integer readFrom:numClassInstVars onError:[0].
+
+                    (cat size == 0) ifTrue:[
+                        cat := 'autoloaded'
+                    ].
+
+                    "/ on the fly, update the abbreviations
+                    self setFilename:abbrev forClass:clsName package:package.
+
+                    "/ '  autoloaded: ' print. clsName print. ' in ' print. cat printCR.
+
+                    cls := self
+                        installAutoloadedClassNamed:clsName
+                        category:cat
+                        package:package
+                        revision:nil
+                        numClassInstVars:numClassInstVars.
 
 "/                    info notNil ifTrue:[
 "/                        cls setComment:info.
 "/                    ].
-		]
-	    ]
-	]
+                ]
+            ]
+        ]
     ]
 !
 
@@ -5310,11 +5312,11 @@
     "turn on/off loading of binary objects"
 
     aBoolean ifTrue:[
-	(ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]) ifTrue:[
-	    LoadBinaries := true.
-	    ^ self
-	].
-	'Smalltalk [info]: this system does not support binary loading' infoPrintCR.
+        (ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]) ifTrue:[
+            LoadBinaries := true.
+            ^ self
+        ].
+        'Smalltalk [info]: this system does not support binary loading' infoPrintCR.
     ].
     LoadBinaries := false
 
@@ -5355,14 +5357,14 @@
      Experimental and not yet used."
 
     Method allSubInstancesDo:[:aMethod |
-	|newMethod|
-
-	aMethod hasPrimitiveCode ifFalse:[
-	    newMethod := aMethod asByteCodeMethod.
-	    newMethod ~~ aMethod ifTrue:[
-		aMethod becomeSameAs:newMethod
-	    ]
-	].
+        |newMethod|
+
+        aMethod hasPrimitiveCode ifFalse:[
+            newMethod := aMethod asByteCodeMethod.
+            newMethod ~~ aMethod ifTrue:[
+                aMethod becomeSameAs:newMethod
+            ]
+        ].
     ].
 
     "
@@ -5382,12 +5384,12 @@
     dirsConsulted := Set new.
 
     self
-	recursiveInstallAutoloadedClassesFrom:aTopDirectory
-	rememberIn:dirsConsulted
-	maxLevels:15
-	noAutoload:false
-	packageTop:nil
-	showSplashInLevels:-1.
+        recursiveInstallAutoloadedClassesFrom:aTopDirectory
+        rememberIn:dirsConsulted
+        maxLevels:15
+        noAutoload:false
+        packageTop:nil
+        showSplashInLevels:-1.
 
 
     "
@@ -5407,9 +5409,9 @@
      If a file called NOPACKAGES is found, no further searching is done in that directory or below."
 
     self
-	recursiveInstallAutoloadedClassesFrom:aDirectory rememberIn:dirsConsulted
-	maxLevels:maxLevels noAutoload:noAutoloadIn packageTop:packageTopPath
-	showSplashInLevels:0.
+        recursiveInstallAutoloadedClassesFrom:aDirectory rememberIn:dirsConsulted
+        maxLevels:maxLevels noAutoload:noAutoloadIn packageTop:packageTopPath
+        showSplashInLevels:0.
 
     "
      Smalltalk installAutoloadedClasses
@@ -5439,36 +5441,36 @@
     dirName := dir physicalPathName.            "take care of symbolic links"
 
     (dirsConsulted includes:dirName) ifTrue:[
-	^ self
+        ^ self
     ].
 
     (dir / 'NOPACKAGES') exists ifTrue:[
-	^ self.
+        ^ self.
     ].
     (dir / 'NOSUBAUTOLOAD') exists ifTrue:[
-	^ self.
+        ^ self.
     ].
 
     maxLevels == 0 ifTrue:[
-	Transcript showCR:('Autoload: max directory nesting reached in %1' bindWith:dir pathName).
-	^ self
+        Transcript showCR:('Autoload: max directory nesting reached in %1' bindWith:dir pathName).
+        ^ self
     ].
 
     dirsConsulted add:dirName.
     noAutoloadHere := noAutoloadIn.
     noAutoloadHere ifFalse:[
-	(dir / 'NOAUTOLOAD') exists ifTrue:[
-	    noAutoloadHere := true.
-	].
+        (dir / 'NOAUTOLOAD') exists ifTrue:[
+            noAutoloadHere := true.
+        ].
     ] ifTrue:[
-	(dir / 'AUTOLOAD') exists ifTrue:[
-	    noAutoloadHere := false.
-	].
+        (dir / 'AUTOLOAD') exists ifTrue:[
+            noAutoloadHere := false.
+        ].
     ].
 
     showSplashInLevels >= 0 ifTrue:[
-	self showSplashMessage:('Smalltalk [info]: installing autoloaded classes found under "%1"...'
-				bindWith:(dirName contractAtBeginningTo:35)).
+        self showSplashMessage:('Smalltalk [info]: installing autoloaded classes found under "%1"...'
+                                bindWith:(dirName contractAtBeginningTo:35)).
     ].
 
     "/
@@ -5477,74 +5479,74 @@
     "/
     haveAbbrevDotSTC := false.
     noAutoloadHere ifFalse:[
-	[
-	    self installAutoloadedClassesFromAbbrevFile:(dir / 'abbrev.stc').
-	    haveAbbrevDotSTC := true.
-	] on:FileStream openErrorSignal
-	do:[:ex|
-	    "ignore this file"
-	].
+        [
+            self installAutoloadedClassesFromAbbrevFile:(dir / 'abbrev.stc').
+            haveAbbrevDotSTC := true.
+        ] on:FileStream openErrorSignal
+        do:[:ex|
+            "ignore this file"
+        ].
     ].
 
     [
-	directoryContents := dir directoryContents.
+        directoryContents := dir directoryContents.
     ] on:FileStream openErrorSignal do:[:ex|
-	"non-accessable directory: we are done"
-	^ self
+        "non-accessable directory: we are done"
+        ^ self
     ].
 
     directoryContents := directoryContents select:[:fn | (fn startsWith:'.') not] as:Set.
 
     directoryContents removeAllFoundIn:#(
-			    'objbc' 'objvc' 'objmingw'
-			    'doc'
-			    'CVS'
-			    'bitmaps'
-			    'resources'
-			    'source'
-			    'not_delivered'
-			    'not_ported'
-			).
+                            'objbc' 'objvc' 'objmingw'
+                            'doc'
+                            'CVS'
+                            'bitmaps'
+                            'resources'
+                            'source'
+                            'not_delivered'
+                            'not_ported'
+                        ).
     dir baseName = 'stx' ifTrue:[
-	directoryContents removeAllFoundIn:#(
-			    'configurations'
-			    'include'
-			    'rules'
-			    'stc'
-			    'support'
-			).
+        directoryContents removeAllFoundIn:#(
+                            'configurations'
+                            'include'
+                            'rules'
+                            'stc'
+                            'support'
+                        ).
     ].
 
     directoryContents do:[:eachFilenameString |
-	|f|
-
-	f := dir / eachFilenameString.
-	f isDirectory ifTrue:[
-	     self
-		recursiveInstallAutoloadedClassesFrom:f
-		rememberIn:dirsConsulted
-		maxLevels:maxLevels-1
-		noAutoload:noAutoloadHere
-		packageTop:packageTopPath
-		showSplashInLevels:showSplashInLevels - 1.
-	] ifFalse:[
-	    (noAutoloadHere not and:[haveAbbrevDotSTC not]) ifTrue:[
-		f suffix = 'st' ifTrue:[
-		    [
-			self installAutoloadedClassFromSourceFile:f.
-			f directory baseName = 'libbasic' ifTrue:[self halt].
-		    ] on:FileStream openErrorSignal do:[:ex|
-			"ignore this file, but write a warning"
-			Transcript showCR:('Autoload: cannot install %1. (%2)' bindWith:f pathName with:ex description).
-		    ].
-		]
-	    ].
-	]
+        |f|
+
+        f := dir / eachFilenameString.
+        f isDirectory ifTrue:[
+             self
+                recursiveInstallAutoloadedClassesFrom:f
+                rememberIn:dirsConsulted
+                maxLevels:maxLevels-1
+                noAutoload:noAutoloadHere
+                packageTop:packageTopPath
+                showSplashInLevels:showSplashInLevels - 1.
+        ] ifFalse:[
+            (noAutoloadHere not and:[haveAbbrevDotSTC not]) ifTrue:[
+                f suffix = 'st' ifTrue:[
+                    [
+                        self installAutoloadedClassFromSourceFile:f.
+                        f directory baseName = 'libbasic' ifTrue:[self halt].
+                    ] on:FileStream openErrorSignal do:[:ex|
+                        "ignore this file, but write a warning"
+                        Transcript showCR:('Autoload: cannot install %1. (%2)' bindWith:f pathName with:ex description).
+                    ].
+                ]
+            ].
+        ]
     ].
 
     showSplashInLevels >= 0 ifTrue:[
-	self showSplashMessage:('Smalltalk [info]: installing autoloaded classes from "%1"...'
-				bindWith:(dirName contractAtBeginningTo:35)).
+        self showSplashMessage:('Smalltalk [info]: installing autoloaded classes from "%1"...'
+                                bindWith:(dirName contractAtBeginningTo:35)).
     ].
 
     "
@@ -5563,15 +5565,15 @@
 
     toAdd := OrderedCollection new.
     self keysAndValuesDo:[:key :val |
-	(key == anObject) ifTrue:[
-	    self shouldImplement.
-	].
-	(val == anObject ) ifTrue:[
-	    toAdd add:(key -> newRef)
-	].
+        (key == anObject) ifTrue:[
+            self shouldImplement.
+        ].
+        (val == anObject ) ifTrue:[
+            toAdd add:(key -> newRef)
+        ].
     ].
     toAdd do:[:each |
-	self at:(each key) put:(each value)
+        self at:(each key) put:(each value)
     ].
 !
 
@@ -5613,10 +5615,10 @@
     "read in the named file - look for it in some standard places;
      return true if ok, false if failed.
      This method can load almost anything which makes sense:
-	.st    - source files
-	.cls   - binary smalltalk bytecode files
-	.so    - binary compiled machine code class libraries
-	[.class - java bytecode -- soon to come]"
+        .st    - source files
+        .cls   - binary smalltalk bytecode files
+        .so    - binary compiled machine code class libraries
+        [.class - java bytecode -- soon to come]"
 
     ^ self fileIn:aFileName lazy:nil silent:nil logged:false
 
@@ -5687,10 +5689,10 @@
      If silent is true, no compiler messages are output to the transcript.
      Giving nil for silent/lazy will use the current settings.
      This method can load almost anything which makes sense:
-	.st    - source files
-	.cls   - binary smalltalk bytecode files
-	.so    - binary compiled machine code class libraries
-	[.class - java bytecode -- soon to come]"
+        .st    - source files
+        .cls   - binary smalltalk bytecode files
+        .so    - binary compiled machine code class libraries
+        [.class - java bytecode -- soon to come]"
 
     |fileNameString inStream path morePath bos|
 
@@ -5701,39 +5703,39 @@
     "
     (ObjectFileLoader notNil
     and:[ObjectFileLoader hasValidBinaryExtension:fileNameString]) ifTrue:[
-	"/ LoadBinaries ifFalse:[^ false].
-	path := self getBinaryFileName:fileNameString.
-	path isNil ifTrue:[
-	    path := self getSystemFileName:fileNameString.
-	].
-	path isNil ifTrue:[^ false].
-	^ (ObjectFileLoader loadObjectFile:path) notNil
+        "/ LoadBinaries ifFalse:[^ false].
+        path := self getBinaryFileName:fileNameString.
+        path isNil ifTrue:[
+            path := self getSystemFileName:fileNameString.
+        ].
+        path isNil ifTrue:[^ false].
+        ^ (ObjectFileLoader loadObjectFile:path) notNil
     ].
 
     inStream := self systemFileStreamFor:fileNameString.
     inStream isNil ifTrue:[^ false].
 
     (fileNameString asFilename hasSuffix:'cls') ifTrue:[
-	BinaryObjectStorage notNil ifTrue:[
-	    [
-		inStream binary.
-		bos := BinaryObjectStorage onOld:inStream.
-		bos next.
-	    ] ensure:[
-		bos close.
-	    ].
-	    ^ true
-	].
-	^ false
+        BinaryObjectStorage notNil ifTrue:[
+            [
+                inStream binary.
+                bos := BinaryObjectStorage onOld:inStream.
+                bos next.
+            ] ensure:[
+                bos close.
+            ].
+            ^ true
+        ].
+        ^ false
     ].
 
     (fileNameString includes:$/) ifTrue:[
-	"/ temporarily prepend the file's directory
-	"/ to the searchPath.
-	"/ This allows fileIn-driver files to refer to local
-	"/ files via a relative path, and drivers to fileIn other
-	"/ drivers ...
-	morePath := inStream pathName asFilename directoryName.
+        "/ temporarily prepend the file's directory
+        "/ to the searchPath.
+        "/ This allows fileIn-driver files to refer to local
+        "/ files via a relative path, and drivers to fileIn other
+        "/ drivers ...
+        morePath := inStream pathName asFilename directoryName.
     ].
     ^ self fileInStream:inStream lazy:lazy silent:silent logged:logged addPath:morePath
 
@@ -5775,8 +5777,8 @@
     "read in the last changes file - bringing the system to the state it
      had when left the last time.
      WARNING: this method is rubbish: it should only read things after the
-	      last '**snapshot**' - entry
-	      (instead of the complete changes file)."
+              last '**snapshot**' - entry
+              (instead of the complete changes file)."
 
     "
      do NOT update the changes file now ...
@@ -5795,11 +5797,11 @@
      The file is first searched for using the class name, then the abbreviated name."
 
     ^ self
-	fileInClass:aClassName
-	package:nil
-	initialize:true
-	lazy:false
-	silent:nil
+        fileInClass:aClassName
+        package:nil
+        initialize:true
+        lazy:false
+        silent:nil
 
     "Modified: / 9.1.1998 / 14:41:46 / cg"
 !
@@ -5820,9 +5822,9 @@
     (path := self getBinaryFileName:aFileName) isNil ifTrue:[^ false].
     ok := (ObjectFileLoader loadClass:aClassName fromObjectFile:path) notNil.
     ok ifTrue:[
-	VerboseLoading ifTrue:[
-	    Transcript show:'  loaded ' , aClassName , ' from ' ; showCR:aFileName.
-	]
+        VerboseLoading ifTrue:[
+            Transcript show:'  loaded ' , aClassName , ' from ' ; showCR:aFileName.
+        ]
     ].
     ^ ok
 
@@ -5841,11 +5843,11 @@
      The file is first searched for using the class name, then the abbreviated name."
 
     ^ self
-	fileInClass:aClassName
-	package:nil
-	initialize:doInit
-	lazy:false
-	silent:nil
+        fileInClass:aClassName
+        package:nil
+        initialize:doInit
+        lazy:false
+        silent:nil
 
     "Modified: / 9.1.1998 / 14:42:02 / cg"
 !
@@ -5857,11 +5859,11 @@
      The file is first searched for using the class name, then the abbreviated name."
 
      ^ self
-	fileInClass:aClassName
-	package:nil
-	initialize:doInit
-	lazy:loadLazy
-	silent:nil
+        fileInClass:aClassName
+        package:nil
+        initialize:doInit
+        lazy:loadLazy
+        silent:nil
 
     "Modified: / 9.1.1998 / 14:42:19 / cg"
 !
@@ -5877,11 +5879,11 @@
      nil uses the value from SilentLoading."
 
     ^ self
-	fileInClass:aClassName
-	package:nil
-	initialize:doInit
-	lazy:loadLazy
-	silent:beSilent
+        fileInClass:aClassName
+        package:nil
+        initialize:doInit
+        lazy:loadLazy
+        silent:beSilent
 
     "Modified: / 9.1.1998 / 14:42:28 / cg"
 !
@@ -5893,11 +5895,11 @@
      The file is first searched for using the class name, then the abbreviated name."
 
     ^ self
-	fileInClass:aClassName
-	package:package
-	initialize:true
-	lazy:false
-	silent:nil
+        fileInClass:aClassName
+        package:package
+        initialize:true
+        lazy:false
+        silent:nil
 
     "Created: / 08-01-2007 / 10:06:09 / cg"
 !
@@ -5918,315 +5920,315 @@
 
     ClassLoadInProgressQuery answerNotifyLoading:aClassName do:[
 
-	wasLazy := Compiler compileLazy:loadLazy.
-	beSilent notNil ifTrue:[
-	    wasSilent := self silentLoading:beSilent.
-	].
-
-	classFileName := Smalltalk fileNameForClass:aClassName.
-	(classFileName = aClassName) ifTrue:[
-	    "/ no abbrev.stc translation for className
-	    (aClassName includes:$:) ifTrue:[
-		"/ a nameSpace name
-		alternativeClassFileName := classFileName copyFrom:(classFileName lastIndexOf:$:)+1
-	    ].
-	].
-
-	classFileName asFilename isAbsolute ifTrue:[
-	    classFileName asFilename suffix notEmptyOrNil ifTrue:[
-		ok := self fileIn:classFileName lazy:loadLazy silent:beSilent.
-	    ] ifFalse:[
-		ok := self fileInSourceFile:classFileName lazy:loadLazy silent:beSilent.
-	    ]
-	] ifFalse:[
-	    classFileName := classFileName copyReplaceAll:$: with:$_ ifNone:classFileName.
-	    [
-		Class withoutUpdatingChangesDo:[
-		    |zarFn zar entry|
-
-		    ok := false.
-
-		    package notNil ifTrue:[
-			packageDir := package asPackageId projectDirectory.
-			"/ packageDir := package asString.
-			"/ packageDir := packageDir copyReplaceAll:$: with:$/.
-			packageDir isNil ifTrue:[
-			    packageDir := self packageDirectoryForPackageId:package
-			].
-			packageDir notNil ifTrue:[
-			    packageDir := packageDir asFilename.
-			].
-		    ].
-
-		    Class packageQuerySignal answer:package do:[
-			"
-			 then, if dynamic linking is available,
-			"
-			(LoadBinaries and:[ObjectFileLoader notNil]) ifTrue:[
-			    sharedLibExtension := ObjectFileLoader sharedLibraryExtension.
-			    "
-			     first look for a class packages shared binary in binary/xxx.o
-			    "
-			    libName := self libraryFileNameOfClass:aClassName.
-			    libName notNil ifTrue:[
-				(ok := self fileInClass:aClassName fromObject:(libName, sharedLibExtension))
-				ifFalse:[
-				    sharedLibExtension ~= '.o' ifTrue:[
-					ok := self fileInClass:aClassName fromObject:(libName, '.o')
-				    ]
-				].
-			    ].
-			    "
-			     then, look for a shared binary in binary/xxx.o
-			    "
-			    ok ifFalse:[
-				(ok := self fileInClass:aClassName fromObject:(classFileName, sharedLibExtension))
-				ifFalse:[
-				    sharedLibExtension ~= '.o' ifTrue:[
-					ok := self fileInClass:aClassName fromObject:(classFileName, '.o')
-				    ].
-				    ok ifFalse:[
-					alternativeClassFileName notNil ifTrue:[
-					    (ok := self fileInClass:aClassName fromObject:(alternativeClassFileName, sharedLibExtension))
-					    ifFalse:[
-						sharedLibExtension ~= '.o' ifTrue:[
-						    ok := self fileInClass:aClassName fromObject:(alternativeClassFileName, '.o')
-						]
-					    ]
-					].
-				    ].
-				].
-			    ].
-			].
-
-			"
-			 if that did not work, look for a compiled-bytecode file ...
-			"
-			ok ifFalse:[
-			    (ok := self fileIn:(classFileName , '.cls') lazy:loadLazy silent:beSilent)
-			    ifFalse:[
-				alternativeClassFileName notNil ifTrue:[
-				    ok := self fileIn:(alternativeClassFileName , '.cls') lazy:loadLazy silent:beSilent
-				]
-			    ]
-			].
-			"
-			 if that did not work, and the classes package is known,
-			 look for an st-cls file
-			 in a package subdir of the source-directory ...
-			"
-			ok ifFalse:[
-			    (packageDir notNil and:[BinaryObjectStorage notNil]) ifTrue:[
-				packageFile := self getPackageFileName:((packageDir / 'classes' / classFileName) addSuffix:'cls').
-				packageFile isNil ifTrue:[
-				    packageFile := (packageDir / 'classes' / classFileName) addSuffix:'cls'.
-				].
-				(ok := self fileIn:packageFile lazy:loadLazy silent:beSilent)
-				ifFalse:[
-				    alternativeClassFileName notNil ifTrue:[
-					packageFile := self getPackageFileName:((packageDir / 'classes' / alternativeClassFileName) addSuffix:'cls').
-					packageFile isNil ifTrue:[
-					    packageFile := ((packageDir / 'classes' / alternativeClassFileName) addSuffix:'cls').
-					].
-					ok := self fileIn:packageFile lazy:loadLazy silent:beSilent
-				    ]
-				].
-
-				zarFn := self getPackageFileName:(packageDir / 'classes.zip').
-				zarFn notNil ifTrue:[
-				    zar := ZipArchive oldFileNamed:zarFn.
-				    zar notNil ifTrue:[
-					entry := zar extract:(classFileName , '.cls').
-					(entry isNil and:[alternativeClassFileName notNil]) ifTrue:[
-					    entry := zar extract:(alternativeClassFileName , '.cls').
-					].
-					entry notNil ifTrue:[
-					    bos := BinaryObjectStorage onOld:(entry asByteArray readStream).
-					    bos next.
-					    bos close.
-					    ok := true
-					].
-				    ]
-				]
-			    ]
-			].
-
-			"
-			 if that did not work, look for an st-source file ...
-			"
-			ok ifFalse:[
-			    filenameToSet := classFileName.
-			    (ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent)
-			    ifFalse:[
-				alternativeClassFileName notNil ifTrue:[
-				    filenameToSet := alternativeClassFileName.
-				    ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent
-				].
-				ok ifFalse:[
-				    "
-				     ... and in the standard source-directory
-				    "
-				    filenameToSet := 'source' asFilename / classFileName.
-				    (ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent)
-				    ifFalse:[
-					alternativeClassFileName notNil ifTrue:[
-					    filenameToSet := 'source' asFilename / alternativeClassFileName.
-					    ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent
-					]
-				    ]
-				]
-			    ].
-			    "
-			     if that did not work, and the classes package is known,
-			     look for an st-source file
-			     in a package subdir of the source-directory ...
-			    "
-			    ok ifFalse:[
-				packageDir notNil ifTrue:[
-				    packageFile := self getPackageSourceFileName:(packageDir / 'source' / classFileName).
-				    packageFile isNil ifTrue:[
-					packageFile := (packageDir / 'source' / classFileName).
-				    ].
-				    filenameToSet := packageFile.
-				    (ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent)
-				    ifFalse:[
-					alternativeClassFileName notNil ifTrue:[
-					    packageFile := self getPackageSourceFileName:(packageDir / 'source' / alternativeClassFileName).
-					    packageFile isNil ifTrue:[
-						packageFile := (packageDir / 'source' / alternativeClassFileName).
-					    ].
-					    filenameToSet := packageFile.
-					    ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent
-					].
-					ok ifFalse:[
-					    packageFile := self getPackageSourceFileName:(packageDir / classFileName).
-					    packageFile isNil ifTrue:[
-						packageFile := (packageDir / classFileName).
-					    ].
-					    filenameToSet := packageFile.
-					    (ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent)
-					    ifFalse:[
-						alternativeClassFileName notNil ifTrue:[
-						    packageFile := self getPackageFileName:(packageDir / alternativeClassFileName).
-						    packageFile isNil ifTrue:[
-							packageFile := packageDir / alternativeClassFileName.
-						    ].
-						    filenameToSet := packageFile.
-						    ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent
-						].
-						ok ifFalse:[
-						    "
-						     ... and in the standard source-directory
-						    "
-						    filenameToSet := 'source' asFilename / packageDir / classFileName.
-						    (ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent)
-						    ifFalse:[
-							alternativeClassFileName notNil ifTrue:[
-							    filenameToSet := 'source' asFilename / packageDir / alternativeClassFileName.
-							    ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent
-							]
-						    ]
-						]
-					    ].
-					].
-				    ].
-				]
-			    ].
-			    "
-			     if that did not work, and the classes package is known,
-			     look for a zipArchive containing a class entry.
-			    "
-			    ok ifFalse:[
-				packageDir notNil ifTrue:[
-				    zarFn := self getPackageFileName:(packageDir / 'source.zip').
-				    zarFn isNil ifTrue:[
-					zarFn := packageDir withSuffix:'zip'.
-					zarFn := self getSourceFileName:zarFn.
-				    ].
-				    (zarFn notNil and:[zarFn asFilename exists]) ifTrue:[
-					zar := ZipArchive oldFileNamed:zarFn.
-					zar notNil ifTrue:[
-					    entry := zar extract:(classFileName , '.st').
-					    (entry isNil and:[alternativeClassFileName notNil]) ifTrue:[
-						entry := zar extract:(alternativeClassFileName , '.st').
-					    ].
-					    entry notNil ifTrue:[
-						filenameToSet := zarFn.
-						ok := self
-							fileInStream:(entry asString readStream)
-							lazy:loadLazy
-							silent:beSilent
-							logged:false
-							addPath:nil
-					    ].
-					]
-				    ]
-				]
-			    ].
-
-			    "
-			     if that did not work,
-			     look for a zipArchive containing a class entry.
-			    "
-			    ok ifFalse:[
-				zarFn := self getSourceFileName:'source.zip'.
-				zarFn notNil ifTrue:[
-				    zar := ZipArchive oldFileNamed:zarFn.
-				    zar notNil ifTrue:[
-					entry := zar extract:(zarFn := classFileName , '.st').
-					(entry isNil and:[alternativeClassFileName notNil]) ifTrue:[
-					    entry := zar extract:(zarFn := alternativeClassFileName , '.st').
-					].
-					entry notNil ifTrue:[
-					    filenameToSet := zarFn.
-					    ok := self
-						    fileInStream:(entry asString readStream)
-						    lazy:loadLazy
-						    silent:beSilent
-						    logged:false
-						    addPath:nil
-					].
-				    ]
-				]
-			    ].
-			    ok ifFalse:[
-				"
-				 if there is a sourceCodeManager, ask it for the classes sourceCode
-				"
-				(mgr := Smalltalk at:#SourceCodeManager) notNil ifTrue:[
-				    inStream := mgr getMostRecentSourceStreamForClassNamed:aClassName inPackage:package.
-				    inStream notNil ifTrue:[
-					filenameToSet := nil.
-					ok := self fileInStream:inStream lazy:loadLazy silent:beSilent logged:false addPath:nil.
-				    ]
-				].
-			    ].
-			].
-		    ]
-		].
-	    ] ensure:[
-		Compiler compileLazy:wasLazy.
-		wasSilent notNil ifTrue:[
-		    self silentLoading:wasSilent
-		]
-	    ].
-	].
-
-	ok ifTrue:[
-	    newClass := self at:(aClassName asSymbol).
-	    newClass notNil ifTrue:[
-		"set the classes name - but do not change if already set"
-		filenameToSet notNil ifTrue:[
-		    newClass getClassFilename isNil ifTrue:[
-			newClass setClassFilename:(filenameToSet asFilename baseName)
-		    ].
-		].
-
-		doInit ifTrue:[
-		    newClass initialize
-		]
-	    ]
-	].
+        wasLazy := Compiler compileLazy:loadLazy.
+        beSilent notNil ifTrue:[
+            wasSilent := self silentLoading:beSilent.
+        ].
+
+        classFileName := Smalltalk fileNameForClass:aClassName.
+        (classFileName = aClassName) ifTrue:[
+            "/ no abbrev.stc translation for className
+            (aClassName includes:$:) ifTrue:[
+                "/ a nameSpace name
+                alternativeClassFileName := classFileName copyFrom:(classFileName lastIndexOf:$:)+1
+            ].
+        ].
+
+        classFileName asFilename isAbsolute ifTrue:[
+            classFileName asFilename suffix notEmptyOrNil ifTrue:[
+                ok := self fileIn:classFileName lazy:loadLazy silent:beSilent.
+            ] ifFalse:[
+                ok := self fileInSourceFile:classFileName lazy:loadLazy silent:beSilent.
+            ]
+        ] ifFalse:[
+            classFileName := classFileName copyReplaceAll:$: with:$_ ifNone:classFileName.
+            [
+                Class withoutUpdatingChangesDo:[
+                    |zarFn zar entry|
+
+                    ok := false.
+
+                    package notNil ifTrue:[
+                        packageDir := package asPackageId projectDirectory.
+                        "/ packageDir := package asString.
+                        "/ packageDir := packageDir copyReplaceAll:$: with:$/.
+                        packageDir isNil ifTrue:[
+                            packageDir := self packageDirectoryForPackageId:package
+                        ].
+                        packageDir notNil ifTrue:[
+                            packageDir := packageDir asFilename.
+                        ].
+                    ].
+
+                    Class packageQuerySignal answer:package do:[
+                        "
+                         then, if dynamic linking is available,
+                        "
+                        (LoadBinaries and:[ObjectFileLoader notNil]) ifTrue:[
+                            sharedLibExtension := ObjectFileLoader sharedLibraryExtension.
+                            "
+                             first look for a class packages shared binary in binary/xxx.o
+                            "
+                            libName := self libraryFileNameOfClass:aClassName.
+                            libName notNil ifTrue:[
+                                (ok := self fileInClass:aClassName fromObject:(libName, sharedLibExtension))
+                                ifFalse:[
+                                    sharedLibExtension ~= '.o' ifTrue:[
+                                        ok := self fileInClass:aClassName fromObject:(libName, '.o')
+                                    ]
+                                ].
+                            ].
+                            "
+                             then, look for a shared binary in binary/xxx.o
+                            "
+                            ok ifFalse:[
+                                (ok := self fileInClass:aClassName fromObject:(classFileName, sharedLibExtension))
+                                ifFalse:[
+                                    sharedLibExtension ~= '.o' ifTrue:[
+                                        ok := self fileInClass:aClassName fromObject:(classFileName, '.o')
+                                    ].
+                                    ok ifFalse:[
+                                        alternativeClassFileName notNil ifTrue:[
+                                            (ok := self fileInClass:aClassName fromObject:(alternativeClassFileName, sharedLibExtension))
+                                            ifFalse:[
+                                                sharedLibExtension ~= '.o' ifTrue:[
+                                                    ok := self fileInClass:aClassName fromObject:(alternativeClassFileName, '.o')
+                                                ]
+                                            ]
+                                        ].
+                                    ].
+                                ].
+                            ].
+                        ].
+
+                        "
+                         if that did not work, look for a compiled-bytecode file ...
+                        "
+                        ok ifFalse:[
+                            (ok := self fileIn:(classFileName , '.cls') lazy:loadLazy silent:beSilent)
+                            ifFalse:[
+                                alternativeClassFileName notNil ifTrue:[
+                                    ok := self fileIn:(alternativeClassFileName , '.cls') lazy:loadLazy silent:beSilent
+                                ]
+                            ]
+                        ].
+                        "
+                         if that did not work, and the classes package is known,
+                         look for an st-cls file
+                         in a package subdir of the source-directory ...
+                        "
+                        ok ifFalse:[
+                            (packageDir notNil and:[BinaryObjectStorage notNil]) ifTrue:[
+                                packageFile := self getPackageFileName:((packageDir / 'classes' / classFileName) addSuffix:'cls').
+                                packageFile isNil ifTrue:[
+                                    packageFile := (packageDir / 'classes' / classFileName) addSuffix:'cls'.
+                                ].
+                                (ok := self fileIn:packageFile lazy:loadLazy silent:beSilent)
+                                ifFalse:[
+                                    alternativeClassFileName notNil ifTrue:[
+                                        packageFile := self getPackageFileName:((packageDir / 'classes' / alternativeClassFileName) addSuffix:'cls').
+                                        packageFile isNil ifTrue:[
+                                            packageFile := ((packageDir / 'classes' / alternativeClassFileName) addSuffix:'cls').
+                                        ].
+                                        ok := self fileIn:packageFile lazy:loadLazy silent:beSilent
+                                    ]
+                                ].
+
+                                zarFn := self getPackageFileName:(packageDir / 'classes.zip').
+                                zarFn notNil ifTrue:[
+                                    zar := ZipArchive oldFileNamed:zarFn.
+                                    zar notNil ifTrue:[
+                                        entry := zar extract:(classFileName , '.cls').
+                                        (entry isNil and:[alternativeClassFileName notNil]) ifTrue:[
+                                            entry := zar extract:(alternativeClassFileName , '.cls').
+                                        ].
+                                        entry notNil ifTrue:[
+                                            bos := BinaryObjectStorage onOld:(entry asByteArray readStream).
+                                            bos next.
+                                            bos close.
+                                            ok := true
+                                        ].
+                                    ]
+                                ]
+                            ]
+                        ].
+
+                        "
+                         if that did not work, look for an st-source file ...
+                        "
+                        ok ifFalse:[
+                            filenameToSet := classFileName.
+                            (ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent)
+                            ifFalse:[
+                                alternativeClassFileName notNil ifTrue:[
+                                    filenameToSet := alternativeClassFileName.
+                                    ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent
+                                ].
+                                ok ifFalse:[
+                                    "
+                                     ... and in the standard source-directory
+                                    "
+                                    filenameToSet := 'source' asFilename / classFileName.
+                                    (ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent)
+                                    ifFalse:[
+                                        alternativeClassFileName notNil ifTrue:[
+                                            filenameToSet := 'source' asFilename / alternativeClassFileName.
+                                            ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent
+                                        ]
+                                    ]
+                                ]
+                            ].
+                            "
+                             if that did not work, and the classes package is known,
+                             look for an st-source file
+                             in a package subdir of the source-directory ...
+                            "
+                            ok ifFalse:[
+                                packageDir notNil ifTrue:[
+                                    packageFile := self getPackageSourceFileName:(packageDir / 'source' / classFileName).
+                                    packageFile isNil ifTrue:[
+                                        packageFile := (packageDir / 'source' / classFileName).
+                                    ].
+                                    filenameToSet := packageFile.
+                                    (ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent)
+                                    ifFalse:[
+                                        alternativeClassFileName notNil ifTrue:[
+                                            packageFile := self getPackageSourceFileName:(packageDir / 'source' / alternativeClassFileName).
+                                            packageFile isNil ifTrue:[
+                                                packageFile := (packageDir / 'source' / alternativeClassFileName).
+                                            ].
+                                            filenameToSet := packageFile.
+                                            ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent
+                                        ].
+                                        ok ifFalse:[
+                                            packageFile := self getPackageSourceFileName:(packageDir / classFileName).
+                                            packageFile isNil ifTrue:[
+                                                packageFile := (packageDir / classFileName).
+                                            ].
+                                            filenameToSet := packageFile.
+                                            (ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent)
+                                            ifFalse:[
+                                                alternativeClassFileName notNil ifTrue:[
+                                                    packageFile := self getPackageFileName:(packageDir / alternativeClassFileName).
+                                                    packageFile isNil ifTrue:[
+                                                        packageFile := packageDir / alternativeClassFileName.
+                                                    ].
+                                                    filenameToSet := packageFile.
+                                                    ok := self fileInSourceFile:packageFile lazy:loadLazy silent:beSilent
+                                                ].
+                                                ok ifFalse:[
+                                                    "
+                                                     ... and in the standard source-directory
+                                                    "
+                                                    filenameToSet := 'source' asFilename / packageDir / classFileName.
+                                                    (ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent)
+                                                    ifFalse:[
+                                                        alternativeClassFileName notNil ifTrue:[
+                                                            filenameToSet := 'source' asFilename / packageDir / alternativeClassFileName.
+                                                            ok := self fileInSourceFile:filenameToSet lazy:loadLazy silent:beSilent
+                                                        ]
+                                                    ]
+                                                ]
+                                            ].
+                                        ].
+                                    ].
+                                ]
+                            ].
+                            "
+                             if that did not work, and the classes package is known,
+                             look for a zipArchive containing a class entry.
+                            "
+                            ok ifFalse:[
+                                packageDir notNil ifTrue:[
+                                    zarFn := self getPackageFileName:(packageDir / 'source.zip').
+                                    zarFn isNil ifTrue:[
+                                        zarFn := packageDir withSuffix:'zip'.
+                                        zarFn := self getSourceFileName:zarFn.
+                                    ].
+                                    (zarFn notNil and:[zarFn asFilename exists]) ifTrue:[
+                                        zar := ZipArchive oldFileNamed:zarFn.
+                                        zar notNil ifTrue:[
+                                            entry := zar extract:(classFileName , '.st').
+                                            (entry isNil and:[alternativeClassFileName notNil]) ifTrue:[
+                                                entry := zar extract:(alternativeClassFileName , '.st').
+                                            ].
+                                            entry notNil ifTrue:[
+                                                filenameToSet := zarFn.
+                                                ok := self
+                                                        fileInStream:(entry asString readStream)
+                                                        lazy:loadLazy
+                                                        silent:beSilent
+                                                        logged:false
+                                                        addPath:nil
+                                            ].
+                                        ]
+                                    ]
+                                ]
+                            ].
+
+                            "
+                             if that did not work,
+                             look for a zipArchive containing a class entry.
+                            "
+                            ok ifFalse:[
+                                zarFn := self getSourceFileName:'source.zip'.
+                                zarFn notNil ifTrue:[
+                                    zar := ZipArchive oldFileNamed:zarFn.
+                                    zar notNil ifTrue:[
+                                        entry := zar extract:(zarFn := classFileName , '.st').
+                                        (entry isNil and:[alternativeClassFileName notNil]) ifTrue:[
+                                            entry := zar extract:(zarFn := alternativeClassFileName , '.st').
+                                        ].
+                                        entry notNil ifTrue:[
+                                            filenameToSet := zarFn.
+                                            ok := self
+                                                    fileInStream:(entry asString readStream)
+                                                    lazy:loadLazy
+                                                    silent:beSilent
+                                                    logged:false
+                                                    addPath:nil
+                                        ].
+                                    ]
+                                ]
+                            ].
+                            ok ifFalse:[
+                                "
+                                 if there is a sourceCodeManager, ask it for the classes sourceCode
+                                "
+                                (mgr := Smalltalk at:#SourceCodeManager) notNil ifTrue:[
+                                    inStream := mgr getMostRecentSourceStreamForClassNamed:aClassName inPackage:package.
+                                    inStream notNil ifTrue:[
+                                        filenameToSet := nil.
+                                        ok := self fileInStream:inStream lazy:loadLazy silent:beSilent logged:false addPath:nil.
+                                    ]
+                                ].
+                            ].
+                        ].
+                    ]
+                ].
+            ] ensure:[
+                Compiler compileLazy:wasLazy.
+                wasSilent notNil ifTrue:[
+                    self silentLoading:wasSilent
+                ]
+            ].
+        ].
+
+        ok ifTrue:[
+            newClass := self at:(aClassName asSymbol).
+            newClass notNil ifTrue:[
+                "set the classes name - but do not change if already set"
+                filenameToSet notNil ifTrue:[
+                    newClass getClassFilename isNil ifTrue:[
+                        newClass setClassFilename:(filenameToSet asFilename baseName)
+                    ].
+                ].
+
+                doInit ifTrue:[
+                    newClass initialize
+                ]
+            ]
+        ].
     ].
 
     ^ newClass
@@ -6241,13 +6243,13 @@
      and load it. This install all of its contained classes.
      Return true if ok, false if not.
      Notice: the argument may not have an extension (by purpose);
-	     the sharedLib extension (.dll / .so / .sl) is added here, to
-	     make the caller independent of the underlying operatingSystem."
+             the sharedLib extension (.dll / .so / .sl) is added here, to
+             make the caller independent of the underlying operatingSystem."
 
     |path fn|
 
     ObjectFileLoader isNil ifTrue:[
-	^ PackageLoadError raiseRequestWith:aClassLibraryName errorString:' - no ObjectFileLoader'.
+        ^ PackageLoadError raiseRequestWith:aClassLibraryName errorString:' - no ObjectFileLoader'.
     ].
 
     fn := aClassLibraryName asFilename withSuffix:(ObjectFileLoader sharedLibrarySuffix).
@@ -6255,14 +6257,14 @@
 
     path := self getBinaryFileName:fn.
     path isNil ifTrue:[
-	path := self getSystemFileName:fn.
+        path := self getSystemFileName:fn.
     ].
     path isNil ifTrue:[
-	^ PackageNotFoundError raiseRequestWith:aClassLibraryName.
+        ^ PackageNotFoundError raiseRequestWith:aClassLibraryName.
     ].
 
     (ObjectFileLoader loadObjectFile:path) isNil ifTrue:[
-	^ PackageLoadError raiseRequestWith:aClassLibraryName.
+        ^ PackageLoadError raiseRequestWith:aClassLibraryName.
     ].
     ^ true.
 
@@ -6280,45 +6282,45 @@
      and load it. This installs all of its contained classes.
      Return true if ok, false if not.
      Notice: the argument may not have an extension (by purpose);
-	     the sharedLib extension (.dll / .so / .sl) is added here, to
-	     make the caller independent of the underlying operatingSystem."
+             the sharedLib extension (.dll / .so / .sl) is added here, to
+             make the caller independent of the underlying operatingSystem."
 
     |baseName handle libraryFilename packagePath|
 
     ObjectFileLoader isNil ifTrue:[
-	^ PackageLoadError raiseRequestWith:packageID errorString:' - no ObjectFileLoader'
+        ^ PackageLoadError raiseRequestWith:packageID errorString:' - no ObjectFileLoader'
     ].
 
     baseName := aClassLibraryName asFilename withSuffix:(ObjectFileLoader sharedLibrarySuffix).
     baseName exists ifTrue:[
-	"/ load local file first...
-	handle := ObjectFileLoader loadObjectFile:baseName.
+        "/ load local file first...
+        handle := ObjectFileLoader loadObjectFile:baseName.
     ].
     handle isNil ifTrue:[
-	packagePath := self getPackageDirectoryForPackage:packageID.
-	packagePath isNil ifTrue:[
-	    ^ PackageNotFoundError raiseRequestWith:packageID.
-	].
-	packagePath := packagePath asFilename.
-	libraryFilename := packagePath / baseName.
-	libraryFilename exists ifFalse:[
-	    libraryFilename := nil.
-	    #('objbc' 'objvc') do:[:eachPossibleCompiledCodeDir |
-		"in windows, with Borland compiler, DLLs in development environment are under objbc;
-		 with MSVC, they are under objvc"
-		libraryFilename isNil ifTrue:[
-		    libraryFilename := packagePath / eachPossibleCompiledCodeDir / baseName.
-		    libraryFilename exists ifFalse:[ libraryFilename := nil ]
-		].
-	    ].
-	].
-	(libraryFilename notNil and:[libraryFilename exists]) ifTrue:[
-	    handle := ObjectFileLoader loadObjectFile:libraryFilename pathName.
-	].
+        packagePath := self getPackageDirectoryForPackage:packageID.
+        packagePath isNil ifTrue:[
+            ^ PackageNotFoundError raiseRequestWith:packageID.
+        ].
+        packagePath := packagePath asFilename.
+        libraryFilename := packagePath / baseName.
+        libraryFilename exists ifFalse:[
+            libraryFilename := nil.
+            #('objbc' 'objvc') do:[:eachPossibleCompiledCodeDir |
+                "in windows, with Borland compiler, DLLs in development environment are under objbc;
+                 with MSVC, they are under objvc"
+                libraryFilename isNil ifTrue:[
+                    libraryFilename := packagePath / eachPossibleCompiledCodeDir / baseName.
+                    libraryFilename exists ifFalse:[ libraryFilename := nil ]
+                ].
+            ].
+        ].
+        (libraryFilename notNil and:[libraryFilename exists]) ifTrue:[
+            handle := ObjectFileLoader loadObjectFile:libraryFilename pathName.
+        ].
     ].
 
     handle isNil ifTrue:[
-	^ PackageNotFoundError raiseRequestWith:packageID.
+        ^ PackageNotFoundError raiseRequestWith:packageID.
     ].
 "/    handle notNil ifTrue:[
 "/        Transcript showCR:('    Smalltalk: loaded %1.' bindWith:libraryFilename pathName).
@@ -6340,13 +6342,26 @@
     |filename|
 
     filename := filenameArg asFilename.
+"/    ProgrammingLanguage allDo:[:lang| 
+"/        | f |
+"/
+"/        "/ cg: changed: did try all languages to load (eg. wether suffix matched or not.
+"/        "/ I don't think, that is a good idea, as all of them languages might start parsing...
+"/        (filename hasSuffix:lang sourceFileSuffix) ifTrue:[
+"/            (self fileIn:f lazy:loadLazy silent:beSilent) ifTrue:[
+"/                ^ true
+"/            ].
+"/        ]
+"/    ].
+"/ revert to old code to get stuff running again- please review - (autoload problems)
     ProgrammingLanguage allDo:[:lang| | f |
-	f := (filename hasSuffix:lang sourceFileSuffix)
-		    ifTrue:[filename]
-		    ifFalse:[filename addSuffix:lang sourceFileSuffix].
-	(self fileIn:f lazy:loadLazy silent:beSilent)
-		ifTrue:[^ true]
-    ].
+        f := (filename hasSuffix:lang sourceFileSuffix)
+                    ifTrue:[filename]
+                    ifFalse:[filename addSuffix:lang sourceFileSuffix].
+        (self fileIn:f lazy:loadLazy silent:beSilent)
+                ifTrue:[^ true]
+    ].
+
     ^ false
 
     "Created: / 16-08-2009 / 14:45:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
@@ -6376,40 +6391,40 @@
     inStream isNil ifTrue:[^ false].
     inStream := LineNumberReadStream on:inStream.
     inStream := EncodedStream isNil
-		    ifTrue:[ inStream ]
-		    ifFalse:[ EncodedStream decodedStreamFor:inStream ].
+                    ifTrue:[ inStream ]
+                    ifFalse:[ EncodedStream decodedStreamFor:inStream ].
 
     lazy notNil ifTrue:[wasLazy := Compiler compileLazy:lazy].
     silent notNil ifTrue:[wasSilent := self silentLoading:silent].
     morePath notNil ifTrue:[
-	oldSystemPath := SystemPath copy.
-	SystemPath addFirst:morePath.
-	oldRealPath := RealSystemPath.
-	RealSystemPath := nil.
+        oldSystemPath := SystemPath copy.
+        SystemPath addFirst:morePath.
+        oldRealPath := RealSystemPath.
+        RealSystemPath := nil.
     ].
     [
-	(Class updateChangeFileQuerySignal , Class updateChangeListQuerySignal) answer:logged do:[
-	    "JV: Changed to give ProgrammingLanguage to choose
-	     proper reader"
-	    (ProgrammingLanguage forStream: inStream)
-		fileInStream: inStream
-	]
+        (Class updateChangeFileQuerySignal , Class updateChangeListQuerySignal) answer:logged do:[
+            "JV: Changed to give ProgrammingLanguage to choose
+             proper reader"
+            (ProgrammingLanguage forStream: inStream)
+                fileInStream: inStream
+        ]
     ] ensure:[
-	morePath notNil ifTrue:[
-	    "take care, someone could have changed SystemPath during fileIn!!"
-	    (SystemPath copyFrom:2) = oldSystemPath ifTrue:[
-		SystemPath := oldSystemPath.
-		RealSystemPath := oldRealPath.
-	    ] ifFalse:[
-		(oldSystemPath includes:morePath) ifFalse:[
-		    SystemPath remove:morePath ifAbsent:[].
-		].
-		RealSystemPath := nil.
-	    ].
-	].
-	lazy notNil ifTrue:[Compiler compileLazy:wasLazy].
-	silent notNil ifTrue:[self silentLoading:wasSilent].
-	inStream close
+        morePath notNil ifTrue:[
+            "take care, someone could have changed SystemPath during fileIn!!"
+            (SystemPath copyFrom:2) = oldSystemPath ifTrue:[
+                SystemPath := oldSystemPath.
+                RealSystemPath := oldRealPath.
+            ] ifFalse:[
+                (oldSystemPath includes:morePath) ifFalse:[
+                    SystemPath remove:morePath ifAbsent:[].
+                ].
+                RealSystemPath := nil.
+            ].
+        ].
+        lazy notNil ifTrue:[Compiler compileLazy:wasLazy].
+        silent notNil ifTrue:[self silentLoading:wasSilent].
+        inStream close
     ].
     ^ true
 
@@ -6425,14 +6440,14 @@
     "return true, if a particular class library is already loaded"
 
     ObjectMemory
-	binaryModuleInfo
-	    do:[:entry |
-		   entry type == #classLibrary ifTrue:[
-		       entry libraryName = name ifTrue:[
-			  ^ true        "/ already loaded
-		       ]
-		   ].
-	       ].
+        binaryModuleInfo
+            do:[:entry |
+                   entry type == #classLibrary ifTrue:[
+                       entry libraryName = name ifTrue:[
+                          ^ true        "/ already loaded
+                       ]
+                   ].
+               ].
 
     ^ false
 
@@ -6476,11 +6491,11 @@
     retVal := false.
 
     (SignalSet
-	with:AbortOperationRequest
-	with:TerminateProcessRequest
-	with:Parser parseErrorSignal)
-	    handle:[:ex | ex return ]
-	    do:[ retVal := self fileIn:aFileName ].
+        with:AbortOperationRequest
+        with:TerminateProcessRequest
+        with:Parser parseErrorSignal)
+            handle:[:ex | ex return ]
+            do:[ retVal := self fileIn:aFileName ].
     ^ retVal
 !
 
@@ -6489,7 +6504,7 @@
      Main use is during startup."
 
     self silentlyLoadingDo:[
-	self fileIn:aFilename
+        self fileIn:aFilename
     ].
 ! !
 
@@ -6505,7 +6520,7 @@
 
     aString := self getBitmapFileName:aFileName.
     aString notNil ifTrue:[
-	^ aString asFilename readStreamOrNil
+        ^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -6547,9 +6562,9 @@
     |fn|
 
     (aFileName asFilename hasSuffix:'st') ifTrue:[
-	fn := aFileName copyButLast:3
+        fn := aFileName copyButLast:3
     ] ifFalse:[
-	fn := aFileName
+        fn := aFileName
     ].
     ^ self filenameAbbreviations keyAtEqualValue:fn ifAbsent:[fn].
 
@@ -6568,11 +6583,11 @@
      return a collection of pathes which include that directory."
 
     ^ self realSystemPath select:[:dirName |
-	|fullPath|
-
-	fullPath := dirName asFilename construct:aDirectoryName.
-	"/ fullPath exists and:[fullPath isDirectory and:[fullPath isReadable]]
-	fullPath isDirectory and:[fullPath isReadable]
+        |fullPath|
+
+        fullPath := dirName asFilename construct:aDirectoryName.
+        "/ fullPath exists and:[fullPath isDirectory and:[fullPath isReadable]]
+        fullPath isDirectory and:[fullPath isReadable]
     ].
 !
 
@@ -6586,7 +6601,7 @@
 
     aString := self getFileInFileName:aFileName.
     aString notNil ifTrue:[
-	^ aString asFilename readStreamOrNil
+        ^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -6609,12 +6624,12 @@
     compatQuery := Smalltalk classNamed: 'SVN::CompatModeQuery'.
     (compatQuery notNil
       and:[compatQuery isLoaded
-	and:[compatQuery query not]]) ifTrue:[
-	    nm := aClassOrClassName isBehavior
-		ifTrue:[aClassOrClassName name]
-		ifFalse:[aClassOrClassName].
-	    nm := nm copyReplaceAll:$: with:$_ ifNone:nm.
-	    ^nm
+        and:[compatQuery query not]]) ifTrue:[
+            nm := aClassOrClassName isBehavior
+                ifTrue:[aClassOrClassName name]
+                ifFalse:[aClassOrClassName].
+            nm := nm copyReplaceAll:$: with:$_ ifNone:nm.
+            ^nm
     ].
 
     "/ Same for another query for new libscm. Here we have to do
@@ -6624,60 +6639,60 @@
     compatQuery := Smalltalk classNamed: 'SCMCompatModeQuery'.
     (compatQuery notNil
       and:[compatQuery isLoaded
-	and:[(compatPkg := compatQuery query) notNil]]) ifTrue:[
-	    | compatPkgs |
-	    "/ Originally libscm could only fileout one package at time so
-	    "/ the query answered one package name. However, to support nested
-	    "/ packages, libscm is being rewritten to commit multiple packages
-	    "/ at once, so query answers a collection of packages. The code below
-	    "/ makes sure it works for both.
-	    compatPkgs := compatPkg isString ifTrue:[ Array with: compatPkg] ifFalse:[ compatPkg ].
-	    nm := aClassOrClassName isBehavior
-		ifTrue:[aClassOrClassName name]
-		ifFalse:[aClassOrClassName].
-	    cls := Smalltalk at: nm asSymbol.
-	    (cls notNil and:[compatPkgs includes: cls package]) ifTrue:[
-		nm := nm copyReplaceAll:$: with:$_.
-		^nm
-	    ].
+        and:[(compatPkg := compatQuery query) notNil]]) ifTrue:[
+            | compatPkgs |
+            "/ Originally libscm could only fileout one package at time so
+            "/ the query answered one package name. However, to support nested
+            "/ packages, libscm is being rewritten to commit multiple packages
+            "/ at once, so query answers a collection of packages. The code below
+            "/ makes sure it works for both.
+            compatPkgs := compatPkg isString ifTrue:[ Array with: compatPkg] ifFalse:[ compatPkg ].
+            nm := aClassOrClassName isBehavior
+                ifTrue:[aClassOrClassName name]
+                ifFalse:[aClassOrClassName].
+            cls := Smalltalk at: nm asSymbol.
+            (cls notNil and:[compatPkgs includes: cls package]) ifTrue:[
+                nm := nm copyReplaceAll:$: with:$_.
+                ^nm
+            ].
     ].
 
     aClassOrClassName isBehavior ifTrue:[
-	cls := aClassOrClassName.
+        cls := aClassOrClassName.
     ] ifFalse:[
-	cls := Smalltalk classNamed:aClassOrClassName.
-	cls isNil ifTrue:[
-	    nameWithPrefix := aClassOrClassName.
-	    nameWithoutPrefix := (aClassOrClassName copyFrom:(aClassOrClassName lastIndexOf:$:)+1).
-	].
+        cls := Smalltalk classNamed:aClassOrClassName.
+        cls isNil ifTrue:[
+            nameWithPrefix := aClassOrClassName.
+            nameWithoutPrefix := (aClassOrClassName copyFrom:(aClassOrClassName lastIndexOf:$:)+1).
+        ].
     ].
 
     cls notNil ifTrue:[
-	nonMetaclass := cls theNonMetaclass.
-	nm := nonMetaclass getClassFilename.
-	nm isNil ifTrue:[
-	    |revisionInfo|
-
-	    (revisionInfo := cls revisionInfo) notNil ifTrue:[
-		nm := revisionInfo fileName.
-	    ].
-	].
-	nm notNil ifTrue:[
-	    ^ nm asFilename withoutSuffix baseName
-	].
-	nameWithPrefix := nonMetaclass name.
-	nameWithoutPrefix := nonMetaclass nameWithoutPrefix.
+        nonMetaclass := cls theNonMetaclass.
+        nm := nonMetaclass getClassFilename.
+        nm isNil ifTrue:[
+            |revisionInfo|
+
+            (revisionInfo := cls revisionInfo) notNil ifTrue:[
+                nm := revisionInfo fileName.
+            ].
+        ].
+        nm notNil ifTrue:[
+            ^ nm asFilename withoutSuffix baseName
+        ].
+        nameWithPrefix := nonMetaclass name.
+        nameWithoutPrefix := nonMetaclass nameWithoutPrefix.
     ].
 
     CachedAbbreviations notNil ifTrue:[
-	nameWithPrefix := nameWithPrefix asSymbol.
-	(CachedAbbreviations includesKey:nameWithPrefix) ifTrue:[
-	    ^ (CachedAbbreviations at:nameWithPrefix) asFilename baseName
-	].
-	nameWithoutPrefix := nameWithoutPrefix asSymbol.
-	(CachedAbbreviations includesKey:nameWithoutPrefix) ifTrue:[
-	    ^ (CachedAbbreviations at:nameWithoutPrefix) asFilename baseName
-	].
+        nameWithPrefix := nameWithPrefix asSymbol.
+        (CachedAbbreviations includesKey:nameWithPrefix) ifTrue:[
+            ^ (CachedAbbreviations at:nameWithPrefix) asFilename baseName
+        ].
+        nameWithoutPrefix := nameWithoutPrefix asSymbol.
+        (CachedAbbreviations includesKey:nameWithoutPrefix) ifTrue:[
+            ^ (CachedAbbreviations at:nameWithoutPrefix) asFilename baseName
+        ].
     ].
 
     ^ nameWithPrefix copyReplaceAll:$: with:$_
@@ -6707,7 +6722,7 @@
      to 14 chars)"
 
     CachedAbbreviations isNil ifTrue:[
-	self readAbbreviations
+        self readAbbreviations
     ].
     ^ CachedAbbreviations
 
@@ -6760,7 +6775,7 @@
      return the absolute filename or nil if none is found."
 
     BinaryPath isNil ifTrue:[
-	BinaryPath := self constructPathFor:BinaryDirName
+        BinaryPath := self constructPathFor:BinaryDirName
     ].
 
     ^ self searchPath:BinaryPath for:aFileName in:BinaryDirName
@@ -6790,9 +6805,9 @@
      then in the package directory if existing.
      Return a path or nil.
      Search order is:
-	bitmaps/<pkg>/file
-	resources/<pkg>/bitmaps/file
-	<pkg>/bitmaps/file
+        bitmaps/<pkg>/file
+        resources/<pkg>/bitmaps/file
+        <pkg>/bitmaps/file
     "
 
     |f dir packageDir pF|
@@ -6800,44 +6815,44 @@
     f := aFileName asString withoutPrefix:'bitmaps/'.
 
     aPackageIDOrNil isNil ifTrue:[
-	"/ this will be an error in the future
+        "/ this will be an error in the future
 "/        'Smalltalk [warning]: bitmap file access without package: ' infoPrint. aFileName infoPrintCR.
 "/        self halt.
 
-	pF := self searchPath:(self realSystemPath) for:aFileName in:('bitmaps').
-	pF notNil ifTrue:[
-	    ^ pF.
-	].
-	f ~= aFileName ifTrue:[
-	    pF := self searchPath:(self realSystemPath) for:f in:('bitmaps').
-	    pF notNil ifTrue:[
-		^ pF.
-	    ].
-	].
-	^ nil
+        pF := self searchPath:(self realSystemPath) for:aFileName in:('bitmaps').
+        pF notNil ifTrue:[
+            ^ pF.
+        ].
+        f ~= aFileName ifTrue:[
+            pF := self searchPath:(self realSystemPath) for:f in:('bitmaps').
+            pF notNil ifTrue:[
+                ^ pF.
+            ].
+        ].
+        ^ nil
     ].
 
     dir := self projectDirectoryForPackage:aPackageIDOrNil.
     dir notNil ifTrue:[
-	pF := dir asFilename / f.
-	pF exists ifTrue:[
-	    ^ pF.
-	].
-	pF := dir asFilename / 'bitmaps' /f.
-	pF exists ifTrue:[
-	    ^ pF.
-	].
+        pF := dir asFilename / f.
+        pF exists ifTrue:[
+            ^ pF.
+        ].
+        pF := dir asFilename / 'bitmaps' /f.
+        pF exists ifTrue:[
+            ^ pF.
+        ].
     ].
 
     packageDir := aPackageIDOrNil copyReplaceAll:$: with:$/.
 
     pF := self searchPath:(self realSystemPath) for:aFileName in:('bitmaps/',packageDir).
     pF notNil ifTrue:[
-	^ pF.
+        ^ pF.
     ].
     pF := self searchPath:(self realSystemPath) for:aFileName in:('resources/',packageDir,'/bitmaps').
     pF notNil ifTrue:[
-	^ pF.
+        ^ pF.
     ].
 
     ^ nil
@@ -6859,7 +6874,7 @@
      return the absolute filename or nil if none is found."
 
     FileInPath isNil ifTrue:[
-	FileInPath := self constructPathFor:FileInDirName
+        FileInPath := self constructPathFor:FileInDirName
     ].
 
     ^ self searchPath:FileInPath for:aFileName in:FileInDirName
@@ -6877,22 +6892,22 @@
     packageSubDirectory := aPackageID asPackageId directory.
 
     checkForPackageDirectory :=
-	[:moduleDir |
-	    |packageDir|
-
-	    moduleDir isDirectory ifTrue:[
-		packageDir := moduleDir / packageSubDirectory.
-		packageDir isDirectory ifTrue:[
-		    ^ packageDir
-		]
-	    ].
-	].
+        [:moduleDir |
+            |packageDir|
+
+            moduleDir isDirectory ifTrue:[
+                packageDir := moduleDir / packageSubDirectory.
+                packageDir isDirectory ifTrue:[
+                    ^ packageDir
+                ]
+            ].
+        ].
 
     self packagePath do:[:aPath |
-	|moduleDir|
-
-	moduleDir := aPath asFilename / module.
-	checkForPackageDirectory value:moduleDir.
+        |moduleDir|
+
+        moduleDir := aPath asFilename / module.
+        checkForPackageDirectory value:moduleDir.
     ].
 
     ^ nil
@@ -6916,17 +6931,17 @@
     "/ search along packagePath ...
     f := self searchPath:self packagePath for:aFileName in:nil.
     f isNil ifTrue:[
-	"/ search under packages-directory along systemPath ...
-	f := self searchPath:self realSystemPath for:aFileName in:PackageDirName.
-	"/ kludge - allow for stx-directory to be named differently
-	f isNil ifTrue:[
-	    (aFileName asString startsWith:('stx' , Filename separator)) ifTrue:[
-		f := '..' asFilename / '..' / (aFileName copyFrom:5).
-	    ]
-	].
+        "/ search under packages-directory along systemPath ...
+        f := self searchPath:self realSystemPath for:aFileName in:PackageDirName.
+        "/ kludge - allow for stx-directory to be named differently
+        f isNil ifTrue:[
+            (aFileName asString startsWith:('stx' , Filename separator)) ifTrue:[
+                f := '..' asFilename / '..' / (aFileName copyFrom:5).
+            ]
+        ].
     ].
     (f notNil and:[(f := f asFilename) exists]) ifTrue:[
-	^ f pathName
+        ^ f pathName
     ].
     ^ nil
 
@@ -6945,13 +6960,13 @@
     filenameWithoutSuffix:= filenameWithoutSuffixArg asFilename.
 
     ProgrammingLanguage
-	allDo:[:lang |
-	    |file|
-
-	    file := self
-		    getPackageFileName:(filenameWithoutSuffix addSuffix:lang sourceFileSuffix).
-	    file notNil ifTrue:[ ^ file ]
-	].
+        allDo:[:lang |
+            |file|
+
+            file := self
+                    getPackageFileName:(filenameWithoutSuffix addSuffix:lang sourceFileSuffix).
+            file notNil ifTrue:[ ^ file ]
+        ].
     ^ nil
 
     "Created: / 16-08-2009 / 14:44:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
@@ -6984,7 +6999,7 @@
     |pkgOrNil|
 
     aClassOrNil notNil ifTrue:[
-	pkgOrNil := aClassOrNil package.
+        pkgOrNil := aClassOrNil package.
     ].
     ^ self getResourceFileName:aFileName forPackage:pkgOrNil.
 
@@ -6999,8 +7014,8 @@
      and in a packages directory.
      Return the absolute filename or nil if none is found.
      Search order is:
-	resources/<pkg>/file
-	<pkg>/resources/file
+        resources/<pkg>/file
+        <pkg>/resources/file
     "
 
     |pF f dir packageDir|
@@ -7008,48 +7023,48 @@
     f := aFileName asString withoutPrefix:'resources/'.
 
     aPackageIDOrNil isNil ifTrue:[
-	"/ this will be an error in the future
+        "/ this will be an error in the future
 "/        'Smalltalk [warning]: resource file access without package: ' infoPrint. aFileName infoPrintCR.
 "/        self halt.
 
-	pF := self searchPath:(self realSystemPath) for:aFileName in:('resources').
-	pF notNil ifTrue:[
-	    ^ pF.
-	].
+        pF := self searchPath:(self realSystemPath) for:aFileName in:('resources').
+        pF notNil ifTrue:[
+            ^ pF.
+        ].
 "/        pF := self searchPath:(self realSystemPath) for:aFileName in:('resources/styles').
 "/        pF notNil ifTrue:[
 "/            ^ pF.
 "/        ].
-	f ~= aFileName ifTrue:[
-	    pF := self searchPath:(self realSystemPath) for:f in:('resources').
-	    pF notNil ifTrue:[
-		^ pF.
-	    ].
+        f ~= aFileName ifTrue:[
+            pF := self searchPath:(self realSystemPath) for:f in:('resources').
+            pF notNil ifTrue:[
+                ^ pF.
+            ].
 "/            pF := self searchPath:(self realSystemPath) for:f in:('resources/styles').
 "/            pF notNil ifTrue:[
 "/                ^ pF.
 "/            ].
-	].
-	^ nil
+        ].
+        ^ nil
     ].
 
     packageDir := aPackageIDOrNil copyReplaceAll:$: with:$/.
 
     pF := self searchPath:(self realSystemPath) for:aFileName in:('resources/',packageDir).
     pF notNil ifTrue:[
-	^ pF.
+        ^ pF.
     ].
 
     "/ the following code finds the file within the IDE's own hierarchy
     dir := self projectDirectoryForPackage:aPackageIDOrNil.
     dir notNil ifTrue:[
-	dir := dir asFilename.
-
-	(pF := dir / 'resources' / f) exists ifTrue:[ ^ pF name ].
+        dir := dir asFilename.
+
+        (pF := dir / 'resources' / f) exists ifTrue:[ ^ pF name ].
 "/        (pF := dir / 'styles' / f) exists ifTrue:[ ^ pF name ].
 
-	"resolve something like: 'ASN/definition.asn1'"
-	(pF := dir / f) exists ifTrue:[ ^ pF name ].
+        "resolve something like: 'ASN/definition.asn1'"
+        (pF := dir / f) exists ifTrue:[ ^ pF name ].
     ].
 
     ^ nil
@@ -7075,16 +7090,16 @@
     |f|
 
     SourcePath isNil ifTrue:[
-	SourcePath := self constructPathFor:SourceDirName
+        SourcePath := self constructPathFor:SourceDirName
     ].
 
     "/ first, try a source subdir along the path.
     SourcePath notNil ifTrue:[
-	f := self searchPath:SourcePath for:aFileName in:SourceDirName.
+        f := self searchPath:SourcePath for:aFileName in:SourceDirName.
     ].
     f isNil ifTrue:[
-	"/ then, try it itself along the path.
-	f := self searchPath:self realSystemPath for:aFileName in:nil
+        "/ then, try it itself along the path.
+        f := self searchPath:self realSystemPath for:aFileName in:nil
     ].
     ^ f
 
@@ -7111,23 +7126,23 @@
     fn := aFileNameOrString asFilename.
     nameString := fn name.
     fn isAbsolute ifTrue:[
-	"dont use path for absolute file names"
-
-	^ nameString
+        "dont use path for absolute file names"
+
+        ^ nameString
     ].
 
     self realSystemPath do:[:dirName |
-	|realName|
-
-	realName := dirName asFilename / nameString.
-	"/
-	"/ here, we also return true if its a directory
-	"/ (Even if unreadable).
-	"/ It could be that the file itself is still readable.
-	"/
-	(realName isDirectory or:[realName isReadable]) ifTrue: [
-	    ^ realName name
-	]
+        |realName|
+
+        realName := dirName asFilename / nameString.
+        "/
+        "/ here, we also return true if its a directory
+        "/ (Even if unreadable).
+        "/ It could be that the file itself is still readable.
+        "/
+        (realName isDirectory or:[realName isReadable]) ifTrue: [
+            ^ realName name
+        ]
     ].
     ^ nil
 
@@ -7153,10 +7168,10 @@
     classPackage := aClass package.
     img := self imageFromFileNamed:aFileName inPackage:classPackage.
     img isNil ifTrue:[
-	"/ try under the goodies package ...
-	classPackage ~= 'stx:goodies' ifTrue:[
-	    img := self imageFromFileNamed:aFileName inPackage:'stx:goodies'.
-	]
+        "/ try under the goodies package ...
+        classPackage ~= 'stx:goodies' ifTrue:[
+            img := self imageFromFileNamed:aFileName inPackage:'stx:goodies'.
+        ]
     ].
     ^ img
 
@@ -7171,16 +7186,16 @@
      then in the package directory if existing.
      Return an image or nil.
      Search order is:
-	bitmaps/<pkg>/file
-	resources/<pkg>/bitmaps/file
-	<pkg>/bitmaps/file
+        bitmaps/<pkg>/file
+        resources/<pkg>/bitmaps/file
+        <pkg>/bitmaps/file
     "
 
     |path|
 
     path := self getBitmapFileName:aFileName forPackage:aPackage.
     path notNil ifTrue:[
-	^ Image fromFile:path.
+        ^ Image fromFile:path.
     ].
     ^ nil
 
@@ -7212,9 +7227,9 @@
     |aStream line words n aClassName|
 
     aClassOrClassName isBehavior ifTrue:[
-	aClassName := aClassOrClassName name
+        aClassName := aClassOrClassName name
     ] ifFalse:[
-	aClassName := aClassOrClassName
+        aClassName := aClassOrClassName
     ].
     aClassName := aClassName asString.
 
@@ -7222,26 +7237,26 @@
     with:#(2)                   "/ column
     do:[:fileName :col |
 
-	aStream := self systemFileStreamFor:fileName.
-	aStream notNil ifTrue:[
-	    [aStream atEnd] whileFalse:[
-		line := aStream nextLine.
-		line notNil ifTrue:[
-		    (line startsWith:'#') ifFalse:[
-			words := line asCollectionOfWords.
-			(n := words size) > 1 ifTrue:[
-			    (words at:1) = aClassName ifTrue:[
-				n >= col ifTrue:[
-				    aStream close.
-				    ^ (words at:col) withoutSeparators
-				]
-			    ]
-			]
-		    ]
-		]
-	    ].
-	    aStream close
-	].
+        aStream := self systemFileStreamFor:fileName.
+        aStream notNil ifTrue:[
+            [aStream atEnd] whileFalse:[
+                line := aStream nextLine.
+                line notNil ifTrue:[
+                    (line startsWith:'#') ifFalse:[
+                        words := line asCollectionOfWords.
+                        (n := words size) > 1 ifTrue:[
+                            (words at:1) = aClassName ifTrue:[
+                                n >= col ifTrue:[
+                                    aStream close.
+                                    ^ (words at:col) withoutSeparators
+                                ]
+                            ]
+                        ]
+                    ]
+                ]
+            ].
+            aStream close
+        ].
     ].
 
     ^ nil
@@ -7312,10 +7327,10 @@
     "/ in the directory, from which the project was loaded
     prj := Project projectWithId:aPackage.
     prj notNil ifTrue:[
-	prjDir := prj directory.
+        prjDir := prj directory.
     ].
     (prjDir notNil and:[prjDir asFilename exists]) ifFalse:[
-	prjDir := Smalltalk getPackageFileName:(aPackage copyReplaceAll:$: with:$/).
+        prjDir := Smalltalk getPackageFileName:(aPackage copyReplaceAll:$: with:$/).
     ].
     ^ prjDir
 
@@ -7352,10 +7367,10 @@
      sigh - all for those poor sys5.3 or MSDOS people with short filenames ..."
 
     self
-	withAbbreviationsFromStream:aStream
-	do:[:className :abbrev :pkg |
-	    self setFilename:abbrev forClass:className package:pkg.
-	].
+        withAbbreviationsFromStream:aStream
+        do:[:className :abbrev :pkg |
+            self setFilename:abbrev forClass:className package:pkg.
+        ].
 
     "Modified: / 13.12.1999 / 11:54:17 / cg"
 !
@@ -7367,35 +7382,35 @@
     |nP|
 
     RealSystemPath isNil ifTrue:[
-	OperatingSystem isVMSlike ifTrue:[
-	    "/ temporary kludge: since we cannot currently
-	    "/ check for existence of a name like 'volume:',
-	    "/ leave those in the Path without a check.
-	    RealSystemPath := SystemPath select:[:dirName |  |f|
-		f := dirName asFilename.
-		f isVolumeOnly or:[(f isDirectory) and:[f isReadable]]
-	    ]
-	] ifFalse:[
-	    RealSystemPath := SystemPath
-		select:[:eachDirectoryName |  |f|
-		    f := eachDirectoryName asFilename.
-		    (f isDirectory) and:[f isReadable]
-		] thenCollect:[:eachDirectoryName|
-		    eachDirectoryName asFilename pathName.
-		].
-
-	    "/ remove duplicates (but keep order)
-	    nP := OrderedCollection new.
-	    RealSystemPath do:[:p |
-		(nP includes:p) ifFalse:[
-		    nP add:p
-		]
-	    ].
-	    (nP includes:'.') ifFalse:[
-		nP add:'.'
-	    ].
-	    RealSystemPath := nP.
-	].
+        OperatingSystem isVMSlike ifTrue:[
+            "/ temporary kludge: since we cannot currently
+            "/ check for existence of a name like 'volume:',
+            "/ leave those in the Path without a check.
+            RealSystemPath := SystemPath select:[:dirName |  |f|
+                f := dirName asFilename.
+                f isVolumeOnly or:[(f isDirectory) and:[f isReadable]]
+            ]
+        ] ifFalse:[
+            RealSystemPath := SystemPath
+                select:[:eachDirectoryName |  |f|
+                    f := eachDirectoryName asFilename.
+                    (f isDirectory) and:[f isReadable]
+                ] thenCollect:[:eachDirectoryName|
+                    eachDirectoryName asFilename pathName.
+                ].
+
+            "/ remove duplicates (but keep order)
+            nP := OrderedCollection new.
+            RealSystemPath do:[:p |
+                (nP includes:p) ifFalse:[
+                    nP add:p
+                ]
+            ].
+            (nP includes:'.') ifFalse:[
+                nP add:'.'
+            ].
+            RealSystemPath := nP.
+        ].
     ].
     ^ RealSystemPath
 !
@@ -7411,40 +7426,40 @@
 
     maxLevels == 0 ifTrue:[
 "/        'Smalltalk [warning]: max directory nesting reached.' infoPrintCR.
-	^ self
+        ^ self
     ].
 
     dir := aDirectory asFilename.
     dir exists ifFalse:[^ self].
 
     [
-	abbrevStream := (dir / 'abbrev.stc') asFilename readStream.
-	self readAbbreviationsFromStream:abbrevStream.
-	abbrevStream close.
+        abbrevStream := (dir / 'abbrev.stc') asFilename readStream.
+        self readAbbreviationsFromStream:abbrevStream.
+        abbrevStream close.
     ] on:FileStream openErrorSignal do:[:ex| "ignore this file"].
 
     [
-	directoryContents := dir directoryContents.
+        directoryContents := dir directoryContents.
     ] on:FileStream openErrorSignal do:[:ex|
-	"non-accessable directory: we are done"
-	^ self
+        "non-accessable directory: we are done"
+        ^ self
     ].
 
     directoryContents do:[:aFilename |
-	|f|
-
-	(#(
-	    'doc'
-	    'CVS'
-	    'bitmaps'
-	    'resources'
-	    'source'
-	) includes:aFilename) ifFalse:[
-	    f := dir / aFilename.
-	    f isDirectory ifTrue:[
-		self recursiveReadAllAbbreviationsFrom:f maxLevels:maxLevels-1
-	    ]
-	].
+        |f|
+
+        (#(
+            'doc'
+            'CVS'
+            'bitmaps'
+            'resources'
+            'source'
+        ) includes:aFilename) ifFalse:[
+            f := dir / aFilename.
+            f isDirectory ifTrue:[
+                self recursiveReadAllAbbreviationsFrom:f maxLevels:maxLevels-1
+            ]
+        ].
     ].
 !
 
@@ -7452,10 +7467,10 @@
     "{ Pragma: +optSpace }"
 
     PackagePath notNil ifTrue:[
-	PackagePath := PackagePath select:[:p | p asFilename exists].
+        PackagePath := PackagePath select:[:p | p asFilename exists].
     ].
     PackagePath isEmptyOrNil ifTrue:[
-	PackagePath := OperatingSystem defaultPackagePath
+        PackagePath := OperatingSystem defaultPackagePath
     ].
 !
 
@@ -7463,8 +7478,8 @@
     |path|
 
     PackageToPathMapping notNil ifTrue:[
-	path := PackageToPathMapping at:aPackage ifAbsent:nil.
-	PackageToPathMapping notNil ifTrue:[^ path].
+        path := PackageToPathMapping at:aPackage ifAbsent:nil.
+        PackageToPathMapping notNil ifTrue:[^ path].
     ].
     ^ aPackage copyReplaceAll:$: with:$/.
 
@@ -7485,17 +7500,17 @@
     |prjDir rsrcDir|
 
     aPackage notNil ifTrue:[
-	prjDir := self projectDirectoryForPackage:aPackage.
-
-	(prjDir notNil
-	and:[(prjDir := prjDir asFilename) exists
-	and:[(rsrcDir := prjDir / 'resources') exists]]) ifTrue:[
-	    ^ rsrcDir
-	].
-	rsrcDir := self getSystemFileName:('resources/' , (aPackage copyReplaceAll:$: with:$/)).
-	rsrcDir notNil ifTrue:[
-	    ^ rsrcDir asFilename
-	].
+        prjDir := self projectDirectoryForPackage:aPackage.
+
+        (prjDir notNil
+        and:[(prjDir := prjDir asFilename) exists
+        and:[(rsrcDir := prjDir / 'resources') exists]]) ifTrue:[
+            ^ rsrcDir
+        ].
+        rsrcDir := self getSystemFileName:('resources/' , (aPackage copyReplaceAll:$: with:$/)).
+        rsrcDir notNil ifTrue:[
+            ^ rsrcDir asFilename
+        ].
     ].
     ^ nil
 
@@ -7524,7 +7539,7 @@
 
     aString := self getResourceFileName:aFileName forClass:aClassOrNil.
     aString notNil ifTrue:[
-	^ aString asFilename readStreamOrNil
+        ^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -7537,26 +7552,26 @@
 
     ((f := aFileName asFilename) isAbsolute
     or:[f isExplicitRelative]) ifTrue:[
-	"/
-	"/ dont use path for absolute or explicit .-relative file names
-	"/
-	^ aFileName
+        "/
+        "/ dont use path for absolute or explicit .-relative file names
+        "/
+        ^ aFileName
     ].
 
     aPath notNil ifTrue:[
-	aPath do:[:dirName |
-	    |realName dir|
-
-	    dir := dirName asFilename.
-	    aDirName notNil ifTrue:[
-		realName := dir / aDirName / aFileName.
-	    ] ifFalse:[
-		realName := dir / aFileName.
-	    ].
-	    (realName isReadable) ifTrue:[
-		^ realName name
-	    ]
-	].
+        aPath do:[:dirName |
+            |realName dir|
+
+            dir := dirName asFilename.
+            aDirName notNil ifTrue:[
+                realName := dir / aDirName / aFileName.
+            ] ifFalse:[
+                realName := dir / aFileName.
+            ].
+            (realName isReadable) ifTrue:[
+                ^ realName name
+            ]
+        ].
     ].
 
 "/ not needed - executing dir is always in SearchPath
@@ -7573,55 +7588,55 @@
     |classNameSymbol oldAbbrev oldPath newPath cls abbrevs|
 
     CachedAbbreviations isNil ifTrue:[
-	CachedAbbreviations := IdentityDictionary new.
+        CachedAbbreviations := IdentityDictionary new.
     ].
 
     abbrevs := CachedAbbreviations.
     aClassNameString ~= aFileNameString ifTrue:[
-	classNameSymbol := aClassNameString asSymbol.
-	oldAbbrev := abbrevs at:classNameSymbol ifAbsent:nil.
-	oldAbbrev notNil ifTrue:[
-	    oldAbbrev ~= aFileNameString ifTrue:[
-		oldAbbrev asFilename isAbsolute
-		    ifTrue:[ oldPath := oldAbbrev ]
-		    ifFalse:[ oldPath := (self projectDirectoryForPackage:aPackageNameString) asFilename constructString: oldAbbrev ].
-		aFileNameString asFilename isAbsolute
-		    ifTrue:[ newPath := aFileNameString ]
-		    ifFalse:[ newPath := (self projectDirectoryForPackage:aPackageNameString) asFilename constructString: aFileNameString ].
-
-		oldPath ~= newPath ifTrue:[
-		    StandAlone ifFalse:[
-			('Smalltalk [warning]: autoload path change for: ',aClassNameString,' in package ',aPackageNameString) infoPrintCR.
-			('Smalltalk [info]: old: ',oldPath) infoPrintCR.
-			('Smalltalk [info]: new: ',newPath) infoPrintCR.
-		    ]
-		]
-	    ].
-	    "overwrite old abbreviation with new one,
-	     to allow fixing of bad abbrev files"
-	].
-
-	cls := self classNamed:aFileNameString.
-	cls notNil ifTrue:[
-	    cls name ~= aClassNameString ifTrue:[
-		"/ ok, there is a class named after this abbrev ...
-		"/ this is only a conflict, if the other class has no
-		"/ abbreviation (or the same).
-		(abbrevs at:(cls name asSymbol) ifAbsent:cls name) = aFileNameString ifTrue:[
-		    cls isNameSpace ifFalse:[
-			aPackageNameString = cls package ifTrue:[
-			    StandAlone ifFalse:[
-				('Smalltalk [warning]: conflict for: ' , cls name ,
-				    ' in package ' , aPackageNameString) infoPrintCR.
-				('Smalltalk [warning]: (' , aClassNameString , ' -> ' , aFileNameString
-				    , ')') infoPrintCR
-			    ]
-			]
-		    ]
-		]
-	    ]
-	].
-	abbrevs at:classNameSymbol put:aFileNameString.
+        classNameSymbol := aClassNameString asSymbol.
+        oldAbbrev := abbrevs at:classNameSymbol ifAbsent:nil.
+        oldAbbrev notNil ifTrue:[
+            oldAbbrev ~= aFileNameString ifTrue:[
+                oldAbbrev asFilename isAbsolute
+                    ifTrue:[ oldPath := oldAbbrev ]
+                    ifFalse:[ oldPath := (self projectDirectoryForPackage:aPackageNameString) asFilename constructString: oldAbbrev ].
+                aFileNameString asFilename isAbsolute
+                    ifTrue:[ newPath := aFileNameString ]
+                    ifFalse:[ newPath := (self projectDirectoryForPackage:aPackageNameString) asFilename constructString: aFileNameString ].
+
+                oldPath ~= newPath ifTrue:[
+                    StandAlone ifFalse:[
+                        ('Smalltalk [warning]: autoload path change for: ',aClassNameString,' in package ',aPackageNameString) infoPrintCR.
+                        ('Smalltalk [info]: old: ',oldPath) infoPrintCR.
+                        ('Smalltalk [info]: new: ',newPath) infoPrintCR.
+                    ]
+                ]
+            ].
+            "overwrite old abbreviation with new one,
+             to allow fixing of bad abbrev files"
+        ].
+
+        cls := self classNamed:aFileNameString.
+        cls notNil ifTrue:[
+            cls name ~= aClassNameString ifTrue:[
+                "/ ok, there is a class named after this abbrev ...
+                "/ this is only a conflict, if the other class has no
+                "/ abbreviation (or the same).
+                (abbrevs at:(cls name asSymbol) ifAbsent:cls name) = aFileNameString ifTrue:[
+                    cls isNameSpace ifFalse:[
+                        aPackageNameString = cls package ifTrue:[
+                            StandAlone ifFalse:[
+                                ('Smalltalk [warning]: conflict for: ' , cls name ,
+                                    ' in package ' , aPackageNameString) infoPrintCR.
+                                ('Smalltalk [warning]: (' , aClassNameString , ' -> ' , aFileNameString
+                                    , ')') infoPrintCR
+                            ]
+                        ]
+                    ]
+                ]
+            ]
+        ].
+        abbrevs at:classNameSymbol put:aFileNameString.
     ]
 !
 
@@ -7636,9 +7651,9 @@
     |aStream line words n aClassName|
 
     aClassOrClassName isBehavior ifTrue:[
-	aClassName := aClassOrClassName name
+        aClassName := aClassOrClassName name
     ] ifFalse:[
-	aClassName := aClassOrClassName
+        aClassName := aClassOrClassName
     ].
     aClassName := aClassName asString.
 
@@ -7646,26 +7661,26 @@
     with:#(3 2)                   "/ column
     do:[:fileName :col |
 
-	aStream := self systemFileStreamFor:fileName.
-	aStream notNil ifTrue:[
-	    [aStream atEnd] whileFalse:[
-		line := aStream nextLine.
-		line notNil ifTrue:[
-		    (line startsWith:'#') ifFalse:[
-			words := line asCollectionOfWords.
-			(n := words size) > 1 ifTrue:[
-			    (words at:1) = aClassName ifTrue:[
-				n >= col ifTrue:[
-				    aStream close.
-				    ^ (words at:col) withoutSeparators
-				]
-			    ]
-			]
-		    ]
-		]
-	    ].
-	    aStream close
-	].
+        aStream := self systemFileStreamFor:fileName.
+        aStream notNil ifTrue:[
+            [aStream atEnd] whileFalse:[
+                line := aStream nextLine.
+                line notNil ifTrue:[
+                    (line startsWith:'#') ifFalse:[
+                        words := line asCollectionOfWords.
+                        (n := words size) > 1 ifTrue:[
+                            (words at:1) = aClassName ifTrue:[
+                                n >= col ifTrue:[
+                                    aStream close.
+                                    ^ (words at:col) withoutSeparators
+                                ]
+                            ]
+                        ]
+                    ]
+                ]
+            ].
+            aStream close
+        ].
     ].
 
     ^ nil
@@ -7691,7 +7706,7 @@
 
     aString := self getSourceFileName:aFileName.
     aString notNil ifTrue:[
-	^ aString asFilename readStreamOrNil
+        ^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -7705,7 +7720,7 @@
 
     aString := self getSystemFileName:aFileName.
     aString notNil ifTrue:[
-	^ aString asFilename readStreamOrNil
+        ^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -7742,54 +7757,54 @@
 withAbbreviationsFromStream:aStream do:aBlock
     "read classname to filename mappings from aStream.
      Evaluate aBlock for each tuple:
-	class-name , abbrev-name, package
+        class-name , abbrev-name, package
      Sigh - all for those poor sys5.3 or MSDOS people with short filenames..."
 
     |line lineNo words nm abbrev pkg category size s w|
 
     lineNo := 0.
     [aStream atEnd] whileFalse:[
-	line := aStream nextLine.
-	lineNo := lineNo + 1.
-	line notEmptyOrNil ifTrue:[
-	    (line startsWith:'#') ifFalse:[
-
-		"/ must do it manually, caring for quoted strings.
+        line := aStream nextLine.
+        lineNo := lineNo + 1.
+        line notEmptyOrNil ifTrue:[
+            (line startsWith:'#') ifFalse:[
+
+                "/ must do it manually, caring for quoted strings.
 "/                words := line asCollectionOfWords.
 
-		words := OrderedCollection new.
-		s := line readStream.
-		[s atEnd] whileFalse:[
-		    s skipSeparators.
-		    s peek == $' ifTrue:[
-			s next.
-			w := s upTo:$'.
-			s skipSeparators.
-		    ] ifFalse:[
-			w := s upToSeparator
-		    ].
-		    words add:w
-		].
-		words size >= 3 ifTrue:[
-		    nm := (words at:1) withoutSeparators.
-		    abbrev := (words at:2) withoutSeparators.
-		    pkg := (words at:3) withoutSeparators.
-		    aBlock argumentCount = 3 ifTrue:[
-			aBlock value:nm value:abbrev value:pkg.
-		    ] ifFalse:[
-			words size >= 4 ifTrue:[
-			    category := words at:4.
-			].
-			words size = 5 ifTrue:[
-			    size := (words at:5) asNumber
-			].
-			aBlock value:nm value:abbrev value:pkg value: category value: size
-		    ]
-		] ifFalse:[
-		    ('Smalltalk [warning]: malformed line ', lineNo printString , ' in ' , (aStream pathName)) infoPrintCR.
-		]
-	    ]
-	]
+                words := OrderedCollection new.
+                s := line readStream.
+                [s atEnd] whileFalse:[
+                    s skipSeparators.
+                    s peek == $' ifTrue:[
+                        s next.
+                        w := s upTo:$'.
+                        s skipSeparators.
+                    ] ifFalse:[
+                        w := s upToSeparator
+                    ].
+                    words add:w
+                ].
+                words size >= 3 ifTrue:[
+                    nm := (words at:1) withoutSeparators.
+                    abbrev := (words at:2) withoutSeparators.
+                    pkg := (words at:3) withoutSeparators.
+                    aBlock argumentCount = 3 ifTrue:[
+                        aBlock value:nm value:abbrev value:pkg.
+                    ] ifFalse:[
+                        words size >= 4 ifTrue:[
+                            category := words at:4.
+                        ].
+                        words size = 5 ifTrue:[
+                            size := (words at:5) asNumber
+                        ].
+                        aBlock value:nm value:abbrev value:pkg value: category value: size
+                    ]
+                ] ifFalse:[
+                    ('Smalltalk [warning]: malformed line ', lineNo printString , ' in ' , (aStream pathName)) infoPrintCR.
+                ]
+            ]
+        ]
     ].
 
     "Modified: / 06-03-2011 / 18:17:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -7839,7 +7854,7 @@
 
     packageDir := self getPackageFileName:packageDirName.
     packageDir isNil ifTrue:[
-	^ nil.
+        ^ nil.
     ].
     ^ packageDir asFilename
 
@@ -7855,11 +7870,11 @@
 
     projectDefinition := aPackageIdOrPackage.
     projectDefinition isProjectDefinition ifFalse:[
-	projectDefinition := projectDefinition asPackageId projectDefinitionClass.
-	projectDefinition isNil ifTrue:[
-	    'Smalltalk [info] trying to unload non-existing package: ' infoPrint. aPackageIdOrPackage infoPrintCR.
-	    ^ self.
-	].
+        projectDefinition := projectDefinition asPackageId projectDefinitionClass.
+        projectDefinition isNil ifTrue:[
+            'Smalltalk [info] trying to unload non-existing package: ' infoPrint. aPackageIdOrPackage infoPrintCR.
+            ^ self.
+        ].
     ].
     projectDefinition unloadPackage.
 
@@ -7875,7 +7890,7 @@
     "remove all undeclared variables"
 
     (Smalltalk at:#Undeclared) do:[:eachKey |
-	Smalltalk removeKey:(self undeclaredPrefix , eachKey) asSymbol.
+        Smalltalk removeKey:(self undeclaredPrefix , eachKey) asSymbol.
     ].
     (Smalltalk at:#Undeclared) removeAll.
     Smalltalk removeKey:#Undeclared.
@@ -7962,7 +7977,7 @@
     exp = __MKUINT(__getExpirationTime());
 %}.
     exp == 0 ifTrue:[
-	^ nil
+        ^ nil
     ].
     ^ Timestamp new fromOSTime:(exp * 1000). "OSTime is ms since 1970"
 
@@ -7999,28 +8014,28 @@
 
     lang := Language.
     (lang == #de) ifTrue:[
-	proto := 'Willkommen bei %1 (Version %2 von %3)'
+        proto := 'Willkommen bei %1 (Version %2 von %3)'
     ] ifFalse:[ (lang == #fr) ifTrue:[
-	proto := 'Salut, Bienvenue à %1 (version %2 de %3)'
+        proto := 'Salut, Bienvenue à %1 (version %2 de %3)'
     ] ifFalse:[ (lang == #it) ifTrue:[
-	proto := 'Ciao, benvenuto al %1 (versione %2 di %3)'
+        proto := 'Ciao, benvenuto al %1 (versione %2 di %3)'
     ] ifFalse:[ (lang == #es) ifTrue:[
-"/        proto := 'Hola, bienvenida a %1 (versión %2 de %3)'
+"/        proto := 'Hola, bienvenida a %1 (versión %2 de %3)'
     ] ifFalse:[ (lang == #es) ifTrue:[
-"/        proto := 'Oi, benvindo a %1 (versão %2 de %3)'
+"/        proto := 'Oi, benvindo a %1 (versão %2 de %3)'
     ] ifFalse:[ (lang == #no) ifTrue:[
-	proto := 'Hei, verdenmottakelse til %1 (versjon %2 av %3)'
+        proto := 'Hei, verdenmottakelse til %1 (versjon %2 av %3)'
     ]]]]]].
 
     "/ ... more needed here ...
 
     proto isNil ifTrue:[
-	proto := 'Hello World - here is %1 version %2 of %3'.
+        proto := 'Hello World - here is %1 version %2 of %3'.
     ].
 
     ^ proto bindWith:('SmallTalk/X' allBold)
-		with:(self versionString)
-		with:(self versionDate)
+                with:(self versionString)
+                with:(self versionDate)
 
     "
      Smalltalk language:#us.
@@ -8089,7 +8104,7 @@
       classes changes).
 
      ST/X revision Naming is:
-	<major>.<minor>.<revision>.<release>"
+        <major>.<minor>.<revision>.<release>"
 
     ^ 6
 
@@ -8109,7 +8124,7 @@
      classes need rework.
 
      ST/X revision Naming is:
-	<major>.<minor>.<revision>.<release>"
+        <major>.<minor>.<revision>.<release>"
 
     ^ 2
 
@@ -8145,13 +8160,13 @@
      Now releaseNr is the build number (BUILD_NUMBER from Jenkins)
 
      ST/X revision Naming is:
-	<major>.<minor>.<revision>.<release>"
+        <major>.<minor>.<revision>.<release>"
 
     |releaseNumber|
 
     releaseNumber := Smalltalk versionBuildNumber.
     releaseNumber isEmpty ifTrue:[
-	^ 0.
+        ^ 0.
     ].
     ^ releaseNumber
 
@@ -8173,7 +8188,7 @@
      to the outside world.
 
      ST/X revision Naming is:
-	<major>.<minor>.<revision>.<release>"
+        <major>.<minor>.<revision>.<release>"
 
     ^ 5