schteam
authorClaus Gittinger <cg@exept.de>
Tue, 04 Aug 2015 16:25:44 +0200
changeset 18668 b8be71e850e1
parent 18667 ed22f49c33f1
child 18669 11586f97d3ec
schteam
Smalltalk.st
String.st
--- a/Smalltalk.st	Mon Aug 03 18:50:13 2015 +0200
+++ b/Smalltalk.st	Tue Aug 04 16:25:44 2015 +0200
@@ -2,7 +2,7 @@
 
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -16,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:''
@@ -42,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
@@ -72,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
 "
 ! !
 
@@ -235,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
     ].
 
     "/
@@ -284,7 +284,7 @@
     "/ in case, someone needs the objectFileLoader early
     "/
     ObjectFileLoader notNil ifTrue:[
-        ObjectFileLoader initialize.
+	ObjectFileLoader initialize.
     ].
 
     "/
@@ -301,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.
     ].
 
     "/
@@ -322,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.
@@ -343,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
+	]
     ].
 
     "
@@ -399,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.
     ].
 
     "
@@ -418,7 +418,7 @@
     Stderr := NonPositionableExternalStream forStderr.
     Stdin := NonPositionableExternalStream forStdin.
     PrinterStream notNil ifTrue:[
-        Printer := PrinterStream defaultPrinter.
+	Printer := PrinterStream defaultPrinter.
     ].
     Transcript := Stderr
 
@@ -435,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
@@ -460,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.
     ].
 
     "
@@ -547,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"
@@ -572,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.
@@ -611,10 +611,10 @@
      Here, a few specific initializations are done, then the actual initialization is
      done inside an error handler in basicInitializeSystem.
      Notice:
-        this is called by the VM's main entry. You will not find senders from Smalltalk.
+	this is called by the VM's main entry. You will not find senders from Smalltalk.
      Also 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."
 
     |idx|
 
@@ -624,79 +624,79 @@
     AbstractOperatingSystem initializeConcreteClass.
 
     CommandLineArguments isEmptyOrNil ifTrue:[
-        CommandLineArguments := #('stx') asOrderedCollection.
+	CommandLineArguments := #('stx') asOrderedCollection.
     ].
     CommandLine := CommandLineArguments copy.
     CommandLineArguments := CommandLineArguments asOrderedCollection.
     CommandName := CommandLineArguments removeFirst. "/ the command
 
     (idx := CommandLineArguments indexOf:'--silentStartup') ~~ 0 ifTrue:[
-        SilentLoading := true.
-        CommandLineArguments removeIndex:idx
+	SilentLoading := true.
+	CommandLineArguments removeIndex:idx
     ] ifFalse:[
-        SilentLoading := false.
+	SilentLoading := false.
     ].
     (idx := CommandLineArguments indexOf:'--verboseLoading') ~~ 0 ifTrue:[
-        VerboseLoading := true.
-        CommandLineArguments removeIndex:idx
+	VerboseLoading := true.
+	CommandLineArguments removeIndex:idx
     ] ifFalse:[
-        VerboseLoading := false.
+	VerboseLoading := false.
     ].
     (idx := CommandLineArguments indexOf:'--verboseStartup') ~~ 0 ifTrue:[
-        VerboseLoading := true.
-        VerboseStartup := true.
-        CommandLineArguments removeIndex:idx
+	VerboseLoading := true.
+	VerboseStartup := true.
+	CommandLineArguments removeIndex:idx
     ] ifFalse:[
-        VerboseStartup := false.
+	VerboseStartup := false.
     ].
     (idx := CommandLineArguments indexOf:'--verbose') ~~ 0 ifTrue:[
-        Verbose := true.
-        VerboseLoading := true.
-        VerboseStartup := true.
-        CommandLineArguments removeIndex:idx
+	Verbose := true.
+	VerboseLoading := true.
+	VerboseStartup := true.
+	CommandLineArguments removeIndex:idx
     ] ifFalse:[
-        Verbose := false.
+	Verbose := false.
     ].
 
     DebuggingStandAlone := false.
 
     StandAlone ifTrue:[
-        InfoPrinting := false.
-        ObjectMemory infoPrinting:false.
-        IgnoreAssertions := true.
-
-        idx := CommandLineArguments indexOf:'--debug'.
-        idx ~~ 0 ifTrue:[
-            DebuggingStandAlone := true.
-        ].
-        DebuggingStandAlone ifTrue:[
-            Inspector := MiniInspector.
-            Debugger := MiniDebugger.
-            IgnoreAssertions := false.
-        ].
+	InfoPrinting := false.
+	ObjectMemory infoPrinting:false.
+	IgnoreAssertions := true.
+
+	idx := CommandLineArguments indexOf:'--debug'.
+	idx ~~ 0 ifTrue:[
+	    DebuggingStandAlone := true.
+	].
+	DebuggingStandAlone ifTrue:[
+	    Inspector := MiniInspector.
+	    Debugger := MiniDebugger.
+	    IgnoreAssertions := false.
+	].
     ] ifFalse:[
-        "/
-        "/ define low-level debugging tools - graphical classes are not prepared yet
-        "/ to handle things.
-        "/ This will bring us into the MiniDebugger when an error occurs during startup.
-        "/
-        Inspector := MiniInspector.
-        Debugger := MiniDebugger.
-        IgnoreAssertions := false.
+	"/
+	"/ define low-level debugging tools - graphical classes are not prepared yet
+	"/ to handle things.
+	"/ This will bring us into the MiniDebugger when an error occurs during startup.
+	"/
+	Inspector := MiniInspector.
+	Debugger := MiniDebugger.
+	IgnoreAssertions := false.
     ].
 
     Error handle:[:ex |
-        StandAlone ifTrue:[
-            DebuggingStandAlone ifFalse:[
-                'Startup Error - use "--debug" command line argument for more info' errorPrintCR.
-                Smalltalk exit:1.
-            ].
-            'Smalltalk [error]: Error during early initialization:' errorPrintCR.
-            thisContext fullPrintAll.
-        ].
-        ex reject.
+	StandAlone ifTrue:[
+	    DebuggingStandAlone ifFalse:[
+		'Startup Error - use "--debug" command line argument for more info' errorPrintCR.
+		Smalltalk exit:1.
+	    ].
+	    'Smalltalk [error]: Error during early initialization:' errorPrintCR.
+	    thisContext fullPrintAll.
+	].
+	ex reject.
     ] do:[
-        self basicInitializeSystem
+	self basicInitializeSystem
     ].
 
     "Modified: / 12-10-2010 / 11:27:47 / cg"
@@ -780,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.
@@ -816,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
 ! !
@@ -841,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
@@ -867,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"
 !
@@ -886,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
@@ -900,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.
 !
@@ -961,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|
 
@@ -983,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 = STSmalltalkEnvironment.GetResolvedBindingOrNull(keySymbol);
+
+	return context._RETURN( val == null ? Nil : val );
     }
     /* NOT REACHED */
 #else
@@ -1002,7 +1002,7 @@
      the evaluation of aBlock."
 
     (self includesKey:aKey) ifTrue:[
-        ^ self at:aKey
+	^ self at:aKey
     ].
     ^ aBlock value
 
@@ -1030,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
 
@@ -1053,26 +1053,26 @@
 %{
 #ifdef __SCHTEAM__
     {
-        STSymbol keySymbol = aKey.asSTSymbol();
-        oldValue = SmalltalkEnvironment.setBinding(keySymbol, aValue);
+	STSymbol keySymbol = aKey.asSTSymbol();
+	oldValue = STSmalltalkEnvironment.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.
 
@@ -1091,7 +1091,7 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     STSymbol keySymbol = aKey.asSTSymbol();
-    return __c__._RETURN( SmalltalkEnvironment.hasBinding(keySymbol) ? STObject.True : STObject.False);
+    return __c__._RETURN( STSmalltalkEnvironment.HasBinding(keySymbol) ? STObject.True : STObject.False);
     /* NOT REACHED */
 #else
     RETURN ( __GLOBAL_KEYKNOWN(aKey) );
@@ -1104,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
 
@@ -1124,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.
 
@@ -1193,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'
     ]
 
     "
@@ -1280,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).
+	]
     ].
 
     "
