AbstractOperatingSystem.st
branchjv
changeset 17910 8d796ca8bd1d
parent 17909 0ab1deab8e9c
child 17911 a99f15c5efa5
--- a/AbstractOperatingSystem.st	Fri Jan 06 08:53:28 2012 +0000
+++ b/AbstractOperatingSystem.st	Thu Jan 19 10:06:02 2012 +0000
@@ -1,6 +1,6 @@
 "
  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
@@ -58,7 +58,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
@@ -77,108 +77,108 @@
     less performant) are implemented here.
 
     [Class variables:]
-        ConcreteClass   <Class>         the real OS class
-
-        LocaleInfo      <Dictionary>    if non nil, that is taken instead of the operating
-                                        systems locale definitions (allows for overwriting
-                                        these, or provide a compatible info on systems which do
-                                        not support locales)
-
-        LastErrorNumber <Integer>       the last value of errno
-
-        OSSignals       <Array>         Array of signals to be raised for corresponding
-                                        OperatingSystem signals.
-
-        PipeFailed      <Boolean>       set if a fork (or popen) has failed;
-                                        ST/X will avoid doing more forks/popens
-                                        if this flag is set, for a slightly
-                                        smoother operation.
-
-        ErrorSignal     <Signal>        Parentsignal of all OS error signals.
-                                        not directly raised.
-
-        AccessDeniedErrorSignal         misc concrete error reporting signals
-        FileNotFoundErrorSignal
-        UnsupportedOperationSignal
-        InvalidArgumentsSignal
+	ConcreteClass   <Class>         the real OS class
+
+	LocaleInfo      <Dictionary>    if non nil, that is taken instead of the operating
+					systems locale definitions (allows for overwriting
+					these, or provide a compatible info on systems which do
+					not support locales)
+
+	LastErrorNumber <Integer>       the last value of errno
+
+	OSSignals       <Array>         Array of signals to be raised for corresponding
+					OperatingSystem signals.
+
+	PipeFailed      <Boolean>       set if a fork (or popen) has failed;
+					ST/X will avoid doing more forks/popens
+					if this flag is set, for a slightly
+					smoother operation.
+
+	ErrorSignal     <Signal>        Parentsignal of all OS error signals.
+					not directly raised.
+
+	AccessDeniedErrorSignal         misc concrete error reporting signals
+	FileNotFoundErrorSignal
+	UnsupportedOperationSignal
+	InvalidArgumentsSignal
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 
     [see also:]
-        OSProcessStatus
-        Filename Date Time
-        ExternalStream FileStream PipeStream Socket
+	OSProcessStatus
+	Filename Date Time
+	ExternalStream FileStream PipeStream Socket
 "
 !
 
 examples
 "
   various queries
-                                                                [exBegin]
+								[exBegin]
     Transcript
-        showCR:'hello ' , (OperatingSystem getLoginName)
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:'hello ' , (OperatingSystem getLoginName)
+								[exEnd]
+
+								[exBegin]
     OperatingSystem isUNIXlike ifTrue:[
-        Transcript showCR:'this is some UNIX-like OS'
+	Transcript showCR:'this is some UNIX-like OS'
     ] ifFalse:[
-        Transcript showCR:'this OS is not UNIX-like'
+	Transcript showCR:'this OS is not UNIX-like'
     ]
-                                                                [exEnd]
-
-                                                                [exBegin]
+								[exEnd]
+
+								[exBegin]
     Transcript
-        showCR:'this machine is called ' , OperatingSystem getHostName
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:'this machine is called ' , OperatingSystem getHostName
+								[exEnd]
+
+								[exBegin]
     Transcript
-        showCR:('this machine is in the '
-               , OperatingSystem getDomainName
-               , ' domain')
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:('this machine is in the '
+	       , OperatingSystem getDomainName
+	       , ' domain')
+								[exEnd]
+
+								[exBegin]
     Transcript
-        showCR:('this machine''s CPU is a '
-               , OperatingSystem getCPUType
-               )
-                                                                [exEnd]
-
-                                                                [exBegin]
+	showCR:('this machine''s CPU is a '
+	       , OperatingSystem getCPUType
+	       )
+								[exEnd]
+
+								[exBegin]
     Transcript showCR:'executing ls command ...'.
     OperatingSystem executeCommand:'ls'.
     Transcript showCR:'... done.'.
-                                                                [exEnd]
+								[exEnd]
 
   locking a file
   (should be executed on two running smalltalks - not in two threads):
-                                                                [exBegin]
+								[exBegin]
     |f|
 
     f := 'testFile' asFilename readWriteStream.
 
     10 timesRepeat:[
-        'about to lock ...' printCR.
-        [
-          OperatingSystem
-            lockFD:(f fileDescriptor)
-            shared:false
-            blocking:false
-        ] whileFalse:[
-            'process ' print. OperatingSystem getProcessId print. ' is waiting' printCR.
-            Delay waitForSeconds:1
-        ].
-        'LOCKED ...' printCR.
-        Delay waitForSeconds:10.
-        'unlock ...' printCR.
-        (OperatingSystem
-            unlockFD:(f fileDescriptor)) printCR.
-        Delay waitForSeconds:3.
+	'about to lock ...' printCR.
+	[
+	  OperatingSystem
+	    lockFD:(f fileDescriptor)
+	    shared:false
+	    blocking:false
+	] whileFalse:[
+	    'process ' print. OperatingSystem getProcessId print. ' is waiting' printCR.
+	    Delay waitForSeconds:1
+	].
+	'LOCKED ...' printCR.
+	Delay waitForSeconds:10.
+	'unlock ...' printCR.
+	(OperatingSystem
+	    unlockFD:(f fileDescriptor)) printCR.
+	Delay waitForSeconds:3.
     ]
-                                                                [exBegin]
+								[exBegin]
 "
 ! !
 
@@ -188,16 +188,16 @@
     "/ allow for ResourcePack class to be missing (non-GUI smalltalks)
 
     ResourcePack notNil ifTrue:[
-        Error handle:[:ex |
-            'OS [warning]: error when reading resources for libbasic:' errorPrintCR.
-            'OS [info]: 'errorPrint. ex description errorPrintCR.
-            'OS [info]: backtrace: ' errorPrintCR.
-            self withErrorStreamDo:[:s | 
-                ex suspendedContext fullPrintAllOn:s.
-            ].
-        ] do:[
-            Resources := ResourcePack forPackage:(self package).
-        ].
+	Error handle:[:ex |
+	    'OS [warning]: error when reading resources for libbasic:' errorPrintCR.
+	    'OS [info]: 'errorPrint. ex description errorPrintCR.
+	    'OS [info]: backtrace: ' errorPrintCR.
+	    self withErrorStreamDo:[:s |
+		ex suspendedContext fullPrintAllOn:s.
+	    ].
+	] do:[
+	    Resources := ResourcePack forPackage:(self package).
+	].
     ]
 
     "Modified: / 21-04-2011 / 12:48:02 / cg"
@@ -209,12 +209,12 @@
     self initializeConcreteClass.
 
     ErrorSignal isNil ifTrue:[
-        OSErrorHolder initialize.
-        ErrorSignal := OsError.
-        InvalidArgumentsSignal := OsInvalidArgumentsError.
-        AccessDeniedErrorSignal := OSErrorHolder noPermissionsSignal.
-        FileNotFoundErrorSignal := OSErrorHolder nonexistentSignal.
-        UnsupportedOperationSignal := OSErrorHolder unsupportedOperationSignal.
+	OSErrorHolder initialize.
+	ErrorSignal := OsError.
+	InvalidArgumentsSignal := OsInvalidArgumentsError.
+	AccessDeniedErrorSignal := OSErrorHolder noPermissionsSignal.
+	FileNotFoundErrorSignal := OSErrorHolder nonexistentSignal.
+	UnsupportedOperationSignal := OSErrorHolder unsupportedOperationSignal.
     ].
     Smalltalk addDependent:self.    "/ to catch language changes
 !
@@ -224,21 +224,21 @@
 
     osType := self getSystemType.
     osType = 'win32' ifTrue:[
-        cls := Win32OperatingSystem
+	cls := Win32OperatingSystem
     ] ifFalse:[
-        osType = 'os2' ifTrue:[
-            cls := OS2OperatingSystem
-        ] ifFalse:[
-            osType = 'macos' ifTrue:[
-                cls := MacOperatingSystem
-            ] ifFalse:[
-                ((osType = 'VMS') or:[osType = 'openVMS']) ifTrue:[
-                    cls := OpenVMSOperatingSystem
-                ] ifFalse:[
-                    cls := UnixOperatingSystem
-                ]
-            ]
-        ]
+	osType = 'os2' ifTrue:[
+	    cls := OS2OperatingSystem
+	] ifFalse:[
+	    osType = 'macos' ifTrue:[
+		cls := MacOperatingSystem
+	    ] ifFalse:[
+		((osType = 'VMS') or:[osType = 'openVMS']) ifTrue:[
+		    cls := OpenVMSOperatingSystem
+		] ifFalse:[
+		    cls := UnixOperatingSystem
+		]
+	    ]
+	]
     ].
     OperatingSystem := ConcreteClass := cls.
 ! !