@@ -1304,7 +1304,7 @@
 
 flushCachedClass:aClass
     CachedClasses notNil ifTrue:[
-        CachedClasses remove:aClass ifAbsent:[].
+	CachedClasses remove:aClass ifAbsent:[].
     ].
 !
 
@@ -1328,31 +1328,31 @@
     oldName := aClass name.
     sym := oldNameSym := oldName asSymbol.
     ((self at:oldNameSym) == aClass) ifFalse:[
-        "check other name ..."
-        (self includes:aClass) ifFalse:[
-            'Smalltalk [warning]: no such class: ' errorPrint. oldName errorPrintCR.
-            ^ self
-        ].
-        "
-         the class has changed its name - without telling me ...
-         what should be done in this case ?
-        "
-        'Smalltalk [warning]: class ' errorPrint. oldName errorPrint.
-        ' has changed its name' errorPrintCR.
-
-        "/
-        "/ might be an alias (i.e. removing a compatibility name)
-        "/
-        actualName := self keyAtValue:aClass.
-        ('Smalltalk [info]: ' , oldName , ' is actually stored as ' , actualName , '.') infoPrintCR.
-        sym := actualName asSymbol.
-        oldName := actualName asString.
-        wrongName := true.
+	"check other name ..."
+	(self includes:aClass) ifFalse:[
+	    'Smalltalk [warning]: no such class: ' errorPrint. oldName errorPrintCR.
+	    ^ self
+	].
+	"
+	 the class has changed its name - without telling me ...
+	 what should be done in this case ?
+	"
+	'Smalltalk [warning]: class ' errorPrint. oldName errorPrint.
+	' has changed its name' errorPrintCR.
+
+	"/
+	"/ might be an alias (i.e. removing a compatibility name)
+	"/
+	actualName := self keyAtValue:aClass.
+	('Smalltalk [info]: ' , oldName , ' is actually stored as ' , actualName , '.') infoPrintCR.
+	sym := actualName asSymbol.
+	oldName := actualName asString.
+	wrongName := true.
     ].
 
     ns := aClass nameSpace.
     aClass topOwningClass notNil ifTrue:[
-        ons := aClass topOwningClass nameSpace
+	ons := aClass topOwningClass nameSpace
     ].
 
     self at:sym put:nil.    "nil it out for compiled accesses"
@@ -1361,25 +1361,25 @@
     "/ see comment in removeKey: on why we dont remove it here
     "/
     "/ self removeKey:sym.     "/ remove key - this actually fails, if there are
-                               "/ still compiled code references."
+			       "/ still compiled code references."
 
     "remove private classes"
 
     aClass privateClassesSorted do:[:somePrivateClass |
-        aClass privateClassesAt:(somePrivateClass nameWithoutPrefix) asSymbol put:nil.
+	aClass privateClassesAt:(somePrivateClass nameWithoutPrefix) asSymbol put:nil.
     ].
 
     "remove class variables"
 
     names := aClass classVariableString asCollectionOfWords.
     names do:[:name |
-        cSym := aClass globalKeyForClassVar:name.
-        self at:cSym asSymbol put:nil.
-
-        "/
-        "/ see comment in removeKey: on why we dont remove it here
-        "/
-        "/ self removeKey:cSym
+	cSym := aClass globalKeyForClassVar:name.
+	self at:cSym asSymbol put:nil.
+
+	"/
+	"/ see comment in removeKey: on why we dont remove it here
+	"/
+	"/ self removeKey:cSym
     ].
 
 
@@ -1411,31 +1411,31 @@
     Class flushSubclassInfoFor:aClass.
 
     wrongName == true ifTrue:[
-        "/
-        "/ an alias (i.e. removing a compatibility name)
-        "/
-        "/ check if there are more refs to it ...
-        [self includes:aClass] whileTrue:[
-            actualName := self keyAtValue:aClass.
-            ('Smalltalk [info]: ' , aClass name , ' is also registered under the name ' , actualName
-                          , ' - remove that binding too.') infoPrintCR.
-            self at:actualName put:nil.
-        ].
+	"/
+	"/ an alias (i.e. removing a compatibility name)
+	"/
+	"/ check if there are more refs to it ...
+	[self includes:aClass] whileTrue:[
+	    actualName := self keyAtValue:aClass.
+	    ('Smalltalk [info]: ' , aClass name , ' is also registered under the name ' , actualName
+			  , ' - remove that binding too.') infoPrintCR.
+	    self at:actualName put:nil.
+	].
     ].
 
     ns ~~ Smalltalk ifTrue:[
-        ons notNil ifTrue:[
-            ClassBuilder
-                recompileGlobalAccessorsTo:oldNameSym
-                in:ons
-                except:nil
-        ].
-        (ns notNil and:[ns ~~ ons]) ifTrue:[
-            ClassBuilder
-                recompileGlobalAccessorsTo:oldNameSym
-                in:ns
-                except:nil
-        ].
+	ons notNil ifTrue:[
+	    ClassBuilder
+		recompileGlobalAccessorsTo:oldNameSym
+		in:ons
+		except:nil
+	].
+	(ns notNil and:[ns ~~ ons]) ifTrue:[
+	    ClassBuilder
+		recompileGlobalAccessorsTo:oldNameSym
+		in:ns
+		except:nil
+	].
     ].
 
     "Modified: / 18-11-2006 / 17:16:31 / cg"
@@ -1456,24 +1456,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.
@@ -1484,8 +1484,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
@@ -1494,42 +1494,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.
@@ -1549,32 +1549,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 |
@@ -1597,85 +1597,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).
@@ -1741,7 +1741,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__();
@@ -1785,9 +1785,9 @@
     char *msg;
 
     if (__isStringLike(aMessage))
-        msg = (char *) __stringVal(aMessage);
+	msg = (char *) __stringVal(aMessage);
     else
-        msg = "fatalAbort";
+	msg = "fatalAbort";
 
     __fatal0(__context, msg);
     /* NEVER RETURNS */
@@ -1801,7 +1801,7 @@
      Usually, this is done in standAlone applications"
 
     IgnoreHalt isNil ifTrue:[
-        ^  self isStandAloneApp
+	^  self isStandAloneApp
     ].
     ^ IgnoreHalt
 
@@ -1857,12 +1857,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.
@@ -1881,18 +1881,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.
+	].
     ].
 !
 
@@ -1914,13 +1914,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"
@@ -1930,13 +1930,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]
     "
 !
 
@@ -1958,7 +1958,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
     ]
 
     "
@@ -1975,12 +1975,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
     ]
 
     "
@@ -1998,16 +1998,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.
+	]
     ].
 
     "
@@ -2056,7 +2056,7 @@
 
     allCategories := Set new.
     Smalltalk allClassesDo:[:cls |
-        allCategories addAll:cls categories.
+	allCategories addAll:cls categories.
     ].
 
     ^ allCategories.
@@ -2070,9 +2070,9 @@
     "enumerate all methods in all classes"
 
     Smalltalk allClassesDo:[:eachClass |
-        eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
-            aBlock value:mthd
-        ]
+	eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+	    aBlock value:mthd
+	]
     ].
 !
 
@@ -2083,11 +2083,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
 !
@@ -2097,9 +2097,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
+	]
     ].
 !
 
@@ -2108,7 +2108,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]"
@@ -2119,7 +2119,7 @@
 
 %{
 #ifdef __SCHTEAM__
-    STObject[] keys = SmalltalkEnvironment.getKeyVector();
+    STObject[] keys = STSmalltalkEnvironment.GetKeyVector();
     return __c__._RETURN( new STVector(keys) );
 #endif
 %}.
@@ -2136,7 +2136,7 @@
     RETURN (self);
 %}.
     self keysDo:[:aKey |
-        aBlock value:(self at:aKey)
+	aBlock value:(self at:aKey)
     ]
 !
 
@@ -2144,7 +2144,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)
     ]
 !
 
@@ -2153,16 +2153,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]
     "
 !
 
@@ -2175,7 +2175,7 @@
     RETURN (self);
 %}.
     self basicKeys do:[:aKey |
-        aBlock value:aKey
+	aBlock value:aKey
     ]
 ! !
 
@@ -2249,12 +2249,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!!
@@ -2265,112 +2265,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'.
@@ -2389,7 +2389,7 @@
 
     extensionsLoaded := false.
     ProgrammingLanguage allDo:[:lang|
-        extensionsLoaded := extensionsLoaded | (self loadExtensionsForPackage:aPackageId language: lang)
+	extensionsLoaded := extensionsLoaded | (self loadExtensionsForPackage:aPackageId language: lang)
     ].
     ^ extensionsLoaded
 
@@ -2408,71 +2408,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
 
@@ -2487,8 +2487,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>"
@@ -2501,13 +2501,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
 
@@ -2526,7 +2526,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"
@@ -2537,25 +2537,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
@@ -2580,37 +2580,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.
@@ -2626,7 +2626,7 @@
 
     new ifTrue:[Project addLoadedProject:p].
     anyFail ifTrue:[
-        ^ PackageLoadError raiseRequestWith:packageId.
+	^ PackageLoadError raiseRequestWith:packageId.
     ].
     ^ true
 !
@@ -2638,9 +2638,9 @@
     |p t new|
 
     (self fileIn:aFilename) ifFalse:[
-        (self fileInClassLibrary:aFilename) ifFalse:[
-            ^ false.
-        ]
+	(self fileInClassLibrary:aFilename) ifFalse:[
+	    ^ false.
+	]
     ].
 
     new := (p := Project projectWithId:packageId) isNil.
@@ -2667,10 +2667,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
 
     "
@@ -2687,10 +2687,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.
@@ -2713,8 +2713,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
@@ -2731,13 +2731,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
 
@@ -2761,27 +2761,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
 
@@ -2804,8 +2804,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
 !
@@ -2816,13 +2816,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
+	    ]
       ]
 
     "
@@ -2839,12 +2839,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
 
@@ -2860,7 +2860,7 @@
 
     methods := OrderedCollection new.
     self allClassesDo:[:eachClass |
-        methods addAll:(eachClass extensionsFrom:aProjectID).
+	methods addAll:(eachClass extensionsFrom:aProjectID).
     ].
     ^ methods
 !
@@ -2872,12 +2872,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
 
@@ -2918,30 +2918,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
@@ -2968,7 +2968,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
 
@@ -2994,45 +2994,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
@@ -3069,7 +3069,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
 !
@@ -3077,7 +3077,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
 
@@ -3108,7 +3108,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
 
@@ -3126,7 +3126,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:'.
@@ -3145,8 +3145,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>"
@@ -3237,11 +3237,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.
 
@@ -3263,15 +3263,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
 
@@ -3292,7 +3292,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
 
@@ -3321,10 +3321,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
 
@@ -3335,8 +3335,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
 !
@@ -3345,8 +3345,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
 !
@@ -3355,8 +3355,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
 
@@ -3378,8 +3378,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.
@@ -3389,12 +3389,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.
 
@@ -3404,7 +3404,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
 !
@@ -3412,7 +3412,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
 
@@ -3577,10 +3577,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.
@@ -3588,9 +3588,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'.
@@ -3615,18 +3615,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"
@@ -3652,43 +3652,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.
@@ -3699,49 +3699,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.
 
@@ -3758,67 +3758,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;
@@ -3828,14 +3828,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
@@ -3855,27 +3855,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"
@@ -3890,10 +3890,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"
 !
@@ -3908,15 +3908,15 @@
      #earlySystemInstallation is sent for ST80 compatibility
 
      #earlyRestart is send first, nothing has been setup yet.
-                   (should be used to flush all device dependent entries)
+		   (should be used to flush all device dependent entries)
 
      #restarted is send right after.