@@ -592,7 +592,7 @@
     "Smalltalk notifies us about changes"
 
     ((something == #Language) or:[something == #LanguageTerritory]) ifTrue:[
-        self initResources
+	self initResources
     ]
 ! !
 
@@ -603,9 +603,9 @@
      This looks for the files extension, and is typically used to present help-files,
      html documents, pdf documents etc.
      operationSymbol is one of:
-        open
-        edit
-        explore
+	open
+	edit
+	explore
     "
 
     "/ use a fileBrowser
@@ -628,7 +628,7 @@
     "return the last errors number.
      See also: #lastErrorSymbol and #lastErrorString.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     LastErrorNumber := nil.
 
@@ -673,14 +673,14 @@
      (as kept in an osErrorHolder)."
 
     Resources isNil ifTrue:[
-        "/ do not care to load resource strings, if the error happens durig early initialization
-        Smalltalk isInitialized ifFalse:[
-            ^ errorSymbol
-        ].
-        self initResources.
-        Resources isNil ifTrue:[
-            ^ errorSymbol
-        ]
+	"/ do not care to load resource strings, if the error happens durig early initialization
+	Smalltalk isInitialized ifFalse:[
+	    ^ errorSymbol
+	].
+	self initResources.
+	Resources isNil ifTrue:[
+	    ^ errorSymbol
+	]
     ].
     ^ Resources at:errorSymbol ifAbsent:errorSymbol
 
@@ -702,8 +702,8 @@
     holder := self errorHolderForNumber:errNr.
     errSym := holder errorSymbol.
     ^ Array
-        with:errSym
-        with:(self errorStringForSymbol:errSym)
+	with:errSym
+	with:(self errorStringForSymbol:errSym)
 
     "
      OperatingSystem errorSymbolAndTextForNumber:(OperatingSystem errorNumberFor:#EPERM)
@@ -742,7 +742,7 @@
     "return the last errors number.
      See also: #lastErrorSymbol and #lastErrorString.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     ^ LastErrorNumber
 
@@ -755,7 +755,7 @@
     "return a message string describing the last error.
      See also: #lastErrorNumber and #lastErrorSymbol.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     LastErrorNumber isNil ifTrue:[^ nil].
     ^ self errorTextForNumber:LastErrorNumber
@@ -769,7 +769,7 @@
     "return a symbol (such as #EBADF or #EACCESS) describing the last error.
      See also: #lastErrorNumber and #lastErrorString.
      Notice: having a single error number is a bad idea in a multithreaded
-             environment - this interface will change."
+	     environment - this interface will change."
 
     LastErrorNumber isNil ifTrue:[^ nil].
     ^ self errorSymbolForNumber:LastErrorNumber
@@ -829,15 +829,15 @@
 shuffleAllFrom:anInStream to:anOutStream lineWise:lineWise lockWith:aLock
 
     lineWise ifFalse:[
-        ^ anInStream copyToEndInto:anOutStream.
+	^ anInStream copyToEndInto:anOutStream.
     ].
     [anInStream atEnd] whileFalse:[
-        aLock critical:[
-            self
-                shuffleFrom:anInStream
-                to:anOutStream
-                lineWise:lineWise
-        ]
+	aLock critical:[
+	    self
+		shuffleFrom:anInStream
+		to:anOutStream
+		lineWise:lineWise
+	]
     ]
 !
 
@@ -847,23 +847,23 @@
      anOutstream should have been set to non-blocking-mode"
 
     lineWise ifTrue:[
-        |data|
-
-        data := anInStream nextLine.
-        data notNil ifTrue:[
-            anOutStream nextPutLine:data
-        ] .
+	|data|
+
+	data := anInStream nextLine.
+	data notNil ifTrue:[
+	    anOutStream nextPutLine:data
+	] .
     ] ifFalse:[
-        anInStream copyToEndInto:anOutStream.
+	anInStream copyToEndInto:anOutStream.
     ].
 !
 
 shuffleRestFrom:anInStream to:anOutStream lineWise:lineWise
     [anInStream atEnd] whileFalse:[
-        self
-            shuffleFrom:anInStream
-            to:anOutStream
-            lineWise:lineWise.
+	self
+	    shuffleFrom:anInStream
+	    to:anOutStream
+	    lineWise:lineWise.
     ].
 !
 
@@ -877,12 +877,12 @@
      or #killProcess: to stop it."
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
+	startProcess:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
 
     "
      |pid|
@@ -902,11 +902,11 @@
      |pid|
 
      pid := OperatingSystem
-                startProcess:'dir/l'
-                inputFrom:nil
-                outputTo:Stdout
-                errorTo:nil
-                inDirectory:nil.
+		startProcess:'dir/l'
+		inputFrom:nil
+		outputTo:Stdout
+		errorTo:nil
+		inDirectory:nil.
      (Delay forSeconds:2) wait.
      OperatingSystem killProcess:pid.
     "
@@ -925,12 +925,12 @@
      or #killProcess: to stop it."
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
+	startProcess:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
     "
      |pid|
 
@@ -956,12 +956,12 @@
      or #killProcess: to stop it."
 
      ^ self
-        startProcess:aCommandString
-        inputFrom:anExternalInStream
-        outputTo:anExternalOutStream
-        errorTo:anExternalErrStream
-        auxFrom:nil
-        inDirectory:nil
+	startProcess:aCommandString
+	inputFrom:anExternalInStream
+	outputTo:anExternalOutStream
+	errorTo:anExternalErrStream
+	auxFrom:nil
+	inDirectory:nil
 
     "Modified: / 10.11.1998 / 20:59:05 / cg"
 !
@@ -970,13 +970,13 @@
     errorTo:anExternalErrStream auxFrom:anAuxiliaryStream inDirectory:dir
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:anExternalInStream
-        outputTo:anExternalOutStream
-        errorTo:anExternalErrStream
-        auxFrom:anAuxiliaryStream
-        environment:nil
-        inDirectory:dir
+	startProcess:aCommandString
+	inputFrom:anExternalInStream
+	outputTo:anExternalOutStream
+	errorTo:anExternalErrStream
+	auxFrom:anAuxiliaryStream
+	environment:nil
+	inDirectory:dir
 !
 
 startProcess:aCommandString inputFrom:anExternalInStream outputTo:anExternalOutStream errorTo:anExternalErrStream inDirectory:dir
@@ -991,12 +991,12 @@
      or #killProcess: to stop it."
 
     ^ self
-        startProcess:aCommandString
-        inputFrom:anExternalInStream
-        outputTo:anExternalOutStream
-        errorTo:anExternalErrStream
-        auxFrom:nil
-        inDirectory:dir
+	startProcess:aCommandString
+	inputFrom:anExternalInStream
+	outputTo:anExternalOutStream
+	errorTo:anExternalErrStream
+	auxFrom:nil
+	inDirectory:dir
 ! !
 
 !AbstractOperatingSystem class methodsFor:'executing OS commands-public'!
@@ -1008,14 +1008,14 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:[:status| false]
 
     "unix:
 
@@ -1050,14 +1050,14 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:errorStream
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:errorStream
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:[:status| false]
 
     "unix:
 
@@ -1074,14 +1074,14 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:errorStream
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:errorStream
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:status| false]
 
     "unix:
 
@@ -1100,14 +1100,14 @@
      Return true if successful, false otherwise."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:exitStatus| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:exitStatus| false]
 
     "Modified: / 10.11.1998 / 20:54:37 / cg"
 !
@@ -1121,14 +1121,14 @@
      (containing the exit status) as argument."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:aBlock
 
     "Modified: / 10.11.1998 / 20:54:37 / cg"
 !
@@ -1163,228 +1163,228 @@
     terminateLock := Semaphore forMutualExclusion.
     ((externalInStream := anInStream) notNil
      and:[externalInStream isExternalStream not]) ifTrue:[
-        pIn := NonPositionableExternalStream makePipe.
-        inStreamToClose := externalInStream := pIn at:1.
-        shuffledInStream := pIn at:2.
-        anInStream isBinary ifTrue:[
-            shuffledInStream binary
-        ].
-        lineWise ifFalse:[
-            shuffledInStream blocking:false.
-        ].
-
-        "/ start a reader process, shuffling data from the given
-        "/ inStream to the pipe (which is connected to the commands input)
-        inputShufflerProcess :=
-            [
-                [
-                    [anInStream atEnd] whileFalse:[
-                        self shuffleFrom:anInStream to:shuffledInStream lineWise:lineWise.
-                        shuffledInStream flush
-                    ]
-                ] ensure:[
-                    shuffledInStream close
-                ]
-            ] newProcess
-                name:'cmd input shuffler';
+	pIn := NonPositionableExternalStream makePipe.
+	inStreamToClose := externalInStream := pIn at:1.
+	shuffledInStream := pIn at:2.
+	anInStream isBinary ifTrue:[
+	    shuffledInStream binary
+	].
+	lineWise ifFalse:[
+	    shuffledInStream blocking:false.
+	].
+
+	"/ start a reader process, shuffling data from the given
+	"/ inStream to the pipe (which is connected to the commands input)
+	inputShufflerProcess :=
+	    [
+		[
+		    [anInStream atEnd] whileFalse:[
+			self shuffleFrom:anInStream to:shuffledInStream lineWise:lineWise.
+			shuffledInStream flush
+		    ]
+		] ensure:[
+		    shuffledInStream close
+		]
+	    ] newProcess
+		name:'cmd input shuffler';
 "/                beSystemProcess;
-                resume.
+		resume.
     ].
     ((externalOutStream := anOutStream) notNil
      and:[externalOutStream isExternalStream not]) ifTrue:[
-        pOut := NonPositionableExternalStream makePipe.
-        shuffledOutStream := (pOut at:1).
-        anOutStream isBinary ifTrue:[
-            shuffledOutStream binary
-        ].
-        outStreamToClose := externalOutStream := pOut at:2.
-        outputShufflerProcess :=
-            [
-                WriteError handle:[:ex |
-                    "/ ignored
-                ] do:[
-                    self shuffleAllFrom:shuffledOutStream to:anOutStream lineWise:lineWise lockWith:terminateLock.
-                ].
-            ] newProcess
-                name:'cmd output shuffler';
+	pOut := NonPositionableExternalStream makePipe.
+	shuffledOutStream := (pOut at:1).
+	anOutStream isBinary ifTrue:[
+	    shuffledOutStream binary
+	].
+	outStreamToClose := externalOutStream := pOut at:2.
+	outputShufflerProcess :=
+	    [
+		WriteError handle:[:ex |
+		    "/ ignored
+		] do:[
+		    self shuffleAllFrom:shuffledOutStream to:anOutStream lineWise:lineWise lockWith:terminateLock.
+		].
+	    ] newProcess
+		name:'cmd output shuffler';
 "/                beSystemProcess;
-                resume.
+		resume.
     ].
     (externalErrStream := anErrStream) notNil ifTrue:[
-        anErrStream == anOutStream ifTrue:[
-            externalErrStream := externalOutStream
-        ] ifFalse:[
-            anErrStream isExternalStream ifFalse:[
-                pErr := NonPositionableExternalStream makePipe.
-                shuffledErrStream := (pErr at:1).
-                anErrStream isBinary ifTrue:[
-                    shuffledErrStream binary
-                ].
-                errStreamToClose := externalErrStream := pErr at:2.
-                errorShufflerProcess :=
-                    [
-                        self shuffleAllFrom:shuffledErrStream to:anErrStream lineWise:lineWise lockWith:terminateLock.
-                    ] newProcess
-                        name:'cmd err-output shuffler';
+	anErrStream == anOutStream ifTrue:[
+	    externalErrStream := externalOutStream
+	] ifFalse:[
+	    anErrStream isExternalStream ifFalse:[
+		pErr := NonPositionableExternalStream makePipe.
+		shuffledErrStream := (pErr at:1).
+		anErrStream isBinary ifTrue:[
+		    shuffledErrStream binary
+		].
+		errStreamToClose := externalErrStream := pErr at:2.
+		errorShufflerProcess :=
+		    [
+			self shuffleAllFrom:shuffledErrStream to:anErrStream lineWise:lineWise lockWith:terminateLock.
+		    ] newProcess
+			name:'cmd err-output shuffler';
 "/                        beSystemProcess;
-                        resume.
-            ]
-        ]
+			resume.
+	    ]
+	]
     ].
     ((externalAuxStream := anAuxStream) notNil
      and:[externalAuxStream isExternalStream not]) ifTrue:[
-        pAux := NonPositionableExternalStream makePipe.
-        auxStreamToClose := externalAuxStream := pAux at:1.
-        shuffledAuxStream := pAux at:2.
-        shuffledAuxStream blocking:false.
-        anAuxStream isBinary ifTrue:[
-            shuffledAuxStream binary
-        ].
-
-        "/ start a reader process, shuffling data from the given
-        "/ auxStream to the pipe (which is connected to the commands aux)
-        auxShufflerProcess :=
-            [
-                [
-                    [anAuxStream atEnd] whileFalse:[
-                        self shuffleFrom:anAuxStream to:shuffledAuxStream lineWise:false.
-                        shuffledAuxStream flush
-                    ]
-                ] ensure:[
-                    shuffledAuxStream close
-                ]
-            ] newProcess
-                name:'cmd aux shuffler';
+	pAux := NonPositionableExternalStream makePipe.
+	auxStreamToClose := externalAuxStream := pAux at:1.
+	shuffledAuxStream := pAux at:2.
+	shuffledAuxStream blocking:false.
+	anAuxStream isBinary ifTrue:[
+	    shuffledAuxStream binary
+	].
+
+	"/ start a reader process, shuffling data from the given
+	"/ auxStream to the pipe (which is connected to the commands aux)
+	auxShufflerProcess :=
+	    [
+		[
+		    [anAuxStream atEnd] whileFalse:[
+			self shuffleFrom:anAuxStream to:shuffledAuxStream lineWise:false.
+			shuffledAuxStream flush
+		    ]
+		] ensure:[
+		    shuffledAuxStream close
+		]
+	    ] newProcess
+		name:'cmd aux shuffler';
 "/                beSystemProcess;
-                resume.
+		resume.
     ].
 
     stopShufflers := [
-        inputShufflerProcess notNil ifTrue:[
-            terminateLock critical:[inputShufflerProcess terminate].
-            inputShufflerProcess waitUntilTerminated
-        ].
-        auxShufflerProcess notNil ifTrue:[
-            terminateLock critical:[auxShufflerProcess terminate].
-            auxShufflerProcess waitUntilTerminated
-        ].
-        outputShufflerProcess notNil ifTrue:[
-            terminateLock critical:[outputShufflerProcess terminate].
-            outputShufflerProcess waitUntilTerminated.
-            self shuffleRestFrom:shuffledOutStream to:anOutStream lineWise:lineWise.
-            shuffledOutStream close.
-        ].
-        errorShufflerProcess notNil ifTrue:[
-            terminateLock critical:[errorShufflerProcess terminate].
-            errorShufflerProcess waitUntilTerminated.
-            self shuffleRestFrom:shuffledErrStream to:anErrStream lineWise:lineWise.
-            shuffledErrStream close.
-        ].
+	inputShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[inputShufflerProcess terminate].
+	    inputShufflerProcess waitUntilTerminated
+	].
+	auxShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[auxShufflerProcess terminate].
+	    auxShufflerProcess waitUntilTerminated
+	].
+	outputShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[outputShufflerProcess terminate].
+	    outputShufflerProcess waitUntilTerminated.
+	    self shuffleRestFrom:shuffledOutStream to:anOutStream lineWise:lineWise.
+	    shuffledOutStream close.
+	].
+	errorShufflerProcess notNil ifTrue:[
+	    terminateLock critical:[errorShufflerProcess terminate].
+	    errorShufflerProcess waitUntilTerminated.
+	    self shuffleRestFrom:shuffledErrStream to:anErrStream lineWise:lineWise.
+	    shuffledErrStream close.
+	].
     ].
 
     closeStreams := [
-        inStreamToClose notNil ifTrue:[
-            inStreamToClose close
-        ].
-        errStreamToClose notNil ifTrue:[
-            errStreamToClose close
-        ].
-        outStreamToClose notNil ifTrue:[
-            outStreamToClose close
-        ].
-        auxStreamToClose notNil ifTrue:[
-            auxStreamToClose close
-        ].
+	inStreamToClose notNil ifTrue:[
+	    inStreamToClose close
+	].
+	errStreamToClose notNil ifTrue:[
+	    errStreamToClose close
+	].
+	outStreamToClose notNil ifTrue:[
+	    outStreamToClose close
+	].
+	auxStreamToClose notNil ifTrue:[
+	    auxStreamToClose close
+	].
     ].
 
 
     sema := Semaphore new name:'OS command wait'.
     [
-        pid := Processor
-                    monitor:[
-                        self
-                            startProcess:aCommandString
-                            inputFrom:externalInStream
-                            outputTo:externalOutStream
-                            errorTo:externalErrStream
-                            auxFrom:externalAuxStream
-                            environment:environmentDictionary
-                            inDirectory:dirOrNil
-                    ]
-                    action:[:status |
-                        status stillAlive ifFalse:[
-                            exitStatus := status.
-                            sema signal.
-                            self closePid:pid
-                        ]
-                    ].
-
-        pid isNil ifTrue:[
-            exitStatus := self osProcessStatusClass processCreationFailure
-        ] ifFalse:[
-            sema wait.
-        ].
+	pid := Processor
+		    monitor:[
+			self
+			    startProcess:aCommandString
+			    inputFrom:externalInStream
+			    outputTo:externalOutStream
+			    errorTo:externalErrStream
+			    auxFrom:externalAuxStream
+			    environment:environmentDictionary
+			    inDirectory:dirOrNil
+		    ]
+		    action:[:status |
+			status stillAlive ifFalse:[
+			    exitStatus := status.
+			    sema signal.
+			    self closePid:pid
+			]
+		    ].
+
+	pid isNil ifTrue:[
+	    exitStatus := self osProcessStatusClass processCreationFailure
+	] ifFalse:[
+	    sema wait.
+	].
     ] ifCurtailed:[
-        closeStreams value.
-        pid notNil ifTrue:[
-            "/ terminate the os-command (and all of its forked commands)
-            self terminateProcessGroup:pid.
-            self terminateProcess:pid.
-            self closePid:pid.
-        ].
-        stopShufflers value.
+	closeStreams value.
+	pid notNil ifTrue:[
+	    "/ terminate the os-command (and all of its forked commands)
+	    self terminateProcessGroup:pid.
+	    self terminateProcess:pid.
+	    self closePid:pid.
+	].
+	stopShufflers value.
     ].
 
     closeStreams value.
     stopShufflers value.
     exitStatus success ifFalse:[
-        ^ aBlock value:exitStatus
+	^ aBlock value:exitStatus
     ].
     ^ true
 
     "
-        |outStream errStream|
-
-        outStream := '' writeStream.
-
-        OperatingSystem executeCommand:'ls -l'
-                        inputFrom:'abc' readStream
-                        outputTo:outStream
-                        errorTo:nil
-                        inDirectory:nil
-                        lineWise:true
-                        onError:[:exitStatus | ^ false].
-        outStream contents
-    "
-
-    "
-        |outStream errStream|
-
-        outStream := #[] writeStream.
-
-        OperatingSystem executeCommand:'cat'
-                        inputFrom:(ByteArray new:5000000) readStream
-                        outputTo:outStream
-                        errorTo:nil
-                        inDirectory:nil
-                        lineWise:false
-                        onError:[:exitStatus | ^ false].
-        outStream size
-    "
-
-    "
-        |outStream errStream|
-
-        outStream := '' writeStream.
-
-        OperatingSystem executeCommand:'gpg -s --batch --no-tty --passphrase-fd 0 /tmp/passwd'
-                        inputFrom:'bla' readStream
-                        outputTo:outStream
-                        errorTo:nil
-                        inDirectory:nil
-                        lineWise:true
-                        onError:[:exitStatus |  false].
-        outStream contents
+	|outStream errStream|
+
+	outStream := '' writeStream.
+
+	OperatingSystem executeCommand:'ls -l'
+			inputFrom:'abc' readStream
+			outputTo:outStream
+			errorTo:nil
+			inDirectory:nil
+			lineWise:true
+			onError:[:exitStatus | ^ false].
+	outStream contents
+    "
+
+    "
+	|outStream errStream|
+
+	outStream := #[] writeStream.
+
+	OperatingSystem executeCommand:'cat'
+			inputFrom:(ByteArray new:5000000) readStream
+			outputTo:outStream
+			errorTo:nil
+			inDirectory:nil
+			lineWise:false
+			onError:[:exitStatus | ^ false].
+	outStream size
+    "
+
+    "
+	|outStream errStream|
+
+	outStream := '' writeStream.
+
+	OperatingSystem executeCommand:'gpg -s --batch --no-tty --passphrase-fd 0 /tmp/passwd'
+			inputFrom:'bla' readStream
+			outputTo:outStream
+			errorTo:nil
+			inDirectory:nil
+			lineWise:true
+			onError:[:exitStatus |  false].
+	outStream contents
     "
 
     "Modified: / 11-02-2007 / 20:54:39 / cg"
@@ -1392,15 +1392,15 @@
 
 executeCommand:aCommandString inputFrom:anInStream outputTo:anOutStream errorTo:anErrStream auxFrom:anAuxStream inDirectory:dirOrNil lineWise:lineWise onError:aBlock
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:anAuxStream
-        environment:nil
-        inDirectory:dirOrNil
-        lineWise:lineWise
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:anAuxStream
+	environment:nil
+	inDirectory:dirOrNil
+	lineWise:lineWise
+	onError:aBlock
 !
 
 executeCommand:aCommandString inputFrom:inputStreamOrNil outputTo:outStreamOrNil errorTo:errStreamOrNil inDirectory:aDirectory
@@ -1409,14 +1409,14 @@
      hardwiring any 'cd ..' command strings into your applictions."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:inputStreamOrNil
-        outputTo:outStreamOrNil
-        errorTo:errStreamOrNil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:inputStreamOrNil
+	outputTo:outStreamOrNil
+	errorTo:errStreamOrNil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:status| false]
 
     "
      OperatingSystem executeCommand:'tdump date.obj' inDirectory:'c:\winstx\stx\libbasic\objbc'.
@@ -1445,14 +1445,14 @@
      error resp. - i.e. usually, i/o will be from/to the terminal"
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:nil
-        inDirectory:dirOrNil
-        lineWise:lineWise
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:nil
+	inDirectory:dirOrNil
+	lineWise:lineWise
+	onError:aBlock
 !
 
 executeCommand:aCommandString inputFrom:anInStream outputTo:anOutStream errorTo:anErrStream inDirectory:dirOrNil onError:aBlock
@@ -1470,50 +1470,50 @@
      error resp. - i.e. i/o will be from/to the xterminal"
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:nil
-        inDirectory:dirOrNil
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:nil
+	inDirectory:dirOrNil
+	lineWise:false
+	onError:aBlock
 
     "
      OperatingSystem
-         executeCommand:'dir'
-         inputFrom:nil
-         outputTo:nil
-         errorTo:nil
-         inDirectory:'c:'
-         onError:[:status | Transcript flash]
+	 executeCommand:'dir'
+	 inputFrom:nil
+	 outputTo:nil
+	 errorTo:nil
+	 inDirectory:'c:'
+	 onError:[:status | Transcript flash]
 
      OperatingSystem
-         executeCommand:'foo'
-         inputFrom:nil
-         outputTo:nil
-         errorTo:nil
-         inDirectory:'/etc'
-         onError:[:status | Transcript flash]
+	 executeCommand:'foo'
+	 inputFrom:nil
+	 outputTo:nil
+	 errorTo:nil
+	 inDirectory:'/etc'
+	 onError:[:status | Transcript flash]
 
      |s|
      s := '' writeStream.
      OperatingSystem
-         executeCommand:'ls -l'
-         inputFrom:nil
-         outputTo:s
-         errorTo:nil
-         onError:[:status | Transcript flash].
+	 executeCommand:'ls -l'
+	 inputFrom:nil
+	 outputTo:s
+	 errorTo:nil
+	 onError:[:status | Transcript flash].
      Transcript showCR:s contents.
 
      |s|
      s := '' writeStream.
      OperatingSystem
-         executeCommand:'sh foo'
-         inputFrom:nil
-         outputTo:s
-         errorTo:s
-         onError:[:status | Transcript flash].
+	 executeCommand:'sh foo'
+	 inputFrom:nil
+	 outputTo:s
+	 errorTo:s
+	 onError:[:status | Transcript flash].
      Transcript showCR:s contents.
     "
 