-                   (should be used to recreate external resources (fds, bitmaps etc)
+		   (should be used to recreate external resources (fds, bitmaps etc)
 
      #returnFromSnapshot is sent last
-                   (should be used to restart processes, reOpen Streams which cannot
-                    be automatically be reopened (i.e. Sockets, Pipes) and so on.
-                   (Notice that positionable fileStreams are already reopened and repositioned)
+		   (should be used to restart processes, reOpen Streams which cannot
+		    be automatically be reopened (i.e. Sockets, Pipes) and so on.
+		   (Notice that positionable fileStreams are already reopened and repositioned)
      "
 
     |deb insp transcript idx|
@@ -3940,12 +3940,12 @@
 
     idx := CommandLineArguments indexOf:'-q'.
     idx == 0 ifTrue:[
-        idx := CommandLineArguments indexOf:'--silent'.
+	idx := CommandLineArguments indexOf:'--silent'.
     ].
     idx ~~ 0 ifTrue:[
-        Object infoPrinting:false.
-        ObjectMemory infoPrinting:false.
-        CommandLineArguments removeAtIndex:idx.
+	Object infoPrinting:false.
+	ObjectMemory infoPrinting:false.
+	CommandLineArguments removeAtIndex:idx.
     ].
 
     "/ start catching SIGSEGV and SIGBUS
@@ -3971,7 +3971,7 @@
     insp := Inspector.
     deb := Debugger.
     deb notNil ifTrue:[
-        deb reinitialize
+	deb reinitialize
     ].
     Inspector := MiniInspector.
     Debugger := MiniDebugger.
@@ -3984,16 +3984,16 @@
     "/ ObjectFileLoader; therefore, must reload before doing any notifications.
 
     ObjectFileLoader notNil ifTrue:[
-        ObjectFileLoader reloadAllRememberedObjectFiles.
+	ObjectFileLoader reloadAllRememberedObjectFiles.
     ].
 
     "/ invalidate all display connections.
     "/ This is required to avoid trouble if someone accesses
     "/ a display during early startup.
     Screen notNil ifTrue:[
-        Screen allScreens do:[:eachDisplay |
-            eachDisplay invalidateConnection.
-        ].
+	Screen allScreens do:[:eachDisplay |
+	    eachDisplay invalidateConnection.
+	].
     ].
 
     ObjectMemory changed:#earlySystemInstallation.
@@ -4005,7 +4005,7 @@
     "/ flush device handles & recreate OS resources (if possible)
     "/ (mostly view/GC/color & font stuff)
     ObjectMemory
-        changed:#earlyRestart; changed:#restarted.
+	changed:#earlyRestart; changed:#restarted.
 
     "/ start catching SIGINT and SIGQUIT
     OperatingSystem enableUserInterrupts.
@@ -4016,78 +4016,78 @@
     "/ reading if smalltalk_r.rc may be suppressed by the --faststart argument.
     idx := CommandLineArguments indexOf:'--faststart'.
     idx == 0 ifTrue:[
-        idx := CommandLineArguments indexOf:'--fastStart'.
+	idx := CommandLineArguments indexOf:'--fastStart'.
     ].
     idx ~~ 0 ifTrue:[
-        CommandLineArguments removeAtIndex:idx.
+	CommandLineArguments removeAtIndex:idx.
     ] ifFalse:[
-        CallbackSignal := QuerySignal new.
-        [
-            Class withoutUpdatingChangesDo:[
-                (self fileIn:(self commandName , '_r.rc')) ifFalse:[
-                    "no _r.rc file where executable is; try default smalltalk_r.rc"
-                    self fileIn:'smalltalk_r.rc'
-                ].
-            ]
-        ] on:CallbackSignal do:[:ex|
-            "/ now, display and view-stuff works;
-            "/ back to the previous debugging interface
-            Inspector := insp.
-            Debugger := deb.
-
-            "/ reinstall Transcript, if not changed during restart.
-            "/ if there was no Transcript, go to stderr
-            (transcript notNil and:[Transcript == Stderr]) ifTrue:[
-                Transcript := transcript.
-            ].
-            Initializing := false.
-            ex proceed.
-        ].
-        CallbackSignal := nil.
+	CallbackSignal := QuerySignal new.
+	[
+	    Class withoutUpdatingChangesDo:[
+		(self fileIn:(self commandName , '_r.rc')) ifFalse:[
+		    "no _r.rc file where executable is; try default smalltalk_r.rc"
+		    self fileIn:'smalltalk_r.rc'
+		].
+	    ]
+	] on:CallbackSignal do:[:ex|
+	    "/ now, display and view-stuff works;
+	    "/ back to the previous debugging interface
+	    Inspector := insp.
+	    Debugger := deb.
+
+	    "/ reinstall Transcript, if not changed during restart.
+	    "/ if there was no Transcript, go to stderr
+	    (transcript notNil and:[Transcript == Stderr]) ifTrue:[
+		Transcript := transcript.
+	    ].
+	    Initializing := false.
+	    ex proceed.
+	].
+	CallbackSignal := nil.
     ].
 
     "/ reinitialization (restart) of Display is normally performed
     "/ in the restart script. If this has not been run for some reason,
     "/ do in now.
     Initializing ifTrue:[
-        Display notNil ifTrue:[
-            [
-                Display reinitializeFor:Screen defaultDisplayName.
-            ] on:Screen deviceOpenErrorSignal do:[
-                'Smalltalk [error]: Cannot restart connection to: ' errorPrint.
-                Screen defaultDisplayName errorPrintCR.
-                OperatingSystem exit:1.
-            ].
-        ].
-        "/ now, display and view-stuff works;
-        "/ back to the previous debugging interface
-
-        Inspector := insp.
-        Debugger := deb.
-
-        "/ reinstall Transcript, if not changed during restart.
-        "/ if there was no Transcript, go to stderr
-
-        (transcript notNil and:[Transcript == Stderr]) ifTrue:[
-            Transcript := transcript.
-        ].
-        Initializing := false.
+	Display notNil ifTrue:[
+	    [
+		Display reinitializeFor:Screen defaultDisplayName.
+	    ] on:Screen deviceOpenErrorSignal do:[
+		'Smalltalk [error]: Cannot restart connection to: ' errorPrint.
+		Screen defaultDisplayName errorPrintCR.
+		OperatingSystem exit:1.
+	    ].
+	].
+	"/ now, display and view-stuff works;
+	"/ back to the previous debugging interface
+
+	Inspector := insp.
+	Debugger := deb.
+
+	"/ reinstall Transcript, if not changed during restart.
+	"/ if there was no Transcript, go to stderr
+
+	(transcript notNil and:[Transcript == Stderr]) ifTrue:[
+	    Transcript := transcript.
+	].
+	Initializing := false.
     ].
     Screen notNil ifTrue:[
-        "clean up leftover screens (and views) that haven't been reopened.
-         Operate on a copy, since brokenConnection removes us from AllScreens"
-        Screen allScreens copy do:[:eachDisplay |
-            eachDisplay isOpen ifFalse:[
-                'Smalltalk [info]: cannot reopen secondary display: ' errorPrint.
-                eachDisplay errorPrintCR.
-                eachDisplay cleanupAfterDispatch; brokenConnection.
-            ]
-        ].
+	"clean up leftover screens (and views) that haven't been reopened.
+	 Operate on a copy, since brokenConnection removes us from AllScreens"
+	Screen allScreens copy do:[:eachDisplay |
+	    eachDisplay isOpen ifFalse:[
+		'Smalltalk [info]: cannot reopen secondary display: ' errorPrint.
+		eachDisplay errorPrintCR.
+		eachDisplay cleanupAfterDispatch; brokenConnection.
+	    ]
+	].
     ].
 
     deb := insp := transcript := nil.   "avoid dangling refs"
     (StartupClass perform:#keepSplashWindowOpen ifNotUnderstood:[false]) ifFalse:[
-        self hideSplashWindow.   "/ if there is one, it's now time to hide it
+	self hideSplashWindow.   "/ if there is one, it's now time to hide it
     ].
     self mainStartup:true
 
@@ -4112,11 +4112,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
@@ -4151,243 +4151,243 @@
      while reading patches- and rc-file, do not add things into change-file
     "
     Class withoutUpdatingChangesDo:[
-        |commandFile defaultRC prevCatchSetting
-         isEval isPrint isFilter isRepl idxFileArg process|
-
-        isEval := isPrint := isFilter := isRepl := false.
-        didReadRCFile := false.
-
-        StandAlone ifFalse:[
-            "/
-            "/ look for any '-q', '-e', '-l' or '-f' command line arguments
-            "/ and handle them;
-            "/ read startup and patches file
-            "/
-            idx := CommandLineArguments indexOfAny:#('-R' '--repl').
-            isRepl := (idx ~~ 0).
-
-            idx := CommandLineArguments indexOfAny:#('-q' '--silent').
-            idx ~~ 0 ifTrue:[
-                Object infoPrinting:false.
-                ObjectMemory infoPrinting:false.
-                CommandLineArguments removeAtIndex:idx.
-                SilentLoading := true.
-            ].
-
-            [
-                idx := CommandLineArguments indexOfAny:#('-pp' '--packagePath').
-                idx ~~ 0
-            ] whileTrue:[
-                arg := CommandLineArguments at:idx + 1.
-                CommandLineArguments removeAtIndex:idx+1; removeAtIndex:idx.
-                self packagePath addLast:arg.
-                VerboseStartup == true ifTrue:[
-                    ('Smalltalk [info]: add to packagePath: "', arg, '".') infoPrintCR.
-                ].
-            ].
-
-            [
-                idx := CommandLineArguments indexOfAny:#('-l' '--load').
-                idx ~~ 0
-            ] whileTrue:[
-                arg := CommandLineArguments at:idx + 1.
-                CommandLineArguments removeAtIndex:idx+1; removeAtIndex:idx.
-                arg asFilename exists ifTrue:[
-                    Smalltalk fileIn:arg
-                ] ifFalse:[
-                    Smalltalk loadPackage:arg
-                ].
-            ].
-
-            "/ look for a '-e filename' or '--execute filename' argument
-            "/ this will force fileIn of filename only, no standard startup.
-
-            idx := CommandLineArguments indexOfAny:#('-e' '--execute' '--script').
-            idx ~~ 0 ifTrue:[
-                SilentLoading := true.
-                CommandName := arg := CommandLineArguments at:idx + 1.
-
-                CommandLineArguments
-                    removeAtIndex:idx+1; removeAtIndex:idx.
-
-                self startSchedulerAndBackgroundCollector.
-                keepSplashWindow ifFalse:[ self hideSplashWindow ].
-                Initializing := false.
-
-                process := [
-                    VerboseStartup == true ifTrue:[
-                        ('Smalltalk [info]: reading script from: "', arg, '".') infoPrintCR.
-                    ].
-                    UserInterrupt handle:[:ex |
-                        self exit:128+(OperatingSystem sigINT).
-                    ] do:[
-                        arg = '-' ifTrue:[
-                            self fileInStream:Stdin
-                                   lazy:nil
-                                   silent:nil
-                                   logged:false
-                                   addPath:nil
-                        ] ifFalse:[
-                            IsSTScript := true.
-                            self fileIn:arg.
-                        ].
-                    ].
-                    "/ after the script, if Screen has been opened and there are any open windows,
-                    "/ then do not exit
-                    Display notNil ifTrue:[
-                        Display exitOnLastClose:true.
-                        Display checkForEndOfDispatch.
-                        Processor exitWhenNoMoreUserProcesses:true.
-                    ] ifFalse:[
-                        self exit.
-                    ].
-                ] newProcess.
-                process priority:(Processor userSchedulingPriority).
-                process name:'main'.
-                process beGroupLeader.
-                process resume.
-
-                Processor dispatchLoop.
-                self exit
-            ].
-
-            "look for a '-f filename' or '--file filename' argument
-             if scripting, thisis loaded before -P, -E or-R action.
-             if not scripting, this will force evaluation of filename instead of smalltalk.rc"
-            idxFileArg := CommandLineArguments indexOfAny:#('-f' '--file').
-            (idxFileArg ~~ 0) ifTrue:[
-                commandFile := CommandLineArguments at:idxFileArg+1.
-                CommandLineArguments removeAtIndex:idxFileArg+1; removeAtIndex:idxFileArg.
-            ].
-
-            "/ look for a '-E expr' or '--eval expr' argument (-P or --print to print the result of evaluation)
-            "/ or -F/--filter or a '--repl' argument
-            "/ E, P and F this will force evaluation of expr only, no standard startup
-            "/ repl go into an interactive loop.
-            idx := CommandLineArguments indexOfAny:#('-E' '--eval').
-            (isEval := (idx ~~ 0)) ifFalse:[
-                idx := CommandLineArguments indexOfAny:#('-P' '--print').
-                (isPrint := (idx ~~ 0)) ifFalse:[
-                    idx := CommandLineArguments indexOfAny:#('-F' '--filter').
-                    (isFilter := (idx ~~ 0)) ifFalse:[
-                        idx := CommandLineArguments indexOfAny:#('-R' '--repl').
-                        isRepl := (idx ~~ 0)
-                    ].
-                ].
-            ].
-
-            (isEval | isPrint | isFilter | isRepl) ifTrue:[
-                isRepl ifFalse:[
-                    CommandLineArguments size <= idx ifTrue:[
-                        'stx: missing argument after -E/-P/-F' errorPrintCR.
-                        self exit:1.
-                    ].
-                    arg := CommandLineArguments at:idx + 1.
-                    CommandLineArguments removeAtIndex:idx+1.
-                ].
-                CommandLineArguments removeAtIndex:idx.
-
-                self startSchedulerAndBackgroundCollector.
-                keepSplashWindow ifFalse:[ self hideSplashWindow ].
-                Initializing := false.
-
-                "/ enable this, so we can provide $1..$n in the script
-                ParserFlags allowDollarInIdentifier:true.
-                ParserFlags warnDollarInIdentifier:false.
-
-                "/ add bindings for arguments
-                CommandLineArguments doWithIndex:[:arg :i |
-                    Workspace workspaceVariableAt:('_$',i printString) put:arg.
-                ].
-
-                "/ all of the above allow for a -f file to be loaded before any other action
-                (commandFile notNil) ifTrue:[
-                    VerboseStartup == true ifTrue:[
-                        ('Smalltalk [info]: reading command file from: "', commandFile, '".') infoPrintCR.
-                    ].
-                    (self secureFileIn:commandFile) ifFalse:[
-                        ('Smalltalk [error]: "', commandFile, '" not found.') errorPrintCR.
-                        OperatingSystem exit:1.
-                    ]
-                ].
-
-                isRepl ifTrue:[
-                    self readEvalPrint.
-                    self exit.
-                ].
-                process := [
-                    VerboseStartup == true ifTrue:[
-                        ('Smalltalk [info]: executing expression: "', arg, '".') infoPrintCR.
-                    ].
-                    UserInterrupt handle:[:ex |
-                        self exit:128+(OperatingSystem sigINT).
-                    ] do:[
-                        isFilter ifTrue:[
-                            "/ --filter - apply code to each input line.
-                            "/ compile code only once
-                            Compiler
-                                compile:'doIt:line ',arg
-                                forClass:String
-                                notifying:(EvalScriptingErrorHandler new source:arg).
-
-                            [Stdin atEnd] whileFalse:[
-                                |line|
-
-                                line := Stdin nextLine.
-                                line doIt:line.
-                            ].
-                        ] ifFalse:[
-                            "/ --print or --eval
-                            |rslt|
-
-                            rslt := Parser new
-                                        evaluate:arg
-                                        notifying:(EvalScriptingErrorHandler new source:arg)
-                                        compile:true.
-                            isPrint ifTrue:[
-                                rslt printCR.
-                            ].
-                        ].
-                    ].
-
-                    "/ after the script, if Screen has been opened and there are any open windows,
-                    "/ then do not exit
-                    Display notNil ifTrue:[
-                        Display exitOnLastClose:true.
-                        Display checkForEndOfDispatch.
-                        Processor exitWhenNoMoreUserProcesses:true.
-                        VerboseStartup == true ifTrue:[
-                            ('Smalltalk [info]: display opened.') infoPrintCR.
-                        ].
-                    ] ifFalse:[
-                        VerboseStartup == true ifTrue:[
-                            ('Smalltalk [info]: no display - exit after script.') infoPrintCR.
-                        ].
-                        self exit.
-                    ].
-                ] newProcess.
-                process priority:(Processor userSchedulingPriority).
-                process name:'main'.
-                process beGroupLeader.
-                process resume.
-
-                Processor dispatchLoop.
-                VerboseStartup == true ifTrue:[
-                    ('Smalltalk [info]: exit normally.') infoPrintCR.
-                ].
-                self exit
-            ].
-        ].
-
-        commandFile notNil ifTrue:[
-            SilentLoading := true.  "/ suppress the hello & copyright messages
-            self addStartBlock:
-                [
-                    (self secureFileIn:commandFile) ifFalse:[
-                        ('Smalltalk [error]: startup file "', commandFile, '" not found.') errorPrintCR.
-                        OperatingSystem exit:1.
-                    ].
-                ].
+	|commandFile defaultRC prevCatchSetting
+	 isEval isPrint isFilter isRepl idxFileArg process|
+
+	isEval := isPrint := isFilter := isRepl := false.
+	didReadRCFile := false.
+
+	StandAlone ifFalse:[
+	    "/
+	    "/ look for any '-q', '-e', '-l' or '-f' command line arguments
+	    "/ and handle them;
+	    "/ read startup and patches file
+	    "/
+	    idx := CommandLineArguments indexOfAny:#('-R' '--repl').
+	    isRepl := (idx ~~ 0).
+
+	    idx := CommandLineArguments indexOfAny:#('-q' '--silent').
+	    idx ~~ 0 ifTrue:[
+		Object infoPrinting:false.
+		ObjectMemory infoPrinting:false.
+		CommandLineArguments removeAtIndex:idx.
+		SilentLoading := true.
+	    ].
+
+	    [
+		idx := CommandLineArguments indexOfAny:#('-pp' '--packagePath').
+		idx ~~ 0
+	    ] whileTrue:[
+		arg := CommandLineArguments at:idx + 1.
+		CommandLineArguments removeAtIndex:idx+1; removeAtIndex:idx.
+		self packagePath addLast:arg.
+		VerboseStartup == true ifTrue:[
+		    ('Smalltalk [info]: add to packagePath: "', arg, '".') infoPrintCR.
+		].
+	    ].
+
+	    [
+		idx := CommandLineArguments indexOfAny:#('-l' '--load').
+		idx ~~ 0
+	    ] whileTrue:[
+		arg := CommandLineArguments at:idx + 1.
+		CommandLineArguments removeAtIndex:idx+1; removeAtIndex:idx.
+		arg asFilename exists ifTrue:[
+		    Smalltalk fileIn:arg
+		] ifFalse:[
+		    Smalltalk loadPackage:arg
+		].
+	    ].
+
+	    "/ look for a '-e filename' or '--execute filename' argument
+	    "/ this will force fileIn of filename only, no standard startup.
+
+	    idx := CommandLineArguments indexOfAny:#('-e' '--execute' '--script').
+	    idx ~~ 0 ifTrue:[
+		SilentLoading := true.
+		CommandName := arg := CommandLineArguments at:idx + 1.
+
+		CommandLineArguments
+		    removeAtIndex:idx+1; removeAtIndex:idx.
+
+		self startSchedulerAndBackgroundCollector.
+		keepSplashWindow ifFalse:[ self hideSplashWindow ].
+		Initializing := false.
+
+		process := [
+		    VerboseStartup == true ifTrue:[
+			('Smalltalk [info]: reading script from: "', arg, '".') infoPrintCR.
+		    ].
+		    UserInterrupt handle:[:ex |
+			self exit:128+(OperatingSystem sigINT).
+		    ] do:[
+			arg = '-' ifTrue:[
+			    self fileInStream:Stdin
+				   lazy:nil
+				   silent:nil
+				   logged:false
+				   addPath:nil
+			] ifFalse:[
+			    IsSTScript := true.
+			    self fileIn:arg.
+			].
+		    ].
+		    "/ after the script, if Screen has been opened and there are any open windows,
+		    "/ then do not exit
+		    Display notNil ifTrue:[
+			Display exitOnLastClose:true.
+			Display checkForEndOfDispatch.
+			Processor exitWhenNoMoreUserProcesses:true.
+		    ] ifFalse:[
+			self exit.
+		    ].
+		] newProcess.
+		process priority:(Processor userSchedulingPriority).
+		process name:'main'.
+		process beGroupLeader.
+		process resume.
+
+		Processor dispatchLoop.
+		self exit
+	    ].
+
+	    "look for a '-f filename' or '--file filename' argument
+	     if scripting, thisis loaded before -P, -E or-R action.
+	     if not scripting, this will force evaluation of filename instead of smalltalk.rc"
+	    idxFileArg := CommandLineArguments indexOfAny:#('-f' '--file').
+	    (idxFileArg ~~ 0) ifTrue:[
+		commandFile := CommandLineArguments at:idxFileArg+1.
+		CommandLineArguments removeAtIndex:idxFileArg+1; removeAtIndex:idxFileArg.
+	    ].
+
+	    "/ look for a '-E expr' or '--eval expr' argument (-P or --print to print the result of evaluation)
+	    "/ or -F/--filter or a '--repl' argument
+	    "/ E, P and F this will force evaluation of expr only, no standard startup
+	    "/ repl go into an interactive loop.
+	    idx := CommandLineArguments indexOfAny:#('-E' '--eval').
+	    (isEval := (idx ~~ 0)) ifFalse:[
+		idx := CommandLineArguments indexOfAny:#('-P' '--print').
+		(isPrint := (idx ~~ 0)) ifFalse:[
+		    idx := CommandLineArguments indexOfAny:#('-F' '--filter').
+		    (isFilter := (idx ~~ 0)) ifFalse:[
+			idx := CommandLineArguments indexOfAny:#('-R' '--repl').
+			isRepl := (idx ~~ 0)
+		    ].
+		].
+	    ].
+
+	    (isEval | isPrint | isFilter | isRepl) ifTrue:[
+		isRepl ifFalse:[
+		    CommandLineArguments size <= idx ifTrue:[
+			'stx: missing argument after -E/-P/-F' errorPrintCR.
+			self exit:1.
+		    ].
+		    arg := CommandLineArguments at:idx + 1.
+		    CommandLineArguments removeAtIndex:idx+1.
+		].
+		CommandLineArguments removeAtIndex:idx.
+
+		self startSchedulerAndBackgroundCollector.
+		keepSplashWindow ifFalse:[ self hideSplashWindow ].
+		Initializing := false.
+
+		"/ enable this, so we can provide $1..$n in the script
+		ParserFlags allowDollarInIdentifier:true.
+		ParserFlags warnDollarInIdentifier:false.
+
+		"/ add bindings for arguments
+		CommandLineArguments doWithIndex:[:arg :i |
+		    Workspace workspaceVariableAt:('_$',i printString) put:arg.
+		].
+
+		"/ all of the above allow for a -f file to be loaded before any other action
+		(commandFile notNil) ifTrue:[
+		    VerboseStartup == true ifTrue:[
+			('Smalltalk [info]: reading command file from: "', commandFile, '".') infoPrintCR.
+		    ].
+		    (self secureFileIn:commandFile) ifFalse:[
+			('Smalltalk [error]: "', commandFile, '" not found.') errorPrintCR.
+			OperatingSystem exit:1.
+		    ]
+		].
+
+		isRepl ifTrue:[
+		    self readEvalPrint.
+		    self exit.
+		].
+		process := [
+		    VerboseStartup == true ifTrue:[
+			('Smalltalk [info]: executing expression: "', arg, '".') infoPrintCR.
+		    ].
+		    UserInterrupt handle:[:ex |
+			self exit:128+(OperatingSystem sigINT).
+		    ] do:[
+			isFilter ifTrue:[
+			    "/ --filter - apply code to each input line.
+			    "/ compile code only once
+			    Compiler
+				compile:'doIt:line ',arg
+				forClass:String
+				notifying:(EvalScriptingErrorHandler new source:arg).
+
+			    [Stdin atEnd] whileFalse:[
+				|line|
+
+				line := Stdin nextLine.
+				line doIt:line.
+			    ].
+			] ifFalse:[
+			    "/ --print or --eval
+			    |rslt|
+
+			    rslt := Parser new
+					evaluate:arg
+					notifying:(EvalScriptingErrorHandler new source:arg)
+					compile:true.
+			    isPrint ifTrue:[
+				rslt printCR.
+			    ].
+			].
+		    ].
+
+		    "/ after the script, if Screen has been opened and there are any open windows,
+		    "/ then do not exit
+		    Display notNil ifTrue:[
+			Display exitOnLastClose:true.
+			Display checkForEndOfDispatch.
+			Processor exitWhenNoMoreUserProcesses:true.
+			VerboseStartup == true ifTrue:[
+			    ('Smalltalk [info]: display opened.') infoPrintCR.
+			].
+		    ] ifFalse:[
+			VerboseStartup == true ifTrue:[
+			    ('Smalltalk [info]: no display - exit after script.') infoPrintCR.
+			].
+			self exit.
+		    ].
+		] newProcess.
+		process priority:(Processor userSchedulingPriority).
+		process name:'main'.
+		process beGroupLeader.
+		process resume.
+
+		Processor dispatchLoop.
+		VerboseStartup == true ifTrue:[
+		    ('Smalltalk [info]: exit normally.') infoPrintCR.
+		].
+		self exit
+	    ].
+	].
+
+	commandFile notNil ifTrue:[
+	    SilentLoading := true.  "/ suppress the hello & copyright messages
+	    self addStartBlock:
+		[
+		    (self secureFileIn:commandFile) ifFalse:[
+			('Smalltalk [error]: startup file "', commandFile, '" not found.') errorPrintCR.
+			OperatingSystem exit:1.
+		    ].
+		].
 
 "/            self startSchedulerAndBackgroundCollector.
 "/            keepSplashWindow ifFalse:[ self hideSplashWindow ].
@@ -4397,67 +4397,67 @@
 "/                ('Smalltalk [error]: startup file "', commandFile, '" not found.') errorPrintCR.
 "/                OperatingSystem exit:1.
 "/            ].
-        ] ifFalse:[
-            "/ look for <command>.rc
-            "/ if not found, read smalltalk.rc (or stxapp.rc for standAlone operation)
-
-            commandFile := self commandName asFilename withSuffix:'rc'.
-            (didReadRCFile := commandFile exists and:[self secureFileIn:commandFile]) ifFalse:[
-                StandAlone ifFalse:[
-                    defaultRC := 'smalltalk.rc' "/asFilename
-                ] ifTrue:[
-                    defaultRC := 'stxapp.rc' "/asFilename
-                ].
-                "JV@2011-11-01: DO NOT check defaultRC exist - this prevents smalltalk to
-                    to be started with different working directory than stx/projects/smalltalk !!!!!!"
-
-                "/didReadRCFile := defaultRC exists and:[self secureFileIn:defaultRC].
-                didReadRCFile := (self getSystemFileName:defaultRC) notNil
-                                 and:[self secureFileIn:defaultRC].
-                didReadRCFile ifFalse:[
-                    StandAlone ifFalse:[
-                        'Smalltalk [warning]: no startup rc-file found. Going into line-by-line interpreter.' infoPrintCR.
-                        graphicalMode := false.
-                    ]
-                ]
-            ].
-
-            "/ ('StandAlone is %1' bindWith:StandAlone) printCR.
-            "/ ('Headless is %1' bindWith:HeadlessOperation) printCR.
-            "/ ('Display is %1' bindWith:Display) printCR.
-            "/ ('Screen is %1' bindWith:Screen) printCR.
-
-            keepSplashWindow ifFalse:[ self hideSplashWindow ].
-            didReadRCFile ifFalse:[
-                'private.rc' asFilename exists ifTrue:[ self secureFileIn:'private.rc' ].
-
-                "/
-                "/ No RC file found;
-                "/ Setup more default stuff
-                "/
-                StandAlone ifFalse:[
-                    "/ its a smalltalk - proceed in interpreter.
-                    'Smalltalk [warning]: no startup rc-file found. Going into line-by-line interpreter.' infoPrintCR.
-                    graphicalMode := false.
-                ].
-
-                "/ setup more defaults...
+	] ifFalse:[
+	    "/ look for <command>.rc
+	    "/ if not found, read smalltalk.rc (or stxapp.rc for standAlone operation)
+
+	    commandFile := self commandName asFilename withSuffix:'rc'.
+	    (didReadRCFile := commandFile exists and:[self secureFileIn:commandFile]) ifFalse:[
+		StandAlone ifFalse:[
+		    defaultRC := 'smalltalk.rc' "/asFilename
+		] ifTrue:[
+		    defaultRC := 'stxapp.rc' "/asFilename
+		].
+		"JV@2011-11-01: DO NOT check defaultRC exist - this prevents smalltalk to
+		    to be started with different working directory than stx/projects/smalltalk !!!!!!"
+
+		"/didReadRCFile := defaultRC exists and:[self secureFileIn:defaultRC].
+		didReadRCFile := (self getSystemFileName:defaultRC) notNil
+				 and:[self secureFileIn:defaultRC].
+		didReadRCFile ifFalse:[
+		    StandAlone ifFalse:[
+			'Smalltalk [warning]: no startup rc-file found. Going into line-by-line interpreter.' infoPrintCR.
+			graphicalMode := false.
+		    ]
+		]
+	    ].
+
+	    "/ ('StandAlone is %1' bindWith:StandAlone) printCR.
+	    "/ ('Headless is %1' bindWith:HeadlessOperation) printCR.
+	    "/ ('Display is %1' bindWith:Display) printCR.
+	    "/ ('Screen is %1' bindWith:Screen) printCR.
+
+	    keepSplashWindow ifFalse:[ self hideSplashWindow ].
+	    didReadRCFile ifFalse:[
+		'private.rc' asFilename exists ifTrue:[ self secureFileIn:'private.rc' ].
+
+		"/
+		"/ No RC file found;
+		"/ Setup more default stuff
+		"/
+		StandAlone ifFalse:[
+		    "/ its a smalltalk - proceed in interpreter.
+		    'Smalltalk [warning]: no startup rc-file found. Going into line-by-line interpreter.' infoPrintCR.
+		    graphicalMode := false.
+		].
+
+		"/ setup more defaults...
 "/                ObjectMemory startBackgroundCollectorAt:5.
 "/                ObjectMemory startBackgroundFinalizationAt:5.
-                self addStartBlock:[
-                    self startSchedulerAndBackgroundCollector
-                ].
-            ].
-        ].
-        (CommandLineArguments includes:'--scripting') ifTrue:[
-            self addStartBlock:[
-                StandaloneStartup handleScriptingOptionsFromArguments:CommandLineArguments.
-            ].
-        ].
+		self addStartBlock:[
+		    self startSchedulerAndBackgroundCollector
+		].
+	    ].
+	].
+	(CommandLineArguments includes:'--scripting') ifTrue:[
+	    self addStartBlock:[
+		StandaloneStartup handleScriptingOptionsFromArguments:CommandLineArguments.
+	    ].
+	].
     ].
 
     HeadlessOperation ifTrue:[
-        graphicalMode := false.
+	graphicalMode := false.
     ].
 
     keepSplashWindow ifFalse:[ self hideSplashWindow ].
@@ -4485,15 +4485,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"
 ! !
@@ -4511,9 +4511,9 @@
      #aboutToQuit."
 
     ExitBlocks isNil ifTrue:[
-        ExitBlocks := OrderedCollection with:aBlock
+	ExitBlocks := OrderedCollection with:aBlock
     ] ifFalse:[
-        ExitBlocks add:aBlock
+	ExitBlocks add:aBlock
     ]
 !
 
@@ -4525,9 +4525,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"
@@ -4549,13 +4549,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"
@@ -4583,9 +4583,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"
@@ -4618,7 +4618,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.
 
@@ -4959,26 +4959,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.
@@ -4993,7 +4993,7 @@
      source reference"
 
     table keysAndValuesDo:[:aMethod :pos |
-        aMethod localSourceFilename:fileName position:pos.
+	aMethod localSourceFilename:fileName position:pos.
 "/        aMethod printCR.
     ].
 
@@ -5021,18 +5021,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.
@@ -5047,7 +5047,7 @@
      source reference"
 
     table keysAndValuesDo:[:aMethod :pos |
-        aMethod localSourceFilename:fileName position:pos.
+	aMethod localSourceFilename:fileName position:pos.
 "/        aMethod printCR.
     ].
 
@@ -5069,18 +5069,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"
 !
@@ -5092,11 +5092,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
@@ -5111,36 +5111,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.
 
@@ -5156,21 +5156,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.
     ].
 
     "
@@ -5191,16 +5191,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"].
     ]
 
     "
@@ -5212,7 +5212,7 @@
 
 installAutoloadedClassesFromAbbrevFile:aFilename
     aFilename readingFileDo:[:abbrevStream |
-        self installAutoloadedClassesFromStream:abbrevStream.
+	self installAutoloadedClassesFromStream:abbrevStream.
     ]
 
     "Created: / 29-07-2011 / 20:39:21 / cg"
@@ -5227,71 +5227,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.
 "/                    ].
-                ]
-            ]
-        ]
+		]
+	    ]
+	]
     ]
 !
 
@@ -5308,11 +5308,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
 
@@ -5353,14 +5353,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
+	    ]
+	].
     ].
 
     "
@@ -5380,12 +5380,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.
 
 
     "
@@ -5405,9 +5405,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
@@ -5437,36 +5437,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)).
     ].
 
     "/
@@ -5475,74 +5475,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)).
     ].
 
     "
@@ -5561,15 +5561,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)
     ].
 !
 
@@ -5611,10 +5611,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
 
@@ -5685,10 +5685,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|
 
@@ -5699,39 +5699,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
 
@@ -5773,8 +5773,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 ...
@@ -5793,11 +5793,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"
 !
@@ -5818,9 +5818,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
 
@@ -5839,11 +5839,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"
 !
@@ -5855,11 +5855,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"
 !
@@ -5875,11 +5875,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"
 !
@@ -5891,11 +5891,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"
 !
@@ -5916,315 +5916,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 packageDirectory.
+			"/ 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
@@ -6239,13 +6239,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).
@@ -6253,14 +6253,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.
 
@@ -6278,45 +6278,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).
@@ -6338,7 +6338,7 @@
     |filename|
 
     filename := filenameArg asFilename.
-"/    ProgrammingLanguage allDo:[:lang| 
+"/    ProgrammingLanguage allDo:[:lang|
 "/        | f |
 "/
 "/        "/ cg: changed: did try all languages to load (eg. wether suffix matched or not.
@@ -6351,11 +6351,11 @@
 "/    ].
 "/ 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
@@ -6387,40 +6387,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
 
@@ -6436,14 +6436,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
 
@@ -6487,11 +6487,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
 !
 
@@ -6500,7 +6500,7 @@
      Main use is during startup."
 
     self silentlyLoadingDo:[
-        self fileIn:aFilename
+	self fileIn:aFilename
     ].
 ! !
 
@@ -6516,7 +6516,7 @@
 
     aString := self getBitmapFileName:aFileName.
     aString notNil ifTrue:[
-        ^ aString asFilename readStreamOrNil
+	^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -6558,9 +6558,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].
 
@@ -6579,11 +6579,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]
     ].
 !
 