@@ -1532,57 +1532,57 @@
      (containing the exit status) as argument."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:anInStream
-        outputTo:anOutStream
-        errorTo:anErrStream
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:aBlock
-
-    "
-        OperatingSystem
-            executeCommand:'dir'
-            inputFrom:nil
-            outputTo:nil
-            errorTo:nil
-            onError:[:status | Transcript flash]
-
-        OperatingSystem
-            executeCommand:'foo'
-            inputFrom:nil
-            outputTo:nil
-            errorTo:nil
-            onError:[:status | Transcript flash]
-    "
-    "
-        |outStr errStr|
-
-        outStr := '' writeStream.
-        errStr := '' writeStream.
-        OperatingSystem
-            executeCommand:'ls'
-            inputFrom:nil
-            outputTo:outStr
-            errorTo:errStr
-            onError:[:status | Transcript flash].
-        Transcript show:'out:'; showCR:outStr contents.
-        Transcript show:'err:'; showCR:errStr contents.
-    "
-    "
-        |outStr errStr|
-
-        outStr := '' writeStream.
-        errStr := '' writeStream.
-        OperatingSystem
-            executeCommand:'ls /fooBar'
-            inputFrom:nil
-            outputTo:outStr
-            errorTo:errStr
-            onError:[:status | Transcript flash].
-        Transcript show:'out:'; showCR:outStr contents.
-        Transcript show:'err:'; showCR:errStr contents.
+	executeCommand:aCommandString
+	inputFrom:anInStream
+	outputTo:anOutStream
+	errorTo:anErrStream
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:aBlock
+
+    "
+	OperatingSystem
+	    executeCommand:'dir'
+	    inputFrom:nil
+	    outputTo:nil
+	    errorTo:nil
+	    onError:[:status | Transcript flash]
+
+	OperatingSystem
+	    executeCommand:'foo'
+	    inputFrom:nil
+	    outputTo:nil
+	    errorTo:nil
+	    onError:[:status | Transcript flash]
+    "
+    "
+	|outStr errStr|
+
+	outStr := '' writeStream.
+	errStr := '' writeStream.
+	OperatingSystem
+	    executeCommand:'ls'
+	    inputFrom:nil
+	    outputTo:outStr
+	    errorTo:errStr
+	    onError:[:status | Transcript flash].
+	Transcript show:'out:'; showCR:outStr contents.
+	Transcript show:'err:'; showCR:errStr contents.
+    "
+    "
+	|outStr errStr|
+
+	outStr := '' writeStream.
+	errStr := '' writeStream.
+	OperatingSystem
+	    executeCommand:'ls /fooBar'
+	    inputFrom:nil
+	    outputTo:outStr
+	    errorTo:errStr
+	    onError:[:status | Transcript flash].
+	Transcript show:'out:'; showCR:outStr contents.
+	Transcript show:'err:'; showCR:errStr contents.
     "
 
     "Modified: / 10.11.1998 / 20:51:39 / cg"
@@ -1597,14 +1597,14 @@
      (containing the exit status) as argument."
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:aBlock
 
     "unix:
 
@@ -1639,14 +1639,14 @@
     self obsoleteMethodWarning:'use executeCommand:inDirectory:onError:'.
 
     ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:nil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:aBlock
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:nil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:aBlock
 
     "Modified: / 10.11.1998 / 20:54:37 / cg"
 !
@@ -1658,26 +1658,26 @@
      Return true if successful, false otherwise."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:anOutStreamOrNil
-        errorTo:nil
-        auxFrom:nil
-        inDirectory:nil
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:anOutStreamOrNil
+	errorTo:nil
+	auxFrom:nil
+	inDirectory:nil
+	lineWise:false
+	onError:[:status| false]
 
     "
      String streamContents:[:s|OperatingSystem
-        executeCommand:'ls'
-        outputTo:s
+	executeCommand:'ls'
+	outputTo:s
      ]
     "
 
     "
      String streamContents:[:s|OperatingSystem
-        executeCommand:'pwd'
-        outputTo:s
+	executeCommand:'pwd'
+	outputTo:s
      ]
     "
 !
@@ -1688,14 +1688,14 @@
      hardwiring any 'cd ..' command strings into your applictions."
 
      ^ self
-        executeCommand:aCommandString
-        inputFrom:nil
-        outputTo:outStreamOrNil
-        errorTo:errStreamOrNil
-        auxFrom:nil
-        inDirectory:aDirectory
-        lineWise:false
-        onError:[:status| false]
+	executeCommand:aCommandString
+	inputFrom:nil
+	outputTo:outStreamOrNil
+	errorTo:errStreamOrNil
+	auxFrom:nil
+	inDirectory:aDirectory
+	lineWise:false
+	onError:[:status| false]
 
     "
      OperatingSystem executeCommand:'tdump date.obj' inDirectory:'c:\winstx\stx\libbasic\objbc'.
@@ -1720,7 +1720,7 @@
 
     result := self getCommandOutputFrom:aCommand maxNumberOfLines:1 errorDisposition:#discard.
     result notNil ifTrue:[
-        ^ result firstIfEmpty:['']
+	^ result firstIfEmpty:['']
     ].
     ^ result
 
@@ -1751,33 +1751,33 @@
     |result|
 
     PipeFailed ~~ true ifTrue:[
-        PipeStream openErrorSignal handle:[:ex |
-            PipeFailed := true.
-            'OperatingSystem [warning]: cannot fork/popen' errorPrintCR.
-            ex return.
-        ] do:[
-            |p line|
-
-            p := PipeStream
-                    readingFrom:aCommand
-                    errorDisposition:errorDisposition
-                    inDirectory:nil.
-            result := StringCollection new.
-            [p atEnd] whileFalse:[
-                line := p nextLine.
-                (numLinesOrNil isNil
-                or:[result size < numLinesOrNil]) ifTrue:[
-                    result add:line
-                ].
-            ].
-            p close.
-            (p exitStatus notNil
-            and:[p exitStatus success]) ifFalse:[
-                result isEmpty ifTrue:[
-                    result := nil
-                ]
-            ].
-        ].
+	PipeStream openErrorSignal handle:[:ex |
+	    PipeFailed := true.
+	    'OperatingSystem [warning]: cannot fork/popen' errorPrintCR.
+	    ex return.
+	] do:[
+	    |p line|
+
+	    p := PipeStream
+		    readingFrom:aCommand
+		    errorDisposition:errorDisposition
+		    inDirectory:nil.
+	    result := StringCollection new.
+	    [p atEnd] whileFalse:[
+		line := p nextLine.
+		(numLinesOrNil isNil
+		or:[result size < numLinesOrNil]) ifTrue:[
+		    result add:line
+		].
+	    ].
+	    p close.
+	    (p exitStatus notNil
+	    and:[p exitStatus success]) ifFalse:[
+		result isEmpty ifTrue:[
+		    result := nil
+		]
+	    ].
+	].
     ].
     ^ result
 
@@ -1821,9 +1821,9 @@
     "
      OperatingSystem canExecuteCommand:'fooBar'
      OperatingSystem canExecuteCommand:'ls'
-     OperatingSystem canExecuteCommand:'cvs' 
-     OperatingSystem canExecuteCommand:'diff' 
-     OperatingSystem canExecuteCommand:'cvs.exe' 
+     OperatingSystem canExecuteCommand:'cvs'
+     OperatingSystem canExecuteCommand:'diff'
+     OperatingSystem canExecuteCommand:'cvs.exe'
     "
 
     "Created: 4.11.1995 / 19:13:54 / cg"
@@ -1889,13 +1889,13 @@
      Can be used on UNIX with fork or on other systems to chain to another program."
 
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:#(0 1 2)
-        fork:false
-        newPgrp:false
-        inDirectory:nil
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:#(0 1 2)
+	fork:false
+	newPgrp:false
+	inDirectory:nil
 
     "/ never reached ...
 
@@ -1904,13 +1904,13 @@
 
 exec:aCommandPath withArguments:argArray fileDescriptors:fileDescriptors fork:doFork newPgrp:newPgrp inDirectory:aDirectory
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:fileDescriptors
-        fork:doFork
-        newPgrp:newPgrp
-        inDirectory:aDirectory
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:fileDescriptors
+	fork:doFork
+	newPgrp:newPgrp
+	inDirectory:aDirectory
 !
 
 exec:aCommandPath withArguments:argArray fork:doFork
@@ -1920,25 +1920,25 @@
      (typically, the terminal window)"
 
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:#(0 1 2)
-        fork:doFork
-        newPgrp:false
-        inDirectory:nil
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:#(0 1 2)
+	fork:doFork
+	newPgrp:false
+	inDirectory:nil
 
     "
      |id|
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/ls'
-            withArguments:#('ls' '/tmp')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/ls'
+	    withArguments:#('ls' '/tmp')
+	    fork:false.
+	'not reached'.
      ]
     "
 
@@ -1947,12 +1947,12 @@
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/sh'
-            withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/sh'
+	    withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
+	    fork:false.
+	'not reached'.
      ].
      id printNL.
      (Delay forSeconds:3.5) wait.
@@ -1972,25 +1972,25 @@
      (typically, the terminal window)"
 
     ^ self
-        exec:aCommandPath
-        withArguments:argArray
-        environment:nil
-        fileDescriptors:#(0 1 2)
-        fork:doFork
-        newPgrp:false
-        inDirectory:aDirectory
+	exec:aCommandPath
+	withArguments:argArray
+	environment:nil
+	fileDescriptors:#(0 1 2)
+	fork:doFork
+	newPgrp:false
+	inDirectory:aDirectory
 
     "
      |id|
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/ls'
-            withArguments:#('ls' '/tmp')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/ls'
+	    withArguments:#('ls' '/tmp')
+	    fork:false.
+	'not reached'.
      ]
     "
 
@@ -1999,12 +1999,12 @@
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-        'I am the child'.
-        OperatingSystem
-            exec:'/bin/sh'
-            withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
-            fork:false.
-        'not reached'.
+	'I am the child'.
+	OperatingSystem
+	    exec:'/bin/sh'
+	    withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2')
+	    fork:false.
+	'not reached'.
      ].
      id printNL.
      (Delay forSeconds:3.5) wait.
@@ -2118,10 +2118,10 @@
      Here, false is returned and the caller should be prepared
      for a fallBack solution.
      Notice:
-        this is not a public interface; instead, it is used
-        internally by the Filename class, to try a fast copy
-        before doing things manually.
-        Please use Filename recursiveCopyTo:"
+	this is not a public interface; instead, it is used
+	internally by the Filename class, to try a fast copy
+	before doing things manually.
+	Please use Filename recursiveCopyTo:"
 
     ^ false
 
@@ -2141,8 +2141,8 @@
 
     self createDirectory:dirName.
     (self isDirectory:dirName) ifFalse:[
-        (self recursiveCreateDirectory:(dirName asFilename directoryName)) ifFalse:[^ false].
-        ^ self createDirectory:dirName
+	(self recursiveCreateDirectory:(dirName asFilename directoryName)) ifFalse:[^ false].
+	^ self createDirectory:dirName
     ].
     ^ true
 
@@ -2160,10 +2160,10 @@
      Here, false is returned and the caller should be prepared
      for a fallBack solution.
      Notice:
-        this is not a public interface; instead, it is used
-        internally by the Filename class, to try a fast remove
-        before doing things manually.
-        Please use Filename recursiveRemoveDirectory:"
+	this is not a public interface; instead, it is used
+	internally by the Filename class, to try a fast remove
+	before doing things manually.
+	Please use Filename recursiveRemoveDirectory:"
 
     ^ false
 
@@ -2231,7 +2231,7 @@
 
     "
      this could have been implemented as:
-        (self infoOf:aPathName) at:#mode
+	(self infoOf:aPathName) at:#mode
      but for huge directory searches the code below is faster
     "
 
@@ -2383,8 +2383,8 @@
      The amount of information returned depends upon the OS, and is
      not guaranteed to be consistent across architectures.
      On unix and msdos, the information returned is (at least):
-        freeBytes
-        totalBytes
+	freeBytes
+	totalBytes
      Do not depend on any information being present in the returned dictionary;
      users of this method should always use #at:ifAbsent:, and care for the absent case.
      Nil is returned if no such information can be obtained.
@@ -2412,9 +2412,9 @@
     "/ root, home and current directories.
     "/
     ^ Array
-        with:'/'
-        with:(self getHomeDirectory)
-        with:(Filename currentDirectory pathName)
+	with:'/'
+	with:(self getHomeDirectory)
+	with:(Filename currentDirectory pathName)
 
     "Modified: / 5.5.1999 / 01:06:26 / cg"
 !
@@ -2424,8 +2424,8 @@
      The amount of information returned depends upon the OS, and is
      not guaranteed to be consistent across architectures.
      On unix, the information returned is (at least):
-        mountPoint - mount point
-        fileSystem - device or NFS-remotePath
+	mountPoint - mount point
+	fileSystem - device or NFS-remotePath
     "
 
     ^ #()
@@ -2472,16 +2472,16 @@
     "return some object filled with info for the file 'aPathName';
      the info (for which corresponding access methods are understood by
      the returned object) is:
-         type            - a symbol giving the files type
-         mode            - numeric access mode
-         uid             - owners user id
-         gid             - owners group id
-         size            - files size
-         id              - files number (i.e. inode number)
-         accessed        - last access time (as Timestamp)
-         modified        - last modification time (as Timestamp)
-         statusChanged   - last status change time (as Timestamp)
-         alternativeName - (windows only: the MSDOS name of the file)
+	 type            - a symbol giving the files type
+	 mode            - numeric access mode
+	 uid             - owners user id
+	 gid             - owners group id
+	 size            - files size
+	 id              - files number (i.e. inode number)
+	 accessed        - last access time (as Timestamp)
+	 modified        - last modification time (as Timestamp)
+	 statusChanged   - last status change time (as Timestamp)
+	 alternativeName - (windows only: the MSDOS name of the file)
 
      Some of the fields may be returned as nil on systems which do not provide
      all of the information.
@@ -2784,8 +2784,8 @@
 disableTimer
     "disable timer interrupts.
      WARNING:
-        the system will not operate correctly with timer interrupts
-        disabled, because no scheduling or timeouts are possible."
+	the system will not operate correctly with timer interrupts
+	disabled, because no scheduling or timeouts are possible."
 
     self subclassResponsibility
 !
@@ -2794,9 +2794,9 @@
     "disable userInterrupt processing;
      when disabled, no ^C processing takes place.
      WARNING:
-         If at all, use this only for debugged stand-alone applications, since
-         no exit to the debugger is possible with user interrupts disabled.
-         We recommend setting up a handler for the signal instead of disabling it."
+	 If at all, use this only for debugged stand-alone applications, since
+	 no exit to the debugger is possible with user interrupts disabled.
+	 We recommend setting up a handler for the signal instead of disabling it."
 
     self disableSignal:(self sigBREAK).
     self disableSignal:(self sigINT).
@@ -2934,8 +2934,8 @@
      The process has a no chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 
@@ -2947,8 +2947,8 @@
      The process has NO chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 
@@ -2998,7 +2998,7 @@
     aSignalNumber == self sigDANGER  ifTrue:[^ 'low on paging space'].
 
     "notice: many systems map SIGPOLL and/or SIGUSR onto SIGIO
-             therefore, keep SIGIO always above the two below"
+	     therefore, keep SIGIO always above the two below"
     aSignalNumber == self sigPOLL   ifTrue:[^ 'io available'].
     aSignalNumber == self sigURG    ifTrue:[^ 'urgent'].
 
@@ -3015,7 +3015,7 @@
      operatingSystem-signal occurs, or nil"
 
     OSSignals notNil ifTrue:[
-        ^ OSSignals at:signalNumber ifAbsent:[nil]
+	^ OSSignals at:signalNumber ifAbsent:[nil]
     ].
     ^ nil
 !
@@ -3024,7 +3024,7 @@
     "install a signal to be raised when an operatingSystem-signal occurs"
 
     OSSignals isNil ifTrue:[
-        OSSignals := Array new:32
+	OSSignals := Array new:32
     ].
     OSSignals at:signalNumber put:aSignal
 !
@@ -3045,7 +3045,7 @@
      On systems, where no virtual timer is available, use the real timer
      (which is of course less correct).
      OBSOLETE: the new messageTally runs as a high prio process, not using
-               spy interrupts."
+	       spy interrupts."
 
     ^ false
 !
@@ -3053,7 +3053,7 @@
 stopSpyTimer
     "stop spy timing - disable spy timer.
      OBSOLETE: the new messageTally runs as a high prio process, not using
-               spy interrupts."
+	       spy interrupts."
 
     ^ false
 !
@@ -3063,8 +3063,8 @@
      The process has a chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 !
@@ -3074,8 +3074,8 @@
      The process has a chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-              you may have to fetch the processes exitstatus with
-              OperatingSystem>>getStatusOfProcess:aProcessId."
+	      you may have to fetch the processes exitstatus with
+	      OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self subclassResponsibility
 !
@@ -3116,7 +3116,7 @@
     int code = 1;
 
     if (__isSmallInteger(exitCode)) {
-        code = __intVal(exitCode);
+	code = __intVal(exitCode);
     }
     __mainExit(code);
 %}
@@ -3319,7 +3319,7 @@
 getDomainName
     "return the domain this host is in.
      Notice:
-        not all systems support this; on some, 'unknown' is returned."
+	not all systems support this; on some, 'unknown' is returned."
 
     self subclassResponsibility
 !
@@ -3331,11 +3331,11 @@
 !
 
 getHostName
-    "return the hostname we are running on - 
+    "return the hostname we are running on -
      a fully qalified hostname at best.
 
      Notice:
-        not all systems support this; on some, 'unknown' is returned."
+	not all systems support this; on some, 'unknown' is returned."
 
     self subclassResponsibility
 !
@@ -3350,42 +3350,42 @@
     "return a dictionary filled with values from the locale information;
      Not all fields may be present, depending on the OS's setup and capabilities.
      Possible fields are:
-        decimalPoint                    <String>
-
-        thousandsSep                    <String>
-
-        internationalCurrencySymbol     <String>
-
-        currencySymbol                  <String>
-
-        monetaryDecimalPoint            <String>
-
-        monetaryThousandsSeparator      <String>
-
-        positiveSign                    <String>
-
-        negativeSign                    <String>
-
-        internationalFractionalDigits   <Integer>
-
-        fractionalDigits                <Integer>
-
-        positiveSignPrecedesCurrencySymbol      <Boolean>
-
-        negativeSignPrecedesCurrencySymbol      <Boolean>
-
-        positiveSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
-
-        negativeSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
-
-        positiveSignPosition                            <Symbol>
-                                                        one of: #parenthesesAround,
-                                                                #signPrecedes,
-                                                                #signSuceeds,
-                                                                #signPrecedesCurrencySymbol,
-                                                                #signSuceedsCurrencySymbol
-
-        negativeSignPosition                            <like above>
+	decimalPoint                    <String>
+
+	thousandsSep                    <String>
+
+	internationalCurrencySymbol     <String>
+
+	currencySymbol                  <String>
+
+	monetaryDecimalPoint            <String>
+
+	monetaryThousandsSeparator      <String>
+
+	positiveSign                    <String>
+
+	negativeSign                    <String>
+
+	internationalFractionalDigits   <Integer>
+
+	fractionalDigits                <Integer>
+
+	positiveSignPrecedesCurrencySymbol      <Boolean>
+
+	negativeSignPrecedesCurrencySymbol      <Boolean>
+
+	positiveSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
+
+	negativeSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
+
+	positiveSignPosition                            <Symbol>
+							one of: #parenthesesAround,
+								#signPrecedes,
+								#signSuceeds,
+								#signPrecedesCurrencySymbol,
+								#signSuceedsCurrencySymbol
+
+	negativeSignPosition                            <like above>
 
      it is up to the application to deal with undefined values.
 
@@ -3398,14 +3398,14 @@
 
 getNetworkAddresses
     "return a dictionary with key:name of interface and
-                            value:the network address for each interface"
+			    value:the network address for each interface"
 
     self subclassResponsibility
 !
 
 getNetworkMACAddresses
     "return a dictionary with key:name of interface and
-                            value:the MAC adress for each interface"
+			    value:the MAC adress for each interface"
 
     self subclassResponsibility
 !
@@ -3636,7 +3636,7 @@
     "if supported by the OS, return the systemID;
      a unique per machine identification.
      WARNING:
-        not all systems support this; on some, 'unknown' is returned."
+	not all systems support this; on some, 'unknown' is returned."
 
     ^ 'unknown'
 
@@ -3658,16 +3658,16 @@
        This method is mainly provided to augment error reports with some system
        information.
        (in case of system/version specific OS errors, conditional workarounds and patches
-        may be based upon this info).
+	may be based upon this info).
        Your application should NOT depend upon this in any way.
 
      The returned info may (or may not) contain:
-        #system -> some operating system identification (irix, Linux, nt, win32s ...)
-        #version -> OS version (some os version identification)
-        #release -> OS release (3.5, 1.2.1 ...)
-        #node   -> some host identification (hostname)
-        #domain  -> domain name (hosts domain)
-        #machine -> type of machine (i586, mips ...)
+	#system -> some operating system identification (irix, Linux, nt, win32s ...)
+	#version -> OS version (some os version identification)
+	#release -> OS release (3.5, 1.2.1 ...)
+	#node   -> some host identification (hostname)
+	#domain  -> domain name (hosts domain)
+	#machine -> type of machine (i586, mips ...)
     "
 
     |info|
@@ -3705,7 +3705,7 @@
     "internal interface - only for Windows based systems.
      Return the windows directory, which, depending on the system,
      may be
-        '\WINNT', '\WINDOWS' 
+	'\WINNT', '\WINDOWS'
      or whatever.
      On non-windows systems, nil is returned."
 
@@ -3719,8 +3719,8 @@
 getWindowsSystemDirectory
     "internal interface - only for Windows based systems.
      Return the windows system directory, which, depending on the system,
-     may be 
-        '\WINNT\SYSTEM32', '\WINDOWS\SYSTEM' 
+     may be
+	'\WINNT\SYSTEM32', '\WINDOWS\SYSTEM'
      or whatever.
      On non-windows systems, nil is returned."
 
@@ -3805,12 +3805,12 @@
      dialogs are presented to the user."
 
     ^#(
-        win32
-        os2      "/ actually - this is no longer true
-        macos    "/ actually - this is no longer true
-        vms      "/ actually - this is no longer true
-        beos     "/ actually - this was never true
-        unix
+	win32
+	os2      "/ actually - this is no longer true
+	macos    "/ actually - this is no longer true
+	vms      "/ actually - this is no longer true
+	beos     "/ actually - this was never true
+	unix
     )
 
     "
@@ -3825,11 +3825,11 @@
 maxFileNameLength
     "return the max number of characters in a filename.
      CAVEAT:
-         Actually, the following is somewhat wrong - some systems
-         support different sizes, depending on the volume.
-         We return a somewhat conservative number here.
-         Another entry, to query for volume specific max
-         will be added in the future."
+	 Actually, the following is somewhat wrong - some systems
+	 support different sizes, depending on the volume.
+	 We return a somewhat conservative number here.
+	 Another entry, to query for volume specific max
+	 will be added in the future."
 
     self subclassResponsibility
 !
@@ -3914,21 +3914,21 @@
     "Modified: 20.6.1997 / 17:37:26 / cg"
 !
 
-randomBytesInto:bufferOrInteger 
+randomBytesInto:bufferOrInteger
     "If bufferOrInteger is a String or a ByteArray,
-        fill a given buffer with random bytes from the RtlGenRandom function
-        and nswer the buffer.
+	fill a given buffer with random bytes from the RtlGenRandom function
+	and nswer the buffer.
 
      If bufferOrInteger is a SmallInteger,
-        return this many bytes (max 4) as a SmallInteger.
-
-     Return nil on error (may raise PrimitiveFailure, too).   
+	return this many bytes (max 4) as a SmallInteger.
+
+     Return nil on error (may raise PrimitiveFailure, too).
 
      NOTE: This is a private interface, please use RandomGenerator!!
 
      Subclasses should implement this, if the OperatingSystem supports a random generator."
 
-    ^ nil  "not implemented"    
+    ^ nil  "not implemented"
 !
 
 setEnvironment:aStringOrSymbol to:newValueString
@@ -4102,7 +4102,7 @@
     "/
     appDirName := self pathOfSTXExecutable asFilename directory.
     (packagePath includes:appDirName) ifFalse:[
-        packagePath add:appDirName.
+	packagePath add:appDirName.
     ].
 
     "/
@@ -4112,27 +4112,27 @@
     appDir := self pathOfSTXExecutable asFilename directory directory.
     dirName := appDir pathName.
     (packagePath includes:dirName) ifFalse:[
-        packagePath add:dirName.
+	packagePath add:dirName.
     ].
 
     homeDirName := OperatingSystem getHomeDirectory.
     homeDirName notNil ifTrue:[
-        "/
-        "/ a users private smalltalk directory in its home (login) directory:
-        "/      $HOME/.smalltalk/packages    or $HOME\smalltalk\packages
-        "/
-        OperatingSystem isUNIXlike ifTrue:[
-            priv := '.smalltalk'.
-        ] ifFalse:[
-            priv := 'smalltalk'.
-        ].
-        userPrivateSTXDir := homeDirName asFilename / priv.
-        (userPrivateSTXDir isDirectory) ifTrue:[
-            dirName :=  userPrivateSTXDir pathName.
-            (packagePath includes:dirName) ifFalse:[
-                packagePath add:dirName
-            ]
-        ].
+	"/
+	"/ a users private smalltalk directory in its home (login) directory:
+	"/      $HOME/.smalltalk/packages    or $HOME\smalltalk\packages
+	"/
+	OperatingSystem isUNIXlike ifTrue:[
+	    priv := '.smalltalk'.
+	] ifFalse:[
+	    priv := 'smalltalk'.
+	].
+	userPrivateSTXDir := homeDirName asFilename / priv.
+	(userPrivateSTXDir isDirectory) ifTrue:[
+	    dirName :=  userPrivateSTXDir pathName.
+	    (packagePath includes:dirName) ifFalse:[
+		packagePath add:dirName
+	    ]
+	].
     ].
 
     "/
@@ -4141,41 +4141,41 @@
     "/
     topDirName := OperatingSystem getEnvironment:'STX_TOPDIR'.
     topDirName notNil ifTrue:[
-        (packagePath includes:topDirName) ifFalse:[
-            packagePath add:topDirName
-        ].
+	(packagePath includes:topDirName) ifFalse:[
+	    packagePath add:topDirName
+	].
     ].
 
     packagePath := packagePath select:[:each | (each asFilename / 'packages') exists]
-                               thenCollect:[:each | (each asFilename constructString:'packages')].
+			       thenCollect:[:each | (each asFilename constructString:'packages')].
 
     "
       unconditionally prepend all directories from $STX_PACKAGEPATH
     "
     (dirName := OperatingSystem getEnvironment:'STX_PACKAGEPATH') notNil ifTrue:[
-        dirName := dirName asCollectionOfSubstringsSeparatedBy:$:.
-        dirName reverseDo:[:eachDirectoryName|
-            (packagePath includes:eachDirectoryName) ifFalse:[
-                packagePath addFirst:eachDirectoryName.
-            ].
-        ].
+	dirName := dirName asCollectionOfSubstringsSeparatedBy:$:.
+	dirName reverseDo:[:eachDirectoryName|
+	    (packagePath includes:eachDirectoryName) ifFalse:[
+		packagePath addFirst:eachDirectoryName.
+	    ].
+	].
     ].
 
     "maybe the sources are kept in a central place..."
     (appDir / 'source') isDirectory ifTrue:[
-        packagePath add:(appDir / 'source') pathName.
+	packagePath add:(appDir / 'source') pathName.
     ].
 
     "maybe we are running in the build environment:  XXX/stx    /projects /smalltalk
-                                                or:  XXX/exept  /expecco  /application
+						or:  XXX/exept  /expecco  /application
      - if XXX/stx/libbasic exists, add XXX to the package path"
 
     topDirName isNil ifTrue:[
-        "appdir is now: projects"
-        appDir := appDir directory directory.
-        (appDir / 'stx' / 'libbasic') isDirectory ifTrue:[
-            packagePath add:appDir pathName.
-        ].
+	"appdir is now: projects"
+	appDir := appDir directory directory.
+	(appDir / 'stx' / 'libbasic') isDirectory ifTrue:[
+	    packagePath add:appDir pathName.
+	].
     ].
 
     ^ packagePath
@@ -4212,17 +4212,17 @@
     "/
     appPath := self pathOfSTXExecutable.
     appPath notNil ifTrue:[
-        appDir := appPath asFilename directory.
-        appPath := appDir pathName.
-        (sysPath includes:appPath) ifFalse:[
-            sysPath add:appPath.
-        ].                                                             
-        appDir baseName = 'bin' ifTrue:[
-            appPath := appDir directory pathName.
-            (sysPath includes:appPath) ifFalse:[
-                sysPath add:appPath.
-            ].
-        ].
+	appDir := appPath asFilename directory.
+	appPath := appDir pathName.
+	(sysPath includes:appPath) ifFalse:[
+	    sysPath add:appPath.
+	].
+	appDir baseName = 'bin' ifTrue:[
+	    appPath := appDir directory pathName.
+	    (sysPath includes:appPath) ifFalse:[
+		sysPath add:appPath.
+	    ].
+	].
     ].
 
     "/
@@ -4230,45 +4230,45 @@
     "/
     homePath := self getHomeDirectory.
     homePath notNil ifTrue:[
-        "/
-        "/ a users private smalltalk directory in its home (login) directory
-        "/
-        OperatingSystem isUNIXlike ifTrue:[
-            priv := '.smalltalk'.
-        ] ifFalse:[
-            priv := 'smalltalk'.
-        ].
-        userPrivateSTXDir := homePath asFilename construct:priv.
-        (userPrivateSTXDir isDirectory) ifTrue:[
-            userPrivateSTXDir := userPrivateSTXDir pathName.
-            (sysPath includes:userPrivateSTXDir) ifFalse:[
-                sysPath add:userPrivateSTXDir
-            ]
-        ].
+	"/
+	"/ a users private smalltalk directory in its home (login) directory
+	"/
+	OperatingSystem isUNIXlike ifTrue:[
+	    priv := '.smalltalk'.
+	] ifFalse:[
+	    priv := 'smalltalk'.
+	].
+	userPrivateSTXDir := homePath asFilename construct:priv.
+	(userPrivateSTXDir isDirectory) ifTrue:[
+	    userPrivateSTXDir := userPrivateSTXDir pathName.
+	    (sysPath includes:userPrivateSTXDir) ifFalse:[
+		sysPath add:userPrivateSTXDir
+	    ]
+	].
     ].
 
     "/
     "/ SMALLTALK_LIBDIR, STX_LIBDIR and STX_TOPDIR from the environment
     "/
-    #( 
-        'SMALLTALK_LIBDIR'
-        'STX_LIBDIR'
-        'STX_TOPDIR'
+    #(
+	'SMALLTALK_LIBDIR'
+	'STX_LIBDIR'
+	'STX_TOPDIR'
      ) do:[:each |
-        p := OperatingSystem getEnvironment:each.
-        p notNil ifTrue:[
-            p := p asFilename pathName.
-            (p asFilename isDirectory) ifTrue:[
-                (sysPath includes:p) ifFalse:[
-                     sysPath add:p
-                ]
-            ]
-        ].
+	p := OperatingSystem getEnvironment:each.
+	p notNil ifTrue:[
+	    p := p asFilename pathName.
+	    (p asFilename isDirectory) ifTrue:[
+		(sysPath includes:p) ifFalse:[
+		     sysPath add:p
+		]
+	    ]
+	].
     ].
     ^ sysPath
 
     "
-        OperatingSystem defaultSystemPath
+	OperatingSystem defaultSystemPath
     "
 
     "Modified: / 24.12.1999 / 00:30:27 / cg"