@@ -6597,7 +6597,7 @@
 
     aString := self getFileInFileName:aFileName.
     aString notNil ifTrue:[
-        ^ aString asFilename readStreamOrNil
+	^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -6620,12 +6620,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
@@ -6635,60 +6635,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:$_
@@ -6718,7 +6718,7 @@
      to 14 chars)"
 
     CachedAbbreviations isNil ifTrue:[
-        self readAbbreviations
+	self readAbbreviations
     ].
     ^ CachedAbbreviations
 
@@ -6771,7 +6771,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
@@ -6801,9 +6801,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|
@@ -6811,44 +6811,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
@@ -6870,7 +6870,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
@@ -6888,22 +6888,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
@@ -6927,17 +6927,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
 
@@ -6956,13 +6956,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>"
@@ -6995,7 +6995,7 @@
     |pkgOrNil|
 
     aClassOrNil notNil ifTrue:[
-        pkgOrNil := aClassOrNil package.
+	pkgOrNil := aClassOrNil package.
     ].
     ^ self getResourceFileName:aFileName forPackage:pkgOrNil.
 
@@ -7010,8 +7010,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|
@@ -7019,48 +7019,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
@@ -7086,16 +7086,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
 
@@ -7122,23 +7122,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
 
@@ -7164,10 +7164,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
 