@@ -4305,7 +4305,7 @@
 %{  /*NOCONTEXT*/
 
     if (__isSmallInteger(aSymbolOrInteger) || aSymbolOrInteger == nil) {
-        RETURN (aSymbolOrInteger);
+	RETURN (aSymbolOrInteger);
     }
 
 #ifdef AF_INET
@@ -4501,208 +4501,208 @@
 %{ /*NOCONTEXT*/
 
     if (__isSmallInteger(anInteger)) {
-        switch(__intVal(anInteger)) {
+	switch(__intVal(anInteger)) {
 #ifdef AF_INET
-        case AF_INET:
-            domainSymbol = @symbol(AF_INET);
-            break;
+	case AF_INET:
+	    domainSymbol = @symbol(AF_INET);
+	    break;
 #endif
 #ifdef AF_INET6
-        case AF_INET6:
-            domainSymbol = @symbol(AF_INET6);
-            break;
+	case AF_INET6:
+	    domainSymbol = @symbol(AF_INET6);
+	    break;
 #endif
 #ifdef AF_UNIX
-        case AF_UNIX:
-            domainSymbol = @symbol(AF_UNIX);
-            break;
+	case AF_UNIX:
+	    domainSymbol = @symbol(AF_UNIX);
+	    break;
 #endif
 #ifdef AF_APPLETALK
-        case AF_APPLETALK:
-            domainSymbol = @symbol(AF_APPLETALK);
-            break;
+	case AF_APPLETALK:
+	    domainSymbol = @symbol(AF_APPLETALK);
+	    break;
 #endif
 #ifdef AF_DECnet
-        case AF_DECnet:
-            domainSymbol = @symbol(AF_DECnet);
-            break;
+	case AF_DECnet:
+	    domainSymbol = @symbol(AF_DECnet);
+	    break;
 #endif
 #ifdef AF_NS
-        case AF_NS:
-            domainSymbol = @symbol(AF_NS);
-            break;
+	case AF_NS:
+	    domainSymbol = @symbol(AF_NS);
+	    break;
 #endif
 #ifdef AF_X25
-        case AF_X25:
-            domainSymbol = @symbol(AF_X25);
-            break;
+	case AF_X25:
+	    domainSymbol = @symbol(AF_X25);
+	    break;
 #endif
 #ifdef AF_SNA
-        case AF_SNA:
-            domainSymbol = @symbol(AF_SNA);
-            break;
+	case AF_SNA:
+	    domainSymbol = @symbol(AF_SNA);
+	    break;
 #endif
 #ifdef AF_RAW
-        case AF_RAW:
-            domainSymbol = @symbol(AF_RAW);
-            break;
+	case AF_RAW:
+	    domainSymbol = @symbol(AF_RAW);
+	    break;
 #endif
 #ifdef AF_ISO
-        case AF_ISO:
-            domainSymbol = @symbol(AF_ISO);
-            break;
+	case AF_ISO:
+	    domainSymbol = @symbol(AF_ISO);
+	    break;
 #endif
 #ifdef AF_ECMA
-        case AF_ECMA:
-            domainSymbol = @symbol(AF_ECMA);
-            break;
+	case AF_ECMA:
+	    domainSymbol = @symbol(AF_ECMA);
+	    break;
 #endif
 #ifdef AF_NETBIOS
-        case AF_NETBIOS:
-            domainSymbol = @symbol(AF_NETBIOS);
-            break;
+	case AF_NETBIOS:
+	    domainSymbol = @symbol(AF_NETBIOS);
+	    break;
 #endif
 #ifdef AF_IPX
-        case AF_IPX:
-            domainSymbol = @symbol(AF_IPX);
-            break;
+	case AF_IPX:
+	    domainSymbol = @symbol(AF_IPX);
+	    break;
 #endif
 #ifdef AF_AX25
-        case AF_AX25:
-            domainSymbol = @symbol(AF_AX25);
-            break;
+	case AF_AX25:
+	    domainSymbol = @symbol(AF_AX25);
+	    break;
 #endif
 #ifdef AF_NETROM
-        case AF_NETROM:
-            domainSymbol = @symbol(AF_NETROM);
-            break;
+	case AF_NETROM:
+	    domainSymbol = @symbol(AF_NETROM);
+	    break;
 #endif
 #ifdef AF_BRIDGE
-        case AF_BRIDGE:
-            domainSymbol = @symbol(AF_BRIDGE);
-            break;
+	case AF_BRIDGE:
+	    domainSymbol = @symbol(AF_BRIDGE);
+	    break;
 #endif
 #ifdef AF_BSC
-        case AF_BSC:
-            domainSymbol = @symbol(AF_BSC);
-            break;
+	case AF_BSC:
+	    domainSymbol = @symbol(AF_BSC);
+	    break;
 #endif
 #ifdef AF_ROSE
-        case AF_ROSE:
-            domainSymbol = @symbol(AF_ROSE);
-            break;
+	case AF_ROSE:
+	    domainSymbol = @symbol(AF_ROSE);
+	    break;
 #endif
 #ifdef AF_IRDA
-        case AF_IRDA:
-            domainSymbol = @symbol(AF_IRDA);
-            break;
+	case AF_IRDA:
+	    domainSymbol = @symbol(AF_IRDA);
+	    break;
 #endif
 #ifdef AF_BAN
-        case AF_BAN:
-            domainSymbol = @symbol(AF_BAN);
-            break;
+	case AF_BAN:
+	    domainSymbol = @symbol(AF_BAN);
+	    break;
 #endif
 #ifdef AF_VOICEVIEW
-        case AF_VOICEVIEW:
-            domainSymbol = @symbol(AF_VOICEVIEW);
-            break;
+	case AF_VOICEVIEW:
+	    domainSymbol = @symbol(AF_VOICEVIEW);
+	    break;
 #endif
 #ifdef AF_ATM
-        case AF_ATM:
-            domainSymbol = @symbol(AF_ATM);
-            break;
+	case AF_ATM:
+	    domainSymbol = @symbol(AF_ATM);
+	    break;
 #endif
 #ifdef AF_ATMPVC
-        case AF_ATMPVC:
-            domainSymbol = @symbol(AF_ATMPVC);
-            break;
+	case AF_ATMPVC:
+	    domainSymbol = @symbol(AF_ATMPVC);
+	    break;
 #endif
 #ifdef AF_ATMSVC
-        case AF_ATMSVC:
-            domainSymbol = @symbol(AF_ATMSVC);
-            break;
+	case AF_ATMSVC:
+	    domainSymbol = @symbol(AF_ATMSVC);
+	    break;
 #endif
 #ifdef AF_SECURITY
-        case AF_SECURITY:
-            domainSymbol = @symbol(AF_SECURITY);
-            break;
+	case AF_SECURITY:
+	    domainSymbol = @symbol(AF_SECURITY);
+	    break;
 #endif
 #ifdef AF_KEY
-        case AF_KEY:
-            domainSymbol = @symbol(AF_KEY);
-            break;
+	case AF_KEY:
+	    domainSymbol = @symbol(AF_KEY);
+	    break;
 #endif
 #ifdef AF_NETLINK
-        case AF_NETLINK:
-            domainSymbol = @symbol(AF_NETLINK);
-            break;
+	case AF_NETLINK:
+	    domainSymbol = @symbol(AF_NETLINK);
+	    break;
 #endif
 #ifdef AF_PACKET
-        case AF_PACKET:
-            domainSymbol = @symbol(AF_PACKET);
-            break;
+	case AF_PACKET:
+	    domainSymbol = @symbol(AF_PACKET);
+	    break;
 #endif
 #ifdef AF_ASH
-        case AF_ASH:
-            domainSymbol = @symbol(AF_ASH);
-            break;
+	case AF_ASH:
+	    domainSymbol = @symbol(AF_ASH);
+	    break;
 #endif
 #ifdef AF_ECONET
-        case AF_ECONET:
-            domainSymbol = @symbol(AF_ECONET);
-            break;
+	case AF_ECONET:
+	    domainSymbol = @symbol(AF_ECONET);
+	    break;
 #endif
 #ifdef AF_IMPLINK
-        case AF_IMPLINK:
-            domainSymbol = @symbol(AF_IMPLINK);
-            break;
+	case AF_IMPLINK:
+	    domainSymbol = @symbol(AF_IMPLINK);
+	    break;
 #endif
 #ifdef AF_PUP
-        case AF_PUP:
-            domainSymbol = @symbol(AF_PUP);
-            break;
+	case AF_PUP:
+	    domainSymbol = @symbol(AF_PUP);
+	    break;
 #endif
 #ifdef AF_CHAOS
-        case AF_CHAOS:
-            domainSymbol = @symbol(AF_CHAOS);
-            break;
+	case AF_CHAOS:
+	    domainSymbol = @symbol(AF_CHAOS);
+	    break;
 #endif
 #ifdef AF_DLI
-        case AF_DLI:
-            domainSymbol = @symbol(AF_DLI);
-            break;
+	case AF_DLI:
+	    domainSymbol = @symbol(AF_DLI);
+	    break;
 #endif
 #ifdef AF_LAT
-        case AF_LAT:
-            domainSymbol = @symbol(AF_LAT);
-            break;
+	case AF_LAT:
+	    domainSymbol = @symbol(AF_LAT);
+	    break;
 #endif
 #ifdef AF_HYLINK
-        case AF_HYLINK:
-            domainSymbol = @symbol(AF_HYLINK);
-            break;
+	case AF_HYLINK:
+	    domainSymbol = @symbol(AF_HYLINK);
+	    break;
 #endif
 #ifdef AF_FIREFOX
-        case AF_FIREFOX:
-            domainSymbol = @symbol(AF_FIREFOX);
-            break;
+	case AF_FIREFOX:
+	    domainSymbol = @symbol(AF_FIREFOX);
+	    break;
 #endif
 #ifdef AF_CLUSTER
-        case AF_CLUSTER:
-            domainSymbol = @symbol(AF_CLUSTER);
-            break;
+	case AF_CLUSTER:
+	    domainSymbol = @symbol(AF_CLUSTER);
+	    break;
 #endif
 #ifdef AF_12844
-        case AF_12844:
-            domainSymbol = @symbol(AF_12844);
-            break;
+	case AF_12844:
+	    domainSymbol = @symbol(AF_12844);
+	    break;
 #endif
 #ifdef AF_NETDES
-        case AF_NETDES:
-            domainSymbol = @symbol(AF_NETDES);
-            break;
-#endif
-        }
+	case AF_NETDES:
+	    domainSymbol = @symbol(AF_NETDES);
+	    break;
+#endif
+	}
     }
 %}.
 
@@ -4729,7 +4729,7 @@
 %{  /*NOCONTEXT*/
 
     if (__isSmallInteger(aSymbolOrInteger) || aSymbolOrInteger == nil) {
-        RETURN (aSymbolOrInteger);
+	RETURN (aSymbolOrInteger);
     }
 
 #ifdef IPPROTO_IP
@@ -4791,68 +4791,68 @@
 %{ /*NOCONTEXT*/
 
     if (__isSmallInteger(anInteger)) {
-        switch(__intVal(anInteger)) {
+	switch(__intVal(anInteger)) {
 #ifdef IPPROTO_IP
-        case IPPROTO_IP:
-            // protocolSymbol = @symbol(IPPROTO_IP);
-            protocolSymbol = @symbol(ip);
-            break;
+	case IPPROTO_IP:
+	    // protocolSymbol = @symbol(IPPROTO_IP);
+	    protocolSymbol = @symbol(ip);
+	    break;
 #endif
 #ifdef IPPROTO_ICMP
-        case IPPROTO_ICMP:
-            // protocolSymbol = @symbol(IPPROTO_ICMP);
-            protocolSymbol = @symbol(icmp);
-            break;
+	case IPPROTO_ICMP:
+	    // protocolSymbol = @symbol(IPPROTO_ICMP);
+	    protocolSymbol = @symbol(icmp);
+	    break;
 #endif
 #ifdef IPPROTO_IGMP
-        case IPPROTO_IGMP:
-            // protocolSymbol = @symbol(IPPROTO_IGMP);
-            protocolSymbol = @symbol(igmp);
-            break;
+	case IPPROTO_IGMP:
+	    // protocolSymbol = @symbol(IPPROTO_IGMP);
+	    protocolSymbol = @symbol(igmp);
+	    break;
 #endif
 #ifdef IPPROTO_GGP
-        case IPPROTO_GGP:
-            // protocolSymbol = @symbol(IPPROTO_GGP);
-            protocolSymbol = @symbol(ggp);
-            break;
+	case IPPROTO_GGP:
+	    // protocolSymbol = @symbol(IPPROTO_GGP);
+	    protocolSymbol = @symbol(ggp);
+	    break;
 #endif
 #ifdef IPPROTO_TCP
-        case IPPROTO_TCP:
-            // protocolSymbol = @symbol(IPPROTO_TCP);
-            protocolSymbol = @symbol(tcp);
-            break;
+	case IPPROTO_TCP:
+	    // protocolSymbol = @symbol(IPPROTO_TCP);
+	    protocolSymbol = @symbol(tcp);
+	    break;
 #endif
 #ifdef IPPROTO_PUP
-        case IPPROTO_PUP:
-            // protocolSymbol = @symbol(IPPROTO_PUP);
-            protocolSymbol = @symbol(pup);
-            break;
+	case IPPROTO_PUP:
+	    // protocolSymbol = @symbol(IPPROTO_PUP);
+	    protocolSymbol = @symbol(pup);
+	    break;
 #endif
 #ifdef IPPROTO_UDP
-        case IPPROTO_UDP:
-            // protocolSymbol = @symbol(IPPROTO_UDP);
-            protocolSymbol = @symbol(udp);
-            break;
+	case IPPROTO_UDP:
+	    // protocolSymbol = @symbol(IPPROTO_UDP);
+	    protocolSymbol = @symbol(udp);
+	    break;
 #endif
 #ifdef IPPROTO_IDP
-        case IPPROTO_IDP:
-            // protocolSymbol = @symbol(IPPROTO_IDP);
-            protocolSymbol = @symbol(idp);
-            break;
+	case IPPROTO_IDP:
+	    // protocolSymbol = @symbol(IPPROTO_IDP);
+	    protocolSymbol = @symbol(idp);
+	    break;
 #endif
 #ifdef IPPROTO_ND
-        case IPPROTO_ND:
-            // protocolSymbol = @symbol(IPPROTO_ND);
-            protocolSymbol = @symbol(nd);
-            break;
+	case IPPROTO_ND:
+	    // protocolSymbol = @symbol(IPPROTO_ND);
+	    protocolSymbol = @symbol(nd);
+	    break;
 #endif
 #ifdef IPPROTO_RAW
-        case IPPROTO_RAW:
-            // protocolSymbol = @symbol(IPPROTO_RAW);
-            protocolSymbol = @symbol(raw);
-            break;
-#endif
-        }
+	case IPPROTO_RAW:
+	    // protocolSymbol = @symbol(IPPROTO_RAW);
+	    protocolSymbol = @symbol(raw);
+	    break;
+#endif
+	}
     }
 %}.
 
@@ -4875,207 +4875,207 @@
 
 %{
     if (__isSmallInteger(domainCode)) {
-        switch (__intVal(domainCode)) {
+	switch (__intVal(domainCode)) {
 #ifdef AF_INET
-            case AF_INET:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_in) );
-                break;
+	    case AF_INET:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_in) );
+		break;
 #endif
 #ifdef AF_INET6
-            case AF_INET6:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_in6) );
-                break;
+	    case AF_INET6:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_in6) );
+		break;
 #endif
 #ifdef AF_UNIX
-            case AF_UNIX:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_un) );
-                break;
+	    case AF_UNIX:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_un) );
+		break;
 #endif
 #ifdef AF_APPLETALK
-            case AF_APPLETALK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_at) );
-                break;
+	    case AF_APPLETALK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_at) );
+		break;
 #endif
 #ifdef AF_DECnet
-            case AF_DECnet:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_dn) );
-                break;
+	    case AF_DECnet:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_dn) );
+		break;
 #endif
 #ifdef AF_NS
-            case AF_NS:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ns) );
-                break;
+	    case AF_NS:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ns) );
+		break;
 #endif
 #ifdef AF_X25
-            case AF_X25:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_x25) );
-                break;
+	    case AF_X25:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_x25) );
+		break;
 #endif
 #ifdef AF_SNA
-            case AF_SNA:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_sna) );
-                break;
+	    case AF_SNA:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_sna) );
+		break;
 #endif
 #ifdef AF_RAW
-            case AF_RAW:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_raw) );
-                break;
+	    case AF_RAW:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_raw) );
+		break;
 #endif
 #ifdef AF_ISO
-            case AF_ISO:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_iso) );
-                break;
+	    case AF_ISO:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_iso) );
+		break;
 #endif
 #ifdef AF_ECMA
 # if 0
-            case AF_ECMA:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ecma) );
-                break;
+	    case AF_ECMA:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ecma) );
+		break;
 # endif
 #endif
 #ifdef AF_NETBIOS
-            case AF_NETBIOS:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbios) );
-                break;
+	    case AF_NETBIOS:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbios) );
+		break;
 #endif
 #ifdef AF_NETBEUI
-            case AF_NETBEUI:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbeui) );
-                break;
+	    case AF_NETBEUI:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netbeui) );
+		break;
 #endif
 #ifdef AF_IPX
-            case AF_IPX:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ipx) );
-                break;
+	    case AF_IPX:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ipx) );
+		break;
 #endif
 #ifdef AF_AX25
-            case AF_AX25:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ax25) );
-                break;
+	    case AF_AX25:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ax25) );
+		break;
 #endif
 #ifdef AF_NETROM
-            case AF_NETROM:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netrom) );
-                break;
+	    case AF_NETROM:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netrom) );
+		break;
 #endif
 #ifdef AF_BRIDGE
-            case AF_BRIDGE:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_bridge) );
-                break;
+	    case AF_BRIDGE:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_bridge) );
+		break;
 #endif
 #ifdef AF_BSC
-            case AF_BSC:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_bsc) );
-                break;
+	    case AF_BSC:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_bsc) );
+		break;
 #endif
 #ifdef AF_ROSE
-            case AF_ROSE:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_rose) );
-                break;
+	    case AF_ROSE:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_rose) );
+		break;
 #endif
 #ifdef AF_IRDA
-            case AF_IRDA:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_irda) );
-                break;
+	    case AF_IRDA:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_irda) );
+		break;
 #endif
 #ifdef AF_BAN
-            case AF_BAN:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ban) );
-                break;
+	    case AF_BAN:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ban) );
+		break;
 #endif
 #ifdef AF_VOICEVIEW
-            case AF_VOICEVIEW:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_voiceview) );
-                break;
+	    case AF_VOICEVIEW:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_voiceview) );
+		break;
 #endif
 #ifdef AF_ATM
-            case AF_ATM:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_atm) );
-                break;
+	    case AF_ATM:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_atm) );
+		break;
 #endif
 #ifdef AF_ATMPVC
-            case AF_ATMPVC:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmpvc) );
-                break;
+	    case AF_ATMPVC:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmpvc) );
+		break;
 #endif
 #ifdef AF_ATMSVC
-            case AF_ATMSVC:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmsvc) );
-                break;
+	    case AF_ATMSVC:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_atmsvc) );
+		break;
 #endif
 #ifdef AF_NETLINK
-            case AF_NETLINK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netlink) );
-                break;
+	    case AF_NETLINK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netlink) );
+		break;
 #endif
 #ifdef AF_PACKET
-            case AF_PACKET:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_packet) );
-                break;
+	    case AF_PACKET:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_packet) );
+		break;
 #endif
 #ifdef AF_ASH
-            case AF_ASH:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_ash) );
-                break;
+	    case AF_ASH:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_ash) );
+		break;
 #endif
 #ifdef AF_ECONET
-            case AF_ECONET:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_eco) );
-                break;
+	    case AF_ECONET:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_eco) );
+		break;
 #endif
 #ifdef AF_IMPLINK
-            case AF_IMPLINK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_implink) );
-                break;
+	    case AF_IMPLINK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_implink) );
+		break;
 #endif
 #ifdef AF_PUP
 # if 0
-            case AF_PUP:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_pup) );
-                break;
+	    case AF_PUP:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_pup) );
+		break;
 # endif
 #endif
 #ifdef AF_CHAOS
-            case AF_CHAOS:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_chaos) );
-                break;
+	    case AF_CHAOS:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_chaos) );
+		break;
 #endif
 #ifdef AF_DLI
-            case AF_DLI:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_dli) );
-                break;
+	    case AF_DLI:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_dli) );
+		break;
 #endif
 #ifdef AF_LAT
-            case AF_LAT:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_lat) );
-                break;
+	    case AF_LAT:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_lat) );
+		break;
 #endif
 #ifdef AF_HYLINK
-            case AF_HYLINK:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_hylink) );
-                break;
+	    case AF_HYLINK:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_hylink) );
+		break;
 #endif
 #ifdef AF_FIREFOX
-            case AF_FIREFOX:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_firefox) );
-                break;
+	    case AF_FIREFOX:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_firefox) );
+		break;
 #endif
 #ifdef AF_CLUSTER
-            case AF_CLUSTER:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_cluster) );
-                break;
+	    case AF_CLUSTER:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_cluster) );
+		break;
 #endif
 #ifdef AF_12844
-            case AF_12844:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_12844) );
-                break;
+	    case AF_12844:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_12844) );
+		break;
 #endif
 #ifdef AF_NETDES
-            case AF_NETDES:
-                socketSize = __mkSmallInteger( sizeof(struct sockaddr_netdes) );
-                break;
-#endif
-        }
+	    case AF_NETDES:
+		socketSize = __mkSmallInteger( sizeof(struct sockaddr_netdes) );
+		break;
+#endif
+	}
     }
 %}.
     ^ socketSize
@@ -5096,32 +5096,32 @@
 %{   /*NOCONTEXT*/
 
      if (__isSmallInteger(aSymbolOrInteger) || aSymbolOrInteger == nil) {
-        typeCode = aSymbolOrInteger;
+	typeCode = aSymbolOrInteger;
      }
 
 #ifdef SOCK_STREAM
      else if ((aSymbolOrInteger == @symbol(stream)) || (aSymbolOrInteger == @symbol(SOCK_STREAM)))
-        typeCode = __mkSmallInteger(SOCK_STREAM);
+	typeCode = __mkSmallInteger(SOCK_STREAM);
 #endif
 #ifdef SOCK_DGRAM
      else if ((aSymbolOrInteger == @symbol(datagram)) || (aSymbolOrInteger == @symbol(SOCK_DGRAM)))
-        typeCode = __mkSmallInteger(SOCK_DGRAM);
+	typeCode = __mkSmallInteger(SOCK_DGRAM);
 #endif
 #ifdef SOCK_RAW
      else if ((aSymbolOrInteger == @symbol(raw)) || (aSymbolOrInteger == @symbol(SOCK_RAW)))
-        typeCode = __mkSmallInteger(SOCK_RAW);
+	typeCode = __mkSmallInteger(SOCK_RAW);
 #endif
 #ifdef SOCK_RDM
      else if ((aSymbolOrInteger == @symbol(rdm)) || (aSymbolOrInteger == @symbol(SOCK_RDM)))
-        typeCode = __mkSmallInteger(SOCK_RDM);
+	typeCode = __mkSmallInteger(SOCK_RDM);
 #endif
 #ifdef SOCK_SEQPACKET
      else if ((aSymbolOrInteger == @symbol(seqpacket)) || (aSymbolOrInteger == @symbol(SOCK_SEQPACKET)))
-        typeCode = __mkSmallInteger(SOCK_SEQPACKET);
+	typeCode = __mkSmallInteger(SOCK_SEQPACKET);
 #endif
 #ifdef SOCK_PACKET
      else if ((aSymbolOrInteger == @symbol(packet)) || (aSymbolOrInteger == @symbol(SOCK_PACKET)))
-        typeCode = __mkSmallInteger(SOCK_PACKET);
+	typeCode = __mkSmallInteger(SOCK_PACKET);
 #endif
 %}.
 
@@ -5143,38 +5143,38 @@
 %{  /*NOCONTEXT*/
 
     if (__isSmallInteger(anInteger)) {
-        switch(__intVal(anInteger)) {
+	switch(__intVal(anInteger)) {
 #ifdef SOCK_STREAM
-        case SOCK_STREAM:
-            socketTypeSymbol = @symbol(SOCK_STREAM);
-            break;
+	case SOCK_STREAM:
+	    socketTypeSymbol = @symbol(SOCK_STREAM);
+	    break;
 #endif
 #ifdef SOCK_DGRAM
-        case SOCK_DGRAM:
-            socketTypeSymbol = @symbol(SOCK_DGRAM);
-            break;
+	case SOCK_DGRAM:
+	    socketTypeSymbol = @symbol(SOCK_DGRAM);
+	    break;
 #endif
 #ifdef SOCK_RAW
-        case SOCK_RAW:
-            socketTypeSymbol = @symbol(SOCK_RAW);
-            break;
+	case SOCK_RAW:
+	    socketTypeSymbol = @symbol(SOCK_RAW);
+	    break;
 #endif
 #ifdef SOCK_RDM
-        case SOCK_RDM:
-            socketTypeSymbol = @symbol(SOCK_RDM);
-            break;
+	case SOCK_RDM:
+	    socketTypeSymbol = @symbol(SOCK_RDM);
+	    break;
 #endif
 #ifdef SOCK_SEQPACKET
-        case SOCK_SEQPACKET:
-            socketTypeSymbol = @symbol(SOCK_SEQPACKET);
-            break;
+	case SOCK_SEQPACKET:
+	    socketTypeSymbol = @symbol(SOCK_SEQPACKET);
+	    break;
 #endif
 #ifdef SOCK_PACKET
-        case SOCK_PACKET:
-            socketTypeSymbol = @symbol(SOCK_PACKET);
-            break;
-#endif
-        }
+	case SOCK_PACKET:
+	    socketTypeSymbol = @symbol(SOCK_PACKET);
+	    break;
+#endif
+	}
     }
 %}.
     ^ socketTypeSymbol.
@@ -5188,44 +5188,44 @@
      (non-AF-prefixed) symbols; these will vanish."
 
     ^ #(
-        #AF_INET        #inet
-        #AF_UNIX        #unix
-        #AF_INET6       #inet6
-        #AF_APPLETALK   #appletalk
-        #AF_DECnet      #decnet
-        #AF_NS          #ns
-        #AF_X25         #x25
-        #AF_SNA
-        #AF_RAW
-        #AF_ISO
-        #AF_ECMA
-        #AF_NETBIOS     #netbios
-        #AF_IPX
-        #AF_AX25
-        #AF_NETROM
-        #AF_BRIDGE
-        #AF_BSC
-        #AF_ROSE
-        #AF_IRDA        #irda
-        #AF_NETLINK
-        #AF_NETLINK
-        #AF_NETBEUI
-        #AF_ATM
-        #AF_ATMPVC
-        #AF_ATMSVC
-        #AF_BAN
-        #AF_VOICEVIEW
-        #AF_ECONET
-        #AF_IMPLINK
-        #AF_PUP
-        #AF_CHAOS
-        #AF_DLI
-        #AF_LAT
-        #AF_HYLINK
-        #AF_FIREFOX
-        #AF_CLUSTER
-        #AF_12844
-        #AF_NETDES
+	#AF_INET        #inet
+	#AF_UNIX        #unix
+	#AF_INET6       #inet6
+	#AF_APPLETALK   #appletalk
+	#AF_DECnet      #decnet
+	#AF_NS          #ns
+	#AF_X25         #x25
+	#AF_SNA
+	#AF_RAW
+	#AF_ISO
+	#AF_ECMA
+	#AF_NETBIOS     #netbios
+	#AF_IPX
+	#AF_AX25
+	#AF_NETROM
+	#AF_BRIDGE
+	#AF_BSC
+	#AF_ROSE
+	#AF_IRDA        #irda
+	#AF_NETLINK
+	#AF_NETLINK
+	#AF_NETBEUI
+	#AF_ATM
+	#AF_ATMPVC
+	#AF_ATMSVC
+	#AF_BAN
+	#AF_VOICEVIEW
+	#AF_ECONET
+	#AF_IMPLINK
+	#AF_PUP
+	#AF_CHAOS
+	#AF_DLI
+	#AF_LAT
+	#AF_HYLINK
+	#AF_FIREFOX
+	#AF_CLUSTER
+	#AF_12844
+	#AF_NETDES
        ) select:[:sym | (AbstractOperatingSystem domainCodeOf:sym) isNumber ]
 
     "
@@ -5238,12 +5238,12 @@
      Return nil for invalid or unsupported socket types."
 
     ^ #(
-        #SOCK_STREAM
-        #SOCK_DGRAM
-        #SOCK_RAW
-        #SOCK_RDM
-        #SOCK_SEQPACKET
-        #SOCK_PACKET
+	#SOCK_STREAM
+	#SOCK_DGRAM
+	#SOCK_RAW
+	#SOCK_RDM
+	#SOCK_SEQPACKET
+	#SOCK_PACKET
        ) select:[:sym | (AbstractOperatingSystem socketTypeCodeOf:sym) isNumber ]
 
     "
@@ -5299,7 +5299,7 @@
 
     "
      OperatingSystem computeDatePartsOf:0 for:[:y :m :d |
-        y printCR. m printCR. d printCR
+	y printCR. m printCR. d printCR
      ]
     "
 !
@@ -5361,7 +5361,7 @@
 
     "
      OperatingSystem computeTimePartsOf:100 for:[:h :m :s :milli |
-        Transcript show:h; space; show:m; space; show:s; space; showCR:milli.
+	Transcript show:h; space; show:m; space; show:s; space; showCR:milli.
      ]
     "
 !
@@ -5369,17 +5369,17 @@
 computeUTCTimeAndDateFrom:osTime
     "given an OS-dependent time in osTime, return an Array
      containing:
-        (full-) year,
-        month,                          (1..)
-        day,                            (1..)
-        hour,                           (0..23)
-        minute                          (0..59)
-        seconds,                        (0..59)
-        offset to UTC,                  (seconds)
-        daylight savings time flag,
-        milliseconds,                   (0..999)
-        dayInYear                       (1..)
-        dayInWeek                       (1..).
+	(full-) year,
+	month,                          (1..)
+	day,                            (1..)
+	hour,                           (0..23)
+	minute                          (0..59)
+	seconds,                        (0..59)
+	offset to UTC,                  (seconds)
+	daylight savings time flag,
+	milliseconds,                   (0..999)
+	dayInYear                       (1..)
+	dayInWeek                       (1..).
      Conversion is to utc."
 
     |divMod ret|
@@ -5420,10 +5420,10 @@
      Notice, that the # of cycles has to be multiplied by the cycle time (1/cpu-frequency).
 
      For x86:
-        the CPU cycle count register value is returned (RDTSC instruction).
-        Fails if RDTSC instruction is not supported (which is unlikely, nowadays).
+	the CPU cycle count register value is returned (RDTSC instruction).
+	Fails if RDTSC instruction is not supported (which is unlikely, nowadays).
      For others:
-        currently fails"
+	currently fails"
 
 %{  /* NOCONTEXT */
     unsigned int low, high;
@@ -5434,15 +5434,9 @@
 # if defined(__BORLANDC__)
     _asm { push edx };
     __emit__(0x0F,0x31);            /* RDTSC instruction */
-    _asm { mov low,eax };          
+    _asm { mov low,eax };
     _asm { mov high,edx };
     _asm { pop edx };
-# elif defined(_MSC_VER)
-    _asm { push  edx };
-    _asm { _emit 0fh }; _asm { _emit 031h };
-    _asm { mov low,eax };          
-    _asm { mov high,edx };
-    _asm { pop   edx };
 # elif defined(__MINGW_H) || defined(__GNUC__)
     asm volatile("rdtsc" : "=a"(low), "=d"(high));
 # else
@@ -5481,8 +5475,8 @@
      Use the millisecondTimeXXX:-methods to compare and add time deltas - these know about the wrap.
 
      BAD DESIGN:
-        This should be changed to return some instance of RelativeTime,
-        and these computations moved there.
+	This should be changed to return some instance of RelativeTime,
+	and these computations moved there.
 
      Dont use this method in application code since it is an internal (private)
      interface. For compatibility with ST-80, use Time millisecondClockValue.
@@ -5527,8 +5521,8 @@
     then := self millisecondTimeAdd:now and:millis.
 
     [(delta := self millisecondTimeDeltaBetween:then and:now) > 0] whileTrue:[
-        self selectOnAnyReadable:nil writable:nil exception:nil withTimeOut:delta.
-        now := self getMillisecondTime.
+	self selectOnAnyReadable:nil writable:nil exception:nil withTimeOut:delta.
+	now := self getMillisecondTime.
     ]
 
     "
@@ -5544,13 +5538,13 @@
      This should really be moved to some RelativeTime class."
 
     (msTime1 > msTime2) ifTrue:[
-        ((msTime1 - msTime2) < 16r10000000) ifTrue:[
-            ^ true
-        ].
+	((msTime1 - msTime2) < 16r10000000) ifTrue:[
+	    ^ true
+	].
     ] ifFalse:[
-        ((msTime2 - msTime1) > 16r10000000) ifTrue:[
-            ^ true
-        ].
+	((msTime2 - msTime1) > 16r10000000) ifTrue:[
+	    ^ true
+	].
     ].
     ^ false
 !
@@ -5565,8 +5559,8 @@
 
     sum := msTime1 + msTime2.
     (sum > 16r1FFFFFFF) ifTrue:[
-        self assert:(sum <= 16r3FFFFFFF) message:'overflow in timer computation'.
-        ^ sum - 16r20000000.
+	self assert:(sum <= 16r3FFFFFFF) message:'overflow in timer computation'.
+	^ sum - 16r20000000.
     ].
     (sum < 0) ifTrue:[^ sum + 16r20000000].
     ^ sum
@@ -5586,11 +5580,11 @@
 
     diff := msTime1 - msTime2.
     diff > 16r-10000000 ifTrue:[
-        (diff < 16r10000000) ifTrue:[
-            ^ diff.
-        ] ifFalse:[
-            ^ diff - 16r20000000.
-        ].
+	(diff < 16r10000000) ifTrue:[
+	    ^ diff.
+	] ifFalse:[
+	    ^ diff - 16r20000000.
+	].
     ].
     ^ diff + 16r20000000
 
@@ -5675,7 +5669,7 @@
     ^ self getHomeDirectory asFilename constructString:('.',appName)
 
     "
-     OperatingSystem getApplicationDataDirectoryFor:'expecco'  
+     OperatingSystem getApplicationDataDirectoryFor:'expecco'
     "
 
     "Created: / 29-07-2010 / 12:07:25 / sr"
@@ -5690,7 +5684,7 @@
     ^ self getHomeDirectory
 
     "
-     OperatingSystem getDesktopDirectory  
+     OperatingSystem getDesktopDirectory
     "
 
     "Created: / 16-05-2007 / 13:20:53 / cg"
@@ -5706,7 +5700,7 @@
     ^ self getHomeDirectory
 
     "
-     OperatingSystem getDocumentsDirectory  
+     OperatingSystem getDocumentsDirectory
     "
 !
 
@@ -5838,7 +5832,7 @@
     "/ fallBack dummy
 
     aNumber == self getUserID ifTrue:[
-        ^ self getLoginName
+	^ self getLoginName
     ].
 
     ^ '? (' , aNumber printString , ')'
@@ -5925,27 +5919,27 @@
 
 readCheck:fd
     "return true, if a read is possible without blocking.
-     This is the case if data is available on a filedescriptor 
+     This is the case if data is available on a filedescriptor
      or the read would return an error.
      This depends on a working select or FIONREAD to be provided by the OS."
 
     |result|
 
     self supportsSelect ifFalse:[
-        "/ mhmh - what should we do then ?
-        "/ For now, return true as if data was present,
-        "/ and let the thread fall into the read.
-        "/ It will then (hopefully) be descheduled there and
-        "/ effectively polling for input.
-
-        ^ true
+	"/ mhmh - what should we do then ?
+	"/ For now, return true as if data was present,
+	"/ and let the thread fall into the read.
+	"/ It will then (hopefully) be descheduled there and
+	"/ effectively polling for input.
+
+	^ true
     ].
 
-    result := self 
-                selectOnAnyReadable:(Array with:fd)
-                writable:nil
-                exception:nil
-                withTimeOut:0.
+    result := self
+		selectOnAnyReadable:(Array with:fd)
+		writable:nil
+		exception:nil
+		withTimeOut:0.
 
     "on select error, a read will immediately return, so answer true"
     ^ result == fd or:[result == #error].
@@ -5953,7 +5947,7 @@
 
 readWriteCheck:fd
     "return true, if filedescriptor can be read or written without blocking.
-     This is the case if data is available on a filedescriptor 
+     This is the case if data is available on a filedescriptor
      or the read or write would return an error.
      This is actually only used with sockets, to wait for a connect to
      be finished."
@@ -5961,18 +5955,18 @@
     |result|
 
     self supportsSelect ifFalse:[
-        "/ mhmh - what should we do then ?
-        "/ For now, return true as if data was present,
-        "/ and let the thread fall into the write.
-        "/ It will then (hopefully) be desceduled there and
-        "/ effectively polling for output.
-        ^ true
+	"/ mhmh - what should we do then ?
+	"/ For now, return true as if data was present,
+	"/ and let the thread fall into the write.
+	"/ It will then (hopefully) be desceduled there and
+	"/ effectively polling for output.
+	^ true
     ].
 
     result := self selectOnAnyReadable:(Array with:fd)
-                     writable:(Array with:fd)
-                    exception:nil
-                  withTimeOut:0.
+		     writable:(Array with:fd)
+		    exception:nil
+		  withTimeOut:0.
 
     ^ result == fd or:[result == #error].
 !
@@ -5983,12 +5977,12 @@
      A zero timeout-time will immediately return (i.e. poll).
      Return fd if i/o ok, nil if timed-out or interrupted.
      Obsolete:
-        This is a leftover method and will vanish."
+	This is a leftover method and will vanish."
 
     ^ self selectOnAnyReadable:(Array with:fd1 with:fd2)
-                      writable:(Array with:fd1 with:fd2)
-                     exception:nil
-                   withTimeOut:millis
+		      writable:(Array with:fd1 with:fd2)
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOn:fd withTimeOut:millis
@@ -5999,9 +5993,9 @@
      Experimental."
 
     ^ self selectOnAnyReadable:(Array with:fd)
-                      writable:(Array with:fd)
-                     exception:nil
-                   withTimeOut:millis
+		      writable:(Array with:fd)
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOnAny:fdArray withTimeOut:millis
@@ -6011,9 +6005,9 @@
      Experimental."
 
     ^ self selectOnAnyReadable:fdArray
-                      writable:fdArray
-                     exception:nil
-                   withTimeOut:millis
+		      writable:fdArray
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOnAnyReadable:fdArray withTimeOut:millis
@@ -6024,15 +6018,15 @@
      Experimental."
 
     ^ self selectOnAnyReadable:fdArray
-                      writable:nil
-                     exception:nil
-                   withTimeOut:millis
+		      writable:nil
+		     exception:nil
+		   withTimeOut:millis
 !
 
 selectOnAnyReadable:readFdArray writable:writeFdArray exception:exceptFdArray
-        readableInto:readableResultFdArray writableInto:writableResultFdArray
-        exceptionInto:exceptionResultFdArray
-        withTimeOut:millis
+	readableInto:readableResultFdArray writableInto:writableResultFdArray
+	exceptionInto:exceptionResultFdArray
+	withTimeOut:millis
 
     "wait for any fd in readFdArray (an Array of integers) to become ready for reading,
      writeFdArray to become ready for writing,
@@ -6077,24 +6071,24 @@
 
 writeCheck:fd
     "return true, if filedescriptor can be written without blocking.
-     This is the case if data can be written to a filedescriptor 
+     This is the case if data can be written to a filedescriptor
      or the write would return an error."
 
     |result|
 
     self supportsSelect ifFalse:[
-        "/ mhmh - what should we do then ?
-        "/ For now, return true as if data was present,
-        "/ and let the thread fall into the write.
-        "/ It will then (hopefully) be desceduled there and
-        "/ effectively polling for output.
-        ^ true
+	"/ mhmh - what should we do then ?
+	"/ For now, return true as if data was present,
+	"/ and let the thread fall into the write.
+	"/ It will then (hopefully) be desceduled there and
+	"/ effectively polling for output.
+	^ true
     ].
 
     result := self selectOnAnyReadable:nil
-                     writable:(Array with:fd)
-                    exception:nil
-                  withTimeOut:0.
+		     writable:(Array with:fd)
+		    exception:nil
+		  withTimeOut:0.
 
     ^ result == fd or:[result == #error].
 ! !
@@ -6151,27 +6145,27 @@
     "Created: / 31-07-2006 / 15:35:37 / fm"
 !
 
-paperSizeNumberToNameTable   
+paperSizeNumberToNameTable
 
     ^Dictionary withKeysAndValues:
-        #(
-            'Letter, 8 1/2- by 11-inches'                   1       "/ Letter
-            'Legal 8 1/2- by 14-inches'                     5       "/ Legal
-            '10- by 14-inch sheet'                          16       "/ 10x14
-            '11- by 17-inch sheet'                          17       "/ 11x17
-            "/ '12X11'             "/ Windows 98/Me, Windows NT 4.0 and later: 12- by 11-inch sheet
-            'A3 sheet, 297- by 420-millimeters'             8       "/ A3
-            'A3 rotated sheet, 420- by 297-millimeters'     67      "/ A3_rotated 
-            'A4 sheet, 210- by 297-millimeters'             9       "/ A4
-            'A4 rotated sheet, 297- by 210-millimeters'     55      "/ A4_rotated
-            'A4 small sheet, 210- by 297-millimeters'       10      "/ A4 small 
-            'A5 sheet, 148- by 210-millimeters'             11      "/ A5
-            'A5 rotated sheet, 210- by 148-millimeters'     61      "/ A5 rotated
+	#(
+	    'Letter, 8 1/2- by 11-inches'                   1       "/ Letter
+	    'Legal 8 1/2- by 14-inches'                     5       "/ Legal
+	    '10- by 14-inch sheet'                          16       "/ 10x14
+	    '11- by 17-inch sheet'                          17       "/ 11x17
+	    "/ '12X11'             "/ Windows 98/Me, Windows NT 4.0 and later: 12- by 11-inch sheet
+	    'A3 sheet, 297- by 420-millimeters'             8       "/ A3
+	    'A3 rotated sheet, 420- by 297-millimeters'     67      "/ A3_rotated
+	    'A4 sheet, 210- by 297-millimeters'             9       "/ A4
+	    'A4 rotated sheet, 297- by 210-millimeters'     55      "/ A4_rotated
+	    'A4 small sheet, 210- by 297-millimeters'       10      "/ A4 small
+	    'A5 sheet, 148- by 210-millimeters'             11      "/ A5
+	    'A5 rotated sheet, 210- by 148-millimeters'     61      "/ A5 rotated
 "/            'a6'                "/ Windows 98/Me, Windows NT 4.0 and later: A6 sheet, 105- by 148-millimeters
 "/          'a6_rotated'          "/ Windows 98/Me, Windows NT 4.0 and later: A6 rotated sheet, 148- by 105-millimeters
-            'B4 sheet, 250- by 354-millimeters'             12      "/ B4  
+	    'B4 sheet, 250- by 354-millimeters'             12      "/ B4
 "/ b4_jis_rotated  Windows 98/Me, Windows NT 4.0 and later: B4 (JIS) rotated sheet, 364- by 257-millimeters
-            'B5 sheet, 182- by 257-millimeter paper'        13      "/ B5 
+	    'B5 sheet, 182- by 257-millimeter paper'        13      "/ B5
 "/ b5_jis_rotated  Windows 98/Me, Windows NT 4.0 and later: B5 (JIS) rotated sheet, 257- by 182-millimeters
 "/ b6_jis  Windows 98/Me, Windows NT 4.0 and later: B6 (JIS) sheet, 128- by 182-millimeters
 "/ b6_jis_rotated  Windows 98/Me, Windows NT 4.0 and later: B6 (JIS) rotated sheet, 182- by 128-millimeters
@@ -6179,22 +6173,22 @@
 "/ dbl_japanese_postcard   Windows 98/Me, Windows NT 4.0 and later: Double Japanese Postcard, 200- by 148-millimeters
 "/ dbl_japanese_postcard_rotated   Windows 98/Me, Windows NT 4.0 and later: Double Japanese Postcard Rotated, 148- by 200-millimeters
 "/ dsheet  D Sheet, 22- by 34-inches
-            '#9 Envelope, 3 7/8- by 8 7/8-inches'           19     "/  env_9
-            '#10 Envelope, 4 1/8- by 9 1/2-inches'          20     "/  env_10
-            '#11 Envelope, 4 1/2- by 10 3/8-inches'         21     "/  env_11
-            '#12 Envelope, 4 3/4- by 11-inches'             22     "/  env_12
-            '#14 Envelope, 5- by 11 1/2-inches'             23     "/  env_15
-            'C5 Envelope, 162- by 229-millimeters'          28     "/  env_c5
-            'C3 Envelope, 324- by 458-millimeters'          29      "/ env_c3
-            'C4 Envelope, 229- by 324-millimeters'          30      "/ env_c4
-            'C6 Envelope, 114- by 162-millimeters'          31      "/ env_c6
-            'C65 Envelope, 114- by 229-millimeters'         32      "/ env_c65 
-            'B4 Envelope, 250- by 353-millimeters'          33      "/ env_b4 
-            'B5 Envelope, 176- by 250-millimeters'          34      "/  env_b5
-            'B6 Envelope, 176- by 125-millimeters'          35      "/  env_b6
-            'DL Envelope, 110- by 220-millimeters'          27      "/  env_dl
-            'Italy Envelope, 110- by 230-millimeters'       36      "/  env_italy
-            'Monarch Envelope, 3 7/8- by 7 1/2-inches'      37      "/   env_monarch
+	    '#9 Envelope, 3 7/8- by 8 7/8-inches'           19     "/  env_9
+	    '#10 Envelope, 4 1/8- by 9 1/2-inches'          20     "/  env_10
+	    '#11 Envelope, 4 1/2- by 10 3/8-inches'         21     "/  env_11
+	    '#12 Envelope, 4 3/4- by 11-inches'             22     "/  env_12
+	    '#14 Envelope, 5- by 11 1/2-inches'             23     "/  env_15
+	    'C5 Envelope, 162- by 229-millimeters'          28     "/  env_c5
+	    'C3 Envelope, 324- by 458-millimeters'          29      "/ env_c3
+	    'C4 Envelope, 229- by 324-millimeters'          30      "/ env_c4
+	    'C6 Envelope, 114- by 162-millimeters'          31      "/ env_c6
+	    'C65 Envelope, 114- by 229-millimeters'         32      "/ env_c65
+	    'B4 Envelope, 250- by 353-millimeters'          33      "/ env_b4
+	    'B5 Envelope, 176- by 250-millimeters'          34      "/  env_b5
+	    'B6 Envelope, 176- by 125-millimeters'          35      "/  env_b6
+	    'DL Envelope, 110- by 220-millimeters'          27      "/  env_dl
+	    'Italy Envelope, 110- by 230-millimeters'       36      "/  env_italy
+	    'Monarch Envelope, 3 7/8- by 7 1/2-inches'      37      "/   env_monarch
 "/ env_personal    6 3/4 Envelope, 3 5/8- by 6 1/2-inches
 "/ esheet  E Sheet, 34- by 44-inches
 "/ executive   Executive, 7 1/4- by 10 1/2-inches
@@ -6214,8 +6208,8 @@
 "/ jenv_you4   Windows 98/Me, Windows NT 4.0 and later: Japanese Envelope You #4
 "/ jenv_you4_rotated   Windows 98/Me, Windows NT 4.0 and later: Japanese Envelope You #4 Rotated
 "/ last    Windows 2000/XP: PENV_10_ROTATED
-            'Ledger, 17- by 11-inches'                      4    "/   ledger
-            'Letter Rotated 11 by 8 1/2 11 inches'          54      "/    letter_rotated 
+	    'Ledger, 17- by 11-inches'                      4    "/   ledger
+	    'Letter Rotated 11 by 8 1/2 11 inches'          54      "/    letter_rotated
 "/ lettersmall     Letter Small, 8 1/2- by 11-inches
 "/ note    Note, 8 1/2- by 11-inches
 "/ p16k    Windows 98/Me, Windows NT 4.0 and later: PRC 16K, 146- by 215-millimeters
@@ -6247,12 +6241,12 @@
 "/ quarto  Quarto, 215- by 275-millimeter paper
 "/ statement   Statement, 5 1/2- by 8 1/2-inches
 "/ tabloid     Tabloid, 11- by 17-inches
-        ).
+	).
 
     "Created: / 31-07-2006 / 15:35:37 / fm"
 !
 
-statusNumberToDescriptionForNumber:aNumber 
+statusNumberToDescriptionForNumber:aNumber
     ^ self statusNumberToDescriptionMapping at:aNumber ifAbsent:[('Unknown (%1)' bindWith:aNumber printString)]
 
     "
@@ -6273,36 +6267,36 @@
     "Created: / 01-08-2006 / 14:31:05 / fm"
 !
 
-statusNumberToDescriptionTable   
+statusNumberToDescriptionTable
 
     ^Dictionary withKeysAndValues:
-        #( 'Ready'                     0                           "/ PRINTER_STATUS_READY
-           'Paused'                    1                           "/ PRINTER_STATUS_PAUSED
-           'Error'                     2                           "/ PRINTER_STATUS_ERROR
-           'Deleting...'               4                           "/ PRINTER_STATUS_PENDING_DELETION
-           'Paper Jam'                 8                           "/ PRINTER_STATUS_PAPER_JAM
-           'Paper Out'                 16                          "/ PRINTER_STATUS_PAPER_OUT
-           'Manual Feed Required'      32                          "/ PRINTER_STATUS_MANUAL_FEED
-           'Paper Problem'             64                          "/ PRINTER_STATUS_PAPER_PROBLEM
-           'Offline'                   128                         "/ PRINTER_STATUS_OFFLINE
-           'Downloading Job'           256                         "/ PRINTER_STATUS_IO_ACTIVE
-           'Busy'                      512                         "/ PRINTER_STATUS_BUSY
-           'Printing'                  1024                        "/ PRINTER_STATUS_PRINTING
-           'Output Bill Full'          2048                        "/ PRINTER_STATUS_OUTPUT_BIN_FULL
-           'Not Available'             4096                         "/ PRINTER_STATUS_NOT_AVAILABLE
-           'Waiting'                   8192                         "/ PRINTER_STATUS_WAITING
-           'Processing Job'            16384                         "/ PRINTER_STATUS_PROCESSING
-           'Initializing'              32768                         "/ PRINTER_STATUS_INITIALIZING
-           'Warming Up'                65536                         "/ PRINTER_STATUS_WARMING_UP
-           'Toner Low'                 131072                         "/ PRINTER_STATUS_TONER_LOW
-           'Toner Out'                 262144                         "/ PRINTER_STATUS_NO_TONER
-           'Page too Complex'          524288                         "/ PRINTER_STATUS_PAGE_PUNT
-           'User Intervention Required'1048576                         "/ PRINTER_STATUS_USER_INTERVENTION
-           'Out of Memory'             2097152                         "/ PRINTER_STATUS_OUT_OF_MEMORY
-           'Door Open'                 4194304                         "/ PRINTER_STATUS_DOOR_OPEN
-           'Unable to connect'         8388608                         "/ PRINTER_STATUS_SERVER_UNKNOWN
-           'Power Save Mode'           16777216                         "/ PRINTER_STATUS_POWER_SAVE
-            ).
+	#( 'Ready'                     0                           "/ PRINTER_STATUS_READY
+	   'Paused'                    1                           "/ PRINTER_STATUS_PAUSED
+	   'Error'                     2                           "/ PRINTER_STATUS_ERROR
+	   'Deleting...'               4                           "/ PRINTER_STATUS_PENDING_DELETION
+	   'Paper Jam'                 8                           "/ PRINTER_STATUS_PAPER_JAM
+	   'Paper Out'                 16                          "/ PRINTER_STATUS_PAPER_OUT
+	   'Manual Feed Required'      32                          "/ PRINTER_STATUS_MANUAL_FEED
+	   'Paper Problem'             64                          "/ PRINTER_STATUS_PAPER_PROBLEM
+	   'Offline'                   128                         "/ PRINTER_STATUS_OFFLINE
+	   'Downloading Job'           256                         "/ PRINTER_STATUS_IO_ACTIVE
+	   'Busy'                      512                         "/ PRINTER_STATUS_BUSY
+	   'Printing'                  1024                        "/ PRINTER_STATUS_PRINTING
+	   'Output Bill Full'          2048                        "/ PRINTER_STATUS_OUTPUT_BIN_FULL
+	   'Not Available'             4096                         "/ PRINTER_STATUS_NOT_AVAILABLE
+	   'Waiting'                   8192                         "/ PRINTER_STATUS_WAITING
+	   'Processing Job'            16384                         "/ PRINTER_STATUS_PROCESSING
+	   'Initializing'              32768                         "/ PRINTER_STATUS_INITIALIZING
+	   'Warming Up'                65536                         "/ PRINTER_STATUS_WARMING_UP
+	   'Toner Low'                 131072                         "/ PRINTER_STATUS_TONER_LOW
+	   'Toner Out'                 262144                         "/ PRINTER_STATUS_NO_TONER
+	   'Page too Complex'          524288                         "/ PRINTER_STATUS_PAGE_PUNT
+	   'User Intervention Required'1048576                         "/ PRINTER_STATUS_USER_INTERVENTION
+	   'Out of Memory'             2097152                         "/ PRINTER_STATUS_OUT_OF_MEMORY
+	   'Door Open'                 4194304                         "/ PRINTER_STATUS_DOOR_OPEN
+	   'Unable to connect'         8388608                         "/ PRINTER_STATUS_SERVER_UNKNOWN
+	   'Power Save Mode'           16777216                         "/ PRINTER_STATUS_POWER_SAVE
+	    ).
 
     "Created: / 01-08-2006 / 14:23:33 / fm"
 ! !