@@ -7182,16 +7182,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
 
@@ -7223,9 +7223,9 @@
     |aStream line words n aClassName|
 
     aClassOrClassName isBehavior ifTrue:[
-        aClassName := aClassOrClassName name
+	aClassName := aClassOrClassName name
     ] ifFalse:[
-        aClassName := aClassOrClassName
+	aClassName := aClassOrClassName
     ].
     aClassName := aClassName asString.
 
@@ -7233,26 +7233,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
@@ -7323,10 +7323,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
 
@@ -7363,10 +7363,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"
 !
@@ -7378,35 +7378,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
 !
@@ -7422,40 +7422,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
+	    ]
+	].
     ].
 !
 
@@ -7463,10 +7463,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
     ].
 !
 
@@ -7474,8 +7474,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:$/.
 
@@ -7496,17 +7496,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
 
@@ -7535,7 +7535,7 @@
 
     aString := self getResourceFileName:aFileName forClass:aClassOrNil.
     aString notNil ifTrue:[
-        ^ aString asFilename readStreamOrNil
+	^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -7548,26 +7548,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
@@ -7584,55 +7584,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.
     ]
 !
 
@@ -7647,9 +7647,9 @@
     |aStream line words n aClassName|
 
     aClassOrClassName isBehavior ifTrue:[
-        aClassName := aClassOrClassName name
+	aClassName := aClassOrClassName name
     ] ifFalse:[
-        aClassName := aClassOrClassName
+	aClassName := aClassOrClassName
     ].
     aClassName := aClassName asString.
 