@@ -6329,9 +6323,9 @@
 collate: aBoolean
     |integer|
 
-    integer:= aBoolean 
-                ifTrue:[1]      "DMCOLLATE_TRUE"
-                ifFalse:[0].    "DMCOLLATE_FALSE"
+    integer:= aBoolean
+		ifTrue:[1]      "DMCOLLATE_TRUE"
+		ifFalse:[0].    "DMCOLLATE_FALSE"
     self documentProperties collate: integer
 
     "Created: / 01-08-2006 / 09:56:01 / fm"
@@ -6370,7 +6364,7 @@
     "Modified: / 31-07-2006 / 13:06:24 / fm"
 !
 
-documentProperties: aDevModeStructure 
+documentProperties: aDevModeStructure
 
     documentProperties := aDevModeStructure.
 
@@ -6418,12 +6412,12 @@
     "Modified: / 18-10-2006 / 12:01:36 / User"
 !
 
-orientation:anInteger 
+orientation:anInteger
     |properties|
 
     properties := self documentProperties.
     properties notNil ifTrue:[
-        properties orientation:anInteger
+	properties orientation:anInteger
     ]
 
     "Created: / 28-07-2006 / 17:22:44 / fm"
@@ -6449,12 +6443,12 @@
     "Modified: / 18-10-2006 / 12:01:45 / User"
 !
 
-paperSize:anInteger 
+paperSize:anInteger
     |properties|
 
     properties := self documentProperties.
     properties notNil ifTrue:[
-        properties paperSize:anInteger
+	properties paperSize:anInteger
     ]
 
     "Created: / 31-07-2006 / 15:23:20 / fm"
@@ -6467,7 +6461,7 @@
     "Created: / 31-07-2006 / 15:35:12 / fm"
 !
 
-paperSizeName:aString 
+paperSizeName:aString
     self paperSize:(self class paperSizeNumberForName:aString)
 
     "Modified: / 18-10-2006 / 12:01:56 / User"
@@ -6485,7 +6479,7 @@
     "Created: / 27-07-2006 / 12:16:59 / fm"
 !
 
-printerName:printerNameArg attributes:attributesArg 
+printerName:printerNameArg attributes:attributesArg
 
     printerName := printerNameArg.
     attributes := attributesArg.
@@ -6517,8 +6511,8 @@
 
 userFriendlyName
     ^self remotePrinterName isEmpty
-        ifTrue:[self printerName]
-        ifFalse:[self remotePrinterName, ' on ', self remotePrinterHost]
+	ifTrue:[self printerName]
+	ifFalse:[self remotePrinterName, ' on ', self remotePrinterHost]
 
     "Created: / 03-08-2006 / 12:50:09 / fm"
 ! !
@@ -6532,10 +6526,10 @@
      pName := self printerName.
      "/ Transcript show:driverName; show:' '; showCR:printerName.
 
-     ^OperatingSystem createPrinterDC:driverName 
-                        device:pName 
-                        output:self medium 
-                        initData:self documentProperties.
+     ^OperatingSystem createPrinterDC:driverName
+			device:pName
+			output:self medium
+			initData:self documentProperties.
 
     "Created: / 02-08-2006 / 16:51:02 / fm"
     "Modified: / 16-04-2007 / 13:56:56 / cg"
@@ -6549,12 +6543,12 @@
     |h newDocumentProperties|
 
     h := OperatingSystem openPrinter: self printerName.
-    newDocumentProperties := OperatingSystem documentPropertiesDialogFor:nil 
-            hPrinter:h 
-            pDeviceName: self printerName
-            devModeInput:self documentProperties.
+    newDocumentProperties := OperatingSystem documentPropertiesDialogFor:nil
+	    hPrinter:h
+	    pDeviceName: self printerName
+	    devModeInput:self documentProperties.
     (newDocumentProperties contains:[:el | el ~= 0])
-        ifFalse:[^false].
+	ifFalse:[^false].
     self documentProperties: newDocumentProperties.
     OperatingSystem closePrinter:h.
     ^true
@@ -6609,8 +6603,8 @@
 
      h := OperatingSystem openPrinter: self printerName.
      devMode := OperatingSystem getDocumentProperties:nil
-                            hPrinter:h 
-                            pDeviceName: self printerName.
+			    hPrinter:h
+			    pDeviceName: self printerName.
      OperatingSystem closePrinter: h.
      ^devMode
 
@@ -6621,7 +6615,7 @@
 
 getPrinterInfo2
     "Returns a aPrinterInfo2 structure"
-    
+
     printerInfo2 := OperatingSystem getPrinterInfo2:self printerName.
     ^ printerInfo2
 
@@ -6632,9 +6626,9 @@
 
 printerInfo2
     "Returns a aPrinterInfo2 structure"
-    
+
     printerInfo2 isNil ifTrue:[
-        self getPrinterInfo2.
+	self getPrinterInfo2.
     ].
     ^ printerInfo2
 
@@ -6643,7 +6637,7 @@
 !
 
 setDocumentProperties
-    "Sets a aDevModeStructure or nil if the printer is not available"    
+    "Sets a aDevModeStructure or nil if the printer is not available"
 
    self documentProperties: self getDocumentProperties
 
@@ -6669,37 +6663,37 @@
     self obsoleteMethodWarning:'use accessor for index ', index printString.
 
     index == 1 ifTrue:[
-        ^ self year.
+	^ self year.
     ].
     index == 2 ifTrue:[
-        ^ self month.
+	^ self month.
     ].
     index == 3 ifTrue:[
-        ^ self day.
+	^ self day.
     ].
     index == 4 ifTrue:[
-        ^ self hours.
+	^ self hours.
     ].
     index == 5 ifTrue:[
-        ^ self minutes.
+	^ self minutes.
     ].
     index == 6 ifTrue:[
-        ^ self seconds.
+	^ self seconds.
     ].
     index == 7 ifTrue:[
-        ^ self utcOffset.
+	^ self utcOffset.
     ].
     index == 8 ifTrue:[
-        ^ self dst.
+	^ self dst.
     ].
     index == 9 ifTrue:[
-        ^ self milliseconds.
+	^ self milliseconds.
     ].
     index == 10 ifTrue:[
-        ^ self dayInYear.
+	^ self dayInYear.
     ].
     index == 11 ifTrue:[
-        ^ self dayInWeek.
+	^ self dayInWeek.
     ].
     self subscriptBoundsError:index
 !
@@ -6719,22 +6713,22 @@
     |dayCount|
 
     dayInYear notNil ifTrue:[
-        ^ dayInYear.
+	^ dayInYear.
     ].
 
     dayCount := #(0 31 59 90 120 151 181 212 243 273 304 334) at:month.
-    (month > 2 
-     and:[(year \\ 4 == 0) 
+    (month > 2
+     and:[(year \\ 4 == 0)
      and:[(year \\ 100 ~~ 0)
      and:[(year \\ 400 == 0)]]]) ifTrue:[
-        "leap year and month after February"
-        dayCount := dayCount + 1.
+	"leap year and month after February"
+	dayCount := dayCount + 1.
     ].
 
     ^ dayCount + day.
 
 
-    " 
+    "
       |daysSoFar|
 
       daysSoFar := 0.
@@ -6836,73 +6830,73 @@
 documentation
 "
 Bias
-    The current bias for local time translation on this computer, in minutes. 
-    The bias is the difference, in minutes, between Coordinated Universal Time (UTC) 
-    and local time. 
+    The current bias for local time translation on this computer, in minutes.
+    The bias is the difference, in minutes, between Coordinated Universal Time (UTC)
+    and local time.
     All translations between UTC and local time are based on the following formula:
 
-        UTC = local time + bias
+	UTC = local time + bias
 
 StandardName
-    A description for standard time. For example, 'EST' could indicate Eastern Standard Time. 
-    The string will be returned unchanged by the GetTimeZoneInformation function. 
+    A description for standard time. For example, 'EST' could indicate Eastern Standard Time.
+    The string will be returned unchanged by the GetTimeZoneInformation function.
     This string can be empty.
     This is for information only - do not depend on the value of the string.
 
 StandardDate
-    A Timestamp that contains a date and local time when the transition from daylight saving 
-    time to standard time occurs on this operating system. 
-    If the time zone does not support daylight saving time or if the caller needs to disable 
+    A Timestamp that contains a date and local time when the transition from daylight saving
+    time to standard time occurs on this operating system.
+    If the time zone does not support daylight saving time or if the caller needs to disable
     daylight saving time, the standardDate is nil.
-    If this date is specified, the DaylightDate member of this structure must also be specified. 
+    If this date is specified, the DaylightDate member of this structure must also be specified.
     Otherwise, the system assumes the time zone data is invalid and no changes will be applied.
 
-    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members 
-    to the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate 
-    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence 
+    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members
+    to the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate
+    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence
     during the month if that day of the week does not occur 5 times).
 
-    Using this notation, specify 02:00 on the first Sunday in April as follows: 
-        wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. 
-    Specify 02:00 on the last Thursday in October as follows: 
-        wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.
-
-    If the wYear member is not zero, the transition date is absolute; it will only occur one time. 
+    Using this notation, specify 02:00 on the first Sunday in April as follows:
+	wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1.
+    Specify 02:00 on the last Thursday in October as follows:
+	wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.
+
+    If the wYear member is not zero, the transition date is absolute; it will only occur one time.
     Otherwise, it is a relative date that occurs yearly.
 
 StandardBias
-    The bias value to be used during local time translations that occur during standard time. 
+    The bias value to be used during local time translations that occur during standard time.
     This member is ignored if a value for the StandardDate member is not supplied.
 
-    This value is added to the value of the Bias member to form the bias used during standard time. 
+    This value is added to the value of the Bias member to form the bias used during standard time.
     In most time zones, the value of this member is zero.
 
 DaylightName
-    A description for daylight saving time. For example, 'PDT' could indicate Pacific Daylight Time. 
+    A description for daylight saving time. For example, 'PDT' could indicate Pacific Daylight Time.
     The string will be returned unchanged by the GetTimeZoneInformation function. This string can be empty.
     This is for information only - do not depend on the value of the string.
 
 DaylightDate
-    A Timestamp structure that contains a date and local time when the transition from standard time 
-    to daylight saving time occurs on this operating system. 
-    If the time zone does not support daylight saving time or if the caller needs to disable daylight 
+    A Timestamp structure that contains a date and local time when the transition from standard time
+    to daylight saving time occurs on this operating system.
+    If the time zone does not support daylight saving time or if the caller needs to disable daylight
     saving time, this entry is nil.
-    If this date is specified, the StandardDate member in this structure must also be specified. 
+    If this date is specified, the StandardDate member in this structure must also be specified.
     Otherwise, the system assumes the time zone data is invalid and no changes will be applied.
 
-    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members to 
-    the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate 
-    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence 
+    To select the correct day in the month, set the wYear member to zero, the wHour and wMinute members to
+    the transition time, the wDayOfWeek member to the appropriate weekday, and the wDay member to indicate
+    the occurrence of the day of the week within the month (1 to 5, where 5 indicates the final occurrence
     during the month if that day of the week does not occur 5 times).
 
-    If the wYear member is not zero, the transition date is absolute; it will only occur one time. 
+    If the wYear member is not zero, the transition date is absolute; it will only occur one time.
     Otherwise, it is a relative date that occurs yearly.
 
 DaylightBias
-    The bias value to be used during local time translations that occur during daylight saving time. 
+    The bias value to be used during local time translations that occur during daylight saving time.
     This member is ignored if a value for the DaylightDate member is not supplied.
 
-    This value is added to the value of the Bias member to form the bias used during daylight saving time. 
+    This value is added to the value of the Bias member to form the bias used during daylight saving time.
     In most time zones, the value of this member is -60
 "
 ! !
@@ -6917,7 +6911,7 @@
     bias := something.
 !
 
-bias:biasArg name:nameArg standardBias:standardBiasArg daylightName:daylightNameArg daylightBias:daylightBiasArg 
+bias:biasArg name:nameArg standardBias:standardBiasArg daylightName:daylightNameArg daylightBias:daylightBiasArg
     bias := biasArg.
     name := nameArg.
     standardBias := standardBiasArg.
@@ -6925,7 +6919,7 @@
     daylightBias := daylightBiasArg.
 !
 
-bias:biasArg name:nameArg standardDate:standardDateArg standardBias:standardBiasArg daylightName:daylightNameArg daylightDate:daylightDateArg daylightBias:daylightBiasArg 
+bias:biasArg name:nameArg standardDate:standardDateArg standardBias:standardBiasArg daylightName:daylightNameArg daylightDate:daylightDateArg daylightBias:daylightBiasArg
     bias := biasArg.
     name := nameArg.
     standardDate := standardDateArg.
@@ -6999,7 +6993,7 @@
     daylightYear := something.
 !
 
-daylightYear:daylightYearArg daylightMonth:daylightMonthArg daylightDay:daylightDayArg daylightWeekDay:daylightWeekDayArg daylightHour:daylightHourArg daylightMinute:daylightMinuteArg 
+daylightYear:daylightYearArg daylightMonth:daylightMonthArg daylightDay:daylightDayArg daylightWeekDay:daylightWeekDayArg daylightHour:daylightHourArg daylightMinute:daylightMinuteArg
     daylightYear := daylightYearArg.
     daylightMonth := daylightMonthArg.
     daylightDay := daylightDayArg.
@@ -7072,7 +7066,7 @@
     standardYear := something.
 !
 
-standardYear:standardYearArg standardMonth:standardMonthArg standardDay:standardDayArg standardWeekDay:standardWeekDayArg standardHour:standardHourArg standardMinute:standardMinuteArg 
+standardYear:standardYearArg standardMonth:standardMonthArg standardDay:standardDayArg standardWeekDay:standardWeekDayArg standardHour:standardHourArg standardMinute:standardMinuteArg
     standardYear := standardYearArg.
     standardMonth := standardMonthArg.
     standardDay := standardDayArg.
@@ -7102,17 +7096,18 @@
 !AbstractOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.216 2012/01/05 13:08:45 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.217 2012/01/05 14:29:48 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.216 2012/01/05 13:08:45 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.217 2012/01/05 14:29:48 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: AbstractOperatingSystem.st 10754 2012-01-06 08:53:28Z vranyj1 $'
+    ^ '$Id: AbstractOperatingSystem.st 10758 2012-01-19 10:06:02Z vranyj1 $'
 ! !
 
 AbstractOperatingSystem initialize!
 
 
+