@@ -7657,26 +7657,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
@@ -7702,7 +7702,7 @@
 
     aString := self getSourceFileName:aFileName.
     aString notNil ifTrue:[
-        ^ aString asFilename readStreamOrNil
+	^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -7716,7 +7716,7 @@
 
     aString := self getSystemFileName:aFileName.
     aString notNil ifTrue:[
-        ^ aString asFilename readStreamOrNil
+	^ aString asFilename readStreamOrNil
     ].
     ^ nil
 !
@@ -7753,54 +7753,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>"
@@ -7850,7 +7850,7 @@
 
     packageDir := self getPackageFileName:packageDirName.
     packageDir isNil ifTrue:[
-        ^ nil.
+	^ nil.
     ].
     ^ packageDir asFilename
 
@@ -7866,11 +7866,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.
 
@@ -7886,7 +7886,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.
@@ -7973,7 +7973,7 @@
     exp = __MKUINT(__getExpirationTime());
 %}.
     exp == 0 ifTrue:[
-        ^ nil
+	^ nil
     ].
     ^ Timestamp new fromOSTime:(exp * 1000). "OSTime is ms since 1970"
 
@@ -8010,28 +8010,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)'
     ] ifFalse:[ (lang == #es) ifTrue:[
 "/        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.
@@ -8100,7 +8100,7 @@
       classes changes).
 
      ST/X revision Naming is:
-        <major>.<minor>.<revision>.<release>"
+	<major>.<minor>.<revision>.<release>"
 
     ^ 6
 
@@ -8120,7 +8120,7 @@
      classes need rework.
 
      ST/X revision Naming is:
-        <major>.<minor>.<revision>.<release>"
+	<major>.<minor>.<revision>.<release>"
 
     ^ 2
 
@@ -8156,13 +8156,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
 
@@ -8184,7 +8184,7 @@
      to the outside world.
 
      ST/X revision Naming is:
-        <major>.<minor>.<revision>.<release>"
+	<major>.<minor>.<revision>.<release>"
 
     ^ 5
 
@@ -8309,4 +8309,3 @@
 version_SVN
     ^ '$ Id: Smalltalk.st 10648 2011-06-23 15:55:10Z vranyj1  $'
 ! !
-
--- a/String.st	Mon Aug 03 18:50:13 2015 +0200
+++ b/String.st	Tue Aug 04 16:25:44 2015 +0200
@@ -3584,7 +3584,7 @@
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
-    if (SmalltalkEnvironment.getBindingOrNull(STSymbol._new("Stdout")) == null) {
+    if (STSmalltalkEnvironment.GetBindingOrNull(STSymbol._new("Stdout")) == null) {
 	System.out.print(self.toString());
 	return context._RETURN(self);
     }
@@ -3611,7 +3611,7 @@
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
-    if (SmalltalkEnvironment.getBindingOrNull(STSymbol._new("Stdout")) == null) {
+    if (STSmalltalkEnvironment.GetBindingOrNull(STSymbol._new("Stdout")) == null) {
 	System.out.println(self.toString());
 	return context._RETURN(self);
     }